Linux asiatechwebsite 3.10.0-1160.144.1.el7.tuxcare.els3.x86_64 #1 SMP Fri Mar 6 13:52:53 UTC 2026 x86_64
Apache
: 10.190.0.3 | : 216.73.216.156
2134 Domain
7.4.33
asiatechinc
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
usr /
bin /
[ HOME SHELL ]
Name
Size
Permission
Action
2to3
95
B
-rwxr-xr-x
GET
14.71
KB
-rwxr-xr-x
HEAD
14.71
KB
-rwxr-xr-x
Mail
383.67
KB
-rwxr-xr-x
POST
14.71
KB
-rwxr-xr-x
[
40.52
KB
-rwxr-xr-x
a2p
105.32
KB
-rwxr-xr-x
ab
55.48
KB
-rwxr-xr-x
abs2rel
1.62
KB
-rwxr-xr-x
aclocal
35.87
KB
-rwxr-xr-x
aclocal-1.13
35.87
KB
-rwxr-xr-x
acpi_listen
15.35
KB
-rwxr-xr-x
addftinfo
24.27
KB
-rwxr-xr-x
addr2line
28.42
KB
-rwxr-xr-x
afm2tfm
38.41
KB
-rwxr-xr-x
alias
29
B
-rwxr-xr-x
allcm
3.4
KB
-rwxr-xr-x
allec
3.4
KB
-rwxr-xr-x
allneeded
903
B
-rwxr-xr-x
alt-java
8.87
KB
-rwxr-xr-x
alt-mysql-reconfigure
27.42
KB
-rwxr-xr-x
alt-php-mysql-reconfigure
27.42
KB
-rwxr-xr-x
alt-php-mysql-reconfigure.py
27.42
KB
-rwxr-xr-x
animate
7.05
KB
-rwxr-xr-x
annotate
11.13
KB
-rwxr-xr-x
annotate-output
1.74
KB
-rwxr-xr-x
anthoscli
132.86
MB
-rwxr-xr-x
applydeltarpm
68.53
KB
-rwxr-xr-x
apropos
45.49
KB
-rwxr-xr-x
ar
61.21
KB
-rwxr-xr-x
arch
32.3
KB
-rwxr-xr-x
arpaname
7.03
KB
-rwxr-xr-x
as
377.28
KB
-rwxr-xr-x
aserver
28.21
KB
-rwxr-xr-x
aspell
163.35
KB
-rwxr-xr-x
at
51.73
KB
-rwsr-xr-x
atq
51.73
KB
-rwsr-xr-x
atrm
51.73
KB
-rwsr-xr-x
audit2allow
14.21
KB
-rwxr-xr-x
audit2why
14.21
KB
-rwxr-xr-x
aulast
15.48
KB
-rwxr-xr-x
aulastlog
11.35
KB
-rwxr-xr-x
ausyscall
11.18
KB
-rwxr-xr-x
autoconf
14.42
KB
-rwxr-xr-x
autoheader
8.33
KB
-rwxr-xr-x
autom4te
31.43
KB
-rwxr-xr-x
automake
246.44
KB
-rwxr-xr-x
automake-1.13
246.44
KB
-rwxr-xr-x
autopoint
25.95
KB
-rwxr-xr-x
autoreconf
20.57
KB
-rwxr-xr-x
autoscan
16.72
KB
-rwxr-xr-x
autoupdate
33.08
KB
-rwxr-xr-x
auvirt
31.93
KB
-rwxr-xr-x
awk
418.55
KB
-rwxr-xr-x
base64
36.48
KB
-rwxr-xr-x
basename
28.35
KB
-rwxr-xr-x
bash
941.93
KB
-rwxr-xr-x
bashbug
6.8
KB
-rwxr-xr-x
bashbug-64
6.8
KB
-rwxr-xr-x
batch
137
B
-rwxr-xr-x
bc
81.47
KB
-rwxr-xr-x
bdftogd
3.91
KB
-rwxr-xr-x
bdftopcf
44.19
KB
-rwxr-xr-x
bdftruncate
11.2
KB
-rwxr-xr-x
berkeley_db47_svc
58.46
KB
-rwxr-xr-x
bg
26
B
-rwxr-xr-x
bibtex
105.88
KB
-rwxr-xr-x
bind9-config
3.47
KB
-rwxr-xr-x
bison
393.34
KB
-rwxr-xr-x
bond2team
22.74
KB
-rwxr-xr-x
bootctl
68.99
KB
-rwxr-xr-x
bq
5.7
KB
-rwxr-xr-x
brotli
765.84
KB
-rwxr-xr-x
build-classpath
1.5
KB
-rwxr-xr-x
build-classpath-directory
383
B
-rwxr-xr-x
build-jar-repository
1.53
KB
-rwxr-xr-x
bunzip2
31.89
KB
-rwxr-xr-x
busctl
403.15
KB
-rwxr-xr-x
byacc
84.48
KB
-rwxr-xr-x
bzcat
31.89
KB
-rwxr-xr-x
bzcmp
2.08
KB
-rwxr-xr-x
bzdiff
2.08
KB
-rwxr-xr-x
bzgrep
1.64
KB
-rwxr-xr-x
bzip2
31.89
KB
-rwxr-xr-x
bzip2recover
15.24
KB
-rwxr-xr-x
bzless
1.23
KB
-rwxr-xr-x
bzmore
1.23
KB
-rwxr-xr-x
c++
754.59
KB
-rwxr-x---
c++filt
27.92
KB
-rwxr-xr-x
c2ph
35.75
KB
-rwxr-xr-x
c89
224
B
-rwxr-x---
c99
215
B
-rwxr-x---
ca-legacy
1.6
KB
-rwxr-xr-x
cairo-sphinx
69.99
KB
-rwxr-xr-x
cal
36.8
KB
-rwxr-xr-x
captoinfo
64.26
KB
-rwxr-xr-x
cat
52.81
KB
-rwxr-xr-x
catchsegv
3.26
KB
-rwxr-xr-x
catman
36.75
KB
-rwxr-xr-x
cc
750.58
KB
-rwxr-x---
ccache-swig
48.48
KB
-rwxr-xr-x
cd
26
B
-rwxr-xr-x
centrino-decode
6.13
KB
-rwxr-xr-x
certutil
179.75
KB
-rwxr-xr-x
chacl
15.27
KB
-rwxr-xr-x
chage
72.16
KB
-rwxr-xr-x
chardetect
307
B
-rwxr-xr-x
chattr
11.27
KB
-rwxr-xr-x
chcat
13.12
KB
-rwxr-xr-x
chcon
61.46
KB
-rwxr-xr-x
check-binary-files
3.25
KB
-rwxr-xr-x
checkbashisms
21.69
KB
-rwxr-xr-x
checkmodule
400.48
KB
-rwxr-xr-x
checkpolicy
412.46
KB
-rwxr-xr-x
checksctp
7
KB
-rwxr-xr-x
chfn
23.41
KB
-rwx--x--x
chgrp
61.32
KB
-rwxr-xr-x
chmem
40.43
KB
-rwxr-xr-x
chmod
57.21
KB
-rwxr-xr-x
chown
61.36
KB
-rwxr-xr-x
chronyc
85.03
KB
-rwxr-xr-x
chrt
32.17
KB
-rwxr-xr-x
chsh
23.32
KB
-rwx--x--x
chvt
11.14
KB
-rwxr-xr-x
ci
801
B
-rwxr-xr-x
cifsiostat
48.52
KB
-rwxr-xr-x
cksum
32.38
KB
-rwxr-xr-x
cl-linksafe-apply-group
554
B
-rwxr-xr-x
cl-linksafe-reconfigure
4.83
KB
-rwxr-xr-x
clean-binary-files
12.91
KB
-rwxr-xr-x
clear
7.02
KB
-rwxr-xr-x
cmp
44.14
KB
-rwxr-xr-x
cmsutil
110.59
KB
-rwxr-xr-x
co
801
B
-rwxr-xr-x
col
23.88
KB
-rwxr-xr-x
colcrt
11.29
KB
-rwxr-xr-x
colrm
23.77
KB
-rwxr-xr-x
column
27.99
KB
-rwxr-xr-x
combinedeltarpm
52.09
KB
-rwxr-xr-x
combinediff
48.7
KB
-rwxr-xr-x
comm
36.55
KB
-rwxr-xr-x
command
31
B
-rwxr-xr-x
compare
11.09
KB
-rwxr-xr-x
compile_et
1.45
KB
-rwxr-xr-x
composite
7.05
KB
-rwxr-xr-x
config_data
7.05
KB
-rwxr-xr-x
conjure
7.05
KB
-rwxr-xr-x
convert
7.05
KB
-rwxr-xr-x
coredumpctl
154.52
KB
-rwxr-xr-x
corelist
10.02
KB
-rwxr-xr-x
cp
151.55
KB
-rwxr-xr-x
cpan
4.97
KB
-rwxr-xr-x
cpan-mirrors
4.27
KB
-r-xr-xr-x
cpan2dist
21.31
KB
-rwxr-xr-x
cpanp
3.31
KB
-rwxr-xr-x
cpanp-run-perl
553
B
-rwxr-xr-x
cpapi1
3.04
MB
-rwxr-xr-x
cpapi2
3.04
MB
-rwxr-xr-x
cpapi3
3.04
MB
-rwxr-xr-x
cpio
142.58
KB
-rwxr-xr-x
cpp
754.58
KB
-rwxr-xr-x
cpupower
66.34
KB
-rwxr-xr-x
create-jar-links
4.55
KB
-rwxr-xr-x
crlutil
127
KB
-rwxr-xr-x
crontab
56.23
KB
-rwsr-xr-x
cscope
656.2
KB
-rwxr-xr-x
cscope-indexer
3.77
KB
-rwxr-xr-x
csplit
48.82
KB
-rwxr-xr-x
csslint-0.6
19.55
KB
-rwxr-xr-x
ctags
237.99
KB
-rwxr-xr-x
curl
153
KB
-rwxr-xr-x
cut
40.61
KB
-rwxr-xr-x
cvtsudoers
241.7
KB
-rwxr-xr-x
cxpm
28.05
KB
-rwxr-xr-x
date
60.74
KB
-rwxr-xr-x
db47_archive
10.21
KB
-rwxr-xr-x
db47_checkpoint
10.27
KB
-rwxr-xr-x
db47_codegen
22.25
KB
-rwxr-xr-x
db47_deadlock
10.28
KB
-rwxr-xr-x
db47_dump
14.25
KB
-rwxr-xr-x
db47_hotbackup
18.38
KB
-rwxr-xr-x
db47_load
26.33
KB
-rwxr-xr-x
db47_printlog
62.8
KB
-rwxr-xr-x
db47_recover
10.27
KB
-rwxr-xr-x
db47_stat
14.22
KB
-rwxr-xr-x
db47_upgrade
10.23
KB
-rwxr-xr-x
db47_verify
10.22
KB
-rwxr-xr-x
db_archive
11.23
KB
-rwxr-xr-x
db_checkpoint
11.3
KB
-rwxr-xr-x
db_deadlock
11.31
KB
-rwxr-xr-x
db_dump
15.33
KB
-rwxr-xr-x
db_dump185
64.45
KB
-rwxr-xr-x
db_hotbackup
15.34
KB
-rwxr-xr-x
db_load
27.51
KB
-rwxr-xr-x
db_log_verify
15.34
KB
-rwxr-xr-x
db_printlog
32.26
KB
-rwxr-xr-x
db_recover
11.33
KB
-rwxr-xr-x
db_replicate
15.34
KB
-rwxr-xr-x
db_stat
15.26
KB
-rwxr-xr-x
db_tuner
19.33
KB
-rwxr-xr-x
db_upgrade
11.23
KB
-rwxr-xr-x
db_verify
11.25
KB
-rwxr-xr-x
dbilogstrip
1.43
KB
-rwxr-xr-x
dbiprof
6.15
KB
-rwxr-xr-x
dbiproxy
5.35
KB
-rwxr-xr-x
dbus-binding-tool
94.49
KB
-rwxr-xr-x
dbus-cleanup-sockets
11
KB
-rwxr-xr-x
dbus-daemon
218
KB
-rwxr-xr-x
dbus-monitor
23.13
KB
-rwxr-xr-x
dbus-run-session
14.97
KB
-rwxr-xr-x
dbus-send
27.07
KB
-rwxr-xr-x
dbus-test-tool
23.13
KB
-rwxr-xr-x
dbus-update-activation-environ...
15.02
KB
-rwxr-xr-x
dbus-uuidgen
10.98
KB
-rwxr-xr-x
dc
44.33
KB
-rwxr-xr-x
dd
73.14
KB
-rwxr-xr-x
deallocvt
11.16
KB
-rwxr-xr-x
debuginfo-install
7.88
KB
-rwxr-xr-x
dehtmldiff
1.32
KB
-rwxr-xr-x
delv
39.98
KB
-rwxr-xr-x
df
102.55
KB
-rwxr-xr-x
dgawk
502.12
KB
-rwxr-xr-x
dict_util
419.6
KB
-rwxr-xr-x
dict_util_string
389.46
KB
-rwxr-xr-x
diff
195.46
KB
-rwxr-xr-x
diff-jars
1.21
KB
-rwxr-xr-x
diff3
60.65
KB
-rwxr-xr-x
diffstat
35.76
KB
-rwxr-xr-x
dig
146.96
KB
-rwxr-xr-x
dir
114.85
KB
-rwxr-xr-x
dircolors
40.44
KB
-rwxr-xr-x
dirname
28.31
KB
-rwxr-xr-x
display
7.05
KB
-rwxr-xr-x
dltest
11.05
KB
-rwxr-xr-x
dmesg
48.52
KB
-rwxr-xr-x
dnf
1.9
KB
-rwxr-xr-x
dnf-2
1.9
KB
-rwxr-xr-x
dnsdomainname
15.41
KB
-rwxr-xr-x
docker-credential-gcloud
5.72
KB
-rwxr-xr-x
domainname
15.41
KB
-rwxr-xr-x
doveadm
2.94
MB
-rwxr-xr-x
doveconf
541.95
KB
-rwxr-xr-x
dovecot-sysreport
5.81
KB
-rwxr-xr-x
doxygen
8.47
MB
-rwxr-xr-x
dpkg
275.27
KB
-rwxr-xr-x
dpkg-deb
140.41
KB
-rwxr-xr-x
dpkg-divert
132.63
KB
-rwxr-xr-x
dpkg-maintscript-helper
18.58
KB
-rwxr-xr-x
dpkg-query
140.8
KB
-rwxr-xr-x
dpkg-split
111.28
KB
-rwxr-xr-x
dpkg-statoverride
70.52
KB
-rwxr-xr-x
dpkg-trigger
66.26
KB
-rwxr-xr-x
dracut
55.83
KB
-rwxr-xr-x
dsync
2.94
MB
-rwxr-xr-x
dtrace
16.66
KB
-rwxr-xr-x
du
110.34
KB
-rwxr-xr-x
dumpkeys
77.51
KB
-rwxr-xr-x
dumpsexp
15.19
KB
-rwxr-xr-x
dvi2fax
1.07
KB
-rwxr-xr-x
dvilualatex
5.8
MB
-rwxr-xr-x
dviluatex
5.8
MB
-rwxr-xr-x
dvipdf
1
KB
-rwxr-xr-x
dvipdfm
603.09
KB
-rwxr-xr-x
dvipdfmx
603.09
KB
-rwxr-xr-x
dvipdft
2.63
KB
-rwxr-xr-x
dvips
200.07
KB
-rwxr-xr-x
dvired
3.01
KB
-rwxr-xr-x
dwp
3.03
MB
-rwxr-xr-x
dwz
162.6
KB
-rwxr-xr-x
ea-php71
19.22
MB
-rwxr-xr-x
ea-php71-pear
383
B
-rwxr-xr-x
ea-php71-pecl
299
B
-rwxr-xr-x
ea-php73
4.84
MB
-rwxr-xr-x
ea-php73-pear
383
B
-rwxr-xr-x
ea-php73-pecl
299
B
-rwxr-xr-x
ea-php74
6.09
MB
-rwxr-xr-x
ea-php74-pear
383
B
-rwxr-xr-x
ea-php74-pecl
299
B
-rwxr-xr-x
ea-php80
6.67
MB
-rwxr-xr-x
ea-php80-pear
383
B
-rwxr-xr-x
ea-php80-pecl
299
B
-rwxr-xr-x
ea-php81
6.71
MB
-rwxr-xr-x
ea-php81-pear
383
B
-rwxr-xr-x
ea-php81-pecl
299
B
-rwxr-xr-x
ea-php82
6.73
MB
-rwxr-xr-x
ea-php82-pear
383
B
-rwxr-xr-x
ea-php82-pecl
299
B
-rwxr-xr-x
ea-php83
6.74
MB
-rwxr-xr-x
ea-php83-pear
383
B
-rwxr-xr-x
ea-php83-pecl
299
B
-rwxr-xr-x
easy_install
320
B
-rwxr-xr-x
easy_install-2.7
328
B
-rwxr-xr-x
easy_install-3.6
234
B
-rwxr-xr-x
ebb
603.09
KB
-rwxr-xr-x
echo
32.31
KB
-rwxr-xr-x
editdiff
2
KB
-rwxr-xr-x
egrep
290
B
-rwxr-xr-x
eject
48.81
KB
-rwxr-xr-x
elfedit
32.18
KB
-rwxr-xr-x
elinks
1.3
MB
-rwxr-xr-x
env
28.33
KB
-rwxr-xr-x
envsubst
36.01
KB
-rwxr-xr-x
eps2eps
639
B
-rwxr-xr-x
eqn
144.41
KB
-rwxr-xr-x
eqn2graph
2.62
KB
-rwxr-xr-x
espdiff
1.53
KB
-rwxr-xr-x
etex
715.38
KB
-rwxr-xr-x
eu-addr2line
23.66
KB
-rwxr-xr-x
eu-ar
35.97
KB
-rwxr-xr-x
eu-elfcmp
32.16
KB
-rwxr-xr-x
eu-elfcompress
27.64
KB
-rwxr-xr-x
eu-elflint
108.8
KB
-rwxr-xr-x
eu-findtextrel
19.55
KB
-rwxr-xr-x
eu-make-debug-archive
2.84
KB
-rwxr-xr-x
eu-nm
44.92
KB
-rwxr-xr-x
eu-objdump
32.45
KB
-rwxr-xr-x
eu-ranlib
19.58
KB
-rwxr-xr-x
eu-readelf
230.43
KB
-rwxr-xr-x
eu-size
19.42
KB
-rwxr-xr-x
eu-stack
23.64
KB
-rwxr-xr-x
eu-strings
19.59
KB
-rwxr-xr-x
eu-strip
56.75
KB
-rwxr-xr-x
eu-unstrip
48.23
KB
-rwxr-xr-x
ex
906.4
KB
-rwxr-xr-x
expand
32.48
KB
-rwxr-xr-x
expr
36.53
KB
-rwxr-xr-x
extractbb
603.09
KB
-rwxr-xr-x
f95
754.58
KB
-rwxr-xr-x
factor
93.29
KB
-rwxr-xr-x
fallocate
27.84
KB
-rwxr-xr-x
false
28.25
KB
-rwxr-xr-x
fc
26
B
-rwxr-xr-x
fc-cache
132
B
-rwxr-xr-x
fc-cache-64
15.45
KB
-rwxr-xr-x
fc-cat
15.4
KB
-rwxr-xr-x
fc-conflist
11.2
KB
-rwxr-xr-x
fc-list
11.26
KB
-rwxr-xr-x
fc-match
11.32
KB
-rwxr-xr-x
fc-pattern
11.26
KB
-rwxr-xr-x
fc-query
11.23
KB
-rwxr-xr-x
fc-scan
11.27
KB
-rwxr-xr-x
fc-validate
11.27
KB
-rwxr-xr-x
fg
26
B
-rwxr-xr-x
fgconsole
11.16
KB
-rwxr-xr-x
fgrep
290
B
-rwxr-xr-x
filan
89.13
KB
-rwxr-xr-x
file
19.3
KB
-rwxr-xr-x
filterdiff
45.2
KB
-rwxr-xr-x
find
194.63
KB
-rwxr-xr-x
find-jar
748
B
-rwxr-xr-x
find-repos-of-install
4.27
KB
-rwxr-xr-x
find2perl
23.06
KB
-rwxr-xr-x
findmnt
58.38
KB
-rwxr-xr-x
fipscheck
15.37
KB
-rwxr-xr-x
fipshmac
11.3
KB
-rwxr-xr-x
firewall-cmd
113.48
KB
-rwxr-xr-x
firewall-offline-cmd
101.18
KB
-rwxr-xr-x
fixcvsdiff
1.83
KB
-rwxr-xr-x
flex
318.07
KB
-rwxr-xr-x
flex++
318.07
KB
-rwxr-xr-x
flipdiff
48.7
KB
-rwxr-xr-x
flock
23.88
KB
-rwxr-xr-x
fmt
36.48
KB
-rwxr-xr-x
fmtutil
32.28
KB
-rwxr-xr-x
fmtutil-sys
831
B
-rwxr-xr-x
fold
36.46
KB
-rwxr-xr-x
fonttosfnt
35.99
KB
-rwxr-xr-x
free
19.33
KB
-rwxr-xr-x
freetype-config
4.39
KB
-rwxr-xr-x
fribidi
16.09
KB
-rwxr-xr-x
ftp
85.5
KB
-rwxr-xr-x
funzip
31.38
KB
-rwxr-xr-x
g++
754.59
KB
-rwxr-x---
gapplication
19.48
KB
-rwxr-xr-x
gawk
418.55
KB
-rwxr-xr-x
gcc
750.58
KB
-rwxr-x---
gcc-ar
26.45
KB
-rwxr-xr-x
gcc-nm
26.45
KB
-rwxr-xr-x
gcc-ranlib
26.45
KB
-rwxr-xr-x
gce_workload_cert_refresh
13.27
MB
-rwxr-xr-x
gcloud
5.69
KB
-rwxr-xr-x
gcore
2.12
KB
-rwxr-xr-x
gcov
311.45
KB
-rwxr-xr-x
gd2copypal
7.06
KB
-rwxr-xr-x
gd2togif
7.05
KB
-rwxr-xr-x
gd2topng
11.06
KB
-rwxr-xr-x
gdb
6.51
MB
-rwxr-xr-x
gdb-add-index
1.09
KB
-rwxr-xr-x
gdbus
40.17
KB
-rwxr-xr-x
gdcmpgif
11.08
KB
-rwxr-xr-x
gdiffmk
6.88
KB
-rwxr-xr-x
gdk-pixbuf-query-loaders-64
15.31
KB
-rwxr-xr-x
gdk-pixbuf-thumbnailer
15.52
KB
-rwxr-xr-x
gdlib-config
2.52
KB
-rwxr-xr-x
gdparttopng
11.07
KB
-rwxr-xr-x
gdtopng
7.04
KB
-rwxr-xr-x
gencat
22.11
KB
-rwxr-xr-x
gendiff
586
B
-rwxr-xr-x
genl-ctrl-list
11.27
KB
-rwxr-xr-t
geoiplookup
15.28
KB
-rwxr-xr-x
geoiplookup6
11.16
KB
-rwxr-xr-x
geoipupdate
31.28
KB
-rwxr-xr-x
geqn
144.41
KB
-rwxr-xr-x
getconf
22.02
KB
-rwxr-xr-x
getent
26.39
KB
-rwxr-xr-x
getfacl
24.29
KB
-rwxr-xr-x
getkeycodes
11.16
KB
-rwxr-xr-x
getopt
15.38
KB
-rwxr-xr-x
getopts
31
B
-rwxr-xr-x
gettext
35.94
KB
-rwxr-xr-x
gettext.sh
4.52
KB
-rwxr-xr-x
gettextize
42.69
KB
-rwxr-xr-x
gfortran
754.58
KB
-rwxr-xr-x
gftodvi
43.96
KB
-rwxr-xr-x
gftopk
27.63
KB
-rwxr-xr-x
gftype
27.58
KB
-rwxr-xr-x
ghostscript
10.97
KB
-rwxr-xr-x
giftogd2
7.05
KB
-rwxr-xr-x
gindxbib
36.89
KB
-rwxr-xr-x
gio
73.41
KB
-rwxr-xr-x
gio-querymodules-64
11.31
KB
-rwxr-xr-x
git
1.46
MB
-rwxr-xr-x
git-credential-gcloud.sh
6.16
KB
-rwxr-xr-x
git-receive-pack
1.46
MB
-rwxr-xr-x
git-shell
722.02
KB
-rwxr-xr-x
git-upload-archive
1.46
MB
-rwxr-xr-x
git-upload-pack
795.52
KB
-rwxr-xr-x
glib-compile-schemas
44.38
KB
-rwxr-xr-x
glookbib
41.27
KB
-rwxr-xr-x
gmake
178.47
KB
-rwxr-xr-x
gneqn
271
B
-rwxr-xr-x
gnroff
3.31
KB
-rwxr-xr-x
google_authorized_keys
713.51
KB
-rwxr-xr-x
google_authorized_keys_sk
714.52
KB
-rwxr-xr-x
google_authorized_principals
718.98
KB
-rwxr-xr-x
google_disk_expand
1.26
KB
-rwxr-xr-x
google_guest_agent
14.18
MB
-rwxr-xr-x
google_metadata_script_runner
15.27
MB
-rwxr-xr-x
google_optimize_local_ssd
2.46
KB
-rwxr-xr-x
google_osconfig_agent
16.95
MB
-rwxr-xr-x
google_oslogin_nss_cache
718.34
KB
-rwxr-xr-x
google_set_hostname
3.03
KB
-rwxr-xr-x
google_set_multiqueue
10.96
KB
-rwxr-xr-x
gpasswd
76.57
KB
-rwsr-xr-x
gpg
732.4
KB
-rwxr-xr-x
gpg-agent
289.74
KB
-rwxr-xr-x
gpg-connect-agent
152.69
KB
-rwxr-xr-x
gpg-error
23.18
KB
-rwxr-xr-x
gpg-error-config
1.83
KB
-rwxr-xr-x
gpg-zip
3.23
KB
-rwxr-xr-x
gpg2
732.4
KB
-rwxr-xr-x
gpgconf
140.31
KB
-rwxr-xr-x
gpgparsemail
23.7
KB
-rwxr-xr-x
gpgsplit
48.88
KB
-rwxr-xr-x
gpgv
345.38
KB
-rwxr-xr-x
gpgv2
345.38
KB
-rwxr-xr-x
gpic
180.41
KB
-rwxr-xr-x
gprof
98.41
KB
-rwxr-xr-x
gr2fonttest
23.66
KB
-rwxr-xr-x
grap2graph
2.39
KB
-rwxr-xr-x
grefer
118.5
KB
-rwxr-xr-x
grep
155.3
KB
-rwxr-xr-x
grepdiff
45.2
KB
-rwxr-xr-x
grn
77.74
KB
-rwxr-xr-x
grodvi
98.61
KB
-rwxr-xr-x
groff
81.63
KB
-rwxr-xr-x
grolbp
107.45
KB
-rwxr-xr-x
grolj4
94.37
KB
-rwxr-xr-x
grops
140.85
KB
-rwxr-xr-x
grotty
98.59
KB
-rwxr-xr-x
groups
32.41
KB
-rwxr-xr-x
grub2-editenv
396.09
KB
-rwxr-xr-x
grub2-file
838.38
KB
-rwxr-xr-x
grub2-fstest
1.03
MB
-rwxr-xr-x
grub2-glue-efi
258.8
KB
-rwxr-xr-x
grub2-kbdcomp
1.63
KB
-rwxr-xr-x
grub2-menulst2cfg
241.83
KB
-rwxr-xr-x
grub2-mkfont
287.6
KB
-rwxr-xr-x
grub2-mkimage
379.24
KB
-rwxr-xr-x
grub2-mklayout
264.87
KB
-rwxr-xr-x
grub2-mknetdir
429.77
KB
-rwxr-xr-x
grub2-mkpasswd-pbkdf2
271.3
KB
-rwxr-xr-x
grub2-mkrelpath
258.48
KB
-rwxr-xr-x
grub2-mkrescue
1
MB
-rwxr-xr-x
grub2-mkstandalone
534.3
KB
-rwxr-xr-x
grub2-render-label
843.2
KB
-rwxr-xr-x
grub2-script-check
295.41
KB
-rwxr-xr-x
grub2-syslinux2cfg
767.74
KB
-rwxr-xr-x
gs
10.97
KB
-rwxr-xr-x
gsbj
350
B
-rwxr-xr-x
gsdj
352
B
-rwxr-xr-x
gsdj500
352
B
-rwxr-xr-x
gsettings
23.8
KB
-rwxr-xr-x
gsftopk
27.88
KB
-rwxr-xr-x
gslj
353
B
-rwxr-xr-x
gslp
350
B
-rwxr-xr-x
gsnd
277
B
-rwxr-xr-x
gsoelim
32.59
KB
-rwxr-xr-x
gss-client
23.17
KB
-rwxr-xr-x
gstack
1.05
KB
-rwxr-xr-x
gsutil
5.74
KB
-rwxr-xr-x
gtar
338.02
KB
-rwxr-xr-x
gtbl
115.96
KB
-rwxr-xr-x
gtk-query-immodules-2.0-64
15.29
KB
-rwxr-xr-x
gtk-update-icon-cache
32.45
KB
-rwxr-xr-x
gtroff
512.96
KB
-rwxr-xr-x
gunzip
2.2
KB
-rwxr-xr-x
gzexe
5.79
KB
-rwxr-xr-x
gzip
98.43
KB
-rwxr-xr-x
h2ph
27.65
KB
-rwxr-xr-x
h2xs
59.15
KB
-rwxr-xr-x
hdsploader
11.18
KB
-rwxr-xr-x
head
40.51
KB
-rwxr-xr-x
hexdump
32.02
KB
-rwxr-xr-x
hmac256
15.67
KB
-rwxr-xr-x
host
127.02
KB
-rwxr-xr-x
hostid
28.32
KB
-rwxr-xr-x
hostname
15.41
KB
-rwxr-xr-x
hostnamectl
318.07
KB
-rwxr-xr-x
hpftodit
114.38
KB
-rwxr-xr-x
htdbm
23.1
KB
-rwxr-xr-x
htdigest
15.07
KB
-rwxr-xr-x
htop
165.65
KB
-rwxr-xr-x
htpasswd
23.11
KB
-rwxr-xr-x
httxt2dbm
10.99
KB
-rwxr-xr-x
hunspell
53.11
KB
-rwxr-xr-x
i360-check-flow
389.46
KB
-rwxr-xr-x
i360-exclcomp
449.79
KB
-rwxr-xr-x
i360-pkg-watcher
6.87
MB
-rwxr-xr-x
i360-renameat2
7.06
KB
-rwxr-xr-x
i360-storage
992
B
-rwxr-xr-x
i360-storage-hdb
114.51
KB
-rwxr-xr-x
i360-storage-mkcustom
1.18
KB
-rwxr-xr-x
i360-storage-new
5.54
KB
-rwxr-xr-x
i360-storage-replacehdb-v2
857
B
-rwxr-xr-x
i360-storage.immunity
652.03
KB
-rwxr-xr-x
i360-storage.v2
9.85
MB
-rwxr-xr-x
i360-sync-config
6.4
MB
-rwxr-xr-x
i360-sync-config.sh
180
B
-rwxr-xr-x
i360_wafd_check
3.32
MB
-rwxr-xr-x
i360_wafd_list
2.73
MB
-rwxr-xr-x
i386
15.27
KB
-rwxr-xr-x
iceauth
31.73
KB
-rwxr-xr-x
iconv
58.14
KB
-rwxr-xr-x
id
36.52
KB
-rwxr-xr-x
ident
110.45
KB
-rwxr-xr-x
identify
7.06
KB
-rwxr-xr-x
idiag-socket-details
11.34
KB
-rwxr-xr-x
idle
93
B
-rwxr-xr-x
idn
32.45
KB
-rwxr-xr-x
ifnames
4.03
KB
-rwxr-xr-x
igawk
3.11
KB
-rwxr-xr-x
im360-k8s-syncer
56.02
MB
-rwxr-xr-x
import
7.05
KB
-rwxr-xr-x
imunify-agent-proxy
12.53
MB
-rwxr-xr-x
imunify-antivirus
1
KB
-rwxr-xr-x
imunify-fgw-dump
5.82
MB
-rwxr-xr-x
imunify-resident
12.75
MB
-rwxr-xr-x
imunify-service
1020
B
-rwxr-xr-x
imunify360-agent
1.01
KB
-rwxr-xr-x
imunify360-command-wrapper
9.14
KB
-rwxr-xr-x
imunify360-dos-protection
7.31
MB
-rwxr-xr-x
indent
73.82
KB
-rwxr-xr-x
indxbib
36.89
KB
-rwxr-xr-x
info
265.19
KB
-rwxr-xr-x
infocmp
56.07
KB
-rwxr-xr-x
infokey
21.47
KB
-rwxr-xr-x
infotocap
64.26
KB
-rwxr-xr-x
inimf
285.68
KB
-rwxr-xr-x
initex
313.38
KB
-rwxr-xr-x
innochecksum
9.68
MB
-rwxr-xr-x
inotifywait
27.56
KB
-rwxr-xr-x
inotifywatch
23.49
KB
-rwxr-xr-x
install
139.59
KB
-rwxr-xr-x
install-catalog
4.27
KB
-rwxr-xr-x
instmodsh
4.15
KB
-rwxr-xr-x
interdiff
48.7
KB
-rwxr-xr-x
intltool-extract
28.06
KB
-rwxr-xr-x
intltool-merge
38.87
KB
-rwxr-xr-x
intltool-prepare
8.4
KB
-rwxr-xr-x
intltool-update
34.18
KB
-rwxr-xr-x
intltoolize
6.98
KB
-rwxr-xr-x
ionice
23.86
KB
-rwxr-xr-x
iostat
60.79
KB
-rwxr-xr-x
ipcalc
15.05
KB
-rwxr-xr-x
ipcmk
24
KB
-rwxr-xr-x
ipcrm
27.85
KB
-rwxr-xr-x
ipcs
48.37
KB
-rwxr-xr-x
iptables-xml
91.52
KB
-rwxr-xr-t
isc-config.sh
3.47
KB
-rwxr-xr-x
isosize
23.83
KB
-rwxr-xr-x
ispell
988
B
-rwxr-xr-x
isql
31.69
KB
-rwxr-xr-x
iusql
23.61
KB
-rwxr-xr-x
jade
621.21
KB
-rwxr-xr-x
java
8.77
KB
-rwxr-xr-x
jjs
8.9
KB
-rwxr-xr-x
jobs
28
B
-rwxr-xr-x
join
48.75
KB
-rwxr-xr-x
journalctl
537.88
KB
-rwxr-xr-x
js
3.36
MB
-rwxr-xr-x
json_pp
3.82
KB
-rwxr-xr-x
json_reformat
35.89
KB
-rwxr-xr-x
json_verify
27.52
KB
-rwxr-xr-x
json_xs
6.74
KB
-rwxr-xr-x
jvmjar
1.7
KB
-rwxr-xr-x
kbd_mode
11.16
KB
-rwxr-xr-x
kbdinfo
11.19
KB
-rwxr-xr-x
kbdrate
11.22
KB
-rwxr-xr-x
kcare-scanner-interface
4.68
KB
-rwxr-xr-x
kcare-uname
582
B
-rwxr-xr-x
kcarectl
1.21
KB
-rwxr-xr-x
kernel-install
4.7
KB
-rwxr-xr-x
keyctl
27.94
KB
-rwxr-xr-x
keytool
8.9
KB
-rwxr-xr-x
kill
32.82
KB
-rwxr-xr-x
killall
24.14
KB
-rwxr-xr-x
kmod
143.24
KB
-rwxr-xr-x
kpseaccess
7.02
KB
-rwxr-xr-x
kpsepath
3.38
KB
-rwxr-xr-x
kpsereadlink
7.04
KB
-rwxr-xr-x
kpsestat
11.04
KB
-rwxr-xr-x
kpsetool
3.38
KB
-rwxr-xr-x
kpsewhere
1.41
KB
-rwxr-xr-x
kpsewhich
20.18
KB
-rwxr-xr-x
kpsexpand
3.38
KB
-rwxr-xr-x
krb5-config
6.96
KB
-rwxr-xr-x
last
19.11
KB
-rwxr-xr-x
lastb
19.11
KB
-rwxr-xr-x
lastlog
19.15
KB
-rwxr-xr-x
latex
715.38
KB
-rwxr-xr-x
lchfn
15.52
KB
-rwxr-xr-x
lchsh
15.49
KB
-rwxr-xr-x
ld
982.59
KB
-rwxr-x---
ld.bfd
982.59
KB
-rwxr-x---
ld.gold
5.11
MB
-rwxr-xr-x
ldd
5.18
KB
-rwxr-xr-x
less
154.56
KB
-rwxr-xr-x
lessecho
11.13
KB
-rwxr-xr-x
lesskey
16.67
KB
-rwxr-xr-x
lesspipe.sh
2.24
KB
-rwxr-xr-x
lex
318.07
KB
-rwxr-xr-x
lexgrog
85.09
KB
-rwxr-xr-x
libcare-cron
1.07
KB
-rwxr-xr-x
libgcrypt-config
3.78
KB
-rwxr-xr-x
libmcrypt-config
1.38
KB
-rwxr-xr-x
libnetcfg
15.36
KB
-rwxr-xr-x
libpng-config
2.38
KB
-rwxr-xr-x
libpng15-config
2.38
KB
-rwxr-xr-x
libtool
314.04
KB
-rwxr-xr-x
libtoolize
76.8
KB
-rwxr-xr-x
libwmf-fontmap
12.78
KB
-rwxr-xr-x
licensecheck
19.66
KB
-rwxr-xr-x
link
28.3
KB
-rwxr-xr-x
links
1.3
MB
-rwxr-xr-x
linux-boot-prober
5.85
KB
-rwxr-xr-x
linux32
15.27
KB
-rwxr-xr-x
linux64
15.27
KB
-rwxr-xr-x
linuxdoc
1.6
KB
-rwxr-xr-x
lkbib
41.26
KB
-rwxr-xr-x
ln
57.22
KB
-rwxr-xr-x
loadkeys
110.48
KB
-rwxr-xr-x
loadunimap
23.88
KB
-rwxr-xr-x
locale
37.11
KB
-rwxr-xr-x
localectl
326.23
KB
-rwxr-xr-x
localedef
318.31
KB
-rwxr-xr-x
logger
28.62
KB
-rwxr-xr-x
login
36.38
KB
-rwxr-xr-x
loginctl
489.6
KB
-rwxr-xr-x
logname
28.31
KB
-rwxr-xr-x
logresolve
14.99
KB
-rwxr-xr-x
look
11.27
KB
-rwxr-xr-x
lookbib
41.27
KB
-rwxr-xr-x
lprsetup.sh
5.34
KB
-rwxr-xr-x
ls
114.85
KB
-rwxr-xr-x
lsattr
11.25
KB
-rwxr-xr-x
lsblk
79.17
KB
-rwxr-xr-x
lscpu
60.75
KB
-rwxr-xr-x
lsdiff
45.2
KB
-rwxr-xr-x
lsinitrd
6.26
KB
-rwxr-xr-x
lsipc
60.95
KB
-rwxr-xr-x
lslocks
41.01
KB
-rwxr-xr-x
lslogins
52.88
KB
-rwxr-xr-x
lsmem
40.78
KB
-rwxr-xr-x
lsns
36.43
KB
-rwxr-xr-x
lsphp
937
B
-rwxr-xr-x
lsscsi
56.48
KB
-rwxr-xr-x
lua
15.47
KB
-rwxr-xr-x
luac
119.03
KB
-rwxr-xr-x
lualatex
5.8
MB
-rwxr-xr-x
luatex
5.8
MB
-rwxr-xr-x
lwp-download
8.43
KB
-rwxr-xr-x
lwp-dump
2.73
KB
-rwxr-xr-x
lwp-mirror
2.42
KB
-rwxr-xr-x
lwp-request
14.71
KB
-rwxr-xr-x
lz4
105.87
KB
-rwxr-xr-x
lz4_decompress
627
KB
-rwxr-xr-x
lz4c
105.87
KB
-rwxr-xr-x
lz4cat
105.87
KB
-rwxr-xr-x
m4
151.17
KB
-rwxr-xr-x
machinectl
533.93
KB
-rwxr-xr-x
mail
383.67
KB
-rwxr-xr-x
mailx
383.67
KB
-rwxr-xr-x
make
178.47
KB
-rwxr-xr-x
makedb
18.11
KB
-rwxr-xr-x
makedeltarpm
68.39
KB
-rwxr-xr-x
makeindex
77.96
KB
-rwxr-xr-x
makeinfo
50.83
KB
-rwxr-xr-x
man
100.44
KB
-rwxr-xr-x
mandb
122.25
KB
-rwxr-xr-x
manpage-alert
2.51
KB
-rwxr-xr-x
manpath
32.55
KB
-rwxr-xr-x
mapscrn
19.78
KB
-rwxr-xr-x
mcookie
15.44
KB
-rwxr-xr-x
mcrypt
85.29
KB
-rwxr-xr-x
md5sum
40.53
KB
-rwxr-xr-x
mdecrypt
85.29
KB
-rwxr-xr-x
mdig
44.2
KB
-rwxr-xr-x
merge
110.43
KB
-rwxr-xr-x
mesg
10.98
KB
-rwxr-xr-x
mf
285.68
KB
-rwxr-xr-x
mf-nowin
281.03
KB
-rwxr-xr-x
mft
51.7
KB
-rwxr-xr-x
mixartloader
15.38
KB
-rwxr-xr-x
mkdir
77.9
KB
-rwxr-xr-x
mkfifo
61.59
KB
-rwxr-xr-x
mkfontdir
65
B
-rwxr-xr-x
mkfontscale
32.48
KB
-rwxr-xr-x
mkindex
947
B
-rwxr-xr-x
mkinitrd
2.94
KB
-rwxr-xr-x
mkluatexfontdb
2.55
KB
-rwxr-xr-x
mknod
65.61
KB
-rwxr-xr-x
mkocp
171
B
-rwxr-xr-x
mkofm
85
B
-rwxr-xr-x
mktemp
40.66
KB
-rwxr-xr-x
mktexfmt
32.28
KB
-rwxr-xr-x
mktexlsr
7.39
KB
-rwxr-xr-x
mktexmf
3.72
KB
-rwxr-xr-x
mktexpk
9.51
KB
-rwxr-xr-x
mktextfm
4.74
KB
-rwxr-xr-x
modulemd-validator
11.66
KB
-rwxr-xr-x
modutil
165.78
KB
-rwxr-xr-x
mogrify
7.05
KB
-rwxr-xr-x
mokutil
44.94
KB
-rwxr-xr-x
montage
7.05
KB
-rwxr-xr-x
more
40.15
KB
-rwxr-xr-x
mount
43.23
KB
-rwxr-xr-x
mountpoint
15.32
KB
-rwxr-xr-x
mpstat
56.54
KB
-rwxr-xr-x
mptopdf
4.13
KB
-rwxr-xr-x
msgattrib
23.36
KB
-rwxr-xr-x
msgcat
23.34
KB
-rwxr-xr-x
msgcmp
23.59
KB
-rwxr-xr-x
msgcomm
19.31
KB
-rwxr-xr-x
msgconv
19.3
KB
-rwxr-xr-x
msgen
19.3
KB
-rwxr-xr-x
msgexec
15.33
KB
-rwxr-xr-x
msgfilter
27.56
KB
-rwxr-xr-x
msgfmt
77.05
KB
-rwxr-xr-x
msgfmt.py
6.33
KB
-rwxr-xr-x
msggrep
35.97
KB
-rwxr-xr-x
msghack
12.45
KB
-rwxr-xr-x
msginit
44.38
KB
-rwxr-xr-x
msgmerge
52.6
KB
-rwxr-xr-x
msgunfmt
31.7
KB
-rwxr-xr-x
msguniq
19.31
KB
-rwxr-xr-x
mv
127.3
KB
-rwxr-xr-x
my_print_defaults
8.81
MB
-rwxr-xr-x
myisam_ftdump
11.08
MB
-rwxr-xr-x
myisamchk
11.55
MB
-rwxr-xr-x
myisamlog
7.42
MB
-rwxr-xr-x
myisampack
11.21
MB
-rwxr-xr-x
mysql
12.1
MB
-rwxr-xr-x
mysql_config
840
B
-rwxr-xr-x
mysql_config-64
5.11
KB
-rwxr-xr-x
mysql_config_editor
8.98
MB
-rwxr-xr-x
mysql_install_db
11.44
MB
-rwxr-xr-x
mysql_plugin
8.88
MB
-rwxr-xr-x
mysql_secure_installation
10.71
MB
-rwxr-xr-x
mysql_ssl_rsa_setup
9.23
MB
-rwxr-xr-x
mysql_tzinfo_to_sql
4.99
MB
-rwxr-xr-x
mysql_upgrade
14.18
MB
-rwxr-xr-x
mysqladmin
10.76
MB
-rwxr-xr-x
mysqlbinlog
12.69
MB
-rwxr-xr-x
mysqlcheck
11.04
MB
-rwxr-xr-x
mysqld_pre_systemd
3.74
KB
-rwxr-xr-x
mysqldump
11.13
MB
-rwxr-xr-x
mysqldumpslow
7.66
KB
-rwxr-xr-x
mysqlimport
10.76
MB
-rwxr-xr-x
mysqlpump
20.23
MB
-rwxr-xr-x
mysqlshow
10.72
MB
-rwxr-xr-x
mysqlslap
10.82
MB
-rwxr-xr-x
nail
383.67
KB
-rwxr-xr-x
named-rrchecker
15.32
KB
-rwxr-xr-x
namei
27.95
KB
-rwxr-xr-x
nano
201.08
KB
-rwxr-xr-x
nc
371.27
KB
-rwxr-xr-x
ncat
371.27
KB
-rwxr-xr-x
ncurses5-config
5.68
KB
-rwxr-xr-x
ncursesw5-config
5.68
KB
-rwxr-xr-x
ndptool
23.63
KB
-rwxr-xr-x
needs-restarting
8.17
KB
-rwxr-xr-x
neqn
271
B
-rwxr-xr-x
netstat
151.38
KB
-rwxr-xr-x
nettle-hash
11.33
KB
-rwxr-xr-x
nettle-lfib-stream
7.05
KB
-rwxr-xr-x
newgidmap
38.09
KB
-rwxr-xr-x
newgrp
40.95
KB
-rwxr-xr-x
newuidmap
38.06
KB
-rwxr-xr-x
nf-ct-add
11.8
KB
-rwxr-xr-x
nf-ct-list
15.84
KB
-rwxr-xr-x
nf-exp-add
16.21
KB
-rwxr-xr-x
nf-exp-delete
15.99
KB
-rwxr-xr-x
nf-exp-list
11.8
KB
-rwxr-xr-x
nf-log
11.23
KB
-rwxr-xr-x
nf-monitor
11.18
KB
-rwxr-xr-x
nf-queue
11.27
KB
-rwxr-xr-x
nfsiostat-sysstat
52.55
KB
-rwxr-xr-x
ngettext
35.95
KB
-rwxr-xr-x
nice
32.32
KB
-rwxr-xr-x
nisdomainname
15.41
KB
-rwxr-xr-x
nl
40.6
KB
-rwxr-xr-x
nl-addr-add
11.65
KB
-rwxr-xr-x
nl-addr-delete
11.73
KB
-rwxr-xr-x
nl-addr-list
15.88
KB
-rwxr-xr-x
nl-class-add
11.7
KB
-rwxr-xr-t
nl-class-delete
11.55
KB
-rwxr-xr-t
nl-class-list
11.48
KB
-rwxr-xr-t
nl-classid-lookup
11.29
KB
-rwxr-xr-t
nl-cls-add
11.76
KB
-rwxr-xr-t
nl-cls-delete
11.68
KB
-rwxr-xr-t
nl-cls-list
11.58
KB
-rwxr-xr-t
nl-fib-lookup
11.41
KB
-rwxr-xr-x
nl-link-enslave
7.05
KB
-rwxr-xr-x
nl-link-ifindex2name
7.06
KB
-rwxr-xr-x
nl-link-list
11.52
KB
-rwxr-xr-t
nl-link-name2ifindex
7.05
KB
-rwxr-xr-x
nl-link-release
7.05
KB
-rwxr-xr-x
nl-link-set
11.64
KB
-rwxr-xr-x
nl-link-stats
11.39
KB
-rwxr-xr-x
nl-list-caches
11.08
KB
-rwxr-xr-x
nl-list-sockets
7.06
KB
-rwxr-xr-x
nl-monitor
11.2
KB
-rwxr-xr-x
nl-neigh-add
11.51
KB
-rwxr-xr-x
nl-neigh-delete
11.57
KB
-rwxr-xr-x
nl-neigh-list
11.46
KB
-rwxr-xr-x
nl-neightbl-list
11.27
KB
-rwxr-xr-x
nl-pktloc-lookup
11.36
KB
-rwxr-xr-t
nl-qdisc-add
11.6
KB
-rwxr-xr-t
nl-qdisc-delete
11.54
KB
-rwxr-xr-t
nl-qdisc-list
11.63
KB
-rwxr-xr-t
nl-route-add
11.73
KB
-rwxr-xr-x
nl-route-delete
15.86
KB
-rwxr-xr-x
nl-route-get
11.18
KB
-rwxr-xr-x
nl-route-list
11.77
KB
-rwxr-xr-x
nl-rule-list
11.3
KB
-rwxr-xr-x
nl-tctree-list
11.53
KB
-rwxr-xr-x
nl-util-addr
7.03
KB
-rwxr-xr-x
nm
45.43
KB
-rwxr-xr-x
nm-online
15.16
KB
-rwxr-xr-x
nmcli
809.16
KB
-rwxr-xr-x
nmtui
646.77
KB
-rwxr-xr-x
nmtui-connect
646.77
KB
-rwxr-xr-x
nmtui-edit
646.77
KB
-rwxr-xr-x
nmtui-hostname
646.77
KB
-rwxr-xr-x
nohup
32.42
KB
-rwxr-xr-x
nproc
32.37
KB
-rwxr-xr-x
nroff
3.31
KB
-rwxr-xr-x
nsenter
28.22
KB
-rwxr-xr-x
nsgmls
106.91
KB
-rwxr-xr-x
nslookup
130.93
KB
-rwxr-xr-x
nss-policy-check
15.26
KB
-rwxr-xr-x
nsupdate
65.2
KB
-rwxr-xr-x
numfmt
64.71
KB
-rwxr-xr-x
objcopy
227.34
KB
-rwxr-xr-x
objdump
357.75
KB
-rwxr-xr-x
ocs
7.11
KB
-rwxr-xr-x
od
64.81
KB
-rwxr-xr-x
odbc_config
11.04
KB
-rwxr-xr-x
odbcinst
27.69
KB
-rwxr-xr-x
oldfind
186.41
KB
-rwxr-xr-x
onsgmls
106.91
KB
-rwxr-xr-x
open
19.48
KB
-rwxr-xr-x
openjade
621.21
KB
-rwxr-xr-x
openssl
542.27
KB
-rwxr-xr-x
openvt
19.48
KB
-rwxr-xr-x
orbd
8.95
KB
-rwxr-xr-x
os-prober
5.51
KB
-rwxr-xr-x
osgmlnorm
44.69
KB
-rwxr-xr-x
ospam
65.63
KB
-rwxr-xr-x
ospcat
31.71
KB
-rwxr-xr-x
ospent
23.6
KB
-rwxr-xr-x
osx
77.5
KB
-rwxr-xr-x
p11-kit
32.18
KB
-rwxr-xr-x
pack200
8.9
KB
-rwxr-xr-x
package-cleanup
17.39
KB
-rwxr-xr-x
page_owner_sort
10.2
KB
-rwxr-xr-x
pango-list
11.1
KB
-rwxr-xr-x
pango-querymodules-64
28.26
KB
-rwxr-xr-x
pango-view
49.47
KB
-rwxr-xr-x
paperconf
11.23
KB
-rwxr-xr-x
passwd
27.2
KB
-rwsr-xr-x
paste
32.34
KB
-rwxr-xr-x
patch
147
KB
-rwxr-xr-x
pathchk
32.31
KB
-rwxr-xr-x
pchrt
3.93
KB
-rwxr-xr-x
pcre-config
2.09
KB
-rwxr-xr-x
pdf2dsc
698
B
-rwxr-xr-x
pdf2ps
909
B
-rwxr-xr-x
pdfetex
715.38
KB
-rwxr-xr-x
pdflatex
715.38
KB
-rwxr-xr-x
pdfroff
20.12
KB
-rwxr-xr-x
pdftex
715.38
KB
-rwxr-xr-x
pdns_control
7.57
MB
-rwxr-xr-x
pdnsutil
70.77
MB
-rwxr-xr-x
peekfd
11.21
KB
-rwxr-xr-x
perl
11.14
KB
-rwxr-xr-x
perl5.16.3
11.14
KB
-rwxr-xr-x
perlbug
43.61
KB
-rwxr-xr-x
perldoc
203
B
-rwxr-xr-x
perlivp
10.52
KB
-rwxr-xr-x
perlml
5.98
KB
-rwxr-xr-x
perlthanks
43.61
KB
-rwxr-xr-x
perror
8.95
MB
-rwxr-xr-x
pf2afm
498
B
-rwxr-xr-x
pfbtopfa
516
B
-rwxr-xr-x
pfbtops
15.21
KB
-rwxr-xr-x
pflags
2.06
KB
-rwxr-xr-x
pftp
85.5
KB
-rwxr-xr-x
pgawk
418.59
KB
-rwxr-xr-x
pgrep
27.67
KB
-rwxr-xr-x
php
937
B
-rwxr-xr-x
pic
180.41
KB
-rwxr-xr-x
pic2graph
2.95
KB
-rwxr-xr-x
piconv
7.99
KB
-rwxr-xr-x
pidstat
68.91
KB
-rwxr-xr-x
pinentry
2.54
KB
-rwxr-xr-x
pinentry-curses
49.19
KB
-rwxr-xr-x
ping
64.63
KB
-rwxr-xr-x
ping6
64.63
KB
-rwxr-xr-x
pinky
36.57
KB
-rwxr-xr-x
pip-3
407
B
-rwxr-xr-x
pip-3.6
407
B
-rwxr-xr-x
pip3
407
B
-rwxr-xr-x
pip3.6
407
B
-rwxr-xr-x
pk12util
103.22
KB
-rwxr-xr-x
pkaction
15
KB
-rwxr-xr-x
pkcheck
23.03
KB
-rwxr-xr-x
pkcs1-conv
15.52
KB
-rwxr-xr-x
pkexec
27.02
KB
-rwxr-xr-x
pkg-config
44.38
KB
-rwxr-xr-x
pkill
27.67
KB
-rwxr-xr-x
pkla-admin-identities
19.23
KB
-rwxr-xr-x
pkla-check-authorization
27.3
KB
-rwxr-xr-x
pktogf
23.61
KB
-rwxr-xr-x
pkttyagent
18.98
KB
-rwxr-xr-x
pktype
19.51
KB
-rwxr-xr-x
pl2pm
4.42
KB
-rwxr-xr-x
pldd
14.11
KB
-rwxr-xr-x
plesk_configure
342
B
-rwxr-xr-x
plymouth
39.77
KB
-rwxr-xr-x
pmap
27.61
KB
-rwxr-xr-x
pngtogd
7.05
KB
-rwxr-xr-x
pngtogd2
7.05
KB
-rwxr-xr-x
pod2html
4
KB
-rwxr-xr-x
pod2latex
10.1
KB
-rwxr-xr-x
pod2man
13.26
KB
-rwxr-xr-x
pod2texi
19.21
KB
-rwxr-xr-x
pod2text
10.75
KB
-rwxr-xr-x
pod2usage
3.67
KB
-rwxr-xr-x
podchecker
3.7
KB
-rwxr-xr-x
podselect
2.55
KB
-rwxr-xr-x
policytool
8.91
KB
-rwxr-xr-x
polkitd
1.19
MB
-rwx------
post-grohtml
187.55
KB
-rwxr-xr-x
powernow-k8-decode
6.15
KB
-rwxr-xr-x
pphs
404
B
-rwxr-xr-x
pr
65.11
KB
-rwxr-xr-x
pre-grohtml
86.24
KB
-rwxr-xr-x
precat
5.52
KB
-rwxr-xr-x
preconv
40.88
KB
-rwxr-xr-x
preunzip
5.52
KB
-rwxr-xr-x
prezip
5.52
KB
-rwxr-xr-x
prezip-bin
11.05
KB
-rwxr-xr-x
printafm
395
B
-rwxr-xr-x
printenv
28.28
KB
-rwxr-xr-x
printf
48.61
KB
-rwxr-xr-x
prlimit
41.2
KB
-rwxr-xr-x
procan
76.99
KB
-rwxr-xr-x
prove
13.13
KB
-rwxr-xr-x
prtstat
15.25
KB
-rwxr-xr-x
ps
97.77
KB
-rwxr-xr-x
ps2ascii
631
B
-rwxr-xr-x
ps2epsi
2.69
KB
-rwxr-xr-x
ps2pdf
272
B
-rwxr-xr-x
ps2pdf12
215
B
-rwxr-xr-x
ps2pdf13
215
B
-rwxr-xr-x
ps2pdf14
215
B
-rwxr-xr-x
ps2pdfwr
1.07
KB
-rwxr-xr-x
ps2ps
647
B
-rwxr-xr-x
ps2ps2
669
B
-rwxr-xr-x
psed
52.08
KB
-rwxr-xr-x
psfaddtable
19.48
KB
-rwxr-xr-x
psfgettable
19.48
KB
-rwxr-xr-x
psfstriptable
19.48
KB
-rwxr-xr-x
psfxtable
19.48
KB
-rwxr-xr-x
pstack
1.05
KB
-rwxr-xr-x
pstree
27.84
KB
-rwxr-xr-x
pstree.x11
27.84
KB
-rwxr-xr-x
pstruct
35.75
KB
-rwxr-xr-x
ptar
3.43
KB
-rwxr-xr-x
ptardiff
2.41
KB
-rwxr-xr-x
ptargrep
4.13
KB
-rwxr-xr-x
ptaskset
3.8
KB
-rwxr-xr-x
ptx
65.08
KB
-rwxr-xr-x
pwd
32.45
KB
-rwxr-xr-x
pwdx
11.27
KB
-rwxr-xr-x
pwmake
11.13
KB
-rwxr-xr-x
pwscore
11.13
KB
-rwxr-xr-x
pydoc
78
B
-rwxr-xr-x
pydoc3
78
B
-rwxr-xr-x
pydoc3.6
78
B
-rwxr-xr-x
pygettext.py
21.57
KB
-rwxr-xr-x
pynche
137
B
-rwxr-xr-x
python
6.98
KB
-rwxr-xr-x
python-config
1.79
KB
-rwxr-xr-x
python2
6.98
KB
-rwxr-xr-x
python2-config
1.79
KB
-rwxr-xr-x
python2.7
6.98
KB
-rwxr-xr-x
python2.7-config
1.79
KB
-rwxr-xr-x
python3
11.07
KB
-rwxr-xr-x
python3.6
11.07
KB
-rwxr-xr-x
python3.6m
11.07
KB
-rwxr-xr-x
pyvenv
435
B
-rwxr-xr-x
pyvenv-3.6
435
B
-rwxr-xr-x
qemu-ga
267.8
KB
-rwxr-xr-x
quota
83.31
KB
-rwsr-xr-x
quotasync
70.84
KB
-rwxr-xr-x
ranlib
61.21
KB
-rwxr-xr-x
raw
15.27
KB
-rwxr-xr-x
rcs
175.6
KB
-rwxr-xr-x
rcsclean
819
B
-rwxr-xr-x
rcsdiff
816
B
-rwxr-xr-x
rcsfreeze
4.34
KB
-rwxr-xr-x
rcsmerge
819
B
-rwxr-xr-x
rdate
10.3
KB
-rwxr-xr-x
read
28
B
-rwxr-xr-x
readelf
509.84
KB
-rwxr-xr-x
readlink
40.82
KB
-rwxr-xr-x
realpath
61.23
KB
-rwxr-xr-x
rebuild-jar-repository
1.76
KB
-rwxr-xr-x
recode-sr-latin
15.29
KB
-rwxr-xr-x
recountdiff
3.36
KB
-rwxr-xr-x
rediff
36.04
KB
-rwxr-xr-x
refer
118.5
KB
-rwxr-xr-x
rename
11.26
KB
-rwxr-xr-x
renice
11.21
KB
-rwxr-xr-x
replace
5.16
MB
-rwxr-xr-x
repo-graph
4.09
KB
-rwxr-xr-x
repo-rss
10.07
KB
-rwxr-xr-x
repoclosure
11.42
KB
-rwxr-xr-x
repodiff
13.97
KB
-rwxr-xr-x
repomanage
6.88
KB
-rwxr-xr-x
repoquery
55.68
KB
-rwxr-xr-x
reposync
14.14
KB
-rwxr-xr-x
repotrack
9.86
KB
-rwxr-xr-x
rescan-scsi-bus.sh
33.81
KB
-rwxr-xr-x
reset
19.59
KB
-rwxr-xr-x
resizecons
19.63
KB
-rwxr-xr-x
resolve_stack_dump
8.88
MB
-rwxr-xr-x
resolveip
8.81
MB
-rwxr-xr-x
restore_infected
1019
B
-rwxr-xr-x
rev
11.26
KB
-rwxr-xr-x
rlog
807
B
-rwxr-xr-x
rm
61.4
KB
-rwxr-xr-x
rmdir
44.46
KB
-rwxr-xr-x
rmid
8.9
KB
-rwxr-xr-x
rmiregistry
8.91
KB
-rwxr-xr-x
rnano
201.08
KB
-rwxr-xr-x
rpcgen
90.45
KB
-rwxr-xr-x
rpm
15.75
KB
-rwxr-xr-x
rpm2cpio
11.16
KB
-rwxr-xr-x
rpmbuild
25.57
KB
-rwxr-xr-x
rpmdb
11.73
KB
-rwxr-xr-x
rpmdev-bumpspec
9.64
KB
-rwxr-xr-x
rpmdev-checksig
4.74
KB
-rwxr-xr-x
rpmdev-cksum
1.43
KB
-rwxr-xr-x
rpmdev-diff
6.56
KB
-rwxr-xr-x
rpmdev-extract
7.83
KB
-rwxr-xr-x
rpmdev-md5
1.43
KB
-rwxr-xr-x
rpmdev-newinit
2.92
KB
-rwxr-xr-x
rpmdev-newspec
8.28
KB
-rwxr-xr-x
rpmdev-packager
2.99
KB
-rwxr-xr-x
rpmdev-rmdevelrpms
9.82
KB
-rwxr-xr-x
rpmdev-setuptree
2.31
KB
-rwxr-xr-x
rpmdev-sha1
1.43
KB
-rwxr-xr-x
rpmdev-sha224
1.43
KB
-rwxr-xr-x
rpmdev-sha256
1.43
KB
-rwxr-xr-x
rpmdev-sha384
1.43
KB
-rwxr-xr-x
rpmdev-sha512
1.43
KB
-rwxr-xr-x
rpmdev-sort
2.33
KB
-rwxr-xr-x
rpmdev-sum
1.43
KB
-rwxr-xr-x
rpmdev-vercmp
2.81
KB
-rwxr-xr-x
rpmdev-wipetree
1.48
KB
-rwxr-xr-x
rpmdumpheader
11.09
KB
-rwxr-xr-x
rpminfo
9.88
KB
-rwxr-xr-x
rpmkeys
11.73
KB
-rwxr-xr-x
rpmls
1.01
KB
-rwxr-xr-x
rpmquery
15.75
KB
-rwxr-xr-x
rpmsign
15.8
KB
-rwxr-xr-x
rpmspec
15.99
KB
-rwxr-xr-x
rpmverify
15.75
KB
-rwxr-xr-x
rsync
488.38
KB
-rwxr-xr-x
rsyslog-recover-qi.pl
5.96
KB
-rwxr-xr-x
rtf2rtf
23.58
KB
-rwxr-xr-x
run-parts
2.04
KB
-rwxr-xr-x
run-with-aspell
85
B
-rwxr-xr-x
runcon
32.47
KB
-rwxr-xr-x
rvi
906.4
KB
-rwxr-xr-x
rview
906.4
KB
-rwxr-xr-x
rvim
2.23
MB
-rwxr-xr-x
s2p
52.08
KB
-rwxr-xr-x
sadf
168.46
KB
-rwxr-xr-x
sandbox
17.52
KB
-rwxr-xr-x
sar
95.4
KB
-rwxr-xr-x
scl
19.5
KB
-rwxr-xr-x
scl_enabled
258
B
-rwxr-xr-x
scl_source
1.83
KB
-rwxr-xr-x
scp
89.25
KB
-rwxr-xr-x
script
19.61
KB
-rwxr-xr-x
scriptreplay
15.29
KB
-rwxr-xr-x
scsi-rescan
33.81
KB
-rwxr-xr-x
scsi_logging_level
7.72
KB
-rwxr-xr-x
scsi_mandat
3.55
KB
-rwxr-xr-x
scsi_readcap
1.3
KB
-rwxr-xr-x
scsi_ready
1.09
KB
-rwxr-xr-x
scsi_satl
3.76
KB
-rwxr-xr-x
scsi_start
1.25
KB
-rwxr-xr-x
scsi_stop
1.44
KB
-rwxr-xr-x
scsi_temperature
936
B
-rwxr-xr-x
sctp_darn
44.55
KB
-rwxr-xr-x
sctp_status
23.67
KB
-rwxr-xr-x
sctp_test
31.78
KB
-rwxr-xr-x
sdiff
48.41
KB
-rwxr-xr-x
secon
24.06
KB
-rwxr-xr-x
sed
74.29
KB
-rwxr-xr-x
sedismod
249.42
KB
-rwxr-xr-x
sedispol
176.32
KB
-rwxr-xr-x
semodule_package
15.3
KB
-rwxr-xr-x
seq
48.48
KB
-rwxr-xr-x
servertool
8.91
KB
-rwxr-xr-x
sessreg
11.24
KB
-rwxr-xr-x
setarch
15.27
KB
-rwxr-xr-x
setfacl
36.73
KB
-rwxr-xr-x
setfont
40.38
KB
-rwxr-xr-x
setkeycodes
11.16
KB
-rwxr-xr-x
setleds
11.16
KB
-rwxr-xr-x
setmetamode
11.21
KB
-rwxr-xr-x
setpriv
36.06
KB
-rwxr-xr-x
setsid
11.23
KB
-rwxr-xr-x
setterm
27.48
KB
-rwxr-xr-x
setup-nsssysinit
1.5
KB
-rwxr-xr-x
setup-nsssysinit.sh
1.5
KB
-rwxr-xr-x
setvtrgb
11.34
KB
-rwxr-xr-x
sexp-conv
23.63
KB
-rwxr-xr-x
sftp
142.01
KB
-rwxr-xr-x
sg
40.95
KB
-rwxr-xr-x
sg_compare_and_write
15.82
KB
-rwxr-xr-x
sg_copy_results
20.02
KB
-rwxr-xr-x
sg_dd
43.63
KB
-rwxr-xr-x
sg_decode_sense
15.49
KB
-rwxr-xr-x
sg_emc_trespass
11.09
KB
-rwxr-xr-x
sg_format
24.05
KB
-rwxr-xr-x
sg_get_config
28.22
KB
-rwxr-xr-x
sg_get_lba_status
15.5
KB
-rwxr-xr-x
sg_ident
15.46
KB
-rwxr-xr-x
sg_inq
83.68
KB
-rwxr-xr-x
sg_logs
92.48
KB
-rwxr-xr-x
sg_luns
19.65
KB
-rwxr-xr-x
sg_map
15.23
KB
-rwxr-xr-x
sg_map26
23.77
KB
-rwxr-xr-x
sg_modes
29.3
KB
-rwxr-xr-x
sg_opcodes
23.88
KB
-rwxr-xr-x
sg_persist
28.34
KB
-rwxr-xr-x
sg_prevent
11.29
KB
-rwxr-xr-x
sg_raw
19.78
KB
-rwxr-xr-x
sg_rbuf
19.66
KB
-rwxr-xr-x
sg_rdac
15.13
KB
-rwxr-xr-x
sg_read
23.33
KB
-rwxr-xr-x
sg_read_block_limits
11.31
KB
-rwxr-xr-x
sg_read_buffer
15.53
KB
-rwxr-xr-x
sg_read_long
15.55
KB
-rwxr-xr-x
sg_readcap
19.66
KB
-rwxr-xr-x
sg_reassign
15.54
KB
-rwxr-xr-x
sg_referrals
15.48
KB
-rwxr-xr-x
sg_requests
15.58
KB
-rwxr-xr-x
sg_reset
11.46
KB
-rwxr-xr-x
sg_rmsn
11.32
KB
-rwxr-xr-x
sg_rtpg
15.39
KB
-rwxr-xr-x
sg_safte
19.59
KB
-rwxr-xr-x
sg_sanitize
19.88
KB
-rwxr-xr-x
sg_sat_identify
15.55
KB
-rwxr-xr-x
sg_sat_phy_event
15.87
KB
-rwxr-xr-x
sg_sat_set_features
15.41
KB
-rwxr-xr-x
sg_scan
15.34
KB
-rwxr-xr-x
sg_senddiag
20.02
KB
-rwxr-xr-x
sg_ses
67.55
KB
-rwxr-xr-x
sg_start
19.7
KB
-rwxr-xr-x
sg_stpg
19.61
KB
-rwxr-xr-x
sg_sync
15.52
KB
-rwxr-xr-x
sg_test_rwbuf
15.6
KB
-rwxr-xr-x
sg_turs
15.48
KB
-rwxr-xr-x
sg_unmap
15.5
KB
-rwxr-xr-x
sg_verify
15.7
KB
-rwxr-xr-x
sg_vpd
77.67
KB
-rwxr-xr-x
sg_wr_mode
19.55
KB
-rwxr-xr-x
sg_write_buffer
15.66
KB
-rwxr-xr-x
sg_write_long
15.55
KB
-rwxr-xr-x
sg_write_same
19.9
KB
-rwxr-xr-x
sg_xcopy
35.61
KB
-rwxr-xr-x
sginfo
65.8
KB
-rwxr-xr-x
sgm_dd
31.52
KB
-rwxr-xr-x
sgml2html
1.6
KB
-rwxr-xr-x
sgml2info
1.6
KB
-rwxr-xr-x
sgml2latex
1.6
KB
-rwxr-xr-x
sgml2lyx
1.6
KB
-rwxr-xr-x
sgml2rtf
1.6
KB
-rwxr-xr-x
sgml2txt
1.6
KB
-rwxr-xr-x
sgml2xml
77.5
KB
-rwxr-xr-x
sgmlcheck
1.6
KB
-rwxr-xr-x
sgmlnorm
44.69
KB
-rwxr-xr-x
sgmlpre
15.32
KB
-rwxr-xr-x
sgmlsasp
23.65
KB
-rwxr-xr-x
sgmlwhich
265
B
-rwxr-xr-x
sgp_dd
35.83
KB
-rwxr-xr-x
sh
941.93
KB
-rwxr-xr-x
sha1sum
36.57
KB
-rwxr-xr-x
sha224sum
40.63
KB
-rwxr-xr-x
sha256sum
40.63
KB
-rwxr-xr-x
sha384sum
40.65
KB
-rwxr-xr-x
sha512sum
40.65
KB
-rwxr-xr-x
shasum
8.4
KB
-rwxr-xr-x
show-changed-rco
10.13
KB
-rwxr-xr-x
show-installed
16.18
KB
-rwxr-xr-x
showconsolefont
15.47
KB
-rwxr-xr-x
showkey
15.23
KB
-rwxr-xr-x
showrgb
7.08
KB
-rwxr-xr-x
shred
52.94
KB
-rwxr-xr-x
shuf
49.13
KB
-rwxr-xr-x
signver
102.6
KB
-rwxr-xr-x
sim_client
14.97
KB
-rwxr-xr-x
simpdftex
20.9
KB
-rwxr-xr-x
size
32.35
KB
-rwxr-xr-x
skill
23.62
KB
-rwxr-xr-x
slabinfo
34.96
KB
-rwxr-xr-x
slabtop
19.52
KB
-rwxr-xr-x
sleep
32.35
KB
-rwxr-xr-x
slogin
760.45
KB
-rwxr-xr-x
smtpd.py
18.1
KB
-rwxr-xr-x
snice
23.62
KB
-rwxr-xr-x
socat
380.43
KB
-rwxr-xr-x
soelim
32.59
KB
-rwxr-xr-x
sort
114.94
KB
-rwxr-xr-x
sotruss
4.24
KB
-rwxr-xr-x
spam
65.63
KB
-rwxr-xr-x
spectool
10
KB
-rwxr-xr-x
spell
122
B
-rwxr-xr-x
spent
23.6
KB
-rwxr-xr-x
splain
18.03
KB
-rwxr-xr-x
split
69.47
KB
-rwxr-xr-x
splitdiff
3.11
KB
-rwxr-xr-x
sprof
22.1
KB
-rwxr-xr-x
sqlite3
54.95
KB
-rwxr-xr-x
ssh
760.45
KB
-rwxr-xr-x
ssh-add
352.46
KB
-rwxr-xr-x
ssh-agent
373.26
KB
---x--s--x
ssh-copy-id
10.22
KB
-rwxr-xr-x
ssh-keygen
409.38
KB
-rwxr-xr-x
ssh-keyscan
434.7
KB
-rwxr-xr-x
ssltap
118.41
KB
-rwxr-xr-x
stap
3.39
MB
-rwxr-xr-x
stap-merge
10.96
KB
-rwxr-xr-x
stap-prep
4.08
KB
-rwxr-xr-x
stap-report
4.74
KB
-rwxr-xr-x
stapbpf
64.53
KB
-rwxr-xr-x
stapdyn
195.27
KB
-rwxr-xr-x
staprun
207.11
KB
---s--x---
stapsh
23.18
KB
-rwxr-xr-x
stat
77.19
KB
-rwxr-xr-x
stdbuf
64.88
KB
-rwxr-xr-x
strace
1009.22
KB
-rwxr-xr-x
strace-log-merge
1.28
KB
-rwxr-xr-x
stream
7.05
KB
-rwxr-xr-x
strings
36.53
KB
-rwxr-xr-x
strip
227.32
KB
-rwxr-xr-x
stty
68.61
KB
-rwxr-xr-x
su
31.38
KB
-rwsr-x---
sudo
147.88
KB
---s--x--x
sudoedit
147.88
KB
---s--x--x
sudoreplay
56.11
KB
---x--x--x
sum
36.55
KB
-rwxr-xr-x
svn
232.45
KB
-rwxr-xr-x
svnadmin
67.4
KB
-rwxr-xr-x
svndumpfilter
35.32
KB
-rwxr-xr-x
svnlook
67.45
KB
-rwxr-xr-x
svnrdump
51.54
KB
-rwxr-xr-x
svnserve
83.95
KB
-rwxr-xr-x
svnsync
51.59
KB
-rwxr-xr-x
svnversion
15.15
KB
-rwxr-xr-x
swig
1.35
MB
-rwxr-xr-x
sxpm
19.83
KB
-rwxr-xr-x
sync
28.33
KB
-rwxr-xr-x
systemctl
704.8
KB
-rwxr-xr-x
systemd-analyze
1.49
MB
-rwxr-xr-x
systemd-ask-password
60.38
KB
-rwxr-xr-x
systemd-cat
39.98
KB
-rwxr-xr-x
systemd-cgls
326.31
KB
-rwxr-xr-x
systemd-cgtop
85.09
KB
-rwxr-xr-x
systemd-coredumpctl
154.52
KB
-rwxr-xr-x
systemd-delta
76.84
KB
-rwxr-xr-x
systemd-detect-virt
39.97
KB
-rwxr-xr-x
systemd-escape
48.2
KB
-rwxr-xr-x
systemd-firstboot
101.52
KB
-rwxr-xr-x
systemd-hwdb
85.31
KB
-rwxr-xr-x
systemd-inhibit
309.83
KB
-rwxr-xr-x
systemd-loginctl
489.6
KB
-rwxr-xr-x
systemd-machine-id-setup
52.23
KB
-rwxr-xr-x
systemd-notify
48.13
KB
-rwxr-xr-x
systemd-nspawn
545.88
KB
-rwxr-xr-x
systemd-path
52.16
KB
-rwxr-xr-x
systemd-run
387.05
KB
-rwxr-xr-x
systemd-stdio-bridge
305.77
KB
-rwxr-xr-x
systemd-sysv-convert
3.89
KB
-rwxr-xr-x
systemd-tmpfiles
146.13
KB
-rwxr-xr-x
systemd-tty-ask-password-agent
84.75
KB
-rwxr-xr-x
tabs
15.3
KB
-rwxr-xr-x
tac
32.48
KB
-rwxr-xr-x
tail
65.25
KB
-rwxr-xr-x
tailf
23.88
KB
-rwxr-xr-x
tapestat
52.56
KB
-rwxr-xr-x
tar
338.02
KB
-rwxr-xr-x
taskset
32.22
KB
-rwxr-xr-x
tbl
115.96
KB
-rwxr-xr-x
tclsh
7
KB
-rwxr-xr-x
tclsh8.5
7
KB
-rwxr-xr-x
tcptraceroute
1.44
KB
-rwxr-xr-x
teamd
155.09
KB
-rwxr-xr-x
teamdctl
28.98
KB
-rwxr-xr-x
teamnl
19.09
KB
-rwxr-xr-x
tee
32.38
KB
-rwxr-xr-x
telnet
99.41
KB
-rwxr-xr-x
test
36.46
KB
-rwxr-xr-x
testgdbm
29.77
KB
-rwxr-xr-x
tex
313.38
KB
-rwxr-xr-x
texconfig
42.64
KB
-rwxr-xr-x
texconfig-dialog
12.38
KB
-rwxr-xr-x
texconfig-sys
894
B
-rwxr-xr-x
texhash
7.39
KB
-rwxr-xr-x
texi2any
50.83
KB
-rwxr-xr-x
texlinks
10.05
KB
-rwxr-xr-x
texlua
5.8
MB
-rwxr-xr-x
texluac
5.8
MB
-rwxr-xr-x
tfmtodit
32.77
KB
-rwxr-xr-x
thumbpdf
41.4
KB
-rwxr-xr-x
tic
64.26
KB
-rwxr-xr-x
timedatectl
330.2
KB
-rwxr-xr-x
timeout
53.31
KB
-rwxr-xr-x
tload
15.38
KB
-rwxr-xr-x
tmon
31.11
KB
-rwxr-xr-x
tmpwatch
27.87
KB
-rwxr-xr-t
tnameserv
8.95
KB
-rwxr-xr-x
toe
15.42
KB
-rwxr-xr-x
top
104.38
KB
-rwxr-xr-x
touch
61.02
KB
-rwxr-xr-x
tput
15.43
KB
-rwxr-xr-x
tr
44.61
KB
-rwxr-xr-x
tracepath
15.05
KB
-rwxr-xr-x
tracepath6
15.05
KB
-rwxr-xr-x
traceroute
61.86
KB
-rwxr-xr-x
traceroute6
61.86
KB
-rwxr-xr-x
troff
512.96
KB
-rwxr-xr-x
true
28.26
KB
-rwxr-xr-x
truncate
52.68
KB
-rwxr-xr-x
trust
179.08
KB
-rwxr-xr-x
tset
19.59
KB
-rwxr-xr-x
tsort
36.47
KB
-rwxr-xr-x
ttmkfdir
99.04
KB
-rwxr-xr-x
tty
28.29
KB
-rwxr-xr-x
turbostat
113.15
KB
-rwxr-xr-x
tzselect
7.17
KB
-rwxr-xr-x
uapi
3.04
MB
-rwxr-xr-x
ucs2any
19.47
KB
-rwxr-xr-x
udevadm
414.27
KB
-rwxr-xr-x
ul
19.47
KB
-rwxr-xr-x
umask
29
B
-rwxr-xr-x
umount
31.23
KB
-rwxr-xr-x
unalias
31
B
-rwxr-xr-x
uname
32.3
KB
-rwxr-xr-x
unexpand
32.45
KB
-rwxr-xr-x
unicode_start
2.5
KB
-rwxr-xr-x
unicode_stop
363
B
-rwxr-xr-x
uniq
44.71
KB
-rwxr-xr-x
unix-lpr.sh
4.07
KB
-rwxr-xr-x
unlink
28.3
KB
-rwxr-xr-x
unlz4
105.87
KB
-rwxr-xr-x
unpack200
119.29
KB
-rwxr-xr-x
unshare
15.45
KB
-rwxr-xr-x
unwrapdiff
5.8
KB
-rwxr-xr-x
unxz
73.52
KB
-rwxr-xr-x
unzip
185.16
KB
-rwxr-xr-x
unzipsfx
88.66
KB
-rwxr-xr-x
update-ca-trust
1.03
KB
-rwxr-xr-x
update-gtk-immodules
313
B
-rwxr-xr-x
update-mime-database
52.82
KB
-rwxr-xr-x
updmap
76.79
KB
-rwxr-xr-x
updmap-sys
829
B
-rwxr-xr-x
uptime
11.22
KB
-rwxr-xr-x
urlgrabber
12.17
KB
-rwxr-xr-x
users
32.42
KB
-rwxr-xr-x
usleep
10.95
KB
-rwxr-xr-x
usx2yloader
15.41
KB
-rwxr-xr-x
utmpdump
15.45
KB
-rwxr-xr-x
uuclient
14.97
KB
-rwxr-xr-x
uuidgen
11.21
KB
-rwxr-xr-x
vdir
114.85
KB
-rwxr-xr-x
verifytree
10.79
KB
-rwxr-xr-x
vi
906.4
KB
-rwxr-xr-x
view
906.4
KB
-rwxr-xr-x
vim
2.23
MB
-rwxr-xr-x
vimdiff
2.23
MB
-rwxr-xr-x
vimtutor
2.04
KB
-rwxr-xr-x
vlock
15.73
KB
-rwxr-xr-x
vmstat
31.48
KB
-rwxr-xr-x
vxloader
15.38
KB
-rwxr-xr-x
w
19.45
KB
-rwxr-xr-x
w3m
1.37
MB
-rwxr-xr-x
w3mman
1.37
KB
-rwxr-xr-x
wait
28
B
-rwxr-xr-x
wall
14.98
KB
-r-xr-sr-x
watch
24.14
KB
-rwxr-xr-x
watchgnupg
15.35
KB
-rwxr-xr-x
wc
40.67
KB
-rwxr-xr-x
wdctl
40.7
KB
-rwxr-xr-x
webpng
11.15
KB
-rwxr-xr-x
wget
408.97
KB
-rwxr-xr-x
whatis
45.49
KB
-rwxr-xr-x
whereis
20.2
KB
-rwxr-xr-x
which
23.77
KB
-rwxr-xr-x
whiptail
27.84
KB
-rwxr-xr-x
who
48.7
KB
-rwxr-xr-x
whoami
28.3
KB
-rwxr-xr-x
wish
7.04
KB
-rwxr-xr-x
wish8.5
7.04
KB
-rwxr-xr-x
withsctp
229
B
-rwxr-xr-x
wmf2eps
15.29
KB
-rwxr-xr-x
wmf2fig
15.27
KB
-rwxr-xr-x
wmf2gd
15.26
KB
-rwxr-xr-x
wmf2svg
15.3
KB
-rwxr-xr-x
wmf2x
15.25
KB
-rwxr-xr-x
word-list-compress
11.03
KB
-rwxr-xr-x
write
19.09
KB
-rwxr-xr-x
x86_64
15.27
KB
-rwxr-xr-x
x86_64-redhat-linux-c++
754.59
KB
-rwxr-x---
x86_64-redhat-linux-g++
754.59
KB
-rwxr-x---
x86_64-redhat-linux-gcc
750.58
KB
-rwxr-x---
x86_energy_perf_policy
10.23
KB
-rwxr-xr-x
xargs
60.91
KB
-rwxr-xr-x
xdvi
1.82
KB
-rwxr-xr-x
xdvi-xaw
627.39
KB
-rwxr-xr-x
xgamma
11.15
KB
-rwxr-xr-x
xgettext
265.35
KB
-rwxr-xr-x
xhost
15.38
KB
-rwxr-xr-x
xinput
52.81
KB
-rwxr-xr-x
xkill
15.27
KB
-rwxr-xr-x
xml2-config
1.68
KB
-rwxr-xr-x
xmlcatalog
15.3
KB
-rwxr-xr-x
xmllint
61.94
KB
-rwxr-xr-x
xmlwf
24
KB
-rwxr-xr-x
xmodmap
32.28
KB
-rwxr-xr-x
xmvn-builddep
1.04
KB
-rwxr-xr-x
xorg-x11-fonts-update-dirs
1.29
KB
-rwxr--r--
xrandr
60.06
KB
-rwxr-xr-x
xrdb
27.78
KB
-rwxr-xr-x
xrefresh
11.16
KB
-rwxr-xr-x
xset
31.72
KB
-rwxr-xr-x
xsetmode
11.1
KB
-rwxr-xr-x
xsetpointer
11.13
KB
-rwxr-xr-x
xsetroot
19.38
KB
-rwxr-xr-x
xslt-config
2.36
KB
-rwxr-xr-x
xsltproc
23.5
KB
-rwxr-xr-x
xstdcmap
15.77
KB
-rwxr-xr-x
xsubpp
4.45
KB
-rwxr-xr-x
xxd
14.42
KB
-rwxr-xr-x
xz
73.52
KB
-rwxr-xr-x
xzcat
73.52
KB
-rwxr-xr-x
xzcmp
6.48
KB
-rwxr-xr-x
xzdec
11.21
KB
-rwxr-xr-x
xzdiff
6.48
KB
-rwxr-xr-x
xzegrep
5.76
KB
-rwxr-xr-x
xzfgrep
5.76
KB
-rwxr-xr-x
xzgrep
5.76
KB
-rwxr-xr-x
xzless
1.76
KB
-rwxr-xr-x
xzmore
2.11
KB
-rwxr-xr-x
yacc
84.48
KB
-rwxr-xr-x
yes
28.3
KB
-rwxr-xr-x
ypdomainname
15.41
KB
-rwxr-xr-x
yum
801
B
-rwxr-xr-x
yum-builddep
9.95
KB
-rwxr-xr-x
yum-config-manager
9.35
KB
-rwxr-xr-x
yum-debug-dump
8.34
KB
-rwxr-xr-x
yum-debug-restore
7.72
KB
-rwxr-xr-x
yum-groups-manager
10.77
KB
-rwxr-xr-x
yumdownloader
10.85
KB
-rwxr-xr-x
zcat
1.9
KB
-rwxr-xr-x
zcmp
1.72
KB
-rwxr-xr-x
zdiff
5.63
KB
-rwxr-xr-x
zegrep
123
B
-rwxr-xr-x
zfgrep
123
B
-rwxr-xr-x
zforce
2.09
KB
-rwxr-xr-x
zgrep
5.98
KB
-rwxr-xr-x
zip
210.78
KB
-rwxr-xr-x
zipcloak
98.1
KB
-rwxr-xr-x
zipcmp
11.71
KB
-rwxr-xr-x
zipdetails
47.32
KB
-rwxr-xr-x
zipgrep
2.88
KB
-rwxr-xr-x
zipinfo
185.16
KB
-rwxr-xr-x
zipmerge
11.76
KB
-rwxr-xr-x
zipnote
93.73
KB
-rwxr-xr-x
zipsplit
97.75
KB
-rwxr-xr-x
ziptorrent
11.6
KB
-rwxr-xr-x
zless
1.99
KB
-rwxr-xr-x
zlib_decompress
164.46
KB
-rwxr-xr-x
zmore
2.79
KB
-rwxr-xr-x
znew
5.22
KB
-rwxr-xr-x
zone2json
21.41
MB
-rwxr-xr-x
zone2sql
21.9
MB
-rwxr-xr-x
zsoelim
32.59
KB
-rwxr-xr-x
Delete
Unzip
Zip
${this.title}
Close
Code Editor : thumbpdf
eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' && eval 'exec perl -S $0 $argv:q' if 0; use strict; $^W=1; # turn warning on # # thumbpdf.pl # # Copyright (C) 1999-2012 Heiko Oberdiek. # # This work may be distributed and/or modified under the # conditions of the LaTeX Project Public License, either version 1.3 # of this license or (at your option) any later version. # The latest version of this license is in # http://www.latex-project.org/lppl.txt # and version 1.3 or later is part of all distributions of LaTeX # version 2003/12/01 or later. # # This work has the LPPL maintenance status "maintained". # # This Current Maintainer of this work is Heiko Oberdiek. # # See file "readme.txt" for a list of files that belong to this project. # # This file "thumbpdf.pl" may be renamed to "thumbpdf" # for installation purposes. # my $file = "thumbpdf.pl"; my $program = uc($&) if $file =~ /^\w+/; my $prj = 'thumbpdf'; my $version = "3.15"; my $date = "2012/04/18"; my $author = "Heiko Oberdiek"; my $copyright = "Copyright (c) 1999-2012 by $author."; # # Reqirements: Perl5, Ghostscript # History: # 1999/02/14 v1.0: First release. # 1999/02/23 v1.1: # * Looking for the media box to calculate the resolution # for Ghostscript # * new option --resolution # 1999/03/01 v1.2: # * optimization: indirect objects for length values removed. # * "first line" from epstopdf # 1999/03/12 v1.3: # * Copyright: LPPL # 1999/05/05 v1.4: # * Detecting of cygwin32 environment. # * Minor corrections of output of error messages. # * Sharing RGB objects. # 1999/06/13 v1.5: # * gs detection extended. # 1999/07/27 v1.6 # 1999/08/08 v1.7: # * \immediate before \pdfobj (pdfTeX 0.14a) # 1999/09/09 v1.8 # 1999/09/06 v1.9: # * Check for direct /Length values (for jpg images) # 2000/01/11 v1.10: # * Bug fix: /Length (direct) as last entry. # * Direct /Length in RGB objects supported. # 2000/01/19 v1.11: # * "for (my $j=0;...;...)" replaced by "my $j; for($j=0;...;...)", # because there exist perl versions that have problems with. # 2000/02/11 v1.12: # * Option `clean' added. # * The name of thumbnail data file: jobname.tnd, # if thumbpdf is called: thumbpdf jobname[.pdf] [options] # 2000/02/22 v2.0: # * pdfmark support for dvips/ps2pdf route added. # * <jobname>.tpt replaces thumbdta.tex (for pdfTeX) # <jobname>.tpm (for pdfmark) # <jobname>.top replaces thumbopt.tex # * Options `useps', `modes' added, # `makedef' renamed to `makedata'. # 2000/02/28 v2.1: # * Environment variable `THUMBPDF' supported. # 2000/03/07 v2.2: # * Support for Distiller 3 and 4, the streams are uncompressed. # * Call of gs is changed in order to show the currently processed # page number of the pdf file. # * Option --printgscmd creates the command line file `thumbpdf.gs' # for the Ghostscript call. # 2000/03/22 v2.3: # * Bug fix: --useps now works. # 2000/04/10 v2.4: # * Fix for ActiveState Perl 5.6.0: uc line changed, fork removed. # (Thanks to Andreas Buehmann <andreas.buehmann@gmx.de>.) # * Version test for thumbpdf.tex added for users that # mix versions, sigh. # 2000/07/29 v2.5: # * `save' trick in call of ghostscript. # * Undocumented option --gspages added. # 2000/09/27 v2.6 # 2000/10/27 v2.7: # * -dFIXEDMEDIA=0 added in gs call # 2001/01/12 v2.8: # * Bug fix in dvips mode and active option `level2': # pack parameter corrected for little-endian machines. # * /Rotate in pdf pages: # ghostscript versions around 6.01 have added a hack # in /pdfshowpage_setpage, that ignores the /Rotate entry. # A patch is added to disable the hack. # * Ghostscript uses the MediaBox for calculating the # page size. For version 6.50 a patch is added to use # the /CropBox instead. # 2001/03/29 v2.9: # * Option --password added. # 2001/04/02 v2.10 # 2001/04/26 v2.11 # * Option --antialias added (suggestion of Juergen Bausa). # 2002/01/11 v3.0 # * Syntax of option --antialias changed (see readme.txt). # * Support for VTeX's PS mode added. # * Greek mode added (see readme.txt). # * Signal handlers added for cleanup. # 2002/05/26 v3.1 # * SIG_HUP unkown in Windows. # * Bug fix: The signal function for __DIE__ "cleanup" aborts # before the error message of "die" is printed. # Replaced by "clean" that does not contain "exit 1". # * Small bug fix in mode detection and mode "vtex" # removed from list. "vtexpdfmark" was detected, # "vtex" did not work and perhaps it will be used # later for VTeX in PDF mode. # 2002/05/26 v3.2 # * Fix: "MacOS/X: darwin" is now not interpreted as # Windows. # 2003/03/19 v3.3 # * Fix for gs 8.00 in mode dvips: # THB_DistillerPatch also applied to ghostscript >= 8.00. # 2003/06/06 v3.4 # * Bug fix, two forgotten "pop"s added for Distiller case. # 2004/10/24 v3.5 # * Revert Cygwin detection: is unix (request by Jan Nieuwenhuizen). # * LPPL 1.3. # 2004/11/19 v3.6 # * Bug fix for dvips mode and gs < 8.00 (/stackunderflow in pop). # 2004/11/19 v3.7: # * For easier debugging, the special thumbpdf objects of # thumbpdf.pdf are now valid PDF objects (dictionaries). # * Remove of extra '\n' before "endstream" that is added # by pdfTeX 1.20a. # 2005/07/06 v3.8: # * Fix because of pdfTeX 1.30. # 2007/11/07 v3.9: # * Deprecation warning of perl 5.8.8 fixed. # 2008/04/16 v3.10 # 2010/07/07 v3.11 # * \input is used with file name extension for "thumbpdf.tex". # 2011/08/10 v3.13 # * Use gswin64c in Windows with 64 bits. # 2012/04/09 v3.14 # 2012/04/18 v3.15 # * Option --version added. # ### program identification my $title = "$program $version, $date - $copyright\n"; ### error strings my $Error = "!!! Error:"; # error prefix ### string constants for Ghostscript run # get Ghostscript command name my $GS = "gs"; $GS = "gs386" if $^O =~ /dos/i; $GS = "gsos2" if $^O =~ /os2/i; if ($^O =~ /mswin32c/i) { # http://perldoc.perl.org/perlport.html#DOS-and-Derivatives use Config; $GS = "gswin32c"; $GS = "gswin64c" if $Config{'archname'} =~ /mswin32-x64/i; } # Windows detection (no SIGHUP) my $Win = 0; $Win = 1 if $^O =~ /mswin32/i; my $gspages = 1; $gspages = 0 if $^O =~ /dos/i; ### variables my $jobname = ""; my $jobfile = ""; my $pdftexfile = ""; my $pdfmarkfile = ""; my $psext = ".ps"; my $pdfext = ".pdf"; my $pdftexext = ".tpt"; my $pdfmarkext = ".tpm"; my $thumbprefix = "thb"; my $envvar = "THUMBPDF"; my $pdffile = "thumbpdf.pdf"; my $logfile = "thumbpdf.log"; my $texfile = "thumbpdf.tex"; my $package = "thumbpdf.sty"; my $readme = "readme.txt"; my $gscnffile = "thumbpdf.gs"; my $gssection = "section I. `Known Problems'"; my @cleanlist = (); my $resolution = 9; my $mode_pdftex = 0; my $mode_pdfmark = 0; my $antialias_default = "4"; my @arglist = @ARGV; my $gskidrunning = 0; ### option variables my @bool = ("false", "true"); $::opt_device = "png16m"; $::opt_compress = "10"; $::opt_resolution = ""; $::opt_modes = "pdftex"; $::opt_gscmd = ""; $::opt_level2 = 0; $::opt_help = 0; $::opt_version = 0; $::opt_quiet = 0; $::opt_debug = 0; $::opt_verbose = 0; $::opt_useps = 0; $::opt_printgscmd = 0; $::opt_gspages = $gspages; # undocumented $::opt_makepng = 1; $::opt_makepdf = 1; $::opt_makedata = 1; $::opt_clean = 1; $::opt_password = ""; $::opt_antialias = $antialias_default; $::opt_greek = 0; my $usage = <<"END_OF_USAGE"; ${title}Syntax: \L$program\E [options] <jobname[.pdf|.ps]> Function: Support of thumbnails for pdfTeX or dvips/ps2pdf (pdfmark). Thumbnails are generated by Ghostscript and the result is written to data files for package `$package': `<jobname>$pdftexext' (pdfTeX), `<jobname>$pdfmarkext' (pdfmark) Options: (defaults:) --help print usage --version print version number --(no)quiet suppress messages ($bool[$::opt_quiet]) --(no)verbose verbose printing ($bool[$::opt_verbose]) --(no)debug debug informations ($bool[$::opt_debug]) --(no)makepng make thumbnails `$thumbprefix*.png' ($bool[$::opt_makepng]) --(no)makepdf make `$pdffile' with thumbnails as images ($bool[$::opt_makepdf]) --(no)makedata make data file(s) for package `$package' ($bool[$::opt_makedata]) --(no)clean clear temp files ($bool[$::opt_clean]) --(no)useps `makepng' uses `.ps' instead of `.pdf' file ($bool[$::opt_useps]) --(no)level2 `<jobname>.tpm' with ps level 2 features ($bool[$::opt_level2]) --(no)greek text in greek style (experimental) ($bool[$::opt_greek]) --gscmd <name> call of ghostscript ($GS) --antialias <num1>[num2] anti-aliasing, 0 = disable, 4 = max ($::opt_antialias) --device|png [png]<dev> Ghostscript device for thumbnails, dev = mono, gray, 16, 256, 16m ($::opt_device) --resolution <res> thumbnail resolution for makepng ($resolution) --compress <n> thumbnail compress level, n = 0..10 ($::opt_compress) --modes <mode>[,mode] mode=pdftex|pdfmark|dvips|ps2pdf| vtexpdfmark|all ($::opt_modes) --password <password> for an encrypted pdf file ($::opt_password) END_OF_USAGE ### environment variable THUMBPDF if ($ENV{$envvar}) { unshift(@ARGV, split(/\s+/, $ENV{$envvar})); } ### process options my @OrgArgv = @ARGV; use Getopt::Long; GetOptions( "help!", "version!", "quiet!", "debug!", "verbose!", "device|png=s", "gscmd=s", "level2!", "compress=i", "resolution=f", "modes=s", "useps!", "printgscmd!", "gspages!", "makepng!", "makepdf!", "makedata!", "clean!", "password=s", "antialias=s", "greek!" ) or die $usage; !$::opt_help or die $usage; if ($::opt_version) { print "$prj $date v$version\n"; exit(0); } @ARGV < 2 or die "$usage$Error Too many files!\n"; @ARGV == 1 or die "$usage$Error Missing jobname!\n"; $::opt_device = "png$::opt_device" unless $::opt_device =~ /^png/; $::opt_quiet = 0 if $::opt_verbose; $::opt_clean = 0 if $::opt_debug or !$::opt_makepdf or !$::opt_makedata; $::opt_compress = 0 if $::opt_compress < 0; $::opt_compress = 10 if $::opt_compress > 10; my $J = "^^J"; $J = "" if $::opt_compress == 10; $::opt_antialias = $antialias_default if $::opt_antialias eq ""; $::opt_antialias =~ /^[0124][0124]?$/ or die "$usage$Error Wrong value for option --antialias!\n"; $::opt_antialias .= $::opt_antialias if length($::opt_antialias) < 2; my $AntiAliasText = substr($::opt_antialias, 0, 1); my $AntiAliasGraphics = substr($::opt_antialias, 1, 1); $AntiAliasText = "1" if $AntiAliasText eq "0"; $AntiAliasGraphics = "1" if $AntiAliasGraphics eq "0"; $GS = $::opt_gscmd if $::opt_gscmd; $gspages = $::opt_gspages; ### get modes $::opt_modes = "\L$::opt_modes\E"; $::opt_modes =~ s/dvips/pdfmark/g; $::opt_modes =~ s/ps2pdf/pdfmark/g; $::opt_modes =~ s/vtexpdfmark/pdfmark/g; $::opt_modes =~ s/vtexpdfmark/pdfmark/g; if ($::opt_modes =~ /pdftex/) { $mode_pdftex = 1; $::opt_modes =~ s/pdftex//g; } if ($::opt_modes =~ /pdfmark/) { $mode_pdfmark = 1; $::opt_modes =~ s/pdfmark//g; } if ($::opt_modes =~ /all/) { $mode_pdftex = 1; $mode_pdfmark = 1; $::opt_modes =~ s/all//g; } $::opt_modes =~ s/\s+//g; $::opt_modes =~ s/,+/,/g; $::opt_modes =~ s/^,//; $::opt_modes =~ s/,$//; if ($::opt_modes ne "") { die "$usage$Error Unknown mode(s): `$::opt_modes'\n"; } if ($::opt_makedata) { $mode_pdftex or $mode_pdfmark or die "$usage$Error Missing mode!\n"; } ### get jobname $jobname = $ARGV[0]; if ($::opt_useps) { $jobname =~ s/\.ps$//i; $jobname =~ s/\\/\//g; $jobfile = $jobname . $psext; } else { $jobname =~ s/\.pdf$//i; $jobname =~ s/\\/\//g; $jobfile = $jobname . $pdfext; } $pdftexfile = $jobname . $pdftexext; $pdfmarkfile = $jobname . $pdfmarkext; print $title unless $::opt_quiet; print "* jobname: `$jobname'\n" if $::opt_verbose; if ($::opt_debug) { print <<"END_DEB"; * OSNAME: $^O * PERL_VERSION: $] * ARGV: @OrgArgv END_DEB } ### set signals $SIG{__DIE__} = \&clean; setsignals(\&cleanup); my $MaxThumb = 0; ### ### make thumbnails ### if ($::opt_makepng) { print "*** make png files / run Ghostscript ***\n" unless $::opt_quiet or $::opt_printgscmd; if ($::opt_useps) { print "* ps file: $jobfile\n" if $::opt_verbose; } else { print "* pdf file: $jobfile\n" if $::opt_verbose; } print "* Ghostscript command: `$GS'\n" . "* Ghostscript png device: `$::opt_device'\n" if $::opt_verbose; if ($::opt_resolution) { $resolution = $::opt_resolution } else { # looking for MediaBox my $max_x = 0; my $max_y = 0; { my $MB = $jobfile; open(MB, $MB) or die "$Error Cannot open `$MB'!\n"; binmode(MB); my $xy_patt = '[\-\.\d]'; while (<MB>) { if (/\/MediaBox\s*\[\s*($xy_patt+)\s+($xy_patt+)\s+($xy_patt+)\s+($xy_patt+)\s*\]/) { my $x = $3 - $1; my $y = $4 - $2; $max_x = $x if $x > $max_x; $max_y = $y if $y > $max_y; } } close(MB); } if ($max_x <= 0 || $max_y <= 0) { print "!!! Warning: MediaBox not found, " . "using default resolution: $resolution DPI\n"; } else { print "* Max. Size of MediaBox: $max_x x $max_y\n" if $::opt_verbose; my $rx = 106 * 72 / $max_x; my $ry = 106 * 72 / $max_y; $resolution = $rx; $resolution = $ry if $ry < $rx; print "* Resolution: $resolution DPI\n" if $::opt_verbose; } } # Ghostscript's pdfshowpage_setpage is patched for solving # some problems: # * gs6.0* includes a hack that ignores the /Rotate entry # in the PDF page, if OutputFile is set. # gs6.50 does not need a fix and it is not applied, # because pdfshowpage_setpage does not contain /OutputFile. # * If /CropBox is set, then it should be used instead # of the /MediaBox entry. Because the CropBox area should # be part of the MediaBox, the MediaBox is overwritten # with the CropBox values for generating the thumbnails. # The fixes are only applied for versions >= 6.0, because # gs5.50 gets a /PageSize problem with this fix. # my $SetPageHack = <<'SET_PAGE_HACK'; currentglobal true setglobal false /product where { pop product (Ghostscript) search { pop pop pop revision 600 ge { pop true } if }{pop} ifelse } if { /pdfdict where { pop pdfdict begin /pdfshowpage_setpage [ pdfdict /pdfshowpage_setpage get { dup type /nametype eq { dup /OutputFile eq { pop /AntiRotationHack }{ dup /MediaBox eq revision 650 ge and { /THB.CropHack { 1 index /CropBox pget { 2 index exch /MediaBox exch put } if } def /THB.CropHack cvx } if } ifelse } if } forall ] cvx def end } if } if setglobal SET_PAGE_HACK my $Greek = ""; $Greek = <<'END_GREEK' if $::opt_greek; currentglobal true setglobal userdict begin % * Patch for `show' /THB_ORG_show {show} bind def /THB_greekstring /.charboxpath where { pop { currentpoint newpath moveto true .charboxpath closepath fill } bind def }{ { { 1 string dup 0 4 -1 roll put dup stringwidth pop exch true charpath flattenpath pathbbox 2 index sub exch 3 index sub exch rectfill 0 rmoveto } forall } bind def } ifelse /show { currentfont /FontType get 1 eq { dup gsave % assuming white background [ currentrgbcolor ] { 1 add 2 div } forall setrgbcolor THB_greekstring grestore stringwidth pop 0 rmoveto }{ THB_ORG_show } ifelse } bind def % * Patch for the PDF case userdict /GS_PDF_ProcSet known { % GS_PDF_ProcSet is readonly, so it will be copied first GS_PDF_ProcSet length 10 add dict dup GS_PDF_ProcSet { put dup } forall /GS_PDF_ProcSet exch def dup begin % `setshowstate' contains the use of `show', so it has to % be overwritten, because it was defined with `bind'. % The definition is taken from `pdf_ops.ps'. revision 710 lt { % 5.50, 6.51, 7.00, 7.02 /setshowstate { WordSpacing 0 eq TextSpacing 0 eq and { TextRenderingMode 0 eq { { setfillstate show } } { { false charpath textrenderingprocs TextRenderingMode get exec } } ifelse } { TextRenderingMode 0 eq { WordSpacing 0 eq { { setfillstate TextSpacing exch 0 exch ashow } } { TextSpacing 0 eq { { setfillstate WordSpacing exch 0 exch 32 exch widthshow } } { { setfillstate WordSpacing exch TextSpacing exch 0 32 4 2 roll 0 exch awidthshow } } ifelse } ifelse } { { WordSpacing TextSpacing % Implement the combination of t3 and false charpath. % Note that we must use cshow for this, because we % can't parse multi-byte strings any other way. % Stack: string xword xchar { pop pop (x) dup 0 3 index put false charpath % Stack: xword xchar ccode 3 copy 32 eq { add } { exch pop } ifelse 0 rmoveto pop } 4 -1 roll cshow pop pop textrenderingprocs TextRenderingMode get exec } } ifelse } ifelse /Show gput } bdef }{ % 7.10 /setshowstate { WordSpacing 0 eq TextSpacing 0 eq and { TextRenderingMode 0 eq { { setfillstate show } } { { false charpath textrenderingprocs TextRenderingMode get exec } } ifelse } { TextRenderingMode 0 eq { WordSpacing 0 eq { { setfillstate TextSpacing 0 Vexch 3 -1 roll ashow } } { TextSpacing 0 eq { { setfillstate WordSpacing 0 Vexch 32 4 -1 roll widthshow } } { { setfillstate WordSpacing 0 Vexch 32 TextSpacing 0 Vexch 6 -1 roll awidthshow } } ifelse } ifelse } { { WordSpacing TextSpacing % Implement the combination of t3 and false charpath. % Note that we must use cshow for this, because we % can't parse multi-byte strings any other way. % Stack: string xword xchar { pop pop (x) dup 0 3 index put false charpath % Stack: xword xchar ccode 3 copy 32 eq { add } { exch pop } ifelse 0 Vexch rmoveto pop } 4 -1 roll cshow pop pop textrenderingprocs TextRenderingMode get exec } } ifelse } ifelse /Show gput } bdef } ifelse end readonly pop } if end setglobal END_GREEK my $SetPassword = ""; $SetPassword = "/PDFPassword($::opt_password)def" if $::opt_password; my $PSHeader = "save pop $SetPassword $SetPageHack $Greek"; $PSHeader =~ s/%\s.*\n/ /g; $PSHeader =~ s/\s+/ /g; $PSHeader =~ s/\s+([\(\/\[\]\{\}])/$1/g; $PSHeader =~ s/([\)\[\]\{\}])\s+/$1/g; $PSHeader =~ s/\s+$//; my $AntiAlias = ""; $AntiAlias = "\n-dTextAlphaBits=$AntiAliasText\n" . "-dGraphicsAlphaBits=$AntiAliasGraphics" if $::opt_antialias; my $gs_cmd = <<"GS_CMD_END"; $GS$AntiAlias -dNOPAUSE -dBATCH -sDEVICE=$::opt_device -r$resolution -sOutputFile=$thumbprefix%d.png -c "$PSHeader" -f $jobfile GS_CMD_END # The trick with `save' comes from `ps2pdf': # Doing an initial `save' helps keep fonts from being flushed # between pages. if ($::opt_printgscmd) { open(GSCNF, ">$gscnffile") or die "$Error Cannot open `$gscnffile'!\n"; $gs_cmd =~ s/^[^\r\n]+[\r\n]+//; print GSCNF $gs_cmd; close(GSCNF); my $options = "@arglist"; $options =~ s/\s*--?pr[intgscmd]*\s*/ /i; $options =~ s/^\s+//; $options =~ s/\s+$//; print <<"END_PERL" if $::opt_verbose; * Perl interpreter: $^X * Perl script: $0 END_PERL print <<"END_GS"; 1. Run `Ghostscript' manually: ==> $GS \@$gscnffile 2. Call `thumbpdf' again with the additional option `--nomakepng': ==> thumbpdf --nomakepng $options END_GS exit(0); } chomp($gs_cmd); $gs_cmd =~ s/\n/ /mg; print "> $gs_cmd\n" if $::opt_verbose; if ($::opt_debug) { if ($gspages) { print "* Ghostscript with page numbers\n"; } else { print "* Ghostscript without page numbers\n"; } } setsignals(\&gscleanup); my $capture = ""; if ($gspages) { my $newline = 0; open(KID, "$gs_cmd|") or die "$Error Cannot open Ghostscript ($!)!\n"; *::GSKID = *KID; $gskidrunning = 1; my $orgbar = $|; $|=1; while (<KID>) { $capture .= $_; if ($::opt_verbose) { print; } else { if (!$::opt_quiet) { print if /^Processing pages/; if (/^Page\s+(\d+)/) { print " " if $newline; $newline = 1; print "[$1]"; } } } } $gskidrunning =0; if (!close(KID)) { if ($!) { die "$Error Closing Ghostscript ($!)!\n"; } else { my $exitvalue = $? >> 8; die "$Error Closing Ghostscript (exit status: $exitvalue)!\n"; } } print "\n" if $newline; $| = $orgbar; } else # without pages { $capture = `$gs_cmd`; if (!defined($capture)) { die "$Error Cannot execute Ghostscript!\n"; } print $capture if $::opt_verbose; } if ($capture =~ /Error:\s*(.*)\n/) { die <<"END_DIE"; $Error `$1' (Ghostscript)! See `$readme', $gssection, for further information. END_DIE } if ($capture =~ /Unknown device:\s*(.*)\n/) { die "$Error Unknown device `$1' (Ghostscript)!\n"; } if ($?) { my $exitvalue = $?; if ($exitvalue > 255) { $exitvalue >>= 8; die "$Error Closing Ghostscript (exit status: $exitvalue)!\n"; } die "$Error Closing Ghostscript ($exitvalue)!\n"; } if ($capture =~ /Processing pages \d+ through (\d+)./) { $MaxThumb = $1; } print "* max. page: $MaxThumb\n" if $::opt_debug; setsignals(\&cleanup); } ### ### make thumbpdf.pdf file ### if ($::opt_makepdf) { print "*** make `$pdffile' / run pdfTeX ***\n" unless $::opt_quiet; if ($MaxThumb > 0) { my $i; for ($i=1; $i<=$MaxThumb; $i++) { push(@cleanlist, "$thumbprefix$i.png"); } } else { # get max thumb number to speed up the pdfTeX run $MaxThumb = 0; foreach (glob("$thumbprefix*.png")) { next unless /$thumbprefix(\d+).png/; $MaxThumb = $1 if $1 > $MaxThumb; push(@cleanlist, $_); } } push(@cleanlist, $logfile); push(@cleanlist, $pdffile); my $compress = $::opt_compress; $compress = 9 if $::opt_compress == 10; my $cmd = "pdftex \"" . "\\nonstopmode" . "\\pdfcompresslevel$compress" . "\\def\\thumbjob{$jobname}" . "\\def\\thumbmax{$MaxThumb}" . "\\input $texfile" . "\""; print "> $cmd\n" if $::opt_verbose; my @capture = `$cmd`; if (!@capture) { die "$Error Cannot execute pdfTeX!\n"; } if ($::opt_verbose) { print @capture; } else { foreach (@capture) { print if /^!\s/; } } if ($?) { my $exitvalue = $?; if ($exitvalue > 255) { $exitvalue >>= 8; die "$Error Closing pdfTeX (exit status: $exitvalue)!\n"; } die "$Error Closing pdfTeX ($exitvalue)!\n"; } # test version my $versionfound = 0; foreach (@capture) { if (/File:.*thumbpdf.*(\d\d\d\d\/\d\d\/\d\d)\s+v(\d+\.\d+)/) { $versionfound = 1; if ($1 ne $date or $2 ne $version) { print <<"END_WARN"; !!! Warning: Version of `thumbpdf.tex' does not match with perl script! Current `thumbpdf.tex': $1 v$2 Please install version: $date v$version END_WARN } } } print "!!! Warning: Version of `thumbpdf.tex' not found!\n" if !$versionfound; $_ = pop(@cleanlist); } ### ### parse thumbpdf.pdf ### if ($::opt_makedata) { push(@cleanlist, $pdffile); print "*** parse `$pdffile' ***\n" unless $::opt_quiet; ### reading file and parse obj structure my @objno = (); # obj number my @objdict = (); # boolean, object is dict my @objtext = (); # text of object my @objstream = (); # stream of object if any my $maxobj = 0; my @getobjindex = (); # $getobj[obj number] ==> index for $obj...[index] # open file my $PDF = $pdffile; open(PDF, $PDF) or die "$Error Cannot open `$PDF'!\n"; binmode(PDF); my $lineno = 0; # read header $_ = <PDF>; $lineno++; $_ or die "$Error Cannot read header of `$PDF' or file is empty!\n"; /^%PDF/ or die "$Error No PDF specification found!\n"; print "* pdf header: $_" if ($::opt_debug); # read body objects my $count = 0; while (<PDF>) { $lineno++; # continue, if comment line (2nd line of PDF output by pdfTeX 1.30) next if /^%/; # stop at xref last if /^xref$/; # scan first obj line /^(\d+)\s+0\s+obj\s*(<<)?$/ or die "$Error `obj' expected on line $lineno!\n"; $objno[$count] = $1; $getobjindex[$1] = $count; $objdict[$count] = ($2); # boolean (if $2 exists) my $stream = 0; print "* obj $objno[$count]" . (($objdict[$count]) ? " (dict)" : "") . "\n" if $::opt_debug; # get obj $objtext[$count] = ""; while (<PDF>) { $lineno++; if ($objdict[$count]) { if (/^>>/) { last if /^>>\s+endobj$/; # obj without stream # get stream $_ = <PDF>; $lineno++; /^stream$/ or die "$Error `stream' expected on line $lineno!\n"; print "* stream\n" if $::opt_debug; $objstream[$count] = ""; while (<PDF>) { $lineno++; if (/(.*)endstream$/) { $objstream[$count] .= $1; last; } $objstream[$count] .= $_; } $_ = <PDF>; $lineno++; /^endobj$/ or die "$Error `endobj' expected on line $lineno!\n"; last; } } else # no dict { last if /^endobj$/; } $objtext[$count] .= $_; } $count++; } close(PDF); $maxobj = $count; print "* $maxobj objects found.\n" if $::opt_debug; ### get thumbnail page numbers my @thumbpageno = (); my $found = 0; foreach (@objtext) { if (/^<<\/ListThumbs\s+(.+)>>$/) { $_ = $1; chomp; @thumbpageno = split / /; # split(/ /, $_); print "* ListThumbs: @thumbpageno\n" if $::opt_debug; $found = 1; last; } } $found or die "$Error `/ListThumbs' not found!\n"; { my $j; for ($j=0; $j<@thumbpageno; $j++) { $thumbpageno[$j] = $1 if $thumbpageno[$j] =~ /^{(.+)}$/; } } ### identify thumb objects my @thumbobj = (); # index for @obj... with image stream my @thumblength = (); # stream length values my @thumbrgbobj = (); # index for @obj... with rgb stream my @thumbrgblength = (); # rgb stream length values my $maxthumb = 0; $count = 0; my $i; for ($i=0; $i<$maxobj; $i++) { if ($objtext[$i] =~ /^\/Type\s+\/XObject\n\/Subtype\s+\/Image\n/m) { $thumbobj[$count] = $i; $_ = $'; $objtext[$i] = $_; # check width and height /\/Width\s+(\d+)\n\/Height\s+(\d+)/m or die "$Error width/height of thumbnail not found!\n"; print "* Size: $1x$2\n" if $::opt_debug; print "==> Width ($1) " . "of thumbnail `$thumbpageno[$count]' " . "is larger than recommended (106).\n" if $1 > 106; print "==> Height ($2) " . "of thumbnail `$thumbpageno[$count]' " . "is larger than recommended (106).\n" if $2 > 106; # get stream length if (/\/Length\s+(\d+)\s+([\/\>]|$)/m) { $thumblength[$count] = $1; print "* Length (direct): $1\n" if $::opt_debug; # remove whitespace after length obj $objtext[$i] =~ s/(\/Length\s+\d+)\s+\n/$1\n/; } else # looking for indirect reference { /\/Length\s+(\d+)\s+0\s+R/m or die "$Error `/Length' entry not found!\n"; # save obj text for later correction my $objpre = $`; my $objpost = $'; # look for length obj $getobjindex[$1] or die "$Error Length obj not found!\n"; $objtext[$getobjindex[$1]] =~ /^(\d+)$/m or die "$Error length value not found!\n"; $thumblength[$count] = $1; print "* Length (indirect): $1\n" if $::opt_debug; # insert obj length directly: $objtext[$i] = $objpre . "/Length $1" . $objpost; } # remove \n from end of stream if ($thumblength[$count] < length($objstream[$i])) { chop($objstream[$i]); } # check /Indexed /DeviceRGB if ($objtext[$i] =~ /\/ColorSpace\s+\[\/Indexed\s+\/DeviceRGB\s+(\d+)\s+(\d+)\s+0\s+R\]/m) { # correct thumb object text $objtext[$i] = "$`/ColorSpace [/Indexed /DeviceRGB $1 \\the\\pdflastobj\\ 0 R]$'"; # get RGB obj number $getobjindex[$2] or die "$Error RGB object not found!\n"; $_ = $getobjindex[$2]; $thumbrgbobj[$count] = $_; # get stream length if ($objtext[$_] =~ /\/Length\s+(\d+)\s+([\/\>]|$)/m) { $thumbrgblength[$count] = $1; print "* RGB length (direct): $1\n" if $::opt_debug; $objtext[$_] =~ s/(\/Length\s+\d+)\s+\n/$1\n/; } else # looking for indirect reference { $objtext[$_] =~ /\/Length\s+(\d+)\s+0\s+R/m or die "$Error Length entry of rgb object not found\n"; # save obj text for later correction my $objrgbpre = $`; my $objrgbpost = $'; # get rgb stream length $getobjindex[$1] or die "$Error RGB length object not found!\n"; $objtext[$getobjindex[$1]] =~ /^(\d+)$/m or die "$Error length value not found!\n"; $thumbrgblength[$count] = $1; print "* RGB length (indirect): $1\n" if $::opt_debug; # insert RGB object length directly: $objtext[$_] = $objrgbpre . "/Length $1" . $objrgbpost; } } $count++; } } $maxthumb = $count; if ($maxthumb != @thumbpageno) { my $pagecount = @thumbpageno; die "$Error $maxthumb thumbnails found, but there should be $pagecount!\n"; } print "* $maxthumb thumbnails found.\n" if $::opt_verbose; ### ### write data files ### my $timestamp; { my ($sec, $min, $hour, $mday, $mon, $year) = localtime(); $mon++; $year += 1900; $timestamp = sprintf("%04d/%02d/%02d %02d:%02d:%02d", $year, $mon, $mday, $hour, $min, $sec); } if ($mode_pdftex) { print "*** write `$pdftexfile' (pdfTeX thumbnail data) ***\n" unless $::opt_quiet; my $DTA_PT = $pdftexfile; open(DTA_PT, ">$DTA_PT") or die "$Error Cannot open `$DTA_PT'!\n"; binmode(DTA_PT); print DTA_PT <<"END_DTA"; % File: $DTA_PT % Producer: $program $version % Mode: pdftex % Date: $timestamp END_DTA } my $maxpagethumb; my $dictbegin; if ($mode_pdfmark) { print "*** write `$pdfmarkfile' (pdfmark thumbnail data) ***\n" unless $::opt_quiet; my $DTA_PM = $pdfmarkfile; open(DTA_PM, ">$DTA_PM") or die "$Error Cannot open `$DTA_PM'!\n"; binmode(DTA_PM); # write tex part print DTA_PM <<"END_DTA"; % \\iffalse % File: $DTA_PM % Producer: $program $version % Mode: pdfmark % Date: $timestamp % \\fi END_DTA # looking for max. number of regular thumbnails $maxpagethumb = $maxthumb; for ($i=0; $i<$maxobj; $i++) { if ($objtext[$i] =~ /<<\/MaxThumbNumber\s+(\d+)>>/) { $maxpagethumb = $1; last; } } # write TeX part for ($i=$maxpagethumb; $i<$maxthumb; $i++) { print DTA_PM "% \\DefThisThumb{$thumbpageno[$i]}\n"; } # write PostScript header my $dictstart = <<'END_DICT'; 4 dict begin /enddict { counttomark 2 idiv dup dict begin {def} repeat pop currentdict end } bind def END_DICT chomp($dictstart); $dictbegin = "["; my $dictend = "enddict"; my $filter = ""; my $read = "readhexstring"; if ($::opt_level2) { $dictstart = " 3 dict begin"; $dictbegin = "<<"; $dictend = ">>"; $filter = " /ASCII85Decode filter"; $read = "readstring"; } print DTA_PM <<"END_DTA"; % \\endinput % TeX part ends here % PostScript definitions END_DTA my $PS_Header = <<"END_HEAD"; % % Default definition of pdfmark /pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse % % Check the version of Ghostscript. If it is below 6.0, % the commands, that produce the thumbnails, are defined % to be dummies. % true /product where { pop product (Ghostscript) search { pop pop pop revision 600 lt { (!!! Warning (thumbpdf): Ghostscript 6.0 required for thumbnails!\\n) print pop false } if }{pop} ifelse } if { % Syntax: <thumb object> thisTHB - % thisTHB is used globally, so it is defined in the current % dictionary (perhaps userdict should explicitly be set). /thisTHB {[ exch /Thumb exch /PAGE pdfmark} bind def $dictstart % Syntax: <page object> <thumb object> pagethumb - /pagethumb { [ 3 1 roll $dictbegin exch /Thumb exch $dictend /PUT pdfmark } bind def % Syntax: <thumb object> <stream length> % <mark> <key value pairs> streamobj - % % Distiller ignores the compression of previously compressed % streams and uses its own settings. Therefore for Distiller % the streams are uncompressed. % Now ghostscript versions greater than 8 behave in the same way % as Distiller. Therefore detection for this versions is added. % The detection and patch for distiller require features of level 2 % and the filter /FlateDecode (level 3), that is used by pdfTeX's % compression. /THB_DistillerPatch false def /languagelevel where { pop languagelevel 2 ge { product (Distiller) search {pop pop pop true}{pop false} ifelse product (Ghostscript) search { pop pop pop revision 800 ge }{pop false} ifelse or { (FlateDecode) { pop % Syntax: <dict> THB_DistillerPatch <dict> false % <dict> THB_DistillerPatch <dict> <filter> /THB_DistillerPatch { dup /Filter known { dup dup /Filter get exch /Filter undef }{false} ifelse } bind def } (FlateDecode) /Filter resourceforall } if } if } if /streamobj { $dictend exch % Stack: <thumb> <dict> <length> 3 -1 roll dup % Stack: <dict> <length> <thumb> <thumb> [ /_objdef 3 -1 roll /type /stream /OBJ pdfmark % Stack: <dict> <length> <thumb> dup dup 5 -1 roll % Stack: <length> <thumb> <thumb> <thumb> <dict> THB_DistillerPatch % Stack: <length> <thumb> <thumb> <thumb> <dict> <filter/false> [ 4 -2 roll /PUT pdfmark % Stack: <length> <thumb> <thumb> <filter/false> [ 3 1 roll currentfile${filter} % Stack: <length> <thumb> [ <thumb> <filter/false> <file> 6 -1 roll string $read pop % Stack: <thumb> [ <thumb> <filter/false> <string> exch dup type /booleantype ne {true} if {filter} if % Stack: <thumb> [ <thumb> <file> /PUT pdfmark % Stack: <thumb> [ exch /CLOSE pdfmark } bind def }{ % Syntax: <thumb object> thisTHB - /thisTHB {pop} bind def 2 dict begin % Syntax: <page object> <thumb object> pagethumb - /pagethumb {pop pop} bind def % Syntax: <thumb object> <stream length> % <mark> <key value pairs> streamobj - /streamobj { cleartomark exch pop string currentfile${filter} exch $read pop pop } bind def } ifelse END_HEAD $PS_Header =~ s/%[^\r\n]*[\r\n]+//gm; print DTA_PM $PS_Header; print DTA_PM <<"END_DTA"; % adding thumbnails to pages END_DTA for ($i=0; $i<$maxpagethumb; $i++) { print DTA_PM <<"END_DTA"; {Page$thumbpageno[$i]} {THB$thumbpageno[$i]} pagethumb END_DTA } print DTA_PM "\n% thumbnail data\n"; } for ($i=0; $i<$maxthumb; $i++) { # rgb object if ($thumbrgbobj[$i]) { # find the same rgb object my $j; for ($j=0; $j<$i; $j++) { next unless $thumbrgbobj[$j]; next unless $objtext[$thumbrgbobj[$j]] eq $objtext[$thumbrgbobj[$i]]; next unless $objstream[$thumbrgbobj[$j]] eq $objstream[$thumbrgbobj[$i]]; last; } if ($j==$i) # not found { if ($mode_pdftex) { { my $rgbstream = pdftexstream($objstream[$thumbrgbobj[$i]]); my $dict = $objtext[$thumbrgbobj[$i]]; if ($::opt_compress == 10) { chomp($dict); $dict =~ s/\n([^\/])/^^J\n$1/mg; $dict =~ s/[ ]+\//\//mg; } else { $dict =~ s/\n/^^J\n/mg; } print DTA_PT <<"END_DTA"; \\immediate\\pdfobj{<<$J $dict>>$J stream^^J $rgbstream endstream} \\DefRGB{$i} END_DTA } } if ($mode_pdfmark) { { my $rgbstream = pdfmarkstream($objstream[$thumbrgbobj[$i]]); my $rgblength = $thumbrgblength[$i]; my $dict = $objtext[$thumbrgbobj[$i]]; $dict =~ s/\/Length\s+\d+\s*//; $dict =~ s/^\s+//; $dict =~ s/\s+$//; print DTA_PM <<"END_DTA"; {RGB_$i} $rgblength $dictbegin $dict streamobj $rgbstream END_DTA } } } else # $j with same rgb obj { $objtext[$thumbobj[$i]] =~ s/\\the\\pdflastobj/\\UseRGB{$j}/; print "* Reuses RGB object $j for $i\n" if $::opt_debug; } } # thumb object if ($mode_pdftex) { { my $dict = $objtext[$thumbobj[$i]]; if ($::opt_compress == 10) { chomp($dict); $dict =~ s/\n([^\/])/^^J\n$1/mg; $dict =~ s/[ ]+\//\//mg; $dict =~ s/[ ]+\[/\[/mg; } else { $dict =~ s/\n/^^J\n/mg; } my $stream = pdftexstream($objstream[$thumbobj[$i]]); print DTA_PT <<"END_DTA"; \\immediate\\pdfobj{<<$J $dict>>$J stream^^J $stream endstream} \\DefThumb{$thumbpageno[$i]} END_DTA } } if ($mode_pdfmark) { { my $stream = pdfmarkstream($objstream[$thumbobj[$i]]); my $length = $thumblength[$i]; my $dict = $objtext[$thumbobj[$i]]; $dict =~ s/\\the\\pdflastobj\\\s*\d+\s*R/{RGB_$i}/; $dict =~ s/\\UseRGB{(\d+)}\\\s*\d+\s*R/{RGB_$1}/; $dict =~ s/\/Length\s+\d+\s*//; $dict =~ s/^\s+//; $dict =~ s/\s+$//; my $thismarker = ""; $thismarker = "_", if $i >= $maxpagethumb; print DTA_PM <<"END_DTA"; {THB$thismarker$thumbpageno[$i]} $length $dictbegin $dict streamobj $stream END_DTA } } } if ($mode_pdftex) { print DTA_PT "\\endinput\n"; close(DTA_PT); } if ($mode_pdfmark) { print DTA_PM <<"END_DTA"; end % end of thumbnail data file END_DTA close(DTA_PM); } } sub pdftexstream { my $str = ""; my $mod = 0; foreach (split(//, $_[0])) { my $num = ord($_); if ($num == 13) { $str .= '\\/'; } elsif ($num < 32) { $str .= '^^' . chr($num + 64); } elsif ($num == 32) { $str .= '\\~'; } # space elsif ($num == 37) { $str .= '\\%'; } # percent elsif ($num == 92) { $str .= '\\\\'; } # backslash elsif ($num == 94) { $str .= '\\+'; } # caret elsif ($num == 123) { $str .= '\\{'; } # curly brace left elsif ($num == 125) { $str .= '\\}'; } # curly brace right else { $str .= $_; } $mod++; if ($mod == 26) { $mod = 0; $str .= "\n"; } } chomp $str; return $str; } sub pdfmarkstream { my $str; if ($::opt_level2) { my $s = $_[0]; my $len = length($s); $str = ""; my $i; for ($i=0; $i<$len-4; $i+=4) { $_ = ASCII85Encode(substr($s, $i, 4)); s/!!!!!/z/; $str .= $_; } my $r = $len % 4; if ($r) { $_ = substr($s, $i, $r) . "\000\000\000"; $_ = ASCII85Encode(substr($_, 0, 4)); $str .= substr($_, 0, $r+1); } $str =~ s/(.{60})/$1\n/g; chomp($str); $str .= "~>"; } else { $str = uc(unpack('H*', $_[0])); $str =~ s/(.{60})/$1\n/g; chomp($str); } return $str; } sub ASCII85Encode { my $val = unpack("N", $_[0]); my @c; $c[4] = $val % 85 + 33; $val = int($val/85); $c[3] = $val % 85 + 33; $val = int($val/85); $c[2] = $val % 85 + 33; $val = int($val/85); $c[1] = $val % 85 + 33; $c[0] = int($val/85) + 33; return pack("C*", @c); } sub setsignals { my $func = $_[0]; $SIG{'HUP'} = $func unless $Win; $SIG{'INT'} = $func; $SIG{'QUIT'} = $func; $SIG{'TERM'} = $func; } sub clean { if ($::opt_clean) { print "*** clear temp files ***\n" unless $::opt_quiet; foreach (@cleanlist) { unlink; } } } sub cleanup { print "\n" unless $::opt_quiet; clean(); exit 1; } sub gscleanup { print "\n" unless $::opt_quiet; clean(); close(::GSKID) if $gskidrunning; foreach (glob("$thumbprefix*.png")) { unlink; } exit 1; } clean(); print "*** ready. ***\n" unless $::opt_quiet; __END__
Close