aboutsummaryrefslogtreecommitdiff
path: root/lzip-1.20.tar
blob: bf1ae091258431ade799b5e374122dfd2904391b (plain)
ofshex dumpascii
0000 6c 7a 69 70 2d 31 2e 32 30 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 lzip-1.20/......................
0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0060 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000755.0001750.0001750.0000
0080 30 30 30 30 30 30 30 00 31 33 36 36 34 37 33 36 35 34 35 00 30 31 32 35 36 35 00 20 35 00 00 00 0000000.13664736545.012565..5...
00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0100 00 75 73 74 61 72 20 20 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...mohammad...............
0120 00 00 00 00 00 00 00 00 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........mohammad...............
0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0200 6c 7a 69 70 2d 31 2e 32 30 2f 4d 61 6b 65 66 69 6c 65 2e 69 6e 00 00 00 00 00 00 00 00 00 00 00 lzip-1.20/Makefile.in...........
0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
0280 30 30 31 30 31 30 34 00 31 33 36 36 34 37 33 36 35 34 35 00 30 31 34 36 32 36 00 20 30 00 00 00 0010104.13664736545.014626..0...
02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0300 00 75 73 74 61 72 20 20 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...mohammad...............
0320 00 00 00 00 00 00 00 00 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........mohammad...............
0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0400 0a 44 49 53 54 4e 41 4d 45 20 3d 20 24 28 70 6b 67 6e 61 6d 65 29 2d 24 28 70 6b 67 76 65 72 73 .DISTNAME.=.$(pkgname)-$(pkgvers
0420 69 6f 6e 29 0a 49 4e 53 54 41 4c 4c 20 3d 20 69 6e 73 74 61 6c 6c 0a 49 4e 53 54 41 4c 4c 5f 50 ion).INSTALL.=.install.INSTALL_P
0440 52 4f 47 52 41 4d 20 3d 20 24 28 49 4e 53 54 41 4c 4c 29 20 2d 6d 20 37 35 35 0a 49 4e 53 54 41 ROGRAM.=.$(INSTALL).-m.755.INSTA
0460 4c 4c 5f 44 41 54 41 20 3d 20 24 28 49 4e 53 54 41 4c 4c 29 20 2d 6d 20 36 34 34 0a 49 4e 53 54 LL_DATA.=.$(INSTALL).-m.644.INST
0480 41 4c 4c 5f 44 49 52 20 3d 20 24 28 49 4e 53 54 41 4c 4c 29 20 2d 64 20 2d 6d 20 37 35 35 0a 53 ALL_DIR.=.$(INSTALL).-d.-m.755.S
04a0 48 45 4c 4c 20 3d 20 2f 62 69 6e 2f 73 68 0a 43 41 4e 5f 52 55 4e 5f 49 4e 53 54 41 4c 4c 49 4e HELL.=./bin/sh.CAN_RUN_INSTALLIN
04c0 46 4f 20 3d 20 24 28 53 48 45 4c 4c 29 20 2d 63 20 22 69 6e 73 74 61 6c 6c 2d 69 6e 66 6f 20 2d FO.=.$(SHELL).-c."install-info.-
04e0 2d 76 65 72 73 69 6f 6e 22 20 3e 20 2f 64 65 76 2f 6e 75 6c 6c 20 32 3e 26 31 0a 0a 6f 62 6a 73 -version".>./dev/null.2>&1..objs
0500 20 3d 20 61 72 67 5f 70 61 72 73 65 72 2e 6f 20 66 69 6c 65 5f 69 6e 64 65 78 2e 6f 20 6c 69 73 .=.arg_parser.o.file_index.o.lis
0520 74 2e 6f 20 65 6e 63 6f 64 65 72 5f 62 61 73 65 2e 6f 20 65 6e 63 6f 64 65 72 2e 6f 20 5c 0a 20 t.o.encoder_base.o.encoder.o.\..
0540 20 20 20 20 20 20 66 61 73 74 5f 65 6e 63 6f 64 65 72 2e 6f 20 64 65 63 6f 64 65 72 2e 6f 20 6d ......fast_encoder.o.decoder.o.m
0560 61 69 6e 2e 6f 0a 0a 0a 2e 50 48 4f 4e 59 20 3a 20 61 6c 6c 20 69 6e 73 74 61 6c 6c 20 69 6e 73 ain.o....PHONY.:.all.install.ins
0580 74 61 6c 6c 2d 62 69 6e 20 69 6e 73 74 61 6c 6c 2d 69 6e 66 6f 20 69 6e 73 74 61 6c 6c 2d 6d 61 tall-bin.install-info.install-ma
05a0 6e 20 5c 0a 20 20 20 20 20 20 20 20 20 69 6e 73 74 61 6c 6c 2d 73 74 72 69 70 20 69 6e 73 74 61 n.\..........install-strip.insta
05c0 6c 6c 2d 63 6f 6d 70 72 65 73 73 20 69 6e 73 74 61 6c 6c 2d 73 74 72 69 70 2d 63 6f 6d 70 72 65 ll-compress.install-strip-compre
05e0 73 73 20 5c 0a 20 20 20 20 20 20 20 20 20 69 6e 73 74 61 6c 6c 2d 62 69 6e 2d 73 74 72 69 70 20 ss.\..........install-bin-strip.
0600 69 6e 73 74 61 6c 6c 2d 69 6e 66 6f 2d 63 6f 6d 70 72 65 73 73 20 69 6e 73 74 61 6c 6c 2d 6d 61 install-info-compress.install-ma
0620 6e 2d 63 6f 6d 70 72 65 73 73 20 5c 0a 20 20 20 20 20 20 20 20 20 75 6e 69 6e 73 74 61 6c 6c 20 n-compress.\..........uninstall.
0640 75 6e 69 6e 73 74 61 6c 6c 2d 62 69 6e 20 75 6e 69 6e 73 74 61 6c 6c 2d 69 6e 66 6f 20 75 6e 69 uninstall-bin.uninstall-info.uni
0660 6e 73 74 61 6c 6c 2d 6d 61 6e 20 5c 0a 20 20 20 20 20 20 20 20 20 64 6f 63 20 69 6e 66 6f 20 6d nstall-man.\..........doc.info.m
0680 61 6e 20 63 68 65 63 6b 20 64 69 73 74 20 63 6c 65 61 6e 20 64 69 73 74 63 6c 65 61 6e 0a 0a 61 an.check.dist.clean.distclean..a
06a0 6c 6c 20 3a 20 24 28 70 72 6f 67 6e 61 6d 65 29 0a 0a 24 28 70 72 6f 67 6e 61 6d 65 29 20 3a 20 ll.:.$(progname)..$(progname).:.
06c0 24 28 6f 62 6a 73 29 0a 09 24 28 43 58 58 29 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 43 58 58 $(objs)..$(CXX).$(LDFLAGS).$(CXX
06e0 46 4c 41 47 53 29 20 2d 6f 20 24 40 20 24 28 6f 62 6a 73 29 0a 0a 6d 61 69 6e 2e 6f 20 3a 20 6d FLAGS).-o.$@.$(objs)..main.o.:.m
0700 61 69 6e 2e 63 63 0a 09 24 28 43 58 58 29 20 24 28 43 50 50 46 4c 41 47 53 29 20 24 28 43 58 58 ain.cc..$(CXX).$(CPPFLAGS).$(CXX
0720 46 4c 41 47 53 29 20 2d 44 50 52 4f 47 56 45 52 53 49 4f 4e 3d 5c 22 24 28 70 6b 67 76 65 72 73 FLAGS).-DPROGVERSION=\"$(pkgvers
0740 69 6f 6e 29 5c 22 20 2d 63 20 2d 6f 20 24 40 20 24 3c 0a 0a 25 2e 6f 20 3a 20 25 2e 63 63 0a 09 ion)\".-c.-o.$@.$<..%.o.:.%.cc..
0760 24 28 43 58 58 29 20 24 28 43 50 50 46 4c 41 47 53 29 20 24 28 43 58 58 46 4c 41 47 53 29 20 2d $(CXX).$(CPPFLAGS).$(CXXFLAGS).-
0780 63 20 2d 6f 20 24 40 20 24 3c 0a 0a 24 28 6f 62 6a 73 29 20 20 20 20 20 20 20 20 3a 20 4d 61 6b c.-o.$@.$<..$(objs)........:.Mak
07a0 65 66 69 6c 65 0a 61 72 67 5f 70 61 72 73 65 72 2e 6f 20 20 20 3a 20 61 72 67 5f 70 61 72 73 65 efile.arg_parser.o...:.arg_parse
07c0 72 2e 68 0a 64 65 63 6f 64 65 72 2e 6f 20 20 20 20 20 20 3a 20 6c 7a 69 70 2e 68 20 64 65 63 6f r.h.decoder.o......:.lzip.h.deco
07e0 64 65 72 2e 68 0a 65 6e 63 6f 64 65 72 5f 62 61 73 65 2e 6f 20 3a 20 6c 7a 69 70 2e 68 20 65 6e der.h.encoder_base.o.:.lzip.h.en
0800 63 6f 64 65 72 5f 62 61 73 65 2e 68 0a 65 6e 63 6f 64 65 72 2e 6f 20 20 20 20 20 20 3a 20 6c 7a coder_base.h.encoder.o......:.lz
0820 69 70 2e 68 20 65 6e 63 6f 64 65 72 5f 62 61 73 65 2e 68 20 65 6e 63 6f 64 65 72 2e 68 0a 66 61 ip.h.encoder_base.h.encoder.h.fa
0840 73 74 5f 65 6e 63 6f 64 65 72 2e 6f 20 3a 20 6c 7a 69 70 2e 68 20 65 6e 63 6f 64 65 72 5f 62 61 st_encoder.o.:.lzip.h.encoder_ba
0860 73 65 2e 68 20 66 61 73 74 5f 65 6e 63 6f 64 65 72 2e 68 0a 66 69 6c 65 5f 69 6e 64 65 78 2e 6f se.h.fast_encoder.h.file_index.o
0880 20 20 20 3a 20 6c 7a 69 70 2e 68 20 66 69 6c 65 5f 69 6e 64 65 78 2e 68 0a 6c 69 73 74 2e 6f 20 ...:.lzip.h.file_index.h.list.o.
08a0 20 20 20 20 20 20 20 20 3a 20 6c 7a 69 70 2e 68 20 66 69 6c 65 5f 69 6e 64 65 78 2e 68 0a 6d 61 ........:.lzip.h.file_index.h.ma
08c0 69 6e 2e 6f 20 20 20 20 20 20 20 20 20 3a 20 61 72 67 5f 70 61 72 73 65 72 2e 68 20 6c 7a 69 70 in.o.........:.arg_parser.h.lzip
08e0 2e 68 20 64 65 63 6f 64 65 72 2e 68 20 65 6e 63 6f 64 65 72 5f 62 61 73 65 2e 68 20 65 6e 63 6f .h.decoder.h.encoder_base.h.enco
0900 64 65 72 2e 68 20 66 61 73 74 5f 65 6e 63 6f 64 65 72 2e 68 0a 0a 0a 64 6f 63 20 3a 20 69 6e 66 der.h.fast_encoder.h...doc.:.inf
0920 6f 20 6d 61 6e 0a 0a 69 6e 66 6f 20 3a 20 24 28 56 50 41 54 48 29 2f 64 6f 63 2f 24 28 70 6b 67 o.man..info.:.$(VPATH)/doc/$(pkg
0940 6e 61 6d 65 29 2e 69 6e 66 6f 0a 0a 24 28 56 50 41 54 48 29 2f 64 6f 63 2f 24 28 70 6b 67 6e 61 name).info..$(VPATH)/doc/$(pkgna
0960 6d 65 29 2e 69 6e 66 6f 20 3a 20 24 28 56 50 41 54 48 29 2f 64 6f 63 2f 24 28 70 6b 67 6e 61 6d me).info.:.$(VPATH)/doc/$(pkgnam
0980 65 29 2e 74 65 78 69 0a 09 63 64 20 24 28 56 50 41 54 48 29 2f 64 6f 63 20 26 26 20 6d 61 6b 65 e).texi..cd.$(VPATH)/doc.&&.make
09a0 69 6e 66 6f 20 24 28 70 6b 67 6e 61 6d 65 29 2e 74 65 78 69 0a 0a 6d 61 6e 20 3a 20 24 28 56 50 info.$(pkgname).texi..man.:.$(VP
09c0 41 54 48 29 2f 64 6f 63 2f 24 28 70 72 6f 67 6e 61 6d 65 29 2e 31 0a 0a 24 28 56 50 41 54 48 29 ATH)/doc/$(progname).1..$(VPATH)
09e0 2f 64 6f 63 2f 24 28 70 72 6f 67 6e 61 6d 65 29 2e 31 20 3a 20 24 28 70 72 6f 67 6e 61 6d 65 29 /doc/$(progname).1.:.$(progname)
0a00 0a 09 68 65 6c 70 32 6d 61 6e 20 2d 6e 20 27 72 65 64 75 63 65 73 20 74 68 65 20 73 69 7a 65 20 ..help2man.-n.'reduces.the.size.
0a20 6f 66 20 66 69 6c 65 73 27 20 2d 6f 20 24 40 20 2e 2f 24 28 70 72 6f 67 6e 61 6d 65 29 0a 0a 4d of.files'.-o.$@../$(progname)..M
0a40 61 6b 65 66 69 6c 65 20 3a 20 24 28 56 50 41 54 48 29 2f 63 6f 6e 66 69 67 75 72 65 20 24 28 56 akefile.:.$(VPATH)/configure.$(V
0a60 50 41 54 48 29 2f 4d 61 6b 65 66 69 6c 65 2e 69 6e 0a 09 2e 2f 63 6f 6e 66 69 67 2e 73 74 61 74 PATH)/Makefile.in.../config.stat
0a80 75 73 0a 0a 63 68 65 63 6b 20 3a 20 61 6c 6c 0a 09 40 24 28 56 50 41 54 48 29 2f 74 65 73 74 73 us..check.:.all..@$(VPATH)/tests
0aa0 75 69 74 65 2f 63 68 65 63 6b 2e 73 68 20 24 28 56 50 41 54 48 29 2f 74 65 73 74 73 75 69 74 65 uite/check.sh.$(VPATH)/testsuite
0ac0 20 24 28 70 6b 67 76 65 72 73 69 6f 6e 29 0a 0a 69 6e 73 74 61 6c 6c 20 3a 20 69 6e 73 74 61 6c .$(pkgversion)..install.:.instal
0ae0 6c 2d 62 69 6e 20 69 6e 73 74 61 6c 6c 2d 69 6e 66 6f 20 69 6e 73 74 61 6c 6c 2d 6d 61 6e 0a 69 l-bin.install-info.install-man.i
0b00 6e 73 74 61 6c 6c 2d 73 74 72 69 70 20 3a 20 69 6e 73 74 61 6c 6c 2d 62 69 6e 2d 73 74 72 69 70 nstall-strip.:.install-bin-strip
0b20 20 69 6e 73 74 61 6c 6c 2d 69 6e 66 6f 20 69 6e 73 74 61 6c 6c 2d 6d 61 6e 0a 69 6e 73 74 61 6c .install-info.install-man.instal
0b40 6c 2d 63 6f 6d 70 72 65 73 73 20 3a 20 69 6e 73 74 61 6c 6c 2d 62 69 6e 20 69 6e 73 74 61 6c 6c l-compress.:.install-bin.install
0b60 2d 69 6e 66 6f 2d 63 6f 6d 70 72 65 73 73 20 69 6e 73 74 61 6c 6c 2d 6d 61 6e 2d 63 6f 6d 70 72 -info-compress.install-man-compr
0b80 65 73 73 0a 69 6e 73 74 61 6c 6c 2d 73 74 72 69 70 2d 63 6f 6d 70 72 65 73 73 20 3a 20 69 6e 73 ess.install-strip-compress.:.ins
0ba0 74 61 6c 6c 2d 62 69 6e 2d 73 74 72 69 70 20 69 6e 73 74 61 6c 6c 2d 69 6e 66 6f 2d 63 6f 6d 70 tall-bin-strip.install-info-comp
0bc0 72 65 73 73 20 69 6e 73 74 61 6c 6c 2d 6d 61 6e 2d 63 6f 6d 70 72 65 73 73 0a 0a 69 6e 73 74 61 ress.install-man-compress..insta
0be0 6c 6c 2d 62 69 6e 20 3a 20 61 6c 6c 0a 09 69 66 20 5b 20 21 20 2d 64 20 22 24 28 44 45 53 54 44 ll-bin.:.all..if.[.!.-d."$(DESTD
0c00 49 52 29 24 28 62 69 6e 64 69 72 29 22 20 5d 20 3b 20 74 68 65 6e 20 24 28 49 4e 53 54 41 4c 4c IR)$(bindir)".].;.then.$(INSTALL
0c20 5f 44 49 52 29 20 22 24 28 44 45 53 54 44 49 52 29 24 28 62 69 6e 64 69 72 29 22 20 3b 20 66 69 _DIR)."$(DESTDIR)$(bindir)".;.fi
0c40 0a 09 24 28 49 4e 53 54 41 4c 4c 5f 50 52 4f 47 52 41 4d 29 20 2e 2f 24 28 70 72 6f 67 6e 61 6d ..$(INSTALL_PROGRAM)../$(prognam
0c60 65 29 20 22 24 28 44 45 53 54 44 49 52 29 24 28 62 69 6e 64 69 72 29 2f 24 28 70 72 6f 67 6e 61 e)."$(DESTDIR)$(bindir)/$(progna
0c80 6d 65 29 22 0a 0a 69 6e 73 74 61 6c 6c 2d 62 69 6e 2d 73 74 72 69 70 20 3a 20 61 6c 6c 0a 09 24 me)"..install-bin-strip.:.all..$
0ca0 28 4d 41 4b 45 29 20 49 4e 53 54 41 4c 4c 5f 50 52 4f 47 52 41 4d 3d 27 24 28 49 4e 53 54 41 4c (MAKE).INSTALL_PROGRAM='$(INSTAL
0cc0 4c 5f 50 52 4f 47 52 41 4d 29 20 2d 73 27 20 69 6e 73 74 61 6c 6c 2d 62 69 6e 0a 0a 69 6e 73 74 L_PROGRAM).-s'.install-bin..inst
0ce0 61 6c 6c 2d 69 6e 66 6f 20 3a 0a 09 69 66 20 5b 20 21 20 2d 64 20 22 24 28 44 45 53 54 44 49 52 all-info.:..if.[.!.-d."$(DESTDIR
0d00 29 24 28 69 6e 66 6f 64 69 72 29 22 20 5d 20 3b 20 74 68 65 6e 20 24 28 49 4e 53 54 41 4c 4c 5f )$(infodir)".].;.then.$(INSTALL_
0d20 44 49 52 29 20 22 24 28 44 45 53 54 44 49 52 29 24 28 69 6e 66 6f 64 69 72 29 22 20 3b 20 66 69 DIR)."$(DESTDIR)$(infodir)".;.fi
0d40 0a 09 2d 72 6d 20 2d 66 20 22 24 28 44 45 53 54 44 49 52 29 24 28 69 6e 66 6f 64 69 72 29 2f 24 ..-rm.-f."$(DESTDIR)$(infodir)/$
0d60 28 70 6b 67 6e 61 6d 65 29 2e 69 6e 66 6f 22 2a 0a 09 24 28 49 4e 53 54 41 4c 4c 5f 44 41 54 41 (pkgname).info"*..$(INSTALL_DATA
0d80 29 20 24 28 56 50 41 54 48 29 2f 64 6f 63 2f 24 28 70 6b 67 6e 61 6d 65 29 2e 69 6e 66 6f 20 22 ).$(VPATH)/doc/$(pkgname).info."
0da0 24 28 44 45 53 54 44 49 52 29 24 28 69 6e 66 6f 64 69 72 29 2f 24 28 70 6b 67 6e 61 6d 65 29 2e $(DESTDIR)$(infodir)/$(pkgname).
0dc0 69 6e 66 6f 22 0a 09 2d 69 66 20 24 28 43 41 4e 5f 52 55 4e 5f 49 4e 53 54 41 4c 4c 49 4e 46 4f info"..-if.$(CAN_RUN_INSTALLINFO
0de0 29 20 3b 20 74 68 65 6e 20 5c 0a 09 09 69 6e 73 74 61 6c 6c 2d 69 6e 66 6f 20 2d 2d 69 6e 66 6f ).;.then.\...install-info.--info
0e00 2d 64 69 72 3d 22 24 28 44 45 53 54 44 49 52 29 24 28 69 6e 66 6f 64 69 72 29 22 20 22 24 28 44 -dir="$(DESTDIR)$(infodir)"."$(D
0e20 45 53 54 44 49 52 29 24 28 69 6e 66 6f 64 69 72 29 2f 24 28 70 6b 67 6e 61 6d 65 29 2e 69 6e 66 ESTDIR)$(infodir)/$(pkgname).inf
0e40 6f 22 20 3b 20 5c 0a 09 66 69 0a 0a 69 6e 73 74 61 6c 6c 2d 69 6e 66 6f 2d 63 6f 6d 70 72 65 73 o".;.\..fi..install-info-compres
0e60 73 20 3a 20 69 6e 73 74 61 6c 6c 2d 69 6e 66 6f 0a 09 6c 7a 69 70 20 2d 76 20 2d 39 20 22 24 28 s.:.install-info..lzip.-v.-9."$(
0e80 44 45 53 54 44 49 52 29 24 28 69 6e 66 6f 64 69 72 29 2f 24 28 70 6b 67 6e 61 6d 65 29 2e 69 6e DESTDIR)$(infodir)/$(pkgname).in
0ea0 66 6f 22 0a 0a 69 6e 73 74 61 6c 6c 2d 6d 61 6e 20 3a 0a 09 69 66 20 5b 20 21 20 2d 64 20 22 24 fo"..install-man.:..if.[.!.-d."$
0ec0 28 44 45 53 54 44 49 52 29 24 28 6d 61 6e 64 69 72 29 2f 6d 61 6e 31 22 20 5d 20 3b 20 74 68 65 (DESTDIR)$(mandir)/man1".].;.the
0ee0 6e 20 24 28 49 4e 53 54 41 4c 4c 5f 44 49 52 29 20 22 24 28 44 45 53 54 44 49 52 29 24 28 6d 61 n.$(INSTALL_DIR)."$(DESTDIR)$(ma
0f00 6e 64 69 72 29 2f 6d 61 6e 31 22 20 3b 20 66 69 0a 09 2d 72 6d 20 2d 66 20 22 24 28 44 45 53 54 ndir)/man1".;.fi..-rm.-f."$(DEST
0f20 44 49 52 29 24 28 6d 61 6e 64 69 72 29 2f 6d 61 6e 31 2f 24 28 70 72 6f 67 6e 61 6d 65 29 2e 31 DIR)$(mandir)/man1/$(progname).1
0f40 22 2a 0a 09 24 28 49 4e 53 54 41 4c 4c 5f 44 41 54 41 29 20 24 28 56 50 41 54 48 29 2f 64 6f 63 "*..$(INSTALL_DATA).$(VPATH)/doc
0f60 2f 24 28 70 72 6f 67 6e 61 6d 65 29 2e 31 20 22 24 28 44 45 53 54 44 49 52 29 24 28 6d 61 6e 64 /$(progname).1."$(DESTDIR)$(mand
0f80 69 72 29 2f 6d 61 6e 31 2f 24 28 70 72 6f 67 6e 61 6d 65 29 2e 31 22 0a 0a 69 6e 73 74 61 6c 6c ir)/man1/$(progname).1"..install
0fa0 2d 6d 61 6e 2d 63 6f 6d 70 72 65 73 73 20 3a 20 69 6e 73 74 61 6c 6c 2d 6d 61 6e 0a 09 6c 7a 69 -man-compress.:.install-man..lzi
0fc0 70 20 2d 76 20 2d 39 20 22 24 28 44 45 53 54 44 49 52 29 24 28 6d 61 6e 64 69 72 29 2f 6d 61 6e p.-v.-9."$(DESTDIR)$(mandir)/man
0fe0 31 2f 24 28 70 72 6f 67 6e 61 6d 65 29 2e 31 22 0a 0a 75 6e 69 6e 73 74 61 6c 6c 20 3a 20 75 6e 1/$(progname).1"..uninstall.:.un
1000 69 6e 73 74 61 6c 6c 2d 6d 61 6e 20 75 6e 69 6e 73 74 61 6c 6c 2d 69 6e 66 6f 20 75 6e 69 6e 73 install-man.uninstall-info.unins
1020 74 61 6c 6c 2d 62 69 6e 0a 0a 75 6e 69 6e 73 74 61 6c 6c 2d 62 69 6e 20 3a 0a 09 2d 72 6d 20 2d tall-bin..uninstall-bin.:..-rm.-
1040 66 20 22 24 28 44 45 53 54 44 49 52 29 24 28 62 69 6e 64 69 72 29 2f 24 28 70 72 6f 67 6e 61 6d f."$(DESTDIR)$(bindir)/$(prognam
1060 65 29 22 0a 0a 75 6e 69 6e 73 74 61 6c 6c 2d 69 6e 66 6f 20 3a 0a 09 2d 69 66 20 24 28 43 41 4e e)"..uninstall-info.:..-if.$(CAN
1080 5f 52 55 4e 5f 49 4e 53 54 41 4c 4c 49 4e 46 4f 29 20 3b 20 74 68 65 6e 20 5c 0a 09 09 69 6e 73 _RUN_INSTALLINFO).;.then.\...ins
10a0 74 61 6c 6c 2d 69 6e 66 6f 20 2d 2d 69 6e 66 6f 2d 64 69 72 3d 22 24 28 44 45 53 54 44 49 52 29 tall-info.--info-dir="$(DESTDIR)
10c0 24 28 69 6e 66 6f 64 69 72 29 22 20 2d 2d 72 65 6d 6f 76 65 20 22 24 28 44 45 53 54 44 49 52 29 $(infodir)".--remove."$(DESTDIR)
10e0 24 28 69 6e 66 6f 64 69 72 29 2f 24 28 70 6b 67 6e 61 6d 65 29 2e 69 6e 66 6f 22 20 3b 20 5c 0a $(infodir)/$(pkgname).info".;.\.
1100 09 66 69 0a 09 2d 72 6d 20 2d 66 20 22 24 28 44 45 53 54 44 49 52 29 24 28 69 6e 66 6f 64 69 72 .fi..-rm.-f."$(DESTDIR)$(infodir
1120 29 2f 24 28 70 6b 67 6e 61 6d 65 29 2e 69 6e 66 6f 22 2a 0a 0a 75 6e 69 6e 73 74 61 6c 6c 2d 6d )/$(pkgname).info"*..uninstall-m
1140 61 6e 20 3a 0a 09 2d 72 6d 20 2d 66 20 22 24 28 44 45 53 54 44 49 52 29 24 28 6d 61 6e 64 69 72 an.:..-rm.-f."$(DESTDIR)$(mandir
1160 29 2f 6d 61 6e 31 2f 24 28 70 72 6f 67 6e 61 6d 65 29 2e 31 22 2a 0a 0a 64 69 73 74 20 3a 20 64 )/man1/$(progname).1"*..dist.:.d
1180 6f 63 0a 09 6c 6e 20 2d 73 66 20 24 28 56 50 41 54 48 29 20 24 28 44 49 53 54 4e 41 4d 45 29 0a oc..ln.-sf.$(VPATH).$(DISTNAME).
11a0 09 74 61 72 20 2d 48 75 73 74 61 72 20 2d 2d 6f 77 6e 65 72 3d 72 6f 6f 74 20 2d 2d 67 72 6f 75 .tar.-Hustar.--owner=root.--grou
11c0 70 3d 72 6f 6f 74 20 2d 63 76 66 20 24 28 44 49 53 54 4e 41 4d 45 29 2e 74 61 72 20 5c 0a 09 20 p=root.-cvf.$(DISTNAME).tar.\...
11e0 20 24 28 44 49 53 54 4e 41 4d 45 29 2f 41 55 54 48 4f 52 53 20 5c 0a 09 20 20 24 28 44 49 53 54 .$(DISTNAME)/AUTHORS.\....$(DIST
1200 4e 41 4d 45 29 2f 43 4f 50 59 49 4e 47 20 5c 0a 09 20 20 24 28 44 49 53 54 4e 41 4d 45 29 2f 43 NAME)/COPYING.\....$(DISTNAME)/C
1220 68 61 6e 67 65 4c 6f 67 20 5c 0a 09 20 20 24 28 44 49 53 54 4e 41 4d 45 29 2f 49 4e 53 54 41 4c hangeLog.\....$(DISTNAME)/INSTAL
1240 4c 20 5c 0a 09 20 20 24 28 44 49 53 54 4e 41 4d 45 29 2f 4d 61 6b 65 66 69 6c 65 2e 69 6e 20 5c L.\....$(DISTNAME)/Makefile.in.\
1260 0a 09 20 20 24 28 44 49 53 54 4e 41 4d 45 29 2f 4e 45 57 53 20 5c 0a 09 20 20 24 28 44 49 53 54 ....$(DISTNAME)/NEWS.\....$(DIST
1280 4e 41 4d 45 29 2f 52 45 41 44 4d 45 20 5c 0a 09 20 20 24 28 44 49 53 54 4e 41 4d 45 29 2f 63 6f NAME)/README.\....$(DISTNAME)/co
12a0 6e 66 69 67 75 72 65 20 5c 0a 09 20 20 24 28 44 49 53 54 4e 41 4d 45 29 2f 64 6f 63 2f 24 28 70 nfigure.\....$(DISTNAME)/doc/$(p
12c0 72 6f 67 6e 61 6d 65 29 2e 31 20 5c 0a 09 20 20 24 28 44 49 53 54 4e 41 4d 45 29 2f 64 6f 63 2f rogname).1.\....$(DISTNAME)/doc/
12e0 24 28 70 6b 67 6e 61 6d 65 29 2e 69 6e 66 6f 20 5c 0a 09 20 20 24 28 44 49 53 54 4e 41 4d 45 29 $(pkgname).info.\....$(DISTNAME)
1300 2f 64 6f 63 2f 24 28 70 6b 67 6e 61 6d 65 29 2e 74 65 78 69 20 5c 0a 09 20 20 24 28 44 49 53 54 /doc/$(pkgname).texi.\....$(DIST
1320 4e 41 4d 45 29 2f 2a 2e 68 20 5c 0a 09 20 20 24 28 44 49 53 54 4e 41 4d 45 29 2f 2a 2e 63 63 20 NAME)/*.h.\....$(DISTNAME)/*.cc.
1340 5c 0a 09 20 20 24 28 44 49 53 54 4e 41 4d 45 29 2f 74 65 73 74 73 75 69 74 65 2f 63 68 65 63 6b \....$(DISTNAME)/testsuite/check
1360 2e 73 68 20 5c 0a 09 20 20 24 28 44 49 53 54 4e 41 4d 45 29 2f 74 65 73 74 73 75 69 74 65 2f 74 .sh.\....$(DISTNAME)/testsuite/t
1380 65 73 74 2e 74 78 74 20 5c 0a 09 20 20 24 28 44 49 53 54 4e 41 4d 45 29 2f 74 65 73 74 73 75 69 est.txt.\....$(DISTNAME)/testsui
13a0 74 65 2f 74 65 73 74 2e 74 78 74 2e 6c 7a 0a 09 72 6d 20 2d 66 20 24 28 44 49 53 54 4e 41 4d 45 te/test.txt.lz..rm.-f.$(DISTNAME
13c0 29 0a 09 6c 7a 69 70 20 2d 76 20 2d 39 20 24 28 44 49 53 54 4e 41 4d 45 29 2e 74 61 72 0a 0a 63 )..lzip.-v.-9.$(DISTNAME).tar..c
13e0 6c 65 61 6e 20 3a 0a 09 2d 72 6d 20 2d 66 20 24 28 70 72 6f 67 6e 61 6d 65 29 20 24 28 6f 62 6a lean.:..-rm.-f.$(progname).$(obj
1400 73 29 0a 0a 64 69 73 74 63 6c 65 61 6e 20 3a 20 63 6c 65 61 6e 0a 09 2d 72 6d 20 2d 66 20 4d 61 s)..distclean.:.clean..-rm.-f.Ma
1420 6b 65 66 69 6c 65 20 63 6f 6e 66 69 67 2e 73 74 61 74 75 73 20 2a 2e 74 61 72 20 2a 2e 74 61 72 kefile.config.status.*.tar.*.tar
1440 2e 6c 7a 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .lz.............................
1460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1600 6c 7a 69 70 2d 31 2e 32 30 2f 4e 45 57 53 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 lzip-1.20/NEWS..................
1620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
1680 30 30 30 33 31 37 30 00 31 33 36 36 34 37 33 36 35 34 35 00 30 31 33 32 36 35 00 20 30 00 00 00 0003170.13664736545.013265..0...
16a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1700 00 75 73 74 61 72 20 20 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...mohammad...............
1720 00 00 00 00 00 00 00 00 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........mohammad...............
1740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1800 43 68 61 6e 67 65 73 20 69 6e 20 76 65 72 73 69 6f 6e 20 31 2e 32 30 3a 0a 0a 54 68 65 20 6f 70 Changes.in.version.1.20:..The.op
1820 74 69 6f 6e 20 27 2d 2d 6c 6f 6f 73 65 2d 74 72 61 69 6c 69 6e 67 27 2c 20 68 61 73 20 62 65 65 tion.'--loose-trailing',.has.bee
1840 6e 20 61 64 64 65 64 2e 0a 0a 54 68 65 20 74 65 73 74 20 75 73 65 64 20 62 79 20 6c 7a 69 70 20 n.added...The.test.used.by.lzip.
1860 74 6f 20 64 69 73 63 72 69 6d 69 6e 61 74 65 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 20 66 72 to.discriminate.trailing.data.fr
1880 6f 6d 20 61 20 63 6f 72 72 75 70 74 0a 68 65 61 64 65 72 20 69 6e 20 6d 75 6c 74 69 6d 65 6d 62 om.a.corrupt.header.in.multimemb
18a0 65 72 20 6f 72 20 63 6f 6e 63 61 74 65 6e 61 74 65 64 20 66 69 6c 65 73 20 68 61 73 20 62 65 65 er.or.concatenated.files.has.bee
18c0 6e 20 69 6d 70 72 6f 76 65 64 20 74 6f 20 61 0a 48 61 6d 6d 69 6e 67 20 64 69 73 74 61 6e 63 65 n.improved.to.a.Hamming.distance
18e0 20 28 48 44 29 20 6f 66 20 33 2c 20 61 6e 64 20 74 68 65 20 33 20 62 69 74 20 66 6c 69 70 73 20 .(HD).of.3,.and.the.3.bit.flips.
1900 6d 75 73 74 20 68 61 70 70 65 6e 20 69 6e 20 64 69 66 66 65 72 65 6e 74 0a 6d 61 67 69 63 20 62 must.happen.in.different.magic.b
1920 79 74 65 73 20 66 6f 72 20 74 68 65 20 74 65 73 74 20 74 6f 20 66 61 69 6c 2e 20 41 73 20 61 20 ytes.for.the.test.to.fail..As.a.
1940 63 6f 6e 73 65 71 75 65 6e 63 65 20 73 6f 6d 65 20 6b 69 6e 64 73 20 6f 66 20 66 69 6c 65 73 0a consequence.some.kinds.of.files.
1960 6e 6f 20 6c 6f 6e 67 65 72 20 63 61 6e 20 62 65 20 61 70 70 65 6e 64 65 64 20 74 6f 20 61 20 6c no.longer.can.be.appended.to.a.l
1980 7a 69 70 20 66 69 6c 65 20 61 73 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 20 75 6e 6c 65 73 73 zip.file.as.trailing.data.unless
19a0 20 74 68 65 0a 27 2d 2d 6c 6f 6f 73 65 2d 74 72 61 69 6c 69 6e 67 27 20 6f 70 74 69 6f 6e 20 69 .the.'--loose-trailing'.option.i
19c0 73 20 75 73 65 64 20 77 68 65 6e 20 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 2e 0a 4c 7a 69 70 72 s.used.when.decompressing..Lzipr
19e0 65 63 6f 76 65 72 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 72 65 6d 6f 76 65 20 63 6f 6e ecover.can.be.used.to.remove.con
1a00 66 6c 69 63 74 69 6e 67 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 20 66 72 6f 6d 20 61 20 66 69 flicting.trailing.data.from.a.fi
1a20 6c 65 2e 0a 0a 54 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 61 20 63 6f 72 72 75 70 74 20 6f le...The.contents.of.a.corrupt.o
1a40 72 20 74 72 75 6e 63 61 74 65 64 20 68 65 61 64 65 72 20 66 6f 75 6e 64 20 69 6e 20 61 20 6d 75 r.truncated.header.found.in.a.mu
1a60 6c 74 69 6d 65 6d 62 65 72 0a 66 69 6c 65 20 61 72 65 20 6e 6f 77 20 73 68 6f 77 6e 2c 20 61 66 ltimember.file.are.now.shown,.af
1a80 74 65 72 20 74 68 65 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 2c 20 69 6e 20 74 68 65 20 73 61 ter.the.error.message,.in.the.sa
1aa0 6d 65 20 66 6f 72 6d 61 74 20 61 73 0a 74 72 61 69 6c 69 6e 67 20 64 61 74 61 2e 0a 0a 4f 70 74 me.format.as.trailing.data...Opt
1ac0 69 6f 6e 20 27 2d 53 2c 20 2d 2d 76 6f 6c 75 6d 65 2d 73 69 7a 65 27 20 6e 6f 77 20 6b 65 65 70 ion.'-S,.--volume-size'.now.keep
1ae0 73 20 69 6e 70 75 74 20 66 69 6c 65 73 20 75 6e 63 68 61 6e 67 65 64 2e 0a 0a 57 68 65 6e 20 63 s.input.files.unchanged...When.c
1b00 72 65 61 74 69 6e 67 20 6d 75 6c 74 69 6d 65 6d 62 65 72 20 66 69 6c 65 73 20 6f 72 20 73 70 6c reating.multimember.files.or.spl
1b20 69 74 74 69 6e 67 20 74 68 65 20 6f 75 74 70 75 74 20 69 6e 20 76 6f 6c 75 6d 65 73 2c 20 74 68 itting.the.output.in.volumes,.th
1b40 65 0a 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 69 73 20 6e 6f 77 20 61 64 6a 75 73 74 65 e.dictionary.size.is.now.adjuste
1b60 64 20 66 6f 72 20 65 61 63 68 20 6d 65 6d 62 65 72 20 69 6e 64 69 76 69 64 75 61 6c 6c 79 2e 0a d.for.each.member.individually..
1b80 0a 54 68 65 20 27 62 69 74 73 2f 62 79 74 65 27 20 72 61 74 69 6f 20 68 61 73 20 62 65 65 6e 20 .The.'bits/byte'.ratio.has.been.
1ba0 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 74 68 65 20 69 6e 76 65 72 73 65 20 63 6f 6d 70 72 65 replaced.with.the.inverse.compre
1bc0 73 73 69 6f 6e 0a 72 61 74 69 6f 20 69 6e 20 74 68 65 20 6f 75 74 70 75 74 2e 0a 0a 54 68 65 20 ssion.ratio.in.the.output...The.
1be0 70 72 6f 67 72 65 73 73 20 6f 66 20 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 69 73 20 6e 6f 77 progress.of.decompression.is.now
1c00 20 73 68 6f 77 6e 20 61 74 20 76 65 72 62 6f 73 69 74 79 20 6c 65 76 65 6c 20 32 20 28 2d 76 76 .shown.at.verbosity.level.2.(-vv
1c20 29 20 6f 72 0a 68 69 67 68 65 72 2e 0a 0a 50 72 6f 67 72 65 73 73 20 6f 66 20 28 64 65 29 63 6f ).or.higher...Progress.of.(de)co
1c40 6d 70 72 65 73 73 69 6f 6e 20 69 73 20 6f 6e 6c 79 20 73 68 6f 77 6e 20 69 66 20 73 74 64 65 72 mpression.is.only.shown.if.stder
1c60 72 20 69 73 20 61 20 74 65 72 6d 69 6e 61 6c 2e 0a 0a 41 20 66 69 6e 61 6c 20 64 69 61 67 6e 6f r.is.a.terminal...A.final.diagno
1c80 73 74 69 63 20 69 73 20 6e 6f 77 20 73 68 6f 77 6e 20 61 74 20 76 65 72 62 6f 73 69 74 79 20 6c stic.is.now.shown.at.verbosity.l
1ca0 65 76 65 6c 20 31 20 28 2d 76 29 20 6f 72 20 68 69 67 68 65 72 20 69 66 0a 61 6e 79 20 66 69 6c evel.1.(-v).or.higher.if.any.fil
1cc0 65 20 66 61 69 6c 73 20 74 68 65 20 74 65 73 74 20 77 68 65 6e 20 74 65 73 74 69 6e 67 20 6d 75 e.fails.the.test.when.testing.mu
1ce0 6c 74 69 70 6c 65 20 66 69 6c 65 73 2e 0a 0a 41 20 73 65 63 6f 6e 64 20 27 2e 6c 7a 27 20 65 78 ltiple.files...A.second.'.lz'.ex
1d00 74 65 6e 73 69 6f 6e 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 61 64 64 65 64 20 74 6f 20 74 68 tension.is.no.longer.added.to.th
1d20 65 20 61 72 67 75 6d 65 6e 74 20 6f 66 20 27 2d 6f 27 20 69 66 0a 69 74 20 61 6c 72 65 61 64 79 e.argument.of.'-o'.if.it.already
1d40 20 65 6e 64 73 20 69 6e 20 27 2e 6c 7a 27 20 6f 72 20 27 2e 74 6c 7a 27 2e 0a 0a 49 6e 20 63 61 .ends.in.'.lz'.or.'.tlz'...In.ca
1d60 73 65 20 6f 66 20 28 64 65 29 63 6f 6d 70 72 65 73 73 65 64 20 73 69 7a 65 20 6d 69 73 6d 61 74 se.of.(de)compressed.size.mismat
1d80 63 68 2c 20 74 68 65 20 73 74 6f 72 65 64 20 73 69 7a 65 20 69 73 20 6e 6f 77 20 61 6c 73 6f 0a ch,.the.stored.size.is.now.also.
1da0 73 68 6f 77 6e 20 69 6e 20 68 65 78 61 64 65 63 69 6d 61 6c 20 74 6f 20 65 61 73 65 20 76 69 73 shown.in.hexadecimal.to.ease.vis
1dc0 75 61 6c 20 63 6f 6d 70 61 72 69 73 6f 6e 2e 0a 0a 54 68 65 20 64 69 63 74 69 6f 6e 61 72 79 20 ual.comparison...The.dictionary.
1de0 73 69 7a 65 20 69 73 20 6e 6f 77 20 73 68 6f 77 6e 20 61 74 20 76 65 72 62 6f 73 69 74 79 20 6c size.is.now.shown.at.verbosity.l
1e00 65 76 65 6c 20 34 20 28 2d 76 76 76 76 29 20 77 68 65 6e 0a 64 65 63 6f 6d 70 72 65 73 73 69 6e evel.4.(-vvvv).when.decompressin
1e20 67 20 6f 72 20 74 65 73 74 69 6e 67 2e 0a 0a 54 68 65 20 6e 65 77 20 63 68 61 70 74 65 72 20 22 g.or.testing...The.new.chapter."
1e40 4d 65 61 6e 69 6e 67 20 6f 66 20 6c 7a 69 70 27 73 20 6f 75 74 70 75 74 22 20 68 61 73 20 62 65 Meaning.of.lzip's.output".has.be
1e60 65 6e 20 61 64 64 65 64 20 74 6f 20 74 68 65 20 6d 61 6e 75 61 6c 2e 0a 00 00 00 00 00 00 00 00 en.added.to.the.manual..........
1e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2000 6c 7a 69 70 2d 31 2e 32 30 2f 52 45 41 44 4d 45 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 lzip-1.20/README................
2020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
2080 30 30 31 33 33 30 36 00 31 33 36 36 34 37 33 36 35 34 35 00 30 31 33 34 35 30 00 20 30 00 00 00 0013306.13664736545.013450..0...
20a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2100 00 75 73 74 61 72 20 20 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...mohammad...............
2120 00 00 00 00 00 00 00 00 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........mohammad...............
2140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2200 44 65 73 63 72 69 70 74 69 6f 6e 0a 0a 4c 7a 69 70 20 69 73 20 61 20 6c 6f 73 73 6c 65 73 73 20 Description..Lzip.is.a.lossless.
2220 64 61 74 61 20 63 6f 6d 70 72 65 73 73 6f 72 20 77 69 74 68 20 61 20 75 73 65 72 20 69 6e 74 65 data.compressor.with.a.user.inte
2240 72 66 61 63 65 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 65 0a 6f 6e 65 20 6f 66 20 67 7a 69 70 rface.similar.to.the.one.of.gzip
2260 20 6f 72 20 62 7a 69 70 32 2e 20 4c 7a 69 70 20 63 61 6e 20 63 6f 6d 70 72 65 73 73 20 61 62 6f .or.bzip2..Lzip.can.compress.abo
2280 75 74 20 61 73 20 66 61 73 74 20 61 73 20 67 7a 69 70 20 28 6c 7a 69 70 20 2d 30 29 2c 0a 6f 72 ut.as.fast.as.gzip.(lzip.-0),.or
22a0 20 63 6f 6d 70 72 65 73 73 20 6d 6f 73 74 20 66 69 6c 65 73 20 6d 6f 72 65 20 74 68 61 6e 20 62 .compress.most.files.more.than.b
22c0 7a 69 70 32 20 28 6c 7a 69 70 20 2d 39 29 2e 20 44 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 73 70 zip2.(lzip.-9)..Decompression.sp
22e0 65 65 64 20 69 73 0a 69 6e 74 65 72 6d 65 64 69 61 74 65 20 62 65 74 77 65 65 6e 20 67 7a 69 70 eed.is.intermediate.between.gzip
2300 20 61 6e 64 20 62 7a 69 70 32 2e 20 4c 7a 69 70 20 69 73 20 62 65 74 74 65 72 20 74 68 61 6e 20 .and.bzip2..Lzip.is.better.than.
2320 67 7a 69 70 20 61 6e 64 20 62 7a 69 70 32 0a 66 72 6f 6d 20 61 20 64 61 74 61 20 72 65 63 6f 76 gzip.and.bzip2.from.a.data.recov
2340 65 72 79 20 70 65 72 73 70 65 63 74 69 76 65 2e 0a 0a 54 68 65 20 6c 7a 69 70 20 66 69 6c 65 20 ery.perspective...The.lzip.file.
2360 66 6f 72 6d 61 74 20 69 73 20 64 65 73 69 67 6e 65 64 20 66 6f 72 20 64 61 74 61 20 73 68 61 72 format.is.designed.for.data.shar
2380 69 6e 67 20 61 6e 64 20 6c 6f 6e 67 2d 74 65 72 6d 0a 61 72 63 68 69 76 69 6e 67 2c 20 74 61 6b ing.and.long-term.archiving,.tak
23a0 69 6e 67 20 69 6e 74 6f 20 61 63 63 6f 75 6e 74 20 62 6f 74 68 20 64 61 74 61 20 69 6e 74 65 67 ing.into.account.both.data.integ
23c0 72 69 74 79 20 61 6e 64 20 64 65 63 6f 64 65 72 0a 61 76 61 69 6c 61 62 69 6c 69 74 79 3a 0a 0a rity.and.decoder.availability:..
23e0 20 20 20 2a 20 54 68 65 20 6c 7a 69 70 20 66 6f 72 6d 61 74 20 70 72 6f 76 69 64 65 73 20 76 65 ...*.The.lzip.format.provides.ve
2400 72 79 20 73 61 66 65 20 69 6e 74 65 67 72 69 74 79 20 63 68 65 63 6b 69 6e 67 20 61 6e 64 20 73 ry.safe.integrity.checking.and.s
2420 6f 6d 65 20 64 61 74 61 0a 20 20 20 20 20 72 65 63 6f 76 65 72 79 20 6d 65 61 6e 73 2e 20 54 68 ome.data......recovery.means..Th
2440 65 20 6c 7a 69 70 72 65 63 6f 76 65 72 20 70 72 6f 67 72 61 6d 20 63 61 6e 20 72 65 70 61 69 72 e.lziprecover.program.can.repair
2460 20 62 69 74 2d 66 6c 69 70 20 65 72 72 6f 72 73 0a 20 20 20 20 20 28 6f 6e 65 20 6f 66 20 74 68 .bit-flip.errors......(one.of.th
2480 65 20 6d 6f 73 74 20 63 6f 6d 6d 6f 6e 20 66 6f 72 6d 73 20 6f 66 20 64 61 74 61 20 63 6f 72 72 e.most.common.forms.of.data.corr
24a0 75 70 74 69 6f 6e 29 20 69 6e 20 6c 7a 69 70 20 66 69 6c 65 73 2c 0a 20 20 20 20 20 61 6e 64 20 uption).in.lzip.files,......and.
24c0 70 72 6f 76 69 64 65 73 20 64 61 74 61 20 72 65 63 6f 76 65 72 79 20 63 61 70 61 62 69 6c 69 74 provides.data.recovery.capabilit
24e0 69 65 73 2c 20 69 6e 63 6c 75 64 69 6e 67 20 65 72 72 6f 72 2d 63 68 65 63 6b 65 64 0a 20 20 20 ies,.including.error-checked....
2500 20 20 6d 65 72 67 69 6e 67 20 6f 66 20 64 61 6d 61 67 65 64 20 63 6f 70 69 65 73 20 6f 66 20 61 ..merging.of.damaged.copies.of.a
2520 20 66 69 6c 65 2e 0a 0a 20 20 20 2a 20 54 68 65 20 6c 7a 69 70 20 66 6f 72 6d 61 74 20 69 73 20 .file......*.The.lzip.format.is.
2540 61 73 20 73 69 6d 70 6c 65 20 61 73 20 70 6f 73 73 69 62 6c 65 20 28 62 75 74 20 6e 6f 74 20 73 as.simple.as.possible.(but.not.s
2560 69 6d 70 6c 65 72 29 2e 20 54 68 65 0a 20 20 20 20 20 6c 7a 69 70 20 6d 61 6e 75 61 6c 20 70 72 impler)..The......lzip.manual.pr
2580 6f 76 69 64 65 73 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 6f 66 20 61 20 73 69 6d 70 ovides.the.source.code.of.a.simp
25a0 6c 65 20 64 65 63 6f 6d 70 72 65 73 73 6f 72 20 61 6c 6f 6e 67 0a 20 20 20 20 20 77 69 74 68 20 le.decompressor.along......with.
25c0 61 20 64 65 74 61 69 6c 65 64 20 65 78 70 6c 61 6e 61 74 69 6f 6e 20 6f 66 20 68 6f 77 20 69 74 a.detailed.explanation.of.how.it
25e0 20 77 6f 72 6b 73 2c 20 73 6f 20 74 68 61 74 20 77 69 74 68 20 74 68 65 20 6f 6e 6c 79 0a 20 20 .works,.so.that.with.the.only...
2600 20 20 20 68 65 6c 70 20 6f 66 20 74 68 65 20 6c 7a 69 70 20 6d 61 6e 75 61 6c 20 69 74 20 77 6f ...help.of.the.lzip.manual.it.wo
2620 75 6c 64 20 62 65 20 70 6f 73 73 69 62 6c 65 20 66 6f 72 20 61 20 64 69 67 69 74 61 6c 0a 20 20 uld.be.possible.for.a.digital...
2640 20 20 20 61 72 63 68 61 65 6f 6c 6f 67 69 73 74 20 74 6f 20 65 78 74 72 61 63 74 20 74 68 65 20 ...archaeologist.to.extract.the.
2660 64 61 74 61 20 66 72 6f 6d 20 61 20 6c 7a 69 70 20 66 69 6c 65 20 6c 6f 6e 67 20 61 66 74 65 72 data.from.a.lzip.file.long.after
2680 0a 20 20 20 20 20 71 75 61 6e 74 75 6d 20 63 6f 6d 70 75 74 65 72 73 20 65 76 65 6e 74 75 61 6c ......quantum.computers.eventual
26a0 6c 79 20 72 65 6e 64 65 72 20 4c 5a 4d 41 20 6f 62 73 6f 6c 65 74 65 2e 0a 0a 20 20 20 2a 20 41 ly.render.LZMA.obsolete......*.A
26c0 64 64 69 74 69 6f 6e 61 6c 6c 79 20 74 68 65 20 6c 7a 69 70 20 72 65 66 65 72 65 6e 63 65 20 69 dditionally.the.lzip.reference.i
26e0 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 69 73 20 63 6f 70 79 6c 65 66 74 65 64 2c 20 77 68 69 mplementation.is.copylefted,.whi
2700 63 68 0a 20 20 20 20 20 67 75 61 72 61 6e 74 65 65 73 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 ch......guarantees.that.it.will.
2720 72 65 6d 61 69 6e 20 66 72 65 65 20 66 6f 72 65 76 65 72 2e 0a 0a 41 20 6e 69 63 65 20 66 65 61 remain.free.forever...A.nice.fea
2740 74 75 72 65 20 6f 66 20 74 68 65 20 6c 7a 69 70 20 66 6f 72 6d 61 74 20 69 73 20 74 68 61 74 20 ture.of.the.lzip.format.is.that.
2760 61 20 63 6f 72 72 75 70 74 20 62 79 74 65 20 69 73 20 65 61 73 69 65 72 20 74 6f 0a 72 65 70 61 a.corrupt.byte.is.easier.to.repa
2780 69 72 20 74 68 65 20 6e 65 61 72 65 72 20 69 74 20 69 73 20 66 72 6f 6d 20 74 68 65 20 62 65 67 ir.the.nearer.it.is.from.the.beg
27a0 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 66 69 6c 65 2e 20 54 68 65 72 65 66 6f 72 65 2c 20 77 inning.of.the.file..Therefore,.w
27c0 69 74 68 0a 74 68 65 20 68 65 6c 70 20 6f 66 20 6c 7a 69 70 72 65 63 6f 76 65 72 2c 20 6c 6f 73 ith.the.help.of.lziprecover,.los
27e0 69 6e 67 20 61 6e 20 65 6e 74 69 72 65 20 61 72 63 68 69 76 65 20 6a 75 73 74 20 62 65 63 61 75 ing.an.entire.archive.just.becau
2800 73 65 20 6f 66 20 61 0a 63 6f 72 72 75 70 74 20 62 79 74 65 20 6e 65 61 72 20 74 68 65 20 62 65 se.of.a.corrupt.byte.near.the.be
2820 67 69 6e 6e 69 6e 67 20 69 73 20 61 20 74 68 69 6e 67 20 6f 66 20 74 68 65 20 70 61 73 74 2e 0a ginning.is.a.thing.of.the.past..
2840 0a 4c 7a 69 70 20 75 73 65 73 20 74 68 65 20 73 61 6d 65 20 77 65 6c 6c 2d 64 65 66 69 6e 65 64 .Lzip.uses.the.same.well-defined
2860 20 65 78 69 74 20 73 74 61 74 75 73 20 76 61 6c 75 65 73 20 75 73 65 64 20 62 79 20 62 7a 69 70 .exit.status.values.used.by.bzip
2880 32 2c 20 77 68 69 63 68 0a 6d 61 6b 65 73 20 69 74 20 73 61 66 65 72 20 74 68 61 6e 20 63 6f 6d 2,.which.makes.it.safer.than.com
28a0 70 72 65 73 73 6f 72 73 20 72 65 74 75 72 6e 69 6e 67 20 61 6d 62 69 67 75 6f 75 73 20 77 61 72 pressors.returning.ambiguous.war
28c0 6e 69 6e 67 20 76 61 6c 75 65 73 20 28 6c 69 6b 65 0a 67 7a 69 70 29 20 77 68 65 6e 20 69 74 20 ning.values.(like.gzip).when.it.
28e0 69 73 20 75 73 65 64 20 61 73 20 61 20 62 61 63 6b 20 65 6e 64 20 66 6f 72 20 6f 74 68 65 72 20 is.used.as.a.back.end.for.other.
2900 70 72 6f 67 72 61 6d 73 20 6c 69 6b 65 20 74 61 72 20 6f 72 0a 7a 75 74 69 6c 73 2e 0a 0a 4c 7a programs.like.tar.or.zutils...Lz
2920 69 70 20 77 69 6c 6c 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 75 73 65 20 74 68 65 20 73 6d ip.will.automatically.use.the.sm
2940 61 6c 6c 65 73 74 20 70 6f 73 73 69 62 6c 65 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 allest.possible.dictionary.size.
2960 66 6f 72 0a 65 61 63 68 20 66 69 6c 65 20 77 69 74 68 6f 75 74 20 65 78 63 65 65 64 69 6e 67 20 for.each.file.without.exceeding.
2980 74 68 65 20 67 69 76 65 6e 20 6c 69 6d 69 74 2e 20 4b 65 65 70 20 69 6e 20 6d 69 6e 64 20 74 68 the.given.limit..Keep.in.mind.th
29a0 61 74 20 74 68 65 0a 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6d 65 6d 6f 72 79 20 72 65 71 75 at.the.decompression.memory.requ
29c0 69 72 65 6d 65 6e 74 20 69 73 20 61 66 66 65 63 74 65 64 20 61 74 20 63 6f 6d 70 72 65 73 73 69 irement.is.affected.at.compressi
29e0 6f 6e 20 74 69 6d 65 20 62 79 20 74 68 65 0a 63 68 6f 69 63 65 20 6f 66 20 64 69 63 74 69 6f 6e on.time.by.the.choice.of.diction
2a00 61 72 79 20 73 69 7a 65 20 6c 69 6d 69 74 2e 0a 0a 54 68 65 20 61 6d 6f 75 6e 74 20 6f 66 20 6d ary.size.limit...The.amount.of.m
2a20 65 6d 6f 72 79 20 72 65 71 75 69 72 65 64 20 66 6f 72 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 69 emory.required.for.compression.i
2a40 73 20 61 62 6f 75 74 20 31 20 6f 72 20 32 20 74 69 6d 65 73 20 74 68 65 0a 64 69 63 74 69 6f 6e s.about.1.or.2.times.the.diction
2a60 61 72 79 20 73 69 7a 65 20 6c 69 6d 69 74 20 28 31 20 69 66 20 69 6e 70 75 74 20 66 69 6c 65 20 ary.size.limit.(1.if.input.file.
2a80 73 69 7a 65 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a size.is.less.than.dictionary.siz
2aa0 65 0a 6c 69 6d 69 74 2c 20 65 6c 73 65 20 32 29 20 70 6c 75 73 20 39 20 74 69 6d 65 73 20 74 68 e.limit,.else.2).plus.9.times.th
2ac0 65 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 72 65 61 6c 6c 79 20 75 73 65 64 2e 20 54 e.dictionary.size.really.used..T
2ae0 68 65 20 6f 70 74 69 6f 6e 0a 27 2d 30 27 20 69 73 20 73 70 65 63 69 61 6c 20 61 6e 64 20 6f 6e he.option.'-0'.is.special.and.on
2b00 6c 79 20 72 65 71 75 69 72 65 73 20 61 62 6f 75 74 20 31 2e 35 20 4d 69 42 20 61 74 20 6d 6f 73 ly.requires.about.1.5.MiB.at.mos
2b20 74 2e 20 54 68 65 20 61 6d 6f 75 6e 74 20 6f 66 0a 6d 65 6d 6f 72 79 20 72 65 71 75 69 72 65 64 t..The.amount.of.memory.required
2b40 20 66 6f 72 20 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 69 73 20 61 62 6f 75 74 20 34 36 20 6b .for.decompression.is.about.46.k
2b60 42 20 6c 61 72 67 65 72 20 74 68 61 6e 20 74 68 65 0a 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a B.larger.than.the.dictionary.siz
2b80 65 20 72 65 61 6c 6c 79 20 75 73 65 64 2e 0a 0a 57 68 65 6e 20 63 6f 6d 70 72 65 73 73 69 6e 67 e.really.used...When.compressing
2ba0 2c 20 6c 7a 69 70 20 72 65 70 6c 61 63 65 73 20 65 76 65 72 79 20 66 69 6c 65 20 67 69 76 65 6e ,.lzip.replaces.every.file.given
2bc0 20 69 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 0a 77 69 74 68 20 61 20 63 6f 6d 70 .in.the.command.line.with.a.comp
2be0 72 65 73 73 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 69 74 73 65 6c 66 2c 20 77 69 74 68 20 74 ressed.version.of.itself,.with.t
2c00 68 65 20 6e 61 6d 65 20 22 6f 72 69 67 69 6e 61 6c 5f 6e 61 6d 65 2e 6c 7a 22 2e 0a 57 68 65 6e he.name."original_name.lz"..When
2c20 20 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 2c 20 6c 7a 69 70 20 61 74 74 65 6d 70 74 73 20 74 6f .decompressing,.lzip.attempts.to
2c40 20 67 75 65 73 73 20 74 68 65 20 6e 61 6d 65 20 66 6f 72 20 74 68 65 20 64 65 63 6f 6d 70 72 65 .guess.the.name.for.the.decompre
2c60 73 73 65 64 0a 66 69 6c 65 20 66 72 6f 6d 20 74 68 61 74 20 6f 66 20 74 68 65 20 63 6f 6d 70 72 ssed.file.from.that.of.the.compr
2c80 65 73 73 65 64 20 66 69 6c 65 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 0a 0a 66 69 6c 65 6e 61 6d 65 essed.file.as.follows:..filename
2ca0 2e 6c 7a 20 20 20 20 62 65 63 6f 6d 65 73 20 20 20 66 69 6c 65 6e 61 6d 65 0a 66 69 6c 65 6e 61 .lz....becomes...filename.filena
2cc0 6d 65 2e 74 6c 7a 20 20 20 62 65 63 6f 6d 65 73 20 20 20 66 69 6c 65 6e 61 6d 65 2e 74 61 72 0a me.tlz...becomes...filename.tar.
2ce0 61 6e 79 6f 74 68 65 72 6e 61 6d 65 20 20 20 62 65 63 6f 6d 65 73 20 20 20 61 6e 79 6f 74 68 65 anyothername...becomes...anyothe
2d00 72 6e 61 6d 65 2e 6f 75 74 0a 0a 28 44 65 29 63 6f 6d 70 72 65 73 73 69 6e 67 20 61 20 66 69 6c rname.out..(De)compressing.a.fil
2d20 65 20 69 73 20 6d 75 63 68 20 6c 69 6b 65 20 63 6f 70 79 69 6e 67 20 6f 72 20 6d 6f 76 69 6e 67 e.is.much.like.copying.or.moving
2d40 20 69 74 3b 20 74 68 65 72 65 66 6f 72 65 20 6c 7a 69 70 0a 70 72 65 73 65 72 76 65 73 20 74 68 .it;.therefore.lzip.preserves.th
2d60 65 20 61 63 63 65 73 73 20 61 6e 64 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 64 61 74 65 73 2c e.access.and.modification.dates,
2d80 20 70 65 72 6d 69 73 73 69 6f 6e 73 2c 20 61 6e 64 2c 20 77 68 65 6e 0a 70 6f 73 73 69 62 6c 65 .permissions,.and,.when.possible
2da0 2c 20 6f 77 6e 65 72 73 68 69 70 20 6f 66 20 74 68 65 20 66 69 6c 65 20 6a 75 73 74 20 61 73 20 ,.ownership.of.the.file.just.as.
2dc0 22 63 70 20 2d 70 22 20 64 6f 65 73 2e 20 28 49 66 20 74 68 65 20 75 73 65 72 20 49 44 20 6f 72 "cp.-p".does..(If.the.user.ID.or
2de0 0a 74 68 65 20 67 72 6f 75 70 20 49 44 20 63 61 6e 27 74 20 62 65 20 64 75 70 6c 69 63 61 74 65 .the.group.ID.can't.be.duplicate
2e00 64 2c 20 74 68 65 20 66 69 6c 65 20 70 65 72 6d 69 73 73 69 6f 6e 20 62 69 74 73 20 53 5f 49 53 d,.the.file.permission.bits.S_IS
2e20 55 49 44 20 61 6e 64 0a 53 5f 49 53 47 49 44 20 61 72 65 20 63 6c 65 61 72 65 64 29 2e 0a 0a 4c UID.and.S_ISGID.are.cleared)...L
2e40 7a 69 70 20 69 73 20 61 62 6c 65 20 74 6f 20 72 65 61 64 20 66 72 6f 6d 20 73 6f 6d 65 20 74 79 zip.is.able.to.read.from.some.ty
2e60 70 65 73 20 6f 66 20 6e 6f 6e 20 72 65 67 75 6c 61 72 20 66 69 6c 65 73 20 69 66 20 74 68 65 0a pes.of.non.regular.files.if.the.
2e80 22 2d 2d 73 74 64 6f 75 74 22 20 6f 70 74 69 6f 6e 20 69 73 20 73 70 65 63 69 66 69 65 64 2e 0a "--stdout".option.is.specified..
2ea0 0a 49 66 20 6e 6f 20 66 69 6c 65 20 6e 61 6d 65 73 20 61 72 65 20 73 70 65 63 69 66 69 65 64 2c .If.no.file.names.are.specified,
2ec0 20 6c 7a 69 70 20 63 6f 6d 70 72 65 73 73 65 73 20 28 6f 72 20 64 65 63 6f 6d 70 72 65 73 73 65 .lzip.compresses.(or.decompresse
2ee0 73 29 20 66 72 6f 6d 0a 73 74 61 6e 64 61 72 64 20 69 6e 70 75 74 20 74 6f 20 73 74 61 6e 64 61 s).from.standard.input.to.standa
2f00 72 64 20 6f 75 74 70 75 74 2e 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 6c 7a 69 70 20 77 69 rd.output..In.this.case,.lzip.wi
2f20 6c 6c 20 64 65 63 6c 69 6e 65 20 74 6f 0a 77 72 69 74 65 20 63 6f 6d 70 72 65 73 73 65 64 20 6f ll.decline.to.write.compressed.o
2f40 75 74 70 75 74 20 74 6f 20 61 20 74 65 72 6d 69 6e 61 6c 2c 20 61 73 20 74 68 69 73 20 77 6f 75 utput.to.a.terminal,.as.this.wou
2f60 6c 64 20 62 65 20 65 6e 74 69 72 65 6c 79 0a 69 6e 63 6f 6d 70 72 65 68 65 6e 73 69 62 6c 65 20 ld.be.entirely.incomprehensible.
2f80 61 6e 64 20 74 68 65 72 65 66 6f 72 65 20 70 6f 69 6e 74 6c 65 73 73 2e 0a 0a 4c 7a 69 70 20 77 and.therefore.pointless...Lzip.w
2fa0 69 6c 6c 20 63 6f 72 72 65 63 74 6c 79 20 64 65 63 6f 6d 70 72 65 73 73 20 61 20 66 69 6c 65 20 ill.correctly.decompress.a.file.
2fc0 77 68 69 63 68 20 69 73 20 74 68 65 20 63 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 20 6f 66 20 74 77 which.is.the.concatenation.of.tw
2fe0 6f 0a 6f 72 20 6d 6f 72 65 20 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 73 2e 20 54 68 65 20 o.or.more.compressed.files..The.
3000 72 65 73 75 6c 74 20 69 73 20 74 68 65 20 63 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 20 6f 66 20 74 result.is.the.concatenation.of.t
3020 68 65 0a 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 64 65 63 6f 6d 70 72 65 73 73 65 64 20 66 69 he.corresponding.decompressed.fi
3040 6c 65 73 2e 20 49 6e 74 65 67 72 69 74 79 20 74 65 73 74 69 6e 67 20 6f 66 20 63 6f 6e 63 61 74 les..Integrity.testing.of.concat
3060 65 6e 61 74 65 64 0a 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 73 20 69 73 20 61 6c 73 6f 20 enated.compressed.files.is.also.
3080 73 75 70 70 6f 72 74 65 64 2e 0a 0a 4c 7a 69 70 20 63 61 6e 20 70 72 6f 64 75 63 65 20 6d 75 6c supported...Lzip.can.produce.mul
30a0 74 69 6d 65 6d 62 65 72 20 66 69 6c 65 73 2c 20 61 6e 64 20 6c 7a 69 70 72 65 63 6f 76 65 72 20 timember.files,.and.lziprecover.
30c0 63 61 6e 20 73 61 66 65 6c 79 20 72 65 63 6f 76 65 72 0a 74 68 65 20 75 6e 64 61 6d 61 67 65 64 can.safely.recover.the.undamaged
30e0 20 6d 65 6d 62 65 72 73 20 69 6e 20 63 61 73 65 20 6f 66 20 66 69 6c 65 20 64 61 6d 61 67 65 2e .members.in.case.of.file.damage.
3100 20 4c 7a 69 70 20 63 61 6e 20 61 6c 73 6f 20 73 70 6c 69 74 20 74 68 65 0a 63 6f 6d 70 72 65 73 .Lzip.can.also.split.the.compres
3120 73 65 64 20 6f 75 74 70 75 74 20 69 6e 20 76 6f 6c 75 6d 65 73 20 6f 66 20 61 20 67 69 76 65 6e sed.output.in.volumes.of.a.given
3140 20 73 69 7a 65 2c 20 65 76 65 6e 20 77 68 65 6e 20 72 65 61 64 69 6e 67 20 66 72 6f 6d 0a 73 74 .size,.even.when.reading.from.st
3160 61 6e 64 61 72 64 20 69 6e 70 75 74 2e 20 54 68 69 73 20 61 6c 6c 6f 77 73 20 74 68 65 20 64 69 andard.input..This.allows.the.di
3180 72 65 63 74 20 63 72 65 61 74 69 6f 6e 20 6f 66 20 6d 75 6c 74 69 76 6f 6c 75 6d 65 0a 63 6f 6d rect.creation.of.multivolume.com
31a0 70 72 65 73 73 65 64 20 74 61 72 20 61 72 63 68 69 76 65 73 2e 0a 0a 4c 7a 69 70 20 69 73 20 61 pressed.tar.archives...Lzip.is.a
31c0 62 6c 65 20 74 6f 20 63 6f 6d 70 72 65 73 73 20 61 6e 64 20 64 65 63 6f 6d 70 72 65 73 73 20 73 ble.to.compress.and.decompress.s
31e0 74 72 65 61 6d 73 20 6f 66 20 75 6e 6c 69 6d 69 74 65 64 20 73 69 7a 65 20 62 79 0a 61 75 74 6f treams.of.unlimited.size.by.auto
3200 6d 61 74 69 63 61 6c 6c 79 20 63 72 65 61 74 69 6e 67 20 6d 75 6c 74 69 6d 65 6d 62 65 72 20 6f matically.creating.multimember.o
3220 75 74 70 75 74 2e 20 54 68 65 20 6d 65 6d 62 65 72 73 20 73 6f 20 63 72 65 61 74 65 64 20 61 72 utput..The.members.so.created.ar
3240 65 0a 6c 61 72 67 65 2c 20 61 62 6f 75 74 20 32 20 50 69 42 20 65 61 63 68 2e 0a 0a 49 6e 20 73 e.large,.about.2.PiB.each...In.s
3260 70 69 74 65 20 6f 66 20 69 74 73 20 6e 61 6d 65 20 28 4c 65 6d 70 65 6c 2d 5a 69 76 2d 4d 61 72 pite.of.its.name.(Lempel-Ziv-Mar
3280 6b 6f 76 20 63 68 61 69 6e 2d 41 6c 67 6f 72 69 74 68 6d 29 2c 20 4c 5a 4d 41 20 69 73 20 6e 6f kov.chain-Algorithm),.LZMA.is.no
32a0 74 20 61 0a 63 6f 6e 63 72 65 74 65 20 61 6c 67 6f 72 69 74 68 6d 3b 20 69 74 20 69 73 20 6d 6f t.a.concrete.algorithm;.it.is.mo
32c0 72 65 20 6c 69 6b 65 20 22 61 6e 79 20 61 6c 67 6f 72 69 74 68 6d 20 75 73 69 6e 67 20 74 68 65 re.like."any.algorithm.using.the
32e0 20 4c 5a 4d 41 20 63 6f 64 69 6e 67 0a 73 63 68 65 6d 65 22 2e 20 46 6f 72 20 65 78 61 6d 70 6c .LZMA.coding.scheme"..For.exampl
3300 65 2c 20 74 68 65 20 6f 70 74 69 6f 6e 20 27 2d 30 27 20 6f 66 20 6c 7a 69 70 20 75 73 65 73 20 e,.the.option.'-0'.of.lzip.uses.
3320 74 68 65 20 73 63 68 65 6d 65 20 69 6e 20 61 6c 6d 6f 73 74 0a 74 68 65 20 73 69 6d 70 6c 65 73 the.scheme.in.almost.the.simples
3340 74 20 77 61 79 20 70 6f 73 73 69 62 6c 65 3b 20 69 73 73 75 69 6e 67 20 74 68 65 20 6c 6f 6e 67 t.way.possible;.issuing.the.long
3360 65 73 74 20 6d 61 74 63 68 20 69 74 20 63 61 6e 20 66 69 6e 64 2c 20 6f 72 20 61 0a 6c 69 74 65 est.match.it.can.find,.or.a.lite
3380 72 61 6c 20 62 79 74 65 20 69 66 20 69 74 20 63 61 6e 27 74 20 66 69 6e 64 20 61 20 6d 61 74 63 ral.byte.if.it.can't.find.a.matc
33a0 68 2e 20 49 6e 76 65 72 73 65 6c 79 2c 20 61 20 6d 75 63 68 20 6d 6f 72 65 20 65 6c 61 62 6f 72 h..Inversely,.a.much.more.elabor
33c0 61 74 65 64 0a 77 61 79 20 6f 66 20 66 69 6e 64 69 6e 67 20 63 6f 64 69 6e 67 20 73 65 71 75 65 ated.way.of.finding.coding.seque
33e0 6e 63 65 73 20 6f 66 20 6d 69 6e 69 6d 75 6d 20 73 69 7a 65 20 74 68 61 6e 20 74 68 65 20 6f 6e nces.of.minimum.size.than.the.on
3400 65 20 63 75 72 72 65 6e 74 6c 79 0a 75 73 65 64 20 62 79 20 6c 7a 69 70 20 63 6f 75 6c 64 20 62 e.currently.used.by.lzip.could.b
3420 65 20 64 65 76 65 6c 6f 70 65 64 2c 20 61 6e 64 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 73 e.developed,.and.the.resulting.s
3440 65 71 75 65 6e 63 65 20 63 6f 75 6c 64 20 61 6c 73 6f 0a 62 65 20 63 6f 64 65 64 20 75 73 69 6e equence.could.also.be.coded.usin
3460 67 20 74 68 65 20 4c 5a 4d 41 20 63 6f 64 69 6e 67 20 73 63 68 65 6d 65 2e 0a 0a 4c 7a 69 70 20 g.the.LZMA.coding.scheme...Lzip.
3480 63 75 72 72 65 6e 74 6c 79 20 69 6d 70 6c 65 6d 65 6e 74 73 20 74 77 6f 20 76 61 72 69 61 6e 74 currently.implements.two.variant
34a0 73 20 6f 66 20 74 68 65 20 4c 5a 4d 41 20 61 6c 67 6f 72 69 74 68 6d 3b 20 66 61 73 74 0a 28 75 s.of.the.LZMA.algorithm;.fast.(u
34c0 73 65 64 20 62 79 20 6f 70 74 69 6f 6e 20 27 2d 30 27 29 20 61 6e 64 20 6e 6f 72 6d 61 6c 20 28 sed.by.option.'-0').and.normal.(
34e0 75 73 65 64 20 62 79 20 61 6c 6c 20 6f 74 68 65 72 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6c 65 used.by.all.other.compression.le
3500 76 65 6c 73 29 2e 0a 0a 54 68 65 20 68 69 67 68 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6f 66 20 vels)...The.high.compression.of.
3520 4c 5a 4d 41 20 63 6f 6d 65 73 20 66 72 6f 6d 20 63 6f 6d 62 69 6e 69 6e 67 20 74 77 6f 20 62 61 LZMA.comes.from.combining.two.ba
3540 73 69 63 2c 20 77 65 6c 6c 2d 70 72 6f 76 65 6e 0a 63 6f 6d 70 72 65 73 73 69 6f 6e 20 69 64 65 sic,.well-proven.compression.ide
3560 61 73 3a 20 73 6c 69 64 69 6e 67 20 64 69 63 74 69 6f 6e 61 72 69 65 73 20 28 4c 5a 37 37 2f 37 as:.sliding.dictionaries.(LZ77/7
3580 38 29 20 61 6e 64 20 6d 61 72 6b 6f 76 20 6d 6f 64 65 6c 73 20 28 74 68 65 0a 74 68 69 6e 67 20 8).and.markov.models.(the.thing.
35a0 75 73 65 64 20 62 79 20 65 76 65 72 79 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 61 6c 67 6f 72 69 used.by.every.compression.algori
35c0 74 68 6d 20 74 68 61 74 20 75 73 65 73 20 61 20 72 61 6e 67 65 20 65 6e 63 6f 64 65 72 20 6f 72 thm.that.uses.a.range.encoder.or
35e0 0a 73 69 6d 69 6c 61 72 20 6f 72 64 65 72 2d 30 20 65 6e 74 72 6f 70 79 20 63 6f 64 65 72 20 61 .similar.order-0.entropy.coder.a
3600 73 20 69 74 73 20 6c 61 73 74 20 73 74 61 67 65 29 20 77 69 74 68 20 73 65 67 72 65 67 61 74 69 s.its.last.stage).with.segregati
3620 6f 6e 20 6f 66 0a 63 6f 6e 74 65 78 74 73 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 77 68 61 74 on.of.contexts.according.to.what
3640 20 74 68 65 20 62 69 74 73 20 61 72 65 20 75 73 65 64 20 66 6f 72 2e 0a 0a 54 68 65 20 69 64 65 .the.bits.are.used.for...The.ide
3660 61 73 20 65 6d 62 6f 64 69 65 64 20 69 6e 20 6c 7a 69 70 20 61 72 65 20 64 75 65 20 74 6f 20 28 as.embodied.in.lzip.are.due.to.(
3680 61 74 20 6c 65 61 73 74 29 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 65 6f 70 6c 65 3a 0a at.least).the.following.people:.
36a0 41 62 72 61 68 61 6d 20 4c 65 6d 70 65 6c 20 61 6e 64 20 4a 61 63 6f 62 20 5a 69 76 20 28 66 6f Abraham.Lempel.and.Jacob.Ziv.(fo
36c0 72 20 74 68 65 20 4c 5a 20 61 6c 67 6f 72 69 74 68 6d 29 2c 20 41 6e 64 72 65 79 20 4d 61 72 6b r.the.LZ.algorithm),.Andrey.Mark
36e0 6f 76 20 28 66 6f 72 0a 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 4d 61 72 6b 6f 76 ov.(for.the.definition.of.Markov
3700 20 63 68 61 69 6e 73 29 2c 20 47 2e 4e 2e 4e 2e 20 4d 61 72 74 69 6e 20 28 66 6f 72 20 74 68 65 .chains),.G.N.N..Martin.(for.the
3720 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 0a 72 61 6e 67 65 20 65 6e 63 6f 64 69 6e 67 29 2c 20 .definition.of.range.encoding),.
3740 49 67 6f 72 20 50 61 76 6c 6f 76 20 28 66 6f 72 20 70 75 74 74 69 6e 67 20 61 6c 6c 20 74 68 65 Igor.Pavlov.(for.putting.all.the
3760 20 61 62 6f 76 65 20 74 6f 67 65 74 68 65 72 20 69 6e 0a 4c 5a 4d 41 29 2c 20 61 6e 64 20 4a 75 .above.together.in.LZMA),.and.Ju
3780 6c 69 61 6e 20 53 65 77 61 72 64 20 28 66 6f 72 20 62 7a 69 70 32 27 73 20 43 4c 49 29 2e 0a 0a lian.Seward.(for.bzip2's.CLI)...
37a0 0a 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d 32 30 31 38 20 41 6e 74 6f 6e 69 6f .Copyright.(C).2008-2018.Antonio
37c0 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 54 68 69 73 20 66 69 6c 65 20 69 73 20 66 72 65 65 20 64 .Diaz.Diaz...This.file.is.free.d
37e0 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3a 20 79 6f 75 20 68 61 76 65 20 75 6e 6c 69 6d 69 74 65 64 ocumentation:.you.have.unlimited
3800 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 63 6f 70 79 2c 0a 64 69 73 74 72 69 62 75 74 65 20 .permission.to.copy,.distribute.
3820 61 6e 64 20 6d 6f 64 69 66 79 20 69 74 2e 0a 0a 54 68 65 20 66 69 6c 65 20 4d 61 6b 65 66 69 6c and.modify.it...The.file.Makefil
3840 65 2e 69 6e 20 69 73 20 61 20 64 61 74 61 20 66 69 6c 65 20 75 73 65 64 20 62 79 20 63 6f 6e 66 e.in.is.a.data.file.used.by.conf
3860 69 67 75 72 65 20 74 6f 20 70 72 6f 64 75 63 65 20 74 68 65 0a 4d 61 6b 65 66 69 6c 65 2e 20 49 igure.to.produce.the.Makefile..I
3880 74 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 63 6f 70 79 72 69 67 68 74 20 6f 77 6e 65 72 20 61 t.has.the.same.copyright.owner.a
38a0 6e 64 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 74 68 61 74 20 63 6f 6e 66 69 67 75 72 65 0a 69 74 nd.permissions.that.configure.it
38c0 73 65 6c 66 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 self............................
38e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
39a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
39c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
39e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3a00 6c 7a 69 70 2d 31 2e 32 30 2f 61 72 67 5f 70 61 72 73 65 72 2e 63 63 00 00 00 00 00 00 00 00 00 lzip-1.20/arg_parser.cc.........
3a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3a60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
3a80 30 30 31 33 32 36 33 00 31 33 36 36 34 37 33 36 35 34 35 00 30 31 35 32 32 36 00 20 30 00 00 00 0013263.13664736545.015226..0...
3aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b00 00 75 73 74 61 72 20 20 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...mohammad...............
3b20 00 00 00 00 00 00 00 00 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........mohammad...............
3b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c00 2f 2a 20 20 41 72 67 5f 70 61 72 73 65 72 20 2d 20 50 4f 53 49 58 2f 47 4e 55 20 63 6f 6d 6d 61 /*..Arg_parser.-.POSIX/GNU.comma
3c20 6e 64 20 6c 69 6e 65 20 61 72 67 75 6d 65 6e 74 20 70 61 72 73 65 72 2e 20 28 43 2b 2b 20 76 65 nd.line.argument.parser..(C++.ve
3c40 72 73 69 6f 6e 29 0a 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 36 2d 32 30 rsion).....Copyright.(C).2006-20
3c60 31 38 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 20 54 68 69 73 20 18.Antonio.Diaz.Diaz.......This.
3c80 6c 69 62 72 61 72 79 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 2e 20 52 65 64 69 73 74 library.is.free.software..Redist
3ca0 72 69 62 75 74 69 6f 6e 20 61 6e 64 20 75 73 65 20 69 6e 20 73 6f 75 72 63 65 20 61 6e 64 0a 20 ribution.and.use.in.source.and..
3cc0 20 20 20 62 69 6e 61 72 79 20 66 6f 72 6d 73 2c 20 77 69 74 68 20 6f 72 20 77 69 74 68 6f 75 74 ...binary.forms,.with.or.without
3ce0 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 2c 20 61 72 65 20 70 65 72 6d 69 74 74 65 64 20 70 72 6f .modification,.are.permitted.pro
3d00 76 69 64 65 64 0a 20 20 20 20 74 68 61 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e vided.....that.the.following.con
3d20 64 69 74 69 6f 6e 73 20 61 72 65 20 6d 65 74 3a 0a 0a 20 20 20 20 31 2e 20 52 65 64 69 73 74 72 ditions.are.met:......1..Redistr
3d40 69 62 75 74 69 6f 6e 73 20 6f 66 20 73 6f 75 72 63 65 20 63 6f 64 65 20 6d 75 73 74 20 72 65 74 ibutions.of.source.code.must.ret
3d60 61 69 6e 20 74 68 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 67 68 74 0a 20 20 20 20 6e 6f 74 69 ain.the.above.copyright.....noti
3d80 63 65 2c 20 74 68 69 73 20 6c 69 73 74 20 6f 66 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 6e 64 20 ce,.this.list.of.conditions.and.
3da0 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 64 69 73 63 6c 61 69 6d 65 72 2e 0a 0a 20 20 20 20 32 the.following.disclaimer.......2
3dc0 2e 20 52 65 64 69 73 74 72 69 62 75 74 69 6f 6e 73 20 69 6e 20 62 69 6e 61 72 79 20 66 6f 72 6d ..Redistributions.in.binary.form
3de0 20 6d 75 73 74 20 72 65 70 72 6f 64 75 63 65 20 74 68 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 .must.reproduce.the.above.copyri
3e00 67 68 74 0a 20 20 20 20 6e 6f 74 69 63 65 2c 20 74 68 69 73 20 6c 69 73 74 20 6f 66 20 63 6f 6e ght.....notice,.this.list.of.con
3e20 64 69 74 69 6f 6e 73 20 61 6e 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 64 69 73 63 6c 61 ditions.and.the.following.discla
3e40 69 6d 65 72 20 69 6e 20 74 68 65 0a 20 20 20 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 61 6e imer.in.the.....documentation.an
3e60 64 2f 6f 72 20 6f 74 68 65 72 20 6d 61 74 65 72 69 61 6c 73 20 70 72 6f 76 69 64 65 64 20 77 69 d/or.other.materials.provided.wi
3e80 74 68 20 74 68 65 20 64 69 73 74 72 69 62 75 74 69 6f 6e 2e 0a 0a 20 20 20 20 54 68 69 73 20 6c th.the.distribution.......This.l
3ea0 69 62 72 61 72 79 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 ibrary.is.distributed.in.the.hop
3ec0 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 20 20 20 62 75 e.that.it.will.be.useful,.....bu
3ee0 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 t.WITHOUT.ANY.WARRANTY;.without.
3f00 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 20 20 20 even.the.implied.warranty.of....
3f20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 .MERCHANTABILITY.or.FITNESS.FOR.
3f40 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 0a 2a 2f 0a 0a 23 69 6e 63 6c 75 A.PARTICULAR.PURPOSE..*/..#inclu
3f60 64 65 20 3c 63 73 74 72 69 6e 67 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 73 74 72 69 6e 67 3e 0a 23 de.<cstring>.#include.<string>.#
3f80 69 6e 63 6c 75 64 65 20 3c 76 65 63 74 6f 72 3e 0a 0a 23 69 6e 63 6c 75 64 65 20 22 61 72 67 5f include.<vector>..#include."arg_
3fa0 70 61 72 73 65 72 2e 68 22 0a 0a 0a 62 6f 6f 6c 20 41 72 67 5f 70 61 72 73 65 72 3a 3a 70 61 72 parser.h"...bool.Arg_parser::par
3fc0 73 65 5f 6c 6f 6e 67 5f 6f 70 74 69 6f 6e 28 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e se_long_option(.const.char.*.con
3fe0 73 74 20 6f 70 74 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 61 72 67 2c 0a st.opt,.const.char.*.const.arg,.
4000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4020 20 20 20 20 63 6f 6e 73 74 20 4f 70 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 5b 5d 2c 20 69 6e 74 20 ....const.Option.options[],.int.
4040 26 20 61 72 67 69 6e 64 20 29 0a 20 20 7b 0a 20 20 75 6e 73 69 67 6e 65 64 20 6c 65 6e 3b 0a 20 &.argind.)...{...unsigned.len;..
4060 20 69 6e 74 20 69 6e 64 65 78 20 3d 20 2d 31 3b 0a 20 20 62 6f 6f 6c 20 65 78 61 63 74 20 3d 20 .int.index.=.-1;...bool.exact.=.
4080 66 61 6c 73 65 2c 20 61 6d 62 69 67 20 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 66 6f 72 28 20 6c 65 false,.ambig.=.false;....for(.le
40a0 6e 20 3d 20 30 3b 20 6f 70 74 5b 6c 65 6e 2b 32 5d 20 26 26 20 6f 70 74 5b 6c 65 6e 2b 32 5d 20 n.=.0;.opt[len+2].&&.opt[len+2].
40c0 21 3d 20 27 3d 27 3b 20 2b 2b 6c 65 6e 20 29 20 3b 0a 0a 20 20 2f 2f 20 54 65 73 74 20 61 6c 6c !=.'=';.++len.).;....//.Test.all
40e0 20 6c 6f 6e 67 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 65 69 74 68 65 72 20 65 78 61 63 74 20 6d .long.options.for.either.exact.m
4100 61 74 63 68 20 6f 72 20 61 62 62 72 65 76 69 61 74 65 64 20 6d 61 74 63 68 65 73 2e 0a 20 20 66 atch.or.abbreviated.matches....f
4120 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 6f 70 74 69 6f 6e 73 5b 69 5d 2e 63 6f 64 65 20 21 or(.int.i.=.0;.options[i].code.!
4140 3d 20 30 3b 20 2b 2b 69 20 29 0a 20 20 20 20 69 66 28 20 6f 70 74 69 6f 6e 73 5b 69 5d 2e 6e 61 =.0;.++i.).....if(.options[i].na
4160 6d 65 20 26 26 20 73 74 64 3a 3a 73 74 72 6e 63 6d 70 28 20 6f 70 74 69 6f 6e 73 5b 69 5d 2e 6e me.&&.std::strncmp(.options[i].n
4180 61 6d 65 2c 20 26 6f 70 74 5b 32 5d 2c 20 6c 65 6e 20 29 20 3d 3d 20 30 20 29 0a 20 20 20 20 20 ame,.&opt[2],.len.).==.0.)......
41a0 20 7b 0a 20 20 20 20 20 20 69 66 28 20 73 74 64 3a 3a 73 74 72 6c 65 6e 28 20 6f 70 74 69 6f 6e .{.......if(.std::strlen(.option
41c0 73 5b 69 5d 2e 6e 61 6d 65 20 29 20 3d 3d 20 6c 65 6e 20 29 09 2f 2f 20 45 78 61 63 74 20 6d 61 s[i].name.).==.len.).//.Exact.ma
41e0 74 63 68 20 66 6f 75 6e 64 0a 20 20 20 20 20 20 20 20 7b 20 69 6e 64 65 78 20 3d 20 69 3b 20 65 tch.found.........{.index.=.i;.e
4200 78 61 63 74 20 3d 20 74 72 75 65 3b 20 62 72 65 61 6b 3b 20 7d 0a 20 20 20 20 20 20 65 6c 73 65 xact.=.true;.break;.}.......else
4220 20 69 66 28 20 69 6e 64 65 78 20 3c 20 30 20 29 20 69 6e 64 65 78 20 3d 20 69 3b 09 09 2f 2f 20 .if(.index.<.0.).index.=.i;..//.
4240 46 69 72 73 74 20 6e 6f 6e 65 78 61 63 74 20 6d 61 74 63 68 20 66 6f 75 6e 64 0a 20 20 20 20 20 First.nonexact.match.found......
4260 20 65 6c 73 65 20 69 66 28 20 6f 70 74 69 6f 6e 73 5b 69 6e 64 65 78 5d 2e 63 6f 64 65 20 21 3d .else.if(.options[index].code.!=
4280 20 6f 70 74 69 6f 6e 73 5b 69 5d 2e 63 6f 64 65 20 7c 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 .options[i].code.||.............
42a0 20 20 20 6f 70 74 69 6f 6e 73 5b 69 6e 64 65 78 5d 2e 68 61 73 5f 61 72 67 20 21 3d 20 6f 70 74 ...options[index].has_arg.!=.opt
42c0 69 6f 6e 73 5b 69 5d 2e 68 61 73 5f 61 72 67 20 29 0a 20 20 20 20 20 20 20 20 61 6d 62 69 67 20 ions[i].has_arg.).........ambig.
42e0 3d 20 74 72 75 65 3b 09 09 2f 2f 20 53 65 63 6f 6e 64 20 6f 72 20 6c 61 74 65 72 20 6e 6f 6e 65 =.true;..//.Second.or.later.none
4300 78 61 63 74 20 6d 61 74 63 68 20 66 6f 75 6e 64 0a 20 20 20 20 20 20 7d 0a 0a 20 20 69 66 28 20 xact.match.found.......}....if(.
4320 61 6d 62 69 67 20 26 26 20 21 65 78 61 63 74 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 65 72 72 6f ambig.&&.!exact.).....{.....erro
4340 72 5f 20 3d 20 22 6f 70 74 69 6f 6e 20 27 22 3b 20 65 72 72 6f 72 5f 20 2b 3d 20 6f 70 74 3b 20 r_.=."option.'";.error_.+=.opt;.
4360 65 72 72 6f 72 5f 20 2b 3d 20 22 27 20 69 73 20 61 6d 62 69 67 75 6f 75 73 22 3b 0a 20 20 20 20 error_.+=."'.is.ambiguous";.....
4380 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 69 66 28 20 69 6e 64 65 78 return.false;.....}....if(.index
43a0 20 3c 20 30 20 29 09 09 2f 2f 20 6e 6f 74 68 69 6e 67 20 66 6f 75 6e 64 0a 20 20 20 20 7b 0a 20 .<.0.)..//.nothing.found.....{..
43c0 20 20 20 65 72 72 6f 72 5f 20 3d 20 22 75 6e 72 65 63 6f 67 6e 69 7a 65 64 20 6f 70 74 69 6f 6e ...error_.=."unrecognized.option
43e0 20 27 22 3b 20 65 72 72 6f 72 5f 20 2b 3d 20 6f 70 74 3b 20 65 72 72 6f 72 5f 20 2b 3d 20 27 5c .'";.error_.+=.opt;.error_.+=.'\
4400 27 27 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 2b '';.....return.false;.....}....+
4420 2b 61 72 67 69 6e 64 3b 0a 20 20 64 61 74 61 2e 70 75 73 68 5f 62 61 63 6b 28 20 52 65 63 6f 72 +argind;...data.push_back(.Recor
4440 64 28 20 6f 70 74 69 6f 6e 73 5b 69 6e 64 65 78 5d 2e 63 6f 64 65 20 29 20 29 3b 0a 0a 20 20 69 d(.options[index].code.).);....i
4460 66 28 20 6f 70 74 5b 6c 65 6e 2b 32 5d 20 29 09 09 2f 2f 20 27 2d 2d 3c 6c 6f 6e 67 5f 6f 70 74 f(.opt[len+2].)..//.'--<long_opt
4480 69 6f 6e 3e 3d 3c 61 72 67 75 6d 65 6e 74 3e 27 20 73 79 6e 74 61 78 0a 20 20 20 20 7b 0a 20 20 ion>=<argument>'.syntax.....{...
44a0 20 20 69 66 28 20 6f 70 74 69 6f 6e 73 5b 69 6e 64 65 78 5d 2e 68 61 73 5f 61 72 67 20 3d 3d 20 ..if(.options[index].has_arg.==.
44c0 6e 6f 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 65 72 72 6f 72 5f 20 3d 20 22 6f 70 74 no.).......{.......error_.=."opt
44e0 69 6f 6e 20 27 2d 2d 22 3b 20 65 72 72 6f 72 5f 20 2b 3d 20 6f 70 74 69 6f 6e 73 5b 69 6e 64 65 ion.'--";.error_.+=.options[inde
4500 78 5d 2e 6e 61 6d 65 3b 0a 20 20 20 20 20 20 65 72 72 6f 72 5f 20 2b 3d 20 22 27 20 64 6f 65 73 x].name;.......error_.+=."'.does
4520 6e 27 74 20 61 6c 6c 6f 77 20 61 6e 20 61 72 67 75 6d 65 6e 74 22 3b 0a 20 20 20 20 20 20 72 65 n't.allow.an.argument";.......re
4540 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 69 66 28 20 6f 70 74 69 turn.false;.......}.....if(.opti
4560 6f 6e 73 5b 69 6e 64 65 78 5d 2e 68 61 73 5f 61 72 67 20 3d 3d 20 79 65 73 20 26 26 20 21 6f 70 ons[index].has_arg.==.yes.&&.!op
4580 74 5b 6c 65 6e 2b 33 5d 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 65 72 72 6f 72 5f 20 t[len+3].).......{.......error_.
45a0 3d 20 22 6f 70 74 69 6f 6e 20 27 2d 2d 22 3b 20 65 72 72 6f 72 5f 20 2b 3d 20 6f 70 74 69 6f 6e =."option.'--";.error_.+=.option
45c0 73 5b 69 6e 64 65 78 5d 2e 6e 61 6d 65 3b 0a 20 20 20 20 20 20 65 72 72 6f 72 5f 20 2b 3d 20 22 s[index].name;.......error_.+=."
45e0 27 20 72 65 71 75 69 72 65 73 20 61 6e 20 61 72 67 75 6d 65 6e 74 22 3b 0a 20 20 20 20 20 20 72 '.requires.an.argument";.......r
4600 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 64 61 74 61 2e 62 61 eturn.false;.......}.....data.ba
4620 63 6b 28 29 2e 61 72 67 75 6d 65 6e 74 20 3d 20 26 6f 70 74 5b 6c 65 6e 2b 33 5d 3b 0a 20 20 20 ck().argument.=.&opt[len+3];....
4640 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 69 66 28 20 6f 70 74 69 6f .return.true;.....}....if(.optio
4660 6e 73 5b 69 6e 64 65 78 5d 2e 68 61 73 5f 61 72 67 20 3d 3d 20 79 65 73 20 29 0a 20 20 20 20 7b ns[index].has_arg.==.yes.).....{
4680 0a 20 20 20 20 69 66 28 20 21 61 72 67 20 7c 7c 20 21 61 72 67 5b 30 5d 20 29 0a 20 20 20 20 20 .....if(.!arg.||.!arg[0].)......
46a0 20 7b 0a 20 20 20 20 20 20 65 72 72 6f 72 5f 20 3d 20 22 6f 70 74 69 6f 6e 20 27 2d 2d 22 3b 20 .{.......error_.=."option.'--";.
46c0 65 72 72 6f 72 5f 20 2b 3d 20 6f 70 74 69 6f 6e 73 5b 69 6e 64 65 78 5d 2e 6e 61 6d 65 3b 0a 20 error_.+=.options[index].name;..
46e0 20 20 20 20 20 65 72 72 6f 72 5f 20 2b 3d 20 22 27 20 72 65 71 75 69 72 65 73 20 61 6e 20 61 72 .....error_.+=."'.requires.an.ar
4700 67 75 6d 65 6e 74 22 3b 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 gument";.......return.false;....
4720 20 20 20 7d 0a 20 20 20 20 2b 2b 61 72 67 69 6e 64 3b 20 64 61 74 61 2e 62 61 63 6b 28 29 2e 61 ...}.....++argind;.data.back().a
4740 72 67 75 6d 65 6e 74 20 3d 20 61 72 67 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a rgument.=.arg;.....return.true;.
4760 20 20 20 20 7d 0a 0a 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 7d 0a 0a 0a 62 6f 6f 6c ....}....return.true;...}...bool
4780 20 41 72 67 5f 70 61 72 73 65 72 3a 3a 70 61 72 73 65 5f 73 68 6f 72 74 5f 6f 70 74 69 6f 6e 28 .Arg_parser::parse_short_option(
47a0 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 6f 70 74 2c 20 63 6f 6e 73 74 20 63 .const.char.*.const.opt,.const.c
47c0 68 61 72 20 2a 20 63 6f 6e 73 74 20 61 72 67 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 har.*.const.arg,................
47e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 4f 70 74 69 ......................const.Opti
4800 6f 6e 20 6f 70 74 69 6f 6e 73 5b 5d 2c 20 69 6e 74 20 26 20 61 72 67 69 6e 64 20 29 0a 20 20 7b on.options[],.int.&.argind.)...{
4820 0a 20 20 69 6e 74 20 63 69 6e 64 20 3d 20 31 3b 09 09 09 2f 2f 20 63 68 61 72 61 63 74 65 72 20 ...int.cind.=.1;...//.character.
4840 69 6e 64 65 78 20 69 6e 20 6f 70 74 0a 0a 20 20 77 68 69 6c 65 28 20 63 69 6e 64 20 3e 20 30 20 index.in.opt....while(.cind.>.0.
4860 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 6e 74 20 69 6e 64 65 78 20 3d 20 2d 31 3b 0a 20 20 20 20 ).....{.....int.index.=.-1;.....
4880 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 63 20 3d 20 6f 70 74 5b 63 69 6e 64 const.unsigned.char.c.=.opt[cind
48a0 5d 3b 0a 0a 20 20 20 20 69 66 28 20 63 20 21 3d 20 30 20 29 0a 20 20 20 20 20 20 66 6f 72 28 20 ];......if(.c.!=.0.).......for(.
48c0 69 6e 74 20 69 20 3d 20 30 3b 20 6f 70 74 69 6f 6e 73 5b 69 5d 2e 63 6f 64 65 3b 20 2b 2b 69 20 int.i.=.0;.options[i].code;.++i.
48e0 29 0a 20 20 20 20 20 20 20 20 69 66 28 20 63 20 3d 3d 20 6f 70 74 69 6f 6e 73 5b 69 5d 2e 63 6f ).........if(.c.==.options[i].co
4900 64 65 20 29 0a 20 20 20 20 20 20 20 20 20 20 7b 20 69 6e 64 65 78 20 3d 20 69 3b 20 62 72 65 61 de.)...........{.index.=.i;.brea
4920 6b 3b 20 7d 0a 0a 20 20 20 20 69 66 28 20 69 6e 64 65 78 20 3c 20 30 20 29 0a 20 20 20 20 20 20 k;.}......if(.index.<.0.).......
4940 7b 0a 20 20 20 20 20 20 65 72 72 6f 72 5f 20 3d 20 22 69 6e 76 61 6c 69 64 20 6f 70 74 69 6f 6e {.......error_.=."invalid.option
4960 20 2d 2d 20 27 22 3b 20 65 72 72 6f 72 5f 20 2b 3d 20 63 3b 20 65 72 72 6f 72 5f 20 2b 3d 20 27 .--.'";.error_.+=.c;.error_.+=.'
4980 5c 27 27 3b 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 7d \'';.......return.false;.......}
49a0 0a 0a 20 20 20 20 64 61 74 61 2e 70 75 73 68 5f 62 61 63 6b 28 20 52 65 63 6f 72 64 28 20 63 20 ......data.push_back(.Record(.c.
49c0 29 20 29 3b 0a 20 20 20 20 69 66 28 20 6f 70 74 5b 2b 2b 63 69 6e 64 5d 20 3d 3d 20 30 20 29 20 ).);.....if(.opt[++cind].==.0.).
49e0 7b 20 2b 2b 61 72 67 69 6e 64 3b 20 63 69 6e 64 20 3d 20 30 3b 20 7d 09 2f 2f 20 6f 70 74 20 66 {.++argind;.cind.=.0;.}.//.opt.f
4a00 69 6e 69 73 68 65 64 0a 0a 20 20 20 20 69 66 28 20 6f 70 74 69 6f 6e 73 5b 69 6e 64 65 78 5d 2e inished......if(.options[index].
4a20 68 61 73 5f 61 72 67 20 21 3d 20 6e 6f 20 26 26 20 63 69 6e 64 20 3e 20 30 20 26 26 20 6f 70 74 has_arg.!=.no.&&.cind.>.0.&&.opt
4a40 5b 63 69 6e 64 5d 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 64 61 74 61 2e 62 61 63 6b [cind].).......{.......data.back
4a60 28 29 2e 61 72 67 75 6d 65 6e 74 20 3d 20 26 6f 70 74 5b 63 69 6e 64 5d 3b 20 2b 2b 61 72 67 69 ().argument.=.&opt[cind];.++argi
4a80 6e 64 3b 20 63 69 6e 64 20 3d 20 30 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 65 6c 73 65 20 69 nd;.cind.=.0;.......}.....else.i
4aa0 66 28 20 6f 70 74 69 6f 6e 73 5b 69 6e 64 65 78 5d 2e 68 61 73 5f 61 72 67 20 3d 3d 20 79 65 73 f(.options[index].has_arg.==.yes
4ac0 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 69 66 28 20 21 61 72 67 20 7c 7c 20 21 61 72 .).......{.......if(.!arg.||.!ar
4ae0 67 5b 30 5d 20 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 65 72 72 6f 72 5f 20 g[0].).........{.........error_.
4b00 3d 20 22 6f 70 74 69 6f 6e 20 72 65 71 75 69 72 65 73 20 61 6e 20 61 72 67 75 6d 65 6e 74 20 2d =."option.requires.an.argument.-
4b20 2d 20 27 22 3b 20 65 72 72 6f 72 5f 20 2b 3d 20 63 3b 0a 20 20 20 20 20 20 20 20 65 72 72 6f 72 -.'";.error_.+=.c;.........error
4b40 5f 20 2b 3d 20 27 5c 27 27 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b _.+=.'\'';.........return.false;
4b60 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 64 61 74 61 2e 62 61 63 6b 28 29 2e 61 72 67 .........}.......data.back().arg
4b80 75 6d 65 6e 74 20 3d 20 61 72 67 3b 20 2b 2b 61 72 67 69 6e 64 3b 20 63 69 6e 64 20 3d 20 30 3b ument.=.arg;.++argind;.cind.=.0;
4ba0 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 .......}.....}...return.true;...
4bc0 7d 0a 0a 0a 41 72 67 5f 70 61 72 73 65 72 3a 3a 41 72 67 5f 70 61 72 73 65 72 28 20 63 6f 6e 73 }...Arg_parser::Arg_parser(.cons
4be0 74 20 69 6e 74 20 61 72 67 63 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 61 t.int.argc,.const.char.*.const.a
4c00 72 67 76 5b 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 rgv[],.........................c
4c20 6f 6e 73 74 20 4f 70 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 5b 5d 2c 20 63 6f 6e 73 74 20 62 6f 6f onst.Option.options[],.const.boo
4c40 6c 20 69 6e 5f 6f 72 64 65 72 20 29 0a 20 20 7b 0a 20 20 69 66 28 20 61 72 67 63 20 3c 20 32 20 l.in_order.)...{...if(.argc.<.2.
4c60 7c 7c 20 21 61 72 67 76 20 7c 7c 20 21 6f 70 74 69 6f 6e 73 20 29 20 72 65 74 75 72 6e 3b 0a 0a ||.!argv.||.!options.).return;..
4c80 20 20 73 74 64 3a 3a 76 65 63 74 6f 72 3c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 3e 20 6e 6f ..std::vector<.const.char.*.>.no
4ca0 6e 5f 6f 70 74 69 6f 6e 73 3b 09 2f 2f 20 73 6b 69 70 70 65 64 20 6e 6f 6e 2d 6f 70 74 69 6f 6e n_options;.//.skipped.non-option
4cc0 73 0a 20 20 69 6e 74 20 61 72 67 69 6e 64 20 3d 20 31 3b 09 09 09 09 2f 2f 20 69 6e 64 65 78 20 s...int.argind.=.1;....//.index.
4ce0 69 6e 20 61 72 67 76 0a 0a 20 20 77 68 69 6c 65 28 20 61 72 67 69 6e 64 20 3c 20 61 72 67 63 20 in.argv....while(.argind.<.argc.
4d00 29 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 ).....{.....const.unsigned.char.
4d20 63 68 31 20 3d 20 61 72 67 76 5b 61 72 67 69 6e 64 5d 5b 30 5d 3b 0a 20 20 20 20 63 6f 6e 73 74 ch1.=.argv[argind][0];.....const
4d40 20 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 63 68 32 20 3d 20 63 68 31 20 3f 20 61 72 67 76 5b .unsigned.char.ch2.=.ch1.?.argv[
4d60 61 72 67 69 6e 64 5d 5b 31 5d 20 3a 20 30 3b 0a 0a 20 20 20 20 69 66 28 20 63 68 31 20 3d 3d 20 argind][1].:.0;......if(.ch1.==.
4d80 27 2d 27 20 26 26 20 63 68 32 20 29 09 09 2f 2f 20 77 65 20 66 6f 75 6e 64 20 61 6e 20 6f 70 74 '-'.&&.ch2.)..//.we.found.an.opt
4da0 69 6f 6e 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 ion.......{.......const.char.*.c
4dc0 6f 6e 73 74 20 6f 70 74 20 3d 20 61 72 67 76 5b 61 72 67 69 6e 64 5d 3b 0a 20 20 20 20 20 20 63 onst.opt.=.argv[argind];.......c
4de0 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 61 72 67 20 3d 20 28 20 61 72 67 69 6e 64 onst.char.*.const.arg.=.(.argind
4e00 20 2b 20 31 20 3c 20 61 72 67 63 20 29 20 3f 20 61 72 67 76 5b 61 72 67 69 6e 64 2b 31 5d 20 3a .+.1.<.argc.).?.argv[argind+1].:
4e20 20 30 3b 0a 20 20 20 20 20 20 69 66 28 20 63 68 32 20 3d 3d 20 27 2d 27 20 29 0a 20 20 20 20 20 .0;.......if(.ch2.==.'-'.)......
4e40 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 28 20 21 61 72 67 76 5b 61 72 67 69 6e 64 5d 5b 32 ...{.........if(.!argv[argind][2
4e60 5d 20 29 20 7b 20 2b 2b 61 72 67 69 6e 64 3b 20 62 72 65 61 6b 3b 20 7d 09 2f 2f 20 77 65 20 66 ].).{.++argind;.break;.}.//.we.f
4e80 6f 75 6e 64 20 22 2d 2d 22 0a 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 28 20 21 70 61 72 73 ound."--".........else.if(.!pars
4ea0 65 5f 6c 6f 6e 67 5f 6f 70 74 69 6f 6e 28 20 6f 70 74 2c 20 61 72 67 2c 20 6f 70 74 69 6f 6e 73 e_long_option(.opt,.arg,.options
4ec0 2c 20 61 72 67 69 6e 64 20 29 20 29 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 ,.argind.).).break;.........}...
4ee0 20 20 20 20 65 6c 73 65 20 69 66 28 20 21 70 61 72 73 65 5f 73 68 6f 72 74 5f 6f 70 74 69 6f 6e ....else.if(.!parse_short_option
4f00 28 20 6f 70 74 2c 20 61 72 67 2c 20 6f 70 74 69 6f 6e 73 2c 20 61 72 67 69 6e 64 20 29 20 29 20 (.opt,.arg,.options,.argind.).).
4f20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 7b 0a break;.......}.....else.......{.
4f40 20 20 20 20 20 20 69 66 28 20 69 6e 5f 6f 72 64 65 72 20 29 20 64 61 74 61 2e 70 75 73 68 5f 62 ......if(.in_order.).data.push_b
4f60 61 63 6b 28 20 52 65 63 6f 72 64 28 20 61 72 67 76 5b 61 72 67 69 6e 64 2b 2b 5d 20 29 20 29 3b ack(.Record(.argv[argind++].).);
4f80 0a 20 20 20 20 20 20 65 6c 73 65 20 6e 6f 6e 5f 6f 70 74 69 6f 6e 73 2e 70 75 73 68 5f 62 61 63 .......else.non_options.push_bac
4fa0 6b 28 20 61 72 67 76 5b 61 72 67 69 6e 64 2b 2b 5d 20 29 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 k(.argv[argind++].);.......}....
4fc0 20 7d 0a 20 20 69 66 28 20 65 72 72 6f 72 5f 2e 73 69 7a 65 28 29 20 29 20 64 61 74 61 2e 63 6c .}...if(.error_.size().).data.cl
4fe0 65 61 72 28 29 3b 0a 20 20 65 6c 73 65 0a 20 20 20 20 7b 0a 20 20 20 20 66 6f 72 28 20 75 6e 73 ear();...else.....{.....for(.uns
5000 69 67 6e 65 64 20 69 20 3d 20 30 3b 20 69 20 3c 20 6e 6f 6e 5f 6f 70 74 69 6f 6e 73 2e 73 69 7a igned.i.=.0;.i.<.non_options.siz
5020 65 28 29 3b 20 2b 2b 69 20 29 0a 20 20 20 20 20 20 64 61 74 61 2e 70 75 73 68 5f 62 61 63 6b 28 e();.++i.).......data.push_back(
5040 20 52 65 63 6f 72 64 28 20 6e 6f 6e 5f 6f 70 74 69 6f 6e 73 5b 69 5d 20 29 20 29 3b 0a 20 20 20 .Record(.non_options[i].).);....
5060 20 77 68 69 6c 65 28 20 61 72 67 69 6e 64 20 3c 20 61 72 67 63 20 29 0a 20 20 20 20 20 20 64 61 .while(.argind.<.argc.).......da
5080 74 61 2e 70 75 73 68 5f 62 61 63 6b 28 20 52 65 63 6f 72 64 28 20 61 72 67 76 5b 61 72 67 69 6e ta.push_back(.Record(.argv[argin
50a0 64 2b 2b 5d 20 29 20 29 3b 0a 20 20 20 20 7d 0a 20 20 7d 0a 0a 0a 41 72 67 5f 70 61 72 73 65 72 d++].).);.....}...}...Arg_parser
50c0 3a 3a 41 72 67 5f 70 61 72 73 65 72 28 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 ::Arg_parser(.const.char.*.const
50e0 20 6f 70 74 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 61 72 67 2c 0a 20 20 .opt,.const.char.*.const.arg,...
5100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 4f 70 74 69 ......................const.Opti
5120 6f 6e 20 6f 70 74 69 6f 6e 73 5b 5d 20 29 0a 20 20 7b 0a 20 20 69 66 28 20 21 6f 70 74 20 7c 7c on.options[].)...{...if(.!opt.||
5140 20 21 6f 70 74 5b 30 5d 20 7c 7c 20 21 6f 70 74 69 6f 6e 73 20 29 20 72 65 74 75 72 6e 3b 0a 0a .!opt[0].||.!options.).return;..
5160 20 20 69 66 28 20 6f 70 74 5b 30 5d 20 3d 3d 20 27 2d 27 20 26 26 20 6f 70 74 5b 31 5d 20 29 09 ..if(.opt[0].==.'-'.&&.opt[1].).
5180 09 2f 2f 20 77 65 20 66 6f 75 6e 64 20 61 6e 20 6f 70 74 69 6f 6e 0a 20 20 20 20 7b 0a 20 20 20 .//.we.found.an.option.....{....
51a0 20 69 6e 74 20 61 72 67 69 6e 64 20 3d 20 31 3b 09 09 09 2f 2f 20 64 75 6d 6d 79 0a 20 20 20 20 .int.argind.=.1;...//.dummy.....
51c0 69 66 28 20 6f 70 74 5b 31 5d 20 3d 3d 20 27 2d 27 20 29 0a 20 20 20 20 20 20 7b 20 69 66 28 20 if(.opt[1].==.'-'.).......{.if(.
51e0 6f 70 74 5b 32 5d 20 29 20 70 61 72 73 65 5f 6c 6f 6e 67 5f 6f 70 74 69 6f 6e 28 20 6f 70 74 2c opt[2].).parse_long_option(.opt,
5200 20 61 72 67 2c 20 6f 70 74 69 6f 6e 73 2c 20 61 72 67 69 6e 64 20 29 3b 20 7d 0a 20 20 20 20 65 .arg,.options,.argind.);.}.....e
5220 6c 73 65 0a 20 20 20 20 20 20 70 61 72 73 65 5f 73 68 6f 72 74 5f 6f 70 74 69 6f 6e 28 20 6f 70 lse.......parse_short_option(.op
5240 74 2c 20 61 72 67 2c 20 6f 70 74 69 6f 6e 73 2c 20 61 72 67 69 6e 64 20 29 3b 0a 20 20 20 20 69 t,.arg,.options,.argind.);.....i
5260 66 28 20 65 72 72 6f 72 5f 2e 73 69 7a 65 28 29 20 29 20 64 61 74 61 2e 63 6c 65 61 72 28 29 3b f(.error_.size().).data.clear();
5280 0a 20 20 20 20 7d 0a 20 20 65 6c 73 65 20 64 61 74 61 2e 70 75 73 68 5f 62 61 63 6b 28 20 52 65 .....}...else.data.push_back(.Re
52a0 63 6f 72 64 28 20 6f 70 74 20 29 20 29 3b 0a 20 20 7d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 cord(.opt.).);...}..............
52c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5400 6c 7a 69 70 2d 31 2e 32 30 2f 6c 7a 69 70 2e 68 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 lzip-1.20/lzip.h................
5420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
5480 30 30 32 33 36 36 35 00 31 33 36 36 34 37 33 36 35 34 35 00 30 31 33 37 33 30 00 20 30 00 00 00 0023665.13664736545.013730..0...
54a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5500 00 75 73 74 61 72 20 20 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...mohammad...............
5520 00 00 00 00 00 00 00 00 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........mohammad...............
5540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5600 2f 2a 20 20 4c 7a 69 70 20 2d 20 4c 5a 4d 41 20 6c 6f 73 73 6c 65 73 73 20 64 61 74 61 20 63 6f /*..Lzip.-.LZMA.lossless.data.co
5620 6d 70 72 65 73 73 6f 72 0a 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d mpressor.....Copyright.(C).2008-
5640 32 30 31 38 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 20 54 68 69 2018.Antonio.Diaz.Diaz.......Thi
5660 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 s.program.is.free.software:.you.
5680 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 can.redistribute.it.and/or.modif
56a0 79 0a 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 y.....it.under.the.terms.of.the.
56c0 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 GNU.General.Public.License.as.pu
56e0 62 6c 69 73 68 65 64 20 62 79 0a 20 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 blished.by.....the.Free.Software
5700 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 .Foundation,.either.version.2.of
5720 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 .the.License,.or.....(at.your.op
5740 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 20 54 68 tion).any.later.version.......Th
5760 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 is.program.is.distributed.in.the
5780 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 20 .hope.that.it.will.be.useful,...
57a0 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 ..but.WITHOUT.ANY.WARRANTY;.with
57c0 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 out.even.the.implied.warranty.of
57e0 0a 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 .....MERCHANTABILITY.or.FITNESS.
5800 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 FOR.A.PARTICULAR.PURPOSE...See.t
5820 68 65 0a 20 20 20 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 he.....GNU.General.Public.Licens
5840 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 20 59 6f 75 20 73 68 6f e.for.more.details.......You.sho
5860 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 uld.have.received.a.copy.of.the.
5880 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 20 61 GNU.General.Public.License.....a
58a0 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c long.with.this.program...If.not,
58c0 20 73 65 65 20 3c 68 74 74 70 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 .see.<http://www.gnu.org/license
58e0 73 2f 3e 2e 0a 2a 2f 0a 0a 63 6c 61 73 73 20 53 74 61 74 65 0a 20 20 7b 0a 20 20 69 6e 74 20 73 s/>..*/..class.State...{...int.s
5900 74 3b 0a 0a 70 75 62 6c 69 63 3a 0a 20 20 65 6e 75 6d 20 7b 20 73 74 61 74 65 73 20 3d 20 31 32 t;..public:...enum.{.states.=.12
5920 20 7d 3b 0a 20 20 53 74 61 74 65 28 29 20 3a 20 73 74 28 20 30 20 29 20 7b 7d 0a 20 20 69 6e 74 .};...State().:.st(.0.).{}...int
5940 20 6f 70 65 72 61 74 6f 72 28 29 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 73 74 3b .operator()().const.{.return.st;
5960 20 7d 0a 20 20 62 6f 6f 6c 20 69 73 5f 63 68 61 72 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 .}...bool.is_char().const.{.retu
5980 72 6e 20 73 74 20 3c 20 37 3b 20 7d 0a 0a 20 20 76 6f 69 64 20 73 65 74 5f 63 68 61 72 28 29 0a rn.st.<.7;.}....void.set_char().
59a0 20 20 20 20 7b 0a 20 20 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 69 6e 74 20 6e 65 78 74 5b ....{.....static.const.int.next[
59c0 73 74 61 74 65 73 5d 20 3d 20 7b 20 30 2c 20 30 2c 20 30 2c 20 30 2c 20 31 2c 20 32 2c 20 33 2c states].=.{.0,.0,.0,.0,.1,.2,.3,
59e0 20 34 2c 20 35 2c 20 36 2c 20 34 2c 20 35 20 7d 3b 0a 20 20 20 20 73 74 20 3d 20 6e 65 78 74 5b .4,.5,.6,.4,.5.};.....st.=.next[
5a00 73 74 5d 3b 0a 20 20 20 20 7d 0a 20 20 62 6f 6f 6c 20 69 73 5f 63 68 61 72 5f 73 65 74 5f 63 68 st];.....}...bool.is_char_set_ch
5a20 61 72 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 73 74 20 3c 20 37 20 29 20 7b 20 73 74 ar().....{.....if(.st.<.7.).{.st
5a40 20 2d 3d 20 28 20 73 74 20 3c 20 34 20 29 20 3f 20 73 74 20 3a 20 33 3b 20 72 65 74 75 72 6e 20 .-=.(.st.<.4.).?.st.:.3;.return.
5a60 74 72 75 65 3b 20 7d 0a 20 20 20 20 65 6c 73 65 20 7b 20 73 74 20 2d 3d 20 28 20 73 74 20 3c 20 true;.}.....else.{.st.-=.(.st.<.
5a80 31 30 20 29 20 3f 20 33 20 3a 20 36 3b 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 20 7d 0a 20 20 10.).?.3.:.6;.return.false;.}...
5aa0 20 20 7d 0a 20 20 76 6f 69 64 20 73 65 74 5f 63 68 61 72 5f 72 65 70 28 29 20 20 7b 20 73 74 20 ..}...void.set_char_rep()..{.st.
5ac0 3d 20 38 3b 20 7d 0a 20 20 76 6f 69 64 20 73 65 74 5f 6d 61 74 63 68 28 29 20 20 20 20 20 7b 20 =.8;.}...void.set_match().....{.
5ae0 73 74 20 3d 20 28 20 73 74 20 3c 20 37 20 29 20 3f 20 37 20 3a 20 31 30 3b 20 7d 0a 20 20 76 6f st.=.(.st.<.7.).?.7.:.10;.}...vo
5b00 69 64 20 73 65 74 5f 72 65 70 28 29 20 20 20 20 20 20 20 7b 20 73 74 20 3d 20 28 20 73 74 20 3c id.set_rep().......{.st.=.(.st.<
5b20 20 37 20 29 20 3f 20 38 20 3a 20 31 31 3b 20 7d 0a 20 20 76 6f 69 64 20 73 65 74 5f 73 68 6f 72 .7.).?.8.:.11;.}...void.set_shor
5b40 74 5f 72 65 70 28 29 20 7b 20 73 74 20 3d 20 28 20 73 74 20 3c 20 37 20 29 20 3f 20 39 20 3a 20 t_rep().{.st.=.(.st.<.7.).?.9.:.
5b60 31 31 3b 20 7d 0a 20 20 7d 3b 0a 0a 0a 65 6e 75 6d 20 7b 0a 20 20 6d 69 6e 5f 64 69 63 74 69 6f 11;.}...};...enum.{...min_dictio
5b80 6e 61 72 79 5f 62 69 74 73 20 3d 20 31 32 2c 0a 20 20 6d 69 6e 5f 64 69 63 74 69 6f 6e 61 72 79 nary_bits.=.12,...min_dictionary
5ba0 5f 73 69 7a 65 20 3d 20 31 20 3c 3c 20 6d 69 6e 5f 64 69 63 74 69 6f 6e 61 72 79 5f 62 69 74 73 _size.=.1.<<.min_dictionary_bits
5bc0 2c 09 2f 2f 20 3e 3d 20 6d 6f 64 65 6c 65 64 5f 64 69 73 74 61 6e 63 65 73 0a 20 20 6d 61 78 5f ,.//.>=.modeled_distances...max_
5be0 64 69 63 74 69 6f 6e 61 72 79 5f 62 69 74 73 20 3d 20 32 39 2c 0a 20 20 6d 61 78 5f 64 69 63 74 dictionary_bits.=.29,...max_dict
5c00 69 6f 6e 61 72 79 5f 73 69 7a 65 20 3d 20 31 20 3c 3c 20 6d 61 78 5f 64 69 63 74 69 6f 6e 61 72 ionary_size.=.1.<<.max_dictionar
5c20 79 5f 62 69 74 73 2c 0a 20 20 6d 69 6e 5f 6d 65 6d 62 65 72 5f 73 69 7a 65 20 3d 20 33 36 2c 0a y_bits,...min_member_size.=.36,.
5c40 20 20 6c 69 74 65 72 61 6c 5f 63 6f 6e 74 65 78 74 5f 62 69 74 73 20 3d 20 33 2c 0a 20 20 6c 69 ..literal_context_bits.=.3,...li
5c60 74 65 72 61 6c 5f 70 6f 73 5f 73 74 61 74 65 5f 62 69 74 73 20 3d 20 30 2c 09 09 09 09 2f 2f 20 teral_pos_state_bits.=.0,....//.
5c80 6e 6f 74 20 75 73 65 64 0a 20 20 70 6f 73 5f 73 74 61 74 65 5f 62 69 74 73 20 3d 20 32 2c 0a 20 not.used...pos_state_bits.=.2,..
5ca0 20 70 6f 73 5f 73 74 61 74 65 73 20 3d 20 31 20 3c 3c 20 70 6f 73 5f 73 74 61 74 65 5f 62 69 74 .pos_states.=.1.<<.pos_state_bit
5cc0 73 2c 0a 20 20 70 6f 73 5f 73 74 61 74 65 5f 6d 61 73 6b 20 3d 20 70 6f 73 5f 73 74 61 74 65 73 s,...pos_state_mask.=.pos_states
5ce0 20 2d 20 31 2c 0a 0a 20 20 6c 65 6e 5f 73 74 61 74 65 73 20 3d 20 34 2c 0a 20 20 64 69 73 5f 73 .-.1,....len_states.=.4,...dis_s
5d00 6c 6f 74 5f 62 69 74 73 20 3d 20 36 2c 0a 20 20 73 74 61 72 74 5f 64 69 73 5f 6d 6f 64 65 6c 20 lot_bits.=.6,...start_dis_model.
5d20 3d 20 34 2c 0a 20 20 65 6e 64 5f 64 69 73 5f 6d 6f 64 65 6c 20 3d 20 31 34 2c 0a 20 20 6d 6f 64 =.4,...end_dis_model.=.14,...mod
5d40 65 6c 65 64 5f 64 69 73 74 61 6e 63 65 73 20 3d 20 31 20 3c 3c 20 28 65 6e 64 5f 64 69 73 5f 6d eled_distances.=.1.<<.(end_dis_m
5d60 6f 64 65 6c 20 2f 20 32 29 2c 09 09 2f 2f 20 31 32 38 0a 20 20 64 69 73 5f 61 6c 69 67 6e 5f 62 odel./.2),..//.128...dis_align_b
5d80 69 74 73 20 3d 20 34 2c 0a 20 20 64 69 73 5f 61 6c 69 67 6e 5f 73 69 7a 65 20 3d 20 31 20 3c 3c its.=.4,...dis_align_size.=.1.<<
5da0 20 64 69 73 5f 61 6c 69 67 6e 5f 62 69 74 73 2c 0a 0a 20 20 6c 65 6e 5f 6c 6f 77 5f 62 69 74 73 .dis_align_bits,....len_low_bits
5dc0 20 3d 20 33 2c 0a 20 20 6c 65 6e 5f 6d 69 64 5f 62 69 74 73 20 3d 20 33 2c 0a 20 20 6c 65 6e 5f .=.3,...len_mid_bits.=.3,...len_
5de0 68 69 67 68 5f 62 69 74 73 20 3d 20 38 2c 0a 20 20 6c 65 6e 5f 6c 6f 77 5f 73 79 6d 62 6f 6c 73 high_bits.=.8,...len_low_symbols
5e00 20 3d 20 31 20 3c 3c 20 6c 65 6e 5f 6c 6f 77 5f 62 69 74 73 2c 0a 20 20 6c 65 6e 5f 6d 69 64 5f .=.1.<<.len_low_bits,...len_mid_
5e20 73 79 6d 62 6f 6c 73 20 3d 20 31 20 3c 3c 20 6c 65 6e 5f 6d 69 64 5f 62 69 74 73 2c 0a 20 20 6c symbols.=.1.<<.len_mid_bits,...l
5e40 65 6e 5f 68 69 67 68 5f 73 79 6d 62 6f 6c 73 20 3d 20 31 20 3c 3c 20 6c 65 6e 5f 68 69 67 68 5f en_high_symbols.=.1.<<.len_high_
5e60 62 69 74 73 2c 0a 20 20 6d 61 78 5f 6c 65 6e 5f 73 79 6d 62 6f 6c 73 20 3d 20 6c 65 6e 5f 6c 6f bits,...max_len_symbols.=.len_lo
5e80 77 5f 73 79 6d 62 6f 6c 73 20 2b 20 6c 65 6e 5f 6d 69 64 5f 73 79 6d 62 6f 6c 73 20 2b 20 6c 65 w_symbols.+.len_mid_symbols.+.le
5ea0 6e 5f 68 69 67 68 5f 73 79 6d 62 6f 6c 73 2c 0a 0a 20 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e n_high_symbols,....min_match_len
5ec0 20 3d 20 32 2c 09 09 09 09 09 2f 2f 20 6d 75 73 74 20 62 65 20 32 0a 20 20 6d 61 78 5f 6d 61 74 .=.2,.....//.must.be.2...max_mat
5ee0 63 68 5f 6c 65 6e 20 3d 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 20 2b 20 6d 61 78 5f 6c 65 6e ch_len.=.min_match_len.+.max_len
5f00 5f 73 79 6d 62 6f 6c 73 20 2d 20 31 2c 09 2f 2f 20 32 37 33 0a 20 20 6d 69 6e 5f 6d 61 74 63 68 _symbols.-.1,.//.273...min_match
5f20 5f 6c 65 6e 5f 6c 69 6d 69 74 20 3d 20 35 20 7d 3b 0a 0a 69 6e 6c 69 6e 65 20 69 6e 74 20 67 65 _len_limit.=.5.};..inline.int.ge
5f40 74 5f 6c 65 6e 5f 73 74 61 74 65 28 20 63 6f 6e 73 74 20 69 6e 74 20 6c 65 6e 20 29 0a 20 20 7b t_len_state(.const.int.len.)...{
5f60 20 72 65 74 75 72 6e 20 73 74 64 3a 3a 6d 69 6e 28 20 6c 65 6e 20 2d 20 6d 69 6e 5f 6d 61 74 63 .return.std::min(.len.-.min_matc
5f80 68 5f 6c 65 6e 2c 20 6c 65 6e 5f 73 74 61 74 65 73 20 2d 20 31 20 29 3b 20 7d 0a 0a 69 6e 6c 69 h_len,.len_states.-.1.);.}..inli
5fa0 6e 65 20 69 6e 74 20 67 65 74 5f 6c 69 74 5f 73 74 61 74 65 28 20 63 6f 6e 73 74 20 75 69 6e 74 ne.int.get_lit_state(.const.uint
5fc0 38 5f 74 20 70 72 65 76 5f 62 79 74 65 20 29 0a 20 20 7b 20 72 65 74 75 72 6e 20 28 20 70 72 65 8_t.prev_byte.)...{.return.(.pre
5fe0 76 5f 62 79 74 65 20 3e 3e 20 28 20 38 20 2d 20 6c 69 74 65 72 61 6c 5f 63 6f 6e 74 65 78 74 5f v_byte.>>.(.8.-.literal_context_
6000 62 69 74 73 20 29 20 29 3b 20 7d 0a 0a 0a 65 6e 75 6d 20 7b 20 62 69 74 5f 6d 6f 64 65 6c 5f 6d bits.).);.}...enum.{.bit_model_m
6020 6f 76 65 5f 62 69 74 73 20 3d 20 35 2c 0a 20 20 20 20 20 20 20 62 69 74 5f 6d 6f 64 65 6c 5f 74 ove_bits.=.5,........bit_model_t
6040 6f 74 61 6c 5f 62 69 74 73 20 3d 20 31 31 2c 0a 20 20 20 20 20 20 20 62 69 74 5f 6d 6f 64 65 6c otal_bits.=.11,........bit_model
6060 5f 74 6f 74 61 6c 20 3d 20 31 20 3c 3c 20 62 69 74 5f 6d 6f 64 65 6c 5f 74 6f 74 61 6c 5f 62 69 _total.=.1.<<.bit_model_total_bi
6080 74 73 20 7d 3b 0a 0a 73 74 72 75 63 74 20 42 69 74 5f 6d 6f 64 65 6c 0a 20 20 7b 0a 20 20 69 6e ts.};..struct.Bit_model...{...in
60a0 74 20 70 72 6f 62 61 62 69 6c 69 74 79 3b 0a 20 20 76 6f 69 64 20 72 65 73 65 74 28 29 20 7b 20 t.probability;...void.reset().{.
60c0 70 72 6f 62 61 62 69 6c 69 74 79 20 3d 20 62 69 74 5f 6d 6f 64 65 6c 5f 74 6f 74 61 6c 20 2f 20 probability.=.bit_model_total./.
60e0 32 3b 20 7d 0a 20 20 76 6f 69 64 20 72 65 73 65 74 28 20 63 6f 6e 73 74 20 69 6e 74 20 73 69 7a 2;.}...void.reset(.const.int.siz
6100 65 20 29 0a 20 20 20 20 7b 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 73 69 e.).....{.for(.int.i.=.0;.i.<.si
6120 7a 65 3b 20 2b 2b 69 20 29 20 74 68 69 73 5b 69 5d 2e 72 65 73 65 74 28 29 3b 20 7d 0a 20 20 42 ze;.++i.).this[i].reset();.}...B
6140 69 74 5f 6d 6f 64 65 6c 28 29 20 7b 20 72 65 73 65 74 28 29 3b 20 7d 0a 20 20 7d 3b 0a 0a 73 74 it_model().{.reset();.}...};..st
6160 72 75 63 74 20 4c 65 6e 5f 6d 6f 64 65 6c 0a 20 20 7b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 63 ruct.Len_model...{...Bit_model.c
6180 68 6f 69 63 65 31 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 63 68 6f 69 63 65 32 3b 0a 20 20 42 hoice1;...Bit_model.choice2;...B
61a0 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 6c 6f 77 5b 70 6f 73 5f 73 74 61 74 65 73 5d 5b 6c 65 6e 5f it_model.bm_low[pos_states][len_
61c0 6c 6f 77 5f 73 79 6d 62 6f 6c 73 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 6d 69 64 low_symbols];...Bit_model.bm_mid
61e0 5b 70 6f 73 5f 73 74 61 74 65 73 5d 5b 6c 65 6e 5f 6d 69 64 5f 73 79 6d 62 6f 6c 73 5d 3b 0a 20 [pos_states][len_mid_symbols];..
6200 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 68 69 67 68 5b 6c 65 6e 5f 68 69 67 68 5f 73 79 6d 62 .Bit_model.bm_high[len_high_symb
6220 6f 6c 73 5d 3b 0a 0a 20 20 76 6f 69 64 20 72 65 73 65 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 ols];....void.reset().....{.....
6240 63 68 6f 69 63 65 31 2e 72 65 73 65 74 28 29 3b 0a 20 20 20 20 63 68 6f 69 63 65 32 2e 72 65 73 choice1.reset();.....choice2.res
6260 65 74 28 29 3b 0a 20 20 20 20 62 6d 5f 6c 6f 77 5b 30 5d 5b 30 5d 2e 72 65 73 65 74 28 20 70 6f et();.....bm_low[0][0].reset(.po
6280 73 5f 73 74 61 74 65 73 20 2a 20 6c 65 6e 5f 6c 6f 77 5f 73 79 6d 62 6f 6c 73 20 29 3b 0a 20 20 s_states.*.len_low_symbols.);...
62a0 20 20 62 6d 5f 6d 69 64 5b 30 5d 5b 30 5d 2e 72 65 73 65 74 28 20 70 6f 73 5f 73 74 61 74 65 73 ..bm_mid[0][0].reset(.pos_states
62c0 20 2a 20 6c 65 6e 5f 6d 69 64 5f 73 79 6d 62 6f 6c 73 20 29 3b 0a 20 20 20 20 62 6d 5f 68 69 67 .*.len_mid_symbols.);.....bm_hig
62e0 68 5b 30 5d 2e 72 65 73 65 74 28 20 6c 65 6e 5f 68 69 67 68 5f 73 79 6d 62 6f 6c 73 20 29 3b 0a h[0].reset(.len_high_symbols.);.
6300 20 20 20 20 7d 0a 20 20 7d 3b 0a 0a 0a 2f 2f 20 64 65 66 69 6e 65 64 20 69 6e 20 6d 61 69 6e 2e ....}...};...//.defined.in.main.
6320 63 63 0a 65 78 74 65 72 6e 20 69 6e 74 20 76 65 72 62 6f 73 69 74 79 3b 0a 0a 63 6c 61 73 73 20 cc.extern.int.verbosity;..class.
6340 50 72 65 74 74 79 5f 70 72 69 6e 74 09 09 2f 2f 20 72 65 71 75 69 72 65 73 20 67 6c 6f 62 61 6c Pretty_print..//.requires.global
6360 20 76 61 72 20 27 69 6e 74 20 76 65 72 62 6f 73 69 74 79 27 0a 20 20 7b 0a 20 20 73 74 64 3a 3a .var.'int.verbosity'...{...std::
6380 73 74 72 69 6e 67 20 6e 61 6d 65 5f 3b 0a 20 20 73 74 64 3a 3a 73 74 72 69 6e 67 20 70 61 64 64 string.name_;...std::string.padd
63a0 65 64 5f 6e 61 6d 65 3b 0a 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 73 74 ed_name;...const.char.*.const.st
63c0 64 69 6e 5f 6e 61 6d 65 3b 0a 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 65 73 74 5f 6e 61 6d din_name;...unsigned.longest_nam
63e0 65 3b 0a 20 20 6d 75 74 61 62 6c 65 20 62 6f 6f 6c 20 66 69 72 73 74 5f 70 6f 73 74 3b 0a 0a 70 e;...mutable.bool.first_post;..p
6400 75 62 6c 69 63 3a 0a 20 20 50 72 65 74 74 79 5f 70 72 69 6e 74 28 20 63 6f 6e 73 74 20 73 74 64 ublic:...Pretty_print(.const.std
6420 3a 3a 76 65 63 74 6f 72 3c 20 73 74 64 3a 3a 73 74 72 69 6e 67 20 3e 20 26 20 66 69 6c 65 6e 61 ::vector<.std::string.>.&.filena
6440 6d 65 73 20 29 0a 20 20 20 20 3a 20 73 74 64 69 6e 5f 6e 61 6d 65 28 20 22 28 73 74 64 69 6e 29 mes.).....:.stdin_name(."(stdin)
6460 22 20 29 2c 20 6c 6f 6e 67 65 73 74 5f 6e 61 6d 65 28 20 30 20 29 2c 20 66 69 72 73 74 5f 70 6f ".),.longest_name(.0.),.first_po
6480 73 74 28 20 66 61 6c 73 65 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 76 65 72 62 6f 73 st(.false.).....{.....if(.verbos
64a0 69 74 79 20 3c 3d 20 30 20 29 20 72 65 74 75 72 6e 3b 0a 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 ity.<=.0.).return;.....const.uns
64c0 69 67 6e 65 64 20 73 74 64 69 6e 5f 6e 61 6d 65 5f 6c 65 6e 20 3d 20 73 74 64 3a 3a 73 74 72 6c igned.stdin_name_len.=.std::strl
64e0 65 6e 28 20 73 74 64 69 6e 5f 6e 61 6d 65 20 29 3b 0a 20 20 20 20 66 6f 72 28 20 75 6e 73 69 67 en(.stdin_name.);.....for(.unsig
6500 6e 65 64 20 69 20 3d 20 30 3b 20 69 20 3c 20 66 69 6c 65 6e 61 6d 65 73 2e 73 69 7a 65 28 29 3b ned.i.=.0;.i.<.filenames.size();
6520 20 2b 2b 69 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 73 74 64 3a 3a .++i.).......{.......const.std::
6540 73 74 72 69 6e 67 20 26 20 73 20 3d 20 66 69 6c 65 6e 61 6d 65 73 5b 69 5d 3b 0a 20 20 20 20 20 string.&.s.=.filenames[i];......
6560 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 65 6e 20 3d 20 28 20 73 20 3d 3d 20 22 2d 22 .const.unsigned.len.=.(.s.==."-"
6580 20 29 20 3f 20 73 74 64 69 6e 5f 6e 61 6d 65 5f 6c 65 6e 20 3a 20 73 2e 73 69 7a 65 28 29 3b 0a .).?.stdin_name_len.:.s.size();.
65a0 20 20 20 20 20 20 69 66 28 20 6c 65 6e 20 3e 20 6c 6f 6e 67 65 73 74 5f 6e 61 6d 65 20 29 20 6c ......if(.len.>.longest_name.).l
65c0 6f 6e 67 65 73 74 5f 6e 61 6d 65 20 3d 20 6c 65 6e 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 69 ongest_name.=.len;.......}.....i
65e0 66 28 20 6c 6f 6e 67 65 73 74 5f 6e 61 6d 65 20 3d 3d 20 30 20 29 20 6c 6f 6e 67 65 73 74 5f 6e f(.longest_name.==.0.).longest_n
6600 61 6d 65 20 3d 20 73 74 64 69 6e 5f 6e 61 6d 65 5f 6c 65 6e 3b 0a 20 20 20 20 7d 0a 0a 20 20 76 ame.=.stdin_name_len;.....}....v
6620 6f 69 64 20 73 65 74 5f 6e 61 6d 65 28 20 63 6f 6e 73 74 20 73 74 64 3a 3a 73 74 72 69 6e 67 20 oid.set_name(.const.std::string.
6640 26 20 66 69 6c 65 6e 61 6d 65 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 66 69 6c 65 6e &.filename.).....{.....if(.filen
6660 61 6d 65 2e 73 69 7a 65 28 29 20 26 26 20 66 69 6c 65 6e 61 6d 65 20 21 3d 20 22 2d 22 20 29 20 ame.size().&&.filename.!=."-".).
6680 6e 61 6d 65 5f 20 3d 20 66 69 6c 65 6e 61 6d 65 3b 0a 20 20 20 20 65 6c 73 65 20 6e 61 6d 65 5f name_.=.filename;.....else.name_
66a0 20 3d 20 73 74 64 69 6e 5f 6e 61 6d 65 3b 0a 20 20 20 20 70 61 64 64 65 64 5f 6e 61 6d 65 20 3d .=.stdin_name;.....padded_name.=
66c0 20 22 20 20 22 3b 20 70 61 64 64 65 64 5f 6e 61 6d 65 20 2b 3d 20 6e 61 6d 65 5f 3b 20 70 61 64 ."..";.padded_name.+=.name_;.pad
66e0 64 65 64 5f 6e 61 6d 65 20 2b 3d 20 22 3a 20 22 3b 0a 20 20 20 20 69 66 28 20 6e 61 6d 65 5f 2e ded_name.+=.":.";.....if(.name_.
6700 73 69 7a 65 28 29 20 3c 20 6c 6f 6e 67 65 73 74 5f 6e 61 6d 65 20 29 0a 20 20 20 20 20 20 70 61 size().<.longest_name.).......pa
6720 64 64 65 64 5f 6e 61 6d 65 2e 61 70 70 65 6e 64 28 20 6c 6f 6e 67 65 73 74 5f 6e 61 6d 65 20 2d dded_name.append(.longest_name.-
6740 20 6e 61 6d 65 5f 2e 73 69 7a 65 28 29 2c 20 27 20 27 20 29 3b 0a 20 20 20 20 66 69 72 73 74 5f .name_.size(),.'.'.);.....first_
6760 70 6f 73 74 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 76 6f 69 64 20 72 65 73 65 74 post.=.true;.....}....void.reset
6780 28 29 20 63 6f 6e 73 74 20 7b 20 69 66 28 20 6e 61 6d 65 5f 2e 73 69 7a 65 28 29 20 29 20 66 69 ().const.{.if(.name_.size().).fi
67a0 72 73 74 5f 70 6f 73 74 20 3d 20 74 72 75 65 3b 20 7d 0a 20 20 63 6f 6e 73 74 20 63 68 61 72 20 rst_post.=.true;.}...const.char.
67c0 2a 20 6e 61 6d 65 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 6e 61 6d 65 5f 2e 63 5f *.name().const.{.return.name_.c_
67e0 73 74 72 28 29 3b 20 7d 0a 20 20 76 6f 69 64 20 6f 70 65 72 61 74 6f 72 28 29 28 20 63 6f 6e 73 str();.}...void.operator()(.cons
6800 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 6d 73 67 20 3d 20 30 20 29 20 63 6f 6e 73 74 3b 0a t.char.*.const.msg.=.0.).const;.
6820 20 20 7d 3b 0a 0a 0a 63 6c 61 73 73 20 43 52 43 33 32 0a 20 20 7b 0a 20 20 75 69 6e 74 33 32 5f ..};...class.CRC32...{...uint32_
6840 74 20 64 61 74 61 5b 32 35 36 5d 3b 09 09 2f 2f 20 54 61 62 6c 65 20 6f 66 20 43 52 43 73 20 6f t.data[256];..//.Table.of.CRCs.o
6860 66 20 61 6c 6c 20 38 2d 62 69 74 20 6d 65 73 73 61 67 65 73 2e 0a 0a 70 75 62 6c 69 63 3a 0a 20 f.all.8-bit.messages...public:..
6880 20 43 52 43 33 32 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 66 6f 72 28 20 75 6e 73 69 67 6e 65 64 .CRC32().....{.....for(.unsigned
68a0 20 6e 20 3d 20 30 3b 20 6e 20 3c 20 32 35 36 3b 20 2b 2b 6e 20 29 0a 20 20 20 20 20 20 7b 0a 20 .n.=.0;.n.<.256;.++n.).......{..
68c0 20 20 20 20 20 75 6e 73 69 67 6e 65 64 20 63 20 3d 20 6e 3b 0a 20 20 20 20 20 20 66 6f 72 28 20 .....unsigned.c.=.n;.......for(.
68e0 69 6e 74 20 6b 20 3d 20 30 3b 20 6b 20 3c 20 38 3b 20 2b 2b 6b 20 29 0a 20 20 20 20 20 20 20 20 int.k.=.0;.k.<.8;.++k.).........
6900 7b 20 69 66 28 20 63 20 26 20 31 20 29 20 63 20 3d 20 30 78 45 44 42 38 38 33 32 30 55 20 5e 20 {.if(.c.&.1.).c.=.0xEDB88320U.^.
6920 28 20 63 20 3e 3e 20 31 20 29 3b 20 65 6c 73 65 20 63 20 3e 3e 3d 20 31 3b 20 7d 0a 20 20 20 20 (.c.>>.1.);.else.c.>>=.1;.}.....
6940 20 20 64 61 74 61 5b 6e 5d 20 3d 20 63 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 ..data[n].=.c;.......}.....}....
6960 75 69 6e 74 33 32 5f 74 20 6f 70 65 72 61 74 6f 72 5b 5d 28 20 63 6f 6e 73 74 20 75 69 6e 74 38 uint32_t.operator[](.const.uint8
6980 5f 74 20 62 79 74 65 20 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 64 61 74 61 5b 62 79 _t.byte.).const.{.return.data[by
69a0 74 65 5d 3b 20 7d 0a 0a 20 20 76 6f 69 64 20 75 70 64 61 74 65 5f 62 79 74 65 28 20 75 69 6e 74 te];.}....void.update_byte(.uint
69c0 33 32 5f 74 20 26 20 63 72 63 2c 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 62 79 74 65 20 29 32_t.&.crc,.const.uint8_t.byte.)
69e0 20 63 6f 6e 73 74 0a 20 20 20 20 7b 20 63 72 63 20 3d 20 64 61 74 61 5b 28 63 72 63 5e 62 79 74 .const.....{.crc.=.data[(crc^byt
6a00 65 29 26 30 78 46 46 5d 20 5e 20 28 20 63 72 63 20 3e 3e 20 38 20 29 3b 20 7d 0a 0a 20 20 76 6f e)&0xFF].^.(.crc.>>.8.);.}....vo
6a20 69 64 20 75 70 64 61 74 65 5f 62 75 66 28 20 75 69 6e 74 33 32 5f 74 20 26 20 63 72 63 2c 20 63 id.update_buf(.uint32_t.&.crc,.c
6a40 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 2a 20 63 6f 6e 73 74 20 62 75 66 66 65 72 2c 0a 20 20 20 onst.uint8_t.*.const.buffer,....
6a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 73 69 7a 65 20 29 ................const.int.size.)
6a80 20 63 6f 6e 73 74 0a 20 20 20 20 7b 0a 20 20 20 20 75 69 6e 74 33 32 5f 74 20 63 20 3d 20 63 72 .const.....{.....uint32_t.c.=.cr
6aa0 63 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 73 69 7a 65 3b c;.....for(.int.i.=.0;.i.<.size;
6ac0 20 2b 2b 69 20 29 0a 20 20 20 20 20 20 63 20 3d 20 64 61 74 61 5b 28 63 5e 62 75 66 66 65 72 5b .++i.).......c.=.data[(c^buffer[
6ae0 69 5d 29 26 30 78 46 46 5d 20 5e 20 28 20 63 20 3e 3e 20 38 20 29 3b 0a 20 20 20 20 63 72 63 20 i])&0xFF].^.(.c.>>.8.);.....crc.
6b00 3d 20 63 3b 0a 20 20 20 20 7d 0a 20 20 7d 3b 0a 0a 65 78 74 65 72 6e 20 63 6f 6e 73 74 20 43 52 =.c;.....}...};..extern.const.CR
6b20 43 33 32 20 63 72 63 33 32 3b 0a 0a 0a 69 6e 6c 69 6e 65 20 62 6f 6f 6c 20 69 73 76 61 6c 69 64 C32.crc32;...inline.bool.isvalid
6b40 5f 64 73 28 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 _ds(.const.unsigned.dictionary_s
6b60 69 7a 65 20 29 0a 20 20 7b 20 72 65 74 75 72 6e 20 28 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 ize.)...{.return.(.dictionary_si
6b80 7a 65 20 3e 3d 20 6d 69 6e 5f 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 26 26 0a 20 20 20 ze.>=.min_dictionary_size.&&....
6ba0 20 20 20 20 20 20 20 20 20 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 3c 3d 20 6d 61 78 ..........dictionary_size.<=.max
6bc0 5f 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 3b 20 7d 0a 0a 0a 69 6e 6c 69 6e 65 20 69 _dictionary_size.);.}...inline.i
6be0 6e 74 20 72 65 61 6c 5f 62 69 74 73 28 20 75 6e 73 69 67 6e 65 64 20 76 61 6c 75 65 20 29 0a 20 nt.real_bits(.unsigned.value.)..
6c00 20 7b 0a 20 20 69 6e 74 20 62 69 74 73 20 3d 20 30 3b 0a 20 20 77 68 69 6c 65 28 20 76 61 6c 75 .{...int.bits.=.0;...while(.valu
6c20 65 20 3e 20 30 20 29 20 7b 20 76 61 6c 75 65 20 3e 3e 3d 20 31 3b 20 2b 2b 62 69 74 73 3b 20 7d e.>.0.).{.value.>>=.1;.++bits;.}
6c40 0a 20 20 72 65 74 75 72 6e 20 62 69 74 73 3b 0a 20 20 7d 0a 0a 0a 63 6f 6e 73 74 20 75 69 6e 74 ...return.bits;...}...const.uint
6c60 38 5f 74 20 6d 61 67 69 63 5f 73 74 72 69 6e 67 5b 34 5d 20 3d 20 7b 20 30 78 34 43 2c 20 30 78 8_t.magic_string[4].=.{.0x4C,.0x
6c80 35 41 2c 20 30 78 34 39 2c 20 30 78 35 30 20 7d 3b 09 2f 2f 20 22 4c 5a 49 50 22 0a 0a 73 74 72 5A,.0x49,.0x50.};.//."LZIP"..str
6ca0 75 63 74 20 46 69 6c 65 5f 68 65 61 64 65 72 0a 20 20 7b 0a 20 20 75 69 6e 74 38 5f 74 20 64 61 uct.File_header...{...uint8_t.da
6cc0 74 61 5b 36 5d 3b 09 09 09 2f 2f 20 30 2d 33 20 6d 61 67 69 63 20 62 79 74 65 73 0a 09 09 09 09 ta[6];...//.0-3.magic.bytes.....
6ce0 09 2f 2f 20 20 20 34 20 76 65 72 73 69 6f 6e 0a 09 09 09 09 09 2f 2f 20 20 20 35 20 63 6f 64 65 .//...4.version......//...5.code
6d00 64 5f 64 69 63 74 5f 73 69 7a 65 0a 20 20 65 6e 75 6d 20 7b 20 73 69 7a 65 20 3d 20 36 20 7d 3b d_dict_size...enum.{.size.=.6.};
6d20 0a 0a 20 20 76 6f 69 64 20 73 65 74 5f 6d 61 67 69 63 28 29 20 7b 20 73 74 64 3a 3a 6d 65 6d 63 ....void.set_magic().{.std::memc
6d40 70 79 28 20 64 61 74 61 2c 20 6d 61 67 69 63 5f 73 74 72 69 6e 67 2c 20 34 20 29 3b 20 64 61 74 py(.data,.magic_string,.4.);.dat
6d60 61 5b 34 5d 20 3d 20 31 3b 20 7d 0a 20 20 62 6f 6f 6c 20 76 65 72 69 66 79 5f 6d 61 67 69 63 28 a[4].=.1;.}...bool.verify_magic(
6d80 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 20 72 65 74 75 72 6e 20 28 20 73 74 64 3a 3a 6d 65 6d 63 ).const.....{.return.(.std::memc
6da0 6d 70 28 20 64 61 74 61 2c 20 6d 61 67 69 63 5f 73 74 72 69 6e 67 2c 20 34 20 29 20 3d 3d 20 30 mp(.data,.magic_string,.4.).==.0
6dc0 20 29 3b 20 7d 0a 0a 20 20 62 6f 6f 6c 20 76 65 72 69 66 79 5f 70 72 65 66 69 78 28 20 63 6f 6e .);.}....bool.verify_prefix(.con
6de0 73 74 20 69 6e 74 20 73 7a 20 29 20 63 6f 6e 73 74 09 2f 2f 20 64 65 74 65 63 74 20 28 74 72 75 st.int.sz.).const.//.detect.(tru
6e00 6e 63 61 74 65 64 29 20 68 65 61 64 65 72 0a 20 20 20 20 7b 0a 20 20 20 20 66 6f 72 28 20 69 6e ncated).header.....{.....for(.in
6e20 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 73 7a 20 26 26 20 69 20 3c 20 34 3b 20 2b 2b 69 20 29 0a t.i.=.0;.i.<.sz.&&.i.<.4;.++i.).
6e40 20 20 20 20 20 20 69 66 28 20 64 61 74 61 5b 69 5d 20 21 3d 20 6d 61 67 69 63 5f 73 74 72 69 6e ......if(.data[i].!=.magic_strin
6e60 67 5b 69 5d 20 29 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 g[i].).return.false;.....return.
6e80 28 20 73 7a 20 3e 20 30 20 29 3b 0a 20 20 20 20 7d 0a 20 20 62 6f 6f 6c 20 76 65 72 69 66 79 5f (.sz.>.0.);.....}...bool.verify_
6ea0 63 6f 72 72 75 70 74 28 29 20 63 6f 6e 73 74 09 09 09 2f 2f 20 64 65 74 65 63 74 20 63 6f 72 72 corrupt().const...//.detect.corr
6ec0 75 70 74 20 68 65 61 64 65 72 0a 20 20 20 20 7b 0a 20 20 20 20 69 6e 74 20 6d 61 74 63 68 65 73 upt.header.....{.....int.matches
6ee0 20 3d 20 30 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 34 3b .=.0;.....for(.int.i.=.0;.i.<.4;
6f00 20 2b 2b 69 20 29 0a 20 20 20 20 20 20 69 66 28 20 64 61 74 61 5b 69 5d 20 3d 3d 20 6d 61 67 69 .++i.).......if(.data[i].==.magi
6f20 63 5f 73 74 72 69 6e 67 5b 69 5d 20 29 20 2b 2b 6d 61 74 63 68 65 73 3b 0a 20 20 20 20 72 65 74 c_string[i].).++matches;.....ret
6f40 75 72 6e 20 28 20 6d 61 74 63 68 65 73 20 3e 20 31 20 26 26 20 6d 61 74 63 68 65 73 20 3c 20 34 urn.(.matches.>.1.&&.matches.<.4
6f60 20 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 75 69 6e 74 38 5f 74 20 76 65 72 73 69 6f 6e 28 29 20 63 .);.....}....uint8_t.version().c
6f80 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 64 61 74 61 5b 34 5d 3b 20 7d 0a 20 20 62 6f 6f 6c 20 onst.{.return.data[4];.}...bool.
6fa0 76 65 72 69 66 79 5f 76 65 72 73 69 6f 6e 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 verify_version().const.{.return.
6fc0 28 20 64 61 74 61 5b 34 5d 20 3d 3d 20 31 20 29 3b 20 7d 0a 0a 20 20 75 6e 73 69 67 6e 65 64 20 (.data[4].==.1.);.}....unsigned.
6fe0 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 28 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 0a 20 20 dictionary_size().const.....{...
7000 20 20 75 6e 73 69 67 6e 65 64 20 73 7a 20 3d 20 28 20 31 20 3c 3c 20 28 20 64 61 74 61 5b 35 5d ..unsigned.sz.=.(.1.<<.(.data[5]
7020 20 26 20 30 78 31 46 20 29 20 29 3b 0a 20 20 20 20 69 66 28 20 73 7a 20 3e 20 6d 69 6e 5f 64 69 .&.0x1F.).);.....if(.sz.>.min_di
7040 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 0a 20 20 20 20 20 20 73 7a 20 2d 3d 20 28 20 73 7a ctionary_size.).......sz.-=.(.sz
7060 20 2f 20 31 36 20 29 20 2a 20 28 20 28 20 64 61 74 61 5b 35 5d 20 3e 3e 20 35 20 29 20 26 20 37 ./.16.).*.(.(.data[5].>>.5.).&.7
7080 20 29 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 73 7a 3b 0a 20 20 20 20 7d 0a 0a 20 20 62 6f 6f 6c .);.....return.sz;.....}....bool
70a0 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 28 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 .dictionary_size(.const.unsigned
70c0 20 73 7a 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 21 69 73 76 61 6c 69 64 5f 64 73 28 .sz.).....{.....if(.!isvalid_ds(
70e0 20 73 7a 20 29 20 29 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 64 61 74 61 5b 35 .sz.).).return.false;.....data[5
7100 5d 20 3d 20 72 65 61 6c 5f 62 69 74 73 28 20 73 7a 20 2d 20 31 20 29 3b 0a 20 20 20 20 69 66 28 ].=.real_bits(.sz.-.1.);.....if(
7120 20 73 7a 20 3e 20 6d 69 6e 5f 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 0a 20 20 20 20 .sz.>.min_dictionary_size.).....
7140 20 20 7b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 62 61 73 65 5f 73 69 ..{.......const.unsigned.base_si
7160 7a 65 20 3d 20 31 20 3c 3c 20 64 61 74 61 5b 35 5d 3b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 75 ze.=.1.<<.data[5];.......const.u
7180 6e 73 69 67 6e 65 64 20 66 72 61 63 74 69 6f 6e 20 3d 20 62 61 73 65 5f 73 69 7a 65 20 2f 20 31 nsigned.fraction.=.base_size./.1
71a0 36 3b 0a 20 20 20 20 20 20 66 6f 72 28 20 75 6e 73 69 67 6e 65 64 20 69 20 3d 20 37 3b 20 69 20 6;.......for(.unsigned.i.=.7;.i.
71c0 3e 3d 20 31 3b 20 2d 2d 69 20 29 0a 20 20 20 20 20 20 20 20 69 66 28 20 62 61 73 65 5f 73 69 7a >=.1;.--i.).........if(.base_siz
71e0 65 20 2d 20 28 20 69 20 2a 20 66 72 61 63 74 69 6f 6e 20 29 20 3e 3d 20 73 7a 20 29 0a 20 20 20 e.-.(.i.*.fraction.).>=.sz.)....
7200 20 20 20 20 20 20 20 7b 20 64 61 74 61 5b 35 5d 20 7c 3d 20 28 20 69 20 3c 3c 20 35 20 29 3b 20 .......{.data[5].|=.(.i.<<.5.);.
7220 62 72 65 61 6b 3b 20 7d 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 break;.}.......}.....return.true
7240 3b 0a 20 20 20 20 7d 0a 20 20 7d 3b 0a 0a 0a 73 74 72 75 63 74 20 46 69 6c 65 5f 74 72 61 69 6c ;.....}...};...struct.File_trail
7260 65 72 0a 20 20 7b 0a 20 20 75 69 6e 74 38 5f 74 20 64 61 74 61 5b 32 30 5d 3b 09 2f 2f 20 20 30 er...{...uint8_t.data[20];.//..0
7280 2d 33 20 20 43 52 43 33 32 20 6f 66 20 74 68 65 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 64 61 -3..CRC32.of.the.uncompressed.da
72a0 74 61 0a 09 09 09 2f 2f 20 20 34 2d 31 31 20 73 69 7a 65 20 6f 66 20 74 68 65 20 75 6e 63 6f 6d ta....//..4-11.size.of.the.uncom
72c0 70 72 65 73 73 65 64 20 64 61 74 61 0a 09 09 09 2f 2f 20 31 32 2d 31 39 20 6d 65 6d 62 65 72 20 pressed.data....//.12-19.member.
72e0 73 69 7a 65 20 69 6e 63 6c 75 64 69 6e 67 20 68 65 61 64 65 72 20 61 6e 64 20 74 72 61 69 6c 65 size.including.header.and.traile
7300 72 0a 0a 20 20 65 6e 75 6d 20 7b 20 73 69 7a 65 20 3d 20 32 30 20 7d 3b 0a 0a 20 20 75 6e 73 69 r....enum.{.size.=.20.};....unsi
7320 67 6e 65 64 20 64 61 74 61 5f 63 72 63 28 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 0a 20 20 20 20 gned.data_crc().const.....{.....
7340 75 6e 73 69 67 6e 65 64 20 74 6d 70 20 3d 20 30 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 unsigned.tmp.=.0;.....for(.int.i
7360 20 3d 20 33 3b 20 69 20 3e 3d 20 30 3b 20 2d 2d 69 20 29 20 7b 20 74 6d 70 20 3c 3c 3d 20 38 3b .=.3;.i.>=.0;.--i.).{.tmp.<<=.8;
7380 20 74 6d 70 20 2b 3d 20 64 61 74 61 5b 69 5d 3b 20 7d 0a 20 20 20 20 72 65 74 75 72 6e 20 74 6d .tmp.+=.data[i];.}.....return.tm
73a0 70 3b 0a 20 20 20 20 7d 0a 0a 20 20 76 6f 69 64 20 64 61 74 61 5f 63 72 63 28 20 75 6e 73 69 67 p;.....}....void.data_crc(.unsig
73c0 6e 65 64 20 63 72 63 20 29 0a 20 20 20 20 7b 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 ned.crc.).....{.for(.int.i.=.0;.
73e0 69 20 3c 3d 20 33 3b 20 2b 2b 69 20 29 20 7b 20 64 61 74 61 5b 69 5d 20 3d 20 28 75 69 6e 74 38 i.<=.3;.++i.).{.data[i].=.(uint8
7400 5f 74 29 63 72 63 3b 20 63 72 63 20 3e 3e 3d 20 38 3b 20 7d 20 7d 0a 0a 20 20 75 6e 73 69 67 6e _t)crc;.crc.>>=.8;.}.}....unsign
7420 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 64 61 74 61 5f 73 69 7a 65 28 29 20 63 6f 6e 73 74 0a 20 ed.long.long.data_size().const..
7440 20 20 20 7b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 74 6d 70 20 ...{.....unsigned.long.long.tmp.
7460 3d 20 30 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 31 31 3b 20 69 20 3e 3d 20 34 =.0;.....for(.int.i.=.11;.i.>=.4
7480 3b 20 2d 2d 69 20 29 20 7b 20 74 6d 70 20 3c 3c 3d 20 38 3b 20 74 6d 70 20 2b 3d 20 64 61 74 61 ;.--i.).{.tmp.<<=.8;.tmp.+=.data
74a0 5b 69 5d 3b 20 7d 0a 20 20 20 20 72 65 74 75 72 6e 20 74 6d 70 3b 0a 20 20 20 20 7d 0a 0a 20 20 [i];.}.....return.tmp;.....}....
74c0 76 6f 69 64 20 64 61 74 61 5f 73 69 7a 65 28 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f void.data_size(.unsigned.long.lo
74e0 6e 67 20 73 7a 20 29 0a 20 20 20 20 7b 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 34 3b 20 69 20 ng.sz.).....{.for(.int.i.=.4;.i.
7500 3c 3d 20 31 31 3b 20 2b 2b 69 20 29 20 7b 20 64 61 74 61 5b 69 5d 20 3d 20 28 75 69 6e 74 38 5f <=.11;.++i.).{.data[i].=.(uint8_
7520 74 29 73 7a 3b 20 73 7a 20 3e 3e 3d 20 38 3b 20 7d 20 7d 0a 0a 20 20 75 6e 73 69 67 6e 65 64 20 t)sz;.sz.>>=.8;.}.}....unsigned.
7540 6c 6f 6e 67 20 6c 6f 6e 67 20 6d 65 6d 62 65 72 5f 73 69 7a 65 28 29 20 63 6f 6e 73 74 0a 20 20 long.long.member_size().const...
7560 20 20 7b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 74 6d 70 20 3d ..{.....unsigned.long.long.tmp.=
7580 20 30 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 31 39 3b 20 69 20 3e 3d 20 31 32 .0;.....for(.int.i.=.19;.i.>=.12
75a0 3b 20 2d 2d 69 20 29 20 7b 20 74 6d 70 20 3c 3c 3d 20 38 3b 20 74 6d 70 20 2b 3d 20 64 61 74 61 ;.--i.).{.tmp.<<=.8;.tmp.+=.data
75c0 5b 69 5d 3b 20 7d 0a 20 20 20 20 72 65 74 75 72 6e 20 74 6d 70 3b 0a 20 20 20 20 7d 0a 0a 20 20 [i];.}.....return.tmp;.....}....
75e0 76 6f 69 64 20 6d 65 6d 62 65 72 5f 73 69 7a 65 28 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 void.member_size(.unsigned.long.
7600 6c 6f 6e 67 20 73 7a 20 29 0a 20 20 20 20 7b 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 31 32 3b long.sz.).....{.for(.int.i.=.12;
7620 20 69 20 3c 3d 20 31 39 3b 20 2b 2b 69 20 29 20 7b 20 64 61 74 61 5b 69 5d 20 3d 20 28 75 69 6e .i.<=.19;.++i.).{.data[i].=.(uin
7640 74 38 5f 74 29 73 7a 3b 20 73 7a 20 3e 3e 3d 20 38 3b 20 7d 20 7d 0a 20 20 7d 3b 0a 0a 0a 73 74 t8_t)sz;.sz.>>=.8;.}.}...};...st
7660 72 75 63 74 20 45 72 72 6f 72 0a 20 20 7b 0a 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f ruct.Error...{...const.char.*.co
7680 6e 73 74 20 6d 73 67 3b 0a 20 20 65 78 70 6c 69 63 69 74 20 45 72 72 6f 72 28 20 63 6f 6e 73 74 nst.msg;...explicit.Error(.const
76a0 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 73 20 29 20 3a 20 6d 73 67 28 20 73 20 29 20 7b 7d 0a .char.*.const.s.).:.msg(.s.).{}.
76c0 20 20 7d 3b 0a 0a 0a 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 62 61 64 5f 6d 61 ..};...const.char.*.const.bad_ma
76e0 67 69 63 5f 6d 73 67 20 3d 20 22 42 61 64 20 6d 61 67 69 63 20 6e 75 6d 62 65 72 20 28 66 69 6c gic_msg.=."Bad.magic.number.(fil
7700 65 20 6e 6f 74 20 69 6e 20 6c 7a 69 70 20 66 6f 72 6d 61 74 29 2e 22 3b 0a 63 6f 6e 73 74 20 63 e.not.in.lzip.format).";.const.c
7720 68 61 72 20 2a 20 63 6f 6e 73 74 20 62 61 64 5f 64 69 63 74 5f 6d 73 67 20 3d 20 22 49 6e 76 61 har.*.const.bad_dict_msg.=."Inva
7740 6c 69 64 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 69 6e 20 6d 65 6d 62 65 72 20 68 65 lid.dictionary.size.in.member.he
7760 61 64 65 72 2e 22 3b 0a 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 63 6f 72 72 75 ader.";.const.char.*.const.corru
7780 70 74 5f 6d 6d 5f 6d 73 67 20 3d 20 22 43 6f 72 72 75 70 74 20 68 65 61 64 65 72 20 69 6e 20 6d pt_mm_msg.=."Corrupt.header.in.m
77a0 75 6c 74 69 6d 65 6d 62 65 72 20 66 69 6c 65 2e 22 3b 0a 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 ultimember.file.";.const.char.*.
77c0 63 6f 6e 73 74 20 74 72 61 69 6c 69 6e 67 5f 6d 73 67 20 3d 20 22 54 72 61 69 6c 69 6e 67 20 64 const.trailing_msg.=."Trailing.d
77e0 61 74 61 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 2e 22 3b 0a 0a 2f 2f 20 64 65 66 69 6e 65 64 20 69 ata.not.allowed.";..//.defined.i
7800 6e 20 64 65 63 6f 64 65 72 2e 63 63 0a 69 6e 74 20 72 65 61 64 62 6c 6f 63 6b 28 20 63 6f 6e 73 n.decoder.cc.int.readblock(.cons
7820 74 20 69 6e 74 20 66 64 2c 20 75 69 6e 74 38 5f 74 20 2a 20 63 6f 6e 73 74 20 62 75 66 2c 20 63 t.int.fd,.uint8_t.*.const.buf,.c
7840 6f 6e 73 74 20 69 6e 74 20 73 69 7a 65 20 29 3b 0a 69 6e 74 20 77 72 69 74 65 62 6c 6f 63 6b 28 onst.int.size.);.int.writeblock(
7860 20 63 6f 6e 73 74 20 69 6e 74 20 66 64 2c 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 2a 20 63 .const.int.fd,.const.uint8_t.*.c
7880 6f 6e 73 74 20 62 75 66 2c 20 63 6f 6e 73 74 20 69 6e 74 20 73 69 7a 65 20 29 3b 0a 0a 2f 2f 20 onst.buf,.const.int.size.);..//.
78a0 64 65 66 69 6e 65 64 20 69 6e 20 6c 69 73 74 2e 63 63 0a 69 6e 74 20 6c 69 73 74 5f 66 69 6c 65 defined.in.list.cc.int.list_file
78c0 73 28 20 63 6f 6e 73 74 20 73 74 64 3a 3a 76 65 63 74 6f 72 3c 20 73 74 64 3a 3a 73 74 72 69 6e s(.const.std::vector<.std::strin
78e0 67 20 3e 20 26 20 66 69 6c 65 6e 61 6d 65 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 g.>.&.filenames,................
7900 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 69 67 6e 6f 72 65 5f 74 72 61 69 6c 69 6e 67 2c 20 63 6f 6e .const.bool.ignore_trailing,.con
7920 73 74 20 62 6f 6f 6c 20 6c 6f 6f 73 65 5f 74 72 61 69 6c 69 6e 67 20 29 3b 0a 0a 2f 2f 20 64 65 st.bool.loose_trailing.);..//.de
7940 66 69 6e 65 64 20 69 6e 20 6d 61 69 6e 2e 63 63 0a 73 74 72 75 63 74 20 73 74 61 74 3b 0a 63 6f fined.in.main.cc.struct.stat;.co
7960 6e 73 74 20 63 68 61 72 20 2a 20 62 61 64 5f 76 65 72 73 69 6f 6e 28 20 63 6f 6e 73 74 20 75 6e nst.char.*.bad_version(.const.un
7980 73 69 67 6e 65 64 20 76 65 72 73 69 6f 6e 20 29 3b 0a 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 66 signed.version.);.const.char.*.f
79a0 6f 72 6d 61 74 5f 64 73 28 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 64 69 63 74 69 6f 6e ormat_ds(.const.unsigned.diction
79c0 61 72 79 5f 73 69 7a 65 20 29 3b 0a 76 6f 69 64 20 73 68 6f 77 5f 68 65 61 64 65 72 28 20 63 6f ary_size.);.void.show_header(.co
79e0 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 3b 0a nst.unsigned.dictionary_size.);.
7a00 69 6e 74 20 6f 70 65 6e 5f 69 6e 73 74 72 65 61 6d 28 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 int.open_instream(.const.char.*.
7a20 63 6f 6e 73 74 20 6e 61 6d 65 2c 20 73 74 72 75 63 74 20 73 74 61 74 20 2a 20 63 6f 6e 73 74 20 const.name,.struct.stat.*.const.
7a40 69 6e 5f 73 74 61 74 73 70 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f in_statsp,....................co
7a60 6e 73 74 20 62 6f 6f 6c 20 6e 6f 5f 6f 66 69 6c 65 2c 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 72 65 nst.bool.no_ofile,.const.bool.re
7a80 67 5f 6f 6e 6c 79 20 3d 20 66 61 6c 73 65 20 29 3b 0a 76 6f 69 64 20 73 68 6f 77 5f 65 72 72 6f g_only.=.false.);.void.show_erro
7aa0 72 28 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 6d 73 67 2c 20 63 6f 6e 73 74 r(.const.char.*.const.msg,.const
7ac0 20 69 6e 74 20 65 72 72 63 6f 64 65 20 3d 20 30 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .int.errcode.=.0,...............
7ae0 20 20 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 68 65 6c 70 20 3d 20 66 61 6c 73 65 20 29 3b 0a 76 6f ...const.bool.help.=.false.);.vo
7b00 69 64 20 73 68 6f 77 5f 66 69 6c 65 5f 65 72 72 6f 72 28 20 63 6f 6e 73 74 20 63 68 61 72 20 2a id.show_file_error(.const.char.*
7b20 20 63 6f 6e 73 74 20 66 69 6c 65 6e 61 6d 65 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f .const.filename,.const.char.*.co
7b40 6e 73 74 20 6d 73 67 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 nst.msg,.......................c
7b60 6f 6e 73 74 20 69 6e 74 20 65 72 72 63 6f 64 65 20 3d 20 30 20 29 3b 0a 76 6f 69 64 20 69 6e 74 onst.int.errcode.=.0.);.void.int
7b80 65 72 6e 61 6c 5f 65 72 72 6f 72 28 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 ernal_error(.const.char.*.const.
7ba0 6d 73 67 20 29 3b 0a 63 6c 61 73 73 20 4d 61 74 63 68 66 69 6e 64 65 72 5f 62 61 73 65 3b 0a 76 msg.);.class.Matchfinder_base;.v
7bc0 6f 69 64 20 73 68 6f 77 5f 63 70 72 6f 67 72 65 73 73 28 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e oid.show_cprogress(.const.unsign
7be0 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 63 66 69 6c 65 5f 73 69 7a 65 20 3d 20 30 2c 0a 20 20 20 ed.long.long.cfile_size.=.0,....
7c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 ..................const.unsigned
7c20 20 6c 6f 6e 67 20 6c 6f 6e 67 20 70 61 72 74 69 61 6c 5f 73 69 7a 65 20 3d 20 30 2c 0a 20 20 20 .long.long.partial_size.=.0,....
7c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 4d 61 74 63 68 66 69 6e ..................const.Matchfin
7c60 64 65 72 5f 62 61 73 65 20 2a 20 63 6f 6e 73 74 20 6d 20 3d 20 30 2c 0a 20 20 20 20 20 20 20 20 der_base.*.const.m.=.0,.........
7c80 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 50 72 65 74 74 79 5f 70 72 69 6e 74 20 .............const.Pretty_print.
7ca0 2a 20 63 6f 6e 73 74 20 70 20 3d 20 30 20 29 3b 0a 63 6c 61 73 73 20 52 61 6e 67 65 5f 64 65 63 *.const.p.=.0.);.class.Range_dec
7cc0 6f 64 65 72 3b 0a 76 6f 69 64 20 73 68 6f 77 5f 64 70 72 6f 67 72 65 73 73 28 20 63 6f 6e 73 74 oder;.void.show_dprogress(.const
7ce0 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 63 66 69 6c 65 5f 73 69 7a 65 20 3d .unsigned.long.long.cfile_size.=
7d00 20 30 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 75 .0,......................const.u
7d20 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 70 61 72 74 69 61 6c 5f 73 69 7a 65 20 3d nsigned.long.long.partial_size.=
7d40 20 30 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 52 .0,......................const.R
7d60 61 6e 67 65 5f 64 65 63 6f 64 65 72 20 2a 20 63 6f 6e 73 74 20 64 20 3d 20 30 2c 0a 20 20 20 20 ange_decoder.*.const.d.=.0,.....
7d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 50 72 65 74 74 79 5f 70 72 .................const.Pretty_pr
7da0 69 6e 74 20 2a 20 63 6f 6e 73 74 20 70 20 3d 20 30 20 29 3b 0a 00 00 00 00 00 00 00 00 00 00 00 int.*.const.p.=.0.);............
7dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e00 6c 7a 69 70 2d 31 2e 32 30 2f 43 68 61 6e 67 65 4c 6f 67 00 00 00 00 00 00 00 00 00 00 00 00 00 lzip-1.20/ChangeLog.............
7e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
7e80 30 30 33 30 31 36 34 00 31 33 36 36 34 37 33 36 35 34 35 00 30 31 34 33 34 33 00 20 30 00 00 00 0030164.13664736545.014343..0...
7ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7f00 00 75 73 74 61 72 20 20 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...mohammad...............
7f20 00 00 00 00 00 00 00 00 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........mohammad...............
7f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8000 32 30 31 38 2d 30 32 2d 31 31 20 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 20 20 3c 2018-02-11..Antonio.Diaz.Diaz..<
8020 61 6e 74 6f 6e 69 6f 40 67 6e 75 2e 6f 72 67 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 31 2e 32 antonio@gnu.org>...*.Version.1.2
8040 30 20 72 65 6c 65 61 73 65 64 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 3a 20 41 64 64 65 64 20 6e 65 0.released...*.main.cc:.Added.ne
8060 77 20 6f 70 74 69 6f 6e 20 27 2d 2d 6c 6f 6f 73 65 2d 74 72 61 69 6c 69 6e 67 27 2e 0a 09 2a 20 w.option.'--loose-trailing'...*.
8080 49 6d 70 72 6f 76 65 64 20 63 6f 72 72 75 70 74 20 68 65 61 64 65 72 20 64 65 74 65 63 74 69 6f Improved.corrupt.header.detectio
80a0 6e 20 74 6f 20 48 44 3d 33 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 3a 20 53 68 6f 77 20 63 6f 72 72 n.to.HD=3...*.main.cc:.Show.corr
80c0 75 70 74 20 6f 72 20 74 72 75 6e 63 61 74 65 64 20 68 65 61 64 65 72 20 69 6e 20 6d 75 6c 74 69 upt.or.truncated.header.in.multi
80e0 6d 65 6d 62 65 72 20 66 69 6c 65 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 20 28 6d 61 69 6e 29 3a 20 member.file...*.main.cc.(main):.
8100 4f 70 74 69 6f 6e 20 27 2d 53 2c 20 2d 2d 76 6f 6c 75 6d 65 2d 73 69 7a 65 27 20 6e 6f 77 20 6b Option.'-S,.--volume-size'.now.k
8120 65 65 70 73 20 69 6e 70 75 74 20 66 69 6c 65 73 2e 0a 09 2a 20 65 6e 63 6f 64 65 72 5f 62 61 73 eeps.input.files...*.encoder_bas
8140 65 2e 2a 3a 20 41 64 6a 75 73 74 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 66 6f 72 20 e.*:.Adjust.dictionary.size.for.
8160 65 61 63 68 20 6d 65 6d 62 65 72 2e 0a 09 2a 20 52 65 70 6c 61 63 65 64 20 27 62 69 74 73 2f 62 each.member...*.Replaced.'bits/b
8180 79 74 65 27 20 77 69 74 68 20 69 6e 76 65 72 73 65 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 72 61 yte'.with.inverse.compression.ra
81a0 74 69 6f 20 69 6e 20 6f 75 74 70 75 74 2e 0a 09 2a 20 53 68 6f 77 20 70 72 6f 67 72 65 73 73 20 tio.in.output...*.Show.progress.
81c0 6f 66 20 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 61 74 20 76 65 72 62 6f 73 69 74 79 20 6c 65 of.decompression.at.verbosity.le
81e0 76 65 6c 20 32 20 28 2d 76 76 29 2e 0a 09 2a 20 53 68 6f 77 20 70 72 6f 67 72 65 73 73 20 6f 66 vel.2.(-vv)...*.Show.progress.of
8200 20 28 64 65 29 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6f 6e 6c 79 20 69 66 20 73 74 64 65 72 72 20 .(de)compression.only.if.stderr.
8220 69 73 20 61 20 74 65 72 6d 69 6e 61 6c 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 3a 20 53 68 6f 77 20 is.a.terminal...*.main.cc:.Show.
8240 66 69 6e 61 6c 20 64 69 61 67 6e 6f 73 74 69 63 20 77 68 65 6e 20 74 65 73 74 69 6e 67 20 6d 75 final.diagnostic.when.testing.mu
8260 6c 74 69 70 6c 65 20 66 69 6c 65 73 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 3a 20 44 6f 20 6e 6f 74 ltiple.files...*.main.cc:.Do.not
8280 20 61 64 64 20 61 20 73 65 63 6f 6e 64 20 2e 6c 7a 20 65 78 74 65 6e 73 69 6f 6e 20 74 6f 20 74 .add.a.second..lz.extension.to.t
82a0 68 65 20 61 72 67 20 6f 66 20 2d 6f 2e 0a 09 2a 20 64 65 63 6f 64 65 72 2e 63 63 20 28 76 65 72 he.arg.of.-o...*.decoder.cc.(ver
82c0 69 66 79 5f 74 72 61 69 6c 65 72 29 3a 20 53 68 6f 77 20 73 74 6f 72 65 64 20 73 69 7a 65 73 20 ify_trailer):.Show.stored.sizes.
82e0 61 6c 73 6f 20 69 6e 20 68 65 78 2e 0a 09 20 20 53 68 6f 77 20 64 69 63 74 69 6f 6e 61 72 79 20 also.in.hex.....Show.dictionary.
8300 73 69 7a 65 20 61 74 20 76 65 72 62 6f 73 69 74 79 20 6c 65 76 65 6c 20 34 20 28 2d 76 76 76 76 size.at.verbosity.level.4.(-vvvv
8320 29 2e 0a 09 2a 20 6c 7a 69 70 2e 74 65 78 69 3a 20 41 64 64 65 64 20 63 68 61 70 74 65 72 20 27 )...*.lzip.texi:.Added.chapter.'
8340 4f 75 74 70 75 74 27 2e 0a 0a 32 30 31 37 2d 30 34 2d 31 33 20 20 41 6e 74 6f 6e 69 6f 20 44 69 Output'...2017-04-13..Antonio.Di
8360 61 7a 20 44 69 61 7a 20 20 3c 61 6e 74 6f 6e 69 6f 40 67 6e 75 2e 6f 72 67 3e 0a 0a 09 2a 20 56 az.Diaz..<antonio@gnu.org>...*.V
8380 65 72 73 69 6f 6e 20 31 2e 31 39 20 72 65 6c 65 61 73 65 64 2e 0a 09 2a 20 54 68 65 20 6f 70 74 ersion.1.19.released...*.The.opt
83a0 69 6f 6e 20 27 2d 6c 2c 20 2d 2d 6c 69 73 74 27 20 68 61 73 20 62 65 65 6e 20 70 6f 72 74 65 64 ion.'-l,.--list'.has.been.ported
83c0 20 66 72 6f 6d 20 6c 7a 69 70 72 65 63 6f 76 65 72 2e 0a 09 2a 20 44 6f 6e 27 74 20 61 6c 6c 6f .from.lziprecover...*.Don't.allo
83e0 77 20 6d 69 78 69 6e 67 20 64 69 66 66 65 72 65 6e 74 20 6f 70 65 72 61 74 69 6f 6e 73 20 28 2d w.mixing.different.operations.(-
8400 64 2c 20 2d 6c 20 6f 72 20 2d 74 29 2e 0a 09 2a 20 43 6f 6d 70 72 65 73 73 69 6f 6e 20 74 69 6d d,.-l.or.-t)...*.Compression.tim
8420 65 20 6f 66 20 6f 70 74 69 6f 6e 20 27 2d 30 27 20 68 61 73 20 62 65 65 6e 20 73 6c 69 67 68 74 e.of.option.'-0'.has.been.slight
8440 6c 79 20 72 65 64 75 63 65 64 2e 0a 09 2a 20 44 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 74 69 6d ly.reduced...*.Decompression.tim
8460 65 20 68 61 73 20 62 65 65 6e 20 72 65 64 75 63 65 64 20 62 79 20 32 25 2e 0a 09 2a 20 6d 61 69 e.has.been.reduced.by.2%...*.mai
8480 6e 2e 63 63 3a 20 43 6f 6e 74 69 6e 75 65 20 74 65 73 74 69 6e 67 20 69 66 20 61 6e 79 20 69 6e n.cc:.Continue.testing.if.any.in
84a0 70 75 74 20 66 69 6c 65 20 69 73 20 61 20 74 65 72 6d 69 6e 61 6c 2e 0a 09 2a 20 6d 61 69 6e 2e put.file.is.a.terminal...*.main.
84c0 63 63 3a 20 53 68 6f 77 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 20 69 6e 20 62 6f 74 68 20 68 cc:.Show.trailing.data.in.both.h
84e0 65 78 61 64 65 63 69 6d 61 6c 20 61 6e 64 20 41 53 43 49 49 2e 0a 09 2a 20 65 6e 63 6f 64 65 72 exadecimal.and.ASCII...*.encoder
8500 2e 63 63 20 28 4d 61 74 63 68 66 69 6e 64 65 72 5f 62 61 73 65 29 3a 20 56 65 72 69 66 79 20 73 .cc.(Matchfinder_base):.Verify.s
8520 69 7a 65 20 70 61 73 73 65 64 20 74 6f 20 6e 65 77 2e 0a 09 2a 20 66 69 6c 65 5f 69 6e 64 65 78 ize.passed.to.new...*.file_index
8540 2e 63 63 3a 20 49 6d 70 72 6f 76 65 20 64 65 74 65 63 74 69 6f 6e 20 6f 66 20 62 61 64 20 64 69 .cc:.Improve.detection.of.bad.di
8560 63 74 20 61 6e 64 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 2e 0a 09 2a 20 6c 7a 69 70 2e 68 3a ct.and.trailing.data...*.lzip.h:
8580 20 55 6e 69 66 69 65 64 20 6d 65 73 73 61 67 65 73 20 66 6f 72 20 62 61 64 20 6d 61 67 69 63 2c .Unified.messages.for.bad.magic,
85a0 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 2c 20 65 74 63 2e 0a 0a 32 30 31 36 2d 30 35 2d 31 34 .trailing.data,.etc...2016-05-14
85c0 20 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 20 20 3c 61 6e 74 6f 6e 69 6f 40 67 6e ..Antonio.Diaz.Diaz..<antonio@gn
85e0 75 2e 6f 72 67 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 31 2e 31 38 20 72 65 6c 65 61 73 65 64 u.org>...*.Version.1.18.released
8600 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 3a 20 41 64 64 65 64 20 6e 65 77 20 6f 70 74 69 6f 6e 20 27 ...*.main.cc:.Added.new.option.'
8620 2d 61 2c 20 2d 2d 74 72 61 69 6c 69 6e 67 2d 65 72 72 6f 72 27 2e 0a 09 2a 20 44 65 63 6f 6d 70 -a,.--trailing-error'...*.Decomp
8640 72 65 73 73 69 6f 6e 20 74 69 6d 65 20 68 61 73 20 62 65 65 6e 20 72 65 64 75 63 65 64 20 62 79 ression.time.has.been.reduced.by
8660 20 32 25 2e 0a 09 2a 20 64 65 63 6f 64 65 72 2e 63 63 20 28 76 65 72 69 66 79 5f 74 72 61 69 6c .2%...*.decoder.cc.(verify_trail
8680 65 72 29 3a 20 52 65 6d 6f 76 65 64 20 74 65 73 74 20 6f 66 20 66 69 6e 61 6c 20 63 6f 64 65 2e er):.Removed.test.of.final.code.
86a0 0a 09 2a 20 6d 61 69 6e 2e 63 63 20 28 6d 61 69 6e 29 3a 20 44 65 6c 65 74 65 20 27 2d 2d 6f 75 ..*.main.cc.(main):.Delete.'--ou
86c0 74 70 75 74 27 20 66 69 6c 65 20 69 66 20 69 6e 66 64 20 69 73 20 61 20 74 65 72 6d 69 6e 61 6c tput'.file.if.infd.is.a.terminal
86e0 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 20 28 6d 61 69 6e 29 3a 20 44 6f 6e 27 74 20 75 73 65 20 73 ...*.main.cc.(main):.Don't.use.s
8700 74 64 69 6e 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 63 65 2e 0a 09 2a 20 52 65 6d 6f 76 65 64 20 tdin.more.than.once...*.Removed.
8720 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 73 75 70 70 6f 72 74 20 66 6f 72 20 76 65 72 73 69 6f decompression.support.for.versio
8740 6e 20 30 20 66 69 6c 65 73 2e 0a 09 2a 20 6c 7a 69 70 2e 74 65 78 69 3a 20 41 64 64 65 64 20 63 n.0.files...*.lzip.texi:.Added.c
8760 68 61 70 74 65 72 20 27 54 72 61 69 6c 69 6e 67 20 64 61 74 61 27 2e 0a 09 2a 20 63 6f 6e 66 69 hapter.'Trailing.data'...*.confi
8780 67 75 72 65 3a 20 41 76 6f 69 64 20 77 61 72 6e 69 6e 67 20 6f 6e 20 73 6f 6d 65 20 73 68 65 6c gure:.Avoid.warning.on.some.shel
87a0 6c 73 20 77 68 65 6e 20 74 65 73 74 69 6e 67 20 66 6f 72 20 67 2b 2b 2e 0a 09 2a 20 4d 61 6b 65 ls.when.testing.for.g++...*.Make
87c0 66 69 6c 65 2e 69 6e 3a 20 44 65 74 65 63 74 20 74 68 65 20 65 78 69 73 74 65 6e 63 65 20 6f 66 file.in:.Detect.the.existence.of
87e0 20 69 6e 73 74 61 6c 6c 2d 69 6e 66 6f 2e 0a 09 2a 20 63 68 65 63 6b 2e 73 68 3a 20 41 20 50 4f .install-info...*.check.sh:.A.PO
8800 53 49 58 20 73 68 65 6c 6c 20 69 73 20 72 65 71 75 69 72 65 64 20 74 6f 20 72 75 6e 20 74 68 65 SIX.shell.is.required.to.run.the
8820 20 74 65 73 74 73 2e 0a 09 2a 20 63 68 65 63 6b 2e 73 68 3a 20 44 6f 6e 27 74 20 63 68 65 63 6b .tests...*.check.sh:.Don't.check
8840 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 73 2e 0a 0a 32 30 31 35 2d 30 37 2d 31 32 20 20 41 6e .error.messages...2015-07-12..An
8860 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 20 20 3c 61 6e 74 6f 6e 69 6f 40 67 6e 75 2e 6f 72 tonio.Diaz.Diaz..<antonio@gnu.or
8880 67 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 31 2e 31 37 20 72 65 6c 65 61 73 65 64 2e 0a 09 2a g>...*.Version.1.17.released...*
88a0 20 52 65 6f 72 67 61 6e 69 7a 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 63 6f 6d 70 72 65 73 73 69 .Reorganization.of.the.compressi
88c0 6f 6e 20 63 6f 64 65 2e 0a 09 2a 20 6c 7a 69 70 2e 74 65 78 69 3a 20 41 64 64 65 64 20 63 68 61 on.code...*.lzip.texi:.Added.cha
88e0 70 74 65 72 20 27 51 75 61 6c 69 74 79 20 61 73 73 75 72 61 6e 63 65 27 2e 0a 09 2a 20 4d 61 6b pter.'Quality.assurance'...*.Mak
8900 65 66 69 6c 65 2e 69 6e 3a 20 41 64 64 65 64 20 6e 65 77 20 74 61 72 67 65 74 73 20 27 69 6e 73 efile.in:.Added.new.targets.'ins
8920 74 61 6c 6c 2a 2d 63 6f 6d 70 72 65 73 73 27 2e 0a 0a 32 30 31 34 2d 30 38 2d 32 36 20 20 41 6e tall*-compress'...2014-08-26..An
8940 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 20 20 3c 61 6e 74 6f 6e 69 6f 40 67 6e 75 2e 6f 72 tonio.Diaz.Diaz..<antonio@gnu.or
8960 67 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 31 2e 31 36 20 72 65 6c 65 61 73 65 64 2e 0a 09 2a g>...*.Version.1.16.released...*
8980 20 43 6f 6d 70 72 65 73 73 69 6f 6e 20 72 61 74 69 6f 20 6f 66 20 6f 70 74 69 6f 6e 20 27 2d 39 .Compression.ratio.of.option.'-9
89a0 27 20 68 61 73 20 62 65 65 6e 20 73 6c 69 67 68 74 6c 79 20 69 6e 63 72 65 61 73 65 64 2e 0a 09 '.has.been.slightly.increased...
89c0 2a 20 43 6f 6d 70 72 65 73 73 69 6f 6e 20 74 69 6d 65 20 68 61 73 20 62 65 65 6e 20 72 65 64 75 *.Compression.time.has.been.redu
89e0 63 65 64 20 62 79 20 34 25 2e 0a 09 2a 20 43 6f 6d 70 72 65 73 73 69 6f 6e 20 74 69 6d 65 20 6f ced.by.4%...*.Compression.time.o
8a00 66 20 6f 70 74 69 6f 6e 20 27 2d 30 27 20 68 61 73 20 62 65 65 6e 20 72 65 64 75 63 65 64 20 62 f.option.'-0'.has.been.reduced.b
8a20 79 20 32 25 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 20 28 63 6c 6f 73 65 5f 61 6e 64 5f 73 65 74 5f y.2%...*.main.cc.(close_and_set_
8a40 70 65 72 6d 69 73 73 69 6f 6e 73 29 3a 20 42 65 68 61 76 65 20 6c 69 6b 65 20 27 63 70 20 2d 70 permissions):.Behave.like.'cp.-p
8a60 27 2e 0a 09 2a 20 4d 69 6e 6f 72 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 2e 0a 09 2a 20 6c 7a 69 '...*.Minor.improvements...*.lzi
8a80 70 2e 74 65 78 69 6e 66 6f 3a 20 52 65 6e 61 6d 65 64 20 74 6f 20 6c 7a 69 70 2e 74 65 78 69 2e p.texinfo:.Renamed.to.lzip.texi.
8aa0 0a 09 2a 20 4c 69 63 65 6e 73 65 20 63 68 61 6e 67 65 64 20 74 6f 20 47 50 4c 20 76 65 72 73 69 ..*.License.changed.to.GPL.versi
8ac0 6f 6e 20 32 20 6f 72 20 6c 61 74 65 72 2e 0a 0a 32 30 31 33 2d 30 39 2d 32 30 20 20 41 6e 74 6f on.2.or.later...2013-09-20..Anto
8ae0 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 20 20 3c 61 6e 74 6f 6e 69 6f 40 67 6e 75 2e 6f 72 67 3e nio.Diaz.Diaz..<antonio@gnu.org>
8b00 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 31 2e 31 35 20 72 65 6c 65 61 73 65 64 2e 0a 09 2a 20 53 ...*.Version.1.15.released...*.S
8b20 68 6f 77 20 70 72 6f 67 72 65 73 73 20 6f 66 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 61 74 20 76 how.progress.of.compression.at.v
8b40 65 72 62 6f 73 69 74 79 20 6c 65 76 65 6c 20 32 20 28 2d 76 76 29 2e 0a 09 2a 20 6d 61 69 6e 2e erbosity.level.2.(-vv)...*.main.
8b60 63 63 20 28 73 68 6f 77 5f 68 65 61 64 65 72 29 3a 20 44 6f 6e 27 74 20 73 68 6f 77 20 68 65 61 cc.(show_header):.Don't.show.hea
8b80 64 65 72 20 76 65 72 73 69 6f 6e 2e 0a 09 2a 20 49 67 6e 6f 72 65 20 6f 70 74 69 6f 6e 20 27 2d der.version...*.Ignore.option.'-
8ba0 6e 2c 20 2d 2d 74 68 72 65 61 64 73 27 20 66 6f 72 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 n,.--threads'.for.compatibility.
8bc0 77 69 74 68 20 70 6c 7a 69 70 2e 0a 09 2a 20 63 6f 6e 66 69 67 75 72 65 3a 20 4f 70 74 69 6f 6e with.plzip...*.configure:.Option
8be0 73 20 6e 6f 77 20 61 63 63 65 70 74 20 61 20 73 65 70 61 72 61 74 65 20 61 72 67 75 6d 65 6e 74 s.now.accept.a.separate.argument
8c00 2e 0a 09 2a 20 6c 7a 69 70 2e 74 65 78 69 6e 66 6f 3a 20 41 64 64 65 64 20 63 68 61 70 74 65 72 ...*.lzip.texinfo:.Added.chapter
8c20 20 27 53 74 72 65 61 6d 20 66 6f 72 6d 61 74 27 20 61 6e 64 20 61 70 70 65 6e 64 69 78 0a 09 20 .'Stream.format'.and.appendix...
8c40 20 27 52 65 66 65 72 65 6e 63 65 20 73 6f 75 72 63 65 20 63 6f 64 65 27 2e 0a 0a 32 30 31 33 2d .'Reference.source.code'...2013-
8c60 30 32 2d 31 37 20 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 20 20 3c 61 6e 74 5f 64 02-17..Antonio.Diaz.Diaz..<ant_d
8c80 69 61 7a 40 74 65 6c 65 6c 69 6e 65 2e 65 73 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 31 2e 31 iaz@teleline.es>...*.Version.1.1
8ca0 34 20 72 65 6c 65 61 73 65 64 2e 0a 09 2a 20 4d 75 6c 74 69 2d 73 74 65 70 20 74 72 69 61 6c 73 4.released...*.Multi-step.trials
8cc0 20 68 61 76 65 20 62 65 65 6e 20 69 6d 70 6c 65 6d 65 6e 74 65 64 2e 0a 09 2a 20 43 6f 6d 70 72 .have.been.implemented...*.Compr
8ce0 65 73 73 69 6f 6e 20 72 61 74 69 6f 20 68 61 73 20 62 65 65 6e 20 73 6c 69 67 68 74 6c 79 20 69 ession.ratio.has.been.slightly.i
8d00 6e 63 72 65 61 73 65 64 2e 0a 09 2a 20 43 6f 6d 70 72 65 73 73 69 6f 6e 20 74 69 6d 65 20 68 61 ncreased...*.Compression.time.ha
8d20 73 20 62 65 65 6e 20 72 65 64 75 63 65 64 20 62 79 20 35 25 2e 0a 09 2a 20 44 65 63 6f 6d 70 72 s.been.reduced.by.5%...*.Decompr
8d40 65 73 73 69 6f 6e 20 74 69 6d 65 20 68 61 73 20 62 65 65 6e 20 72 65 64 75 63 65 64 20 62 79 20 ession.time.has.been.reduced.by.
8d60 31 32 25 2e 0a 09 2a 20 4d 61 6b 65 66 69 6c 65 2e 69 6e 3a 20 41 64 64 65 64 20 6e 65 77 20 74 12%...*.Makefile.in:.Added.new.t
8d80 61 72 67 65 74 20 27 69 6e 73 74 61 6c 6c 2d 62 69 6e 27 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 3a arget.'install-bin'...*.main.cc:
8da0 20 55 73 65 20 27 73 65 74 6d 6f 64 65 27 20 69 6e 73 74 65 61 64 20 6f 66 20 27 5f 73 65 74 6d .Use.'setmode'.instead.of.'_setm
8dc0 6f 64 65 27 20 6f 6e 20 57 69 6e 64 6f 77 73 20 61 6e 64 20 4f 53 2f 32 2e 0a 09 2a 20 6d 61 69 ode'.on.Windows.and.OS/2...*.mai
8de0 6e 2e 63 63 3a 20 44 65 66 69 6e 65 20 27 73 74 72 74 6f 75 6c 6c 27 20 74 6f 20 27 73 74 64 3a n.cc:.Define.'strtoull'.to.'std:
8e00 3a 73 74 72 74 6f 75 6c 27 20 6f 6e 20 57 69 6e 64 6f 77 73 2e 0a 0a 32 30 31 32 2d 30 32 2d 32 :strtoul'.on.Windows...2012-02-2
8e20 34 20 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 20 20 3c 61 6e 74 5f 64 69 61 7a 40 4..Antonio.Diaz.Diaz..<ant_diaz@
8e40 74 65 6c 65 6c 69 6e 65 2e 65 73 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 31 2e 31 33 20 72 65 teleline.es>...*.Version.1.13.re
8e60 6c 65 61 73 65 64 2e 0a 09 2a 20 4c 7a 69 70 72 65 63 6f 76 65 72 20 68 61 73 20 62 65 65 6e 20 leased...*.Lziprecover.has.been.
8e80 6d 6f 76 65 64 20 74 6f 20 69 74 73 20 6f 77 6e 20 70 61 63 6b 61 67 65 2e 0a 09 2a 20 6d 61 69 moved.to.its.own.package...*.mai
8ea0 6e 2e 63 63 20 28 63 6c 6f 73 65 5f 61 6e 64 5f 73 65 74 5f 70 65 72 6d 69 73 73 69 6f 6e 73 29 n.cc.(close_and_set_permissions)
8ec0 3a 20 49 6e 61 62 69 6c 69 74 79 20 74 6f 20 63 68 61 6e 67 65 20 6f 75 74 70 75 74 0a 09 20 20 :.Inability.to.change.output....
8ee0 66 69 6c 65 20 61 74 74 72 69 62 75 74 65 73 20 68 61 73 20 62 65 65 6e 20 64 6f 77 6e 67 72 61 file.attributes.has.been.downgra
8f00 64 65 64 20 66 72 6f 6d 20 65 72 72 6f 72 20 74 6f 20 77 61 72 6e 69 6e 67 2e 0a 09 2a 20 43 6f ded.from.error.to.warning...*.Co
8f20 6d 70 72 65 73 73 69 6f 6e 20 74 69 6d 65 20 6f 66 20 6f 70 74 69 6f 6e 20 27 2d 30 27 20 68 61 mpression.time.of.option.'-0'.ha
8f40 73 20 62 65 65 6e 20 72 65 64 75 63 65 64 20 62 79 20 32 25 2e 0a 09 2a 20 52 65 6f 72 67 61 6e s.been.reduced.by.2%...*.Reorgan
8f60 69 7a 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 63 6f 64 65 2e ization.of.the.compression.code.
8f80 0a 09 2a 20 53 6d 61 6c 6c 20 63 68 61 6e 67 65 20 69 6e 20 27 2d 2d 68 65 6c 70 27 20 6f 75 74 ..*.Small.change.in.'--help'.out
8fa0 70 75 74 20 61 6e 64 20 6d 61 6e 20 70 61 67 65 2e 0a 09 2a 20 43 68 61 6e 67 65 64 20 71 75 6f put.and.man.page...*.Changed.quo
8fc0 74 65 20 63 68 61 72 61 63 74 65 72 73 20 69 6e 20 6d 65 73 73 61 67 65 73 20 61 73 20 61 64 76 te.characters.in.messages.as.adv
8fe0 69 73 65 64 20 62 79 20 47 4e 55 20 53 74 61 6e 64 61 72 64 73 2e 0a 09 2a 20 63 6f 6e 66 69 67 ised.by.GNU.Standards...*.config
9000 75 72 65 3a 20 27 64 61 74 61 64 69 72 27 20 72 65 6e 61 6d 65 64 20 74 6f 20 27 64 61 74 61 72 ure:.'datadir'.renamed.to.'datar
9020 6f 6f 74 64 69 72 27 2e 0a 09 2a 20 27 75 6e 7a 63 72 61 73 68 2e 63 63 27 20 68 61 73 20 62 65 ootdir'...*.'unzcrash.cc'.has.be
9040 65 6e 20 6d 6f 76 65 64 20 74 6f 20 70 61 63 6b 61 67 65 20 27 6c 7a 69 70 72 65 63 6f 76 65 72 en.moved.to.package.'lziprecover
9060 27 2e 0a 0a 32 30 31 31 2d 30 34 2d 33 30 20 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 '...2011-04-30..Antonio.Diaz.Dia
9080 7a 20 20 3c 61 6e 74 5f 64 69 61 7a 40 74 65 6c 65 6c 69 6e 65 2e 65 73 3e 0a 0a 09 2a 20 56 65 z..<ant_diaz@teleline.es>...*.Ve
90a0 72 73 69 6f 6e 20 31 2e 31 32 20 72 65 6c 65 61 73 65 64 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 3a rsion.1.12.released...*.main.cc:
90c0 20 41 64 64 65 64 20 6e 65 77 20 6f 70 74 69 6f 6e 20 27 2d 46 2c 20 2d 2d 72 65 63 6f 6d 70 72 .Added.new.option.'-F,.--recompr
90e0 65 73 73 27 2e 0a 09 2a 20 65 6e 63 6f 64 65 72 2e 68 20 28 75 70 64 61 74 65 5f 70 72 69 63 65 ess'...*.encoder.h.(update_price
9100 73 29 3a 20 55 70 64 61 74 65 20 68 69 67 68 20 6c 65 6e 67 74 68 20 73 79 6d 62 6f 6c 20 70 72 s):.Update.high.length.symbol.pr
9120 69 63 65 73 0a 09 20 20 69 6e 64 65 70 65 6e 64 65 6e 74 6c 79 20 6f 66 20 74 68 65 20 76 61 6c ices....independently.of.the.val
9140 75 65 20 6f 66 20 27 70 6f 73 5f 73 74 61 74 65 27 2e 20 54 68 69 73 20 67 69 76 65 73 20 62 65 ue.of.'pos_state'..This.gives.be
9160 74 74 65 72 0a 09 20 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 66 6f 72 20 6c 61 72 67 65 20 76 61 tter....compression.for.large.va
9180 6c 75 65 73 20 6f 66 20 27 2d 2d 6d 61 74 63 68 2d 6c 65 6e 67 74 68 27 20 77 69 74 68 6f 75 74 lues.of.'--match-length'.without
91a0 20 62 65 69 6e 67 0a 09 20 20 73 6c 6f 77 65 72 2e 0a 09 2a 20 65 6e 63 6f 64 65 72 2e 68 20 65 .being....slower...*.encoder.h.e
91c0 6e 63 6f 64 65 72 2e 63 63 3a 20 4f 70 74 69 6d 69 7a 65 20 70 61 69 72 20 70 72 69 63 65 20 63 ncoder.cc:.Optimize.pair.price.c
91e0 61 6c 63 75 6c 61 74 69 6f 6e 73 2e 20 54 68 69 73 0a 09 20 20 72 65 64 75 63 65 73 20 63 6f 6d alculations..This....reduces.com
9200 70 72 65 73 73 69 6f 6e 20 74 69 6d 65 20 66 6f 72 20 6c 61 72 67 65 20 76 61 6c 75 65 73 20 6f pression.time.for.large.values.o
9220 66 20 27 2d 2d 6d 61 74 63 68 2d 6c 65 6e 67 74 68 27 0a 09 20 20 62 79 20 75 70 20 74 6f 20 36 f.'--match-length'....by.up.to.6
9240 25 2e 0a 09 2a 20 43 6f 6d 70 72 65 73 73 69 6f 6e 20 74 69 6d 65 20 6f 66 20 6f 70 74 69 6f 6e %...*.Compression.time.of.option
9260 20 27 2d 30 27 20 68 61 73 20 62 65 65 6e 20 72 65 64 75 63 65 64 20 62 79 20 32 25 2e 0a 09 2a .'-0'.has.been.reduced.by.2%...*
9280 20 6d 61 69 6e 2e 63 63 20 28 64 65 63 6f 6d 70 72 65 73 73 29 3a 20 50 72 69 6e 74 20 6f 6e 6c .main.cc.(decompress):.Print.onl
92a0 79 20 6f 6e 65 20 73 74 61 74 75 73 20 6c 69 6e 65 20 66 6f 72 20 65 61 63 68 0a 09 20 20 6d 75 y.one.status.line.for.each....mu
92c0 6c 74 69 6d 65 6d 62 65 72 20 66 69 6c 65 20 77 68 65 6e 20 6f 6e 6c 79 20 6f 6e 65 20 27 2d 76 ltimember.file.when.only.one.'-v
92e0 27 20 69 73 20 73 70 65 63 69 66 69 65 64 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 20 28 64 65 63 6f '.is.specified...*.main.cc.(deco
9300 6d 70 72 65 73 73 29 3a 20 50 72 69 6e 74 20 75 70 20 74 6f 20 36 20 62 79 74 65 73 20 6f 66 20 mpress):.Print.up.to.6.bytes.of.
9320 74 72 61 69 6c 69 6e 67 20 64 61 74 61 0a 09 20 20 77 68 65 6e 20 27 2d 76 76 76 76 27 20 69 73 trailing.data....when.'-vvvv'.is
9340 20 73 70 65 63 69 66 69 65 64 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 20 28 6f 70 65 6e 5f 69 6e 73 .specified...*.main.cc.(open_ins
9360 74 72 65 61 6d 29 3a 20 44 6f 6e 27 74 20 73 68 6f 77 20 74 68 65 20 6d 65 73 73 61 67 65 0a 09 tream):.Don't.show.the.message..
9380 20 20 22 20 61 6e 64 20 27 2d 2d 73 74 64 6f 75 74 27 20 77 61 73 20 6e 6f 74 20 73 70 65 63 69 ..".and.'--stdout'.was.not.speci
93a0 66 69 65 64 22 20 66 6f 72 20 64 69 72 65 63 74 6f 72 69 65 73 2c 20 65 74 63 2e 0a 09 2a 20 6c fied".for.directories,.etc...*.l
93c0 7a 69 70 72 65 63 6f 76 65 72 2e 63 63 3a 20 49 66 20 27 2d 76 27 20 69 73 20 6e 6f 74 20 73 70 ziprecover.cc:.If.'-v'.is.not.sp
93e0 65 63 69 66 69 65 64 20 73 68 6f 77 20 65 72 72 6f 72 73 20 6f 6e 6c 79 2e 0a 09 2a 20 75 6e 7a ecified.show.errors.only...*.unz
9400 63 72 61 73 68 2e 63 63 3a 20 55 73 65 20 41 72 67 5f 70 61 72 73 65 72 2e 0a 09 2a 20 75 6e 7a crash.cc:.Use.Arg_parser...*.unz
9420 63 72 61 73 68 2e 63 63 3a 20 41 64 64 65 64 20 6e 65 77 20 6f 70 74 69 6f 6e 20 27 2d 62 2c 20 crash.cc:.Added.new.option.'-b,.
9440 2d 2d 62 69 74 73 27 2e 0a 09 2a 20 75 6e 7a 63 72 61 73 68 2e 63 63 3a 20 41 64 64 65 64 20 6e --bits'...*.unzcrash.cc:.Added.n
9460 65 77 20 6f 70 74 69 6f 6e 20 27 2d 70 2c 20 2d 2d 70 6f 73 69 74 69 6f 6e 27 2e 0a 09 2a 20 75 ew.option.'-p,.--position'...*.u
9480 6e 7a 63 72 61 73 68 2e 63 63 3a 20 41 64 64 65 64 20 6e 65 77 20 6f 70 74 69 6f 6e 20 27 2d 73 nzcrash.cc:.Added.new.option.'-s
94a0 2c 20 2d 2d 73 69 7a 65 27 2e 0a 0a 32 30 31 30 2d 30 39 2d 31 36 20 20 41 6e 74 6f 6e 69 6f 20 ,.--size'...2010-09-16..Antonio.
94c0 44 69 61 7a 20 44 69 61 7a 20 20 3c 61 6e 74 5f 64 69 61 7a 40 74 65 6c 65 6c 69 6e 65 2e 65 73 Diaz.Diaz..<ant_diaz@teleline.es
94e0 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 31 2e 31 31 20 72 65 6c 65 61 73 65 64 2e 0a 09 2a 20 >...*.Version.1.11.released...*.
9500 41 64 64 65 64 20 6e 65 77 20 6f 70 74 69 6f 6e 20 27 2d 30 27 20 77 68 69 63 68 20 70 72 6f 64 Added.new.option.'-0'.which.prod
9520 75 63 65 73 20 61 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 73 70 65 65 64 20 61 6e 64 0a 09 20 20 uces.a.compression.speed.and....
9540 72 61 74 69 6f 20 63 6f 6d 70 61 72 61 62 6c 65 20 74 6f 20 74 68 6f 73 65 20 6f 66 20 27 67 7a ratio.comparable.to.those.of.'gz
9560 69 70 20 2d 39 27 2e 0a 09 2a 20 66 61 73 74 5f 65 6e 63 6f 64 65 72 2e 68 20 66 61 73 74 5f 65 ip.-9'...*.fast_encoder.h.fast_e
9580 6e 63 6f 64 65 72 2e 63 63 3a 20 4e 65 77 20 66 69 6c 65 73 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 ncoder.cc:.New.files...*.main.cc
95a0 3a 20 4d 61 74 63 68 20 6c 65 6e 67 74 68 20 6c 69 6d 69 74 20 73 65 74 20 62 79 20 6f 70 74 69 :.Match.length.limit.set.by.opti
95c0 6f 6e 73 20 2d 31 20 74 6f 20 2d 38 20 68 61 73 20 62 65 65 6e 0a 09 20 20 72 65 64 75 63 65 64 ons.-1.to.-8.has.been....reduced
95e0 20 74 6f 20 65 78 74 65 6e 64 20 72 61 6e 67 65 20 6f 66 20 75 73 65 20 74 6f 77 61 72 64 73 20 .to.extend.range.of.use.towards.
9600 67 7a 69 70 2e 20 4c 6f 77 65 72 20 6e 75 6d 62 65 72 73 20 6e 6f 77 0a 09 20 20 63 6f 6d 70 72 gzip..Lower.numbers.now....compr
9620 65 73 73 20 6c 65 73 73 20 62 75 74 20 66 61 73 74 65 72 2e 20 28 2d 31 20 6e 6f 77 20 74 61 6b ess.less.but.faster..(-1.now.tak
9640 65 73 20 34 33 25 20 6c 65 73 73 20 74 69 6d 65 20 66 6f 72 20 6f 6e 6c 79 0a 09 20 20 32 30 25 es.43%.less.time.for.only....20%
9660 20 6c 61 72 67 65 72 20 63 6f 6d 70 72 65 73 73 65 64 20 73 69 7a 65 29 2e 0a 09 2a 20 43 6f 6d .larger.compressed.size)...*.Com
9680 70 72 65 73 73 69 6f 6e 20 72 61 74 69 6f 20 6f 66 20 6f 70 74 69 6f 6e 20 27 2d 39 27 20 68 61 pression.ratio.of.option.'-9'.ha
96a0 73 20 62 65 65 6e 20 73 6c 69 67 68 74 6c 79 20 69 6e 63 72 65 61 73 65 64 2e 0a 09 2a 20 6c 7a s.been.slightly.increased...*.lz
96c0 69 70 72 65 63 6f 76 65 72 2e 63 63 3a 20 41 64 64 65 64 20 6e 65 77 20 6f 70 74 69 6f 6e 20 27 iprecover.cc:.Added.new.option.'
96e0 2d 6d 2c 20 2d 2d 6d 65 72 67 65 27 20 77 68 69 63 68 20 74 72 69 65 73 20 74 6f 0a 09 20 20 70 -m,.--merge'.which.tries.to....p
9700 72 6f 64 75 63 65 20 61 20 63 6f 72 72 65 63 74 20 66 69 6c 65 20 6d 65 72 67 69 6e 67 20 74 68 roduce.a.correct.file.merging.th
9720 65 20 67 6f 6f 64 20 70 61 72 74 73 20 6f 66 20 74 77 6f 20 6f 72 20 6d 6f 72 65 0a 09 20 20 64 e.good.parts.of.two.or.more....d
9740 61 6d 61 67 65 64 20 63 6f 70 69 65 73 2e 0a 09 2a 20 6c 7a 69 70 72 65 63 6f 76 65 72 2e 63 63 amaged.copies...*.lziprecover.cc
9760 3a 20 41 64 64 65 64 20 6e 65 77 20 6f 70 74 69 6f 6e 20 27 2d 52 2c 20 2d 2d 72 65 70 61 69 72 :.Added.new.option.'-R,.--repair
9780 27 20 66 6f 72 20 72 65 70 61 69 72 69 6e 67 0a 09 20 20 61 20 31 2d 62 79 74 65 20 65 72 72 6f '.for.repairing....a.1-byte.erro
97a0 72 20 69 6e 20 73 69 6e 67 6c 65 2d 6d 65 6d 62 65 72 20 66 69 6c 65 73 2e 0a 09 2a 20 64 65 63 r.in.single-member.files...*.dec
97c0 6f 64 65 72 2e 63 63 20 28 64 65 63 6f 64 65 5f 6d 65 6d 62 65 72 29 3a 20 44 65 74 65 63 74 20 oder.cc.(decode_member):.Detect.
97e0 66 69 6c 65 20 65 72 72 6f 72 73 20 65 61 72 6c 69 65 72 20 74 6f 0a 09 20 20 69 6d 70 72 6f 76 file.errors.earlier.to....improv
9800 65 20 65 66 66 69 63 69 65 6e 63 79 20 6f 66 20 6c 7a 69 70 72 65 63 6f 76 65 72 27 73 20 6e 65 e.efficiency.of.lziprecover's.ne
9820 77 20 72 65 70 61 69 72 20 63 61 70 61 62 69 6c 69 74 79 2e 0a 09 20 20 54 68 69 73 20 63 68 61 w.repair.capability.....This.cha
9840 6e 67 65 20 61 6c 73 6f 20 70 72 65 76 65 6e 74 73 20 28 68 61 72 6d 6c 65 73 73 29 20 61 63 63 nge.also.prevents.(harmless).acc
9860 65 73 73 20 74 6f 20 75 6e 69 6e 69 74 69 61 6c 69 7a 65 64 0a 09 20 20 6d 65 6d 6f 72 79 20 77 ess.to.uninitialized....memory.w
9880 68 65 6e 20 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 20 61 20 63 6f 72 72 75 70 74 20 66 69 6c 65 hen.decompressing.a.corrupt.file
98a0 2e 0a 09 2a 20 6c 7a 69 70 72 65 63 6f 76 65 72 2e 63 63 3a 20 41 64 64 65 64 20 6e 65 77 20 6f ...*.lziprecover.cc:.Added.new.o
98c0 70 74 69 6f 6e 20 27 2d 66 2c 20 2d 2d 66 6f 72 63 65 27 2e 0a 09 2a 20 6c 7a 69 70 72 65 63 6f ption.'-f,.--force'...*.lzipreco
98e0 76 65 72 2e 63 63 3a 20 41 64 64 65 64 20 6e 65 77 20 6f 70 74 69 6f 6e 20 27 2d 6f 2c 20 2d 2d ver.cc:.Added.new.option.'-o,.--
9900 6f 75 74 70 75 74 27 2e 0a 09 2a 20 6c 7a 69 70 72 65 63 6f 76 65 72 2e 63 63 3a 20 41 64 64 65 output'...*.lziprecover.cc:.Adde
9920 64 20 6e 65 77 20 6f 70 74 69 6f 6e 20 27 2d 73 2c 20 2d 2d 73 70 6c 69 74 27 20 74 6f 20 73 65 d.new.option.'-s,.--split'.to.se
9940 6c 65 63 74 20 74 68 65 0a 09 20 20 75 6e 74 69 6c 20 6e 6f 77 20 6f 6e 6c 79 20 6f 70 65 72 61 lect.the....until.now.only.opera
9960 74 69 6f 6e 20 6f 66 20 73 70 6c 69 74 74 69 6e 67 20 6d 75 6c 74 69 6d 65 6d 62 65 72 20 66 69 tion.of.splitting.multimember.fi
9980 6c 65 73 2e 0a 09 2a 20 6c 7a 69 70 72 65 63 6f 76 65 72 2e 63 63 3a 20 49 66 20 6e 6f 20 6f 70 les...*.lziprecover.cc:.If.no.op
99a0 65 72 61 74 69 6f 6e 20 69 73 20 73 70 65 63 69 66 69 65 64 2c 20 77 61 72 6e 20 74 68 65 20 75 eration.is.specified,.warn.the.u
99c0 73 65 72 0a 09 20 20 61 6e 64 20 64 6f 20 6e 6f 74 68 69 6e 67 2e 0a 09 2a 20 6d 61 69 6e 2e 63 ser....and.do.nothing...*.main.c
99e0 63 3a 20 46 69 78 65 64 20 77 61 72 6e 69 6e 67 20 61 62 6f 75 74 20 66 63 68 6f 77 6e 27 73 20 c:.Fixed.warning.about.fchown's.
9a00 72 65 74 75 72 6e 20 76 61 6c 75 65 20 62 65 69 6e 67 20 69 67 6e 6f 72 65 64 2e 0a 09 2a 20 64 return.value.being.ignored...*.d
9a20 65 63 6f 64 65 72 2e 63 63 3a 20 27 2d 74 76 76 76 76 27 20 6e 6f 77 20 61 6c 73 6f 20 73 68 6f ecoder.cc:.'-tvvvv'.now.also.sho
9a40 77 73 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 72 61 74 69 6f 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 ws.compression.ratio...*.main.cc
9a60 3a 20 53 65 74 20 73 74 64 69 6e 2f 73 74 64 6f 75 74 20 69 6e 20 62 69 6e 61 72 79 20 6d 6f 64 :.Set.stdin/stdout.in.binary.mod
9a80 65 20 6f 6e 20 4d 53 56 43 20 61 6e 64 20 4f 53 32 2e 0a 09 2a 20 6c 7a 69 70 2e 74 65 78 69 6e e.on.MSVC.and.OS2...*.lzip.texin
9aa0 66 6f 3a 20 41 64 64 65 64 20 6e 65 77 20 65 78 61 6d 70 6c 65 73 2e 0a 09 2a 20 74 65 73 74 73 fo:.Added.new.examples...*.tests
9ac0 75 69 74 65 3a 20 27 74 65 73 74 31 27 20 72 65 6e 61 6d 65 64 20 74 6f 20 27 74 65 73 74 2e 74 uite:.'test1'.renamed.to.'test.t
9ae0 78 74 27 2e 20 41 64 64 65 64 20 6e 65 77 20 74 65 73 74 73 2e 0a 09 2a 20 4d 61 74 63 68 66 69 xt'..Added.new.tests...*.Matchfi
9b00 6e 64 65 72 20 74 79 70 65 73 20 48 43 34 20 28 34 20 62 79 74 65 73 20 68 61 73 68 2d 63 68 61 nder.types.HC4.(4.bytes.hash-cha
9b20 69 6e 29 20 61 6e 64 20 48 54 34 20 28 34 20 62 79 74 65 73 0a 09 20 20 68 61 73 68 2d 74 61 62 in).and.HT4.(4.bytes....hash-tab
9b40 6c 65 29 20 68 61 76 65 20 62 65 65 6e 20 74 65 73 74 65 64 20 61 6e 64 20 66 6f 75 6e 64 20 6e le).have.been.tested.and.found.n
9b60 6f 20 62 65 74 74 65 72 20 74 68 61 6e 20 74 68 65 0a 09 20 20 63 75 72 72 65 6e 74 20 42 54 34 o.better.than.the....current.BT4
9b80 2e 0a 0a 32 30 31 30 2d 30 34 2d 30 35 20 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a ...2010-04-05..Antonio.Diaz.Diaz
9ba0 20 20 3c 61 6e 74 5f 64 69 61 7a 40 74 65 6c 65 6c 69 6e 65 2e 65 73 3e 0a 0a 09 2a 20 56 65 72 ..<ant_diaz@teleline.es>...*.Ver
9bc0 73 69 6f 6e 20 31 2e 31 30 20 72 65 6c 65 61 73 65 64 2e 0a 09 2a 20 64 65 63 6f 64 65 72 2e 68 sion.1.10.released...*.decoder.h
9be0 3a 20 49 6e 70 75 74 5f 62 75 66 66 65 72 20 69 6e 74 65 67 72 61 74 65 64 20 69 6e 20 52 61 6e :.Input_buffer.integrated.in.Ran
9c00 67 65 5f 64 65 63 6f 64 65 72 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 3a 20 46 69 6c 65 20 73 70 65 ge_decoder...*.main.cc:.File.spe
9c20 63 69 66 69 65 64 20 77 69 74 68 20 6f 70 74 69 6f 6e 20 27 2d 6f 27 20 69 73 20 6e 6f 77 20 63 cified.with.option.'-o'.is.now.c
9c40 72 65 61 74 65 64 20 77 69 74 68 0a 09 20 20 6d 6f 64 65 20 30 36 36 36 20 69 66 20 75 6d 61 73 reated.with....mode.0666.if.umas
9c60 6b 20 61 6c 6c 6f 77 73 20 69 74 2c 20 64 65 6c 65 74 65 64 20 69 66 20 69 6e 74 65 72 72 75 70 k.allows.it,.deleted.if.interrup
9c80 74 65 64 20 62 79 20 75 73 65 72 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 3a 20 4e 65 77 20 63 6f 6e ted.by.user...*.main.cc:.New.con
9ca0 73 74 61 6e 74 20 27 6f 5f 62 69 6e 61 72 79 27 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 3a 20 44 69 stant.'o_binary'...*.main.cc:.Di
9cc0 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 66 6f 72 20 6f 70 74 69 6f 6e 73 20 2d 32 2c 20 2d 33 ctionary.size.for.options.-2,.-3
9ce0 2c 20 2d 34 20 61 6e 64 20 2d 38 20 68 61 73 0a 09 20 20 62 65 65 6e 20 63 68 61 6e 67 65 64 20 ,.-4.and.-8.has....been.changed.
9d00 74 6f 20 69 6d 70 72 6f 76 65 20 6c 69 6e 65 61 72 69 74 79 20 6f 66 20 63 6f 6d 70 72 65 73 73 to.improve.linearity.of.compress
9d20 65 64 20 73 69 7a 65 73 2e 0a 09 2a 20 6c 7a 69 70 2e 68 3a 20 46 69 78 65 64 20 77 61 72 6e 69 ed.sizes...*.lzip.h:.Fixed.warni
9d40 6e 67 73 20 70 72 6f 64 75 63 65 64 20 62 79 20 6f 76 65 72 2d 6f 70 74 69 6d 69 7a 61 74 69 6f ngs.produced.by.over-optimizatio
9d60 6e 20 28 2d 4f 33 29 2e 0a 09 2a 20 4d 61 6b 65 66 69 6c 65 2e 69 6e 3a 20 41 64 64 65 64 20 71 n.(-O3)...*.Makefile.in:.Added.q
9d80 75 6f 74 65 73 20 74 6f 20 64 69 72 65 63 74 6f 72 79 20 6e 61 6d 65 73 2e 0a 0a 32 30 31 30 2d uotes.to.directory.names...2010-
9da0 30 31 2d 31 37 20 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 20 20 3c 61 6e 74 5f 64 01-17..Antonio.Diaz.Diaz..<ant_d
9dc0 69 61 7a 40 74 65 6c 65 6c 69 6e 65 2e 65 73 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 31 2e 39 iaz@teleline.es>...*.Version.1.9
9de0 20 72 65 6c 65 61 73 65 64 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 20 28 6d 61 69 6e 29 3a 20 52 65 .released...*.main.cc.(main):.Re
9e00 74 75 72 6e 20 61 74 20 6c 65 61 73 74 20 31 20 69 66 20 63 6c 6f 73 69 6e 67 20 73 74 64 6f 75 turn.at.least.1.if.closing.stdou
9e20 74 20 66 61 69 6c 73 2e 0a 09 2a 20 4d 61 6b 65 66 69 6c 65 2e 69 6e 3a 20 41 64 64 65 64 20 27 t.fails...*.Makefile.in:.Added.'
9e40 2d 2d 6e 61 6d 65 27 20 6f 70 74 69 6f 6e 20 74 6f 20 68 65 6c 70 32 6d 61 6e 20 69 6e 76 6f 63 --name'.option.to.help2man.invoc
9e60 61 74 69 6f 6e 2e 0a 09 2a 20 63 68 65 63 6b 2e 73 68 3a 20 55 73 65 20 27 74 65 73 74 31 27 20 ation...*.check.sh:.Use.'test1'.
9e80 69 6e 73 74 65 61 64 20 6f 66 20 27 43 4f 50 59 49 4e 47 27 20 66 6f 72 20 74 65 73 74 69 6e 67 instead.of.'COPYING'.for.testing
9ea0 2e 0a 0a 32 30 30 39 2d 30 39 2d 30 32 20 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a ...2009-09-02..Antonio.Diaz.Diaz
9ec0 20 20 3c 61 6e 74 5f 64 69 61 7a 40 74 65 6c 65 6c 69 6e 65 2e 65 73 3e 0a 0a 09 2a 20 56 65 72 ..<ant_diaz@teleline.es>...*.Ver
9ee0 73 69 6f 6e 20 31 2e 38 20 72 65 6c 65 61 73 65 64 2e 0a 09 2a 20 43 6f 6d 70 72 65 73 73 69 6f sion.1.8.released...*.Compressio
9f00 6e 20 74 69 6d 65 20 68 61 73 20 62 65 65 6e 20 72 65 64 75 63 65 64 20 62 79 20 34 25 2e 0a 09 n.time.has.been.reduced.by.4%...
9f20 2a 20 4c 7a 64 69 66 66 20 61 6e 64 20 6c 7a 67 72 65 70 20 68 61 76 65 20 62 65 65 6e 20 6d 6f *.Lzdiff.and.lzgrep.have.been.mo
9f40 76 65 64 20 74 6f 20 74 68 65 20 6e 65 77 20 70 61 63 6b 61 67 65 20 7a 75 74 69 6c 73 2e 0a 09 ved.to.the.new.package.zutils...
9f60 2a 20 46 69 78 65 64 20 77 61 72 6e 69 6e 67 73 20 6f 6e 20 73 79 73 74 65 6d 73 20 77 68 65 72 *.Fixed.warnings.on.systems.wher
9f80 65 20 75 69 6e 74 33 32 5f 74 20 21 3d 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 2e 0a 0a 32 30 30 e.uint32_t.!=.unsigned.int...200
9fa0 39 2d 30 36 2d 32 35 20 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 20 20 3c 61 6e 74 9-06-25..Antonio.Diaz.Diaz..<ant
9fc0 5f 64 69 61 7a 40 74 65 6c 65 6c 69 6e 65 2e 65 73 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 31 _diaz@teleline.es>...*.Version.1
9fe0 2e 37 20 72 65 6c 65 61 73 65 64 2e 0a 09 2a 20 64 65 63 6f 64 65 72 2e 68 20 28 63 6f 70 79 5f .7.released...*.decoder.h.(copy_
a000 62 6c 6f 63 6b 29 3a 20 46 69 78 65 64 20 6d 65 6d 63 70 79 20 6f 76 65 72 6c 61 70 20 69 6e 74 block):.Fixed.memcpy.overlap.int
a020 72 6f 64 75 63 65 64 20 69 6e 20 31 2e 36 2e 0a 0a 32 30 30 39 2d 30 36 2d 32 32 20 20 41 6e 74 roduced.in.1.6...2009-06-22..Ant
a040 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 20 20 3c 61 6e 74 5f 64 69 61 7a 40 74 65 6c 65 6c 69 onio.Diaz.Diaz..<ant_diaz@teleli
a060 6e 65 2e 65 73 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 31 2e 36 20 72 65 6c 65 61 73 65 64 2e ne.es>...*.Version.1.6.released.
a080 0a 09 2a 20 44 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 74 69 6d 65 20 68 61 73 20 62 65 65 6e 20 ..*.Decompression.time.has.been.
a0a0 72 65 64 75 63 65 64 20 62 79 20 31 37 25 2e 0a 09 2a 20 41 64 64 65 64 20 64 65 63 6f 6d 70 72 reduced.by.17%...*.Added.decompr
a0c0 65 73 73 69 6f 6e 20 73 75 70 70 6f 72 74 20 66 6f 72 20 53 79 6e 63 20 46 6c 75 73 68 20 6d 61 ession.support.for.Sync.Flush.ma
a0e0 72 6b 65 72 2e 0a 09 2a 20 41 64 64 65 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20 2e 74 62 7a 20 rker...*.Added.support.for..tbz.
a100 65 78 74 65 6e 73 69 6f 6e 20 74 6f 20 6c 7a 64 69 66 66 20 61 6e 64 20 6c 7a 67 72 65 70 2e 0a extension.to.lzdiff.and.lzgrep..
a120 09 2a 20 41 64 64 65 64 20 6d 61 6e 20 70 61 67 65 73 20 66 6f 72 20 6c 7a 64 69 66 66 2c 20 6c .*.Added.man.pages.for.lzdiff,.l
a140 7a 67 72 65 70 20 61 6e 64 20 6c 7a 69 70 72 65 63 6f 76 65 72 2e 0a 09 2a 20 65 6e 63 6f 64 65 zgrep.and.lziprecover...*.encode
a160 72 2e 63 63 20 28 4d 61 74 63 68 66 69 6e 64 65 72 29 3a 20 52 65 64 75 63 65 20 6d 65 6d 6f 72 r.cc.(Matchfinder):.Reduce.memor
a180 79 20 75 73 65 20 74 6f 20 39 78 20 69 66 20 69 6e 70 75 74 20 66 69 6c 65 0a 09 20 20 69 73 20 y.use.to.9x.if.input.file....is.
a1a0 73 6d 61 6c 6c 65 72 20 74 68 61 6e 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 6c 69 6d smaller.than.dictionary.size.lim
a1c0 69 74 2e 0a 09 2a 20 64 65 63 6f 64 65 72 2e 63 63 3a 20 41 64 64 65 64 20 65 78 74 72 61 20 66 it...*.decoder.cc:.Added.extra.f
a1e0 6c 75 73 68 20 63 61 6c 6c 73 20 74 6f 20 69 6d 70 72 6f 76 65 20 70 61 72 74 69 61 6c 0a 09 20 lush.calls.to.improve.partial...
a200 20 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6f 66 20 63 6f 72 72 75 70 74 20 66 69 6c 65 73 2e .decompression.of.corrupt.files.
a220 0a 09 2a 20 27 2d 2d 74 65 73 74 27 20 6e 6f 20 6c 6f 6e 67 65 72 20 6e 65 65 64 73 20 27 2f 64 ..*.'--test'.no.longer.needs.'/d
a240 65 76 2f 6e 75 6c 6c 27 2e 0a 09 2a 20 52 65 6d 6f 76 65 64 20 73 6f 6d 65 20 27 62 61 73 68 69 ev/null'...*.Removed.some.'bashi
a260 73 6d 73 27 20 66 72 6f 6d 20 6c 7a 64 69 66 66 20 61 6e 64 20 6c 7a 67 72 65 70 2e 0a 09 2a 20 sms'.from.lzdiff.and.lzgrep...*.
a280 44 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 66 6f 72 20 6f 70 74 69 6f 6e 73 20 27 2d 31 27 Dictionary.size.for.options.'-1'
a2a0 20 74 6f 20 27 2d 34 27 20 68 61 73 20 62 65 65 6e 20 63 68 61 6e 67 65 64 2e 0a 09 2a 20 6d 61 .to.'-4'.has.been.changed...*.ma
a2c0 69 6e 2e 63 63 20 28 73 69 67 6e 61 6c 5f 68 61 6e 64 6c 65 72 29 3a 20 44 65 63 6c 61 72 65 64 in.cc.(signal_handler):.Declared
a2e0 20 61 73 20 27 65 78 74 65 72 6e 20 22 43 22 27 2e 0a 09 2a 20 4d 61 6b 65 66 69 6c 65 2e 69 6e .as.'extern."C"'...*.Makefile.in
a300 3a 20 45 78 74 72 61 20 66 69 6c 65 73 20 61 72 65 20 6e 6f 77 20 69 6e 73 74 61 6c 6c 65 64 20 :.Extra.files.are.now.installed.
a320 62 79 20 64 65 66 61 75 6c 74 2e 0a 09 2a 20 63 68 65 63 6b 2e 73 68 3a 20 54 65 73 74 20 6c 7a by.default...*.check.sh:.Test.lz
a340 69 70 72 65 63 6f 76 65 72 2e 0a 09 2a 20 41 64 64 65 64 20 27 65 78 70 6f 72 74 20 4c 43 5f 41 iprecover...*.Added.'export.LC_A
a360 4c 4c 3d 43 27 20 74 6f 20 61 6c 6c 20 73 63 72 69 70 74 73 2e 0a 0a 32 30 30 39 2d 30 34 2d 31 LL=C'.to.all.scripts...2009-04-1
a380 32 20 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 20 20 3c 61 6e 74 5f 64 69 61 7a 40 2..Antonio.Diaz.Diaz..<ant_diaz@
a3a0 74 65 6c 65 6c 69 6e 65 2e 65 73 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 31 2e 35 20 72 65 6c teleline.es>...*.Version.1.5.rel
a3c0 65 61 73 65 64 2e 0a 09 2a 20 6c 7a 69 70 2e 68 3a 20 43 6f 64 65 64 20 64 69 63 74 69 6f 6e 61 eased...*.lzip.h:.Coded.dictiona
a3e0 72 79 20 73 69 7a 65 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 69 6e 20 46 69 6c 65 5f 68 65 61 64 ry.size.implemented.in.File_head
a400 65 72 2e 0a 09 2a 20 46 69 78 65 64 20 73 6f 6d 65 20 69 6e 63 6c 75 64 65 73 20 74 68 61 74 20 er...*.Fixed.some.includes.that.
a420 70 72 65 76 65 6e 74 65 64 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 77 69 74 68 20 47 43 43 20 34 prevented.compilation.with.GCC.4
a440 2e 34 2e 0a 09 2a 20 27 6d 65 6d 62 65 72 5f 73 69 7a 65 27 20 61 6e 64 20 27 76 6f 6c 75 6d 65 .4...*.'member_size'.and.'volume
a460 5f 73 69 7a 65 27 20 61 72 65 20 6e 6f 77 20 61 63 63 75 72 61 74 65 20 6c 69 6d 69 74 73 2e 0a _size'.are.now.accurate.limits..
a480 09 2a 20 43 6f 6d 70 72 65 73 73 69 6f 6e 20 73 70 65 65 64 20 68 61 73 20 62 65 65 6e 20 69 6d .*.Compression.speed.has.been.im
a4a0 70 72 6f 76 65 64 2e 0a 09 2a 20 49 6d 70 6c 65 6d 65 6e 74 65 64 20 62 74 34 20 74 79 70 65 20 proved...*.Implemented.bt4.type.
a4c0 6d 61 74 63 68 66 69 6e 64 65 72 2e 0a 09 2a 20 6c 7a 69 70 2e 74 65 78 69 6e 66 6f 3a 20 41 64 matchfinder...*.lzip.texinfo:.Ad
a4e0 64 65 64 20 63 68 61 70 74 65 72 20 27 41 6c 67 6f 72 69 74 68 6d 27 2e 0a 09 2a 20 4c 7a 64 69 ded.chapter.'Algorithm'...*.Lzdi
a500 66 66 20 61 6e 64 20 6c 7a 67 72 65 70 20 6e 6f 77 20 61 63 63 65 70 74 20 27 2d 68 27 20 66 6f ff.and.lzgrep.now.accept.'-h'.fo
a520 72 20 27 2d 2d 68 65 6c 70 27 20 61 6e 64 0a 09 20 20 27 2d 56 27 20 66 6f 72 20 27 2d 2d 76 65 r.'--help'.and....'-V'.for.'--ve
a540 72 73 69 6f 6e 27 2e 0a 09 2a 20 4d 61 6b 65 66 69 6c 65 2e 69 6e 3a 20 4d 61 6e 20 70 61 67 65 rsion'...*.Makefile.in:.Man.page
a560 20 69 73 20 6e 6f 77 20 69 6e 73 74 61 6c 6c 65 64 20 62 79 20 64 65 66 61 75 6c 74 2e 0a 09 2a .is.now.installed.by.default...*
a580 20 63 68 65 63 6b 2e 73 68 3a 20 56 65 72 69 66 79 20 74 68 61 74 20 66 69 6c 65 73 20 61 72 65 .check.sh:.Verify.that.files.are
a5a0 20 6f 70 65 6e 65 64 20 69 6e 20 62 69 6e 61 72 79 20 6d 6f 64 65 2e 0a 0a 32 30 30 39 2d 30 31 .opened.in.binary.mode...2009-01
a5c0 2d 32 34 20 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 20 20 3c 61 6e 74 5f 64 69 61 -24..Antonio.Diaz.Diaz..<ant_dia
a5e0 7a 40 74 65 6c 65 6c 69 6e 65 2e 65 73 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 31 2e 34 20 72 z@teleline.es>...*.Version.1.4.r
a600 65 6c 65 61 73 65 64 2e 0a 09 2a 20 49 6d 70 6c 65 6d 65 6e 74 65 64 20 63 6f 6d 70 72 65 73 73 eleased...*.Implemented.compress
a620 69 6f 6e 20 6f 66 20 76 65 72 73 69 6f 6e 20 31 20 66 69 6c 65 73 2e 0a 09 2a 20 41 64 64 65 64 ion.of.version.1.files...*.Added
a640 20 6e 65 77 20 6f 70 74 69 6f 6e 20 27 2d 62 2c 20 2d 2d 6d 65 6d 62 65 72 2d 73 69 7a 65 27 2e .new.option.'-b,.--member-size'.
a660 0a 09 2a 20 41 64 64 65 64 20 6e 65 77 20 6f 70 74 69 6f 6e 20 27 2d 53 2c 20 2d 2d 76 6f 6c 75 ..*.Added.new.option.'-S,.--volu
a680 6d 65 2d 73 69 7a 65 27 2e 0a 09 2a 20 41 64 64 65 64 20 6e 65 77 20 6f 70 74 69 6f 6e 20 27 2d me-size'...*.Added.new.option.'-
a6a0 6f 2c 20 2d 2d 6f 75 74 70 75 74 27 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 3a 20 52 65 61 64 20 66 o,.--output'...*.main.cc:.Read.f
a6c0 72 6f 6d 20 6e 6f 6e 20 72 65 67 75 6c 61 72 20 66 69 6c 65 73 20 69 66 20 27 2d 2d 73 74 64 6f rom.non.regular.files.if.'--stdo
a6e0 75 74 27 20 69 73 20 73 70 65 63 69 66 69 65 64 2e 0a 09 2a 20 41 64 64 65 64 20 27 6c 7a 69 70 ut'.is.specified...*.Added.'lzip
a700 72 65 63 6f 76 65 72 27 2c 20 61 20 6d 65 6d 62 65 72 20 72 65 63 6f 76 65 72 65 72 20 70 72 6f recover',.a.member.recoverer.pro
a720 67 72 61 6d 2e 0a 09 2a 20 75 6e 7a 63 72 61 73 68 2e 63 63 3a 20 54 65 73 74 20 61 6c 6c 20 31 gram...*.unzcrash.cc:.Test.all.1
a740 2d 62 79 74 65 20 65 72 72 6f 72 73 2e 0a 0a 32 30 30 38 2d 31 32 2d 32 31 20 20 41 6e 74 6f 6e -byte.errors...2008-12-21..Anton
a760 69 6f 20 44 69 61 7a 20 44 69 61 7a 20 20 3c 61 6e 74 5f 64 69 61 7a 40 74 65 6c 65 6c 69 6e 65 io.Diaz.Diaz..<ant_diaz@teleline
a780 2e 65 73 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 31 2e 33 20 72 65 6c 65 61 73 65 64 2e 0a 09 .es>...*.Version.1.3.released...
a7a0 2a 20 54 68 69 73 20 76 65 72 73 69 6f 6e 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 63 68 6f *.This.version.automatically.cho
a7c0 6f 73 65 73 20 74 68 65 20 73 6d 61 6c 6c 65 73 74 20 70 6f 73 73 69 62 6c 65 0a 09 20 20 64 69 oses.the.smallest.possible....di
a7e0 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 66 6f 72 20 65 61 63 68 20 66 69 6c 65 20 64 75 72 69 ctionary.size.for.each.file.duri
a800 6e 67 20 63 6f 6d 70 72 65 73 73 69 6f 6e 2c 20 73 61 76 69 6e 67 0a 09 20 20 6d 65 6d 6f 72 79 ng.compression,.saving....memory
a820 20 64 75 72 69 6e 67 20 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 2e 0a 09 2a 20 49 6d 70 6c 65 6d .during.decompression...*.Implem
a840 65 6e 74 65 64 20 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6f 66 20 76 65 72 73 69 6f 6e 20 31 ented.decompression.of.version.1
a860 20 66 69 6c 65 73 2e 0a 09 2a 20 63 68 65 63 6b 2e 73 68 3a 20 52 65 70 6c 61 63 65 64 20 27 64 .files...*.check.sh:.Replaced.'d
a880 69 66 66 20 2d 71 27 20 77 69 74 68 20 27 63 6d 70 27 2e 0a 0a 32 30 30 38 2d 31 32 2d 31 30 20 iff.-q'.with.'cmp'...2008-12-10.
a8a0 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 20 20 3c 61 6e 74 5f 64 69 61 7a 40 74 65 .Antonio.Diaz.Diaz..<ant_diaz@te
a8c0 6c 65 6c 69 6e 65 2e 65 73 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 31 2e 32 20 72 65 6c 65 61 leline.es>...*.Version.1.2.relea
a8e0 73 65 64 2e 0a 09 2a 20 65 6e 63 6f 64 65 72 2e 63 63 3a 20 41 20 31 2d 62 79 74 65 20 72 65 61 sed...*.encoder.cc:.A.1-byte.rea
a900 64 20 6f 75 74 73 69 64 65 20 61 6c 6c 6f 63 61 74 65 64 20 6d 65 6d 6f 72 79 20 68 61 73 20 62 d.outside.allocated.memory.has.b
a920 65 65 6e 20 66 69 78 65 64 2e 0a 09 2a 20 6c 7a 69 70 2e 68 3a 20 44 69 63 74 69 6f 6e 61 72 79 een.fixed...*.lzip.h:.Dictionary
a940 20 73 69 7a 65 20 6c 69 6d 69 74 20 68 61 73 20 62 65 65 6e 20 72 65 64 75 63 65 64 20 74 6f 20 .size.limit.has.been.reduced.to.
a960 35 31 32 4d 69 42 20 62 65 63 61 75 73 65 0a 09 20 20 73 65 74 74 69 6e 67 20 69 74 20 74 6f 20 512MiB.because....setting.it.to.
a980 31 47 69 42 20 63 61 75 73 65 73 20 6f 76 65 72 66 6c 6f 77 20 6f 66 20 61 20 33 32 20 62 69 74 1GiB.causes.overflow.of.a.32.bit
a9a0 20 69 6e 74 65 67 65 72 2e 0a 09 2a 20 41 64 64 65 64 20 27 6c 7a 64 69 66 66 27 2c 20 61 20 64 .integer...*.Added.'lzdiff',.a.d
a9c0 69 66 66 2f 63 6d 70 20 77 72 61 70 70 65 72 20 66 6f 72 20 67 7a 69 70 2c 20 62 7a 69 70 32 2c iff/cmp.wrapper.for.gzip,.bzip2,
a9e0 20 6c 7a 69 70 20 61 6e 64 0a 09 20 20 6e 6f 6e 2d 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 .lzip.and....non-compressed.file
aa00 73 2e 0a 09 2a 20 41 64 64 65 64 20 27 6c 7a 67 72 65 70 27 2c 20 61 20 67 72 65 70 20 77 72 61 s...*.Added.'lzgrep',.a.grep.wra
aa20 70 70 65 72 20 66 6f 72 20 67 7a 69 70 2c 20 62 7a 69 70 32 2c 20 6c 7a 69 70 20 61 6e 64 0a 09 pper.for.gzip,.bzip2,.lzip.and..
aa40 20 20 6e 6f 6e 2d 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 73 2e 0a 09 2a 20 27 6d 61 6b 65 ..non-compressed.files...*.'make
aa60 20 69 6e 73 74 61 6c 6c 2d 69 6e 66 6f 27 20 73 68 6f 75 6c 64 20 6e 6f 77 20 77 6f 72 6b 20 6f .install-info'.should.now.work.o
aa80 6e 20 44 65 62 69 61 6e 20 61 6e 64 20 4f 53 20 58 2e 0a 0a 32 30 30 38 2d 31 31 2d 31 37 20 20 n.Debian.and.OS.X...2008-11-17..
aaa0 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 20 20 3c 61 6e 74 5f 64 69 61 7a 40 74 65 6c Antonio.Diaz.Diaz..<ant_diaz@tel
aac0 65 6c 69 6e 65 2e 65 73 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 31 2e 31 20 72 65 6c 65 61 73 eline.es>...*.Version.1.1.releas
aae0 65 64 2e 0a 09 2a 20 43 68 61 6e 67 65 64 20 73 68 6f 72 74 20 6e 61 6d 65 20 6f 66 20 6f 70 74 ed...*.Changed.short.name.of.opt
ab00 69 6f 6e 20 27 2d 2d 64 69 63 74 69 6f 6e 61 72 79 2d 73 69 7a 65 27 20 74 6f 20 27 2d 73 27 2e ion.'--dictionary-size'.to.'-s'.
ab20 0a 09 2a 20 43 68 61 6e 67 65 64 20 73 68 6f 72 74 20 6e 61 6d 65 20 6f 66 20 6f 70 74 69 6f 6e ..*.Changed.short.name.of.option
ab40 20 27 2d 2d 6d 61 74 63 68 2d 6c 65 6e 67 74 68 27 20 74 6f 20 27 2d 6d 27 2e 0a 09 2a 20 43 68 .'--match-length'.to.'-m'...*.Ch
ab60 61 6e 67 65 64 20 4c 4f 4e 47 5f 4c 4f 4e 47 5f 4d 41 58 20 74 6f 20 4c 4c 4f 4e 47 5f 4d 41 58 anged.LONG_LONG_MAX.to.LLONG_MAX
ab80 2e 0a 0a 32 30 30 38 2d 31 30 2d 31 34 20 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a ...2008-10-14..Antonio.Diaz.Diaz
aba0 20 20 3c 61 6e 74 5f 64 69 61 7a 40 74 65 6c 65 6c 69 6e 65 2e 65 73 3e 0a 0a 09 2a 20 56 65 72 ..<ant_diaz@teleline.es>...*.Ver
abc0 73 69 6f 6e 20 31 2e 30 20 72 65 6c 65 61 73 65 64 2e 0a 09 2a 20 27 2d 74 76 76 27 20 73 68 6f sion.1.0.released...*.'-tvv'.sho
abe0 77 73 20 66 69 6c 65 20 76 65 72 73 69 6f 6e 20 61 6e 64 20 64 69 63 74 69 6f 6e 61 72 79 20 73 ws.file.version.and.dictionary.s
ac00 69 7a 65 2e 0a 0a 32 30 30 38 2d 30 39 2d 33 30 20 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 ize...2008-09-30..Antonio.Diaz.D
ac20 69 61 7a 20 20 3c 61 6e 74 5f 64 69 61 7a 40 74 65 6c 65 6c 69 6e 65 2e 65 73 3e 0a 0a 09 2a 20 iaz..<ant_diaz@teleline.es>...*.
ac40 56 65 72 73 69 6f 6e 20 30 2e 35 20 72 65 6c 65 61 73 65 64 2e 0a 09 2a 20 44 65 63 6f 6d 70 72 Version.0.5.released...*.Decompr
ac60 65 73 73 69 6f 6e 20 69 73 20 6e 6f 77 20 31 25 20 66 61 73 74 65 72 2e 0a 0a 32 30 30 38 2d 30 ession.is.now.1%.faster...2008-0
ac80 39 2d 32 33 20 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 20 20 3c 61 6e 74 5f 64 69 9-23..Antonio.Diaz.Diaz..<ant_di
aca0 61 7a 40 74 65 6c 65 6c 69 6e 65 2e 65 73 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 30 2e 34 20 az@teleline.es>...*.Version.0.4.
acc0 72 65 6c 65 61 73 65 64 2e 0a 09 2a 20 43 6f 64 65 20 63 6c 65 61 6e 75 70 20 66 6f 72 20 67 6c released...*.Code.cleanup.for.gl
ace0 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 20 27 76 65 72 62 6f 73 69 74 79 27 2e 0a 09 2a 20 52 65 obal.variable.'verbosity'...*.Re
ad00 67 61 69 6e 65 64 20 74 68 65 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 72 61 74 69 6f 20 6f 66 20 gained.the.compression.ratio.of.
ad20 30 2e 32 20 77 69 74 68 20 35 25 20 66 61 73 74 65 72 20 73 70 65 65 64 2e 0a 09 2a 20 46 69 78 0.2.with.5%.faster.speed...*.Fix
ad40 65 64 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 6e 20 73 79 73 74 65 6d 73 20 77 68 65 72 65 20 ed.compilation.on.systems.where.
ad60 73 69 7a 65 5f 74 20 21 3d 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 2e 0a 0a 32 30 30 38 2d 30 39 size_t.!=.unsigned.int...2008-09
ad80 2d 31 35 20 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 20 20 3c 61 6e 74 5f 64 69 61 -15..Antonio.Diaz.Diaz..<ant_dia
ada0 7a 40 74 65 6c 65 6c 69 6e 65 2e 65 73 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 30 2e 33 20 72 z@teleline.es>...*.Version.0.3.r
adc0 65 6c 65 61 73 65 64 2e 0a 09 2a 20 65 6e 63 6f 64 65 72 2e 63 63 3a 20 43 6f 6d 70 72 65 73 73 eleased...*.encoder.cc:.Compress
ade0 69 6f 6e 20 69 73 20 6e 6f 77 20 31 35 25 20 66 61 73 74 65 72 2c 20 31 25 20 77 6f 72 73 65 2e ion.is.now.15%.faster,.1%.worse.
ae00 0a 09 2a 20 6d 61 69 6e 2e 63 63 20 28 6d 61 69 6e 29 3a 20 4d 61 6b 65 20 27 2d 74 27 20 6f 70 ..*.main.cc.(main):.Make.'-t'.op
ae20 74 69 6f 6e 20 6f 76 65 72 72 69 64 65 20 27 2d 63 27 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 20 28 tion.override.'-c'...*.main.cc.(
ae40 64 65 63 6f 6d 70 72 65 73 73 29 3a 20 53 68 6f 77 20 27 64 6f 6e 65 27 20 69 6e 73 74 65 61 64 decompress):.Show.'done'.instead
ae60 20 6f 66 20 27 6f 6b 27 20 77 68 65 6e 20 6e 6f 74 20 74 65 73 74 69 6e 67 2e 0a 09 2a 20 65 6e .of.'ok'.when.not.testing...*.en
ae80 63 6f 64 65 72 2e 68 3a 20 55 73 65 20 74 72 69 61 6c 73 5b 5d 20 74 6f 20 72 65 74 75 72 6e 20 coder.h:.Use.trials[].to.return.
aea0 74 68 65 20 6c 69 73 74 20 6f 66 20 70 61 69 72 73 2e 0a 0a 32 30 30 38 2d 30 39 2d 30 39 20 20 the.list.of.pairs...2008-09-09..
aec0 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 20 20 3c 61 6e 74 5f 64 69 61 7a 40 74 65 6c Antonio.Diaz.Diaz..<ant_diaz@tel
aee0 65 6c 69 6e 65 2e 65 73 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 30 2e 32 20 72 65 6c 65 61 73 eline.es>...*.Version.0.2.releas
af00 65 64 2e 0a 09 2a 20 65 6e 63 6f 64 65 72 2e 63 63 3a 20 53 6d 61 6c 6c 20 69 6d 70 72 6f 76 65 ed...*.encoder.cc:.Small.improve
af20 6d 65 6e 74 73 20 69 6e 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 73 70 65 65 64 2e 0a 09 2a 20 53 ments.in.compression.speed...*.S
af40 6d 61 6c 6c 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 63 68 61 6e 67 65 73 2e 0a 0a 32 30 30 mall.documentation.changes...200
af60 38 2d 30 38 2d 32 30 20 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 20 20 3c 61 6e 74 8-08-20..Antonio.Diaz.Diaz..<ant
af80 5f 64 69 61 7a 40 74 65 6c 65 6c 69 6e 65 2e 65 73 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 30 _diaz@teleline.es>...*.Version.0
afa0 2e 31 20 72 65 6c 65 61 73 65 64 2e 0a 0a 0a 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 .1.released....Copyright.(C).200
afc0 38 2d 32 30 31 38 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 54 68 69 73 20 8-2018.Antonio.Diaz.Diaz...This.
afe0 66 69 6c 65 20 69 73 20 61 20 63 6f 6c 6c 65 63 74 69 6f 6e 20 6f 66 20 66 61 63 74 73 2c 20 61 file.is.a.collection.of.facts,.a
b000 6e 64 20 74 68 75 73 20 69 74 20 69 73 20 6e 6f 74 20 63 6f 70 79 72 69 67 68 74 61 62 6c 65 2c nd.thus.it.is.not.copyrightable,
b020 0a 62 75 74 20 6a 75 73 74 20 69 6e 20 63 61 73 65 2c 20 79 6f 75 20 68 61 76 65 20 75 6e 6c 69 .but.just.in.case,.you.have.unli
b040 6d 69 74 65 64 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 63 6f 70 79 2c 20 64 69 73 74 72 69 mited.permission.to.copy,.distri
b060 62 75 74 65 20 61 6e 64 0a 6d 6f 64 69 66 79 20 69 74 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 bute.and.modify.it..............
b080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b200 6c 7a 69 70 2d 31 2e 32 30 2f 66 61 73 74 5f 65 6e 63 6f 64 65 72 2e 63 63 00 00 00 00 00 00 00 lzip-1.20/fast_encoder.cc.......
b220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
b280 30 30 31 33 33 37 35 00 31 33 36 36 34 37 33 36 35 34 35 00 30 31 35 35 34 31 00 20 30 00 00 00 0013375.13664736545.015541..0...
b2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b300 00 75 73 74 61 72 20 20 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...mohammad...............
b320 00 00 00 00 00 00 00 00 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........mohammad...............
b340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b400 2f 2a 20 20 4c 7a 69 70 20 2d 20 4c 5a 4d 41 20 6c 6f 73 73 6c 65 73 73 20 64 61 74 61 20 63 6f /*..Lzip.-.LZMA.lossless.data.co
b420 6d 70 72 65 73 73 6f 72 0a 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d mpressor.....Copyright.(C).2008-
b440 32 30 31 38 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 20 54 68 69 2018.Antonio.Diaz.Diaz.......Thi
b460 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 s.program.is.free.software:.you.
b480 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 can.redistribute.it.and/or.modif
b4a0 79 0a 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 y.....it.under.the.terms.of.the.
b4c0 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 GNU.General.Public.License.as.pu
b4e0 62 6c 69 73 68 65 64 20 62 79 0a 20 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 blished.by.....the.Free.Software
b500 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 .Foundation,.either.version.2.of
b520 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 .the.License,.or.....(at.your.op
b540 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 20 54 68 tion).any.later.version.......Th
b560 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 is.program.is.distributed.in.the
b580 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 20 .hope.that.it.will.be.useful,...
b5a0 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 ..but.WITHOUT.ANY.WARRANTY;.with
b5c0 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 out.even.the.implied.warranty.of
b5e0 0a 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 .....MERCHANTABILITY.or.FITNESS.
b600 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 FOR.A.PARTICULAR.PURPOSE...See.t
b620 68 65 0a 20 20 20 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 he.....GNU.General.Public.Licens
b640 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 20 59 6f 75 20 73 68 6f e.for.more.details.......You.sho
b660 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 uld.have.received.a.copy.of.the.
b680 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 20 61 GNU.General.Public.License.....a
b6a0 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c long.with.this.program...If.not,
b6c0 20 73 65 65 20 3c 68 74 74 70 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 .see.<http://www.gnu.org/license
b6e0 73 2f 3e 2e 0a 2a 2f 0a 0a 23 64 65 66 69 6e 65 20 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 s/>..*/..#define._FILE_OFFSET_BI
b700 54 53 20 36 34 0a 0a 23 69 6e 63 6c 75 64 65 20 3c 61 6c 67 6f 72 69 74 68 6d 3e 0a 23 69 6e 63 TS.64..#include.<algorithm>.#inc
b720 6c 75 64 65 20 3c 63 65 72 72 6e 6f 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 63 73 74 64 6c 69 62 3e lude.<cerrno>.#include.<cstdlib>
b740 0a 23 69 6e 63 6c 75 64 65 20 3c 63 73 74 72 69 6e 67 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 73 74 .#include.<cstring>.#include.<st
b760 72 69 6e 67 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 76 65 63 74 6f 72 3e 0a 23 69 6e 63 6c 75 64 65 ring>.#include.<vector>.#include
b780 20 3c 73 74 64 69 6e 74 2e 68 3e 0a 0a 23 69 6e 63 6c 75 64 65 20 22 6c 7a 69 70 2e 68 22 0a 23 .<stdint.h>..#include."lzip.h".#
b7a0 69 6e 63 6c 75 64 65 20 22 65 6e 63 6f 64 65 72 5f 62 61 73 65 2e 68 22 0a 23 69 6e 63 6c 75 64 include."encoder_base.h".#includ
b7c0 65 20 22 66 61 73 74 5f 65 6e 63 6f 64 65 72 2e 68 22 0a 0a 0a 69 6e 74 20 46 4c 5a 5f 65 6e 63 e."fast_encoder.h"...int.FLZ_enc
b7e0 6f 64 65 72 3a 3a 6c 6f 6e 67 65 73 74 5f 6d 61 74 63 68 5f 6c 65 6e 28 20 69 6e 74 20 2a 20 63 oder::longest_match_len(.int.*.c
b800 6f 6e 73 74 20 64 69 73 74 61 6e 63 65 20 29 0a 20 20 7b 0a 20 20 65 6e 75 6d 20 7b 20 6c 65 6e onst.distance.)...{...enum.{.len
b820 5f 6c 69 6d 69 74 20 3d 20 31 36 20 7d 3b 0a 20 20 63 6f 6e 73 74 20 69 6e 74 20 61 76 61 69 6c _limit.=.16.};...const.int.avail
b840 61 62 6c 65 20 3d 20 73 74 64 3a 3a 6d 69 6e 28 20 61 76 61 69 6c 61 62 6c 65 5f 62 79 74 65 73 able.=.std::min(.available_bytes
b860 28 29 2c 20 28 69 6e 74 29 6d 61 78 5f 6d 61 74 63 68 5f 6c 65 6e 20 29 3b 0a 20 20 69 66 28 20 (),.(int)max_match_len.);...if(.
b880 61 76 61 69 6c 61 62 6c 65 20 3c 20 6c 65 6e 5f 6c 69 6d 69 74 20 29 20 72 65 74 75 72 6e 20 30 available.<.len_limit.).return.0
b8a0 3b 0a 0a 20 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 2a 20 63 6f 6e 73 74 20 64 61 74 61 20 ;....const.uint8_t.*.const.data.
b8c0 3d 20 70 74 72 5f 74 6f 5f 63 75 72 72 65 6e 74 5f 70 6f 73 28 29 3b 0a 20 20 6b 65 79 34 20 3d =.ptr_to_current_pos();...key4.=
b8e0 20 28 20 28 20 6b 65 79 34 20 3c 3c 20 34 20 29 20 5e 20 64 61 74 61 5b 33 5d 20 29 20 26 20 6b .(.(.key4.<<.4.).^.data[3].).&.k
b900 65 79 34 5f 6d 61 73 6b 3b 0a 20 20 63 6f 6e 73 74 20 69 6e 74 20 70 6f 73 31 20 3d 20 70 6f 73 ey4_mask;...const.int.pos1.=.pos
b920 20 2b 20 31 3b 0a 20 20 69 6e 74 20 6e 65 77 70 6f 73 31 20 3d 20 70 72 65 76 5f 70 6f 73 69 74 .+.1;...int.newpos1.=.prev_posit
b940 69 6f 6e 73 5b 6b 65 79 34 5d 3b 0a 20 20 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 5b 6b 65 79 ions[key4];...prev_positions[key
b960 34 5d 20 3d 20 70 6f 73 31 3b 0a 20 20 69 6e 74 33 32 5f 74 20 2a 20 70 74 72 30 20 3d 20 70 6f 4].=.pos1;...int32_t.*.ptr0.=.po
b980 73 5f 61 72 72 61 79 20 2b 20 63 79 63 6c 69 63 5f 70 6f 73 3b 0a 20 20 69 6e 74 20 6d 61 78 6c s_array.+.cyclic_pos;...int.maxl
b9a0 65 6e 20 3d 20 30 3b 0a 0a 20 20 66 6f 72 28 20 69 6e 74 20 63 6f 75 6e 74 20 3d 20 34 3b 20 3b en.=.0;....for(.int.count.=.4;.;
b9c0 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 6e 74 20 64 65 6c 74 61 3b 0a 20 20 20 20 69 66 28 20 .).....{.....int.delta;.....if(.
b9e0 6e 65 77 70 6f 73 31 20 3c 3d 20 30 20 7c 7c 20 2d 2d 63 6f 75 6e 74 20 3c 20 30 20 7c 7c 0a 20 newpos1.<=.0.||.--count.<.0.||..
ba00 20 20 20 20 20 20 20 28 20 64 65 6c 74 61 20 3d 20 70 6f 73 31 20 2d 20 6e 65 77 70 6f 73 31 20 .......(.delta.=.pos1.-.newpos1.
ba20 29 20 3e 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 20 7b 20 2a 70 74 72 30 20 3d 20 ).>.dictionary_size.).{.*ptr0.=.
ba40 30 3b 20 62 72 65 61 6b 3b 20 7d 0a 20 20 20 20 69 6e 74 33 32 5f 74 20 2a 20 63 6f 6e 73 74 20 0;.break;.}.....int32_t.*.const.
ba60 6e 65 77 70 74 72 20 3d 20 70 6f 73 5f 61 72 72 61 79 20 2b 0a 20 20 20 20 20 20 28 20 63 79 63 newptr.=.pos_array.+.......(.cyc
ba80 6c 69 63 5f 70 6f 73 20 2d 20 64 65 6c 74 61 20 2b 0a 20 20 20 20 20 20 20 20 20 20 28 20 28 20 lic_pos.-.delta.+...........(.(.
baa0 63 79 63 6c 69 63 5f 70 6f 73 20 3e 3d 20 64 65 6c 74 61 20 29 20 3f 20 30 20 3a 20 64 69 63 74 cyclic_pos.>=.delta.).?.0.:.dict
bac0 69 6f 6e 61 72 79 5f 73 69 7a 65 20 2b 20 31 20 29 20 29 3b 0a 0a 20 20 20 20 69 66 28 20 64 61 ionary_size.+.1.).);......if(.da
bae0 74 61 5b 6d 61 78 6c 65 6e 2d 64 65 6c 74 61 5d 20 3d 3d 20 64 61 74 61 5b 6d 61 78 6c 65 6e 5d ta[maxlen-delta].==.data[maxlen]
bb00 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 69 6e 74 20 6c 65 6e 20 3d 20 30 3b 0a 20 20 .).......{.......int.len.=.0;...
bb20 20 20 20 20 77 68 69 6c 65 28 20 6c 65 6e 20 3c 20 61 76 61 69 6c 61 62 6c 65 20 26 26 20 64 61 ....while(.len.<.available.&&.da
bb40 74 61 5b 6c 65 6e 2d 64 65 6c 74 61 5d 20 3d 3d 20 64 61 74 61 5b 6c 65 6e 5d 20 29 20 2b 2b 6c ta[len-delta].==.data[len].).++l
bb60 65 6e 3b 0a 20 20 20 20 20 20 69 66 28 20 6d 61 78 6c 65 6e 20 3c 20 6c 65 6e 20 29 0a 20 20 20 en;.......if(.maxlen.<.len.)....
bb80 20 20 20 20 20 7b 20 6d 61 78 6c 65 6e 20 3d 20 6c 65 6e 3b 20 2a 64 69 73 74 61 6e 63 65 20 3d .....{.maxlen.=.len;.*distance.=
bba0 20 64 65 6c 74 61 20 2d 20 31 3b 0a 20 20 20 20 20 20 20 20 20 20 69 66 28 20 6d 61 78 6c 65 6e .delta.-.1;...........if(.maxlen
bbc0 20 3e 3d 20 6c 65 6e 5f 6c 69 6d 69 74 20 29 20 7b 20 2a 70 74 72 30 20 3d 20 2a 6e 65 77 70 74 .>=.len_limit.).{.*ptr0.=.*newpt
bbe0 72 3b 20 62 72 65 61 6b 3b 20 7d 20 7d 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 2a 70 74 72 30 r;.break;.}.}.......}......*ptr0
bc00 20 3d 20 6e 65 77 70 6f 73 31 3b 0a 20 20 20 20 70 74 72 30 20 3d 20 6e 65 77 70 74 72 3b 0a 20 .=.newpos1;.....ptr0.=.newptr;..
bc20 20 20 20 6e 65 77 70 6f 73 31 20 3d 20 2a 70 74 72 30 3b 0a 20 20 20 20 7d 0a 20 20 72 65 74 75 ...newpos1.=.*ptr0;.....}...retu
bc40 72 6e 20 6d 61 78 6c 65 6e 3b 0a 20 20 7d 0a 0a 0a 62 6f 6f 6c 20 46 4c 5a 5f 65 6e 63 6f 64 65 rn.maxlen;...}...bool.FLZ_encode
bc60 72 3a 3a 65 6e 63 6f 64 65 5f 6d 65 6d 62 65 72 28 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 r::encode_member(.const.unsigned
bc80 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 29 0a 20 20 7b 0a 20 20 63 .long.long.member_size.)...{...c
bca0 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6d 65 6d 62 65 72 5f 73 onst.unsigned.long.long.member_s
bcc0 69 7a 65 5f 6c 69 6d 69 74 20 3d 0a 20 20 20 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 2d 20 46 69 ize_limit.=.....member_size.-.Fi
bce0 6c 65 5f 74 72 61 69 6c 65 72 3a 3a 73 69 7a 65 20 2d 20 6d 61 78 5f 6d 61 72 6b 65 72 5f 73 69 le_trailer::size.-.max_marker_si
bd00 7a 65 3b 0a 20 20 69 6e 74 20 72 65 70 20 3d 20 30 3b 0a 20 20 69 6e 74 20 72 65 70 73 5b 6e 75 ze;...int.rep.=.0;...int.reps[nu
bd20 6d 5f 72 65 70 5f 64 69 73 74 61 6e 63 65 73 5d 3b 0a 20 20 53 74 61 74 65 20 73 74 61 74 65 3b m_rep_distances];...State.state;
bd40 0a 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 6e 75 6d 5f 72 65 70 5f 64 ...for(.int.i.=.0;.i.<.num_rep_d
bd60 69 73 74 61 6e 63 65 73 3b 20 2b 2b 69 20 29 20 72 65 70 73 5b 69 5d 20 3d 20 30 3b 0a 0a 20 20 istances;.++i.).reps[i].=.0;....
bd80 69 66 28 20 64 61 74 61 5f 70 6f 73 69 74 69 6f 6e 28 29 20 21 3d 20 30 20 7c 7c 20 72 65 6e 63 if(.data_position().!=.0.||.renc
bda0 2e 6d 65 6d 62 65 72 5f 70 6f 73 69 74 69 6f 6e 28 29 20 21 3d 20 46 69 6c 65 5f 68 65 61 64 65 .member_position().!=.File_heade
bdc0 72 3a 3a 73 69 7a 65 20 29 0a 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 09 09 09 09 2f r::size.).....return.false;..../
bde0 2f 20 63 61 6e 20 62 65 20 63 61 6c 6c 65 64 20 6f 6e 6c 79 20 6f 6e 63 65 0a 0a 20 20 69 66 28 /.can.be.called.only.once....if(
be00 20 21 64 61 74 61 5f 66 69 6e 69 73 68 65 64 28 29 20 29 09 09 09 2f 2f 20 65 6e 63 6f 64 65 20 .!data_finished().)...//.encode.
be20 66 69 72 73 74 20 62 79 74 65 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 75 69 6e 74 38 first.byte.....{.....const.uint8
be40 5f 74 20 70 72 65 76 5f 62 79 74 65 20 3d 20 30 3b 0a 20 20 20 20 63 6f 6e 73 74 20 75 69 6e 74 _t.prev_byte.=.0;.....const.uint
be60 38 5f 74 20 63 75 72 5f 62 79 74 65 20 3d 20 70 65 65 6b 28 20 30 20 29 3b 0a 20 20 20 20 72 65 8_t.cur_byte.=.peek(.0.);.....re
be80 6e 63 2e 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f 6d 61 74 63 68 5b 73 74 61 74 65 28 29 5d nc.encode_bit(.bm_match[state()]
bea0 5b 30 5d 2c 20 30 20 29 3b 0a 20 20 20 20 65 6e 63 6f 64 65 5f 6c 69 74 65 72 61 6c 28 20 70 72 [0],.0.);.....encode_literal(.pr
bec0 65 76 5f 62 79 74 65 2c 20 63 75 72 5f 62 79 74 65 20 29 3b 0a 20 20 20 20 63 72 63 33 32 2e 75 ev_byte,.cur_byte.);.....crc32.u
bee0 70 64 61 74 65 5f 62 79 74 65 28 20 63 72 63 5f 2c 20 63 75 72 5f 62 79 74 65 20 29 3b 0a 20 20 pdate_byte(.crc_,.cur_byte.);...
bf00 20 20 72 65 73 65 74 5f 6b 65 79 34 28 29 3b 0a 20 20 20 20 75 70 64 61 74 65 5f 61 6e 64 5f 6d ..reset_key4();.....update_and_m
bf20 6f 76 65 28 20 31 20 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 77 68 69 6c 65 28 20 21 64 61 74 61 5f ove(.1.);.....}....while(.!data_
bf40 66 69 6e 69 73 68 65 64 28 29 20 26 26 20 72 65 6e 63 2e 6d 65 6d 62 65 72 5f 70 6f 73 69 74 69 finished().&&.renc.member_positi
bf60 6f 6e 28 29 20 3c 20 6d 65 6d 62 65 72 5f 73 69 7a 65 5f 6c 69 6d 69 74 20 29 0a 20 20 20 20 7b on().<.member_size_limit.).....{
bf80 0a 20 20 20 20 69 6e 74 20 6d 61 74 63 68 5f 64 69 73 74 61 6e 63 65 3b 0a 20 20 20 20 63 6f 6e .....int.match_distance;.....con
bfa0 73 74 20 69 6e 74 20 6d 61 69 6e 5f 6c 65 6e 20 3d 20 6c 6f 6e 67 65 73 74 5f 6d 61 74 63 68 5f st.int.main_len.=.longest_match_
bfc0 6c 65 6e 28 20 26 6d 61 74 63 68 5f 64 69 73 74 61 6e 63 65 20 29 3b 0a 20 20 20 20 63 6f 6e 73 len(.&match_distance.);.....cons
bfe0 74 20 69 6e 74 20 70 6f 73 5f 73 74 61 74 65 20 3d 20 64 61 74 61 5f 70 6f 73 69 74 69 6f 6e 28 t.int.pos_state.=.data_position(
c000 29 20 26 20 70 6f 73 5f 73 74 61 74 65 5f 6d 61 73 6b 3b 0a 20 20 20 20 69 6e 74 20 6c 65 6e 20 ).&.pos_state_mask;.....int.len.
c020 3d 20 30 3b 0a 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 6e 75 =.0;......for(.int.i.=.0;.i.<.nu
c040 6d 5f 72 65 70 5f 64 69 73 74 61 6e 63 65 73 3b 20 2b 2b 69 20 29 0a 20 20 20 20 20 20 7b 0a 20 m_rep_distances;.++i.).......{..
c060 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 74 6c 65 6e 20 3d 20 74 72 75 65 5f 6d 61 74 63 68 .....const.int.tlen.=.true_match
c080 5f 6c 65 6e 28 20 30 2c 20 72 65 70 73 5b 69 5d 20 2b 20 31 20 29 3b 0a 20 20 20 20 20 20 69 66 _len(.0,.reps[i].+.1.);.......if
c0a0 28 20 74 6c 65 6e 20 3e 20 6c 65 6e 20 29 20 7b 20 6c 65 6e 20 3d 20 74 6c 65 6e 3b 20 72 65 70 (.tlen.>.len.).{.len.=.tlen;.rep
c0c0 20 3d 20 69 3b 20 7d 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 69 66 28 20 6c 65 6e 20 3e 20 6d 69 .=.i;.}.......}.....if(.len.>.mi
c0e0 6e 5f 6d 61 74 63 68 5f 6c 65 6e 20 26 26 20 6c 65 6e 20 2b 20 33 20 3e 20 6d 61 69 6e 5f 6c 65 n_match_len.&&.len.+.3.>.main_le
c100 6e 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 63 72 63 33 32 2e 75 70 64 61 74 65 5f 62 n.).......{.......crc32.update_b
c120 75 66 28 20 63 72 63 5f 2c 20 70 74 72 5f 74 6f 5f 63 75 72 72 65 6e 74 5f 70 6f 73 28 29 2c 20 uf(.crc_,.ptr_to_current_pos(),.
c140 6c 65 6e 20 29 3b 0a 20 20 20 20 20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d len.);.......renc.encode_bit(.bm
c160 5f 6d 61 74 63 68 5b 73 74 61 74 65 28 29 5d 5b 70 6f 73 5f 73 74 61 74 65 5d 2c 20 31 20 29 3b _match[state()][pos_state],.1.);
c180 0a 20 20 20 20 20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f 72 65 70 5b 73 .......renc.encode_bit(.bm_rep[s
c1a0 74 61 74 65 28 29 5d 2c 20 31 20 29 3b 0a 20 20 20 20 20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f tate()],.1.);.......renc.encode_
c1c0 62 69 74 28 20 62 6d 5f 72 65 70 30 5b 73 74 61 74 65 28 29 5d 2c 20 72 65 70 20 21 3d 20 30 20 bit(.bm_rep0[state()],.rep.!=.0.
c1e0 29 3b 0a 20 20 20 20 20 20 69 66 28 20 72 65 70 20 3d 3d 20 30 20 29 0a 20 20 20 20 20 20 20 20 );.......if(.rep.==.0.).........
c200 72 65 6e 63 2e 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f 6c 65 6e 5b 73 74 61 74 65 28 29 5d renc.encode_bit(.bm_len[state()]
c220 5b 70 6f 73 5f 73 74 61 74 65 5d 2c 20 31 20 29 3b 0a 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 [pos_state],.1.);.......else....
c240 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f 62 69 74 28 20 .....{.........renc.encode_bit(.
c260 62 6d 5f 72 65 70 31 5b 73 74 61 74 65 28 29 5d 2c 20 72 65 70 20 3e 20 31 20 29 3b 0a 20 20 20 bm_rep1[state()],.rep.>.1.);....
c280 20 20 20 20 20 69 66 28 20 72 65 70 20 3e 20 31 20 29 0a 20 20 20 20 20 20 20 20 20 20 72 65 6e .....if(.rep.>.1.)...........ren
c2a0 63 2e 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f 72 65 70 32 5b 73 74 61 74 65 28 29 5d 2c 20 c.encode_bit(.bm_rep2[state()],.
c2c0 72 65 70 20 3e 20 32 20 29 3b 0a 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 64 69 73 rep.>.2.);.........const.int.dis
c2e0 74 61 6e 63 65 20 3d 20 72 65 70 73 5b 72 65 70 5d 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 28 20 tance.=.reps[rep];.........for(.
c300 69 6e 74 20 69 20 3d 20 72 65 70 3b 20 69 20 3e 20 30 3b 20 2d 2d 69 20 29 20 72 65 70 73 5b 69 int.i.=.rep;.i.>.0;.--i.).reps[i
c320 5d 20 3d 20 72 65 70 73 5b 69 2d 31 5d 3b 0a 20 20 20 20 20 20 20 20 72 65 70 73 5b 30 5d 20 3d ].=.reps[i-1];.........reps[0].=
c340 20 64 69 73 74 61 6e 63 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 73 74 61 74 65 .distance;.........}.......state
c360 2e 73 65 74 5f 72 65 70 28 29 3b 0a 20 20 20 20 20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f 6c 65 .set_rep();.......renc.encode_le
c380 6e 28 20 72 65 70 5f 6c 65 6e 5f 6d 6f 64 65 6c 2c 20 6c 65 6e 2c 20 70 6f 73 5f 73 74 61 74 65 n(.rep_len_model,.len,.pos_state
c3a0 20 29 3b 0a 20 20 20 20 20 20 6d 6f 76 65 5f 70 6f 73 28 29 3b 0a 20 20 20 20 20 20 75 70 64 61 .);.......move_pos();.......upda
c3c0 74 65 5f 61 6e 64 5f 6d 6f 76 65 28 20 6c 65 6e 20 2d 20 31 20 29 3b 0a 20 20 20 20 20 20 63 6f te_and_move(.len.-.1.);.......co
c3e0 6e 74 69 6e 75 65 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 69 66 28 20 6d 61 69 6e 5f 6c 65 ntinue;.......}......if(.main_le
c400 6e 20 3e 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 n.>.min_match_len.).......{.....
c420 20 20 63 72 63 33 32 2e 75 70 64 61 74 65 5f 62 75 66 28 20 63 72 63 5f 2c 20 70 74 72 5f 74 6f ..crc32.update_buf(.crc_,.ptr_to
c440 5f 63 75 72 72 65 6e 74 5f 70 6f 73 28 29 2c 20 6d 61 69 6e 5f 6c 65 6e 20 29 3b 0a 20 20 20 20 _current_pos(),.main_len.);.....
c460 20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f 6d 61 74 63 68 5b 73 74 61 74 ..renc.encode_bit(.bm_match[stat
c480 65 28 29 5d 5b 70 6f 73 5f 73 74 61 74 65 5d 2c 20 31 20 29 3b 0a 20 20 20 20 20 20 72 65 6e 63 e()][pos_state],.1.);.......renc
c4a0 2e 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f 72 65 70 5b 73 74 61 74 65 28 29 5d 2c 20 30 20 .encode_bit(.bm_rep[state()],.0.
c4c0 29 3b 0a 20 20 20 20 20 20 73 74 61 74 65 2e 73 65 74 5f 6d 61 74 63 68 28 29 3b 0a 20 20 20 20 );.......state.set_match();.....
c4e0 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 6e 75 6d 5f 72 65 70 5f 64 69 73 74 61 6e 63 65 73 ..for(.int.i.=.num_rep_distances
c500 20 2d 20 31 3b 20 69 20 3e 20 30 3b 20 2d 2d 69 20 29 20 72 65 70 73 5b 69 5d 20 3d 20 72 65 70 .-.1;.i.>.0;.--i.).reps[i].=.rep
c520 73 5b 69 2d 31 5d 3b 0a 20 20 20 20 20 20 72 65 70 73 5b 30 5d 20 3d 20 6d 61 74 63 68 5f 64 69 s[i-1];.......reps[0].=.match_di
c540 73 74 61 6e 63 65 3b 0a 20 20 20 20 20 20 65 6e 63 6f 64 65 5f 70 61 69 72 28 20 6d 61 74 63 68 stance;.......encode_pair(.match
c560 5f 64 69 73 74 61 6e 63 65 2c 20 6d 61 69 6e 5f 6c 65 6e 2c 20 70 6f 73 5f 73 74 61 74 65 20 29 _distance,.main_len,.pos_state.)
c580 3b 0a 20 20 20 20 20 20 6d 6f 76 65 5f 70 6f 73 28 29 3b 0a 20 20 20 20 20 20 75 70 64 61 74 65 ;.......move_pos();.......update
c5a0 5f 61 6e 64 5f 6d 6f 76 65 28 20 6d 61 69 6e 5f 6c 65 6e 20 2d 20 31 20 29 3b 0a 20 20 20 20 20 _and_move(.main_len.-.1.);......
c5c0 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 63 6f 6e 73 74 20 75 69 .continue;.......}......const.ui
c5e0 6e 74 38 5f 74 20 70 72 65 76 5f 62 79 74 65 20 3d 20 70 65 65 6b 28 20 31 20 29 3b 0a 20 20 20 nt8_t.prev_byte.=.peek(.1.);....
c600 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 63 75 72 5f 62 79 74 65 20 3d 20 70 65 65 6b 28 20 .const.uint8_t.cur_byte.=.peek(.
c620 30 20 29 3b 0a 20 20 20 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 6d 61 74 63 68 5f 62 79 74 0.);.....const.uint8_t.match_byt
c640 65 20 3d 20 70 65 65 6b 28 20 72 65 70 73 5b 30 5d 20 2b 20 31 20 29 3b 0a 20 20 20 20 6d 6f 76 e.=.peek(.reps[0].+.1.);.....mov
c660 65 5f 70 6f 73 28 29 3b 0a 20 20 20 20 63 72 63 33 32 2e 75 70 64 61 74 65 5f 62 79 74 65 28 20 e_pos();.....crc32.update_byte(.
c680 63 72 63 5f 2c 20 63 75 72 5f 62 79 74 65 20 29 3b 0a 0a 20 20 20 20 69 66 28 20 6d 61 74 63 68 crc_,.cur_byte.);......if(.match
c6a0 5f 62 79 74 65 20 3d 3d 20 63 75 72 5f 62 79 74 65 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 _byte.==.cur_byte.).......{.....
c6c0 20 20 63 6f 6e 73 74 20 69 6e 74 20 73 68 6f 72 74 5f 72 65 70 5f 70 72 69 63 65 20 3d 20 70 72 ..const.int.short_rep_price.=.pr
c6e0 69 63 65 31 28 20 62 6d 5f 6d 61 74 63 68 5b 73 74 61 74 65 28 29 5d 5b 70 6f 73 5f 73 74 61 74 ice1(.bm_match[state()][pos_stat
c700 65 5d 20 29 20 2b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e].).+..........................
c720 20 20 20 20 20 20 20 20 20 70 72 69 63 65 31 28 20 62 6d 5f 72 65 70 5b 73 74 61 74 65 28 29 5d .........price1(.bm_rep[state()]
c740 20 29 20 2b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .).+............................
c760 20 20 20 20 20 20 20 70 72 69 63 65 30 28 20 62 6d 5f 72 65 70 30 5b 73 74 61 74 65 28 29 5d 20 .......price0(.bm_rep0[state()].
c780 29 20 2b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).+.............................
c7a0 20 20 20 20 20 20 70 72 69 63 65 30 28 20 62 6d 5f 6c 65 6e 5b 73 74 61 74 65 28 29 5d 5b 70 6f ......price0(.bm_len[state()][po
c7c0 73 5f 73 74 61 74 65 5d 20 29 3b 0a 20 20 20 20 20 20 69 6e 74 20 70 72 69 63 65 20 3d 20 70 72 s_state].);.......int.price.=.pr
c7e0 69 63 65 30 28 20 62 6d 5f 6d 61 74 63 68 5b 73 74 61 74 65 28 29 5d 5b 70 6f 73 5f 73 74 61 74 ice0(.bm_match[state()][pos_stat
c800 65 5d 20 29 3b 0a 20 20 20 20 20 20 69 66 28 20 73 74 61 74 65 2e 69 73 5f 63 68 61 72 28 29 20 e].);.......if(.state.is_char().
c820 29 0a 20 20 20 20 20 20 20 20 70 72 69 63 65 20 2b 3d 20 70 72 69 63 65 5f 6c 69 74 65 72 61 6c ).........price.+=.price_literal
c840 28 20 70 72 65 76 5f 62 79 74 65 2c 20 63 75 72 5f 62 79 74 65 20 29 3b 0a 20 20 20 20 20 20 65 (.prev_byte,.cur_byte.);.......e
c860 6c 73 65 0a 20 20 20 20 20 20 20 20 70 72 69 63 65 20 2b 3d 20 70 72 69 63 65 5f 6d 61 74 63 68 lse.........price.+=.price_match
c880 65 64 28 20 70 72 65 76 5f 62 79 74 65 2c 20 63 75 72 5f 62 79 74 65 2c 20 6d 61 74 63 68 5f 62 ed(.prev_byte,.cur_byte,.match_b
c8a0 79 74 65 20 29 3b 0a 20 20 20 20 20 20 69 66 28 20 73 68 6f 72 74 5f 72 65 70 5f 70 72 69 63 65 yte.);.......if(.short_rep_price
c8c0 20 3c 20 70 72 69 63 65 20 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 6e .<.price.).........{.........ren
c8e0 63 2e 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f 6d 61 74 63 68 5b 73 74 61 74 65 28 29 5d 5b c.encode_bit(.bm_match[state()][
c900 70 6f 73 5f 73 74 61 74 65 5d 2c 20 31 20 29 3b 0a 20 20 20 20 20 20 20 20 72 65 6e 63 2e 65 6e pos_state],.1.);.........renc.en
c920 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f 72 65 70 5b 73 74 61 74 65 28 29 5d 2c 20 31 20 29 3b 0a code_bit(.bm_rep[state()],.1.);.
c940 20 20 20 20 20 20 20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f 72 65 70 30 ........renc.encode_bit(.bm_rep0
c960 5b 73 74 61 74 65 28 29 5d 2c 20 30 20 29 3b 0a 20 20 20 20 20 20 20 20 72 65 6e 63 2e 65 6e 63 [state()],.0.);.........renc.enc
c980 6f 64 65 5f 62 69 74 28 20 62 6d 5f 6c 65 6e 5b 73 74 61 74 65 28 29 5d 5b 70 6f 73 5f 73 74 61 ode_bit(.bm_len[state()][pos_sta
c9a0 74 65 5d 2c 20 30 20 29 3b 0a 20 20 20 20 20 20 20 20 73 74 61 74 65 2e 73 65 74 5f 73 68 6f 72 te],.0.);.........state.set_shor
c9c0 74 5f 72 65 70 28 29 3b 0a 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 20 20 t_rep();.........continue;......
c9e0 20 20 20 7d 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 6c 69 74 65 72 61 6c 20 62 79 74 ...}.......}......//.literal.byt
ca00 65 0a 20 20 20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f 6d 61 74 63 68 5b e.....renc.encode_bit(.bm_match[
ca20 73 74 61 74 65 28 29 5d 5b 70 6f 73 5f 73 74 61 74 65 5d 2c 20 30 20 29 3b 0a 20 20 20 20 69 66 state()][pos_state],.0.);.....if
ca40 28 20 73 74 61 74 65 2e 69 73 5f 63 68 61 72 5f 73 65 74 5f 63 68 61 72 28 29 20 29 0a 20 20 20 (.state.is_char_set_char().)....
ca60 20 20 20 65 6e 63 6f 64 65 5f 6c 69 74 65 72 61 6c 28 20 70 72 65 76 5f 62 79 74 65 2c 20 63 75 ...encode_literal(.prev_byte,.cu
ca80 72 5f 62 79 74 65 20 29 3b 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 65 6e 63 6f 64 65 5f r_byte.);.....else.......encode_
caa0 6d 61 74 63 68 65 64 28 20 70 72 65 76 5f 62 79 74 65 2c 20 63 75 72 5f 62 79 74 65 2c 20 6d 61 matched(.prev_byte,.cur_byte,.ma
cac0 74 63 68 5f 62 79 74 65 20 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 66 75 6c 6c 5f 66 6c 75 73 68 28 tch_byte.);.....}....full_flush(
cae0 20 73 74 61 74 65 20 29 3b 0a 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 7d 0a 00 00 00 .state.);...return.true;...}....
cb00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cb20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cc00 6c 7a 69 70 2d 31 2e 32 30 2f 63 6f 6e 66 69 67 75 72 65 00 00 00 00 00 00 00 00 00 00 00 00 00 lzip-1.20/configure.............
cc20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cc40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cc60 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000755.0001750.0001750.0000
cc80 30 30 31 33 32 34 33 00 31 33 36 36 34 37 33 36 35 34 35 00 30 31 34 34 37 37 00 20 30 00 00 00 0013243.13664736545.014477..0...
cca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ccc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cd00 00 75 73 74 61 72 20 20 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...mohammad...............
cd20 00 00 00 00 00 00 00 00 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........mohammad...............
cd40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cd60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cdc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ce00 23 21 20 2f 62 69 6e 2f 73 68 0a 23 20 63 6f 6e 66 69 67 75 72 65 20 73 63 72 69 70 74 20 66 6f #!./bin/sh.#.configure.script.fo
ce20 72 20 4c 7a 69 70 20 2d 20 4c 5a 4d 41 20 6c 6f 73 73 6c 65 73 73 20 64 61 74 61 20 63 6f 6d 70 r.Lzip.-.LZMA.lossless.data.comp
ce40 72 65 73 73 6f 72 0a 23 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d 32 30 31 38 ressor.#.Copyright.(C).2008-2018
ce60 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 23 0a 23 20 54 68 69 73 20 63 6f 6e .Antonio.Diaz.Diaz..#.#.This.con
ce80 66 69 67 75 72 65 20 73 63 72 69 70 74 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 figure.script.is.free.software:.
cea0 79 6f 75 20 68 61 76 65 20 75 6e 6c 69 6d 69 74 65 64 20 70 65 72 6d 69 73 73 69 6f 6e 0a 23 20 you.have.unlimited.permission.#.
cec0 74 6f 20 63 6f 70 79 2c 20 64 69 73 74 72 69 62 75 74 65 20 61 6e 64 20 6d 6f 64 69 66 79 20 69 to.copy,.distribute.and.modify.i
cee0 74 2e 0a 0a 70 6b 67 6e 61 6d 65 3d 6c 7a 69 70 0a 70 6b 67 76 65 72 73 69 6f 6e 3d 31 2e 32 30 t...pkgname=lzip.pkgversion=1.20
cf00 0a 70 72 6f 67 6e 61 6d 65 3d 6c 7a 69 70 0a 73 72 63 74 72 69 67 67 65 72 3d 64 6f 63 2f 24 7b .progname=lzip.srctrigger=doc/${
cf20 70 6b 67 6e 61 6d 65 7d 2e 74 65 78 69 0a 0a 23 20 63 6c 65 61 72 20 73 6f 6d 65 20 74 68 69 6e pkgname}.texi..#.clear.some.thin
cf40 67 73 20 70 6f 74 65 6e 74 69 61 6c 6c 79 20 69 6e 68 65 72 69 74 65 64 20 66 72 6f 6d 20 65 6e gs.potentially.inherited.from.en
cf60 76 69 72 6f 6e 6d 65 6e 74 2e 0a 4c 43 5f 41 4c 4c 3d 43 0a 65 78 70 6f 72 74 20 4c 43 5f 41 4c vironment..LC_ALL=C.export.LC_AL
cf80 4c 0a 73 72 63 64 69 72 3d 0a 70 72 65 66 69 78 3d 2f 75 73 72 2f 6c 6f 63 61 6c 0a 65 78 65 63 L.srcdir=.prefix=/usr/local.exec
cfa0 5f 70 72 65 66 69 78 3d 27 24 28 70 72 65 66 69 78 29 27 0a 62 69 6e 64 69 72 3d 27 24 28 65 78 _prefix='$(prefix)'.bindir='$(ex
cfc0 65 63 5f 70 72 65 66 69 78 29 2f 62 69 6e 27 0a 64 61 74 61 72 6f 6f 74 64 69 72 3d 27 24 28 70 ec_prefix)/bin'.datarootdir='$(p
cfe0 72 65 66 69 78 29 2f 73 68 61 72 65 27 0a 69 6e 66 6f 64 69 72 3d 27 24 28 64 61 74 61 72 6f 6f refix)/share'.infodir='$(dataroo
d000 74 64 69 72 29 2f 69 6e 66 6f 27 0a 6d 61 6e 64 69 72 3d 27 24 28 64 61 74 61 72 6f 6f 74 64 69 tdir)/info'.mandir='$(datarootdi
d020 72 29 2f 6d 61 6e 27 0a 43 58 58 3d 67 2b 2b 0a 43 50 50 46 4c 41 47 53 3d 0a 43 58 58 46 4c 41 r)/man'.CXX=g++.CPPFLAGS=.CXXFLA
d040 47 53 3d 27 2d 57 61 6c 6c 20 2d 57 20 2d 4f 32 27 0a 4c 44 46 4c 41 47 53 3d 0a 0a 23 20 63 68 GS='-Wall.-W.-O2'.LDFLAGS=..#.ch
d060 65 63 6b 69 6e 67 20 77 68 65 74 68 65 72 20 77 65 20 61 72 65 20 75 73 69 6e 67 20 47 4e 55 20 ecking.whether.we.are.using.GNU.
d080 43 2b 2b 2e 0a 2f 62 69 6e 2f 73 68 20 2d 63 20 22 24 7b 43 58 58 7d 20 2d 2d 76 65 72 73 69 6f C++../bin/sh.-c."${CXX}.--versio
d0a0 6e 22 20 3e 20 2f 64 65 76 2f 6e 75 6c 6c 20 32 3e 26 31 20 7c 7c 0a 09 7b 0a 09 43 58 58 3d 63 n".>./dev/null.2>&1.||..{..CXX=c
d0c0 2b 2b 0a 09 43 58 58 46 4c 41 47 53 3d 2d 4f 32 0a 09 7d 0a 0a 23 20 4c 6f 6f 70 20 6f 76 65 72 ++..CXXFLAGS=-O2..}..#.Loop.over
d0e0 20 61 6c 6c 20 61 72 67 73 0a 61 72 67 73 3d 0a 6e 6f 5f 63 72 65 61 74 65 3d 0a 77 68 69 6c 65 .all.args.args=.no_create=.while
d100 20 5b 20 24 23 20 21 3d 20 30 20 5d 20 3b 20 64 6f 0a 0a 09 23 20 47 65 74 20 74 68 65 20 66 69 .[.$#.!=.0.].;.do...#.Get.the.fi
d120 72 73 74 20 61 72 67 2c 20 61 6e 64 20 73 68 75 66 66 6c 65 0a 09 6f 70 74 69 6f 6e 3d 24 31 20 rst.arg,.and.shuffle..option=$1.
d140 3b 20 61 72 67 32 3d 6e 6f 0a 09 73 68 69 66 74 0a 0a 09 23 20 41 64 64 20 74 68 65 20 61 72 67 ;.arg2=no..shift...#.Add.the.arg
d160 75 6d 65 6e 74 20 71 75 6f 74 65 64 20 74 6f 20 61 72 67 73 0a 09 61 72 67 73 3d 22 24 7b 61 72 ument.quoted.to.args..args="${ar
d180 67 73 7d 20 5c 22 24 7b 6f 70 74 69 6f 6e 7d 5c 22 22 0a 0a 09 23 20 53 70 6c 69 74 20 6f 75 74 gs}.\"${option}\""...#.Split.out
d1a0 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20 66 6f 72 20 6f 70 74 69 6f 6e 73 20 74 68 61 74 20 74 .the.argument.for.options.that.t
d1c0 61 6b 65 20 74 68 65 6d 0a 09 63 61 73 65 20 24 7b 6f 70 74 69 6f 6e 7d 20 69 6e 0a 09 2a 3d 2a ake.them..case.${option}.in..*=*
d1e0 29 20 6f 70 74 61 72 67 3d 60 65 63 68 6f 20 24 7b 6f 70 74 69 6f 6e 7d 20 7c 20 73 65 64 20 2d ).optarg=`echo.${option}.|.sed.-
d200 65 20 27 73 2c 5e 5b 5e 3d 5d 2a 3d 2c 2c 3b 73 2c 2f 24 2c 2c 27 60 20 3b 3b 0a 09 65 73 61 63 e.'s,^[^=]*=,,;s,/$,,'`.;;..esac
d220 0a 0a 09 23 20 50 72 6f 63 65 73 73 20 74 68 65 20 6f 70 74 69 6f 6e 73 0a 09 63 61 73 65 20 24 ...#.Process.the.options..case.$
d240 7b 6f 70 74 69 6f 6e 7d 20 69 6e 0a 09 2d 2d 68 65 6c 70 20 7c 20 2d 68 29 0a 09 09 65 63 68 6f {option}.in..--help.|.-h)...echo
d260 20 22 55 73 61 67 65 3a 20 24 30 20 5b 4f 50 54 49 4f 4e 5d 2e 2e 2e 20 5b 56 41 52 3d 56 41 4c ."Usage:.$0.[OPTION]....[VAR=VAL
d280 55 45 5d 2e 2e 2e 22 0a 09 09 65 63 68 6f 0a 09 09 65 63 68 6f 20 22 54 6f 20 61 73 73 69 67 6e UE]..."...echo...echo."To.assign
d2a0 20 6d 61 6b 65 66 69 6c 65 20 76 61 72 69 61 62 6c 65 73 20 28 65 2e 67 2e 2c 20 43 58 58 2c 20 .makefile.variables.(e.g.,.CXX,.
d2c0 43 58 58 46 4c 41 47 53 2e 2e 2e 29 2c 20 73 70 65 63 69 66 79 20 74 68 65 6d 20 61 73 22 0a 09 CXXFLAGS...),.specify.them.as"..
d2e0 09 65 63 68 6f 20 22 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 63 6f 6e 66 69 67 75 72 65 20 69 6e .echo."arguments.to.configure.in
d300 20 74 68 65 20 66 6f 72 6d 20 56 41 52 3d 56 41 4c 55 45 2e 22 0a 09 09 65 63 68 6f 0a 09 09 65 .the.form.VAR=VALUE."...echo...e
d320 63 68 6f 20 22 4f 70 74 69 6f 6e 73 20 61 6e 64 20 76 61 72 69 61 62 6c 65 73 3a 20 5b 64 65 66 cho."Options.and.variables:.[def
d340 61 75 6c 74 73 20 69 6e 20 62 72 61 63 6b 65 74 73 5d 22 0a 09 09 65 63 68 6f 20 22 20 20 2d 68 aults.in.brackets]"...echo."..-h
d360 2c 20 2d 2d 68 65 6c 70 20 20 20 20 20 20 20 20 20 20 20 20 64 69 73 70 6c 61 79 20 74 68 69 73 ,.--help............display.this
d380 20 68 65 6c 70 20 61 6e 64 20 65 78 69 74 22 0a 09 09 65 63 68 6f 20 22 20 20 2d 56 2c 20 2d 2d .help.and.exit"...echo."..-V,.--
d3a0 76 65 72 73 69 6f 6e 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 20 76 65 72 73 69 6f 6e 20 69 version.........output.version.i
d3c0 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 6e 64 20 65 78 69 74 22 0a 09 09 65 63 68 6f 20 22 20 20 2d nformation.and.exit"...echo."..-
d3e0 2d 73 72 63 64 69 72 3d 44 49 52 20 20 20 20 20 20 20 20 20 20 66 69 6e 64 20 74 68 65 20 73 6f -srcdir=DIR..........find.the.so
d400 75 72 63 65 73 20 69 6e 20 44 49 52 20 5b 2e 20 6f 72 20 2e 2e 5d 22 0a 09 09 65 63 68 6f 20 22 urces.in.DIR.[..or...]"...echo."
d420 20 20 2d 2d 70 72 65 66 69 78 3d 44 49 52 20 20 20 20 20 20 20 20 20 20 69 6e 73 74 61 6c 6c 20 ..--prefix=DIR..........install.
d440 69 6e 74 6f 20 44 49 52 20 5b 24 7b 70 72 65 66 69 78 7d 5d 22 0a 09 09 65 63 68 6f 20 22 20 20 into.DIR.[${prefix}]"...echo."..
d460 2d 2d 65 78 65 63 2d 70 72 65 66 69 78 3d 44 49 52 20 20 20 20 20 62 61 73 65 20 64 69 72 65 63 --exec-prefix=DIR.....base.direc
d480 74 6f 72 79 20 66 6f 72 20 61 72 63 68 2d 64 65 70 65 6e 64 65 6e 74 20 66 69 6c 65 73 20 5b 24 tory.for.arch-dependent.files.[$
d4a0 7b 65 78 65 63 5f 70 72 65 66 69 78 7d 5d 22 0a 09 09 65 63 68 6f 20 22 20 20 2d 2d 62 69 6e 64 {exec_prefix}]"...echo."..--bind
d4c0 69 72 3d 44 49 52 20 20 20 20 20 20 20 20 20 20 75 73 65 72 20 65 78 65 63 75 74 61 62 6c 65 73 ir=DIR..........user.executables
d4e0 20 64 69 72 65 63 74 6f 72 79 20 5b 24 7b 62 69 6e 64 69 72 7d 5d 22 0a 09 09 65 63 68 6f 20 22 .directory.[${bindir}]"...echo."
d500 20 20 2d 2d 64 61 74 61 72 6f 6f 74 64 69 72 3d 44 49 52 20 20 20 20 20 62 61 73 65 20 64 69 72 ..--datarootdir=DIR.....base.dir
d520 65 63 74 6f 72 79 20 66 6f 72 20 64 6f 63 20 61 6e 64 20 64 61 74 61 20 5b 24 7b 64 61 74 61 72 ectory.for.doc.and.data.[${datar
d540 6f 6f 74 64 69 72 7d 5d 22 0a 09 09 65 63 68 6f 20 22 20 20 2d 2d 69 6e 66 6f 64 69 72 3d 44 49 ootdir}]"...echo."..--infodir=DI
d560 52 20 20 20 20 20 20 20 20 20 69 6e 66 6f 20 66 69 6c 65 73 20 64 69 72 65 63 74 6f 72 79 20 5b R.........info.files.directory.[
d580 24 7b 69 6e 66 6f 64 69 72 7d 5d 22 0a 09 09 65 63 68 6f 20 22 20 20 2d 2d 6d 61 6e 64 69 72 3d ${infodir}]"...echo."..--mandir=
d5a0 44 49 52 20 20 20 20 20 20 20 20 20 20 6d 61 6e 20 70 61 67 65 73 20 64 69 72 65 63 74 6f 72 79 DIR..........man.pages.directory
d5c0 20 5b 24 7b 6d 61 6e 64 69 72 7d 5d 22 0a 09 09 65 63 68 6f 20 22 20 20 43 58 58 3d 43 4f 4d 50 .[${mandir}]"...echo."..CXX=COMP
d5e0 49 4c 45 52 20 20 20 20 20 20 20 20 20 20 43 2b 2b 20 63 6f 6d 70 69 6c 65 72 20 74 6f 20 75 73 ILER..........C++.compiler.to.us
d600 65 20 5b 24 7b 43 58 58 7d 5d 22 0a 09 09 65 63 68 6f 20 22 20 20 43 50 50 46 4c 41 47 53 3d 4f e.[${CXX}]"...echo."..CPPFLAGS=O
d620 50 54 49 4f 4e 53 20 20 20 20 20 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 6f 70 74 69 6f 6e 73 PTIONS......command.line.options
d640 20 66 6f 72 20 74 68 65 20 70 72 65 70 72 6f 63 65 73 73 6f 72 20 5b 24 7b 43 50 50 46 4c 41 47 .for.the.preprocessor.[${CPPFLAG
d660 53 7d 5d 22 0a 09 09 65 63 68 6f 20 22 20 20 43 58 58 46 4c 41 47 53 3d 4f 50 54 49 4f 4e 53 20 S}]"...echo."..CXXFLAGS=OPTIONS.
d680 20 20 20 20 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 74 68 .....command.line.options.for.th
d6a0 65 20 43 2b 2b 20 63 6f 6d 70 69 6c 65 72 20 5b 24 7b 43 58 58 46 4c 41 47 53 7d 5d 22 0a 09 09 e.C++.compiler.[${CXXFLAGS}]"...
d6c0 65 63 68 6f 20 22 20 20 4c 44 46 4c 41 47 53 3d 4f 50 54 49 4f 4e 53 20 20 20 20 20 20 20 63 6f echo."..LDFLAGS=OPTIONS.......co
d6e0 6d 6d 61 6e 64 20 6c 69 6e 65 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 74 68 65 20 6c 69 6e 6b 65 mmand.line.options.for.the.linke
d700 72 20 5b 24 7b 4c 44 46 4c 41 47 53 7d 5d 22 0a 09 09 65 63 68 6f 0a 09 09 65 78 69 74 20 30 20 r.[${LDFLAGS}]"...echo...exit.0.
d720 3b 3b 0a 09 2d 2d 76 65 72 73 69 6f 6e 20 7c 20 2d 56 29 0a 09 09 65 63 68 6f 20 22 43 6f 6e 66 ;;..--version.|.-V)...echo."Conf
d740 69 67 75 72 65 20 73 63 72 69 70 74 20 66 6f 72 20 24 7b 70 6b 67 6e 61 6d 65 7d 20 76 65 72 73 igure.script.for.${pkgname}.vers
d760 69 6f 6e 20 24 7b 70 6b 67 76 65 72 73 69 6f 6e 7d 22 0a 09 09 65 78 69 74 20 30 20 3b 3b 0a 09 ion.${pkgversion}"...exit.0.;;..
d780 2d 2d 73 72 63 64 69 72 29 20 20 20 20 20 20 20 20 20 20 20 20 73 72 63 64 69 72 3d 24 31 20 3b --srcdir)............srcdir=$1.;
d7a0 20 61 72 67 32 3d 79 65 73 20 3b 3b 0a 09 2d 2d 70 72 65 66 69 78 29 20 20 20 20 20 20 20 20 20 .arg2=yes.;;..--prefix).........
d7c0 20 20 20 70 72 65 66 69 78 3d 24 31 20 3b 20 61 72 67 32 3d 79 65 73 20 3b 3b 0a 09 2d 2d 65 78 ...prefix=$1.;.arg2=yes.;;..--ex
d7e0 65 63 2d 70 72 65 66 69 78 29 20 20 65 78 65 63 5f 70 72 65 66 69 78 3d 24 31 20 3b 20 61 72 67 ec-prefix)..exec_prefix=$1.;.arg
d800 32 3d 79 65 73 20 3b 3b 0a 09 2d 2d 62 69 6e 64 69 72 29 20 20 20 20 20 20 20 20 20 20 20 20 62 2=yes.;;..--bindir)............b
d820 69 6e 64 69 72 3d 24 31 20 3b 20 61 72 67 32 3d 79 65 73 20 3b 3b 0a 09 2d 2d 64 61 74 61 72 6f indir=$1.;.arg2=yes.;;..--dataro
d840 6f 74 64 69 72 29 20 20 64 61 74 61 72 6f 6f 74 64 69 72 3d 24 31 20 3b 20 61 72 67 32 3d 79 65 otdir)..datarootdir=$1.;.arg2=ye
d860 73 20 3b 3b 0a 09 2d 2d 69 6e 66 6f 64 69 72 29 20 20 20 20 20 20 20 20 20 20 69 6e 66 6f 64 69 s.;;..--infodir)..........infodi
d880 72 3d 24 31 20 3b 20 61 72 67 32 3d 79 65 73 20 3b 3b 0a 09 2d 2d 6d 61 6e 64 69 72 29 20 20 20 r=$1.;.arg2=yes.;;..--mandir)...
d8a0 20 20 20 20 20 20 20 20 20 6d 61 6e 64 69 72 3d 24 31 20 3b 20 61 72 67 32 3d 79 65 73 20 3b 3b .........mandir=$1.;.arg2=yes.;;
d8c0 0a 0a 09 2d 2d 73 72 63 64 69 72 3d 2a 29 20 20 20 20 20 20 20 20 20 20 20 20 73 72 63 64 69 72 ...--srcdir=*)............srcdir
d8e0 3d 24 7b 6f 70 74 61 72 67 7d 20 3b 3b 0a 09 2d 2d 70 72 65 66 69 78 3d 2a 29 20 20 20 20 20 20 =${optarg}.;;..--prefix=*)......
d900 20 20 20 20 20 20 70 72 65 66 69 78 3d 24 7b 6f 70 74 61 72 67 7d 20 3b 3b 0a 09 2d 2d 65 78 65 ......prefix=${optarg}.;;..--exe
d920 63 2d 70 72 65 66 69 78 3d 2a 29 20 20 65 78 65 63 5f 70 72 65 66 69 78 3d 24 7b 6f 70 74 61 72 c-prefix=*)..exec_prefix=${optar
d940 67 7d 20 3b 3b 0a 09 2d 2d 62 69 6e 64 69 72 3d 2a 29 20 20 20 20 20 20 20 20 20 20 20 20 62 69 g}.;;..--bindir=*)............bi
d960 6e 64 69 72 3d 24 7b 6f 70 74 61 72 67 7d 20 3b 3b 0a 09 2d 2d 64 61 74 61 72 6f 6f 74 64 69 72 ndir=${optarg}.;;..--datarootdir
d980 3d 2a 29 20 20 64 61 74 61 72 6f 6f 74 64 69 72 3d 24 7b 6f 70 74 61 72 67 7d 20 3b 3b 0a 09 2d =*)..datarootdir=${optarg}.;;..-
d9a0 2d 69 6e 66 6f 64 69 72 3d 2a 29 20 20 20 20 20 20 20 20 20 20 69 6e 66 6f 64 69 72 3d 24 7b 6f -infodir=*)..........infodir=${o
d9c0 70 74 61 72 67 7d 20 3b 3b 0a 09 2d 2d 6d 61 6e 64 69 72 3d 2a 29 20 20 20 20 20 20 20 20 20 20 ptarg}.;;..--mandir=*)..........
d9e0 20 20 6d 61 6e 64 69 72 3d 24 7b 6f 70 74 61 72 67 7d 20 3b 3b 0a 09 2d 2d 6e 6f 2d 63 72 65 61 ..mandir=${optarg}.;;..--no-crea
da00 74 65 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 6f 5f 63 72 65 61 74 65 3d 79 65 73 20 3b te)..............no_create=yes.;
da20 3b 0a 0a 09 43 58 58 3d 2a 29 20 20 20 20 20 20 20 20 20 20 20 43 58 58 3d 24 7b 6f 70 74 61 72 ;...CXX=*)...........CXX=${optar
da40 67 7d 20 3b 3b 0a 09 43 50 50 46 4c 41 47 53 3d 2a 29 20 43 50 50 46 4c 41 47 53 3d 24 7b 6f 70 g}.;;..CPPFLAGS=*).CPPFLAGS=${op
da60 74 61 72 67 7d 20 3b 3b 0a 09 43 58 58 46 4c 41 47 53 3d 2a 29 20 43 58 58 46 4c 41 47 53 3d 24 targ}.;;..CXXFLAGS=*).CXXFLAGS=$
da80 7b 6f 70 74 61 72 67 7d 20 3b 3b 0a 09 4c 44 46 4c 41 47 53 3d 2a 29 20 20 20 4c 44 46 4c 41 47 {optarg}.;;..LDFLAGS=*)...LDFLAG
daa0 53 3d 24 7b 6f 70 74 61 72 67 7d 20 3b 3b 0a 0a 09 2d 2d 2a 29 0a 09 09 65 63 68 6f 20 22 63 6f S=${optarg}.;;...--*)...echo."co
dac0 6e 66 69 67 75 72 65 3a 20 57 41 52 4e 49 4e 47 3a 20 75 6e 72 65 63 6f 67 6e 69 7a 65 64 20 6f nfigure:.WARNING:.unrecognized.o
dae0 70 74 69 6f 6e 3a 20 27 24 7b 6f 70 74 69 6f 6e 7d 27 22 20 31 3e 26 32 20 3b 3b 0a 09 2a 3d 2a ption:.'${option}'".1>&2.;;..*=*
db00 20 7c 20 2a 2d 2a 2d 2a 29 20 3b 3b 0a 09 2a 29 0a 09 09 65 63 68 6f 20 22 63 6f 6e 66 69 67 75 .|.*-*-*).;;..*)...echo."configu
db20 72 65 3a 20 75 6e 72 65 63 6f 67 6e 69 7a 65 64 20 6f 70 74 69 6f 6e 3a 20 27 24 7b 6f 70 74 69 re:.unrecognized.option:.'${opti
db40 6f 6e 7d 27 22 20 31 3e 26 32 0a 09 09 65 63 68 6f 20 22 54 72 79 20 27 63 6f 6e 66 69 67 75 72 on}'".1>&2...echo."Try.'configur
db60 65 20 2d 2d 68 65 6c 70 27 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 22 e.--help'.for.more.information."
db80 20 31 3e 26 32 0a 09 09 65 78 69 74 20 31 20 3b 3b 0a 09 65 73 61 63 0a 0a 09 23 20 43 68 65 63 .1>&2...exit.1.;;..esac...#.Chec
dba0 6b 20 69 66 20 74 68 65 20 6f 70 74 69 6f 6e 20 74 6f 6f 6b 20 61 20 73 65 70 61 72 61 74 65 20 k.if.the.option.took.a.separate.
dbc0 61 72 67 75 6d 65 6e 74 0a 09 69 66 20 5b 20 22 24 7b 61 72 67 32 7d 22 20 3d 20 79 65 73 20 5d argument..if.[."${arg2}".=.yes.]
dbe0 20 3b 20 74 68 65 6e 0a 09 09 69 66 20 5b 20 24 23 20 21 3d 20 30 20 5d 20 3b 20 74 68 65 6e 20 .;.then...if.[.$#.!=.0.].;.then.
dc00 61 72 67 73 3d 22 24 7b 61 72 67 73 7d 20 5c 22 24 31 5c 22 22 20 3b 20 73 68 69 66 74 0a 09 09 args="${args}.\"$1\"".;.shift...
dc20 65 6c 73 65 20 65 63 68 6f 20 22 63 6f 6e 66 69 67 75 72 65 3a 20 4d 69 73 73 69 6e 67 20 61 72 else.echo."configure:.Missing.ar
dc40 67 75 6d 65 6e 74 20 74 6f 20 27 24 7b 6f 70 74 69 6f 6e 7d 27 22 20 31 3e 26 32 0a 09 09 09 65 gument.to.'${option}'".1>&2....e
dc60 78 69 74 20 31 0a 09 09 66 69 0a 09 66 69 0a 64 6f 6e 65 0a 0a 23 20 46 69 6e 64 20 74 68 65 20 xit.1...fi..fi.done..#.Find.the.
dc80 73 6f 75 72 63 65 20 66 69 6c 65 73 2c 20 69 66 20 6c 6f 63 61 74 69 6f 6e 20 77 61 73 20 6e 6f source.files,.if.location.was.no
dca0 74 20 73 70 65 63 69 66 69 65 64 2e 0a 73 72 63 64 69 72 74 65 78 74 3d 0a 69 66 20 5b 20 2d 7a t.specified..srcdirtext=.if.[.-z
dcc0 20 22 24 7b 73 72 63 64 69 72 7d 22 20 5d 20 3b 20 74 68 65 6e 0a 09 73 72 63 64 69 72 74 65 78 ."${srcdir}".].;.then..srcdirtex
dce0 74 3d 22 6f 72 20 2e 20 6f 72 20 2e 2e 22 20 3b 20 73 72 63 64 69 72 3d 2e 0a 09 69 66 20 5b 20 t="or...or...".;.srcdir=...if.[.
dd00 21 20 2d 72 20 22 24 7b 73 72 63 64 69 72 7d 2f 24 7b 73 72 63 74 72 69 67 67 65 72 7d 22 20 5d !.-r."${srcdir}/${srctrigger}".]
dd20 20 3b 20 74 68 65 6e 20 73 72 63 64 69 72 3d 2e 2e 20 3b 20 66 69 0a 09 69 66 20 5b 20 21 20 2d .;.then.srcdir=...;.fi..if.[.!.-
dd40 72 20 22 24 7b 73 72 63 64 69 72 7d 2f 24 7b 73 72 63 74 72 69 67 67 65 72 7d 22 20 5d 20 3b 20 r."${srcdir}/${srctrigger}".].;.
dd60 74 68 65 6e 0a 09 09 23 23 20 74 68 65 20 73 65 64 20 63 6f 6d 6d 61 6e 64 20 62 65 6c 6f 77 20 then...##.the.sed.command.below.
dd80 65 6d 75 6c 61 74 65 73 20 74 68 65 20 64 69 72 6e 61 6d 65 20 63 6f 6d 6d 61 6e 64 0a 09 09 73 emulates.the.dirname.command...s
dda0 72 63 64 69 72 3d 60 65 63 68 6f 20 24 30 20 7c 20 73 65 64 20 2d 65 20 27 73 2c 5b 5e 2f 5d 2a rcdir=`echo.$0.|.sed.-e.'s,[^/]*
ddc0 24 2c 2c 3b 73 2c 2f 24 2c 2c 3b 73 2c 5e 24 2c 2e 2c 27 60 0a 09 66 69 0a 66 69 0a 0a 69 66 20 $,,;s,/$,,;s,^$,.,'`..fi.fi..if.
dde0 5b 20 21 20 2d 72 20 22 24 7b 73 72 63 64 69 72 7d 2f 24 7b 73 72 63 74 72 69 67 67 65 72 7d 22 [.!.-r."${srcdir}/${srctrigger}"
de00 20 5d 20 3b 20 74 68 65 6e 0a 09 65 63 68 6f 20 22 63 6f 6e 66 69 67 75 72 65 3a 20 43 61 6e 27 .].;.then..echo."configure:.Can'
de20 74 20 66 69 6e 64 20 73 6f 75 72 63 65 73 20 69 6e 20 24 7b 73 72 63 64 69 72 7d 20 24 7b 73 72 t.find.sources.in.${srcdir}.${sr
de40 63 64 69 72 74 65 78 74 7d 22 20 31 3e 26 32 0a 09 65 63 68 6f 20 22 63 6f 6e 66 69 67 75 72 65 cdirtext}".1>&2..echo."configure
de60 3a 20 28 41 74 20 6c 65 61 73 74 20 24 7b 73 72 63 74 72 69 67 67 65 72 7d 20 69 73 20 6d 69 73 :.(At.least.${srctrigger}.is.mis
de80 73 69 6e 67 29 2e 22 20 31 3e 26 32 0a 09 65 78 69 74 20 31 0a 66 69 0a 0a 23 20 53 65 74 20 73 sing).".1>&2..exit.1.fi..#.Set.s
dea0 72 63 64 69 72 20 74 6f 20 2e 20 69 66 20 74 68 61 74 27 73 20 77 68 61 74 20 69 74 20 69 73 2e rcdir.to...if.that's.what.it.is.
dec0 0a 69 66 20 5b 20 22 60 70 77 64 60 22 20 3d 20 22 60 63 64 20 22 24 7b 73 72 63 64 69 72 7d 22 .if.[."`pwd`".=."`cd."${srcdir}"
dee0 20 3b 20 70 77 64 60 22 20 5d 20 3b 20 74 68 65 6e 20 73 72 63 64 69 72 3d 2e 20 3b 20 66 69 0a .;.pwd`".].;.then.srcdir=..;.fi.
df00 0a 65 63 68 6f 0a 69 66 20 5b 20 2d 7a 20 22 24 7b 6e 6f 5f 63 72 65 61 74 65 7d 22 20 5d 20 3b .echo.if.[.-z."${no_create}".].;
df20 20 74 68 65 6e 0a 09 65 63 68 6f 20 22 63 72 65 61 74 69 6e 67 20 63 6f 6e 66 69 67 2e 73 74 61 .then..echo."creating.config.sta
df40 74 75 73 22 0a 09 72 6d 20 2d 66 20 63 6f 6e 66 69 67 2e 73 74 61 74 75 73 0a 09 63 61 74 20 3e tus"..rm.-f.config.status..cat.>
df60 20 63 6f 6e 66 69 67 2e 73 74 61 74 75 73 20 3c 3c 20 45 4f 46 0a 23 21 20 2f 62 69 6e 2f 73 68 .config.status.<<.EOF.#!./bin/sh
df80 0a 23 20 54 68 69 73 20 66 69 6c 65 20 77 61 73 20 67 65 6e 65 72 61 74 65 64 20 61 75 74 6f 6d .#.This.file.was.generated.autom
dfa0 61 74 69 63 61 6c 6c 79 20 62 79 20 63 6f 6e 66 69 67 75 72 65 2e 20 44 6f 6e 27 74 20 65 64 69 atically.by.configure..Don't.edi
dfc0 74 2e 0a 23 20 52 75 6e 20 74 68 69 73 20 66 69 6c 65 20 74 6f 20 72 65 63 72 65 61 74 65 20 74 t..#.Run.this.file.to.recreate.t
dfe0 68 65 20 63 75 72 72 65 6e 74 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e 0a 23 0a 23 20 54 68 he.current.configuration..#.#.Th
e000 69 73 20 73 63 72 69 70 74 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 is.script.is.free.software:.you.
e020 68 61 76 65 20 75 6e 6c 69 6d 69 74 65 64 20 70 65 72 6d 69 73 73 69 6f 6e 0a 23 20 74 6f 20 63 have.unlimited.permission.#.to.c
e040 6f 70 79 2c 20 64 69 73 74 72 69 62 75 74 65 20 61 6e 64 20 6d 6f 64 69 66 79 20 69 74 2e 0a 0a opy,.distribute.and.modify.it...
e060 65 78 65 63 20 2f 62 69 6e 2f 73 68 20 24 30 20 24 7b 61 72 67 73 7d 20 2d 2d 6e 6f 2d 63 72 65 exec./bin/sh.$0.${args}.--no-cre
e080 61 74 65 0a 45 4f 46 0a 09 63 68 6d 6f 64 20 2b 78 20 63 6f 6e 66 69 67 2e 73 74 61 74 75 73 0a ate.EOF..chmod.+x.config.status.
e0a0 66 69 0a 0a 65 63 68 6f 20 22 63 72 65 61 74 69 6e 67 20 4d 61 6b 65 66 69 6c 65 22 0a 65 63 68 fi..echo."creating.Makefile".ech
e0c0 6f 20 22 56 50 41 54 48 20 3d 20 24 7b 73 72 63 64 69 72 7d 22 0a 65 63 68 6f 20 22 70 72 65 66 o."VPATH.=.${srcdir}".echo."pref
e0e0 69 78 20 3d 20 24 7b 70 72 65 66 69 78 7d 22 0a 65 63 68 6f 20 22 65 78 65 63 5f 70 72 65 66 69 ix.=.${prefix}".echo."exec_prefi
e100 78 20 3d 20 24 7b 65 78 65 63 5f 70 72 65 66 69 78 7d 22 0a 65 63 68 6f 20 22 62 69 6e 64 69 72 x.=.${exec_prefix}".echo."bindir
e120 20 3d 20 24 7b 62 69 6e 64 69 72 7d 22 0a 65 63 68 6f 20 22 64 61 74 61 72 6f 6f 74 64 69 72 20 .=.${bindir}".echo."datarootdir.
e140 3d 20 24 7b 64 61 74 61 72 6f 6f 74 64 69 72 7d 22 0a 65 63 68 6f 20 22 69 6e 66 6f 64 69 72 20 =.${datarootdir}".echo."infodir.
e160 3d 20 24 7b 69 6e 66 6f 64 69 72 7d 22 0a 65 63 68 6f 20 22 6d 61 6e 64 69 72 20 3d 20 24 7b 6d =.${infodir}".echo."mandir.=.${m
e180 61 6e 64 69 72 7d 22 0a 65 63 68 6f 20 22 43 58 58 20 3d 20 24 7b 43 58 58 7d 22 0a 65 63 68 6f andir}".echo."CXX.=.${CXX}".echo
e1a0 20 22 43 50 50 46 4c 41 47 53 20 3d 20 24 7b 43 50 50 46 4c 41 47 53 7d 22 0a 65 63 68 6f 20 22 ."CPPFLAGS.=.${CPPFLAGS}".echo."
e1c0 43 58 58 46 4c 41 47 53 20 3d 20 24 7b 43 58 58 46 4c 41 47 53 7d 22 0a 65 63 68 6f 20 22 4c 44 CXXFLAGS.=.${CXXFLAGS}".echo."LD
e1e0 46 4c 41 47 53 20 3d 20 24 7b 4c 44 46 4c 41 47 53 7d 22 0a 72 6d 20 2d 66 20 4d 61 6b 65 66 69 FLAGS.=.${LDFLAGS}".rm.-f.Makefi
e200 6c 65 0a 63 61 74 20 3e 20 4d 61 6b 65 66 69 6c 65 20 3c 3c 20 45 4f 46 0a 23 20 4d 61 6b 65 66 le.cat.>.Makefile.<<.EOF.#.Makef
e220 69 6c 65 20 66 6f 72 20 4c 7a 69 70 20 2d 20 4c 5a 4d 41 20 6c 6f 73 73 6c 65 73 73 20 64 61 74 ile.for.Lzip.-.LZMA.lossless.dat
e240 61 20 63 6f 6d 70 72 65 73 73 6f 72 0a 23 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 a.compressor.#.Copyright.(C).200
e260 38 2d 32 30 31 38 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 23 20 54 68 69 73 8-2018.Antonio.Diaz.Diaz..#.This
e280 20 66 69 6c 65 20 77 61 73 20 67 65 6e 65 72 61 74 65 64 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c .file.was.generated.automaticall
e2a0 79 20 62 79 20 63 6f 6e 66 69 67 75 72 65 2e 20 44 6f 6e 27 74 20 65 64 69 74 2e 0a 23 0a 23 20 y.by.configure..Don't.edit..#.#.
e2c0 54 68 69 73 20 4d 61 6b 65 66 69 6c 65 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 This.Makefile.is.free.software:.
e2e0 79 6f 75 20 68 61 76 65 20 75 6e 6c 69 6d 69 74 65 64 20 70 65 72 6d 69 73 73 69 6f 6e 0a 23 20 you.have.unlimited.permission.#.
e300 74 6f 20 63 6f 70 79 2c 20 64 69 73 74 72 69 62 75 74 65 20 61 6e 64 20 6d 6f 64 69 66 79 20 69 to.copy,.distribute.and.modify.i
e320 74 2e 0a 0a 70 6b 67 6e 61 6d 65 20 3d 20 24 7b 70 6b 67 6e 61 6d 65 7d 0a 70 6b 67 76 65 72 73 t...pkgname.=.${pkgname}.pkgvers
e340 69 6f 6e 20 3d 20 24 7b 70 6b 67 76 65 72 73 69 6f 6e 7d 0a 70 72 6f 67 6e 61 6d 65 20 3d 20 24 ion.=.${pkgversion}.progname.=.$
e360 7b 70 72 6f 67 6e 61 6d 65 7d 0a 56 50 41 54 48 20 3d 20 24 7b 73 72 63 64 69 72 7d 0a 70 72 65 {progname}.VPATH.=.${srcdir}.pre
e380 66 69 78 20 3d 20 24 7b 70 72 65 66 69 78 7d 0a 65 78 65 63 5f 70 72 65 66 69 78 20 3d 20 24 7b fix.=.${prefix}.exec_prefix.=.${
e3a0 65 78 65 63 5f 70 72 65 66 69 78 7d 0a 62 69 6e 64 69 72 20 3d 20 24 7b 62 69 6e 64 69 72 7d 0a exec_prefix}.bindir.=.${bindir}.
e3c0 64 61 74 61 72 6f 6f 74 64 69 72 20 3d 20 24 7b 64 61 74 61 72 6f 6f 74 64 69 72 7d 0a 69 6e 66 datarootdir.=.${datarootdir}.inf
e3e0 6f 64 69 72 20 3d 20 24 7b 69 6e 66 6f 64 69 72 7d 0a 6d 61 6e 64 69 72 20 3d 20 24 7b 6d 61 6e odir.=.${infodir}.mandir.=.${man
e400 64 69 72 7d 0a 43 58 58 20 3d 20 24 7b 43 58 58 7d 0a 43 50 50 46 4c 41 47 53 20 3d 20 24 7b 43 dir}.CXX.=.${CXX}.CPPFLAGS.=.${C
e420 50 50 46 4c 41 47 53 7d 0a 43 58 58 46 4c 41 47 53 20 3d 20 24 7b 43 58 58 46 4c 41 47 53 7d 0a PPFLAGS}.CXXFLAGS.=.${CXXFLAGS}.
e440 4c 44 46 4c 41 47 53 20 3d 20 24 7b 4c 44 46 4c 41 47 53 7d 0a 45 4f 46 0a 63 61 74 20 22 24 7b LDFLAGS.=.${LDFLAGS}.EOF.cat."${
e460 73 72 63 64 69 72 7d 2f 4d 61 6b 65 66 69 6c 65 2e 69 6e 22 20 3e 3e 20 4d 61 6b 65 66 69 6c 65 srcdir}/Makefile.in".>>.Makefile
e480 0a 0a 65 63 68 6f 20 22 4f 4b 2e 20 4e 6f 77 20 79 6f 75 20 63 61 6e 20 72 75 6e 20 6d 61 6b 65 ..echo."OK..Now.you.can.run.make
e4a0 2e 22 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ."..............................
e4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e600 6c 7a 69 70 2d 31 2e 32 30 2f 66 69 6c 65 5f 69 6e 64 65 78 2e 68 00 00 00 00 00 00 00 00 00 00 lzip-1.20/file_index.h..........
e620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
e680 30 30 30 35 34 30 30 00 31 33 36 36 34 37 33 36 35 34 35 00 30 31 35 30 34 33 00 20 30 00 00 00 0005400.13664736545.015043..0...
e6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e700 00 75 73 74 61 72 20 20 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...mohammad...............
e720 00 00 00 00 00 00 00 00 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........mohammad...............
e740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e800 2f 2a 20 20 4c 7a 69 70 20 2d 20 4c 5a 4d 41 20 6c 6f 73 73 6c 65 73 73 20 64 61 74 61 20 63 6f /*..Lzip.-.LZMA.lossless.data.co
e820 6d 70 72 65 73 73 6f 72 0a 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d mpressor.....Copyright.(C).2008-
e840 32 30 31 38 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 20 54 68 69 2018.Antonio.Diaz.Diaz.......Thi
e860 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 s.program.is.free.software:.you.
e880 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 can.redistribute.it.and/or.modif
e8a0 79 0a 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 y.....it.under.the.terms.of.the.
e8c0 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 GNU.General.Public.License.as.pu
e8e0 62 6c 69 73 68 65 64 20 62 79 0a 20 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 blished.by.....the.Free.Software
e900 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 .Foundation,.either.version.2.of
e920 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 .the.License,.or.....(at.your.op
e940 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 20 54 68 tion).any.later.version.......Th
e960 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 is.program.is.distributed.in.the
e980 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 20 .hope.that.it.will.be.useful,...
e9a0 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 ..but.WITHOUT.ANY.WARRANTY;.with
e9c0 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 out.even.the.implied.warranty.of
e9e0 0a 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 .....MERCHANTABILITY.or.FITNESS.
ea00 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 FOR.A.PARTICULAR.PURPOSE...See.t
ea20 68 65 0a 20 20 20 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 he.....GNU.General.Public.Licens
ea40 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 20 59 6f 75 20 73 68 6f e.for.more.details.......You.sho
ea60 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 uld.have.received.a.copy.of.the.
ea80 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 20 61 GNU.General.Public.License.....a
eaa0 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c long.with.this.program...If.not,
eac0 20 73 65 65 20 3c 68 74 74 70 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 .see.<http://www.gnu.org/license
eae0 73 2f 3e 2e 0a 2a 2f 0a 0a 23 69 66 6e 64 65 66 20 49 4e 54 36 34 5f 4d 41 58 0a 23 64 65 66 69 s/>..*/..#ifndef.INT64_MAX.#defi
eb00 6e 65 20 49 4e 54 36 34 5f 4d 41 58 20 20 30 78 37 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 ne.INT64_MAX..0x7FFFFFFFFFFFFFFF
eb20 4c 4c 0a 23 65 6e 64 69 66 0a 0a 0a 63 6c 61 73 73 20 42 6c 6f 63 6b 0a 20 20 7b 0a 20 20 6c 6f LL.#endif...class.Block...{...lo
eb40 6e 67 20 6c 6f 6e 67 20 70 6f 73 5f 2c 20 73 69 7a 65 5f 3b 09 09 2f 2f 20 70 6f 73 20 2b 20 73 ng.long.pos_,.size_;..//.pos.+.s
eb60 69 7a 65 20 3c 3d 20 49 4e 54 36 34 5f 4d 41 58 0a 0a 70 75 62 6c 69 63 3a 0a 20 20 42 6c 6f 63 ize.<=.INT64_MAX..public:...Bloc
eb80 6b 28 20 63 6f 6e 73 74 20 6c 6f 6e 67 20 6c 6f 6e 67 20 70 2c 20 63 6f 6e 73 74 20 6c 6f 6e 67 k(.const.long.long.p,.const.long
eba0 20 6c 6f 6e 67 20 73 20 29 20 3a 20 70 6f 73 5f 28 20 70 20 29 2c 20 73 69 7a 65 5f 28 20 73 20 .long.s.).:.pos_(.p.),.size_(.s.
ebc0 29 20 7b 7d 0a 0a 20 20 6c 6f 6e 67 20 6c 6f 6e 67 20 70 6f 73 28 29 20 63 6f 6e 73 74 20 7b 20 ).{}....long.long.pos().const.{.
ebe0 72 65 74 75 72 6e 20 70 6f 73 5f 3b 20 7d 0a 20 20 6c 6f 6e 67 20 6c 6f 6e 67 20 73 69 7a 65 28 return.pos_;.}...long.long.size(
ec00 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 73 69 7a 65 5f 3b 20 7d 0a 20 20 6c 6f 6e 67 ).const.{.return.size_;.}...long
ec20 20 6c 6f 6e 67 20 65 6e 64 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 70 6f 73 5f 20 .long.end().const.{.return.pos_.
ec40 2b 20 73 69 7a 65 5f 3b 20 7d 0a 0a 20 20 76 6f 69 64 20 70 6f 73 28 20 63 6f 6e 73 74 20 6c 6f +.size_;.}....void.pos(.const.lo
ec60 6e 67 20 6c 6f 6e 67 20 70 20 29 20 7b 20 70 6f 73 5f 20 3d 20 70 3b 20 7d 0a 20 20 76 6f 69 64 ng.long.p.).{.pos_.=.p;.}...void
ec80 20 73 69 7a 65 28 20 63 6f 6e 73 74 20 6c 6f 6e 67 20 6c 6f 6e 67 20 73 20 29 20 7b 20 73 69 7a .size(.const.long.long.s.).{.siz
eca0 65 5f 20 3d 20 73 3b 20 7d 0a 20 20 7d 3b 0a 0a 0a 63 6c 61 73 73 20 46 69 6c 65 5f 69 6e 64 65 e_.=.s;.}...};...class.File_inde
ecc0 78 0a 20 20 7b 0a 20 20 73 74 72 75 63 74 20 4d 65 6d 62 65 72 0a 20 20 20 20 7b 0a 20 20 20 20 x...{...struct.Member.....{.....
ece0 42 6c 6f 63 6b 20 64 62 6c 6f 63 6b 2c 20 6d 62 6c 6f 63 6b 3b 09 09 2f 2f 20 64 61 74 61 20 62 Block.dblock,.mblock;..//.data.b
ed00 6c 6f 63 6b 2c 20 6d 65 6d 62 65 72 20 62 6c 6f 63 6b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 lock,.member.block.....unsigned.
ed20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 3b 0a 0a 20 20 20 20 4d 65 6d 62 65 72 28 20 63 6f dictionary_size;......Member(.co
ed40 6e 73 74 20 6c 6f 6e 67 20 6c 6f 6e 67 20 64 70 2c 20 63 6f 6e 73 74 20 6c 6f 6e 67 20 6c 6f 6e nst.long.long.dp,.const.long.lon
ed60 67 20 64 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 6c 6f 6e 67 20 6c 6f 6e g.ds,.............const.long.lon
ed80 67 20 6d 70 2c 20 63 6f 6e 73 74 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6d 73 2c 20 63 6f 6e 73 74 20 g.mp,.const.long.long.ms,.const.
eda0 75 6e 73 69 67 6e 65 64 20 64 69 63 74 5f 73 69 7a 65 20 29 0a 20 20 20 20 20 20 3a 20 64 62 6c unsigned.dict_size.).......:.dbl
edc0 6f 63 6b 28 20 64 70 2c 20 64 73 20 29 2c 20 6d 62 6c 6f 63 6b 28 20 6d 70 2c 20 6d 73 20 29 2c ock(.dp,.ds.),.mblock(.mp,.ms.),
ede0 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 28 20 64 69 63 74 5f 73 69 7a 65 20 29 20 7b 7d .dictionary_size(.dict_size.).{}
ee00 0a 20 20 20 20 7d 3b 0a 0a 20 20 73 74 64 3a 3a 76 65 63 74 6f 72 3c 20 4d 65 6d 62 65 72 20 3e .....};....std::vector<.Member.>
ee20 20 6d 65 6d 62 65 72 5f 76 65 63 74 6f 72 3b 0a 20 20 73 74 64 3a 3a 73 74 72 69 6e 67 20 65 72 .member_vector;...std::string.er
ee40 72 6f 72 5f 3b 0a 20 20 63 6f 6e 73 74 20 6c 6f 6e 67 20 6c 6f 6e 67 20 69 73 69 7a 65 3b 0a 20 ror_;...const.long.long.isize;..
ee60 20 69 6e 74 20 72 65 74 76 61 6c 5f 3b 0a 0a 20 20 76 6f 69 64 20 73 65 74 5f 65 72 72 6e 6f 5f .int.retval_;....void.set_errno_
ee80 65 72 72 6f 72 28 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 6d 73 67 20 29 3b error(.const.char.*.const.msg.);
eea0 0a 20 20 76 6f 69 64 20 73 65 74 5f 6e 75 6d 5f 65 72 72 6f 72 28 20 63 6f 6e 73 74 20 63 68 61 ...void.set_num_error(.const.cha
eec0 72 20 2a 20 63 6f 6e 73 74 20 6d 73 67 2c 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e r.*.const.msg,.unsigned.long.lon
eee0 67 20 6e 75 6d 20 29 3b 0a 20 20 62 6f 6f 6c 20 73 6b 69 70 5f 74 72 61 69 6c 69 6e 67 5f 64 61 g.num.);...bool.skip_trailing_da
ef00 74 61 28 20 63 6f 6e 73 74 20 69 6e 74 20 66 64 2c 20 6c 6f 6e 67 20 6c 6f 6e 67 20 26 20 70 6f ta(.const.int.fd,.long.long.&.po
ef20 73 2c 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 69 67 6e 6f 72 65 5f 74 72 s,..........const.bool.ignore_tr
ef40 61 69 6c 69 6e 67 2c 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 6c 6f 6f 73 65 5f 74 72 61 69 6c 69 6e ailing,.const.bool.loose_trailin
ef60 67 20 29 3b 0a 0a 70 75 62 6c 69 63 3a 0a 20 20 46 69 6c 65 5f 69 6e 64 65 78 28 20 63 6f 6e 73 g.);..public:...File_index(.cons
ef80 74 20 69 6e 74 20 69 6e 66 64 2c 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 69 67 6e 6f 72 65 5f 74 72 t.int.infd,.const.bool.ignore_tr
efa0 61 69 6c 69 6e 67 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 62 6f 6f 6c ailing,...............const.bool
efc0 20 6c 6f 6f 73 65 5f 74 72 61 69 6c 69 6e 67 20 29 3b 0a 0a 20 20 6c 6f 6e 67 20 6d 65 6d 62 65 .loose_trailing.);....long.membe
efe0 72 73 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 6d 65 6d 62 65 72 5f 76 65 63 74 6f rs().const.{.return.member_vecto
f000 72 2e 73 69 7a 65 28 29 3b 20 7d 0a 20 20 63 6f 6e 73 74 20 73 74 64 3a 3a 73 74 72 69 6e 67 20 r.size();.}...const.std::string.
f020 26 20 65 72 72 6f 72 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 65 72 72 6f 72 5f 3b &.error().const.{.return.error_;
f040 20 7d 0a 20 20 69 6e 74 20 72 65 74 76 61 6c 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e .}...int.retval().const.{.return
f060 20 72 65 74 76 61 6c 5f 3b 20 7d 0a 0a 20 20 6c 6f 6e 67 20 6c 6f 6e 67 20 75 64 61 74 61 5f 73 .retval_;.}....long.long.udata_s
f080 69 7a 65 28 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 20 69 66 28 20 6d 65 6d 62 65 72 5f 76 65 63 ize().const.....{.if(.member_vec
f0a0 74 6f 72 2e 65 6d 70 74 79 28 29 20 29 20 72 65 74 75 72 6e 20 30 3b 0a 20 20 20 20 20 20 72 65 tor.empty().).return.0;.......re
f0c0 74 75 72 6e 20 6d 65 6d 62 65 72 5f 76 65 63 74 6f 72 2e 62 61 63 6b 28 29 2e 64 62 6c 6f 63 6b turn.member_vector.back().dblock
f0e0 2e 65 6e 64 28 29 3b 20 7d 0a 0a 20 20 6c 6f 6e 67 20 6c 6f 6e 67 20 63 64 61 74 61 5f 73 69 7a .end();.}....long.long.cdata_siz
f100 65 28 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 20 69 66 28 20 6d 65 6d 62 65 72 5f 76 65 63 74 6f e().const.....{.if(.member_vecto
f120 72 2e 65 6d 70 74 79 28 29 20 29 20 72 65 74 75 72 6e 20 30 3b 0a 20 20 20 20 20 20 72 65 74 75 r.empty().).return.0;.......retu
f140 72 6e 20 6d 65 6d 62 65 72 5f 76 65 63 74 6f 72 2e 62 61 63 6b 28 29 2e 6d 62 6c 6f 63 6b 2e 65 rn.member_vector.back().mblock.e
f160 6e 64 28 29 3b 20 7d 0a 0a 20 20 2f 2f 20 74 6f 74 61 6c 20 73 69 7a 65 20 69 6e 63 6c 75 64 69 nd();.}....//.total.size.includi
f180 6e 67 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 20 28 69 66 20 61 6e 79 29 0a 20 20 6c 6f 6e 67 ng.trailing.data.(if.any)...long
f1a0 20 6c 6f 6e 67 20 66 69 6c 65 5f 73 69 7a 65 28 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 20 69 66 .long.file_size().const.....{.if
f1c0 28 20 69 73 69 7a 65 20 3e 3d 20 30 20 29 20 72 65 74 75 72 6e 20 69 73 69 7a 65 3b 20 65 6c 73 (.isize.>=.0.).return.isize;.els
f1e0 65 20 72 65 74 75 72 6e 20 30 3b 20 7d 0a 0a 20 20 63 6f 6e 73 74 20 42 6c 6f 63 6b 20 26 20 64 e.return.0;.}....const.Block.&.d
f200 62 6c 6f 63 6b 28 20 63 6f 6e 73 74 20 6c 6f 6e 67 20 69 20 29 20 63 6f 6e 73 74 0a 20 20 20 20 block(.const.long.i.).const.....
f220 7b 20 72 65 74 75 72 6e 20 6d 65 6d 62 65 72 5f 76 65 63 74 6f 72 5b 69 5d 2e 64 62 6c 6f 63 6b {.return.member_vector[i].dblock
f240 3b 20 7d 0a 20 20 63 6f 6e 73 74 20 42 6c 6f 63 6b 20 26 20 6d 62 6c 6f 63 6b 28 20 63 6f 6e 73 ;.}...const.Block.&.mblock(.cons
f260 74 20 6c 6f 6e 67 20 69 20 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 20 72 65 74 75 72 6e 20 6d 65 t.long.i.).const.....{.return.me
f280 6d 62 65 72 5f 76 65 63 74 6f 72 5b 69 5d 2e 6d 62 6c 6f 63 6b 3b 20 7d 0a 20 20 75 6e 73 69 67 mber_vector[i].mblock;.}...unsig
f2a0 6e 65 64 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 28 20 63 6f 6e 73 74 20 6c 6f 6e 67 20 ned.dictionary_size(.const.long.
f2c0 69 20 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 20 72 65 74 75 72 6e 20 6d 65 6d 62 65 72 5f 76 65 i.).const.....{.return.member_ve
f2e0 63 74 6f 72 5b 69 5d 2e 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 3b 20 7d 0a 20 20 7d 3b 0a ctor[i].dictionary_size;.}...};.
f300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f400 6c 7a 69 70 2d 31 2e 32 30 2f 6d 61 69 6e 2e 63 63 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 lzip-1.20/main.cc...............
f420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
f480 30 31 30 32 37 31 37 00 31 33 36 36 34 37 33 36 35 34 35 00 30 31 34 30 33 30 00 20 30 00 00 00 0102717.13664736545.014030..0...
f4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f500 00 75 73 74 61 72 20 20 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...mohammad...............
f520 00 00 00 00 00 00 00 00 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........mohammad...............
f540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f600 2f 2a 20 20 4c 7a 69 70 20 2d 20 4c 5a 4d 41 20 6c 6f 73 73 6c 65 73 73 20 64 61 74 61 20 63 6f /*..Lzip.-.LZMA.lossless.data.co
f620 6d 70 72 65 73 73 6f 72 0a 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d mpressor.....Copyright.(C).2008-
f640 32 30 31 38 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 20 54 68 69 2018.Antonio.Diaz.Diaz.......Thi
f660 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 s.program.is.free.software:.you.
f680 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 can.redistribute.it.and/or.modif
f6a0 79 0a 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 y.....it.under.the.terms.of.the.
f6c0 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 GNU.General.Public.License.as.pu
f6e0 62 6c 69 73 68 65 64 20 62 79 0a 20 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 blished.by.....the.Free.Software
f700 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 .Foundation,.either.version.2.of
f720 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 .the.License,.or.....(at.your.op
f740 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 20 54 68 tion).any.later.version.......Th
f760 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 is.program.is.distributed.in.the
f780 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 20 .hope.that.it.will.be.useful,...
f7a0 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 ..but.WITHOUT.ANY.WARRANTY;.with
f7c0 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 out.even.the.implied.warranty.of
f7e0 0a 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 .....MERCHANTABILITY.or.FITNESS.
f800 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 FOR.A.PARTICULAR.PURPOSE...See.t
f820 68 65 0a 20 20 20 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 he.....GNU.General.Public.Licens
f840 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 20 59 6f 75 20 73 68 6f e.for.more.details.......You.sho
f860 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 uld.have.received.a.copy.of.the.
f880 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 20 61 GNU.General.Public.License.....a
f8a0 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c long.with.this.program...If.not,
f8c0 20 73 65 65 20 3c 68 74 74 70 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 .see.<http://www.gnu.org/license
f8e0 73 2f 3e 2e 0a 2a 2f 0a 2f 2a 0a 20 20 20 20 45 78 69 74 20 73 74 61 74 75 73 3a 20 30 20 66 6f s/>..*/./*.....Exit.status:.0.fo
f900 72 20 61 20 6e 6f 72 6d 61 6c 20 65 78 69 74 2c 20 31 20 66 6f 72 20 65 6e 76 69 72 6f 6e 6d 65 r.a.normal.exit,.1.for.environme
f920 6e 74 61 6c 20 70 72 6f 62 6c 65 6d 73 0a 20 20 20 20 28 66 69 6c 65 20 6e 6f 74 20 66 6f 75 6e ntal.problems.....(file.not.foun
f940 64 2c 20 69 6e 76 61 6c 69 64 20 66 6c 61 67 73 2c 20 49 2f 4f 20 65 72 72 6f 72 73 2c 20 65 74 d,.invalid.flags,.I/O.errors,.et
f960 63 29 2c 20 32 20 74 6f 20 69 6e 64 69 63 61 74 65 20 61 0a 20 20 20 20 63 6f 72 72 75 70 74 20 c),.2.to.indicate.a.....corrupt.
f980 6f 72 20 69 6e 76 61 6c 69 64 20 69 6e 70 75 74 20 66 69 6c 65 2c 20 33 20 66 6f 72 20 61 6e 20 or.invalid.input.file,.3.for.an.
f9a0 69 6e 74 65 72 6e 61 6c 20 63 6f 6e 73 69 73 74 65 6e 63 79 20 65 72 72 6f 72 0a 20 20 20 20 28 internal.consistency.error.....(
f9c0 65 67 2c 20 62 75 67 29 20 77 68 69 63 68 20 63 61 75 73 65 64 20 6c 7a 69 70 20 74 6f 20 70 61 eg,.bug).which.caused.lzip.to.pa
f9e0 6e 69 63 2e 0a 2a 2f 0a 0a 23 64 65 66 69 6e 65 20 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 nic..*/..#define._FILE_OFFSET_BI
fa00 54 53 20 36 34 0a 0a 23 69 6e 63 6c 75 64 65 20 3c 61 6c 67 6f 72 69 74 68 6d 3e 0a 23 69 6e 63 TS.64..#include.<algorithm>.#inc
fa20 6c 75 64 65 20 3c 63 63 74 79 70 65 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 63 65 72 72 6e 6f 3e 0a lude.<cctype>.#include.<cerrno>.
fa40 23 69 6e 63 6c 75 64 65 20 3c 63 6c 69 6d 69 74 73 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 63 73 69 #include.<climits>.#include.<csi
fa60 67 6e 61 6c 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 63 73 74 64 69 6f 3e 0a 23 69 6e 63 6c 75 64 65 gnal>.#include.<cstdio>.#include
fa80 20 3c 63 73 74 64 6c 69 62 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 63 73 74 72 69 6e 67 3e 0a 23 69 .<cstdlib>.#include.<cstring>.#i
faa0 6e 63 6c 75 64 65 20 3c 73 74 72 69 6e 67 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 76 65 63 74 6f 72 nclude.<string>.#include.<vector
fac0 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 66 63 6e 74 6c 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 73 >.#include.<fcntl.h>.#include.<s
fae0 74 64 69 6e 74 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 64 2e 68 3e 0a 23 69 6e tdint.h>.#include.<unistd.h>.#in
fb00 63 6c 75 64 65 20 3c 75 74 69 6d 65 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 73 74 clude.<utime.h>.#include.<sys/st
fb20 61 74 2e 68 3e 0a 23 69 66 20 64 65 66 69 6e 65 64 28 5f 5f 4d 53 56 43 52 54 5f 5f 29 0a 23 69 at.h>.#if.defined(__MSVCRT__).#i
fb40 6e 63 6c 75 64 65 20 3c 69 6f 2e 68 3e 0a 23 64 65 66 69 6e 65 20 66 63 68 6d 6f 64 28 78 2c 79 nclude.<io.h>.#define.fchmod(x,y
fb60 29 20 30 0a 23 64 65 66 69 6e 65 20 66 63 68 6f 77 6e 28 78 2c 79 2c 7a 29 20 30 0a 23 64 65 66 ).0.#define.fchown(x,y,z).0.#def
fb80 69 6e 65 20 73 74 72 74 6f 75 6c 6c 20 73 74 64 3a 3a 73 74 72 74 6f 75 6c 0a 23 64 65 66 69 6e ine.strtoull.std::strtoul.#defin
fba0 65 20 53 49 47 48 55 50 20 53 49 47 54 45 52 4d 0a 23 64 65 66 69 6e 65 20 53 5f 49 53 53 4f 43 e.SIGHUP.SIGTERM.#define.S_ISSOC
fbc0 4b 28 78 29 20 30 0a 23 64 65 66 69 6e 65 20 53 5f 49 52 47 52 50 20 30 0a 23 64 65 66 69 6e 65 K(x).0.#define.S_IRGRP.0.#define
fbe0 20 53 5f 49 57 47 52 50 20 30 0a 23 64 65 66 69 6e 65 20 53 5f 49 52 4f 54 48 20 30 0a 23 64 65 .S_IWGRP.0.#define.S_IROTH.0.#de
fc00 66 69 6e 65 20 53 5f 49 57 4f 54 48 20 30 0a 23 65 6e 64 69 66 0a 23 69 66 20 64 65 66 69 6e 65 fine.S_IWOTH.0.#endif.#if.define
fc20 64 28 5f 5f 4f 53 32 5f 5f 29 0a 23 69 6e 63 6c 75 64 65 20 3c 69 6f 2e 68 3e 0a 23 65 6e 64 69 d(__OS2__).#include.<io.h>.#endi
fc40 66 0a 0a 23 69 6e 63 6c 75 64 65 20 22 61 72 67 5f 70 61 72 73 65 72 2e 68 22 0a 23 69 6e 63 6c f..#include."arg_parser.h".#incl
fc60 75 64 65 20 22 6c 7a 69 70 2e 68 22 0a 23 69 6e 63 6c 75 64 65 20 22 64 65 63 6f 64 65 72 2e 68 ude."lzip.h".#include."decoder.h
fc80 22 0a 23 69 6e 63 6c 75 64 65 20 22 65 6e 63 6f 64 65 72 5f 62 61 73 65 2e 68 22 0a 23 69 6e 63 ".#include."encoder_base.h".#inc
fca0 6c 75 64 65 20 22 65 6e 63 6f 64 65 72 2e 68 22 0a 23 69 6e 63 6c 75 64 65 20 22 66 61 73 74 5f lude."encoder.h".#include."fast_
fcc0 65 6e 63 6f 64 65 72 2e 68 22 0a 0a 23 69 66 6e 64 65 66 20 4f 5f 42 49 4e 41 52 59 0a 23 64 65 encoder.h"..#ifndef.O_BINARY.#de
fce0 66 69 6e 65 20 4f 5f 42 49 4e 41 52 59 20 30 0a 23 65 6e 64 69 66 0a 0a 23 69 66 20 43 48 41 52 fine.O_BINARY.0.#endif..#if.CHAR
fd00 5f 42 49 54 20 21 3d 20 38 0a 23 65 72 72 6f 72 20 22 45 6e 76 69 72 6f 6e 6d 65 6e 74 73 20 77 _BIT.!=.8.#error."Environments.w
fd20 68 65 72 65 20 43 48 41 52 5f 42 49 54 20 21 3d 20 38 20 61 72 65 20 6e 6f 74 20 73 75 70 70 6f here.CHAR_BIT.!=.8.are.not.suppo
fd40 72 74 65 64 2e 22 0a 23 65 6e 64 69 66 0a 0a 69 6e 74 20 76 65 72 62 6f 73 69 74 79 20 3d 20 30 rted.".#endif..int.verbosity.=.0
fd60 3b 0a 0a 6e 61 6d 65 73 70 61 63 65 20 7b 0a 0a 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e ;..namespace.{..const.char.*.con
fd80 73 74 20 50 72 6f 67 72 61 6d 5f 6e 61 6d 65 20 3d 20 22 4c 7a 69 70 22 3b 0a 63 6f 6e 73 74 20 st.Program_name.=."Lzip";.const.
fda0 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 70 72 6f 67 72 61 6d 5f 6e 61 6d 65 20 3d 20 22 6c 7a 69 char.*.const.program_name.=."lzi
fdc0 70 22 3b 0a 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 70 72 6f 67 72 61 6d 5f 79 p";.const.char.*.const.program_y
fde0 65 61 72 20 3d 20 22 32 30 31 38 22 3b 0a 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 69 6e 76 6f 63 ear.=."2018";.const.char.*.invoc
fe00 61 74 69 6f 6e 5f 6e 61 6d 65 20 3d 20 30 3b 0a 0a 63 6f 6e 73 74 20 73 74 72 75 63 74 20 7b 20 ation_name.=.0;..const.struct.{.
fe20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 66 72 6f 6d 3b 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 const.char.*.from;.const.char.*.
fe40 74 6f 3b 20 7d 20 6b 6e 6f 77 6e 5f 65 78 74 65 6e 73 69 6f 6e 73 5b 5d 20 3d 20 7b 0a 20 20 7b to;.}.known_extensions[].=.{...{
fe60 20 22 2e 6c 7a 22 2c 20 20 22 22 20 20 20 20 20 7d 2c 0a 20 20 7b 20 22 2e 74 6c 7a 22 2c 20 22 .".lz",.."".....},...{.".tlz",."
fe80 2e 74 61 72 22 20 7d 2c 0a 20 20 7b 20 30 2c 20 20 20 20 20 20 30 20 20 20 20 20 20 7d 20 7d 3b .tar".},...{.0,......0......}.};
fea0 0a 0a 73 74 72 75 63 74 20 4c 7a 6d 61 5f 6f 70 74 69 6f 6e 73 0a 20 20 7b 0a 20 20 69 6e 74 20 ..struct.Lzma_options...{...int.
fec0 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 3b 09 09 2f 2f 20 34 20 4b 69 42 20 2e 2e 20 35 31 dictionary_size;..//.4.KiB....51
fee0 32 20 4d 69 42 0a 20 20 69 6e 74 20 6d 61 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 74 3b 09 09 2f 2f 2.MiB...int.match_len_limit;..//
ff00 20 35 20 2e 2e 20 32 37 33 0a 20 20 7d 3b 0a 0a 65 6e 75 6d 20 4d 6f 64 65 20 7b 20 6d 5f 63 6f .5....273...};..enum.Mode.{.m_co
ff20 6d 70 72 65 73 73 2c 20 6d 5f 64 65 63 6f 6d 70 72 65 73 73 2c 20 6d 5f 6c 69 73 74 2c 20 6d 5f mpress,.m_decompress,.m_list,.m_
ff40 74 65 73 74 20 7d 3b 0a 0a 73 74 64 3a 3a 73 74 72 69 6e 67 20 6f 75 74 70 75 74 5f 66 69 6c 65 test.};..std::string.output_file
ff60 6e 61 6d 65 3b 0a 69 6e 74 20 6f 75 74 66 64 20 3d 20 2d 31 3b 0a 62 6f 6f 6c 20 64 65 6c 65 74 name;.int.outfd.=.-1;.bool.delet
ff80 65 5f 6f 75 74 70 75 74 5f 6f 6e 5f 69 6e 74 65 72 72 75 70 74 20 3d 20 66 61 6c 73 65 3b 0a 0a e_output_on_interrupt.=.false;..
ffa0 0a 76 6f 69 64 20 73 68 6f 77 5f 68 65 6c 70 28 29 0a 20 20 7b 0a 20 20 73 74 64 3a 3a 70 72 69 .void.show_help()...{...std::pri
ffc0 6e 74 66 28 20 22 25 73 20 2d 20 4c 5a 4d 41 20 6c 6f 73 73 6c 65 73 73 20 64 61 74 61 20 63 6f ntf(."%s.-.LZMA.lossless.data.co
ffe0 6d 70 72 65 73 73 6f 72 2e 5c 6e 22 2c 20 50 72 6f 67 72 61 6d 5f 6e 61 6d 65 20 29 3b 0a 20 20 mpressor.\n",.Program_name.);...
10000 73 74 64 3a 3a 70 72 69 6e 74 66 28 20 22 5c 6e 55 73 61 67 65 3a 20 25 73 20 5b 6f 70 74 69 6f std::printf(."\nUsage:.%s.[optio
10020 6e 73 5d 20 5b 66 69 6c 65 73 5d 5c 6e 22 2c 20 69 6e 76 6f 63 61 74 69 6f 6e 5f 6e 61 6d 65 20 ns].[files]\n",.invocation_name.
10040 29 3b 0a 20 20 73 74 64 3a 3a 70 72 69 6e 74 66 28 20 22 5c 6e 4f 70 74 69 6f 6e 73 3a 5c 6e 22 );...std::printf(."\nOptions:\n"
10060 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 20 2d 68 2c 20 2d 2d 68 65 6c 70 20 20 20 ................"..-h,.--help...
10080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 69 73 70 6c 61 79 20 74 68 69 73 20 68 ..................display.this.h
100a0 65 6c 70 20 61 6e 64 20 65 78 69 74 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 elp.and.exit\n"................"
100c0 20 20 2d 56 2c 20 2d 2d 76 65 72 73 69 6f 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..-V,.--version.................
100e0 20 6f 75 74 70 75 74 20 76 65 72 73 69 6f 6e 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 6e 64 20 .output.version.information.and.
10100 65 78 69 74 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 20 2d 61 2c 20 2d 2d exit\n"................"..-a,.--
10120 74 72 61 69 6c 69 6e 67 2d 65 72 72 6f 72 20 20 20 20 20 20 20 20 20 20 20 65 78 69 74 20 77 69 trailing-error...........exit.wi
10140 74 68 20 65 72 72 6f 72 20 73 74 61 74 75 73 20 69 66 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 th.error.status.if.trailing.data
10160 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 20 2d 62 2c 20 2d 2d 6d 65 6d 62 \n"................"..-b,.--memb
10180 65 72 2d 73 69 7a 65 3d 3c 62 79 74 65 73 3e 20 20 20 20 20 20 73 65 74 20 6d 65 6d 62 65 72 20 er-size=<bytes>......set.member.
101a0 73 69 7a 65 20 6c 69 6d 69 74 20 69 6e 20 62 79 74 65 73 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 size.limit.in.bytes\n"..........
101c0 20 20 20 20 20 20 22 20 20 2d 63 2c 20 2d 2d 73 74 64 6f 75 74 20 20 20 20 20 20 20 20 20 20 20 ......"..-c,.--stdout...........
101e0 20 20 20 20 20 20 20 20 77 72 69 74 65 20 74 6f 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 ........write.to.standard.output
10200 2c 20 6b 65 65 70 20 69 6e 70 75 74 20 66 69 6c 65 73 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 ,.keep.input.files\n"...........
10220 20 20 20 20 20 22 20 20 2d 64 2c 20 2d 2d 64 65 63 6f 6d 70 72 65 73 73 20 20 20 20 20 20 20 20 ....."..-d,.--decompress........
10240 20 20 20 20 20 20 20 64 65 63 6f 6d 70 72 65 73 73 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 .......decompress\n"............
10260 20 20 20 20 22 20 20 2d 66 2c 20 2d 2d 66 6f 72 63 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...."..-f,.--force..............
10280 20 20 20 20 20 20 6f 76 65 72 77 72 69 74 65 20 65 78 69 73 74 69 6e 67 20 6f 75 74 70 75 74 20 ......overwrite.existing.output.
102a0 66 69 6c 65 73 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 20 2d 46 2c 20 2d files\n"................"..-F,.-
102c0 2d 72 65 63 6f 6d 70 72 65 73 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 63 65 20 -recompress...............force.
102e0 72 65 2d 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6f 66 20 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c re-compression.of.compressed.fil
10300 65 73 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 20 2d 6b 2c 20 2d 2d 6b 65 es\n"................"..-k,.--ke
10320 65 70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6b 65 65 70 20 28 64 6f 6e ep.....................keep.(don
10340 27 74 20 64 65 6c 65 74 65 29 20 69 6e 70 75 74 20 66 69 6c 65 73 5c 6e 22 0a 20 20 20 20 20 20 't.delete).input.files\n".......
10360 20 20 20 20 20 20 20 20 20 22 20 20 2d 6c 2c 20 2d 2d 6c 69 73 74 20 20 20 20 20 20 20 20 20 20 ........."..-l,.--list..........
10380 20 20 20 20 20 20 20 20 20 20 20 70 72 69 6e 74 20 28 75 6e 29 63 6f 6d 70 72 65 73 73 65 64 20 ...........print.(un)compressed.
103a0 66 69 6c 65 20 73 69 7a 65 73 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 20 file.sizes\n"................"..
103c0 2d 6d 2c 20 2d 2d 6d 61 74 63 68 2d 6c 65 6e 67 74 68 3d 3c 62 79 74 65 73 3e 20 20 20 20 20 73 -m,.--match-length=<bytes>.....s
103e0 65 74 20 6d 61 74 63 68 20 6c 65 6e 67 74 68 20 6c 69 6d 69 74 20 69 6e 20 62 79 74 65 73 20 5b et.match.length.limit.in.bytes.[
10400 33 36 5d 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 20 2d 6f 2c 20 2d 2d 6f 36]\n"................"..-o,.--o
10420 75 74 70 75 74 3d 3c 66 69 6c 65 3e 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 72 65 61 64 69 utput=<file>............if.readi
10440 6e 67 20 73 74 61 6e 64 61 72 64 20 69 6e 70 75 74 2c 20 77 72 69 74 65 20 74 6f 20 3c 66 69 6c ng.standard.input,.write.to.<fil
10460 65 3e 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 20 2d 71 2c 20 2d 2d 71 75 e>\n"................"..-q,.--qu
10480 69 65 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 75 70 70 72 65 73 73 20 iet....................suppress.
104a0 61 6c 6c 20 6d 65 73 73 61 67 65 73 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 all.messages\n"................"
104c0 20 20 2d 73 2c 20 2d 2d 64 69 63 74 69 6f 6e 61 72 79 2d 73 69 7a 65 3d 3c 62 79 74 65 73 3e 20 ..-s,.--dictionary-size=<bytes>.
104e0 20 73 65 74 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 6c 69 6d 69 74 20 69 6e 20 62 79 .set.dictionary.size.limit.in.by
10500 74 65 73 20 5b 38 20 4d 69 42 5d 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 tes.[8.MiB]\n"................".
10520 20 2d 53 2c 20 2d 2d 76 6f 6c 75 6d 65 2d 73 69 7a 65 3d 3c 62 79 74 65 73 3e 20 20 20 20 20 20 .-S,.--volume-size=<bytes>......
10540 73 65 74 20 76 6f 6c 75 6d 65 20 73 69 7a 65 20 6c 69 6d 69 74 20 69 6e 20 62 79 74 65 73 2c 20 set.volume.size.limit.in.bytes,.
10560 69 6d 70 6c 69 65 73 20 2d 6b 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 20 implies.-k\n"................"..
10580 2d 74 2c 20 2d 2d 74 65 73 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 -t,.--test.....................t
105a0 65 73 74 20 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 20 69 6e 74 65 67 72 69 74 79 5c 6e 22 est.compressed.file.integrity\n"
105c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 20 2d 76 2c 20 2d 2d 76 65 72 62 6f 73 65 ................"..-v,.--verbose
105e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 65 20 76 65 72 62 6f 73 65 20 28 61 20 ..................be.verbose.(a.
10600 32 6e 64 20 2d 76 20 67 69 76 65 73 20 6d 6f 72 65 29 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 2nd.-v.gives.more)\n"...........
10620 20 20 20 20 20 22 20 20 2d 30 20 2e 2e 20 2d 39 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....."..-0....-9................
10640 20 20 20 20 20 20 20 73 65 74 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6c 65 76 65 6c 20 5b 64 65 .......set.compression.level.[de
10660 66 61 75 6c 74 20 36 5d 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 20 20 20 fault.6]\n"................"....
10680 20 20 2d 2d 66 61 73 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6c 69 ..--fast.....................ali
106a0 61 73 20 66 6f 72 20 2d 30 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 20 20 as.for.-0\n"................"...
106c0 20 20 20 2d 2d 62 65 73 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6c ...--best.....................al
106e0 69 61 73 20 66 6f 72 20 2d 39 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 20 ias.for.-9\n"................"..
10700 20 20 20 20 2d 2d 6c 6f 6f 73 65 2d 74 72 61 69 6c 69 6e 67 20 20 20 20 20 20 20 20 20 20 20 61 ....--loose-trailing...........a
10720 6c 6c 6f 77 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 20 73 65 65 6d 69 6e 67 20 63 6f 72 72 75 llow.trailing.data.seeming.corru
10740 70 74 20 68 65 61 64 65 72 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 49 66 20 pt.header\n"................"If.
10760 6e 6f 20 66 69 6c 65 20 6e 61 6d 65 73 20 61 72 65 20 67 69 76 65 6e 2c 20 6f 72 20 69 66 20 61 no.file.names.are.given,.or.if.a
10780 20 66 69 6c 65 20 69 73 20 27 2d 27 2c 20 6c 7a 69 70 20 63 6f 6d 70 72 65 73 73 65 73 20 6f 72 .file.is.'-',.lzip.compresses.or
107a0 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 63 6f 6d 70 72 65 73 73 65 73 \n"................"decompresses
107c0 20 66 72 6f 6d 20 73 74 61 6e 64 61 72 64 20 69 6e 70 75 74 20 74 6f 20 73 74 61 6e 64 61 72 64 .from.standard.input.to.standard
107e0 20 6f 75 74 70 75 74 2e 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 4e 75 6d 62 .output.\n"................"Numb
10800 65 72 73 20 6d 61 79 20 62 65 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 20 6d 75 6c 74 69 70 6c ers.may.be.followed.by.a.multipl
10820 69 65 72 3a 20 6b 20 3d 20 6b 42 20 3d 20 31 30 5e 33 20 3d 20 31 30 30 30 2c 5c 6e 22 0a 20 20 ier:.k.=.kB.=.10^3.=.1000,\n"...
10840 20 20 20 20 20 20 20 20 20 20 20 20 20 22 4b 69 20 3d 20 4b 69 42 20 3d 20 32 5e 31 30 20 3d 20 ............."Ki.=.KiB.=.2^10.=.
10860 31 30 32 34 2c 20 4d 20 3d 20 31 30 5e 36 2c 20 4d 69 20 3d 20 32 5e 32 30 2c 20 47 20 3d 20 31 1024,.M.=.10^6,.Mi.=.2^20,.G.=.1
10880 30 5e 39 2c 20 47 69 20 3d 20 32 5e 33 30 2c 20 65 74 63 2e 2e 2e 5c 6e 22 0a 20 20 20 20 20 20 0^9,.Gi.=.2^30,.etc...\n".......
108a0 20 20 20 20 20 20 20 20 20 22 44 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 73 20 31 32 20 74 6f ........."Dictionary.sizes.12.to
108c0 20 32 39 20 61 72 65 20 69 6e 74 65 72 70 72 65 74 65 64 20 61 73 20 70 6f 77 65 72 73 20 6f 66 .29.are.interpreted.as.powers.of
108e0 20 74 77 6f 2c 20 6d 65 61 6e 69 6e 67 20 32 5e 31 32 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 .two,.meaning.2^12\n"...........
10900 20 20 20 20 20 22 74 6f 20 32 5e 32 39 20 62 79 74 65 73 2e 5c 6e 22 0a 20 20 20 20 20 20 20 20 ....."to.2^29.bytes.\n".........
10920 20 20 20 20 20 20 20 22 5c 6e 54 68 65 20 62 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 20 70 61 72 61 ......."\nThe.bidimensional.para
10940 6d 65 74 65 72 20 73 70 61 63 65 20 6f 66 20 4c 5a 4d 41 20 63 61 6e 27 74 20 62 65 20 6d 61 70 meter.space.of.LZMA.can't.be.map
10960 70 65 64 20 74 6f 20 61 20 6c 69 6e 65 61 72 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ped.to.a.linear\n"..............
10980 20 20 22 73 63 61 6c 65 20 6f 70 74 69 6d 61 6c 20 66 6f 72 20 61 6c 6c 20 66 69 6c 65 73 2e 20 .."scale.optimal.for.all.files..
109a0 49 66 20 79 6f 75 72 20 66 69 6c 65 73 20 61 72 65 20 6c 61 72 67 65 2c 20 76 65 72 79 20 72 65 If.your.files.are.large,.very.re
109c0 70 65 74 69 74 69 76 65 2c 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 65 74 63 petitive,\n"................"etc
109e0 2c 20 79 6f 75 20 6d 61 79 20 6e 65 65 64 20 74 6f 20 75 73 65 20 74 68 65 20 2d 2d 64 69 63 74 ,.you.may.need.to.use.the.--dict
10a00 69 6f 6e 61 72 79 2d 73 69 7a 65 20 61 6e 64 20 2d 2d 6d 61 74 63 68 2d 6c 65 6e 67 74 68 5c 6e ionary-size.and.--match-length\n
10a20 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6f 70 74 69 6f 6e 73 20 64 69 72 65 63 74 "................"options.direct
10a40 6c 79 20 74 6f 20 61 63 68 69 65 76 65 20 6f 70 74 69 6d 61 6c 20 70 65 72 66 6f 72 6d 61 6e 63 ly.to.achieve.optimal.performanc
10a60 65 2e 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5c 6e 45 78 69 74 20 73 74 61 e.\n"................"\nExit.sta
10a80 74 75 73 3a 20 30 20 66 6f 72 20 61 20 6e 6f 72 6d 61 6c 20 65 78 69 74 2c 20 31 20 66 6f 72 20 tus:.0.for.a.normal.exit,.1.for.
10aa0 65 6e 76 69 72 6f 6e 6d 65 6e 74 61 6c 20 70 72 6f 62 6c 65 6d 73 20 28 66 69 6c 65 5c 6e 22 0a environmental.problems.(file\n".
10ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6e 6f 74 20 66 6f 75 6e 64 2c 20 69 6e 76 61 6c ..............."not.found,.inval
10ae0 69 64 20 66 6c 61 67 73 2c 20 49 2f 4f 20 65 72 72 6f 72 73 2c 20 65 74 63 29 2c 20 32 20 74 6f id.flags,.I/O.errors,.etc),.2.to
10b00 20 69 6e 64 69 63 61 74 65 20 61 20 63 6f 72 72 75 70 74 20 6f 72 5c 6e 22 0a 20 20 20 20 20 20 .indicate.a.corrupt.or\n".......
10b20 20 20 20 20 20 20 20 20 20 22 69 6e 76 61 6c 69 64 20 69 6e 70 75 74 20 66 69 6c 65 2c 20 33 20 ........."invalid.input.file,.3.
10b40 66 6f 72 20 61 6e 20 69 6e 74 65 72 6e 61 6c 20 63 6f 6e 73 69 73 74 65 6e 63 79 20 65 72 72 6f for.an.internal.consistency.erro
10b60 72 20 28 65 67 2c 20 62 75 67 29 20 77 68 69 63 68 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 r.(eg,.bug).which\n"............
10b80 20 20 20 20 22 63 61 75 73 65 64 20 6c 7a 69 70 20 74 6f 20 70 61 6e 69 63 2e 5c 6e 22 0a 20 20 ...."caused.lzip.to.panic.\n"...
10ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5c 6e 52 65 70 6f 72 74 20 62 75 67 73 20 74 6f 20 6c ............."\nReport.bugs.to.l
10bc0 7a 69 70 2d 62 75 67 40 6e 6f 6e 67 6e 75 2e 6f 72 67 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 zip-bug@nongnu.org\n"...........
10be0 20 20 20 20 20 22 4c 7a 69 70 20 68 6f 6d 65 20 70 61 67 65 3a 20 68 74 74 70 3a 2f 2f 77 77 77 ....."Lzip.home.page:.http://www
10c00 2e 6e 6f 6e 67 6e 75 2e 6f 72 67 2f 6c 7a 69 70 2f 6c 7a 69 70 2e 68 74 6d 6c 5c 6e 22 20 29 3b .nongnu.org/lzip/lzip.html\n".);
10c20 0a 20 20 7d 0a 0a 0a 76 6f 69 64 20 73 68 6f 77 5f 76 65 72 73 69 6f 6e 28 29 0a 20 20 7b 0a 20 ...}...void.show_version()...{..
10c40 20 73 74 64 3a 3a 70 72 69 6e 74 66 28 20 22 25 73 20 25 73 5c 6e 22 2c 20 70 72 6f 67 72 61 6d .std::printf(."%s.%s\n",.program
10c60 5f 6e 61 6d 65 2c 20 50 52 4f 47 56 45 52 53 49 4f 4e 20 29 3b 0a 20 20 73 74 64 3a 3a 70 72 69 _name,.PROGVERSION.);...std::pri
10c80 6e 74 66 28 20 22 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 25 73 20 41 6e 74 6f 6e 69 6f 20 44 ntf(."Copyright.(C).%s.Antonio.D
10ca0 69 61 7a 20 44 69 61 7a 2e 5c 6e 22 2c 20 70 72 6f 67 72 61 6d 5f 79 65 61 72 20 29 3b 0a 20 20 iaz.Diaz.\n",.program_year.);...
10cc0 73 74 64 3a 3a 70 72 69 6e 74 66 28 20 22 4c 69 63 65 6e 73 65 20 47 50 4c 76 32 2b 3a 20 47 4e std::printf(."License.GPLv2+:.GN
10ce0 55 20 47 50 4c 20 76 65 72 73 69 6f 6e 20 32 20 6f 72 20 6c 61 74 65 72 20 3c 68 74 74 70 3a 2f U.GPL.version.2.or.later.<http:/
10d00 2f 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 67 70 6c 2e 68 74 6d 6c 3e 5c 6e 22 0a 20 /gnu.org/licenses/gpl.html>\n"..
10d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 54 68 69 73 20 69 73 20 66 72 65 65 20 73 6f 66 74 .............."This.is.free.soft
10d40 77 61 72 65 3a 20 79 6f 75 20 61 72 65 20 66 72 65 65 20 74 6f 20 63 68 61 6e 67 65 20 61 6e 64 ware:.you.are.free.to.change.and
10d60 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 2e 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 .redistribute.it.\n"............
10d80 20 20 20 20 22 54 68 65 72 65 20 69 73 20 4e 4f 20 57 41 52 52 41 4e 54 59 2c 20 74 6f 20 74 68 ...."There.is.NO.WARRANTY,.to.th
10da0 65 20 65 78 74 65 6e 74 20 70 65 72 6d 69 74 74 65 64 20 62 79 20 6c 61 77 2e 5c 6e 22 20 29 3b e.extent.permitted.by.law.\n".);
10dc0 0a 20 20 7d 0a 0a 7d 20 2f 2f 20 65 6e 64 20 6e 61 6d 65 73 70 61 63 65 0a 0a 76 6f 69 64 20 50 ...}..}.//.end.namespace..void.P
10de0 72 65 74 74 79 5f 70 72 69 6e 74 3a 3a 6f 70 65 72 61 74 6f 72 28 29 28 20 63 6f 6e 73 74 20 63 retty_print::operator()(.const.c
10e00 68 61 72 20 2a 20 63 6f 6e 73 74 20 6d 73 67 20 29 20 63 6f 6e 73 74 0a 20 20 7b 0a 20 20 69 66 har.*.const.msg.).const...{...if
10e20 28 20 76 65 72 62 6f 73 69 74 79 20 3e 3d 20 30 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 (.verbosity.>=.0.).....{.....if(
10e40 20 66 69 72 73 74 5f 70 6f 73 74 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 66 69 72 73 .first_post.).......{.......firs
10e60 74 5f 70 6f 73 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 73 74 64 3a 3a 66 70 75 74 73 t_post.=.false;.......std::fputs
10e80 28 20 70 61 64 64 65 64 5f 6e 61 6d 65 2e 63 5f 73 74 72 28 29 2c 20 73 74 64 65 72 72 20 29 3b (.padded_name.c_str(),.stderr.);
10ea0 0a 20 20 20 20 20 20 69 66 28 20 21 6d 73 67 20 29 20 73 74 64 3a 3a 66 66 6c 75 73 68 28 20 73 .......if(.!msg.).std::fflush(.s
10ec0 74 64 65 72 72 20 29 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 69 66 28 20 6d 73 67 20 29 20 73 tderr.);.......}.....if(.msg.).s
10ee0 74 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 65 72 72 2c 20 22 25 73 5c 6e 22 2c 20 6d 73 67 td::fprintf(.stderr,."%s\n",.msg
10f00 20 29 3b 0a 20 20 20 20 7d 0a 20 20 7d 0a 0a 0a 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 62 61 64 .);.....}...}...const.char.*.bad
10f20 5f 76 65 72 73 69 6f 6e 28 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 76 65 72 73 69 6f 6e _version(.const.unsigned.version
10f40 20 29 0a 20 20 7b 0a 20 20 73 74 61 74 69 63 20 63 68 61 72 20 62 75 66 5b 38 30 5d 3b 0a 20 20 .)...{...static.char.buf[80];...
10f60 73 6e 70 72 69 6e 74 66 28 20 62 75 66 2c 20 73 69 7a 65 6f 66 20 62 75 66 2c 20 22 56 65 72 73 snprintf(.buf,.sizeof.buf,."Vers
10f80 69 6f 6e 20 25 75 20 6d 65 6d 62 65 72 20 66 6f 72 6d 61 74 20 6e 6f 74 20 73 75 70 70 6f 72 74 ion.%u.member.format.not.support
10fa0 65 64 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 65 72 73 69 6f 6e 20 29 3b 0a 20 20 72 ed.",.............version.);...r
10fc0 65 74 75 72 6e 20 62 75 66 3b 0a 20 20 7d 0a 0a 0a 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 66 6f eturn.buf;...}...const.char.*.fo
10fe0 72 6d 61 74 5f 64 73 28 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 64 69 63 74 69 6f 6e 61 rmat_ds(.const.unsigned.dictiona
11000 72 79 5f 73 69 7a 65 20 29 0a 20 20 7b 0a 20 20 65 6e 75 6d 20 7b 20 62 75 66 73 69 7a 65 20 3d ry_size.)...{...enum.{.bufsize.=
11020 20 31 36 2c 20 66 61 63 74 6f 72 20 3d 20 31 30 32 34 20 7d 3b 0a 20 20 73 74 61 74 69 63 20 63 .16,.factor.=.1024.};...static.c
11040 68 61 72 20 62 75 66 5b 62 75 66 73 69 7a 65 5d 3b 0a 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a har.buf[bufsize];...const.char.*
11060 20 63 6f 6e 73 74 20 70 72 65 66 69 78 5b 38 5d 20 3d 0a 20 20 20 20 7b 20 22 4b 69 22 2c 20 22 .const.prefix[8].=.....{."Ki",."
11080 4d 69 22 2c 20 22 47 69 22 2c 20 22 54 69 22 2c 20 22 50 69 22 2c 20 22 45 69 22 2c 20 22 5a 69 Mi",."Gi",."Ti",."Pi",."Ei",."Zi
110a0 22 2c 20 22 59 69 22 20 7d 3b 0a 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 70 20 3d 20 22 22 ",."Yi".};...const.char.*.p.=.""
110c0 3b 0a 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 6e 70 20 3d 20 22 20 20 22 3b 0a 20 20 75 6e ;...const.char.*.np.=."..";...un
110e0 73 69 67 6e 65 64 20 6e 75 6d 20 3d 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 3b 0a 20 20 signed.num.=.dictionary_size;...
11100 62 6f 6f 6c 20 65 78 61 63 74 20 3d 20 28 20 6e 75 6d 20 25 20 66 61 63 74 6f 72 20 3d 3d 20 30 bool.exact.=.(.num.%.factor.==.0
11120 20 29 3b 0a 0a 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 38 20 26 26 20 .);....for(.int.i.=.0;.i.<.8.&&.
11140 28 20 6e 75 6d 20 3e 20 39 39 39 39 20 7c 7c 20 28 20 65 78 61 63 74 20 26 26 20 6e 75 6d 20 3e (.num.>.9999.||.(.exact.&&.num.>
11160 3d 20 66 61 63 74 6f 72 20 29 20 29 3b 20 2b 2b 69 20 29 0a 20 20 20 20 7b 20 6e 75 6d 20 2f 3d =.factor.).);.++i.).....{.num./=
11180 20 66 61 63 74 6f 72 3b 20 69 66 28 20 6e 75 6d 20 25 20 66 61 63 74 6f 72 20 21 3d 20 30 20 29 .factor;.if(.num.%.factor.!=.0.)
111a0 20 65 78 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 70 20 3d 20 70 72 65 66 69 78 .exact.=.false;.......p.=.prefix
111c0 5b 69 5d 3b 20 6e 70 20 3d 20 22 22 3b 20 7d 0a 20 20 73 6e 70 72 69 6e 74 66 28 20 62 75 66 2c [i];.np.=."";.}...snprintf(.buf,
111e0 20 62 75 66 73 69 7a 65 2c 20 22 25 73 25 34 75 20 25 73 42 22 2c 20 6e 70 2c 20 6e 75 6d 2c 20 .bufsize,."%s%4u.%sB",.np,.num,.
11200 70 20 29 3b 0a 20 20 72 65 74 75 72 6e 20 62 75 66 3b 0a 20 20 7d 0a 0a 0a 76 6f 69 64 20 73 68 p.);...return.buf;...}...void.sh
11220 6f 77 5f 68 65 61 64 65 72 28 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 64 69 63 74 69 6f ow_header(.const.unsigned.dictio
11240 6e 61 72 79 5f 73 69 7a 65 20 29 0a 20 20 7b 0a 20 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 28 20 nary_size.)...{...std::fprintf(.
11260 73 74 64 65 72 72 2c 20 22 64 69 63 74 69 6f 6e 61 72 79 20 25 73 2c 20 22 2c 20 66 6f 72 6d 61 stderr,."dictionary.%s,.",.forma
11280 74 5f 64 73 28 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 20 29 3b 0a 20 20 7d 0a 0a t_ds(.dictionary_size.).);...}..
112a0 6e 61 6d 65 73 70 61 63 65 20 7b 0a 0a 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 namespace.{..unsigned.long.long.
112c0 67 65 74 6e 75 6d 28 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 70 74 72 2c 0a getnum(.const.char.*.const.ptr,.
112e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 ...........................const
11300 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6c 6c 69 6d 69 74 2c 0a 20 20 20 20 .unsigned.long.long.llimit,.....
11320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 .......................const.uns
11340 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 75 6c 69 6d 69 74 20 29 0a 20 20 7b 0a 20 20 63 igned.long.long.ulimit.)...{...c
11360 68 61 72 20 2a 20 74 61 69 6c 3b 0a 20 20 65 72 72 6e 6f 20 3d 20 30 3b 0a 20 20 75 6e 73 69 67 har.*.tail;...errno.=.0;...unsig
11380 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 72 65 73 75 6c 74 20 3d 20 73 74 72 74 6f 75 6c 6c 28 ned.long.long.result.=.strtoull(
113a0 20 70 74 72 2c 20 26 74 61 69 6c 2c 20 30 20 29 3b 0a 20 20 69 66 28 20 74 61 69 6c 20 3d 3d 20 .ptr,.&tail,.0.);...if(.tail.==.
113c0 70 74 72 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 73 68 6f 77 5f 65 72 72 6f 72 28 20 22 42 61 64 ptr.).....{.....show_error(."Bad
113e0 20 6f 72 20 6d 69 73 73 69 6e 67 20 6e 75 6d 65 72 69 63 61 6c 20 61 72 67 75 6d 65 6e 74 2e 22 .or.missing.numerical.argument."
11400 2c 20 30 2c 20 74 72 75 65 20 29 3b 0a 20 20 20 20 73 74 64 3a 3a 65 78 69 74 28 20 31 20 29 3b ,.0,.true.);.....std::exit(.1.);
11420 0a 20 20 20 20 7d 0a 0a 20 20 69 66 28 20 21 65 72 72 6e 6f 20 26 26 20 74 61 69 6c 5b 30 5d 20 .....}....if(.!errno.&&.tail[0].
11440 29 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 66 61 63 74 6f ).....{.....const.unsigned.facto
11460 72 20 3d 20 28 20 74 61 69 6c 5b 31 5d 20 3d 3d 20 27 69 27 20 29 20 3f 20 31 30 32 34 20 3a 20 r.=.(.tail[1].==.'i'.).?.1024.:.
11480 31 30 30 30 3b 0a 20 20 20 20 69 6e 74 20 65 78 70 6f 6e 65 6e 74 20 3d 20 30 3b 09 09 09 09 2f 1000;.....int.exponent.=.0;..../
114a0 2f 20 30 20 3d 20 62 61 64 20 6d 75 6c 74 69 70 6c 69 65 72 0a 20 20 20 20 73 77 69 74 63 68 28 /.0.=.bad.multiplier.....switch(
114c0 20 74 61 69 6c 5b 30 5d 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 63 61 73 65 20 27 59 .tail[0].).......{.......case.'Y
114e0 27 3a 20 65 78 70 6f 6e 65 6e 74 20 3d 20 38 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 ':.exponent.=.8;.break;.......ca
11500 73 65 20 27 5a 27 3a 20 65 78 70 6f 6e 65 6e 74 20 3d 20 37 3b 20 62 72 65 61 6b 3b 0a 20 20 20 se.'Z':.exponent.=.7;.break;....
11520 20 20 20 63 61 73 65 20 27 45 27 3a 20 65 78 70 6f 6e 65 6e 74 20 3d 20 36 3b 20 62 72 65 61 6b ...case.'E':.exponent.=.6;.break
11540 3b 0a 20 20 20 20 20 20 63 61 73 65 20 27 50 27 3a 20 65 78 70 6f 6e 65 6e 74 20 3d 20 35 3b 20 ;.......case.'P':.exponent.=.5;.
11560 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20 27 54 27 3a 20 65 78 70 6f 6e 65 6e 74 20 break;.......case.'T':.exponent.
11580 3d 20 34 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20 27 47 27 3a 20 65 78 70 6f =.4;.break;.......case.'G':.expo
115a0 6e 65 6e 74 20 3d 20 33 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20 27 4d 27 3a nent.=.3;.break;.......case.'M':
115c0 20 65 78 70 6f 6e 65 6e 74 20 3d 20 32 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 .exponent.=.2;.break;.......case
115e0 20 27 4b 27 3a 20 69 66 28 20 66 61 63 74 6f 72 20 3d 3d 20 31 30 32 34 20 29 20 65 78 70 6f 6e .'K':.if(.factor.==.1024.).expon
11600 65 6e 74 20 3d 20 31 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20 27 6b 27 3a 20 ent.=.1;.break;.......case.'k':.
11620 69 66 28 20 66 61 63 74 6f 72 20 3d 3d 20 31 30 30 30 20 29 20 65 78 70 6f 6e 65 6e 74 20 3d 20 if(.factor.==.1000.).exponent.=.
11640 31 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 69 66 28 20 65 78 70 6f 6e 65 1;.break;.......}.....if(.expone
11660 6e 74 20 3c 3d 20 30 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 73 68 6f 77 5f 65 72 72 nt.<=.0.).......{.......show_err
11680 6f 72 28 20 22 42 61 64 20 6d 75 6c 74 69 70 6c 69 65 72 20 69 6e 20 6e 75 6d 65 72 69 63 61 6c or(."Bad.multiplier.in.numerical
116a0 20 61 72 67 75 6d 65 6e 74 2e 22 2c 20 30 2c 20 74 72 75 65 20 29 3b 0a 20 20 20 20 20 20 73 74 .argument.",.0,.true.);.......st
116c0 64 3a 3a 65 78 69 74 28 20 31 20 29 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 66 6f 72 28 20 69 d::exit(.1.);.......}.....for(.i
116e0 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 65 78 70 6f 6e 65 6e 74 3b 20 2b 2b 69 20 29 0a 20 20 nt.i.=.0;.i.<.exponent;.++i.)...
11700 20 20 20 20 7b 0a 20 20 20 20 20 20 69 66 28 20 75 6c 69 6d 69 74 20 2f 20 66 61 63 74 6f 72 20 ....{.......if(.ulimit./.factor.
11720 3e 3d 20 72 65 73 75 6c 74 20 29 20 72 65 73 75 6c 74 20 2a 3d 20 66 61 63 74 6f 72 3b 0a 20 20 >=.result.).result.*=.factor;...
11740 20 20 20 20 65 6c 73 65 20 7b 20 65 72 72 6e 6f 20 3d 20 45 52 41 4e 47 45 3b 20 62 72 65 61 6b ....else.{.errno.=.ERANGE;.break
11760 3b 20 7d 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 69 66 28 20 21 65 72 72 6e 6f 20 26 ;.}.......}.....}...if(.!errno.&
11780 26 20 28 20 72 65 73 75 6c 74 20 3c 20 6c 6c 69 6d 69 74 20 7c 7c 20 72 65 73 75 6c 74 20 3e 20 &.(.result.<.llimit.||.result.>.
117a0 75 6c 69 6d 69 74 20 29 20 29 20 65 72 72 6e 6f 20 3d 20 45 52 41 4e 47 45 3b 0a 20 20 69 66 28 ulimit.).).errno.=.ERANGE;...if(
117c0 20 65 72 72 6e 6f 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 73 68 6f 77 5f 65 72 72 6f 72 28 20 22 .errno.).....{.....show_error(."
117e0 4e 75 6d 65 72 69 63 61 6c 20 61 72 67 75 6d 65 6e 74 20 6f 75 74 20 6f 66 20 6c 69 6d 69 74 73 Numerical.argument.out.of.limits
11800 2e 22 20 29 3b 0a 20 20 20 20 73 74 64 3a 3a 65 78 69 74 28 20 31 20 29 3b 0a 20 20 20 20 7d 0a .".);.....std::exit(.1.);.....}.
11820 20 20 72 65 74 75 72 6e 20 72 65 73 75 6c 74 3b 0a 20 20 7d 0a 0a 0a 69 6e 74 20 67 65 74 5f 64 ..return.result;...}...int.get_d
11840 69 63 74 5f 73 69 7a 65 28 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 61 72 67 ict_size(.const.char.*.const.arg
11860 20 29 0a 20 20 7b 0a 20 20 63 68 61 72 20 2a 20 74 61 69 6c 3b 0a 20 20 63 6f 6e 73 74 20 6c 6f .)...{...char.*.tail;...const.lo
11880 6e 67 20 62 69 74 73 20 3d 20 73 74 64 3a 3a 73 74 72 74 6f 6c 28 20 61 72 67 2c 20 26 74 61 69 ng.bits.=.std::strtol(.arg,.&tai
118a0 6c 2c 20 30 20 29 3b 0a 20 20 69 66 28 20 62 69 74 73 20 3e 3d 20 6d 69 6e 5f 64 69 63 74 69 6f l,.0.);...if(.bits.>=.min_dictio
118c0 6e 61 72 79 5f 62 69 74 73 20 26 26 0a 20 20 20 20 20 20 62 69 74 73 20 3c 3d 20 6d 61 78 5f 64 nary_bits.&&.......bits.<=.max_d
118e0 69 63 74 69 6f 6e 61 72 79 5f 62 69 74 73 20 26 26 20 2a 74 61 69 6c 20 3d 3d 20 30 20 29 0a 20 ictionary_bits.&&.*tail.==.0.)..
11900 20 20 20 72 65 74 75 72 6e 20 28 20 31 20 3c 3c 20 62 69 74 73 20 29 3b 0a 20 20 72 65 74 75 72 ...return.(.1.<<.bits.);...retur
11920 6e 20 67 65 74 6e 75 6d 28 20 61 72 67 2c 20 6d 69 6e 5f 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 n.getnum(.arg,.min_dictionary_si
11940 7a 65 2c 20 6d 61 78 5f 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 3b 0a 20 20 7d 0a 0a ze,.max_dictionary_size.);...}..
11960 0a 76 6f 69 64 20 73 65 74 5f 6d 6f 64 65 28 20 4d 6f 64 65 20 26 20 70 72 6f 67 72 61 6d 5f 6d .void.set_mode(.Mode.&.program_m
11980 6f 64 65 2c 20 63 6f 6e 73 74 20 4d 6f 64 65 20 6e 65 77 5f 6d 6f 64 65 20 29 0a 20 20 7b 0a 20 ode,.const.Mode.new_mode.)...{..
119a0 20 69 66 28 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 21 3d 20 6d 5f 63 6f 6d 70 72 65 73 73 20 .if(.program_mode.!=.m_compress.
119c0 26 26 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 21 3d 20 6e 65 77 5f 6d 6f 64 65 20 29 0a 20 20 &&.program_mode.!=.new_mode.)...
119e0 20 20 7b 0a 20 20 20 20 73 68 6f 77 5f 65 72 72 6f 72 28 20 22 4f 6e 6c 79 20 6f 6e 65 20 6f 70 ..{.....show_error(."Only.one.op
11a00 65 72 61 74 69 6f 6e 20 63 61 6e 20 62 65 20 73 70 65 63 69 66 69 65 64 2e 22 2c 20 30 2c 20 74 eration.can.be.specified.",.0,.t
11a20 72 75 65 20 29 3b 0a 20 20 20 20 73 74 64 3a 3a 65 78 69 74 28 20 31 20 29 3b 0a 20 20 20 20 7d rue.);.....std::exit(.1.);.....}
11a40 0a 20 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 3d 20 6e 65 77 5f 6d 6f 64 65 3b 0a 20 20 7d 0a ...program_mode.=.new_mode;...}.
11a60 0a 0a 69 6e 74 20 65 78 74 65 6e 73 69 6f 6e 5f 69 6e 64 65 78 28 20 63 6f 6e 73 74 20 73 74 64 ..int.extension_index(.const.std
11a80 3a 3a 73 74 72 69 6e 67 20 26 20 6e 61 6d 65 20 29 0a 20 20 7b 0a 20 20 66 6f 72 28 20 69 6e 74 ::string.&.name.)...{...for(.int
11aa0 20 65 69 6e 64 65 78 20 3d 20 30 3b 20 6b 6e 6f 77 6e 5f 65 78 74 65 6e 73 69 6f 6e 73 5b 65 69 .eindex.=.0;.known_extensions[ei
11ac0 6e 64 65 78 5d 2e 66 72 6f 6d 3b 20 2b 2b 65 69 6e 64 65 78 20 29 0a 20 20 20 20 7b 0a 20 20 20 ndex].from;.++eindex.).....{....
11ae0 20 63 6f 6e 73 74 20 73 74 64 3a 3a 73 74 72 69 6e 67 20 65 78 74 28 20 6b 6e 6f 77 6e 5f 65 78 .const.std::string.ext(.known_ex
11b00 74 65 6e 73 69 6f 6e 73 5b 65 69 6e 64 65 78 5d 2e 66 72 6f 6d 20 29 3b 0a 20 20 20 20 69 66 28 tensions[eindex].from.);.....if(
11b20 20 6e 61 6d 65 2e 73 69 7a 65 28 29 20 3e 20 65 78 74 2e 73 69 7a 65 28 29 20 26 26 0a 20 20 20 .name.size().>.ext.size().&&....
11b40 20 20 20 20 20 6e 61 6d 65 2e 63 6f 6d 70 61 72 65 28 20 6e 61 6d 65 2e 73 69 7a 65 28 29 20 2d .....name.compare(.name.size().-
11b60 20 65 78 74 2e 73 69 7a 65 28 29 2c 20 65 78 74 2e 73 69 7a 65 28 29 2c 20 65 78 74 20 29 20 3d .ext.size(),.ext.size(),.ext.).=
11b80 3d 20 30 20 29 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 65 69 6e 64 65 78 3b 0a 20 20 20 20 7d =.0.).......return.eindex;.....}
11ba0 0a 20 20 72 65 74 75 72 6e 20 2d 31 3b 0a 20 20 7d 0a 0a 0a 76 6f 69 64 20 73 65 74 5f 63 5f 6f ...return.-1;...}...void.set_c_o
11bc0 75 74 6e 61 6d 65 28 20 63 6f 6e 73 74 20 73 74 64 3a 3a 73 74 72 69 6e 67 20 26 20 6e 61 6d 65 utname(.const.std::string.&.name
11be0 2c 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 66 6f 72 63 65 5f 65 78 74 2c 0a 20 20 20 20 20 20 20 20 ,.const.bool.force_ext,.........
11c00 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 6d 75 6c 74 69 66 69 6c 65 ............const.bool.multifile
11c20 20 29 0a 20 20 7b 0a 20 20 6f 75 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 20 3d 20 6e 61 6d 65 3b .)...{...output_filename.=.name;
11c40 0a 20 20 69 66 28 20 6d 75 6c 74 69 66 69 6c 65 20 29 20 6f 75 74 70 75 74 5f 66 69 6c 65 6e 61 ...if(.multifile.).output_filena
11c60 6d 65 20 2b 3d 20 22 30 30 30 30 31 22 3b 0a 20 20 69 66 28 20 66 6f 72 63 65 5f 65 78 74 20 7c me.+=."00001";...if(.force_ext.|
11c80 7c 20 6d 75 6c 74 69 66 69 6c 65 20 7c 7c 20 65 78 74 65 6e 73 69 6f 6e 5f 69 6e 64 65 78 28 20 |.multifile.||.extension_index(.
11ca0 6f 75 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 20 29 20 3c 20 30 20 29 0a 20 20 20 20 6f 75 74 70 output_filename.).<.0.).....outp
11cc0 75 74 5f 66 69 6c 65 6e 61 6d 65 20 2b 3d 20 6b 6e 6f 77 6e 5f 65 78 74 65 6e 73 69 6f 6e 73 5b ut_filename.+=.known_extensions[
11ce0 30 5d 2e 66 72 6f 6d 3b 0a 20 20 7d 0a 0a 0a 76 6f 69 64 20 73 65 74 5f 64 5f 6f 75 74 6e 61 6d 0].from;...}...void.set_d_outnam
11d00 65 28 20 63 6f 6e 73 74 20 73 74 64 3a 3a 73 74 72 69 6e 67 20 26 20 6e 61 6d 65 2c 20 63 6f 6e e(.const.std::string.&.name,.con
11d20 73 74 20 69 6e 74 20 65 69 6e 64 65 78 20 29 0a 20 20 7b 0a 20 20 69 66 28 20 65 69 6e 64 65 78 st.int.eindex.)...{...if(.eindex
11d40 20 3e 3d 20 30 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 73 74 64 3a 3a 73 74 72 .>=.0.).....{.....const.std::str
11d60 69 6e 67 20 66 72 6f 6d 28 20 6b 6e 6f 77 6e 5f 65 78 74 65 6e 73 69 6f 6e 73 5b 65 69 6e 64 65 ing.from(.known_extensions[einde
11d80 78 5d 2e 66 72 6f 6d 20 29 3b 0a 20 20 20 20 69 66 28 20 6e 61 6d 65 2e 73 69 7a 65 28 29 20 3e x].from.);.....if(.name.size().>
11da0 20 66 72 6f 6d 2e 73 69 7a 65 28 29 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 6f 75 74 .from.size().).......{.......out
11dc0 70 75 74 5f 66 69 6c 65 6e 61 6d 65 2e 61 73 73 69 67 6e 28 20 6e 61 6d 65 2c 20 30 2c 20 6e 61 put_filename.assign(.name,.0,.na
11de0 6d 65 2e 73 69 7a 65 28 29 20 2d 20 66 72 6f 6d 2e 73 69 7a 65 28 29 20 29 3b 0a 20 20 20 20 20 me.size().-.from.size().);......
11e00 20 6f 75 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 20 2b 3d 20 6b 6e 6f 77 6e 5f 65 78 74 65 6e 73 .output_filename.+=.known_extens
11e20 69 6f 6e 73 5b 65 69 6e 64 65 78 5d 2e 74 6f 3b 0a 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 20 ions[eindex].to;.......return;..
11e40 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 6f 75 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 20 3d .....}.....}...output_filename.=
11e60 20 6e 61 6d 65 3b 20 6f 75 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 20 2b 3d 20 22 2e 6f 75 74 22 .name;.output_filename.+=.".out"
11e80 3b 0a 20 20 69 66 28 20 76 65 72 62 6f 73 69 74 79 20 3e 3d 20 31 20 29 0a 20 20 20 20 73 74 64 ;...if(.verbosity.>=.1.).....std
11ea0 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 65 72 72 2c 20 22 25 73 3a 20 43 61 6e 27 74 20 67 75 ::fprintf(.stderr,."%s:.Can't.gu
11ec0 65 73 73 20 6f 72 69 67 69 6e 61 6c 20 6e 61 6d 65 20 66 6f 72 20 27 25 73 27 20 2d 2d 20 75 73 ess.original.name.for.'%s'.--.us
11ee0 69 6e 67 20 27 25 73 27 5c 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 ing.'%s'\n",...................p
11f00 72 6f 67 72 61 6d 5f 6e 61 6d 65 2c 20 6e 61 6d 65 2e 63 5f 73 74 72 28 29 2c 20 6f 75 74 70 75 rogram_name,.name.c_str(),.outpu
11f20 74 5f 66 69 6c 65 6e 61 6d 65 2e 63 5f 73 74 72 28 29 20 29 3b 0a 20 20 7d 0a 0a 7d 20 2f 2f 20 t_filename.c_str().);...}..}.//.
11f40 65 6e 64 20 6e 61 6d 65 73 70 61 63 65 0a 0a 69 6e 74 20 6f 70 65 6e 5f 69 6e 73 74 72 65 61 6d end.namespace..int.open_instream
11f60 28 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 6e 61 6d 65 2c 20 73 74 72 75 63 (.const.char.*.const.name,.struc
11f80 74 20 73 74 61 74 20 2a 20 63 6f 6e 73 74 20 69 6e 5f 73 74 61 74 73 70 2c 0a 20 20 20 20 20 20 t.stat.*.const.in_statsp,.......
11fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 6e 6f 5f 6f 66 69 6c 65 .............const.bool.no_ofile
11fc0 2c 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 72 65 67 5f 6f 6e 6c 79 20 29 0a 20 20 7b 0a 20 20 69 6e ,.const.bool.reg_only.)...{...in
11fe0 74 20 69 6e 66 64 20 3d 20 6f 70 65 6e 28 20 6e 61 6d 65 2c 20 4f 5f 52 44 4f 4e 4c 59 20 7c 20 t.infd.=.open(.name,.O_RDONLY.|.
12000 4f 5f 42 49 4e 41 52 59 20 29 3b 0a 20 20 69 66 28 20 69 6e 66 64 20 3c 20 30 20 29 0a 20 20 20 O_BINARY.);...if(.infd.<.0.)....
12020 20 73 68 6f 77 5f 66 69 6c 65 5f 65 72 72 6f 72 28 20 6e 61 6d 65 2c 20 22 43 61 6e 27 74 20 6f .show_file_error(.name,."Can't.o
12040 70 65 6e 20 69 6e 70 75 74 20 66 69 6c 65 22 2c 20 65 72 72 6e 6f 20 29 3b 0a 20 20 65 6c 73 65 pen.input.file",.errno.);...else
12060 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 69 20 3d 20 66 73 74 61 74 28 20 .....{.....const.int.i.=.fstat(.
12080 69 6e 66 64 2c 20 69 6e 5f 73 74 61 74 73 70 20 29 3b 0a 20 20 20 20 63 6f 6e 73 74 20 6d 6f 64 infd,.in_statsp.);.....const.mod
120a0 65 5f 74 20 6d 6f 64 65 20 3d 20 69 6e 5f 73 74 61 74 73 70 2d 3e 73 74 5f 6d 6f 64 65 3b 0a 20 e_t.mode.=.in_statsp->st_mode;..
120c0 20 20 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 63 61 6e 5f 72 65 61 64 20 3d 20 28 20 69 20 3d 3d 20 ...const.bool.can_read.=.(.i.==.
120e0 30 20 26 26 20 21 72 65 67 5f 6f 6e 6c 79 20 26 26 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0.&&.!reg_only.&&...............
12100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 20 53 5f 49 53 42 4c 4b 28 20 6d 6f 64 65 20 29 20 ..............(.S_ISBLK(.mode.).
12120 7c 7c 20 53 5f 49 53 43 48 52 28 20 6d 6f 64 65 20 29 20 7c 7c 0a 20 20 20 20 20 20 20 20 20 20 ||.S_ISCHR(.mode.).||...........
12140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 5f 49 53 46 49 46 4f 28 20 6d 6f ....................S_ISFIFO(.mo
12160 64 65 20 29 20 7c 7c 20 53 5f 49 53 53 4f 43 4b 28 20 6d 6f 64 65 20 29 20 29 20 29 3b 0a 20 20 de.).||.S_ISSOCK(.mode.).).);...
12180 20 20 69 66 28 20 69 20 21 3d 20 30 20 7c 7c 20 28 20 21 53 5f 49 53 52 45 47 28 20 6d 6f 64 65 ..if(.i.!=.0.||.(.!S_ISREG(.mode
121a0 20 29 20 26 26 20 28 20 21 63 61 6e 5f 72 65 61 64 20 7c 7c 20 21 6e 6f 5f 6f 66 69 6c 65 20 29 .).&&.(.!can_read.||.!no_ofile.)
121c0 20 29 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 69 66 28 20 76 65 72 62 6f 73 69 74 79 .).).......{.......if(.verbosity
121e0 20 3e 3d 20 30 20 29 0a 20 20 20 20 20 20 20 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 .>=.0.).........std::fprintf(.st
12200 64 65 72 72 2c 20 22 25 73 3a 20 49 6e 70 75 74 20 66 69 6c 65 20 27 25 73 27 20 69 73 20 6e 6f derr,."%s:.Input.file.'%s'.is.no
12220 74 20 61 20 72 65 67 75 6c 61 72 20 66 69 6c 65 25 73 2e 5c 6e 22 2c 0a 20 20 20 20 20 20 20 20 t.a.regular.file%s.\n",.........
12240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 67 72 61 6d 5f 6e 61 6d 65 2c 20 6e 61 6d 65 ..............program_name,.name
12260 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 20 63 61 6e 5f 72 65 ,.......................(.can_re
12280 61 64 20 26 26 20 21 6e 6f 5f 6f 66 69 6c 65 20 29 20 3f 0a 20 20 20 20 20 20 20 20 20 20 20 20 ad.&&.!no_ofile.).?.............
122a0 20 20 20 20 20 20 20 20 20 20 22 2c 5c 6e 20 20 20 20 20 20 61 6e 64 20 27 2d 2d 73 74 64 6f 75 ..........",\n......and.'--stdou
122c0 74 27 20 77 61 73 20 6e 6f 74 20 73 70 65 63 69 66 69 65 64 22 20 3a 20 22 22 20 29 3b 0a 20 20 t'.was.not.specified".:."".);...
122e0 20 20 20 20 63 6c 6f 73 65 28 20 69 6e 66 64 20 29 3b 0a 20 20 20 20 20 20 69 6e 66 64 20 3d 20 ....close(.infd.);.......infd.=.
12300 2d 31 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 72 65 74 75 72 6e 20 69 6e 66 64 3b -1;.......}.....}...return.infd;
12320 0a 20 20 7d 0a 0a 6e 61 6d 65 73 70 61 63 65 20 7b 0a 0a 69 6e 74 20 6f 70 65 6e 5f 69 6e 73 74 ...}..namespace.{..int.open_inst
12340 72 65 61 6d 32 28 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 6e 61 6d 65 2c 20 ream2(.const.char.*.const.name,.
12360 73 74 72 75 63 74 20 73 74 61 74 20 2a 20 63 6f 6e 73 74 20 69 6e 5f 73 74 61 74 73 70 2c 0a 20 struct.stat.*.const.in_statsp,..
12380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 4d 6f 64 65 20 70 72 ...................const.Mode.pr
123a0 6f 67 72 61 6d 5f 6d 6f 64 65 2c 20 63 6f 6e 73 74 20 69 6e 74 20 65 69 6e 64 65 78 2c 0a 20 20 ogram_mode,.const.int.eindex,...
123c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 72 65 63 ..................const.bool.rec
123e0 6f 6d 70 72 65 73 73 2c 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 74 6f 5f 73 74 64 6f 75 74 20 29 0a ompress,.const.bool.to_stdout.).
12400 20 20 7b 0a 20 20 69 66 28 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 3d 3d 20 6d 5f 63 6f 6d 70 ..{...if(.program_mode.==.m_comp
12420 72 65 73 73 20 26 26 20 21 72 65 63 6f 6d 70 72 65 73 73 20 26 26 20 65 69 6e 64 65 78 20 3e 3d ress.&&.!recompress.&&.eindex.>=
12440 20 30 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 76 65 72 62 6f 73 69 74 79 20 3e 3d 20 .0.).....{.....if(.verbosity.>=.
12460 30 20 29 0a 20 20 20 20 20 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 65 72 72 2c 20 0.).......std::fprintf(.stderr,.
12480 22 25 73 3a 20 49 6e 70 75 74 20 66 69 6c 65 20 27 25 73 27 20 61 6c 72 65 61 64 79 20 68 61 73 "%s:.Input.file.'%s'.already.has
124a0 20 27 25 73 27 20 73 75 66 66 69 78 2e 5c 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .'%s'.suffix.\n",...............
124c0 20 20 20 20 20 20 70 72 6f 67 72 61 6d 5f 6e 61 6d 65 2c 20 6e 61 6d 65 2c 20 6b 6e 6f 77 6e 5f ......program_name,.name,.known_
124e0 65 78 74 65 6e 73 69 6f 6e 73 5b 65 69 6e 64 65 78 5d 2e 66 72 6f 6d 20 29 3b 0a 20 20 20 20 72 extensions[eindex].from.);.....r
12500 65 74 75 72 6e 20 2d 31 3b 0a 20 20 20 20 7d 0a 20 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 6e 6f 5f eturn.-1;.....}...const.bool.no_
12520 6f 66 69 6c 65 20 3d 20 28 20 74 6f 5f 73 74 64 6f 75 74 20 7c 7c 20 70 72 6f 67 72 61 6d 5f 6d ofile.=.(.to_stdout.||.program_m
12540 6f 64 65 20 3d 3d 20 6d 5f 74 65 73 74 20 29 3b 0a 20 20 72 65 74 75 72 6e 20 6f 70 65 6e 5f 69 ode.==.m_test.);...return.open_i
12560 6e 73 74 72 65 61 6d 28 20 6e 61 6d 65 2c 20 69 6e 5f 73 74 61 74 73 70 2c 20 6e 6f 5f 6f 66 69 nstream(.name,.in_statsp,.no_ofi
12580 6c 65 2c 20 66 61 6c 73 65 20 29 3b 0a 20 20 7d 0a 0a 0a 62 6f 6f 6c 20 6f 70 65 6e 5f 6f 75 74 le,.false.);...}...bool.open_out
125a0 73 74 72 65 61 6d 28 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 66 6f 72 63 65 2c 20 63 6f 6e 73 74 20 stream(.const.bool.force,.const.
125c0 62 6f 6f 6c 20 66 72 6f 6d 5f 73 74 64 69 6e 20 29 0a 20 20 7b 0a 20 20 63 6f 6e 73 74 20 6d 6f bool.from_stdin.)...{...const.mo
125e0 64 65 5f 74 20 75 73 72 5f 72 77 20 3d 20 53 5f 49 52 55 53 52 20 7c 20 53 5f 49 57 55 53 52 3b de_t.usr_rw.=.S_IRUSR.|.S_IWUSR;
12600 0a 20 20 63 6f 6e 73 74 20 6d 6f 64 65 5f 74 20 61 6c 6c 5f 72 77 20 3d 20 75 73 72 5f 72 77 20 ...const.mode_t.all_rw.=.usr_rw.
12620 7c 20 53 5f 49 52 47 52 50 20 7c 20 53 5f 49 57 47 52 50 20 7c 20 53 5f 49 52 4f 54 48 20 7c 20 |.S_IRGRP.|.S_IWGRP.|.S_IROTH.|.
12640 53 5f 49 57 4f 54 48 3b 0a 20 20 63 6f 6e 73 74 20 6d 6f 64 65 5f 74 20 6f 75 74 66 64 5f 6d 6f S_IWOTH;...const.mode_t.outfd_mo
12660 64 65 20 3d 20 66 72 6f 6d 5f 73 74 64 69 6e 20 3f 20 61 6c 6c 5f 72 77 20 3a 20 75 73 72 5f 72 de.=.from_stdin.?.all_rw.:.usr_r
12680 77 3b 0a 20 20 69 6e 74 20 66 6c 61 67 73 20 3d 20 4f 5f 43 52 45 41 54 20 7c 20 4f 5f 57 52 4f w;...int.flags.=.O_CREAT.|.O_WRO
126a0 4e 4c 59 20 7c 20 4f 5f 42 49 4e 41 52 59 3b 0a 20 20 69 66 28 20 66 6f 72 63 65 20 29 20 66 6c NLY.|.O_BINARY;...if(.force.).fl
126c0 61 67 73 20 7c 3d 20 4f 5f 54 52 55 4e 43 3b 20 65 6c 73 65 20 66 6c 61 67 73 20 7c 3d 20 4f 5f ags.|=.O_TRUNC;.else.flags.|=.O_
126e0 45 58 43 4c 3b 0a 0a 20 20 6f 75 74 66 64 20 3d 20 6f 70 65 6e 28 20 6f 75 74 70 75 74 5f 66 69 EXCL;....outfd.=.open(.output_fi
12700 6c 65 6e 61 6d 65 2e 63 5f 73 74 72 28 29 2c 20 66 6c 61 67 73 2c 20 6f 75 74 66 64 5f 6d 6f 64 lename.c_str(),.flags,.outfd_mod
12720 65 20 29 3b 0a 20 20 69 66 28 20 6f 75 74 66 64 20 3e 3d 20 30 20 29 20 64 65 6c 65 74 65 5f 6f e.);...if(.outfd.>=.0.).delete_o
12740 75 74 70 75 74 5f 6f 6e 5f 69 6e 74 65 72 72 75 70 74 20 3d 20 74 72 75 65 3b 0a 20 20 65 6c 73 utput_on_interrupt.=.true;...els
12760 65 20 69 66 28 20 76 65 72 62 6f 73 69 74 79 20 3e 3d 20 30 20 29 0a 20 20 20 20 7b 0a 20 20 20 e.if(.verbosity.>=.0.).....{....
12780 20 69 66 28 20 65 72 72 6e 6f 20 3d 3d 20 45 45 58 49 53 54 20 29 0a 20 20 20 20 20 20 73 74 64 .if(.errno.==.EEXIST.).......std
127a0 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 65 72 72 2c 20 22 25 73 3a 20 4f 75 74 70 75 74 20 66 ::fprintf(.stderr,."%s:.Output.f
127c0 69 6c 65 20 27 25 73 27 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 73 2c 20 73 6b 69 70 70 69 6e ile.'%s'.already.exists,.skippin
127e0 67 2e 5c 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 67 72 g.\n",.....................progr
12800 61 6d 5f 6e 61 6d 65 2c 20 6f 75 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 2e 63 5f 73 74 72 28 29 am_name,.output_filename.c_str()
12820 20 29 3b 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 28 .);.....else.......std::fprintf(
12840 20 73 74 64 65 72 72 2c 20 22 25 73 3a 20 43 61 6e 27 74 20 63 72 65 61 74 65 20 6f 75 74 70 75 .stderr,."%s:.Can't.create.outpu
12860 74 20 66 69 6c 65 20 27 25 73 27 3a 20 25 73 5c 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 t.file.'%s':.%s\n",.............
12880 20 20 20 20 20 20 20 20 70 72 6f 67 72 61 6d 5f 6e 61 6d 65 2c 20 6f 75 74 70 75 74 5f 66 69 6c ........program_name,.output_fil
128a0 65 6e 61 6d 65 2e 63 5f 73 74 72 28 29 2c 20 73 74 64 3a 3a 73 74 72 65 72 72 6f 72 28 20 65 72 ename.c_str(),.std::strerror(.er
128c0 72 6e 6f 20 29 20 29 3b 0a 20 20 20 20 7d 0a 20 20 72 65 74 75 72 6e 20 28 20 6f 75 74 66 64 20 rno.).);.....}...return.(.outfd.
128e0 3e 3d 20 30 20 29 3b 0a 20 20 7d 0a 0a 0a 62 6f 6f 6c 20 63 68 65 63 6b 5f 74 74 79 28 20 63 6f >=.0.);...}...bool.check_tty(.co
12900 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 69 6e 70 75 74 5f 66 69 6c 65 6e 61 6d 65 2c nst.char.*.const.input_filename,
12920 20 63 6f 6e 73 74 20 69 6e 74 20 69 6e 66 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .const.int.infd,................
12940 20 63 6f 6e 73 74 20 4d 6f 64 65 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 29 0a 20 20 7b 0a 20 .const.Mode.program_mode.)...{..
12960 20 69 66 28 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 3d 3d 20 6d 5f 63 6f 6d 70 72 65 73 73 20 .if(.program_mode.==.m_compress.
12980 26 26 20 69 73 61 74 74 79 28 20 6f 75 74 66 64 20 29 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 73 &&.isatty(.outfd.).).....{.....s
129a0 68 6f 77 5f 65 72 72 6f 72 28 20 22 49 20 77 6f 6e 27 74 20 77 72 69 74 65 20 63 6f 6d 70 72 65 how_error(."I.won't.write.compre
129c0 73 73 65 64 20 64 61 74 61 20 74 6f 20 61 20 74 65 72 6d 69 6e 61 6c 2e 22 2c 20 30 2c 20 74 72 ssed.data.to.a.terminal.",.0,.tr
129e0 75 65 20 29 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 7d 0a 20 20 ue.);.....return.false;.....}...
12a00 69 66 28 20 28 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 3d 3d 20 6d 5f 64 65 63 6f 6d 70 72 65 if(.(.program_mode.==.m_decompre
12a20 73 73 20 7c 7c 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 3d 3d 20 6d 5f 74 65 73 74 20 29 20 26 ss.||.program_mode.==.m_test.).&
12a40 26 0a 20 20 20 20 20 20 69 73 61 74 74 79 28 20 69 6e 66 64 20 29 20 29 0a 20 20 20 20 7b 0a 20 &.......isatty(.infd.).).....{..
12a60 20 20 20 73 68 6f 77 5f 66 69 6c 65 5f 65 72 72 6f 72 28 20 69 6e 70 75 74 5f 66 69 6c 65 6e 61 ...show_file_error(.input_filena
12a80 6d 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 49 20 77 6f 6e 27 me,......................"I.won'
12aa0 74 20 72 65 61 64 20 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 20 66 72 6f 6d 20 61 20 74 65 t.read.compressed.data.from.a.te
12ac0 72 6d 69 6e 61 6c 2e 22 20 29 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 rminal.".);.....return.false;...
12ae0 20 20 7d 0a 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 7d 0a 0a 0a 76 6f 69 64 20 63 6c ..}...return.true;...}...void.cl
12b00 65 61 6e 75 70 5f 61 6e 64 5f 66 61 69 6c 28 20 63 6f 6e 73 74 20 69 6e 74 20 72 65 74 76 61 6c eanup_and_fail(.const.int.retval
12b20 20 29 0a 20 20 7b 0a 20 20 69 66 28 20 64 65 6c 65 74 65 5f 6f 75 74 70 75 74 5f 6f 6e 5f 69 6e .)...{...if(.delete_output_on_in
12b40 74 65 72 72 75 70 74 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 64 65 6c 65 74 65 5f 6f 75 74 70 75 terrupt.).....{.....delete_outpu
12b60 74 5f 6f 6e 5f 69 6e 74 65 72 72 75 70 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 69 66 28 20 t_on_interrupt.=.false;.....if(.
12b80 76 65 72 62 6f 73 69 74 79 20 3e 3d 20 30 20 29 0a 20 20 20 20 20 20 73 74 64 3a 3a 66 70 72 69 verbosity.>=.0.).......std::fpri
12ba0 6e 74 66 28 20 73 74 64 65 72 72 2c 20 22 25 73 3a 20 44 65 6c 65 74 69 6e 67 20 6f 75 74 70 75 ntf(.stderr,."%s:.Deleting.outpu
12bc0 74 20 66 69 6c 65 20 27 25 73 27 2c 20 69 66 20 69 74 20 65 78 69 73 74 73 2e 5c 6e 22 2c 0a 20 t.file.'%s',.if.it.exists.\n",..
12be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 67 72 61 6d 5f 6e 61 6d 65 2c ...................program_name,
12c00 20 6f 75 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 2e 63 5f 73 74 72 28 29 20 29 3b 0a 20 20 20 20 .output_filename.c_str().);.....
12c20 69 66 28 20 6f 75 74 66 64 20 3e 3d 20 30 20 29 20 7b 20 63 6c 6f 73 65 28 20 6f 75 74 66 64 20 if(.outfd.>=.0.).{.close(.outfd.
12c40 29 3b 20 6f 75 74 66 64 20 3d 20 2d 31 3b 20 7d 0a 20 20 20 20 69 66 28 20 73 74 64 3a 3a 72 65 );.outfd.=.-1;.}.....if(.std::re
12c60 6d 6f 76 65 28 20 6f 75 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 2e 63 5f 73 74 72 28 29 20 29 20 move(.output_filename.c_str().).
12c80 21 3d 20 30 20 26 26 20 65 72 72 6e 6f 20 21 3d 20 45 4e 4f 45 4e 54 20 29 0a 20 20 20 20 20 20 !=.0.&&.errno.!=.ENOENT.).......
12ca0 73 68 6f 77 5f 65 72 72 6f 72 28 20 22 57 41 52 4e 49 4e 47 3a 20 64 65 6c 65 74 69 6f 6e 20 6f show_error(."WARNING:.deletion.o
12cc0 66 20 6f 75 74 70 75 74 20 66 69 6c 65 20 28 61 70 70 61 72 65 6e 74 6c 79 29 20 66 61 69 6c 65 f.output.file.(apparently).faile
12ce0 64 2e 22 20 29 3b 0a 20 20 20 20 7d 0a 20 20 73 74 64 3a 3a 65 78 69 74 28 20 72 65 74 76 61 6c d.".);.....}...std::exit(.retval
12d00 20 29 3b 0a 20 20 7d 0a 0a 0a 20 20 20 20 20 2f 2f 20 53 65 74 20 70 65 72 6d 69 73 73 69 6f 6e .);...}........//.Set.permission
12d20 73 2c 20 6f 77 6e 65 72 20 61 6e 64 20 74 69 6d 65 73 2e 0a 76 6f 69 64 20 63 6c 6f 73 65 5f 61 s,.owner.and.times..void.close_a
12d40 6e 64 5f 73 65 74 5f 70 65 72 6d 69 73 73 69 6f 6e 73 28 20 63 6f 6e 73 74 20 73 74 72 75 63 74 nd_set_permissions(.const.struct
12d60 20 73 74 61 74 20 2a 20 63 6f 6e 73 74 20 69 6e 5f 73 74 61 74 73 70 20 29 0a 20 20 7b 0a 20 20 .stat.*.const.in_statsp.)...{...
12d80 62 6f 6f 6c 20 77 61 72 6e 69 6e 67 20 3d 20 66 61 6c 73 65 3b 0a 20 20 69 66 28 20 69 6e 5f 73 bool.warning.=.false;...if(.in_s
12da0 74 61 74 73 70 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 6d 6f 64 65 5f 74 20 6d tatsp.).....{.....const.mode_t.m
12dc0 6f 64 65 20 3d 20 69 6e 5f 73 74 61 74 73 70 2d 3e 73 74 5f 6d 6f 64 65 3b 0a 20 20 20 20 2f 2f ode.=.in_statsp->st_mode;.....//
12de0 20 66 63 68 6f 77 6e 20 77 69 6c 6c 20 69 6e 20 6d 61 6e 79 20 63 61 73 65 73 20 72 65 74 75 72 .fchown.will.in.many.cases.retur
12e00 6e 20 77 69 74 68 20 45 50 45 52 4d 2c 20 77 68 69 63 68 20 63 61 6e 20 62 65 20 73 61 66 65 6c n.with.EPERM,.which.can.be.safel
12e20 79 20 69 67 6e 6f 72 65 64 2e 0a 20 20 20 20 69 66 28 20 66 63 68 6f 77 6e 28 20 6f 75 74 66 64 y.ignored......if(.fchown(.outfd
12e40 2c 20 69 6e 5f 73 74 61 74 73 70 2d 3e 73 74 5f 75 69 64 2c 20 69 6e 5f 73 74 61 74 73 70 2d 3e ,.in_statsp->st_uid,.in_statsp->
12e60 73 74 5f 67 69 64 20 29 20 3d 3d 20 30 20 29 0a 20 20 20 20 20 20 7b 20 69 66 28 20 66 63 68 6d st_gid.).==.0.).......{.if(.fchm
12e80 6f 64 28 20 6f 75 74 66 64 2c 20 6d 6f 64 65 20 29 20 21 3d 20 30 20 29 20 77 61 72 6e 69 6e 67 od(.outfd,.mode.).!=.0.).warning
12ea0 20 3d 20 74 72 75 65 3b 20 7d 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 69 66 28 20 65 72 .=.true;.}.....else.......if(.er
12ec0 72 6e 6f 20 21 3d 20 45 50 45 52 4d 20 7c 7c 0a 20 20 20 20 20 20 20 20 20 20 66 63 68 6d 6f 64 rno.!=.EPERM.||...........fchmod
12ee0 28 20 6f 75 74 66 64 2c 20 6d 6f 64 65 20 26 20 7e 28 20 53 5f 49 53 55 49 44 20 7c 20 53 5f 49 (.outfd,.mode.&.~(.S_ISUID.|.S_I
12f00 53 47 49 44 20 7c 20 53 5f 49 53 56 54 58 20 29 20 29 20 21 3d 20 30 20 29 0a 20 20 20 20 20 20 SGID.|.S_ISVTX.).).!=.0.).......
12f20 20 20 77 61 72 6e 69 6e 67 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 7d 0a 20 20 69 66 28 20 63 6c ..warning.=.true;.....}...if(.cl
12f40 6f 73 65 28 20 6f 75 74 66 64 20 29 20 21 3d 20 30 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 73 68 ose(.outfd.).!=.0.).....{.....sh
12f60 6f 77 5f 65 72 72 6f 72 28 20 22 45 72 72 6f 72 20 63 6c 6f 73 69 6e 67 20 6f 75 74 70 75 74 20 ow_error(."Error.closing.output.
12f80 66 69 6c 65 22 2c 20 65 72 72 6e 6f 20 29 3b 0a 20 20 20 20 63 6c 65 61 6e 75 70 5f 61 6e 64 5f file",.errno.);.....cleanup_and_
12fa0 66 61 69 6c 28 20 31 20 29 3b 0a 20 20 20 20 7d 0a 20 20 6f 75 74 66 64 20 3d 20 2d 31 3b 0a 20 fail(.1.);.....}...outfd.=.-1;..
12fc0 20 64 65 6c 65 74 65 5f 6f 75 74 70 75 74 5f 6f 6e 5f 69 6e 74 65 72 72 75 70 74 20 3d 20 66 61 .delete_output_on_interrupt.=.fa
12fe0 6c 73 65 3b 0a 20 20 69 66 28 20 69 6e 5f 73 74 61 74 73 70 20 29 0a 20 20 20 20 7b 0a 20 20 20 lse;...if(.in_statsp.).....{....
13000 20 73 74 72 75 63 74 20 75 74 69 6d 62 75 66 20 74 3b 0a 20 20 20 20 74 2e 61 63 74 69 6d 65 20 .struct.utimbuf.t;.....t.actime.
13020 3d 20 69 6e 5f 73 74 61 74 73 70 2d 3e 73 74 5f 61 74 69 6d 65 3b 0a 20 20 20 20 74 2e 6d 6f 64 =.in_statsp->st_atime;.....t.mod
13040 74 69 6d 65 20 3d 20 69 6e 5f 73 74 61 74 73 70 2d 3e 73 74 5f 6d 74 69 6d 65 3b 0a 20 20 20 20 time.=.in_statsp->st_mtime;.....
13060 69 66 28 20 75 74 69 6d 65 28 20 6f 75 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 2e 63 5f 73 74 72 if(.utime(.output_filename.c_str
13080 28 29 2c 20 26 74 20 29 20 21 3d 20 30 20 29 20 77 61 72 6e 69 6e 67 20 3d 20 74 72 75 65 3b 0a (),.&t.).!=.0.).warning.=.true;.
130a0 20 20 20 20 7d 0a 20 20 69 66 28 20 77 61 72 6e 69 6e 67 20 26 26 20 76 65 72 62 6f 73 69 74 79 ....}...if(.warning.&&.verbosity
130c0 20 3e 3d 20 31 20 29 0a 20 20 20 20 73 68 6f 77 5f 65 72 72 6f 72 28 20 22 43 61 6e 27 74 20 63 .>=.1.).....show_error(."Can't.c
130e0 68 61 6e 67 65 20 6f 75 74 70 75 74 20 66 69 6c 65 20 61 74 74 72 69 62 75 74 65 73 2e 22 20 29 hange.output.file.attributes.".)
13100 3b 0a 20 20 7d 0a 0a 0a 62 6f 6f 6c 20 6e 65 78 74 5f 66 69 6c 65 6e 61 6d 65 28 29 0a 20 20 7b ;...}...bool.next_filename()...{
13120 0a 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6e 61 6d 65 5f 6c 65 6e 20 3d 20 6f 75 74 ...const.unsigned.name_len.=.out
13140 70 75 74 5f 66 69 6c 65 6e 61 6d 65 2e 73 69 7a 65 28 29 3b 0a 20 20 63 6f 6e 73 74 20 75 6e 73 put_filename.size();...const.uns
13160 69 67 6e 65 64 20 65 78 74 5f 6c 65 6e 20 3d 20 73 74 64 3a 3a 73 74 72 6c 65 6e 28 20 6b 6e 6f igned.ext_len.=.std::strlen(.kno
13180 77 6e 5f 65 78 74 65 6e 73 69 6f 6e 73 5b 30 5d 2e 66 72 6f 6d 20 29 3b 0a 20 20 69 66 28 20 6e wn_extensions[0].from.);...if(.n
131a0 61 6d 65 5f 6c 65 6e 20 3e 3d 20 65 78 74 5f 6c 65 6e 20 2b 20 35 20 29 09 09 09 09 2f 2f 20 22 ame_len.>=.ext_len.+.5.)....//."
131c0 2a 30 30 30 30 31 2e 6c 7a 22 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 6e 61 6d 65 *00001.lz".....for(.int.i.=.name
131e0 5f 6c 65 6e 20 2d 20 65 78 74 5f 6c 65 6e 20 2d 20 31 2c 20 6a 20 3d 20 30 3b 20 6a 20 3c 20 35 _len.-.ext_len.-.1,.j.=.0;.j.<.5
13200 3b 20 2d 2d 69 2c 20 2b 2b 6a 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 69 66 28 20 6f ;.--i,.++j.).......{.......if(.o
13220 75 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 5b 69 5d 20 3c 20 27 39 27 20 29 20 7b 20 2b 2b 6f 75 utput_filename[i].<.'9'.).{.++ou
13240 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 5b 69 5d 3b 20 72 65 74 75 72 6e 20 74 72 75 65 3b 20 7d tput_filename[i];.return.true;.}
13260 0a 20 20 20 20 20 20 65 6c 73 65 20 6f 75 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 5b 69 5d 20 3d .......else.output_filename[i].=
13280 20 27 30 27 3b 0a 20 20 20 20 20 20 7d 0a 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 .'0';.......}...return.false;...
132a0 7d 0a 0a 0a 69 6e 74 20 63 6f 6d 70 72 65 73 73 28 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 }...int.compress(.const.unsigned
132c0 20 6c 6f 6e 67 20 6c 6f 6e 67 20 63 66 69 6c 65 5f 73 69 7a 65 2c 0a 20 20 20 20 20 20 20 20 20 .long.long.cfile_size,..........
132e0 20 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6d 65 .....const.unsigned.long.long.me
13300 6d 62 65 72 5f 73 69 7a 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 75 mber_size,...............const.u
13320 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 76 6f 6c 75 6d 65 5f 73 69 7a 65 2c 20 63 nsigned.long.long.volume_size,.c
13340 6f 6e 73 74 20 69 6e 74 20 69 6e 66 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e onst.int.infd,...............con
13360 73 74 20 4c 7a 6d 61 5f 6f 70 74 69 6f 6e 73 20 26 20 65 6e 63 6f 64 65 72 5f 6f 70 74 69 6f 6e st.Lzma_options.&.encoder_option
13380 73 2c 20 63 6f 6e 73 74 20 50 72 65 74 74 79 5f 70 72 69 6e 74 20 26 20 70 70 2c 0a 20 20 20 20 s,.const.Pretty_print.&.pp,.....
133a0 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 73 74 61 74 20 2a 20 63 6f ..........const.struct.stat.*.co
133c0 6e 73 74 20 69 6e 5f 73 74 61 74 73 70 2c 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 7a 65 72 6f 20 29 nst.in_statsp,.const.bool.zero.)
133e0 0a 20 20 7b 0a 20 20 69 6e 74 20 72 65 74 76 61 6c 20 3d 20 30 3b 0a 20 20 4c 5a 5f 65 6e 63 6f ...{...int.retval.=.0;...LZ_enco
13400 64 65 72 5f 62 61 73 65 20 2a 20 65 6e 63 6f 64 65 72 20 3d 20 30 3b 09 09 2f 2f 20 70 6f 6c 79 der_base.*.encoder.=.0;..//.poly
13420 6d 6f 72 70 68 69 63 20 65 6e 63 6f 64 65 72 0a 20 20 69 66 28 20 76 65 72 62 6f 73 69 74 79 20 morphic.encoder...if(.verbosity.
13440 3e 3d 20 31 20 29 20 70 70 28 29 3b 0a 0a 20 20 74 72 79 20 7b 0a 20 20 20 20 69 66 28 20 7a 65 >=.1.).pp();....try.{.....if(.ze
13460 72 6f 20 29 0a 20 20 20 20 20 20 65 6e 63 6f 64 65 72 20 3d 20 6e 65 77 20 46 4c 5a 5f 65 6e 63 ro.).......encoder.=.new.FLZ_enc
13480 6f 64 65 72 28 20 69 6e 66 64 2c 20 6f 75 74 66 64 20 29 3b 0a 20 20 20 20 65 6c 73 65 0a 20 20 oder(.infd,.outfd.);.....else...
134a0 20 20 20 20 7b 0a 20 20 20 20 20 20 46 69 6c 65 5f 68 65 61 64 65 72 20 68 65 61 64 65 72 3b 0a ....{.......File_header.header;.
134c0 20 20 20 20 20 20 69 66 28 20 68 65 61 64 65 72 2e 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 ......if(.header.dictionary_size
134e0 28 20 65 6e 63 6f 64 65 72 5f 6f 70 74 69 6f 6e 73 2e 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a (.encoder_options.dictionary_siz
13500 65 20 29 20 26 26 0a 20 20 20 20 20 20 20 20 20 20 65 6e 63 6f 64 65 72 5f 6f 70 74 69 6f 6e 73 e.).&&...........encoder_options
13520 2e 6d 61 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 74 20 3e 3d 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 .match_len_limit.>=.min_match_le
13540 6e 5f 6c 69 6d 69 74 20 26 26 0a 20 20 20 20 20 20 20 20 20 20 65 6e 63 6f 64 65 72 5f 6f 70 74 n_limit.&&...........encoder_opt
13560 69 6f 6e 73 2e 6d 61 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 74 20 3c 3d 20 6d 61 78 5f 6d 61 74 63 ions.match_len_limit.<=.max_matc
13580 68 5f 6c 65 6e 20 29 0a 20 20 20 20 20 20 20 20 65 6e 63 6f 64 65 72 20 3d 20 6e 65 77 20 4c 5a h_len.).........encoder.=.new.LZ
135a0 5f 65 6e 63 6f 64 65 72 28 20 68 65 61 64 65 72 2e 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 _encoder(.header.dictionary_size
135c0 28 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (),.............................
135e0 20 20 20 20 20 20 65 6e 63 6f 64 65 72 5f 6f 70 74 69 6f 6e 73 2e 6d 61 74 63 68 5f 6c 65 6e 5f ......encoder_options.match_len_
13600 6c 69 6d 69 74 2c 20 69 6e 66 64 2c 20 6f 75 74 66 64 20 29 3b 0a 20 20 20 20 20 20 65 6c 73 65 limit,.infd,.outfd.);.......else
13620 20 69 6e 74 65 72 6e 61 6c 5f 65 72 72 6f 72 28 20 22 69 6e 76 61 6c 69 64 20 61 72 67 75 6d 65 .internal_error(."invalid.argume
13640 6e 74 20 74 6f 20 65 6e 63 6f 64 65 72 2e 22 20 29 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 nt.to.encoder.".);.......}......
13660 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 69 6e 5f 73 69 7a 65 20 3d 20 30 2c 20 unsigned.long.long.in_size.=.0,.
13680 6f 75 74 5f 73 69 7a 65 20 3d 20 30 2c 20 70 61 72 74 69 61 6c 5f 76 6f 6c 75 6d 65 5f 73 69 7a out_size.=.0,.partial_volume_siz
136a0 65 20 3d 20 30 3b 0a 20 20 20 20 77 68 69 6c 65 28 20 74 72 75 65 20 29 09 09 2f 2f 20 65 6e 63 e.=.0;.....while(.true.)..//.enc
136c0 6f 64 65 20 6f 6e 65 20 6d 65 6d 62 65 72 20 70 65 72 20 69 74 65 72 61 74 69 6f 6e 0a 20 20 20 ode.one.member.per.iteration....
136e0 20 20 20 7b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c ...{.......const.unsigned.long.l
13700 6f 6e 67 20 73 69 7a 65 20 3d 20 28 20 76 6f 6c 75 6d 65 5f 73 69 7a 65 20 3e 20 30 20 29 20 3f ong.size.=.(.volume_size.>.0.).?
13720 0a 20 20 20 20 20 20 20 20 73 74 64 3a 3a 6d 69 6e 28 20 6d 65 6d 62 65 72 5f 73 69 7a 65 2c 20 .........std::min(.member_size,.
13740 76 6f 6c 75 6d 65 5f 73 69 7a 65 20 2d 20 70 61 72 74 69 61 6c 5f 76 6f 6c 75 6d 65 5f 73 69 7a volume_size.-.partial_volume_siz
13760 65 20 29 20 3a 20 6d 65 6d 62 65 72 5f 73 69 7a 65 3b 0a 20 20 20 20 20 20 73 68 6f 77 5f 63 70 e.).:.member_size;.......show_cp
13780 72 6f 67 72 65 73 73 28 20 63 66 69 6c 65 5f 73 69 7a 65 2c 20 69 6e 5f 73 69 7a 65 2c 20 65 6e rogress(.cfile_size,.in_size,.en
137a0 63 6f 64 65 72 2c 20 26 70 70 20 29 3b 09 2f 2f 20 69 6e 69 74 0a 20 20 20 20 20 20 69 66 28 20 coder,.&pp.);.//.init.......if(.
137c0 21 65 6e 63 6f 64 65 72 2d 3e 65 6e 63 6f 64 65 5f 6d 65 6d 62 65 72 28 20 73 69 7a 65 20 29 20 !encoder->encode_member(.size.).
137e0 29 0a 20 20 20 20 20 20 20 20 7b 20 70 70 28 20 22 45 6e 63 6f 64 65 72 20 65 72 72 6f 72 2e 22 ).........{.pp(."Encoder.error."
13800 20 29 3b 20 72 65 74 76 61 6c 20 3d 20 31 3b 20 62 72 65 61 6b 3b 20 7d 0a 20 20 20 20 20 20 69 .);.retval.=.1;.break;.}.......i
13820 6e 5f 73 69 7a 65 20 2b 3d 20 65 6e 63 6f 64 65 72 2d 3e 64 61 74 61 5f 70 6f 73 69 74 69 6f 6e n_size.+=.encoder->data_position
13840 28 29 3b 0a 20 20 20 20 20 20 6f 75 74 5f 73 69 7a 65 20 2b 3d 20 65 6e 63 6f 64 65 72 2d 3e 6d ();.......out_size.+=.encoder->m
13860 65 6d 62 65 72 5f 70 6f 73 69 74 69 6f 6e 28 29 3b 0a 20 20 20 20 20 20 69 66 28 20 65 6e 63 6f ember_position();.......if(.enco
13880 64 65 72 2d 3e 64 61 74 61 5f 66 69 6e 69 73 68 65 64 28 29 20 29 20 62 72 65 61 6b 3b 0a 20 20 der->data_finished().).break;...
138a0 20 20 20 20 69 66 28 20 76 6f 6c 75 6d 65 5f 73 69 7a 65 20 3e 20 30 20 29 0a 20 20 20 20 20 20 ....if(.volume_size.>.0.).......
138c0 20 20 7b 0a 20 20 20 20 20 20 20 20 70 61 72 74 69 61 6c 5f 76 6f 6c 75 6d 65 5f 73 69 7a 65 20 ..{.........partial_volume_size.
138e0 2b 3d 20 65 6e 63 6f 64 65 72 2d 3e 6d 65 6d 62 65 72 5f 70 6f 73 69 74 69 6f 6e 28 29 3b 0a 20 +=.encoder->member_position();..
13900 20 20 20 20 20 20 20 69 66 28 20 70 61 72 74 69 61 6c 5f 76 6f 6c 75 6d 65 5f 73 69 7a 65 20 3e .......if(.partial_volume_size.>
13920 3d 20 76 6f 6c 75 6d 65 5f 73 69 7a 65 20 2d 20 6d 69 6e 5f 64 69 63 74 69 6f 6e 61 72 79 5f 73 =.volume_size.-.min_dictionary_s
13940 69 7a 65 20 29 0a 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 70 61 72 74 ize.)...........{...........part
13960 69 61 6c 5f 76 6f 6c 75 6d 65 5f 73 69 7a 65 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 69 ial_volume_size.=.0;...........i
13980 66 28 20 64 65 6c 65 74 65 5f 6f 75 74 70 75 74 5f 6f 6e 5f 69 6e 74 65 72 72 75 70 74 20 29 0a f(.delete_output_on_interrupt.).
139a0 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6c 6f 73 65 5f ............{.............close_
139c0 61 6e 64 5f 73 65 74 5f 70 65 72 6d 69 73 73 69 6f 6e 73 28 20 69 6e 5f 73 74 61 74 73 70 20 29 and_set_permissions(.in_statsp.)
139e0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 28 20 21 6e 65 78 74 5f 66 69 6c 65 6e 61 6d 65 ;.............if(.!next_filename
13a00 28 29 20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 70 70 28 20 22 54 6f 6f 20 6d 61 ().)...............{.pp(."Too.ma
13a20 6e 79 20 76 6f 6c 75 6d 65 20 66 69 6c 65 73 2e 22 20 29 3b 20 72 65 74 76 61 6c 20 3d 20 31 3b ny.volume.files.".);.retval.=.1;
13a40 20 62 72 65 61 6b 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 28 20 21 6f 70 65 6e 5f .break;.}.............if(.!open_
13a60 6f 75 74 73 74 72 65 61 6d 28 20 74 72 75 65 2c 20 21 69 6e 5f 73 74 61 74 73 70 20 29 20 29 20 outstream(.true,.!in_statsp.).).
13a80 7b 20 72 65 74 76 61 6c 20 3d 20 31 3b 20 62 72 65 61 6b 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 {.retval.=.1;.break;.}..........
13aa0 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 ...}...........}.........}......
13ac0 20 65 6e 63 6f 64 65 72 2d 3e 72 65 73 65 74 28 29 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 .encoder->reset();.......}......
13ae0 69 66 28 20 72 65 74 76 61 6c 20 3d 3d 20 30 20 26 26 20 76 65 72 62 6f 73 69 74 79 20 3e 3d 20 if(.retval.==.0.&&.verbosity.>=.
13b00 31 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 69 66 28 20 69 6e 5f 73 69 7a 65 20 3d 3d 1.).......{.......if(.in_size.==
13b20 20 30 20 7c 7c 20 6f 75 74 5f 73 69 7a 65 20 3d 3d 20 30 20 29 0a 20 20 20 20 20 20 20 20 73 74 .0.||.out_size.==.0.).........st
13b40 64 3a 3a 66 70 75 74 73 28 20 22 20 6e 6f 20 64 61 74 61 20 63 6f 6d 70 72 65 73 73 65 64 2e 5c d::fputs(.".no.data.compressed.\
13b60 6e 22 2c 20 73 74 64 65 72 72 20 29 3b 0a 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 n",.stderr.);.......else........
13b80 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 65 72 72 2c 20 22 25 36 2e 33 66 3a 31 2c .std::fprintf(.stderr,."%6.3f:1,
13ba0 20 25 35 2e 32 66 25 25 20 72 61 74 69 6f 2c 20 25 35 2e 32 66 25 25 20 73 61 76 65 64 2c 20 22 .%5.2f%%.ratio,.%5.2f%%.saved,."
13bc0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 ..............................."
13be0 25 6c 6c 75 20 69 6e 2c 20 25 6c 6c 75 20 6f 75 74 2e 5c 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 %llu.in,.%llu.out.\n",..........
13c00 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 75 62 6c 65 29 69 6e 5f 73 69 7a 65 20 2f 20 6f .............(double)in_size./.o
13c20 75 74 5f 73 69 7a 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ut_size,.......................(
13c40 20 31 30 30 2e 30 20 2a 20 6f 75 74 5f 73 69 7a 65 20 29 20 2f 20 69 6e 5f 73 69 7a 65 2c 0a 20 .100.0.*.out_size.)./.in_size,..
13c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31 30 30 2e 30 20 2d 20 28 20 28 .....................100.0.-.(.(
13c80 20 31 30 30 2e 30 20 2a 20 6f 75 74 5f 73 69 7a 65 20 29 20 2f 20 69 6e 5f 73 69 7a 65 20 29 2c .100.0.*.out_size.)./.in_size.),
13ca0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 5f 73 69 7a 65 2c 20 .......................in_size,.
13cc0 6f 75 74 5f 73 69 7a 65 20 29 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 63 61 74 63 out_size.);.......}.....}...catc
13ce0 68 28 20 73 74 64 3a 3a 62 61 64 5f 61 6c 6c 6f 63 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 70 70 h(.std::bad_alloc.).....{.....pp
13d00 28 20 22 4e 6f 74 20 65 6e 6f 75 67 68 20 6d 65 6d 6f 72 79 2e 20 54 72 79 20 61 20 73 6d 61 6c (."Not.enough.memory..Try.a.smal
13d20 6c 65 72 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 2e 22 20 29 3b 0a 20 20 20 20 72 65 74 ler.dictionary.size.".);.....ret
13d40 76 61 6c 20 3d 20 31 3b 0a 20 20 20 20 7d 0a 20 20 63 61 74 63 68 28 20 45 72 72 6f 72 20 65 20 val.=.1;.....}...catch(.Error.e.
13d60 29 20 7b 20 70 70 28 29 3b 20 73 68 6f 77 5f 65 72 72 6f 72 28 20 65 2e 6d 73 67 2c 20 65 72 72 ).{.pp();.show_error(.e.msg,.err
13d80 6e 6f 20 29 3b 20 72 65 74 76 61 6c 20 3d 20 31 3b 20 7d 0a 20 20 64 65 6c 65 74 65 20 65 6e 63 no.);.retval.=.1;.}...delete.enc
13da0 6f 64 65 72 3b 0a 20 20 72 65 74 75 72 6e 20 72 65 74 76 61 6c 3b 0a 20 20 7d 0a 0a 0a 75 6e 73 oder;...return.retval;...}...uns
13dc0 69 67 6e 65 64 20 63 68 61 72 20 78 64 69 67 69 74 28 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 igned.char.xdigit(.const.unsigne
13de0 64 20 76 61 6c 75 65 20 29 0a 20 20 7b 0a 20 20 69 66 28 20 76 61 6c 75 65 20 3c 3d 20 39 20 29 d.value.)...{...if(.value.<=.9.)
13e00 20 72 65 74 75 72 6e 20 27 30 27 20 2b 20 76 61 6c 75 65 3b 0a 20 20 69 66 28 20 76 61 6c 75 65 .return.'0'.+.value;...if(.value
13e20 20 3c 3d 20 31 35 20 29 20 72 65 74 75 72 6e 20 27 41 27 20 2b 20 76 61 6c 75 65 20 2d 20 31 30 .<=.15.).return.'A'.+.value.-.10
13e40 3b 0a 20 20 72 65 74 75 72 6e 20 30 3b 0a 20 20 7d 0a 0a 0a 62 6f 6f 6c 20 73 68 6f 77 5f 74 72 ;...return.0;...}...bool.show_tr
13e60 61 69 6c 69 6e 67 5f 64 61 74 61 28 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 2a 20 63 6f 6e ailing_data(.const.uint8_t.*.con
13e80 73 74 20 64 61 74 61 2c 20 63 6f 6e 73 74 20 69 6e 74 20 73 69 7a 65 2c 0a 20 20 20 20 20 20 20 st.data,.const.int.size,........
13ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 50 72 65 74 74 79 5f 70 ..................const.Pretty_p
13ec0 72 69 6e 74 20 26 20 70 70 2c 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 61 6c 6c 2c 0a 20 20 20 20 20 rint.&.pp,.const.bool.all,......
13ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 69 67 ....................const.int.ig
13f00 6e 6f 72 65 5f 74 72 61 69 6c 69 6e 67 20 29 09 2f 2f 20 2d 31 20 3d 20 73 68 6f 77 0a 20 20 7b nore_trailing.).//.-1.=.show...{
13f20 0a 20 20 69 66 28 20 76 65 72 62 6f 73 69 74 79 20 3e 3d 20 34 20 7c 7c 20 69 67 6e 6f 72 65 5f ...if(.verbosity.>=.4.||.ignore_
13f40 74 72 61 69 6c 69 6e 67 20 3c 3d 20 30 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 73 74 64 3a 3a 73 trailing.<=.0.).....{.....std::s
13f60 74 72 69 6e 67 20 6d 73 67 3b 0a 20 20 20 20 69 66 28 20 21 61 6c 6c 20 29 20 6d 73 67 20 3d 20 tring.msg;.....if(.!all.).msg.=.
13f80 22 66 69 72 73 74 20 62 79 74 65 73 20 6f 66 20 22 3b 0a 20 20 20 20 6d 73 67 20 2b 3d 20 22 74 "first.bytes.of.";.....msg.+=."t
13fa0 72 61 69 6c 69 6e 67 20 64 61 74 61 20 3d 20 22 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 railing.data.=.";.....for(.int.i
13fc0 20 3d 20 30 3b 20 69 20 3c 20 73 69 7a 65 3b 20 2b 2b 69 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 .=.0;.i.<.size;.++i.).......{...
13fe0 20 20 20 20 6d 73 67 20 2b 3d 20 78 64 69 67 69 74 28 20 64 61 74 61 5b 69 5d 20 3e 3e 20 34 20 ....msg.+=.xdigit(.data[i].>>.4.
14000 29 3b 0a 20 20 20 20 20 20 6d 73 67 20 2b 3d 20 78 64 69 67 69 74 28 20 64 61 74 61 5b 69 5d 20 );.......msg.+=.xdigit(.data[i].
14020 26 20 30 78 30 46 20 29 3b 0a 20 20 20 20 20 20 6d 73 67 20 2b 3d 20 27 20 27 3b 0a 20 20 20 20 &.0x0F.);.......msg.+=.'.';.....
14040 20 20 7d 0a 20 20 20 20 6d 73 67 20 2b 3d 20 27 5c 27 27 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e ..}.....msg.+=.'\'';.....for(.in
14060 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 73 69 7a 65 3b 20 2b 2b 69 20 29 0a 20 20 20 20 20 20 7b t.i.=.0;.i.<.size;.++i.).......{
14080 20 69 66 28 20 73 74 64 3a 3a 69 73 70 72 69 6e 74 28 20 64 61 74 61 5b 69 5d 20 29 20 29 20 6d .if(.std::isprint(.data[i].).).m
140a0 73 67 20 2b 3d 20 64 61 74 61 5b 69 5d 3b 20 65 6c 73 65 20 6d 73 67 20 2b 3d 20 27 2e 27 3b 20 sg.+=.data[i];.else.msg.+=.'.';.
140c0 7d 0a 20 20 20 20 6d 73 67 20 2b 3d 20 27 5c 27 27 3b 0a 20 20 20 20 70 70 28 20 6d 73 67 2e 63 }.....msg.+=.'\'';.....pp(.msg.c
140e0 5f 73 74 72 28 29 20 29 3b 0a 20 20 20 20 69 66 28 20 69 67 6e 6f 72 65 5f 74 72 61 69 6c 69 6e _str().);.....if(.ignore_trailin
14100 67 20 3d 3d 20 30 20 29 20 73 68 6f 77 5f 66 69 6c 65 5f 65 72 72 6f 72 28 20 70 70 2e 6e 61 6d g.==.0.).show_file_error(.pp.nam
14120 65 28 29 2c 20 74 72 61 69 6c 69 6e 67 5f 6d 73 67 20 29 3b 0a 20 20 20 20 7d 0a 20 20 72 65 74 e(),.trailing_msg.);.....}...ret
14140 75 72 6e 20 28 20 69 67 6e 6f 72 65 5f 74 72 61 69 6c 69 6e 67 20 3e 20 30 20 29 3b 0a 20 20 7d urn.(.ignore_trailing.>.0.);...}
14160 0a 0a 0a 69 6e 74 20 64 65 63 6f 6d 70 72 65 73 73 28 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 ...int.decompress(.const.unsigne
14180 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 63 66 69 6c 65 5f 73 69 7a 65 2c 20 63 6f 6e 73 74 20 69 6e d.long.long.cfile_size,.const.in
141a0 74 20 69 6e 66 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 50 72 t.infd,.................const.Pr
141c0 65 74 74 79 5f 70 72 69 6e 74 20 26 20 70 70 2c 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 69 67 6e 6f etty_print.&.pp,.const.bool.igno
141e0 72 65 5f 74 72 61 69 6c 69 6e 67 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e re_trailing,.................con
14200 73 74 20 62 6f 6f 6c 20 6c 6f 6f 73 65 5f 74 72 61 69 6c 69 6e 67 2c 20 63 6f 6e 73 74 20 62 6f st.bool.loose_trailing,.const.bo
14220 6f 6c 20 74 65 73 74 69 6e 67 20 29 0a 20 20 7b 0a 20 20 69 6e 74 20 72 65 74 76 61 6c 20 3d 20 ol.testing.)...{...int.retval.=.
14240 30 3b 0a 0a 20 20 74 72 79 20 7b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 0;....try.{.....unsigned.long.lo
14260 6e 67 20 70 61 72 74 69 61 6c 5f 66 69 6c 65 5f 70 6f 73 20 3d 20 30 3b 0a 20 20 20 20 52 61 6e ng.partial_file_pos.=.0;.....Ran
14280 67 65 5f 64 65 63 6f 64 65 72 20 72 64 65 63 28 20 69 6e 66 64 20 29 3b 0a 20 20 20 20 66 6f 72 ge_decoder.rdec(.infd.);.....for
142a0 28 20 62 6f 6f 6c 20 66 69 72 73 74 5f 6d 65 6d 62 65 72 20 3d 20 74 72 75 65 3b 20 3b 20 66 69 (.bool.first_member.=.true;.;.fi
142c0 72 73 74 5f 6d 65 6d 62 65 72 20 3d 20 66 61 6c 73 65 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 rst_member.=.false.).......{....
142e0 20 20 20 46 69 6c 65 5f 68 65 61 64 65 72 20 68 65 61 64 65 72 3b 0a 20 20 20 20 20 20 72 64 65 ...File_header.header;.......rde
14300 63 2e 72 65 73 65 74 5f 6d 65 6d 62 65 72 5f 70 6f 73 69 74 69 6f 6e 28 29 3b 0a 20 20 20 20 20 c.reset_member_position();......
14320 20 63 6f 6e 73 74 20 69 6e 74 20 73 69 7a 65 20 3d 20 72 64 65 63 2e 72 65 61 64 5f 64 61 74 61 .const.int.size.=.rdec.read_data
14340 28 20 68 65 61 64 65 72 2e 64 61 74 61 2c 20 46 69 6c 65 5f 68 65 61 64 65 72 3a 3a 73 69 7a 65 (.header.data,.File_header::size
14360 20 29 3b 0a 20 20 20 20 20 20 69 66 28 20 72 64 65 63 2e 66 69 6e 69 73 68 65 64 28 29 20 29 09 .);.......if(.rdec.finished().).
14380 09 09 2f 2f 20 45 6e 64 20 4f 66 20 46 69 6c 65 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 ..//.End.Of.File.........{......
143a0 20 20 20 69 66 28 20 66 69 72 73 74 5f 6d 65 6d 62 65 72 20 29 0a 20 20 20 20 20 20 20 20 20 20 ...if(.first_member.)...........
143c0 7b 20 73 68 6f 77 5f 66 69 6c 65 5f 65 72 72 6f 72 28 20 70 70 2e 6e 61 6d 65 28 29 2c 20 22 46 {.show_file_error(.pp.name(),."F
143e0 69 6c 65 20 65 6e 64 73 20 75 6e 65 78 70 65 63 74 65 64 6c 79 20 61 74 20 6d 65 6d 62 65 72 20 ile.ends.unexpectedly.at.member.
14400 68 65 61 64 65 72 2e 22 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 76 61 6c 20 3d header.".);.............retval.=
14420 20 32 3b 20 7d 0a 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 28 20 68 65 61 64 65 72 2e 76 65 .2;.}.........else.if(.header.ve
14440 72 69 66 79 5f 70 72 65 66 69 78 28 20 73 69 7a 65 20 29 20 29 0a 20 20 20 20 20 20 20 20 20 20 rify_prefix(.size.).)...........
14460 7b 20 70 70 28 20 22 54 72 75 6e 63 61 74 65 64 20 68 65 61 64 65 72 20 69 6e 20 6d 75 6c 74 69 {.pp(."Truncated.header.in.multi
14480 6d 65 6d 62 65 72 20 66 69 6c 65 2e 22 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 68 6f member.file.".);.............sho
144a0 77 5f 74 72 61 69 6c 69 6e 67 5f 64 61 74 61 28 20 68 65 61 64 65 72 2e 64 61 74 61 2c 20 73 69 w_trailing_data(.header.data,.si
144c0 7a 65 2c 20 70 70 2c 20 74 72 75 65 2c 20 2d 31 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ze,.pp,.true,.-1.);.............
144e0 72 65 74 76 61 6c 20 3d 20 32 3b 20 7d 0a 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 28 20 73 retval.=.2;.}.........else.if(.s
14500 69 7a 65 20 3e 20 30 20 26 26 20 21 73 68 6f 77 5f 74 72 61 69 6c 69 6e 67 5f 64 61 74 61 28 20 ize.>.0.&&.!show_trailing_data(.
14520 68 65 61 64 65 72 2e 64 61 74 61 2c 20 73 69 7a 65 2c 20 70 70 2c 0a 20 20 20 20 20 20 20 20 20 header.data,.size,.pp,..........
14540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
14560 20 20 20 20 20 20 20 20 20 74 72 75 65 2c 20 69 67 6e 6f 72 65 5f 74 72 61 69 6c 69 6e 67 20 29 .........true,.ignore_trailing.)
14580 20 29 0a 20 20 20 20 20 20 20 20 20 20 72 65 74 76 61 6c 20 3d 20 32 3b 0a 20 20 20 20 20 20 20 .)...........retval.=.2;........
145a0 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 69 66 28 20 21 68 65 61 .break;.........}.......if(.!hea
145c0 64 65 72 2e 76 65 72 69 66 79 5f 6d 61 67 69 63 28 29 20 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 der.verify_magic().).........{..
145e0 20 20 20 20 20 20 20 69 66 28 20 66 69 72 73 74 5f 6d 65 6d 62 65 72 20 29 0a 20 20 20 20 20 20 .......if(.first_member.).......
14600 20 20 20 20 7b 20 73 68 6f 77 5f 66 69 6c 65 5f 65 72 72 6f 72 28 20 70 70 2e 6e 61 6d 65 28 29 ....{.show_file_error(.pp.name()
14620 2c 20 62 61 64 5f 6d 61 67 69 63 5f 6d 73 67 20 29 3b 20 72 65 74 76 61 6c 20 3d 20 32 3b 20 7d ,.bad_magic_msg.);.retval.=.2;.}
14640 0a 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 28 20 21 6c 6f 6f 73 65 5f 74 72 61 69 6c 69 6e .........else.if(.!loose_trailin
14660 67 20 26 26 20 68 65 61 64 65 72 2e 76 65 72 69 66 79 5f 63 6f 72 72 75 70 74 28 29 20 29 0a 20 g.&&.header.verify_corrupt().)..
14680 20 20 20 20 20 20 20 20 20 7b 20 70 70 28 20 63 6f 72 72 75 70 74 5f 6d 6d 5f 6d 73 67 20 29 3b .........{.pp(.corrupt_mm_msg.);
146a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 68 6f 77 5f 74 72 61 69 6c 69 6e 67 5f 64 61 74 61 28 .............show_trailing_data(
146c0 20 68 65 61 64 65 72 2e 64 61 74 61 2c 20 73 69 7a 65 2c 20 70 70 2c 20 66 61 6c 73 65 2c 20 2d .header.data,.size,.pp,.false,.-
146e0 31 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 76 61 6c 20 3d 20 32 3b 20 7d 0a 20 1.);.............retval.=.2;.}..
14700 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 28 20 21 73 68 6f 77 5f 74 72 61 69 6c 69 6e 67 5f 64 .......else.if(.!show_trailing_d
14720 61 74 61 28 20 68 65 61 64 65 72 2e 64 61 74 61 2c 20 73 69 7a 65 2c 20 70 70 2c 20 66 61 6c 73 ata(.header.data,.size,.pp,.fals
14740 65 2c 20 69 67 6e 6f 72 65 5f 74 72 61 69 6c 69 6e 67 20 29 20 29 0a 20 20 20 20 20 20 20 20 20 e,.ignore_trailing.).)..........
14760 20 72 65 74 76 61 6c 20 3d 20 32 3b 0a 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 .retval.=.2;.........break;.....
14780 20 20 20 20 7d 0a 20 20 20 20 20 20 69 66 28 20 21 68 65 61 64 65 72 2e 76 65 72 69 66 79 5f 76 ....}.......if(.!header.verify_v
147a0 65 72 73 69 6f 6e 28 29 20 29 0a 20 20 20 20 20 20 20 20 7b 20 70 70 28 20 62 61 64 5f 76 65 72 ersion().).........{.pp(.bad_ver
147c0 73 69 6f 6e 28 20 68 65 61 64 65 72 2e 76 65 72 73 69 6f 6e 28 29 20 29 20 29 3b 20 72 65 74 76 sion(.header.version().).);.retv
147e0 61 6c 20 3d 20 32 3b 20 62 72 65 61 6b 3b 20 7d 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 al.=.2;.break;.}.......const.uns
14800 69 67 6e 65 64 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 3d 20 68 65 61 64 65 72 2e 64 igned.dictionary_size.=.header.d
14820 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 28 29 3b 0a 20 20 20 20 20 20 69 66 28 20 21 69 73 76 ictionary_size();.......if(.!isv
14840 61 6c 69 64 5f 64 73 28 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 20 29 0a 20 20 20 alid_ds(.dictionary_size.).)....
14860 20 20 20 20 20 7b 20 70 70 28 20 62 61 64 5f 64 69 63 74 5f 6d 73 67 20 29 3b 20 72 65 74 76 61 .....{.pp(.bad_dict_msg.);.retva
14880 6c 20 3d 20 32 3b 20 62 72 65 61 6b 3b 20 7d 0a 0a 20 20 20 20 20 20 69 66 28 20 76 65 72 62 6f l.=.2;.break;.}........if(.verbo
148a0 73 69 74 79 20 3e 3d 20 32 20 7c 7c 20 28 20 76 65 72 62 6f 73 69 74 79 20 3d 3d 20 31 20 26 26 sity.>=.2.||.(.verbosity.==.1.&&
148c0 20 66 69 72 73 74 5f 6d 65 6d 62 65 72 20 29 20 29 20 70 70 28 29 3b 0a 0a 20 20 20 20 20 20 4c .first_member.).).pp();........L
148e0 5a 5f 64 65 63 6f 64 65 72 20 64 65 63 6f 64 65 72 28 20 72 64 65 63 2c 20 64 69 63 74 69 6f 6e Z_decoder.decoder(.rdec,.diction
14900 61 72 79 5f 73 69 7a 65 2c 20 6f 75 74 66 64 20 29 3b 0a 20 20 20 20 20 20 73 68 6f 77 5f 64 70 ary_size,.outfd.);.......show_dp
14920 72 6f 67 72 65 73 73 28 20 63 66 69 6c 65 5f 73 69 7a 65 2c 20 70 61 72 74 69 61 6c 5f 66 69 6c rogress(.cfile_size,.partial_fil
14940 65 5f 70 6f 73 2c 20 26 72 64 65 63 2c 20 26 70 70 20 29 3b 09 2f 2f 20 69 6e 69 74 0a 20 20 20 e_pos,.&rdec,.&pp.);.//.init....
14960 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 72 65 73 75 6c 74 20 3d 20 64 65 63 6f 64 65 72 2e 64 65 ...const.int.result.=.decoder.de
14980 63 6f 64 65 5f 6d 65 6d 62 65 72 28 20 70 70 20 29 3b 0a 20 20 20 20 20 20 70 61 72 74 69 61 6c code_member(.pp.);.......partial
149a0 5f 66 69 6c 65 5f 70 6f 73 20 2b 3d 20 72 64 65 63 2e 6d 65 6d 62 65 72 5f 70 6f 73 69 74 69 6f _file_pos.+=.rdec.member_positio
149c0 6e 28 29 3b 0a 20 20 20 20 20 20 69 66 28 20 72 65 73 75 6c 74 20 21 3d 20 30 20 29 0a 20 20 20 n();.......if(.result.!=.0.)....
149e0 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 28 20 76 65 72 62 6f 73 69 74 79 20 3e 3d 20 .....{.........if(.verbosity.>=.
14a00 30 20 26 26 20 72 65 73 75 6c 74 20 3c 3d 20 32 20 29 0a 20 20 20 20 20 20 20 20 20 20 7b 0a 20 0.&&.result.<=.2.)...........{..
14a20 20 20 20 20 20 20 20 20 20 70 70 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 73 74 64 3a 3a 66 70 .........pp();...........std::fp
14a40 72 69 6e 74 66 28 20 73 74 64 65 72 72 2c 20 22 25 73 20 61 74 20 70 6f 73 20 25 6c 6c 75 5c 6e rintf(.stderr,."%s.at.pos.%llu\n
14a60 22 2c 20 28 20 72 65 73 75 6c 74 20 3d 3d 20 32 20 29 20 3f 0a 20 20 20 20 20 20 20 20 20 20 20 ",.(.result.==.2.).?............
14a80 20 20 20 20 20 20 20 20 20 20 20 20 20 22 46 69 6c 65 20 65 6e 64 73 20 75 6e 65 78 70 65 63 74 ............."File.ends.unexpect
14aa0 65 64 6c 79 22 20 3a 20 22 44 65 63 6f 64 65 72 20 65 72 72 6f 72 22 2c 0a 20 20 20 20 20 20 20 edly".:."Decoder.error",........
14ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 72 74 69 61 6c 5f 66 69 6c 65 5f 70 6f .................partial_file_po
14ae0 73 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 76 61 6c 20 s.);...........}.........retval.
14b00 3d 20 32 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 69 66 28 20 =.2;.break;.........}.......if(.
14b20 76 65 72 62 6f 73 69 74 79 20 3e 3d 20 32 20 29 0a 20 20 20 20 20 20 20 20 7b 20 73 74 64 3a 3a verbosity.>=.2.).........{.std::
14b40 66 70 75 74 73 28 20 74 65 73 74 69 6e 67 20 3f 20 22 6f 6b 5c 6e 22 20 3a 20 22 64 6f 6e 65 5c fputs(.testing.?."ok\n".:."done\
14b60 6e 22 2c 20 73 74 64 65 72 72 20 29 3b 20 70 70 2e 72 65 73 65 74 28 29 3b 20 7d 0a 20 20 20 20 n",.stderr.);.pp.reset();.}.....
14b80 20 20 7d 0a 20 20 20 20 7d 0a 20 20 63 61 74 63 68 28 20 73 74 64 3a 3a 62 61 64 5f 61 6c 6c 6f ..}.....}...catch(.std::bad_allo
14ba0 63 20 29 20 7b 20 70 70 28 20 22 4e 6f 74 20 65 6e 6f 75 67 68 20 6d 65 6d 6f 72 79 2e 22 20 29 c.).{.pp(."Not.enough.memory.".)
14bc0 3b 20 72 65 74 76 61 6c 20 3d 20 31 3b 20 7d 0a 20 20 63 61 74 63 68 28 20 45 72 72 6f 72 20 65 ;.retval.=.1;.}...catch(.Error.e
14be0 20 29 20 7b 20 70 70 28 29 3b 20 73 68 6f 77 5f 65 72 72 6f 72 28 20 65 2e 6d 73 67 2c 20 65 72 .).{.pp();.show_error(.e.msg,.er
14c00 72 6e 6f 20 29 3b 20 72 65 74 76 61 6c 20 3d 20 31 3b 20 7d 0a 20 20 69 66 28 20 76 65 72 62 6f rno.);.retval.=.1;.}...if(.verbo
14c20 73 69 74 79 20 3d 3d 20 31 20 26 26 20 72 65 74 76 61 6c 20 3d 3d 20 30 20 29 0a 20 20 20 20 73 sity.==.1.&&.retval.==.0.).....s
14c40 74 64 3a 3a 66 70 75 74 73 28 20 74 65 73 74 69 6e 67 20 3f 20 22 6f 6b 5c 6e 22 20 3a 20 22 64 td::fputs(.testing.?."ok\n".:."d
14c60 6f 6e 65 5c 6e 22 2c 20 73 74 64 65 72 72 20 29 3b 0a 20 20 72 65 74 75 72 6e 20 72 65 74 76 61 one\n",.stderr.);...return.retva
14c80 6c 3b 0a 20 20 7d 0a 0a 0a 65 78 74 65 72 6e 20 22 43 22 20 76 6f 69 64 20 73 69 67 6e 61 6c 5f l;...}...extern."C".void.signal_
14ca0 68 61 6e 64 6c 65 72 28 20 69 6e 74 20 29 0a 20 20 7b 0a 20 20 73 68 6f 77 5f 65 72 72 6f 72 28 handler(.int.)...{...show_error(
14cc0 20 22 43 6f 6e 74 72 6f 6c 2d 43 20 6f 72 20 73 69 6d 69 6c 61 72 20 63 61 75 67 68 74 2c 20 71 ."Control-C.or.similar.caught,.q
14ce0 75 69 74 74 69 6e 67 2e 22 20 29 3b 0a 20 20 63 6c 65 61 6e 75 70 5f 61 6e 64 5f 66 61 69 6c 28 uitting.".);...cleanup_and_fail(
14d00 20 31 20 29 3b 0a 20 20 7d 0a 0a 0a 76 6f 69 64 20 73 65 74 5f 73 69 67 6e 61 6c 73 28 29 0a 20 .1.);...}...void.set_signals()..
14d20 20 7b 0a 20 20 73 74 64 3a 3a 73 69 67 6e 61 6c 28 20 53 49 47 48 55 50 2c 20 73 69 67 6e 61 6c .{...std::signal(.SIGHUP,.signal
14d40 5f 68 61 6e 64 6c 65 72 20 29 3b 0a 20 20 73 74 64 3a 3a 73 69 67 6e 61 6c 28 20 53 49 47 49 4e _handler.);...std::signal(.SIGIN
14d60 54 2c 20 73 69 67 6e 61 6c 5f 68 61 6e 64 6c 65 72 20 29 3b 0a 20 20 73 74 64 3a 3a 73 69 67 6e T,.signal_handler.);...std::sign
14d80 61 6c 28 20 53 49 47 54 45 52 4d 2c 20 73 69 67 6e 61 6c 5f 68 61 6e 64 6c 65 72 20 29 3b 0a 20 al(.SIGTERM,.signal_handler.);..
14da0 20 7d 0a 0a 7d 20 2f 2f 20 65 6e 64 20 6e 61 6d 65 73 70 61 63 65 0a 0a 0a 76 6f 69 64 20 73 68 .}..}.//.end.namespace...void.sh
14dc0 6f 77 5f 65 72 72 6f 72 28 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 6d 73 67 ow_error(.const.char.*.const.msg
14de0 2c 20 63 6f 6e 73 74 20 69 6e 74 20 65 72 72 63 6f 64 65 2c 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 ,.const.int.errcode,.const.bool.
14e00 68 65 6c 70 20 29 0a 20 20 7b 0a 20 20 69 66 28 20 76 65 72 62 6f 73 69 74 79 20 3c 20 30 20 29 help.)...{...if(.verbosity.<.0.)
14e20 20 72 65 74 75 72 6e 3b 0a 20 20 69 66 28 20 6d 73 67 20 26 26 20 6d 73 67 5b 30 5d 20 29 0a 20 .return;...if(.msg.&&.msg[0].)..
14e40 20 20 20 7b 0a 20 20 20 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 65 72 72 2c 20 22 ...{.....std::fprintf(.stderr,."
14e60 25 73 3a 20 25 73 22 2c 20 70 72 6f 67 72 61 6d 5f 6e 61 6d 65 2c 20 6d 73 67 20 29 3b 0a 20 20 %s:.%s",.program_name,.msg.);...
14e80 20 20 69 66 28 20 65 72 72 63 6f 64 65 20 3e 20 30 20 29 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 ..if(.errcode.>.0.).std::fprintf
14ea0 28 20 73 74 64 65 72 72 2c 20 22 3a 20 25 73 22 2c 20 73 74 64 3a 3a 73 74 72 65 72 72 6f 72 28 (.stderr,.":.%s",.std::strerror(
14ec0 20 65 72 72 63 6f 64 65 20 29 20 29 3b 0a 20 20 20 20 73 74 64 3a 3a 66 70 75 74 63 28 20 27 5c .errcode.).);.....std::fputc(.'\
14ee0 6e 27 2c 20 73 74 64 65 72 72 20 29 3b 0a 20 20 20 20 7d 0a 20 20 69 66 28 20 68 65 6c 70 20 29 n',.stderr.);.....}...if(.help.)
14f00 0a 20 20 20 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 65 72 72 2c 20 22 54 72 79 20 .....std::fprintf(.stderr,."Try.
14f20 27 25 73 20 2d 2d 68 65 6c 70 27 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e '%s.--help'.for.more.information
14f40 2e 5c 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 76 6f 63 61 74 69 .\n",...................invocati
14f60 6f 6e 5f 6e 61 6d 65 20 29 3b 0a 20 20 7d 0a 0a 0a 76 6f 69 64 20 73 68 6f 77 5f 66 69 6c 65 5f on_name.);...}...void.show_file_
14f80 65 72 72 6f 72 28 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 66 69 6c 65 6e 61 error(.const.char.*.const.filena
14fa0 6d 65 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 6d 73 67 2c 0a 20 20 20 20 me,.const.char.*.const.msg,.....
14fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 65 72 72 63 ..................const.int.errc
14fe0 6f 64 65 20 29 0a 20 20 7b 0a 20 20 69 66 28 20 76 65 72 62 6f 73 69 74 79 20 3c 20 30 20 29 20 ode.)...{...if(.verbosity.<.0.).
15000 72 65 74 75 72 6e 3b 0a 20 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 65 72 72 2c 20 return;...std::fprintf(.stderr,.
15020 22 25 73 3a 20 25 73 3a 20 25 73 22 2c 20 70 72 6f 67 72 61 6d 5f 6e 61 6d 65 2c 20 66 69 6c 65 "%s:.%s:.%s",.program_name,.file
15040 6e 61 6d 65 2c 20 6d 73 67 20 29 3b 0a 20 20 69 66 28 20 65 72 72 63 6f 64 65 20 3e 20 30 20 29 name,.msg.);...if(.errcode.>.0.)
15060 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 65 72 72 2c 20 22 3a 20 25 73 22 2c 20 73 .std::fprintf(.stderr,.":.%s",.s
15080 74 64 3a 3a 73 74 72 65 72 72 6f 72 28 20 65 72 72 63 6f 64 65 20 29 20 29 3b 0a 20 20 73 74 64 td::strerror(.errcode.).);...std
150a0 3a 3a 66 70 75 74 63 28 20 27 5c 6e 27 2c 20 73 74 64 65 72 72 20 29 3b 0a 20 20 7d 0a 0a 0a 76 ::fputc(.'\n',.stderr.);...}...v
150c0 6f 69 64 20 69 6e 74 65 72 6e 61 6c 5f 65 72 72 6f 72 28 20 63 6f 6e 73 74 20 63 68 61 72 20 2a oid.internal_error(.const.char.*
150e0 20 63 6f 6e 73 74 20 6d 73 67 20 29 0a 20 20 7b 0a 20 20 69 66 28 20 76 65 72 62 6f 73 69 74 79 .const.msg.)...{...if(.verbosity
15100 20 3e 3d 20 30 20 29 0a 20 20 20 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 65 72 72 .>=.0.).....std::fprintf(.stderr
15120 2c 20 22 25 73 3a 20 69 6e 74 65 72 6e 61 6c 20 65 72 72 6f 72 3a 20 25 73 5c 6e 22 2c 20 70 72 ,."%s:.internal.error:.%s\n",.pr
15140 6f 67 72 61 6d 5f 6e 61 6d 65 2c 20 6d 73 67 20 29 3b 0a 20 20 73 74 64 3a 3a 65 78 69 74 28 20 ogram_name,.msg.);...std::exit(.
15160 33 20 29 3b 0a 20 20 7d 0a 0a 0a 76 6f 69 64 20 73 68 6f 77 5f 63 70 72 6f 67 72 65 73 73 28 20 3.);...}...void.show_cprogress(.
15180 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 63 66 69 6c 65 5f 73 const.unsigned.long.long.cfile_s
151a0 69 7a 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 ize,......................const.
151c0 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 70 61 72 74 69 61 6c 5f 73 69 7a 65 2c unsigned.long.long.partial_size,
151e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 4d 61 74 63 ......................const.Matc
15200 68 66 69 6e 64 65 72 5f 62 61 73 65 20 2a 20 63 6f 6e 73 74 20 6d 2c 0a 20 20 20 20 20 20 20 20 hfinder_base.*.const.m,.........
15220 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 50 72 65 74 74 79 5f 70 72 69 6e 74 20 .............const.Pretty_print.
15240 2a 20 63 6f 6e 73 74 20 70 20 29 0a 20 20 7b 0a 20 20 73 74 61 74 69 63 20 75 6e 73 69 67 6e 65 *.const.p.)...{...static.unsigne
15260 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 63 73 69 7a 65 20 3d 20 30 3b 09 09 2f 2f 20 66 69 6c 65 5f d.long.long.csize.=.0;..//.file_
15280 73 69 7a 65 20 2f 20 31 30 30 0a 20 20 73 74 61 74 69 63 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e size./.100...static.unsigned.lon
152a0 67 20 6c 6f 6e 67 20 70 73 69 7a 65 20 3d 20 30 3b 0a 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 g.long.psize.=.0;...static.const
152c0 20 4d 61 74 63 68 66 69 6e 64 65 72 5f 62 61 73 65 20 2a 20 6d 62 20 3d 20 30 3b 0a 20 20 73 74 .Matchfinder_base.*.mb.=.0;...st
152e0 61 74 69 63 20 63 6f 6e 73 74 20 50 72 65 74 74 79 5f 70 72 69 6e 74 20 2a 20 70 70 20 3d 20 30 atic.const.Pretty_print.*.pp.=.0
15300 3b 0a 20 20 73 74 61 74 69 63 20 62 6f 6f 6c 20 65 6e 61 62 6c 65 64 20 3d 20 74 72 75 65 3b 0a ;...static.bool.enabled.=.true;.
15320 0a 20 20 69 66 28 20 21 65 6e 61 62 6c 65 64 20 29 20 72 65 74 75 72 6e 3b 0a 20 20 69 66 28 20 ...if(.!enabled.).return;...if(.
15340 70 20 29 09 09 09 09 09 2f 2f 20 69 6e 69 74 69 61 6c 69 7a 65 20 73 74 61 74 69 63 20 76 61 72 p.).....//.initialize.static.var
15360 73 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 76 65 72 62 6f 73 69 74 79 20 3c 20 32 20 7c 7c s.....{.....if(.verbosity.<.2.||
15380 20 21 69 73 61 74 74 79 28 20 53 54 44 45 52 52 5f 46 49 4c 45 4e 4f 20 29 20 29 20 7b 20 65 6e .!isatty(.STDERR_FILENO.).).{.en
153a0 61 62 6c 65 64 20 3d 20 66 61 6c 73 65 3b 20 72 65 74 75 72 6e 3b 20 7d 0a 20 20 20 20 63 73 69 abled.=.false;.return;.}.....csi
153c0 7a 65 20 3d 20 63 66 69 6c 65 5f 73 69 7a 65 3b 20 70 73 69 7a 65 20 3d 20 70 61 72 74 69 61 6c ze.=.cfile_size;.psize.=.partial
153e0 5f 73 69 7a 65 3b 20 6d 62 20 3d 20 6d 3b 20 70 70 20 3d 20 70 3b 0a 20 20 20 20 7d 0a 20 20 69 _size;.mb.=.m;.pp.=.p;.....}...i
15400 66 28 20 6d 62 20 26 26 20 70 70 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 75 6e f(.mb.&&.pp.).....{.....const.un
15420 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 70 6f 73 20 3d 20 70 73 69 7a 65 20 2b 20 6d signed.long.long.pos.=.psize.+.m
15440 62 2d 3e 64 61 74 61 5f 70 6f 73 69 74 69 6f 6e 28 29 3b 0a 20 20 20 20 69 66 28 20 63 73 69 7a b->data_position();.....if(.csiz
15460 65 20 3e 20 30 20 29 0a 20 20 20 20 20 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 65 e.>.0.).......std::fprintf(.stde
15480 72 72 2c 20 22 25 34 6c 6c 75 25 25 20 20 25 2e 31 66 20 4d 42 5c 72 22 2c 20 70 6f 73 20 2f 20 rr,."%4llu%%..%.1f.MB\r",.pos./.
154a0 63 73 69 7a 65 2c 20 70 6f 73 20 2f 20 31 30 30 30 30 30 30 2e 30 20 29 3b 0a 20 20 20 20 65 6c csize,.pos./.1000000.0.);.....el
154c0 73 65 0a 20 20 20 20 20 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 65 72 72 2c 20 22 se.......std::fprintf(.stderr,."
154e0 20 20 25 2e 31 66 20 4d 42 5c 72 22 2c 20 70 6f 73 20 2f 20 31 30 30 30 30 30 30 2e 30 20 29 3b ..%.1f.MB\r",.pos./.1000000.0.);
15500 0a 20 20 20 20 70 70 2d 3e 72 65 73 65 74 28 29 3b 20 28 2a 70 70 29 28 29 3b 09 09 09 2f 2f 20 .....pp->reset();.(*pp)();...//.
15520 72 65 73 74 6f 72 65 20 63 75 72 73 6f 72 20 70 6f 73 69 74 69 6f 6e 0a 20 20 20 20 7d 0a 20 20 restore.cursor.position.....}...
15540 7d 0a 0a 0a 76 6f 69 64 20 73 68 6f 77 5f 64 70 72 6f 67 72 65 73 73 28 20 63 6f 6e 73 74 20 75 }...void.show_dprogress(.const.u
15560 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 63 66 69 6c 65 5f 73 69 7a 65 2c 0a 20 20 nsigned.long.long.cfile_size,...
15580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 ...................const.unsigne
155a0 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 70 61 72 74 69 61 6c 5f 73 69 7a 65 2c 0a 20 20 20 20 20 20 d.long.long.partial_size,.......
155c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 52 61 6e 67 65 5f 64 65 63 6f 64 ...............const.Range_decod
155e0 65 72 20 2a 20 63 6f 6e 73 74 20 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 er.*.const.d,...................
15600 20 20 20 63 6f 6e 73 74 20 50 72 65 74 74 79 5f 70 72 69 6e 74 20 2a 20 63 6f 6e 73 74 20 70 20 ...const.Pretty_print.*.const.p.
15620 29 0a 20 20 7b 0a 20 20 73 74 61 74 69 63 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e )...{...static.unsigned.long.lon
15640 67 20 63 73 69 7a 65 20 3d 20 30 3b 09 09 2f 2f 20 66 69 6c 65 5f 73 69 7a 65 20 2f 20 31 30 30 g.csize.=.0;..//.file_size./.100
15660 0a 20 20 73 74 61 74 69 63 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 70 73 69 ...static.unsigned.long.long.psi
15680 7a 65 20 3d 20 30 3b 0a 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 52 61 6e 67 65 5f 64 65 63 ze.=.0;...static.const.Range_dec
156a0 6f 64 65 72 20 2a 20 72 64 65 63 20 3d 20 30 3b 0a 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 oder.*.rdec.=.0;...static.const.
156c0 50 72 65 74 74 79 5f 70 72 69 6e 74 20 2a 20 70 70 20 3d 20 30 3b 0a 20 20 73 74 61 74 69 63 20 Pretty_print.*.pp.=.0;...static.
156e0 69 6e 74 20 63 6f 75 6e 74 65 72 20 3d 20 30 3b 0a 20 20 73 74 61 74 69 63 20 62 6f 6f 6c 20 65 int.counter.=.0;...static.bool.e
15700 6e 61 62 6c 65 64 20 3d 20 74 72 75 65 3b 0a 0a 20 20 69 66 28 20 21 65 6e 61 62 6c 65 64 20 29 nabled.=.true;....if(.!enabled.)
15720 20 72 65 74 75 72 6e 3b 0a 20 20 69 66 28 20 70 20 29 09 09 09 09 09 2f 2f 20 69 6e 69 74 69 61 .return;...if(.p.).....//.initia
15740 6c 69 7a 65 20 73 74 61 74 69 63 20 76 61 72 73 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 76 lize.static.vars.....{.....if(.v
15760 65 72 62 6f 73 69 74 79 20 3c 20 32 20 7c 7c 20 21 69 73 61 74 74 79 28 20 53 54 44 45 52 52 5f erbosity.<.2.||.!isatty(.STDERR_
15780 46 49 4c 45 4e 4f 20 29 20 29 20 7b 20 65 6e 61 62 6c 65 64 20 3d 20 66 61 6c 73 65 3b 20 72 65 FILENO.).).{.enabled.=.false;.re
157a0 74 75 72 6e 3b 20 7d 0a 20 20 20 20 63 73 69 7a 65 20 3d 20 63 66 69 6c 65 5f 73 69 7a 65 3b 20 turn;.}.....csize.=.cfile_size;.
157c0 70 73 69 7a 65 20 3d 20 70 61 72 74 69 61 6c 5f 73 69 7a 65 3b 20 72 64 65 63 20 3d 20 64 3b 20 psize.=.partial_size;.rdec.=.d;.
157e0 70 70 20 3d 20 70 3b 20 63 6f 75 6e 74 65 72 20 3d 20 30 3b 0a 20 20 20 20 7d 0a 20 20 69 66 28 pp.=.p;.counter.=.0;.....}...if(
15800 20 72 64 65 63 20 26 26 20 70 70 20 26 26 20 2d 2d 63 6f 75 6e 74 65 72 20 3c 3d 20 30 20 29 0a .rdec.&&.pp.&&.--counter.<=.0.).
15820 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f ....{.....const.unsigned.long.lo
15840 6e 67 20 70 6f 73 20 3d 20 70 73 69 7a 65 20 2b 20 72 64 65 63 2d 3e 6d 65 6d 62 65 72 5f 70 6f ng.pos.=.psize.+.rdec->member_po
15860 73 69 74 69 6f 6e 28 29 3b 0a 20 20 20 20 63 6f 75 6e 74 65 72 20 3d 20 37 3b 09 09 2f 2f 20 75 sition();.....counter.=.7;..//.u
15880 70 64 61 74 65 20 64 69 73 70 6c 61 79 20 65 76 65 72 79 20 31 31 34 36 38 38 20 62 79 74 65 73 pdate.display.every.114688.bytes
158a0 0a 20 20 20 20 69 66 28 20 63 73 69 7a 65 20 3e 20 30 20 29 0a 20 20 20 20 20 20 73 74 64 3a 3a .....if(.csize.>.0.).......std::
158c0 66 70 72 69 6e 74 66 28 20 73 74 64 65 72 72 2c 20 22 25 34 6c 6c 75 25 25 20 20 25 2e 31 66 20 fprintf(.stderr,."%4llu%%..%.1f.
158e0 4d 42 5c 72 22 2c 20 70 6f 73 20 2f 20 63 73 69 7a 65 2c 20 70 6f 73 20 2f 20 31 30 30 30 30 30 MB\r",.pos./.csize,.pos./.100000
15900 30 2e 30 20 29 3b 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 73 74 64 3a 3a 66 70 72 69 6e 0.0.);.....else.......std::fprin
15920 74 66 28 20 73 74 64 65 72 72 2c 20 22 20 20 25 2e 31 66 20 4d 42 5c 72 22 2c 20 70 6f 73 20 2f tf(.stderr,."..%.1f.MB\r",.pos./
15940 20 31 30 30 30 30 30 30 2e 30 20 29 3b 0a 20 20 20 20 70 70 2d 3e 72 65 73 65 74 28 29 3b 20 28 .1000000.0.);.....pp->reset();.(
15960 2a 70 70 29 28 29 3b 09 09 09 2f 2f 20 72 65 73 74 6f 72 65 20 63 75 72 73 6f 72 20 70 6f 73 69 *pp)();...//.restore.cursor.posi
15980 74 69 6f 6e 0a 20 20 20 20 7d 0a 20 20 7d 0a 0a 0a 69 6e 74 20 6d 61 69 6e 28 20 63 6f 6e 73 74 tion.....}...}...int.main(.const
159a0 20 69 6e 74 20 61 72 67 63 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 61 72 .int.argc,.const.char.*.const.ar
159c0 67 76 5b 5d 20 29 0a 20 20 7b 0a 20 20 2f 2a 20 4d 61 70 70 69 6e 67 20 66 72 6f 6d 20 67 7a 69 gv[].)...{.../*.Mapping.from.gzi
159e0 70 2f 62 7a 69 70 32 20 73 74 79 6c 65 20 31 2e 2e 39 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6d p/bzip2.style.1..9.compression.m
15a00 6f 64 65 73 0a 20 20 20 20 20 74 6f 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 4c odes......to.the.corresponding.L
15a20 5a 4d 41 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6d 6f 64 65 73 2e 20 2a 2f 0a 20 20 63 6f 6e 73 ZMA.compression.modes..*/...cons
15a40 74 20 4c 7a 6d 61 5f 6f 70 74 69 6f 6e 73 20 6f 70 74 69 6f 6e 5f 6d 61 70 70 69 6e 67 5b 5d 20 t.Lzma_options.option_mapping[].
15a60 3d 0a 20 20 20 20 7b 0a 20 20 20 20 7b 20 31 20 3c 3c 20 31 36 2c 20 20 31 36 20 7d 2c 09 09 2f =.....{.....{.1.<<.16,..16.},../
15a80 2f 20 2d 30 0a 20 20 20 20 7b 20 31 20 3c 3c 20 32 30 2c 20 20 20 35 20 7d 2c 09 09 2f 2f 20 2d /.-0.....{.1.<<.20,...5.},..//.-
15aa0 31 0a 20 20 20 20 7b 20 33 20 3c 3c 20 31 39 2c 20 20 20 36 20 7d 2c 09 09 2f 2f 20 2d 32 0a 20 1.....{.3.<<.19,...6.},..//.-2..
15ac0 20 20 20 7b 20 31 20 3c 3c 20 32 31 2c 20 20 20 38 20 7d 2c 09 09 2f 2f 20 2d 33 0a 20 20 20 20 ...{.1.<<.21,...8.},..//.-3.....
15ae0 7b 20 33 20 3c 3c 20 32 30 2c 20 20 31 32 20 7d 2c 09 09 2f 2f 20 2d 34 0a 20 20 20 20 7b 20 31 {.3.<<.20,..12.},..//.-4.....{.1
15b00 20 3c 3c 20 32 32 2c 20 20 32 30 20 7d 2c 09 09 2f 2f 20 2d 35 0a 20 20 20 20 7b 20 31 20 3c 3c .<<.22,..20.},..//.-5.....{.1.<<
15b20 20 32 33 2c 20 20 33 36 20 7d 2c 09 09 2f 2f 20 2d 36 0a 20 20 20 20 7b 20 31 20 3c 3c 20 32 34 .23,..36.},..//.-6.....{.1.<<.24
15b40 2c 20 20 36 38 20 7d 2c 09 09 2f 2f 20 2d 37 0a 20 20 20 20 7b 20 33 20 3c 3c 20 32 33 2c 20 31 ,..68.},..//.-7.....{.3.<<.23,.1
15b60 33 32 20 7d 2c 09 09 2f 2f 20 2d 38 0a 20 20 20 20 7b 20 31 20 3c 3c 20 32 35 2c 20 32 37 33 20 32.},..//.-8.....{.1.<<.25,.273.
15b80 7d 20 7d 3b 09 09 2f 2f 20 2d 39 0a 20 20 4c 7a 6d 61 5f 6f 70 74 69 6f 6e 73 20 65 6e 63 6f 64 }.};..//.-9...Lzma_options.encod
15ba0 65 72 5f 6f 70 74 69 6f 6e 73 20 3d 20 6f 70 74 69 6f 6e 5f 6d 61 70 70 69 6e 67 5b 36 5d 3b 09 er_options.=.option_mapping[6];.
15bc0 2f 2f 20 64 65 66 61 75 6c 74 20 3d 20 22 2d 36 22 0a 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e //.default.=."-6"...const.unsign
15be0 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6d 61 78 5f 6d 65 6d 62 65 72 5f 73 69 7a 65 20 3d 20 30 ed.long.long.max_member_size.=.0
15c00 78 30 30 30 38 30 30 30 30 30 30 30 30 30 30 30 30 55 4c 4c 3b 0a 20 20 63 6f 6e 73 74 20 75 6e x0008000000000000ULL;...const.un
15c20 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6d 61 78 5f 76 6f 6c 75 6d 65 5f 73 69 7a 65 signed.long.long.max_volume_size
15c40 20 3d 20 30 78 34 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 55 4c 4c 3b 0a 20 20 75 6e 73 69 .=.0x4000000000000000ULL;...unsi
15c60 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 3d 20 6d 61 78 gned.long.long.member_size.=.max
15c80 5f 6d 65 6d 62 65 72 5f 73 69 7a 65 3b 0a 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f _member_size;...unsigned.long.lo
15ca0 6e 67 20 76 6f 6c 75 6d 65 5f 73 69 7a 65 20 3d 20 30 3b 0a 20 20 73 74 64 3a 3a 73 74 72 69 6e ng.volume_size.=.0;...std::strin
15cc0 67 20 64 65 66 61 75 6c 74 5f 6f 75 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 3b 0a 20 20 73 74 64 g.default_output_filename;...std
15ce0 3a 3a 76 65 63 74 6f 72 3c 20 73 74 64 3a 3a 73 74 72 69 6e 67 20 3e 20 66 69 6c 65 6e 61 6d 65 ::vector<.std::string.>.filename
15d00 73 3b 0a 20 20 4d 6f 64 65 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 3d 20 6d 5f 63 6f 6d 70 72 s;...Mode.program_mode.=.m_compr
15d20 65 73 73 3b 0a 20 20 62 6f 6f 6c 20 66 6f 72 63 65 20 3d 20 66 61 6c 73 65 3b 0a 20 20 62 6f 6f ess;...bool.force.=.false;...boo
15d40 6c 20 69 67 6e 6f 72 65 5f 74 72 61 69 6c 69 6e 67 20 3d 20 74 72 75 65 3b 0a 20 20 62 6f 6f 6c l.ignore_trailing.=.true;...bool
15d60 20 6b 65 65 70 5f 69 6e 70 75 74 5f 66 69 6c 65 73 20 3d 20 66 61 6c 73 65 3b 0a 20 20 62 6f 6f .keep_input_files.=.false;...boo
15d80 6c 20 6c 6f 6f 73 65 5f 74 72 61 69 6c 69 6e 67 20 3d 20 66 61 6c 73 65 3b 0a 20 20 62 6f 6f 6c l.loose_trailing.=.false;...bool
15da0 20 72 65 63 6f 6d 70 72 65 73 73 20 3d 20 66 61 6c 73 65 3b 0a 20 20 62 6f 6f 6c 20 74 6f 5f 73 .recompress.=.false;...bool.to_s
15dc0 74 64 6f 75 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 62 6f 6f 6c 20 7a 65 72 6f 20 3d 20 66 61 6c tdout.=.false;...bool.zero.=.fal
15de0 73 65 3b 0a 20 20 69 6e 76 6f 63 61 74 69 6f 6e 5f 6e 61 6d 65 20 3d 20 61 72 67 76 5b 30 5d 3b se;...invocation_name.=.argv[0];
15e00 0a 0a 20 20 65 6e 75 6d 20 7b 20 6f 70 74 5f 6c 74 20 3d 20 32 35 36 20 7d 3b 0a 20 20 63 6f 6e ....enum.{.opt_lt.=.256.};...con
15e20 73 74 20 41 72 67 5f 70 61 72 73 65 72 3a 3a 4f 70 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 5b 5d 20 st.Arg_parser::Option.options[].
15e40 3d 0a 20 20 20 20 7b 0a 20 20 20 20 7b 20 27 30 27 2c 20 22 66 61 73 74 22 2c 20 20 20 20 20 20 =.....{.....{.'0',."fast",......
15e60 20 20 20 20 20 20 20 20 41 72 67 5f 70 61 72 73 65 72 3a 3a 6e 6f 20 20 7d 2c 0a 20 20 20 20 7b ........Arg_parser::no..},.....{
15e80 20 27 31 27 2c 20 20 30 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 67 5f 70 .'1',..0,..................Arg_p
15ea0 61 72 73 65 72 3a 3a 6e 6f 20 20 7d 2c 0a 20 20 20 20 7b 20 27 32 27 2c 20 20 30 2c 20 20 20 20 arser::no..},.....{.'2',..0,....
15ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 67 5f 70 61 72 73 65 72 3a 3a 6e 6f 20 20 7d 2c ..............Arg_parser::no..},
15ee0 0a 20 20 20 20 7b 20 27 33 27 2c 20 20 30 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....{.'3',..0,.................
15f00 20 41 72 67 5f 70 61 72 73 65 72 3a 3a 6e 6f 20 20 7d 2c 0a 20 20 20 20 7b 20 27 34 27 2c 20 20 .Arg_parser::no..},.....{.'4',..
15f20 30 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 67 5f 70 61 72 73 65 72 3a 3a 0,..................Arg_parser::
15f40 6e 6f 20 20 7d 2c 0a 20 20 20 20 7b 20 27 35 27 2c 20 20 30 2c 20 20 20 20 20 20 20 20 20 20 20 no..},.....{.'5',..0,...........
15f60 20 20 20 20 20 20 20 41 72 67 5f 70 61 72 73 65 72 3a 3a 6e 6f 20 20 7d 2c 0a 20 20 20 20 7b 20 .......Arg_parser::no..},.....{.
15f80 27 36 27 2c 20 20 30 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 67 5f 70 61 '6',..0,..................Arg_pa
15fa0 72 73 65 72 3a 3a 6e 6f 20 20 7d 2c 0a 20 20 20 20 7b 20 27 37 27 2c 20 20 30 2c 20 20 20 20 20 rser::no..},.....{.'7',..0,.....
15fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 67 5f 70 61 72 73 65 72 3a 3a 6e 6f 20 20 7d 2c 0a .............Arg_parser::no..},.
15fe0 20 20 20 20 7b 20 27 38 27 2c 20 20 30 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....{.'8',..0,..................
16000 41 72 67 5f 70 61 72 73 65 72 3a 3a 6e 6f 20 20 7d 2c 0a 20 20 20 20 7b 20 27 39 27 2c 20 22 62 Arg_parser::no..},.....{.'9',."b
16020 65 73 74 22 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 67 5f 70 61 72 73 65 72 3a 3a 6e est",..............Arg_parser::n
16040 6f 20 20 7d 2c 0a 20 20 20 20 7b 20 27 61 27 2c 20 22 74 72 61 69 6c 69 6e 67 2d 65 72 72 6f 72 o..},.....{.'a',."trailing-error
16060 22 2c 20 20 20 20 41 72 67 5f 70 61 72 73 65 72 3a 3a 6e 6f 20 20 7d 2c 0a 20 20 20 20 7b 20 27 ",....Arg_parser::no..},.....{.'
16080 62 27 2c 20 22 6d 65 6d 62 65 72 2d 73 69 7a 65 22 2c 20 20 20 20 20 20 20 41 72 67 5f 70 61 72 b',."member-size",.......Arg_par
160a0 73 65 72 3a 3a 79 65 73 20 7d 2c 0a 20 20 20 20 7b 20 27 63 27 2c 20 22 73 74 64 6f 75 74 22 2c ser::yes.},.....{.'c',."stdout",
160c0 20 20 20 20 20 20 20 20 20 20 20 20 41 72 67 5f 70 61 72 73 65 72 3a 3a 6e 6f 20 20 7d 2c 0a 20 ............Arg_parser::no..},..
160e0 20 20 20 7b 20 27 64 27 2c 20 22 64 65 63 6f 6d 70 72 65 73 73 22 2c 20 20 20 20 20 20 20 20 41 ...{.'d',."decompress",........A
16100 72 67 5f 70 61 72 73 65 72 3a 3a 6e 6f 20 20 7d 2c 0a 20 20 20 20 7b 20 27 66 27 2c 20 22 66 6f rg_parser::no..},.....{.'f',."fo
16120 72 63 65 22 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 67 5f 70 61 72 73 65 72 3a 3a 6e 6f rce",.............Arg_parser::no
16140 20 20 7d 2c 0a 20 20 20 20 7b 20 27 46 27 2c 20 22 72 65 63 6f 6d 70 72 65 73 73 22 2c 20 20 20 ..},.....{.'F',."recompress",...
16160 20 20 20 20 20 41 72 67 5f 70 61 72 73 65 72 3a 3a 6e 6f 20 20 7d 2c 0a 20 20 20 20 7b 20 27 68 .....Arg_parser::no..},.....{.'h
16180 27 2c 20 22 68 65 6c 70 22 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 67 5f 70 61 72 73 ',."help",..............Arg_pars
161a0 65 72 3a 3a 6e 6f 20 20 7d 2c 0a 20 20 20 20 7b 20 27 6b 27 2c 20 22 6b 65 65 70 22 2c 20 20 20 er::no..},.....{.'k',."keep",...
161c0 20 20 20 20 20 20 20 20 20 20 20 41 72 67 5f 70 61 72 73 65 72 3a 3a 6e 6f 20 20 7d 2c 0a 20 20 ...........Arg_parser::no..},...
161e0 20 20 7b 20 27 6c 27 2c 20 22 6c 69 73 74 22 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 ..{.'l',."list",..............Ar
16200 67 5f 70 61 72 73 65 72 3a 3a 6e 6f 20 20 7d 2c 0a 20 20 20 20 7b 20 27 6d 27 2c 20 22 6d 61 74 g_parser::no..},.....{.'m',."mat
16220 63 68 2d 6c 65 6e 67 74 68 22 2c 20 20 20 20 20 20 41 72 67 5f 70 61 72 73 65 72 3a 3a 79 65 73 ch-length",......Arg_parser::yes
16240 20 7d 2c 0a 20 20 20 20 7b 20 27 6e 27 2c 20 22 74 68 72 65 61 64 73 22 2c 20 20 20 20 20 20 20 .},.....{.'n',."threads",.......
16260 20 20 20 20 41 72 67 5f 70 61 72 73 65 72 3a 3a 79 65 73 20 7d 2c 0a 20 20 20 20 7b 20 27 6f 27 ....Arg_parser::yes.},.....{.'o'
16280 2c 20 22 6f 75 74 70 75 74 22 2c 20 20 20 20 20 20 20 20 20 20 20 20 41 72 67 5f 70 61 72 73 65 ,."output",............Arg_parse
162a0 72 3a 3a 79 65 73 20 7d 2c 0a 20 20 20 20 7b 20 27 71 27 2c 20 22 71 75 69 65 74 22 2c 20 20 20 r::yes.},.....{.'q',."quiet",...
162c0 20 20 20 20 20 20 20 20 20 20 41 72 67 5f 70 61 72 73 65 72 3a 3a 6e 6f 20 20 7d 2c 0a 20 20 20 ..........Arg_parser::no..},....
162e0 20 7b 20 27 73 27 2c 20 22 64 69 63 74 69 6f 6e 61 72 79 2d 73 69 7a 65 22 2c 20 20 20 41 72 67 .{.'s',."dictionary-size",...Arg
16300 5f 70 61 72 73 65 72 3a 3a 79 65 73 20 7d 2c 0a 20 20 20 20 7b 20 27 53 27 2c 20 22 76 6f 6c 75 _parser::yes.},.....{.'S',."volu
16320 6d 65 2d 73 69 7a 65 22 2c 20 20 20 20 20 20 20 41 72 67 5f 70 61 72 73 65 72 3a 3a 79 65 73 20 me-size",.......Arg_parser::yes.
16340 7d 2c 0a 20 20 20 20 7b 20 27 74 27 2c 20 22 74 65 73 74 22 2c 20 20 20 20 20 20 20 20 20 20 20 },.....{.'t',."test",...........
16360 20 20 20 41 72 67 5f 70 61 72 73 65 72 3a 3a 6e 6f 20 20 7d 2c 0a 20 20 20 20 7b 20 27 76 27 2c ...Arg_parser::no..},.....{.'v',
16380 20 22 76 65 72 62 6f 73 65 22 2c 20 20 20 20 20 20 20 20 20 20 20 41 72 67 5f 70 61 72 73 65 72 ."verbose",...........Arg_parser
163a0 3a 3a 6e 6f 20 20 7d 2c 0a 20 20 20 20 7b 20 27 56 27 2c 20 22 76 65 72 73 69 6f 6e 22 2c 20 20 ::no..},.....{.'V',."version",..
163c0 20 20 20 20 20 20 20 20 20 41 72 67 5f 70 61 72 73 65 72 3a 3a 6e 6f 20 20 7d 2c 0a 20 20 20 20 .........Arg_parser::no..},.....
163e0 7b 20 6f 70 74 5f 6c 74 2c 20 22 6c 6f 6f 73 65 2d 74 72 61 69 6c 69 6e 67 22 2c 20 41 72 67 5f {.opt_lt,."loose-trailing",.Arg_
16400 70 61 72 73 65 72 3a 3a 6e 6f 20 20 7d 2c 0a 20 20 20 20 7b 20 20 30 20 2c 20 30 2c 20 20 20 20 parser::no..},.....{..0.,.0,....
16420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 67 5f 70 61 72 73 65 72 3a 3a 6e 6f 20 20 7d ...............Arg_parser::no..}
16440 20 7d 3b 0a 0a 20 20 63 6f 6e 73 74 20 41 72 67 5f 70 61 72 73 65 72 20 70 61 72 73 65 72 28 20 .};....const.Arg_parser.parser(.
16460 61 72 67 63 2c 20 61 72 67 76 2c 20 6f 70 74 69 6f 6e 73 20 29 3b 0a 20 20 69 66 28 20 70 61 72 argc,.argv,.options.);...if(.par
16480 73 65 72 2e 65 72 72 6f 72 28 29 2e 73 69 7a 65 28 29 20 29 09 09 09 09 2f 2f 20 62 61 64 20 6f ser.error().size().)....//.bad.o
164a0 70 74 69 6f 6e 0a 20 20 20 20 7b 20 73 68 6f 77 5f 65 72 72 6f 72 28 20 70 61 72 73 65 72 2e 65 ption.....{.show_error(.parser.e
164c0 72 72 6f 72 28 29 2e 63 5f 73 74 72 28 29 2c 20 30 2c 20 74 72 75 65 20 29 3b 20 72 65 74 75 72 rror().c_str(),.0,.true.);.retur
164e0 6e 20 31 3b 20 7d 0a 0a 20 20 69 6e 74 20 61 72 67 69 6e 64 20 3d 20 30 3b 0a 20 20 66 6f 72 28 n.1;.}....int.argind.=.0;...for(
16500 20 3b 20 61 72 67 69 6e 64 20 3c 20 70 61 72 73 65 72 2e 61 72 67 75 6d 65 6e 74 73 28 29 3b 20 .;.argind.<.parser.arguments();.
16520 2b 2b 61 72 67 69 6e 64 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 63 ++argind.).....{.....const.int.c
16540 6f 64 65 20 3d 20 70 61 72 73 65 72 2e 63 6f 64 65 28 20 61 72 67 69 6e 64 20 29 3b 0a 20 20 20 ode.=.parser.code(.argind.);....
16560 20 69 66 28 20 21 63 6f 64 65 20 29 20 62 72 65 61 6b 3b 09 09 09 09 09 2f 2f 20 6e 6f 20 6d 6f .if(.!code.).break;.....//.no.mo
16580 72 65 20 6f 70 74 69 6f 6e 73 0a 20 20 20 20 63 6f 6e 73 74 20 73 74 64 3a 3a 73 74 72 69 6e 67 re.options.....const.std::string
165a0 20 26 20 73 61 72 67 20 3d 20 70 61 72 73 65 72 2e 61 72 67 75 6d 65 6e 74 28 20 61 72 67 69 6e .&.sarg.=.parser.argument(.argin
165c0 64 20 29 3b 0a 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 61 72 67 20 d.);.....const.char.*.const.arg.
165e0 3d 20 73 61 72 67 2e 63 5f 73 74 72 28 29 3b 0a 20 20 20 20 73 77 69 74 63 68 28 20 63 6f 64 65 =.sarg.c_str();.....switch(.code
16600 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 63 61 73 65 20 27 30 27 3a 20 63 61 73 65 20 .).......{.......case.'0':.case.
16620 27 31 27 3a 20 63 61 73 65 20 27 32 27 3a 20 63 61 73 65 20 27 33 27 3a 20 63 61 73 65 20 27 34 '1':.case.'2':.case.'3':.case.'4
16640 27 3a 0a 20 20 20 20 20 20 63 61 73 65 20 27 35 27 3a 20 63 61 73 65 20 27 36 27 3a 20 63 61 73 ':.......case.'5':.case.'6':.cas
16660 65 20 27 37 27 3a 20 63 61 73 65 20 27 38 27 3a 20 63 61 73 65 20 27 39 27 3a 0a 20 20 20 20 20 e.'7':.case.'8':.case.'9':......
16680 20 20 20 20 20 20 20 20 20 20 20 7a 65 72 6f 20 3d 20 28 20 63 6f 64 65 20 3d 3d 20 27 30 27 20 ...........zero.=.(.code.==.'0'.
166a0 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 63 6f 64 65 72 5f 6f 70 74 69 6f );.................encoder_optio
166c0 6e 73 20 3d 20 6f 70 74 69 6f 6e 5f 6d 61 70 70 69 6e 67 5b 63 6f 64 65 2d 27 30 27 5d 3b 20 62 ns.=.option_mapping[code-'0'];.b
166e0 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20 27 61 27 3a 20 69 67 6e 6f 72 65 5f 74 72 61 reak;.......case.'a':.ignore_tra
16700 69 6c 69 6e 67 20 3d 20 66 61 6c 73 65 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 iling.=.false;.break;.......case
16720 20 27 62 27 3a 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 3d 20 67 65 74 6e 75 6d 28 20 61 72 67 2c .'b':.member_size.=.getnum(.arg,
16740 20 31 30 30 30 30 30 2c 20 6d 61 78 5f 6d 65 6d 62 65 72 5f 73 69 7a 65 20 29 3b 20 62 72 65 61 .100000,.max_member_size.);.brea
16760 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20 27 63 27 3a 20 74 6f 5f 73 74 64 6f 75 74 20 3d 20 74 k;.......case.'c':.to_stdout.=.t
16780 72 75 65 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20 27 64 27 3a 20 73 65 74 5f rue;.break;.......case.'d':.set_
167a0 6d 6f 64 65 28 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 2c 20 6d 5f 64 65 63 6f 6d 70 72 65 73 73 mode(.program_mode,.m_decompress
167c0 20 29 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20 27 66 27 3a 20 66 6f 72 63 65 .);.break;.......case.'f':.force
167e0 20 3d 20 74 72 75 65 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20 27 46 27 3a 20 .=.true;.break;.......case.'F':.
16800 72 65 63 6f 6d 70 72 65 73 73 20 3d 20 74 72 75 65 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 recompress.=.true;.break;.......
16820 63 61 73 65 20 27 68 27 3a 20 73 68 6f 77 5f 68 65 6c 70 28 29 3b 20 72 65 74 75 72 6e 20 30 3b case.'h':.show_help();.return.0;
16840 0a 20 20 20 20 20 20 63 61 73 65 20 27 6b 27 3a 20 6b 65 65 70 5f 69 6e 70 75 74 5f 66 69 6c 65 .......case.'k':.keep_input_file
16860 73 20 3d 20 74 72 75 65 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20 27 6c 27 3a s.=.true;.break;.......case.'l':
16880 20 73 65 74 5f 6d 6f 64 65 28 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 2c 20 6d 5f 6c 69 73 74 20 .set_mode(.program_mode,.m_list.
168a0 29 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20 27 6d 27 3a 20 65 6e 63 6f 64 65 );.break;.......case.'m':.encode
168c0 72 5f 6f 70 74 69 6f 6e 73 2e 6d 61 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 74 20 3d 0a 20 20 20 20 r_options.match_len_limit.=.....
168e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 6e 75 6d 28 20 61 72 67 2c 20 6d 69 6e 5f 6d ..............getnum(.arg,.min_m
16900 61 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 74 2c 20 6d 61 78 5f 6d 61 74 63 68 5f 6c 65 6e 20 29 3b atch_len_limit,.max_match_len.);
16920 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7a 65 72 6f 20 3d 20 66 61 6c 73 65 3b 20 62 .................zero.=.false;.b
16940 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20 27 6e 27 3a 20 62 72 65 61 6b 3b 0a 20 20 20 reak;.......case.'n':.break;....
16960 20 20 20 63 61 73 65 20 27 6f 27 3a 20 64 65 66 61 75 6c 74 5f 6f 75 74 70 75 74 5f 66 69 6c 65 ...case.'o':.default_output_file
16980 6e 61 6d 65 20 3d 20 73 61 72 67 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20 27 name.=.sarg;.break;.......case.'
169a0 71 27 3a 20 76 65 72 62 6f 73 69 74 79 20 3d 20 2d 31 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 q':.verbosity.=.-1;.break;......
169c0 20 63 61 73 65 20 27 73 27 3a 20 65 6e 63 6f 64 65 72 5f 6f 70 74 69 6f 6e 73 2e 64 69 63 74 69 .case.'s':.encoder_options.dicti
169e0 6f 6e 61 72 79 5f 73 69 7a 65 20 3d 20 67 65 74 5f 64 69 63 74 5f 73 69 7a 65 28 20 61 72 67 20 onary_size.=.get_dict_size(.arg.
16a00 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7a 65 72 6f 20 3d 20 66 61 6c 73 65 3b );.................zero.=.false;
16a20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20 27 53 27 3a 20 76 6f 6c 75 6d 65 5f 73 .break;.......case.'S':.volume_s
16a40 69 7a 65 20 3d 20 67 65 74 6e 75 6d 28 20 61 72 67 2c 20 31 30 30 30 30 30 2c 20 6d 61 78 5f 76 ize.=.getnum(.arg,.100000,.max_v
16a60 6f 6c 75 6d 65 5f 73 69 7a 65 20 29 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20 olume_size.);.break;.......case.
16a80 27 74 27 3a 20 73 65 74 5f 6d 6f 64 65 28 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 2c 20 6d 5f 74 't':.set_mode(.program_mode,.m_t
16aa0 65 73 74 20 29 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20 27 76 27 3a 20 69 66 est.);.break;.......case.'v':.if
16ac0 28 20 76 65 72 62 6f 73 69 74 79 20 3c 20 34 20 29 20 2b 2b 76 65 72 62 6f 73 69 74 79 3b 20 62 (.verbosity.<.4.).++verbosity;.b
16ae0 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20 27 56 27 3a 20 73 68 6f 77 5f 76 65 72 73 69 reak;.......case.'V':.show_versi
16b00 6f 6e 28 29 3b 20 72 65 74 75 72 6e 20 30 3b 0a 20 20 20 20 20 20 63 61 73 65 20 6f 70 74 5f 6c on();.return.0;.......case.opt_l
16b20 74 3a 20 6c 6f 6f 73 65 5f 74 72 61 69 6c 69 6e 67 20 3d 20 74 72 75 65 3b 20 62 72 65 61 6b 3b t:.loose_trailing.=.true;.break;
16b40 0a 20 20 20 20 20 20 64 65 66 61 75 6c 74 20 3a 20 69 6e 74 65 72 6e 61 6c 5f 65 72 72 6f 72 28 .......default.:.internal_error(
16b60 20 22 75 6e 63 61 75 67 68 74 20 6f 70 74 69 6f 6e 2e 22 20 29 3b 0a 20 20 20 20 20 20 7d 0a 20 ."uncaught.option.".);.......}..
16b80 20 20 20 7d 20 2f 2f 20 65 6e 64 20 70 72 6f 63 65 73 73 20 6f 70 74 69 6f 6e 73 0a 0a 23 69 66 ...}.//.end.process.options..#if
16ba0 20 64 65 66 69 6e 65 64 28 5f 5f 4d 53 56 43 52 54 5f 5f 29 20 7c 7c 20 64 65 66 69 6e 65 64 28 .defined(__MSVCRT__).||.defined(
16bc0 5f 5f 4f 53 32 5f 5f 29 0a 20 20 73 65 74 6d 6f 64 65 28 20 53 54 44 49 4e 5f 46 49 4c 45 4e 4f __OS2__)...setmode(.STDIN_FILENO
16be0 2c 20 4f 5f 42 49 4e 41 52 59 20 29 3b 0a 20 20 73 65 74 6d 6f 64 65 28 20 53 54 44 4f 55 54 5f ,.O_BINARY.);...setmode(.STDOUT_
16c00 46 49 4c 45 4e 4f 2c 20 4f 5f 42 49 4e 41 52 59 20 29 3b 0a 23 65 6e 64 69 66 0a 0a 20 20 62 6f FILENO,.O_BINARY.);.#endif....bo
16c20 6f 6c 20 66 69 6c 65 6e 61 6d 65 73 5f 67 69 76 65 6e 20 3d 20 66 61 6c 73 65 3b 0a 20 20 66 6f ol.filenames_given.=.false;...fo
16c40 72 28 20 3b 20 61 72 67 69 6e 64 20 3c 20 70 61 72 73 65 72 2e 61 72 67 75 6d 65 6e 74 73 28 29 r(.;.argind.<.parser.arguments()
16c60 3b 20 2b 2b 61 72 67 69 6e 64 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 66 69 6c 65 6e 61 6d 65 73 ;.++argind.).....{.....filenames
16c80 2e 70 75 73 68 5f 62 61 63 6b 28 20 70 61 72 73 65 72 2e 61 72 67 75 6d 65 6e 74 28 20 61 72 67 .push_back(.parser.argument(.arg
16ca0 69 6e 64 20 29 20 29 3b 0a 20 20 20 20 69 66 28 20 66 69 6c 65 6e 61 6d 65 73 2e 62 61 63 6b 28 ind.).);.....if(.filenames.back(
16cc0 29 20 21 3d 20 22 2d 22 20 29 20 66 69 6c 65 6e 61 6d 65 73 5f 67 69 76 65 6e 20 3d 20 74 72 75 ).!=."-".).filenames_given.=.tru
16ce0 65 3b 0a 20 20 20 20 7d 0a 20 20 69 66 28 20 66 69 6c 65 6e 61 6d 65 73 2e 65 6d 70 74 79 28 29 e;.....}...if(.filenames.empty()
16d00 20 29 20 66 69 6c 65 6e 61 6d 65 73 2e 70 75 73 68 5f 62 61 63 6b 28 22 2d 22 29 3b 0a 0a 20 20 .).filenames.push_back("-");....
16d20 69 66 28 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 3d 3d 20 6d 5f 6c 69 73 74 20 29 0a 20 20 20 if(.program_mode.==.m_list.)....
16d40 20 72 65 74 75 72 6e 20 6c 69 73 74 5f 66 69 6c 65 73 28 20 66 69 6c 65 6e 61 6d 65 73 2c 20 69 .return.list_files(.filenames,.i
16d60 67 6e 6f 72 65 5f 74 72 61 69 6c 69 6e 67 2c 20 6c 6f 6f 73 65 5f 74 72 61 69 6c 69 6e 67 20 29 gnore_trailing,.loose_trailing.)
16d80 3b 0a 0a 20 20 69 66 28 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 3d 3d 20 6d 5f 74 65 73 74 20 ;....if(.program_mode.==.m_test.
16da0 29 0a 20 20 20 20 6f 75 74 66 64 20 3d 20 2d 31 3b 0a 20 20 65 6c 73 65 20 69 66 28 20 70 72 6f ).....outfd.=.-1;...else.if(.pro
16dc0 67 72 61 6d 5f 6d 6f 64 65 20 3d 3d 20 6d 5f 63 6f 6d 70 72 65 73 73 20 29 0a 20 20 20 20 7b 0a gram_mode.==.m_compress.).....{.
16de0 20 20 20 20 64 69 73 5f 73 6c 6f 74 73 2e 69 6e 69 74 28 29 3b 0a 20 20 20 20 70 72 6f 62 5f 70 ....dis_slots.init();.....prob_p
16e00 72 69 63 65 73 2e 69 6e 69 74 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 69 66 28 20 21 74 6f 5f 73 rices.init();.....}....if(.!to_s
16e20 74 64 6f 75 74 20 26 26 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 21 3d 20 6d 5f 74 65 73 74 20 tdout.&&.program_mode.!=.m_test.
16e40 26 26 0a 20 20 20 20 20 20 28 20 66 69 6c 65 6e 61 6d 65 73 5f 67 69 76 65 6e 20 7c 7c 20 64 65 &&.......(.filenames_given.||.de
16e60 66 61 75 6c 74 5f 6f 75 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 2e 73 69 7a 65 28 29 20 29 20 29 fault_output_filename.size().).)
16e80 0a 20 20 20 20 73 65 74 5f 73 69 67 6e 61 6c 73 28 29 3b 0a 0a 20 20 50 72 65 74 74 79 5f 70 72 .....set_signals();....Pretty_pr
16ea0 69 6e 74 20 70 70 28 20 66 69 6c 65 6e 61 6d 65 73 20 29 3b 0a 0a 20 20 69 6e 74 20 66 61 69 6c int.pp(.filenames.);....int.fail
16ec0 65 64 5f 74 65 73 74 73 20 3d 20 30 3b 0a 20 20 69 6e 74 20 72 65 74 76 61 6c 20 3d 20 30 3b 0a ed_tests.=.0;...int.retval.=.0;.
16ee0 20 20 62 6f 6f 6c 20 73 74 64 69 6e 5f 75 73 65 64 20 3d 20 66 61 6c 73 65 3b 0a 20 20 66 6f 72 ..bool.stdin_used.=.false;...for
16f00 28 20 75 6e 73 69 67 6e 65 64 20 69 20 3d 20 30 3b 20 69 20 3c 20 66 69 6c 65 6e 61 6d 65 73 2e (.unsigned.i.=.0;.i.<.filenames.
16f20 73 69 7a 65 28 29 3b 20 2b 2b 69 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 73 74 64 3a 3a 73 74 72 size();.++i.).....{.....std::str
16f40 69 6e 67 20 69 6e 70 75 74 5f 66 69 6c 65 6e 61 6d 65 3b 0a 20 20 20 20 69 6e 74 20 69 6e 66 64 ing.input_filename;.....int.infd
16f60 3b 0a 20 20 20 20 73 74 72 75 63 74 20 73 74 61 74 20 69 6e 5f 73 74 61 74 73 3b 0a 20 20 20 20 ;.....struct.stat.in_stats;.....
16f80 6f 75 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 2e 63 6c 65 61 72 28 29 3b 0a 0a 20 20 20 20 69 66 output_filename.clear();......if
16fa0 28 20 66 69 6c 65 6e 61 6d 65 73 5b 69 5d 2e 65 6d 70 74 79 28 29 20 7c 7c 20 66 69 6c 65 6e 61 (.filenames[i].empty().||.filena
16fc0 6d 65 73 5b 69 5d 20 3d 3d 20 22 2d 22 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 69 66 mes[i].==."-".).......{.......if
16fe0 28 20 73 74 64 69 6e 5f 75 73 65 64 20 29 20 63 6f 6e 74 69 6e 75 65 3b 20 65 6c 73 65 20 73 74 (.stdin_used.).continue;.else.st
17000 64 69 6e 5f 75 73 65 64 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 69 6e 66 64 20 3d 20 53 54 din_used.=.true;.......infd.=.ST
17020 44 49 4e 5f 46 49 4c 45 4e 4f 3b 0a 20 20 20 20 20 20 69 66 28 20 70 72 6f 67 72 61 6d 5f 6d 6f DIN_FILENO;.......if(.program_mo
17040 64 65 20 21 3d 20 6d 5f 74 65 73 74 20 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 de.!=.m_test.).........{........
17060 20 69 66 28 20 74 6f 5f 73 74 64 6f 75 74 20 7c 7c 20 64 65 66 61 75 6c 74 5f 6f 75 74 70 75 74 .if(.to_stdout.||.default_output
17080 5f 66 69 6c 65 6e 61 6d 65 2e 65 6d 70 74 79 28 29 20 29 0a 20 20 20 20 20 20 20 20 20 20 6f 75 _filename.empty().)...........ou
170a0 74 66 64 20 3d 20 53 54 44 4f 55 54 5f 46 49 4c 45 4e 4f 3b 0a 20 20 20 20 20 20 20 20 65 6c 73 tfd.=.STDOUT_FILENO;.........els
170c0 65 0a 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 69 66 28 20 70 72 6f 67 e...........{...........if(.prog
170e0 72 61 6d 5f 6d 6f 64 65 20 3d 3d 20 6d 5f 63 6f 6d 70 72 65 73 73 20 29 0a 20 20 20 20 20 20 20 ram_mode.==.m_compress.)........
17100 20 20 20 20 20 73 65 74 5f 63 5f 6f 75 74 6e 61 6d 65 28 20 64 65 66 61 75 6c 74 5f 6f 75 74 70 .....set_c_outname(.default_outp
17120 75 74 5f 66 69 6c 65 6e 61 6d 65 2c 20 66 61 6c 73 65 2c 20 76 6f 6c 75 6d 65 5f 73 69 7a 65 20 ut_filename,.false,.volume_size.
17140 3e 20 30 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 6f 75 74 70 75 74 5f 66 69 6c >.0.);...........else.output_fil
17160 65 6e 61 6d 65 20 3d 20 64 65 66 61 75 6c 74 5f 6f 75 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 3b ename.=.default_output_filename;
17180 0a 20 20 20 20 20 20 20 20 20 20 69 66 28 20 21 6f 70 65 6e 5f 6f 75 74 73 74 72 65 61 6d 28 20 ...........if(.!open_outstream(.
171a0 66 6f 72 63 65 2c 20 74 72 75 65 20 29 20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 force,.true.).).............{...
171c0 20 20 20 20 20 20 20 20 20 20 69 66 28 20 72 65 74 76 61 6c 20 3c 20 31 20 29 20 72 65 74 76 61 ..........if(.retval.<.1.).retva
171e0 6c 20 3d 20 31 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6c 6f 73 65 28 20 69 6e 66 64 20 29 l.=.1;.............close(.infd.)
17200 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 20 20 20 20 20 ;.............continue;.........
17220 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 ....}...........}.........}.....
17240 20 20 7d 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 63 6f 6e 73 74 ..}.....else.......{.......const
17260 20 69 6e 74 20 65 69 6e 64 65 78 20 3d 20 65 78 74 65 6e 73 69 6f 6e 5f 69 6e 64 65 78 28 20 69 .int.eindex.=.extension_index(.i
17280 6e 70 75 74 5f 66 69 6c 65 6e 61 6d 65 20 3d 20 66 69 6c 65 6e 61 6d 65 73 5b 69 5d 20 29 3b 0a nput_filename.=.filenames[i].);.
172a0 20 20 20 20 20 20 69 6e 66 64 20 3d 20 6f 70 65 6e 5f 69 6e 73 74 72 65 61 6d 32 28 20 69 6e 70 ......infd.=.open_instream2(.inp
172c0 75 74 5f 66 69 6c 65 6e 61 6d 65 2e 63 5f 73 74 72 28 29 2c 20 26 69 6e 5f 73 74 61 74 73 2c 20 ut_filename.c_str(),.&in_stats,.
172e0 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 program_mode,...................
17300 20 20 20 20 20 20 20 20 20 20 20 65 69 6e 64 65 78 2c 20 72 65 63 6f 6d 70 72 65 73 73 2c 20 74 ...........eindex,.recompress,.t
17320 6f 5f 73 74 64 6f 75 74 20 29 3b 0a 20 20 20 20 20 20 69 66 28 20 69 6e 66 64 20 3c 20 30 20 29 o_stdout.);.......if(.infd.<.0.)
17340 20 7b 20 69 66 28 20 72 65 74 76 61 6c 20 3c 20 31 20 29 20 72 65 74 76 61 6c 20 3d 20 31 3b 20 .{.if(.retval.<.1.).retval.=.1;.
17360 63 6f 6e 74 69 6e 75 65 3b 20 7d 0a 20 20 20 20 20 20 69 66 28 20 70 72 6f 67 72 61 6d 5f 6d 6f continue;.}.......if(.program_mo
17380 64 65 20 21 3d 20 6d 5f 74 65 73 74 20 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 de.!=.m_test.).........{........
173a0 20 69 66 28 20 74 6f 5f 73 74 64 6f 75 74 20 29 20 6f 75 74 66 64 20 3d 20 53 54 44 4f 55 54 5f .if(.to_stdout.).outfd.=.STDOUT_
173c0 46 49 4c 45 4e 4f 3b 0a 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 7b FILENO;.........else...........{
173e0 0a 20 20 20 20 20 20 20 20 20 20 69 66 28 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 3d 3d 20 6d ...........if(.program_mode.==.m
17400 5f 63 6f 6d 70 72 65 73 73 20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 5f 63 5f 6f 75 _compress.).............set_c_ou
17420 74 6e 61 6d 65 28 20 69 6e 70 75 74 5f 66 69 6c 65 6e 61 6d 65 2c 20 74 72 75 65 2c 20 76 6f 6c tname(.input_filename,.true,.vol
17440 75 6d 65 5f 73 69 7a 65 20 3e 20 30 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 73 ume_size.>.0.);...........else.s
17460 65 74 5f 64 5f 6f 75 74 6e 61 6d 65 28 20 69 6e 70 75 74 5f 66 69 6c 65 6e 61 6d 65 2c 20 65 69 et_d_outname(.input_filename,.ei
17480 6e 64 65 78 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 69 66 28 20 21 6f 70 65 6e 5f 6f 75 74 73 ndex.);...........if(.!open_outs
174a0 74 72 65 61 6d 28 20 66 6f 72 63 65 2c 20 66 61 6c 73 65 20 29 20 29 0a 20 20 20 20 20 20 20 20 tream(.force,.false.).).........
174c0 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 28 20 72 65 74 76 61 6c 20 3c 20 31 ....{.............if(.retval.<.1
174e0 20 29 20 72 65 74 76 61 6c 20 3d 20 31 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6c 6f 73 65 .).retval.=.1;.............close
17500 28 20 69 6e 66 64 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a (.infd.);.............continue;.
17520 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 ............}...........}.......
17540 20 20 7d 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 70 70 2e 73 65 74 5f 6e 61 6d 65 28 20 69 6e ..}.......}......pp.set_name(.in
17560 70 75 74 5f 66 69 6c 65 6e 61 6d 65 20 29 3b 0a 20 20 20 20 69 66 28 20 21 63 68 65 63 6b 5f 74 put_filename.);.....if(.!check_t
17580 74 79 28 20 70 70 2e 6e 61 6d 65 28 29 2c 20 69 6e 66 64 2c 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 ty(.pp.name(),.infd,.program_mod
175a0 65 20 29 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 69 66 28 20 72 65 74 76 61 6c 20 3c e.).).......{.......if(.retval.<
175c0 20 31 20 29 20 72 65 74 76 61 6c 20 3d 20 31 3b 0a 20 20 20 20 20 20 69 66 28 20 70 72 6f 67 72 .1.).retval.=.1;.......if(.progr
175e0 61 6d 5f 6d 6f 64 65 20 3d 3d 20 6d 5f 74 65 73 74 20 29 20 7b 20 63 6c 6f 73 65 28 20 69 6e 66 am_mode.==.m_test.).{.close(.inf
17600 64 20 29 3b 20 63 6f 6e 74 69 6e 75 65 3b 20 7d 0a 20 20 20 20 20 20 63 6c 65 61 6e 75 70 5f 61 d.);.continue;.}.......cleanup_a
17620 6e 64 5f 66 61 69 6c 28 20 72 65 74 76 61 6c 20 29 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 nd_fail(.retval.);.......}......
17640 63 6f 6e 73 74 20 73 74 72 75 63 74 20 73 74 61 74 20 2a 20 63 6f 6e 73 74 20 69 6e 5f 73 74 61 const.struct.stat.*.const.in_sta
17660 74 73 70 20 3d 20 69 6e 70 75 74 5f 66 69 6c 65 6e 61 6d 65 2e 73 69 7a 65 28 29 20 3f 20 26 69 tsp.=.input_filename.size().?.&i
17680 6e 5f 73 74 61 74 73 20 3a 20 30 3b 0a 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 n_stats.:.0;.....const.unsigned.
176a0 6c 6f 6e 67 20 6c 6f 6e 67 20 63 66 69 6c 65 5f 73 69 7a 65 20 3d 0a 20 20 20 20 20 20 28 20 69 long.long.cfile_size.=.......(.i
176c0 6e 5f 73 74 61 74 73 70 20 26 26 20 53 5f 49 53 52 45 47 28 20 69 6e 5f 73 74 61 74 73 70 2d 3e n_statsp.&&.S_ISREG(.in_statsp->
176e0 73 74 5f 6d 6f 64 65 20 29 20 29 20 3f 0a 20 20 20 20 20 20 20 20 28 20 69 6e 5f 73 74 61 74 73 st_mode.).).?.........(.in_stats
17700 70 2d 3e 73 74 5f 73 69 7a 65 20 2b 20 39 39 20 29 20 2f 20 31 30 30 20 3a 20 30 3b 0a 20 20 20 p->st_size.+.99.)./.100.:.0;....
17720 20 69 6e 74 20 74 6d 70 3b 0a 20 20 20 20 69 66 28 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 3d .int.tmp;.....if(.program_mode.=
17740 3d 20 6d 5f 63 6f 6d 70 72 65 73 73 20 29 0a 20 20 20 20 20 20 74 6d 70 20 3d 20 63 6f 6d 70 72 =.m_compress.).......tmp.=.compr
17760 65 73 73 28 20 63 66 69 6c 65 5f 73 69 7a 65 2c 20 6d 65 6d 62 65 72 5f 73 69 7a 65 2c 20 76 6f ess(.cfile_size,.member_size,.vo
17780 6c 75 6d 65 5f 73 69 7a 65 2c 20 69 6e 66 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lume_size,.infd,................
177a0 20 20 20 20 20 20 20 65 6e 63 6f 64 65 72 5f 6f 70 74 69 6f 6e 73 2c 20 70 70 2c 20 69 6e 5f 73 .......encoder_options,.pp,.in_s
177c0 74 61 74 73 70 2c 20 7a 65 72 6f 20 29 3b 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 74 6d tatsp,.zero.);.....else.......tm
177e0 70 20 3d 20 64 65 63 6f 6d 70 72 65 73 73 28 20 63 66 69 6c 65 5f 73 69 7a 65 2c 20 69 6e 66 64 p.=.decompress(.cfile_size,.infd
17800 2c 20 70 70 2c 20 69 67 6e 6f 72 65 5f 74 72 61 69 6c 69 6e 67 2c 0a 20 20 20 20 20 20 20 20 20 ,.pp,.ignore_trailing,..........
17820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 6f 6f 73 65 5f 74 72 61 69 6c 69 6e 67 2c 20 70 ...............loose_trailing,.p
17840 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 3d 3d 20 6d 5f 74 65 73 74 20 29 3b 0a 20 20 20 20 69 66 28 rogram_mode.==.m_test.);.....if(
17860 20 74 6d 70 20 3e 20 72 65 74 76 61 6c 20 29 20 72 65 74 76 61 6c 20 3d 20 74 6d 70 3b 0a 20 20 .tmp.>.retval.).retval.=.tmp;...
17880 20 20 69 66 28 20 74 6d 70 20 29 0a 20 20 20 20 20 20 7b 20 69 66 28 20 70 72 6f 67 72 61 6d 5f ..if(.tmp.).......{.if(.program_
178a0 6d 6f 64 65 20 21 3d 20 6d 5f 74 65 73 74 20 29 20 63 6c 65 61 6e 75 70 5f 61 6e 64 5f 66 61 69 mode.!=.m_test.).cleanup_and_fai
178c0 6c 28 20 72 65 74 76 61 6c 20 29 3b 0a 20 20 20 20 20 20 20 20 65 6c 73 65 20 2b 2b 66 61 69 6c l(.retval.);.........else.++fail
178e0 65 64 5f 74 65 73 74 73 3b 20 7d 0a 0a 20 20 20 20 69 66 28 20 64 65 6c 65 74 65 5f 6f 75 74 70 ed_tests;.}......if(.delete_outp
17900 75 74 5f 6f 6e 5f 69 6e 74 65 72 72 75 70 74 20 29 0a 20 20 20 20 20 20 63 6c 6f 73 65 5f 61 6e ut_on_interrupt.).......close_an
17920 64 5f 73 65 74 5f 70 65 72 6d 69 73 73 69 6f 6e 73 28 20 69 6e 5f 73 74 61 74 73 70 20 29 3b 0a d_set_permissions(.in_statsp.);.
17940 20 20 20 20 69 66 28 20 69 6e 70 75 74 5f 66 69 6c 65 6e 61 6d 65 2e 73 69 7a 65 28 29 20 29 0a ....if(.input_filename.size().).
17960 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 63 6c 6f 73 65 28 20 69 6e 66 64 20 29 3b 0a 20 20 20 ......{.......close(.infd.);....
17980 20 20 20 69 66 28 20 21 6b 65 65 70 5f 69 6e 70 75 74 5f 66 69 6c 65 73 20 26 26 20 21 74 6f 5f ...if(.!keep_input_files.&&.!to_
179a0 73 74 64 6f 75 74 20 26 26 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 21 3d 20 6d 5f 74 65 73 74 stdout.&&.program_mode.!=.m_test
179c0 20 26 26 0a 20 20 20 20 20 20 20 20 20 20 28 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 21 3d 20 .&&...........(.program_mode.!=.
179e0 6d 5f 63 6f 6d 70 72 65 73 73 20 7c 7c 20 76 6f 6c 75 6d 65 5f 73 69 7a 65 20 3d 3d 20 30 20 29 m_compress.||.volume_size.==.0.)
17a00 20 29 0a 20 20 20 20 20 20 20 20 73 74 64 3a 3a 72 65 6d 6f 76 65 28 20 69 6e 70 75 74 5f 66 69 .).........std::remove(.input_fi
17a20 6c 65 6e 61 6d 65 2e 63 5f 73 74 72 28 29 20 29 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a lename.c_str().);.......}.....}.
17a40 20 20 69 66 28 20 6f 75 74 66 64 20 3e 3d 20 30 20 26 26 20 63 6c 6f 73 65 28 20 6f 75 74 66 64 ..if(.outfd.>=.0.&&.close(.outfd
17a60 20 29 20 21 3d 20 30 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 73 68 6f 77 5f 65 72 72 6f 72 28 20 .).!=.0.).....{.....show_error(.
17a80 22 45 72 72 6f 72 20 63 6c 6f 73 69 6e 67 20 73 74 64 6f 75 74 22 2c 20 65 72 72 6e 6f 20 29 3b "Error.closing.stdout",.errno.);
17aa0 0a 20 20 20 20 69 66 28 20 72 65 74 76 61 6c 20 3c 20 31 20 29 20 72 65 74 76 61 6c 20 3d 20 31 .....if(.retval.<.1.).retval.=.1
17ac0 3b 0a 20 20 20 20 7d 0a 20 20 69 66 28 20 66 61 69 6c 65 64 5f 74 65 73 74 73 20 3e 20 30 20 26 ;.....}...if(.failed_tests.>.0.&
17ae0 26 20 76 65 72 62 6f 73 69 74 79 20 3e 3d 20 31 20 26 26 20 66 69 6c 65 6e 61 6d 65 73 2e 73 69 &.verbosity.>=.1.&&.filenames.si
17b00 7a 65 28 29 20 3e 20 31 20 29 0a 20 20 20 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 ze().>.1.).....std::fprintf(.std
17b20 65 72 72 2c 20 22 25 73 3a 20 77 61 72 6e 69 6e 67 3a 20 25 64 20 25 73 20 66 61 69 6c 65 64 20 err,."%s:.warning:.%d.%s.failed.
17b40 74 68 65 20 74 65 73 74 2e 5c 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 the.test.\n",...................
17b60 70 72 6f 67 72 61 6d 5f 6e 61 6d 65 2c 20 66 61 69 6c 65 64 5f 74 65 73 74 73 2c 0a 20 20 20 20 program_name,.failed_tests,.....
17b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 20 66 61 69 6c 65 64 5f 74 65 73 74 73 20 3d 3d 20 ..............(.failed_tests.==.
17ba0 31 20 29 20 3f 20 22 66 69 6c 65 22 20 3a 20 22 66 69 6c 65 73 22 20 29 3b 0a 20 20 72 65 74 75 1.).?."file".:."files".);...retu
17bc0 72 6e 20 72 65 74 76 61 6c 3b 0a 20 20 7d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 rn.retval;...}..................
17be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17c00 6c 7a 69 70 2d 31 2e 32 30 2f 43 4f 50 59 49 4e 47 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 lzip-1.20/COPYING...............
17c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17c60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
17c80 30 30 34 33 31 35 31 00 31 33 36 36 34 37 33 36 35 34 35 00 30 31 33 36 32 34 00 20 30 00 00 00 0043151.13664736545.013624..0...
17ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17d00 00 75 73 74 61 72 20 20 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...mohammad...............
17d20 00 00 00 00 00 00 00 00 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........mohammad...............
17d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 47 4e 55 20 47 45 4e 45 52 41 4c 20 ....................GNU.GENERAL.
17e20 50 55 42 4c 49 43 20 4c 49 43 45 4e 53 45 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 PUBLIC.LICENSE..................
17e40 20 20 20 20 20 20 56 65 72 73 69 6f 6e 20 32 2c 20 4a 75 6e 65 20 31 39 39 31 0a 0a 20 43 6f 70 ......Version.2,.June.1991...Cop
17e60 79 72 69 67 68 74 20 28 43 29 20 31 39 38 39 2c 20 31 39 39 31 20 46 72 65 65 20 53 6f 66 74 77 yright.(C).1989,.1991.Free.Softw
17e80 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 2c 0a 20 35 31 20 46 72 61 6e 6b 6c are.Foundation,.Inc.,..51.Frankl
17ea0 69 6e 20 53 74 72 65 65 74 2c 20 46 69 66 74 68 20 46 6c 6f 6f 72 2c 20 42 6f 73 74 6f 6e 2c 20 in.Street,.Fifth.Floor,.Boston,.
17ec0 4d 41 20 30 32 31 31 30 2d 31 33 30 31 20 55 53 41 0a 20 45 76 65 72 79 6f 6e 65 20 69 73 20 70 MA.02110-1301.USA..Everyone.is.p
17ee0 65 72 6d 69 74 74 65 64 20 74 6f 20 63 6f 70 79 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 ermitted.to.copy.and.distribute.
17f00 76 65 72 62 61 74 69 6d 20 63 6f 70 69 65 73 0a 20 6f 66 20 74 68 69 73 20 6c 69 63 65 6e 73 65 verbatim.copies..of.this.license
17f20 20 64 6f 63 75 6d 65 6e 74 2c 20 62 75 74 20 63 68 61 6e 67 69 6e 67 20 69 74 20 69 73 20 6e 6f .document,.but.changing.it.is.no
17f40 74 20 61 6c 6c 6f 77 65 64 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.allowed.......................
17f60 20 20 20 20 20 20 20 20 50 72 65 61 6d 62 6c 65 0a 0a 20 20 54 68 65 20 6c 69 63 65 6e 73 65 73 ........Preamble....The.licenses
17f80 20 66 6f 72 20 6d 6f 73 74 20 73 6f 66 74 77 61 72 65 20 61 72 65 20 64 65 73 69 67 6e 65 64 20 .for.most.software.are.designed.
17fa0 74 6f 20 74 61 6b 65 20 61 77 61 79 20 79 6f 75 72 0a 66 72 65 65 64 6f 6d 20 74 6f 20 73 68 61 to.take.away.your.freedom.to.sha
17fc0 72 65 20 61 6e 64 20 63 68 61 6e 67 65 20 69 74 2e 20 20 42 79 20 63 6f 6e 74 72 61 73 74 2c 20 re.and.change.it...By.contrast,.
17fe0 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 0a 4c 69 63 65 6e 73 65 20 69 the.GNU.General.Public.License.i
18000 73 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 67 75 61 72 61 6e 74 65 65 20 79 6f 75 72 20 66 72 65 s.intended.to.guarantee.your.fre
18020 65 64 6f 6d 20 74 6f 20 73 68 61 72 65 20 61 6e 64 20 63 68 61 6e 67 65 20 66 72 65 65 0a 73 6f edom.to.share.and.change.free.so
18040 66 74 77 61 72 65 2d 2d 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 74 68 65 20 73 6f 66 74 77 61 72 ftware--to.make.sure.the.softwar
18060 65 20 69 73 20 66 72 65 65 20 66 6f 72 20 61 6c 6c 20 69 74 73 20 75 73 65 72 73 2e 20 20 54 68 e.is.free.for.all.its.users...Th
18080 69 73 0a 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 70 70 6c 69 65 is.General.Public.License.applie
180a0 73 20 74 6f 20 6d 6f 73 74 20 6f 66 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 0a 46 s.to.most.of.the.Free.Software.F
180c0 6f 75 6e 64 61 74 69 6f 6e 27 73 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 74 6f 20 61 6e 79 20 oundation's.software.and.to.any.
180e0 6f 74 68 65 72 20 70 72 6f 67 72 61 6d 20 77 68 6f 73 65 20 61 75 74 68 6f 72 73 20 63 6f 6d 6d other.program.whose.authors.comm
18100 69 74 20 74 6f 0a 75 73 69 6e 67 20 69 74 2e 20 20 28 53 6f 6d 65 20 6f 74 68 65 72 20 46 72 65 it.to.using.it...(Some.other.Fre
18120 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 20 73 6f 66 74 77 61 72 65 20 69 e.Software.Foundation.software.i
18140 73 20 63 6f 76 65 72 65 64 20 62 79 0a 74 68 65 20 47 4e 55 20 4c 65 73 73 65 72 20 47 65 6e 65 s.covered.by.the.GNU.Lesser.Gene
18160 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 69 6e 73 74 65 61 64 2e 29 20 20 59 6f ral.Public.License.instead.)..Yo
18180 75 20 63 61 6e 20 61 70 70 6c 79 20 69 74 20 74 6f 0a 79 6f 75 72 20 70 72 6f 67 72 61 6d 73 2c u.can.apply.it.to.your.programs,
181a0 20 74 6f 6f 2e 0a 0a 20 20 57 68 65 6e 20 77 65 20 73 70 65 61 6b 20 6f 66 20 66 72 65 65 20 73 .too.....When.we.speak.of.free.s
181c0 6f 66 74 77 61 72 65 2c 20 77 65 20 61 72 65 20 72 65 66 65 72 72 69 6e 67 20 74 6f 20 66 72 65 oftware,.we.are.referring.to.fre
181e0 65 64 6f 6d 2c 20 6e 6f 74 0a 70 72 69 63 65 2e 20 20 4f 75 72 20 47 65 6e 65 72 61 6c 20 50 75 edom,.not.price...Our.General.Pu
18200 62 6c 69 63 20 4c 69 63 65 6e 73 65 73 20 61 72 65 20 64 65 73 69 67 6e 65 64 20 74 6f 20 6d 61 blic.Licenses.are.designed.to.ma
18220 6b 65 20 73 75 72 65 20 74 68 61 74 20 79 6f 75 0a 68 61 76 65 20 74 68 65 20 66 72 65 65 64 6f ke.sure.that.you.have.the.freedo
18240 6d 20 74 6f 20 64 69 73 74 72 69 62 75 74 65 20 63 6f 70 69 65 73 20 6f 66 20 66 72 65 65 20 73 m.to.distribute.copies.of.free.s
18260 6f 66 74 77 61 72 65 20 28 61 6e 64 20 63 68 61 72 67 65 20 66 6f 72 0a 74 68 69 73 20 73 65 72 oftware.(and.charge.for.this.ser
18280 76 69 63 65 20 69 66 20 79 6f 75 20 77 69 73 68 29 2c 20 74 68 61 74 20 79 6f 75 20 72 65 63 65 vice.if.you.wish),.that.you.rece
182a0 69 76 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 6f 72 20 63 61 6e 20 67 65 74 20 69 74 0a 69 66 ive.source.code.or.can.get.it.if
182c0 20 79 6f 75 20 77 61 6e 74 20 69 74 2c 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 63 68 61 6e 67 .you.want.it,.that.you.can.chang
182e0 65 20 74 68 65 20 73 6f 66 74 77 61 72 65 20 6f 72 20 75 73 65 20 70 69 65 63 65 73 20 6f 66 20 e.the.software.or.use.pieces.of.
18300 69 74 0a 69 6e 20 6e 65 77 20 66 72 65 65 20 70 72 6f 67 72 61 6d 73 3b 20 61 6e 64 20 74 68 61 it.in.new.free.programs;.and.tha
18320 74 20 79 6f 75 20 6b 6e 6f 77 20 79 6f 75 20 63 61 6e 20 64 6f 20 74 68 65 73 65 20 74 68 69 6e t.you.know.you.can.do.these.thin
18340 67 73 2e 0a 0a 20 20 54 6f 20 70 72 6f 74 65 63 74 20 79 6f 75 72 20 72 69 67 68 74 73 2c 20 77 gs.....To.protect.your.rights,.w
18360 65 20 6e 65 65 64 20 74 6f 20 6d 61 6b 65 20 72 65 73 74 72 69 63 74 69 6f 6e 73 20 74 68 61 74 e.need.to.make.restrictions.that
18380 20 66 6f 72 62 69 64 0a 61 6e 79 6f 6e 65 20 74 6f 20 64 65 6e 79 20 79 6f 75 20 74 68 65 73 65 .forbid.anyone.to.deny.you.these
183a0 20 72 69 67 68 74 73 20 6f 72 20 74 6f 20 61 73 6b 20 79 6f 75 20 74 6f 20 73 75 72 72 65 6e 64 .rights.or.to.ask.you.to.surrend
183c0 65 72 20 74 68 65 20 72 69 67 68 74 73 2e 0a 54 68 65 73 65 20 72 65 73 74 72 69 63 74 69 6f 6e er.the.rights..These.restriction
183e0 73 20 74 72 61 6e 73 6c 61 74 65 20 74 6f 20 63 65 72 74 61 69 6e 20 72 65 73 70 6f 6e 73 69 62 s.translate.to.certain.responsib
18400 69 6c 69 74 69 65 73 20 66 6f 72 20 79 6f 75 20 69 66 20 79 6f 75 0a 64 69 73 74 72 69 62 75 74 ilities.for.you.if.you.distribut
18420 65 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 73 6f 66 74 77 61 72 65 2c 20 6f 72 20 69 66 20 e.copies.of.the.software,.or.if.
18440 79 6f 75 20 6d 6f 64 69 66 79 20 69 74 2e 0a 0a 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 69 you.modify.it.....For.example,.i
18460 66 20 79 6f 75 20 64 69 73 74 72 69 62 75 74 65 20 63 6f 70 69 65 73 20 6f 66 20 73 75 63 68 20 f.you.distribute.copies.of.such.
18480 61 20 70 72 6f 67 72 61 6d 2c 20 77 68 65 74 68 65 72 0a 67 72 61 74 69 73 20 6f 72 20 66 6f 72 a.program,.whether.gratis.or.for
184a0 20 61 20 66 65 65 2c 20 79 6f 75 20 6d 75 73 74 20 67 69 76 65 20 74 68 65 20 72 65 63 69 70 69 .a.fee,.you.must.give.the.recipi
184c0 65 6e 74 73 20 61 6c 6c 20 74 68 65 20 72 69 67 68 74 73 20 74 68 61 74 0a 79 6f 75 20 68 61 76 ents.all.the.rights.that.you.hav
184e0 65 2e 20 20 59 6f 75 20 6d 75 73 74 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 20 74 68 65 79 e...You.must.make.sure.that.they
18500 2c 20 74 6f 6f 2c 20 72 65 63 65 69 76 65 20 6f 72 20 63 61 6e 20 67 65 74 20 74 68 65 0a 73 6f ,.too,.receive.or.can.get.the.so
18520 75 72 63 65 20 63 6f 64 65 2e 20 20 41 6e 64 20 79 6f 75 20 6d 75 73 74 20 73 68 6f 77 20 74 68 urce.code...And.you.must.show.th
18540 65 6d 20 74 68 65 73 65 20 74 65 72 6d 73 20 73 6f 20 74 68 65 79 20 6b 6e 6f 77 20 74 68 65 69 em.these.terms.so.they.know.thei
18560 72 0a 72 69 67 68 74 73 2e 0a 0a 20 20 57 65 20 70 72 6f 74 65 63 74 20 79 6f 75 72 20 72 69 67 r.rights.....We.protect.your.rig
18580 68 74 73 20 77 69 74 68 20 74 77 6f 20 73 74 65 70 73 3a 20 28 31 29 20 63 6f 70 79 72 69 67 68 hts.with.two.steps:.(1).copyrigh
185a0 74 20 74 68 65 20 73 6f 66 74 77 61 72 65 2c 20 61 6e 64 0a 28 32 29 20 6f 66 66 65 72 20 79 6f t.the.software,.and.(2).offer.yo
185c0 75 20 74 68 69 73 20 6c 69 63 65 6e 73 65 20 77 68 69 63 68 20 67 69 76 65 73 20 79 6f 75 20 6c u.this.license.which.gives.you.l
185e0 65 67 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 63 6f 70 79 2c 0a 64 69 73 74 72 69 62 egal.permission.to.copy,.distrib
18600 75 74 65 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 20 74 68 65 20 73 6f 66 74 77 61 72 65 2e 0a ute.and/or.modify.the.software..
18620 0a 20 20 41 6c 73 6f 2c 20 66 6f 72 20 65 61 63 68 20 61 75 74 68 6f 72 27 73 20 70 72 6f 74 65 ...Also,.for.each.author's.prote
18640 63 74 69 6f 6e 20 61 6e 64 20 6f 75 72 73 2c 20 77 65 20 77 61 6e 74 20 74 6f 20 6d 61 6b 65 20 ction.and.ours,.we.want.to.make.
18660 63 65 72 74 61 69 6e 0a 74 68 61 74 20 65 76 65 72 79 6f 6e 65 20 75 6e 64 65 72 73 74 61 6e 64 certain.that.everyone.understand
18680 73 20 74 68 61 74 20 74 68 65 72 65 20 69 73 20 6e 6f 20 77 61 72 72 61 6e 74 79 20 66 6f 72 20 s.that.there.is.no.warranty.for.
186a0 74 68 69 73 20 66 72 65 65 0a 73 6f 66 74 77 61 72 65 2e 20 20 49 66 20 74 68 65 20 73 6f 66 74 this.free.software...If.the.soft
186c0 77 61 72 65 20 69 73 20 6d 6f 64 69 66 69 65 64 20 62 79 20 73 6f 6d 65 6f 6e 65 20 65 6c 73 65 ware.is.modified.by.someone.else
186e0 20 61 6e 64 20 70 61 73 73 65 64 20 6f 6e 2c 20 77 65 0a 77 61 6e 74 20 69 74 73 20 72 65 63 69 .and.passed.on,.we.want.its.reci
18700 70 69 65 6e 74 73 20 74 6f 20 6b 6e 6f 77 20 74 68 61 74 20 77 68 61 74 20 74 68 65 79 20 68 61 pients.to.know.that.what.they.ha
18720 76 65 20 69 73 20 6e 6f 74 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 2c 20 73 6f 0a 74 68 61 74 20 ve.is.not.the.original,.so.that.
18740 61 6e 79 20 70 72 6f 62 6c 65 6d 73 20 69 6e 74 72 6f 64 75 63 65 64 20 62 79 20 6f 74 68 65 72 any.problems.introduced.by.other
18760 73 20 77 69 6c 6c 20 6e 6f 74 20 72 65 66 6c 65 63 74 20 6f 6e 20 74 68 65 20 6f 72 69 67 69 6e s.will.not.reflect.on.the.origin
18780 61 6c 0a 61 75 74 68 6f 72 73 27 20 72 65 70 75 74 61 74 69 6f 6e 73 2e 0a 0a 20 20 46 69 6e 61 al.authors'.reputations.....Fina
187a0 6c 6c 79 2c 20 61 6e 79 20 66 72 65 65 20 70 72 6f 67 72 61 6d 20 69 73 20 74 68 72 65 61 74 65 lly,.any.free.program.is.threate
187c0 6e 65 64 20 63 6f 6e 73 74 61 6e 74 6c 79 20 62 79 20 73 6f 66 74 77 61 72 65 0a 70 61 74 65 6e ned.constantly.by.software.paten
187e0 74 73 2e 20 20 57 65 20 77 69 73 68 20 74 6f 20 61 76 6f 69 64 20 74 68 65 20 64 61 6e 67 65 72 ts...We.wish.to.avoid.the.danger
18800 20 74 68 61 74 20 72 65 64 69 73 74 72 69 62 75 74 6f 72 73 20 6f 66 20 61 20 66 72 65 65 0a 70 .that.redistributors.of.a.free.p
18820 72 6f 67 72 61 6d 20 77 69 6c 6c 20 69 6e 64 69 76 69 64 75 61 6c 6c 79 20 6f 62 74 61 69 6e 20 rogram.will.individually.obtain.
18840 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 73 2c 20 69 6e 20 65 66 66 65 63 74 20 6d 61 6b 69 6e patent.licenses,.in.effect.makin
18860 67 20 74 68 65 0a 70 72 6f 67 72 61 6d 20 70 72 6f 70 72 69 65 74 61 72 79 2e 20 20 54 6f 20 70 g.the.program.proprietary...To.p
18880 72 65 76 65 6e 74 20 74 68 69 73 2c 20 77 65 20 68 61 76 65 20 6d 61 64 65 20 69 74 20 63 6c 65 revent.this,.we.have.made.it.cle
188a0 61 72 20 74 68 61 74 20 61 6e 79 0a 70 61 74 65 6e 74 20 6d 75 73 74 20 62 65 20 6c 69 63 65 6e ar.that.any.patent.must.be.licen
188c0 73 65 64 20 66 6f 72 20 65 76 65 72 79 6f 6e 65 27 73 20 66 72 65 65 20 75 73 65 20 6f 72 20 6e sed.for.everyone's.free.use.or.n
188e0 6f 74 20 6c 69 63 65 6e 73 65 64 20 61 74 20 61 6c 6c 2e 0a 0a 20 20 54 68 65 20 70 72 65 63 69 ot.licensed.at.all.....The.preci
18900 73 65 20 74 65 72 6d 73 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 73 20 66 6f 72 20 63 6f 70 79 se.terms.and.conditions.for.copy
18920 69 6e 67 2c 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 61 6e 64 0a 6d 6f 64 69 66 69 63 61 74 69 ing,.distribution.and.modificati
18940 6f 6e 20 66 6f 6c 6c 6f 77 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 on.follow.......................
18960 47 4e 55 20 47 45 4e 45 52 41 4c 20 50 55 42 4c 49 43 20 4c 49 43 45 4e 53 45 0a 20 20 20 54 45 GNU.GENERAL.PUBLIC.LICENSE....TE
18980 52 4d 53 20 41 4e 44 20 43 4f 4e 44 49 54 49 4f 4e 53 20 46 4f 52 20 43 4f 50 59 49 4e 47 2c 20 RMS.AND.CONDITIONS.FOR.COPYING,.
189a0 44 49 53 54 52 49 42 55 54 49 4f 4e 20 41 4e 44 20 4d 4f 44 49 46 49 43 41 54 49 4f 4e 0a 0a 20 DISTRIBUTION.AND.MODIFICATION...
189c0 20 30 2e 20 54 68 69 73 20 4c 69 63 65 6e 73 65 20 61 70 70 6c 69 65 73 20 74 6f 20 61 6e 79 20 .0..This.License.applies.to.any.
189e0 70 72 6f 67 72 61 6d 20 6f 72 20 6f 74 68 65 72 20 77 6f 72 6b 20 77 68 69 63 68 20 63 6f 6e 74 program.or.other.work.which.cont
18a00 61 69 6e 73 0a 61 20 6e 6f 74 69 63 65 20 70 6c 61 63 65 64 20 62 79 20 74 68 65 20 63 6f 70 79 ains.a.notice.placed.by.the.copy
18a20 72 69 67 68 74 20 68 6f 6c 64 65 72 20 73 61 79 69 6e 67 20 69 74 20 6d 61 79 20 62 65 20 64 69 right.holder.saying.it.may.be.di
18a40 73 74 72 69 62 75 74 65 64 0a 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 69 stributed.under.the.terms.of.thi
18a60 73 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2e 20 20 54 68 65 20 22 s.General.Public.License...The."
18a80 50 72 6f 67 72 61 6d 22 2c 20 62 65 6c 6f 77 2c 0a 72 65 66 65 72 73 20 74 6f 20 61 6e 79 20 73 Program",.below,.refers.to.any.s
18aa0 75 63 68 20 70 72 6f 67 72 61 6d 20 6f 72 20 77 6f 72 6b 2c 20 61 6e 64 20 61 20 22 77 6f 72 6b uch.program.or.work,.and.a."work
18ac0 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 22 0a 6d 65 61 6e 73 20 65 69 74 .based.on.the.Program".means.eit
18ae0 68 65 72 20 74 68 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 61 6e 79 20 64 65 72 69 76 61 74 69 76 her.the.Program.or.any.derivativ
18b00 65 20 77 6f 72 6b 20 75 6e 64 65 72 20 63 6f 70 79 72 69 67 68 74 20 6c 61 77 3a 0a 74 68 61 74 e.work.under.copyright.law:.that
18b20 20 69 73 20 74 6f 20 73 61 79 2c 20 61 20 77 6f 72 6b 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 .is.to.say,.a.work.containing.th
18b40 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 61 20 70 6f 72 74 69 6f 6e 20 6f 66 20 69 74 2c 0a 65 69 e.Program.or.a.portion.of.it,.ei
18b60 74 68 65 72 20 76 65 72 62 61 74 69 6d 20 6f 72 20 77 69 74 68 20 6d 6f 64 69 66 69 63 61 74 69 ther.verbatim.or.with.modificati
18b80 6f 6e 73 20 61 6e 64 2f 6f 72 20 74 72 61 6e 73 6c 61 74 65 64 20 69 6e 74 6f 20 61 6e 6f 74 68 ons.and/or.translated.into.anoth
18ba0 65 72 0a 6c 61 6e 67 75 61 67 65 2e 20 20 28 48 65 72 65 69 6e 61 66 74 65 72 2c 20 74 72 61 6e er.language...(Hereinafter,.tran
18bc0 73 6c 61 74 69 6f 6e 20 69 73 20 69 6e 63 6c 75 64 65 64 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 slation.is.included.without.limi
18be0 74 61 74 69 6f 6e 20 69 6e 0a 74 68 65 20 74 65 72 6d 20 22 6d 6f 64 69 66 69 63 61 74 69 6f 6e tation.in.the.term."modification
18c00 22 2e 29 20 20 45 61 63 68 20 6c 69 63 65 6e 73 65 65 20 69 73 20 61 64 64 72 65 73 73 65 64 20 ".)..Each.licensee.is.addressed.
18c20 61 73 20 22 79 6f 75 22 2e 0a 0a 41 63 74 69 76 69 74 69 65 73 20 6f 74 68 65 72 20 74 68 61 6e as."you"...Activities.other.than
18c40 20 63 6f 70 79 69 6e 67 2c 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 61 6e 64 20 6d 6f 64 69 66 .copying,.distribution.and.modif
18c60 69 63 61 74 69 6f 6e 20 61 72 65 20 6e 6f 74 0a 63 6f 76 65 72 65 64 20 62 79 20 74 68 69 73 20 ication.are.not.covered.by.this.
18c80 4c 69 63 65 6e 73 65 3b 20 74 68 65 79 20 61 72 65 20 6f 75 74 73 69 64 65 20 69 74 73 20 73 63 License;.they.are.outside.its.sc
18ca0 6f 70 65 2e 20 20 54 68 65 20 61 63 74 20 6f 66 0a 72 75 6e 6e 69 6e 67 20 74 68 65 20 50 72 6f ope...The.act.of.running.the.Pro
18cc0 67 72 61 6d 20 69 73 20 6e 6f 74 20 72 65 73 74 72 69 63 74 65 64 2c 20 61 6e 64 20 74 68 65 20 gram.is.not.restricted,.and.the.
18ce0 6f 75 74 70 75 74 20 66 72 6f 6d 20 74 68 65 20 50 72 6f 67 72 61 6d 0a 69 73 20 63 6f 76 65 72 output.from.the.Program.is.cover
18d00 65 64 20 6f 6e 6c 79 20 69 66 20 69 74 73 20 63 6f 6e 74 65 6e 74 73 20 63 6f 6e 73 74 69 74 75 ed.only.if.its.contents.constitu
18d20 74 65 20 61 20 77 6f 72 6b 20 62 61 73 65 64 20 6f 6e 20 74 68 65 0a 50 72 6f 67 72 61 6d 20 28 te.a.work.based.on.the.Program.(
18d40 69 6e 64 65 70 65 6e 64 65 6e 74 20 6f 66 20 68 61 76 69 6e 67 20 62 65 65 6e 20 6d 61 64 65 20 independent.of.having.been.made.
18d60 62 79 20 72 75 6e 6e 69 6e 67 20 74 68 65 20 50 72 6f 67 72 61 6d 29 2e 0a 57 68 65 74 68 65 72 by.running.the.Program)..Whether
18d80 20 74 68 61 74 20 69 73 20 74 72 75 65 20 64 65 70 65 6e 64 73 20 6f 6e 20 77 68 61 74 20 74 68 .that.is.true.depends.on.what.th
18da0 65 20 50 72 6f 67 72 61 6d 20 64 6f 65 73 2e 0a 0a 20 20 31 2e 20 59 6f 75 20 6d 61 79 20 63 6f e.Program.does.....1..You.may.co
18dc0 70 79 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 76 65 72 62 61 74 69 6d 20 63 6f 70 69 65 py.and.distribute.verbatim.copie
18de0 73 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 27 73 0a 73 6f 75 72 63 65 20 63 6f 64 65 20 61 s.of.the.Program's.source.code.a
18e00 73 20 79 6f 75 20 72 65 63 65 69 76 65 20 69 74 2c 20 69 6e 20 61 6e 79 20 6d 65 64 69 75 6d 2c s.you.receive.it,.in.any.medium,
18e20 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 0a 63 6f 6e 73 70 69 63 75 6f 75 73 6c 79 .provided.that.you.conspicuously
18e40 20 61 6e 64 20 61 70 70 72 6f 70 72 69 61 74 65 6c 79 20 70 75 62 6c 69 73 68 20 6f 6e 20 65 61 .and.appropriately.publish.on.ea
18e60 63 68 20 63 6f 70 79 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65 0a 63 6f 70 79 72 69 67 68 74 ch.copy.an.appropriate.copyright
18e80 20 6e 6f 74 69 63 65 20 61 6e 64 20 64 69 73 63 6c 61 69 6d 65 72 20 6f 66 20 77 61 72 72 61 6e .notice.and.disclaimer.of.warran
18ea0 74 79 3b 20 6b 65 65 70 20 69 6e 74 61 63 74 20 61 6c 6c 20 74 68 65 0a 6e 6f 74 69 63 65 73 20 ty;.keep.intact.all.the.notices.
18ec0 74 68 61 74 20 72 65 66 65 72 20 74 6f 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 6e 64 20 74 that.refer.to.this.License.and.t
18ee0 6f 20 74 68 65 20 61 62 73 65 6e 63 65 20 6f 66 20 61 6e 79 20 77 61 72 72 61 6e 74 79 3b 0a 61 o.the.absence.of.any.warranty;.a
18f00 6e 64 20 67 69 76 65 20 61 6e 79 20 6f 74 68 65 72 20 72 65 63 69 70 69 65 6e 74 73 20 6f 66 20 nd.give.any.other.recipients.of.
18f20 74 68 65 20 50 72 6f 67 72 61 6d 20 61 20 63 6f 70 79 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e the.Program.a.copy.of.this.Licen
18f40 73 65 0a 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a 59 6f 75 20 se.along.with.the.Program...You.
18f60 6d 61 79 20 63 68 61 72 67 65 20 61 20 66 65 65 20 66 6f 72 20 74 68 65 20 70 68 79 73 69 63 61 may.charge.a.fee.for.the.physica
18f80 6c 20 61 63 74 20 6f 66 20 74 72 61 6e 73 66 65 72 72 69 6e 67 20 61 20 63 6f 70 79 2c 20 61 6e l.act.of.transferring.a.copy,.an
18fa0 64 0a 79 6f 75 20 6d 61 79 20 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 20 6f 66 66 65 72 20 77 d.you.may.at.your.option.offer.w
18fc0 61 72 72 61 6e 74 79 20 70 72 6f 74 65 63 74 69 6f 6e 20 69 6e 20 65 78 63 68 61 6e 67 65 20 66 arranty.protection.in.exchange.f
18fe0 6f 72 20 61 20 66 65 65 2e 0a 0a 20 20 32 2e 20 59 6f 75 20 6d 61 79 20 6d 6f 64 69 66 79 20 79 or.a.fee.....2..You.may.modify.y
19000 6f 75 72 20 63 6f 70 79 20 6f 72 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 our.copy.or.copies.of.the.Progra
19020 6d 20 6f 72 20 61 6e 79 20 70 6f 72 74 69 6f 6e 0a 6f 66 20 69 74 2c 20 74 68 75 73 20 66 6f 72 m.or.any.portion.of.it,.thus.for
19040 6d 69 6e 67 20 61 20 77 6f 72 6b 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d ming.a.work.based.on.the.Program
19060 2c 20 61 6e 64 20 63 6f 70 79 20 61 6e 64 0a 64 69 73 74 72 69 62 75 74 65 20 73 75 63 68 20 6d ,.and.copy.and.distribute.such.m
19080 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 6f 72 20 77 6f 72 6b 20 75 6e 64 65 72 20 74 68 65 20 74 odifications.or.work.under.the.t
190a0 65 72 6d 73 20 6f 66 20 53 65 63 74 69 6f 6e 20 31 0a 61 62 6f 76 65 2c 20 70 72 6f 76 69 64 65 erms.of.Section.1.above,.provide
190c0 64 20 74 68 61 74 20 79 6f 75 20 61 6c 73 6f 20 6d 65 65 74 20 61 6c 6c 20 6f 66 20 74 68 65 73 d.that.you.also.meet.all.of.thes
190e0 65 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 20 20 20 20 61 29 20 59 6f 75 20 6d 75 73 74 20 63 e.conditions:......a).You.must.c
19100 61 75 73 65 20 74 68 65 20 6d 6f 64 69 66 69 65 64 20 66 69 6c 65 73 20 74 6f 20 63 61 72 72 79 ause.the.modified.files.to.carry
19120 20 70 72 6f 6d 69 6e 65 6e 74 20 6e 6f 74 69 63 65 73 0a 20 20 20 20 73 74 61 74 69 6e 67 20 74 .prominent.notices.....stating.t
19140 68 61 74 20 79 6f 75 20 63 68 61 6e 67 65 64 20 74 68 65 20 66 69 6c 65 73 20 61 6e 64 20 74 68 hat.you.changed.the.files.and.th
19160 65 20 64 61 74 65 20 6f 66 20 61 6e 79 20 63 68 61 6e 67 65 2e 0a 0a 20 20 20 20 62 29 20 59 6f e.date.of.any.change.......b).Yo
19180 75 20 6d 75 73 74 20 63 61 75 73 65 20 61 6e 79 20 77 6f 72 6b 20 74 68 61 74 20 79 6f 75 20 64 u.must.cause.any.work.that.you.d
191a0 69 73 74 72 69 62 75 74 65 20 6f 72 20 70 75 62 6c 69 73 68 2c 20 74 68 61 74 20 69 6e 0a 20 20 istribute.or.publish,.that.in...
191c0 20 20 77 68 6f 6c 65 20 6f 72 20 69 6e 20 70 61 72 74 20 63 6f 6e 74 61 69 6e 73 20 6f 72 20 69 ..whole.or.in.part.contains.or.i
191e0 73 20 64 65 72 69 76 65 64 20 66 72 6f 6d 20 74 68 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 61 6e s.derived.from.the.Program.or.an
19200 79 0a 20 20 20 20 70 61 72 74 20 74 68 65 72 65 6f 66 2c 20 74 6f 20 62 65 20 6c 69 63 65 6e 73 y.....part.thereof,.to.be.licens
19220 65 64 20 61 73 20 61 20 77 68 6f 6c 65 20 61 74 20 6e 6f 20 63 68 61 72 67 65 20 74 6f 20 61 6c ed.as.a.whole.at.no.charge.to.al
19240 6c 20 74 68 69 72 64 0a 20 20 20 20 70 61 72 74 69 65 73 20 75 6e 64 65 72 20 74 68 65 20 74 65 l.third.....parties.under.the.te
19260 72 6d 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 20 20 63 29 20 49 66 20 rms.of.this.License.......c).If.
19280 74 68 65 20 6d 6f 64 69 66 69 65 64 20 70 72 6f 67 72 61 6d 20 6e 6f 72 6d 61 6c 6c 79 20 72 65 the.modified.program.normally.re
192a0 61 64 73 20 63 6f 6d 6d 61 6e 64 73 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 0a 20 20 20 20 77 ads.commands.interactively.....w
192c0 68 65 6e 20 72 75 6e 2c 20 79 6f 75 20 6d 75 73 74 20 63 61 75 73 65 20 69 74 2c 20 77 68 65 6e hen.run,.you.must.cause.it,.when
192e0 20 73 74 61 72 74 65 64 20 72 75 6e 6e 69 6e 67 20 66 6f 72 20 73 75 63 68 0a 20 20 20 20 69 6e .started.running.for.such.....in
19300 74 65 72 61 63 74 69 76 65 20 75 73 65 20 69 6e 20 74 68 65 20 6d 6f 73 74 20 6f 72 64 69 6e 61 teractive.use.in.the.most.ordina
19320 72 79 20 77 61 79 2c 20 74 6f 20 70 72 69 6e 74 20 6f 72 20 64 69 73 70 6c 61 79 20 61 6e 0a 20 ry.way,.to.print.or.display.an..
19340 20 20 20 61 6e 6e 6f 75 6e 63 65 6d 65 6e 74 20 69 6e 63 6c 75 64 69 6e 67 20 61 6e 20 61 70 70 ...announcement.including.an.app
19360 72 6f 70 72 69 61 74 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 61 0a ropriate.copyright.notice.and.a.
19380 20 20 20 20 6e 6f 74 69 63 65 20 74 68 61 74 20 74 68 65 72 65 20 69 73 20 6e 6f 20 77 61 72 72 ....notice.that.there.is.no.warr
193a0 61 6e 74 79 20 28 6f 72 20 65 6c 73 65 2c 20 73 61 79 69 6e 67 20 74 68 61 74 20 79 6f 75 20 70 anty.(or.else,.saying.that.you.p
193c0 72 6f 76 69 64 65 0a 20 20 20 20 61 20 77 61 72 72 61 6e 74 79 29 20 61 6e 64 20 74 68 61 74 20 rovide.....a.warranty).and.that.
193e0 75 73 65 72 73 20 6d 61 79 20 72 65 64 69 73 74 72 69 62 75 74 65 20 74 68 65 20 70 72 6f 67 72 users.may.redistribute.the.progr
19400 61 6d 20 75 6e 64 65 72 0a 20 20 20 20 74 68 65 73 65 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 20 61 am.under.....these.conditions,.a
19420 6e 64 20 74 65 6c 6c 69 6e 67 20 74 68 65 20 75 73 65 72 20 68 6f 77 20 74 6f 20 76 69 65 77 20 nd.telling.the.user.how.to.view.
19440 61 20 63 6f 70 79 20 6f 66 20 74 68 69 73 0a 20 20 20 20 4c 69 63 65 6e 73 65 2e 20 20 28 45 78 a.copy.of.this.....License...(Ex
19460 63 65 70 74 69 6f 6e 3a 20 69 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 69 74 73 65 6c 66 20 69 ception:.if.the.Program.itself.i
19480 73 20 69 6e 74 65 72 61 63 74 69 76 65 20 62 75 74 0a 20 20 20 20 64 6f 65 73 20 6e 6f 74 20 6e s.interactive.but.....does.not.n
194a0 6f 72 6d 61 6c 6c 79 20 70 72 69 6e 74 20 73 75 63 68 20 61 6e 20 61 6e 6e 6f 75 6e 63 65 6d 65 ormally.print.such.an.announceme
194c0 6e 74 2c 20 79 6f 75 72 20 77 6f 72 6b 20 62 61 73 65 64 20 6f 6e 0a 20 20 20 20 74 68 65 20 50 nt,.your.work.based.on.....the.P
194e0 72 6f 67 72 61 6d 20 69 73 20 6e 6f 74 20 72 65 71 75 69 72 65 64 20 74 6f 20 70 72 69 6e 74 20 rogram.is.not.required.to.print.
19500 61 6e 20 61 6e 6e 6f 75 6e 63 65 6d 65 6e 74 2e 29 0a 0a 54 68 65 73 65 20 72 65 71 75 69 72 65 an.announcement.)..These.require
19520 6d 65 6e 74 73 20 61 70 70 6c 79 20 74 6f 20 74 68 65 20 6d 6f 64 69 66 69 65 64 20 77 6f 72 6b ments.apply.to.the.modified.work
19540 20 61 73 20 61 20 77 68 6f 6c 65 2e 20 20 49 66 0a 69 64 65 6e 74 69 66 69 61 62 6c 65 20 73 65 .as.a.whole...If.identifiable.se
19560 63 74 69 6f 6e 73 20 6f 66 20 74 68 61 74 20 77 6f 72 6b 20 61 72 65 20 6e 6f 74 20 64 65 72 69 ctions.of.that.work.are.not.deri
19580 76 65 64 20 66 72 6f 6d 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 0a 61 6e 64 20 63 61 6e 20 62 65 ved.from.the.Program,.and.can.be
195a0 20 72 65 61 73 6f 6e 61 62 6c 79 20 63 6f 6e 73 69 64 65 72 65 64 20 69 6e 64 65 70 65 6e 64 65 .reasonably.considered.independe
195c0 6e 74 20 61 6e 64 20 73 65 70 61 72 61 74 65 20 77 6f 72 6b 73 20 69 6e 0a 74 68 65 6d 73 65 6c nt.and.separate.works.in.themsel
195e0 76 65 73 2c 20 74 68 65 6e 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 61 6e 64 20 69 74 73 20 ves,.then.this.License,.and.its.
19600 74 65 72 6d 73 2c 20 64 6f 20 6e 6f 74 20 61 70 70 6c 79 20 74 6f 20 74 68 6f 73 65 0a 73 65 63 terms,.do.not.apply.to.those.sec
19620 74 69 6f 6e 73 20 77 68 65 6e 20 79 6f 75 20 64 69 73 74 72 69 62 75 74 65 20 74 68 65 6d 20 61 tions.when.you.distribute.them.a
19640 73 20 73 65 70 61 72 61 74 65 20 77 6f 72 6b 73 2e 20 20 42 75 74 20 77 68 65 6e 20 79 6f 75 0a s.separate.works...But.when.you.
19660 64 69 73 74 72 69 62 75 74 65 20 74 68 65 20 73 61 6d 65 20 73 65 63 74 69 6f 6e 73 20 61 73 20 distribute.the.same.sections.as.
19680 70 61 72 74 20 6f 66 20 61 20 77 68 6f 6c 65 20 77 68 69 63 68 20 69 73 20 61 20 77 6f 72 6b 20 part.of.a.whole.which.is.a.work.
196a0 62 61 73 65 64 0a 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 20 74 68 65 20 64 69 73 74 72 69 based.on.the.Program,.the.distri
196c0 62 75 74 69 6f 6e 20 6f 66 20 74 68 65 20 77 68 6f 6c 65 20 6d 75 73 74 20 62 65 20 6f 6e 20 74 bution.of.the.whole.must.be.on.t
196e0 68 65 20 74 65 72 6d 73 20 6f 66 0a 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 77 68 6f 73 65 20 he.terms.of.this.License,.whose.
19700 70 65 72 6d 69 73 73 69 6f 6e 73 20 66 6f 72 20 6f 74 68 65 72 20 6c 69 63 65 6e 73 65 65 73 20 permissions.for.other.licensees.
19720 65 78 74 65 6e 64 20 74 6f 20 74 68 65 0a 65 6e 74 69 72 65 20 77 68 6f 6c 65 2c 20 61 6e 64 20 extend.to.the.entire.whole,.and.
19740 74 68 75 73 20 74 6f 20 65 61 63 68 20 61 6e 64 20 65 76 65 72 79 20 70 61 72 74 20 72 65 67 61 thus.to.each.and.every.part.rega
19760 72 64 6c 65 73 73 20 6f 66 20 77 68 6f 20 77 72 6f 74 65 20 69 74 2e 0a 0a 54 68 75 73 2c 20 69 rdless.of.who.wrote.it...Thus,.i
19780 74 20 69 73 20 6e 6f 74 20 74 68 65 20 69 6e 74 65 6e 74 20 6f 66 20 74 68 69 73 20 73 65 63 74 t.is.not.the.intent.of.this.sect
197a0 69 6f 6e 20 74 6f 20 63 6c 61 69 6d 20 72 69 67 68 74 73 20 6f 72 20 63 6f 6e 74 65 73 74 0a 79 ion.to.claim.rights.or.contest.y
197c0 6f 75 72 20 72 69 67 68 74 73 20 74 6f 20 77 6f 72 6b 20 77 72 69 74 74 65 6e 20 65 6e 74 69 72 our.rights.to.work.written.entir
197e0 65 6c 79 20 62 79 20 79 6f 75 3b 20 72 61 74 68 65 72 2c 20 74 68 65 20 69 6e 74 65 6e 74 20 69 ely.by.you;.rather,.the.intent.i
19800 73 20 74 6f 0a 65 78 65 72 63 69 73 65 20 74 68 65 20 72 69 67 68 74 20 74 6f 20 63 6f 6e 74 72 s.to.exercise.the.right.to.contr
19820 6f 6c 20 74 68 65 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6f 66 20 64 65 72 69 76 61 74 69 76 ol.the.distribution.of.derivativ
19840 65 20 6f 72 0a 63 6f 6c 6c 65 63 74 69 76 65 20 77 6f 72 6b 73 20 62 61 73 65 64 20 6f 6e 20 74 e.or.collective.works.based.on.t
19860 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a 49 6e 20 61 64 64 69 74 69 6f 6e 2c 20 6d 65 72 65 20 61 he.Program...In.addition,.mere.a
19880 67 67 72 65 67 61 74 69 6f 6e 20 6f 66 20 61 6e 6f 74 68 65 72 20 77 6f 72 6b 20 6e 6f 74 20 62 ggregation.of.another.work.not.b
198a0 61 73 65 64 20 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 0a 77 69 74 68 20 74 68 65 20 50 72 6f ased.on.the.Program.with.the.Pro
198c0 67 72 61 6d 20 28 6f 72 20 77 69 74 68 20 61 20 77 6f 72 6b 20 62 61 73 65 64 20 6f 6e 20 74 68 gram.(or.with.a.work.based.on.th
198e0 65 20 50 72 6f 67 72 61 6d 29 20 6f 6e 20 61 20 76 6f 6c 75 6d 65 20 6f 66 0a 61 20 73 74 6f 72 e.Program).on.a.volume.of.a.stor
19900 61 67 65 20 6f 72 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6d 65 64 69 75 6d 20 64 6f 65 73 20 age.or.distribution.medium.does.
19920 6e 6f 74 20 62 72 69 6e 67 20 74 68 65 20 6f 74 68 65 72 20 77 6f 72 6b 20 75 6e 64 65 72 0a 74 not.bring.the.other.work.under.t
19940 68 65 20 73 63 6f 70 65 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 33 2e 20 he.scope.of.this.License.....3..
19960 59 6f 75 20 6d 61 79 20 63 6f 70 79 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 74 68 65 20 You.may.copy.and.distribute.the.
19980 50 72 6f 67 72 61 6d 20 28 6f 72 20 61 20 77 6f 72 6b 20 62 61 73 65 64 20 6f 6e 20 69 74 2c 0a Program.(or.a.work.based.on.it,.
199a0 75 6e 64 65 72 20 53 65 63 74 69 6f 6e 20 32 29 20 69 6e 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 under.Section.2).in.object.code.
199c0 6f 72 20 65 78 65 63 75 74 61 62 6c 65 20 66 6f 72 6d 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 or.executable.form.under.the.ter
199e0 6d 73 20 6f 66 0a 53 65 63 74 69 6f 6e 73 20 31 20 61 6e 64 20 32 20 61 62 6f 76 65 20 70 72 6f ms.of.Sections.1.and.2.above.pro
19a00 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 61 6c 73 6f 20 64 6f 20 6f 6e 65 20 6f 66 20 74 68 vided.that.you.also.do.one.of.th
19a20 65 20 66 6f 6c 6c 6f 77 69 6e 67 3a 0a 0a 20 20 20 20 61 29 20 41 63 63 6f 6d 70 61 6e 79 20 69 e.following:......a).Accompany.i
19a40 74 20 77 69 74 68 20 74 68 65 20 63 6f 6d 70 6c 65 74 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e t.with.the.complete.correspondin
19a60 67 20 6d 61 63 68 69 6e 65 2d 72 65 61 64 61 62 6c 65 0a 20 20 20 20 73 6f 75 72 63 65 20 63 6f g.machine-readable.....source.co
19a80 64 65 2c 20 77 68 69 63 68 20 6d 75 73 74 20 62 65 20 64 69 73 74 72 69 62 75 74 65 64 20 75 6e de,.which.must.be.distributed.un
19aa0 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 53 65 63 74 69 6f 6e 73 0a 20 20 20 20 31 20 der.the.terms.of.Sections.....1.
19ac0 61 6e 64 20 32 20 61 62 6f 76 65 20 6f 6e 20 61 20 6d 65 64 69 75 6d 20 63 75 73 74 6f 6d 61 72 and.2.above.on.a.medium.customar
19ae0 69 6c 79 20 75 73 65 64 20 66 6f 72 20 73 6f 66 74 77 61 72 65 20 69 6e 74 65 72 63 68 61 6e 67 ily.used.for.software.interchang
19b00 65 3b 20 6f 72 2c 0a 0a 20 20 20 20 62 29 20 41 63 63 6f 6d 70 61 6e 79 20 69 74 20 77 69 74 68 e;.or,......b).Accompany.it.with
19b20 20 61 20 77 72 69 74 74 65 6e 20 6f 66 66 65 72 2c 20 76 61 6c 69 64 20 66 6f 72 20 61 74 20 6c .a.written.offer,.valid.for.at.l
19b40 65 61 73 74 20 74 68 72 65 65 0a 20 20 20 20 79 65 61 72 73 2c 20 74 6f 20 67 69 76 65 20 61 6e east.three.....years,.to.give.an
19b60 79 20 74 68 69 72 64 20 70 61 72 74 79 2c 20 66 6f 72 20 61 20 63 68 61 72 67 65 20 6e 6f 20 6d y.third.party,.for.a.charge.no.m
19b80 6f 72 65 20 74 68 61 6e 20 79 6f 75 72 0a 20 20 20 20 63 6f 73 74 20 6f 66 20 70 68 79 73 69 63 ore.than.your.....cost.of.physic
19ba0 61 6c 6c 79 20 70 65 72 66 6f 72 6d 69 6e 67 20 73 6f 75 72 63 65 20 64 69 73 74 72 69 62 75 74 ally.performing.source.distribut
19bc0 69 6f 6e 2c 20 61 20 63 6f 6d 70 6c 65 74 65 0a 20 20 20 20 6d 61 63 68 69 6e 65 2d 72 65 61 64 ion,.a.complete.....machine-read
19be0 61 62 6c 65 20 63 6f 70 79 20 6f 66 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 73 able.copy.of.the.corresponding.s
19c00 6f 75 72 63 65 20 63 6f 64 65 2c 20 74 6f 20 62 65 0a 20 20 20 20 64 69 73 74 72 69 62 75 74 65 ource.code,.to.be.....distribute
19c20 64 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 53 65 63 74 69 6f 6e 73 20 31 20 d.under.the.terms.of.Sections.1.
19c40 61 6e 64 20 32 20 61 62 6f 76 65 20 6f 6e 20 61 20 6d 65 64 69 75 6d 0a 20 20 20 20 63 75 73 74 and.2.above.on.a.medium.....cust
19c60 6f 6d 61 72 69 6c 79 20 75 73 65 64 20 66 6f 72 20 73 6f 66 74 77 61 72 65 20 69 6e 74 65 72 63 omarily.used.for.software.interc
19c80 68 61 6e 67 65 3b 20 6f 72 2c 0a 0a 20 20 20 20 63 29 20 41 63 63 6f 6d 70 61 6e 79 20 69 74 20 hange;.or,......c).Accompany.it.
19ca0 77 69 74 68 20 74 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 79 6f 75 20 72 65 63 65 69 76 65 with.the.information.you.receive
19cc0 64 20 61 73 20 74 6f 20 74 68 65 20 6f 66 66 65 72 0a 20 20 20 20 74 6f 20 64 69 73 74 72 69 62 d.as.to.the.offer.....to.distrib
19ce0 75 74 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 20 20 ute.corresponding.source.code...
19d00 28 54 68 69 73 20 61 6c 74 65 72 6e 61 74 69 76 65 20 69 73 0a 20 20 20 20 61 6c 6c 6f 77 65 64 (This.alternative.is.....allowed
19d20 20 6f 6e 6c 79 20 66 6f 72 20 6e 6f 6e 63 6f 6d 6d 65 72 63 69 61 6c 20 64 69 73 74 72 69 62 75 .only.for.noncommercial.distribu
19d40 74 69 6f 6e 20 61 6e 64 20 6f 6e 6c 79 20 69 66 20 79 6f 75 0a 20 20 20 20 72 65 63 65 69 76 65 tion.and.only.if.you.....receive
19d60 64 20 74 68 65 20 70 72 6f 67 72 61 6d 20 69 6e 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 6f 72 20 d.the.program.in.object.code.or.
19d80 65 78 65 63 75 74 61 62 6c 65 20 66 6f 72 6d 20 77 69 74 68 20 73 75 63 68 0a 20 20 20 20 61 6e executable.form.with.such.....an
19da0 20 6f 66 66 65 72 2c 20 69 6e 20 61 63 63 6f 72 64 20 77 69 74 68 20 53 75 62 73 65 63 74 69 6f .offer,.in.accord.with.Subsectio
19dc0 6e 20 62 20 61 62 6f 76 65 2e 29 0a 0a 54 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 6f 72 n.b.above.)..The.source.code.for
19de0 20 61 20 77 6f 72 6b 20 6d 65 61 6e 73 20 74 68 65 20 70 72 65 66 65 72 72 65 64 20 66 6f 72 6d .a.work.means.the.preferred.form
19e00 20 6f 66 20 74 68 65 20 77 6f 72 6b 20 66 6f 72 0a 6d 61 6b 69 6e 67 20 6d 6f 64 69 66 69 63 61 .of.the.work.for.making.modifica
19e20 74 69 6f 6e 73 20 74 6f 20 69 74 2e 20 20 46 6f 72 20 61 6e 20 65 78 65 63 75 74 61 62 6c 65 20 tions.to.it...For.an.executable.
19e40 77 6f 72 6b 2c 20 63 6f 6d 70 6c 65 74 65 20 73 6f 75 72 63 65 0a 63 6f 64 65 20 6d 65 61 6e 73 work,.complete.source.code.means
19e60 20 61 6c 6c 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 6f 72 20 61 6c 6c 20 6d 6f 64 .all.the.source.code.for.all.mod
19e80 75 6c 65 73 20 69 74 20 63 6f 6e 74 61 69 6e 73 2c 20 70 6c 75 73 20 61 6e 79 0a 61 73 73 6f 63 ules.it.contains,.plus.any.assoc
19ea0 69 61 74 65 64 20 69 6e 74 65 72 66 61 63 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 69 6c 65 73 iated.interface.definition.files
19ec0 2c 20 70 6c 75 73 20 74 68 65 20 73 63 72 69 70 74 73 20 75 73 65 64 20 74 6f 0a 63 6f 6e 74 72 ,.plus.the.scripts.used.to.contr
19ee0 6f 6c 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 61 6e 64 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 ol.compilation.and.installation.
19f00 6f 66 20 74 68 65 20 65 78 65 63 75 74 61 62 6c 65 2e 20 20 48 6f 77 65 76 65 72 2c 20 61 73 20 of.the.executable...However,.as.
19f20 61 0a 73 70 65 63 69 61 6c 20 65 78 63 65 70 74 69 6f 6e 2c 20 74 68 65 20 73 6f 75 72 63 65 20 a.special.exception,.the.source.
19f40 63 6f 64 65 20 64 69 73 74 72 69 62 75 74 65 64 20 6e 65 65 64 20 6e 6f 74 20 69 6e 63 6c 75 64 code.distributed.need.not.includ
19f60 65 0a 61 6e 79 74 68 69 6e 67 20 74 68 61 74 20 69 73 20 6e 6f 72 6d 61 6c 6c 79 20 64 69 73 74 e.anything.that.is.normally.dist
19f80 72 69 62 75 74 65 64 20 28 69 6e 20 65 69 74 68 65 72 20 73 6f 75 72 63 65 20 6f 72 20 62 69 6e ributed.(in.either.source.or.bin
19fa0 61 72 79 0a 66 6f 72 6d 29 20 77 69 74 68 20 74 68 65 20 6d 61 6a 6f 72 20 63 6f 6d 70 6f 6e 65 ary.form).with.the.major.compone
19fc0 6e 74 73 20 28 63 6f 6d 70 69 6c 65 72 2c 20 6b 65 72 6e 65 6c 2c 20 61 6e 64 20 73 6f 20 6f 6e nts.(compiler,.kernel,.and.so.on
19fe0 29 20 6f 66 20 74 68 65 0a 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 20 6f 6e 20 77 68 69 ).of.the.operating.system.on.whi
1a000 63 68 20 74 68 65 20 65 78 65 63 75 74 61 62 6c 65 20 72 75 6e 73 2c 20 75 6e 6c 65 73 73 20 74 ch.the.executable.runs,.unless.t
1a020 68 61 74 20 63 6f 6d 70 6f 6e 65 6e 74 0a 69 74 73 65 6c 66 20 61 63 63 6f 6d 70 61 6e 69 65 73 hat.component.itself.accompanies
1a040 20 74 68 65 20 65 78 65 63 75 74 61 62 6c 65 2e 0a 0a 49 66 20 64 69 73 74 72 69 62 75 74 69 6f .the.executable...If.distributio
1a060 6e 20 6f 66 20 65 78 65 63 75 74 61 62 6c 65 20 6f 72 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 69 n.of.executable.or.object.code.i
1a080 73 20 6d 61 64 65 20 62 79 20 6f 66 66 65 72 69 6e 67 0a 61 63 63 65 73 73 20 74 6f 20 63 6f 70 s.made.by.offering.access.to.cop
1a0a0 79 20 66 72 6f 6d 20 61 20 64 65 73 69 67 6e 61 74 65 64 20 70 6c 61 63 65 2c 20 74 68 65 6e 20 y.from.a.designated.place,.then.
1a0c0 6f 66 66 65 72 69 6e 67 20 65 71 75 69 76 61 6c 65 6e 74 0a 61 63 63 65 73 73 20 74 6f 20 63 6f offering.equivalent.access.to.co
1a0e0 70 79 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 72 6f 6d 20 74 68 65 20 73 61 6d 65 py.the.source.code.from.the.same
1a100 20 70 6c 61 63 65 20 63 6f 75 6e 74 73 20 61 73 0a 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6f 66 .place.counts.as.distribution.of
1a120 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 2c 20 65 76 65 6e 20 74 68 6f 75 67 68 20 74 68 .the.source.code,.even.though.th
1a140 69 72 64 20 70 61 72 74 69 65 73 20 61 72 65 20 6e 6f 74 0a 63 6f 6d 70 65 6c 6c 65 64 20 74 6f ird.parties.are.not.compelled.to
1a160 20 63 6f 70 79 20 74 68 65 20 73 6f 75 72 63 65 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 65 20 .copy.the.source.along.with.the.
1a180 6f 62 6a 65 63 74 20 63 6f 64 65 2e 0a 0a 20 20 34 2e 20 59 6f 75 20 6d 61 79 20 6e 6f 74 20 63 object.code.....4..You.may.not.c
1a1a0 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 6f 72 20 64 69 73 74 opy,.modify,.sublicense,.or.dist
1a1c0 72 69 62 75 74 65 20 74 68 65 20 50 72 6f 67 72 61 6d 0a 65 78 63 65 70 74 20 61 73 20 65 78 70 ribute.the.Program.except.as.exp
1a1e0 72 65 73 73 6c 79 20 70 72 6f 76 69 64 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e ressly.provided.under.this.Licen
1a200 73 65 2e 20 20 41 6e 79 20 61 74 74 65 6d 70 74 0a 6f 74 68 65 72 77 69 73 65 20 74 6f 20 63 6f se...Any.attempt.otherwise.to.co
1a220 70 79 2c 20 6d 6f 64 69 66 79 2c 20 73 75 62 6c 69 63 65 6e 73 65 20 6f 72 20 64 69 73 74 72 69 py,.modify,.sublicense.or.distri
1a240 62 75 74 65 20 74 68 65 20 50 72 6f 67 72 61 6d 20 69 73 0a 76 6f 69 64 2c 20 61 6e 64 20 77 69 bute.the.Program.is.void,.and.wi
1a260 6c 6c 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 74 65 72 6d 69 6e 61 74 65 20 79 6f 75 72 20 ll.automatically.terminate.your.
1a280 72 69 67 68 74 73 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 48 6f 77 65 76 rights.under.this.License..Howev
1a2a0 65 72 2c 20 70 61 72 74 69 65 73 20 77 68 6f 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 63 6f er,.parties.who.have.received.co
1a2c0 70 69 65 73 2c 20 6f 72 20 72 69 67 68 74 73 2c 20 66 72 6f 6d 20 79 6f 75 20 75 6e 64 65 72 0a pies,.or.rights,.from.you.under.
1a2e0 74 68 69 73 20 4c 69 63 65 6e 73 65 20 77 69 6c 6c 20 6e 6f 74 20 68 61 76 65 20 74 68 65 69 72 this.License.will.not.have.their
1a300 20 6c 69 63 65 6e 73 65 73 20 74 65 72 6d 69 6e 61 74 65 64 20 73 6f 20 6c 6f 6e 67 20 61 73 20 .licenses.terminated.so.long.as.
1a320 73 75 63 68 0a 70 61 72 74 69 65 73 20 72 65 6d 61 69 6e 20 69 6e 20 66 75 6c 6c 20 63 6f 6d 70 such.parties.remain.in.full.comp
1a340 6c 69 61 6e 63 65 2e 0a 0a 20 20 35 2e 20 59 6f 75 20 61 72 65 20 6e 6f 74 20 72 65 71 75 69 72 liance.....5..You.are.not.requir
1a360 65 64 20 74 6f 20 61 63 63 65 70 74 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 73 69 6e 63 65 ed.to.accept.this.License,.since
1a380 20 79 6f 75 20 68 61 76 65 20 6e 6f 74 0a 73 69 67 6e 65 64 20 69 74 2e 20 20 48 6f 77 65 76 65 .you.have.not.signed.it...Howeve
1a3a0 72 2c 20 6e 6f 74 68 69 6e 67 20 65 6c 73 65 20 67 72 61 6e 74 73 20 79 6f 75 20 70 65 72 6d 69 r,.nothing.else.grants.you.permi
1a3c0 73 73 69 6f 6e 20 74 6f 20 6d 6f 64 69 66 79 20 6f 72 0a 64 69 73 74 72 69 62 75 74 65 20 74 68 ssion.to.modify.or.distribute.th
1a3e0 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 69 74 73 20 64 65 72 69 76 61 74 69 76 65 20 77 6f 72 6b e.Program.or.its.derivative.work
1a400 73 2e 20 20 54 68 65 73 65 20 61 63 74 69 6f 6e 73 20 61 72 65 0a 70 72 6f 68 69 62 69 74 65 64 s...These.actions.are.prohibited
1a420 20 62 79 20 6c 61 77 20 69 66 20 79 6f 75 20 64 6f 20 6e 6f 74 20 61 63 63 65 70 74 20 74 68 69 .by.law.if.you.do.not.accept.thi
1a440 73 20 4c 69 63 65 6e 73 65 2e 20 20 54 68 65 72 65 66 6f 72 65 2c 20 62 79 0a 6d 6f 64 69 66 79 s.License...Therefore,.by.modify
1a460 69 6e 67 20 6f 72 20 64 69 73 74 72 69 62 75 74 69 6e 67 20 74 68 65 20 50 72 6f 67 72 61 6d 20 ing.or.distributing.the.Program.
1a480 28 6f 72 20 61 6e 79 20 77 6f 72 6b 20 62 61 73 65 64 20 6f 6e 20 74 68 65 0a 50 72 6f 67 72 61 (or.any.work.based.on.the.Progra
1a4a0 6d 29 2c 20 79 6f 75 20 69 6e 64 69 63 61 74 65 20 79 6f 75 72 20 61 63 63 65 70 74 61 6e 63 65 m),.you.indicate.your.acceptance
1a4c0 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 74 6f 20 64 6f 20 73 6f 2c 20 61 6e 64 0a 61 .of.this.License.to.do.so,.and.a
1a4e0 6c 6c 20 69 74 73 20 74 65 72 6d 73 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 73 20 66 6f 72 20 ll.its.terms.and.conditions.for.
1a500 63 6f 70 79 69 6e 67 2c 20 64 69 73 74 72 69 62 75 74 69 6e 67 20 6f 72 20 6d 6f 64 69 66 79 69 copying,.distributing.or.modifyi
1a520 6e 67 0a 74 68 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 77 6f 72 6b 73 20 62 61 73 65 64 20 6f 6e ng.the.Program.or.works.based.on
1a540 20 69 74 2e 0a 0a 20 20 36 2e 20 45 61 63 68 20 74 69 6d 65 20 79 6f 75 20 72 65 64 69 73 74 72 .it.....6..Each.time.you.redistr
1a560 69 62 75 74 65 20 74 68 65 20 50 72 6f 67 72 61 6d 20 28 6f 72 20 61 6e 79 20 77 6f 72 6b 20 62 ibute.the.Program.(or.any.work.b
1a580 61 73 65 64 20 6f 6e 20 74 68 65 0a 50 72 6f 67 72 61 6d 29 2c 20 74 68 65 20 72 65 63 69 70 69 ased.on.the.Program),.the.recipi
1a5a0 65 6e 74 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 72 65 63 65 69 76 65 73 20 61 20 6c 69 63 ent.automatically.receives.a.lic
1a5c0 65 6e 73 65 20 66 72 6f 6d 20 74 68 65 0a 6f 72 69 67 69 6e 61 6c 20 6c 69 63 65 6e 73 6f 72 20 ense.from.the.original.licensor.
1a5e0 74 6f 20 63 6f 70 79 2c 20 64 69 73 74 72 69 62 75 74 65 20 6f 72 20 6d 6f 64 69 66 79 20 74 68 to.copy,.distribute.or.modify.th
1a600 65 20 50 72 6f 67 72 61 6d 20 73 75 62 6a 65 63 74 20 74 6f 0a 74 68 65 73 65 20 74 65 72 6d 73 e.Program.subject.to.these.terms
1a620 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 20 20 59 6f 75 20 6d 61 79 20 6e 6f 74 20 69 6d .and.conditions...You.may.not.im
1a640 70 6f 73 65 20 61 6e 79 20 66 75 72 74 68 65 72 0a 72 65 73 74 72 69 63 74 69 6f 6e 73 20 6f 6e pose.any.further.restrictions.on
1a660 20 74 68 65 20 72 65 63 69 70 69 65 6e 74 73 27 20 65 78 65 72 63 69 73 65 20 6f 66 20 74 68 65 .the.recipients'.exercise.of.the
1a680 20 72 69 67 68 74 73 20 67 72 61 6e 74 65 64 20 68 65 72 65 69 6e 2e 0a 59 6f 75 20 61 72 65 20 .rights.granted.herein..You.are.
1a6a0 6e 6f 74 20 72 65 73 70 6f 6e 73 69 62 6c 65 20 66 6f 72 20 65 6e 66 6f 72 63 69 6e 67 20 63 6f not.responsible.for.enforcing.co
1a6c0 6d 70 6c 69 61 6e 63 65 20 62 79 20 74 68 69 72 64 20 70 61 72 74 69 65 73 20 74 6f 0a 74 68 69 mpliance.by.third.parties.to.thi
1a6e0 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 37 2e 20 49 66 2c 20 61 73 20 61 20 63 6f 6e 73 65 71 s.License.....7..If,.as.a.conseq
1a700 75 65 6e 63 65 20 6f 66 20 61 20 63 6f 75 72 74 20 6a 75 64 67 6d 65 6e 74 20 6f 72 20 61 6c 6c uence.of.a.court.judgment.or.all
1a720 65 67 61 74 69 6f 6e 20 6f 66 20 70 61 74 65 6e 74 0a 69 6e 66 72 69 6e 67 65 6d 65 6e 74 20 6f egation.of.patent.infringement.o
1a740 72 20 66 6f 72 20 61 6e 79 20 6f 74 68 65 72 20 72 65 61 73 6f 6e 20 28 6e 6f 74 20 6c 69 6d 69 r.for.any.other.reason.(not.limi
1a760 74 65 64 20 74 6f 20 70 61 74 65 6e 74 20 69 73 73 75 65 73 29 2c 0a 63 6f 6e 64 69 74 69 6f 6e ted.to.patent.issues),.condition
1a780 73 20 61 72 65 20 69 6d 70 6f 73 65 64 20 6f 6e 20 79 6f 75 20 28 77 68 65 74 68 65 72 20 62 79 s.are.imposed.on.you.(whether.by
1a7a0 20 63 6f 75 72 74 20 6f 72 64 65 72 2c 20 61 67 72 65 65 6d 65 6e 74 20 6f 72 0a 6f 74 68 65 72 .court.order,.agreement.or.other
1a7c0 77 69 73 65 29 20 74 68 61 74 20 63 6f 6e 74 72 61 64 69 63 74 20 74 68 65 20 63 6f 6e 64 69 74 wise).that.contradict.the.condit
1a7e0 69 6f 6e 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 74 68 65 79 20 64 6f 20 6e 6f ions.of.this.License,.they.do.no
1a800 74 0a 65 78 63 75 73 65 20 79 6f 75 20 66 72 6f 6d 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 t.excuse.you.from.the.conditions
1a820 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 49 66 20 79 6f 75 20 63 61 6e 6e 6f 74 .of.this.License...If.you.cannot
1a840 0a 64 69 73 74 72 69 62 75 74 65 20 73 6f 20 61 73 20 74 6f 20 73 61 74 69 73 66 79 20 73 69 6d .distribute.so.as.to.satisfy.sim
1a860 75 6c 74 61 6e 65 6f 75 73 6c 79 20 79 6f 75 72 20 6f 62 6c 69 67 61 74 69 6f 6e 73 20 75 6e 64 ultaneously.your.obligations.und
1a880 65 72 20 74 68 69 73 0a 4c 69 63 65 6e 73 65 20 61 6e 64 20 61 6e 79 20 6f 74 68 65 72 20 70 65 er.this.License.and.any.other.pe
1a8a0 72 74 69 6e 65 6e 74 20 6f 62 6c 69 67 61 74 69 6f 6e 73 2c 20 74 68 65 6e 20 61 73 20 61 20 63 rtinent.obligations,.then.as.a.c
1a8c0 6f 6e 73 65 71 75 65 6e 63 65 20 79 6f 75 0a 6d 61 79 20 6e 6f 74 20 64 69 73 74 72 69 62 75 74 onsequence.you.may.not.distribut
1a8e0 65 20 74 68 65 20 50 72 6f 67 72 61 6d 20 61 74 20 61 6c 6c 2e 20 20 46 6f 72 20 65 78 61 6d 70 e.the.Program.at.all...For.examp
1a900 6c 65 2c 20 69 66 20 61 20 70 61 74 65 6e 74 0a 6c 69 63 65 6e 73 65 20 77 6f 75 6c 64 20 6e 6f le,.if.a.patent.license.would.no
1a920 74 20 70 65 72 6d 69 74 20 72 6f 79 61 6c 74 79 2d 66 72 65 65 20 72 65 64 69 73 74 72 69 62 75 t.permit.royalty-free.redistribu
1a940 74 69 6f 6e 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 62 79 0a 61 6c 6c 20 74 68 6f 73 65 tion.of.the.Program.by.all.those
1a960 20 77 68 6f 20 72 65 63 65 69 76 65 20 63 6f 70 69 65 73 20 64 69 72 65 63 74 6c 79 20 6f 72 20 .who.receive.copies.directly.or.
1a980 69 6e 64 69 72 65 63 74 6c 79 20 74 68 72 6f 75 67 68 20 79 6f 75 2c 20 74 68 65 6e 0a 74 68 65 indirectly.through.you,.then.the
1a9a0 20 6f 6e 6c 79 20 77 61 79 20 79 6f 75 20 63 6f 75 6c 64 20 73 61 74 69 73 66 79 20 62 6f 74 68 .only.way.you.could.satisfy.both
1a9c0 20 69 74 20 61 6e 64 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 77 6f 75 6c 64 20 62 65 20 74 6f .it.and.this.License.would.be.to
1a9e0 0a 72 65 66 72 61 69 6e 20 65 6e 74 69 72 65 6c 79 20 66 72 6f 6d 20 64 69 73 74 72 69 62 75 74 .refrain.entirely.from.distribut
1aa00 69 6f 6e 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a 49 66 20 61 6e 79 20 70 6f 72 74 ion.of.the.Program...If.any.port
1aa20 69 6f 6e 20 6f 66 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 69 73 20 68 65 6c 64 20 69 6e 76 61 ion.of.this.section.is.held.inva
1aa40 6c 69 64 20 6f 72 20 75 6e 65 6e 66 6f 72 63 65 61 62 6c 65 20 75 6e 64 65 72 0a 61 6e 79 20 70 lid.or.unenforceable.under.any.p
1aa60 61 72 74 69 63 75 6c 61 72 20 63 69 72 63 75 6d 73 74 61 6e 63 65 2c 20 74 68 65 20 62 61 6c 61 articular.circumstance,.the.bala
1aa80 6e 63 65 20 6f 66 20 74 68 65 20 73 65 63 74 69 6f 6e 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74 nce.of.the.section.is.intended.t
1aaa0 6f 0a 61 70 70 6c 79 20 61 6e 64 20 74 68 65 20 73 65 63 74 69 6f 6e 20 61 73 20 61 20 77 68 6f o.apply.and.the.section.as.a.who
1aac0 6c 65 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 61 70 70 6c 79 20 69 6e 20 6f 74 68 65 72 le.is.intended.to.apply.in.other
1aae0 0a 63 69 72 63 75 6d 73 74 61 6e 63 65 73 2e 0a 0a 49 74 20 69 73 20 6e 6f 74 20 74 68 65 20 70 .circumstances...It.is.not.the.p
1ab00 75 72 70 6f 73 65 20 6f 66 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 74 6f 20 69 6e 64 75 63 65 urpose.of.this.section.to.induce
1ab20 20 79 6f 75 20 74 6f 20 69 6e 66 72 69 6e 67 65 20 61 6e 79 0a 70 61 74 65 6e 74 73 20 6f 72 20 .you.to.infringe.any.patents.or.
1ab40 6f 74 68 65 72 20 70 72 6f 70 65 72 74 79 20 72 69 67 68 74 20 63 6c 61 69 6d 73 20 6f 72 20 74 other.property.right.claims.or.t
1ab60 6f 20 63 6f 6e 74 65 73 74 20 76 61 6c 69 64 69 74 79 20 6f 66 20 61 6e 79 0a 73 75 63 68 20 63 o.contest.validity.of.any.such.c
1ab80 6c 61 69 6d 73 3b 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 68 61 73 20 74 68 65 20 73 6f 6c 65 laims;.this.section.has.the.sole
1aba0 20 70 75 72 70 6f 73 65 20 6f 66 20 70 72 6f 74 65 63 74 69 6e 67 20 74 68 65 0a 69 6e 74 65 67 .purpose.of.protecting.the.integ
1abc0 72 69 74 79 20 6f 66 20 74 68 65 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 20 64 69 73 74 72 69 rity.of.the.free.software.distri
1abe0 62 75 74 69 6f 6e 20 73 79 73 74 65 6d 2c 20 77 68 69 63 68 20 69 73 0a 69 6d 70 6c 65 6d 65 6e bution.system,.which.is.implemen
1ac00 74 65 64 20 62 79 20 70 75 62 6c 69 63 20 6c 69 63 65 6e 73 65 20 70 72 61 63 74 69 63 65 73 2e ted.by.public.license.practices.
1ac20 20 20 4d 61 6e 79 20 70 65 6f 70 6c 65 20 68 61 76 65 20 6d 61 64 65 0a 67 65 6e 65 72 6f 75 73 ..Many.people.have.made.generous
1ac40 20 63 6f 6e 74 72 69 62 75 74 69 6f 6e 73 20 74 6f 20 74 68 65 20 77 69 64 65 20 72 61 6e 67 65 .contributions.to.the.wide.range
1ac60 20 6f 66 20 73 6f 66 74 77 61 72 65 20 64 69 73 74 72 69 62 75 74 65 64 0a 74 68 72 6f 75 67 68 .of.software.distributed.through
1ac80 20 74 68 61 74 20 73 79 73 74 65 6d 20 69 6e 20 72 65 6c 69 61 6e 63 65 20 6f 6e 20 63 6f 6e 73 .that.system.in.reliance.on.cons
1aca0 69 73 74 65 6e 74 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 6f 66 20 74 68 61 74 0a 73 79 73 74 65 istent.application.of.that.syste
1acc0 6d 3b 20 69 74 20 69 73 20 75 70 20 74 6f 20 74 68 65 20 61 75 74 68 6f 72 2f 64 6f 6e 6f 72 20 m;.it.is.up.to.the.author/donor.
1ace0 74 6f 20 64 65 63 69 64 65 20 69 66 20 68 65 20 6f 72 20 73 68 65 20 69 73 20 77 69 6c 6c 69 6e to.decide.if.he.or.she.is.willin
1ad00 67 0a 74 6f 20 64 69 73 74 72 69 62 75 74 65 20 73 6f 66 74 77 61 72 65 20 74 68 72 6f 75 67 68 g.to.distribute.software.through
1ad20 20 61 6e 79 20 6f 74 68 65 72 20 73 79 73 74 65 6d 20 61 6e 64 20 61 20 6c 69 63 65 6e 73 65 65 .any.other.system.and.a.licensee
1ad40 20 63 61 6e 6e 6f 74 0a 69 6d 70 6f 73 65 20 74 68 61 74 20 63 68 6f 69 63 65 2e 0a 0a 54 68 69 .cannot.impose.that.choice...Thi
1ad60 73 20 73 65 63 74 69 6f 6e 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 6d 61 6b 65 20 74 68 s.section.is.intended.to.make.th
1ad80 6f 72 6f 75 67 68 6c 79 20 63 6c 65 61 72 20 77 68 61 74 20 69 73 20 62 65 6c 69 65 76 65 64 20 oroughly.clear.what.is.believed.
1ada0 74 6f 0a 62 65 20 61 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 6f 66 20 74 68 65 20 72 65 73 74 20 to.be.a.consequence.of.the.rest.
1adc0 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 38 2e 20 49 66 20 74 68 65 20 64 69 of.this.License.....8..If.the.di
1ade0 73 74 72 69 62 75 74 69 6f 6e 20 61 6e 64 2f 6f 72 20 75 73 65 20 6f 66 20 74 68 65 20 50 72 6f stribution.and/or.use.of.the.Pro
1ae00 67 72 61 6d 20 69 73 20 72 65 73 74 72 69 63 74 65 64 20 69 6e 0a 63 65 72 74 61 69 6e 20 63 6f gram.is.restricted.in.certain.co
1ae20 75 6e 74 72 69 65 73 20 65 69 74 68 65 72 20 62 79 20 70 61 74 65 6e 74 73 20 6f 72 20 62 79 20 untries.either.by.patents.or.by.
1ae40 63 6f 70 79 72 69 67 68 74 65 64 20 69 6e 74 65 72 66 61 63 65 73 2c 20 74 68 65 0a 6f 72 69 67 copyrighted.interfaces,.the.orig
1ae60 69 6e 61 6c 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 77 68 6f 20 70 6c 61 63 65 73 inal.copyright.holder.who.places
1ae80 20 74 68 65 20 50 72 6f 67 72 61 6d 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 0a .the.Program.under.this.License.
1aea0 6d 61 79 20 61 64 64 20 61 6e 20 65 78 70 6c 69 63 69 74 20 67 65 6f 67 72 61 70 68 69 63 61 6c may.add.an.explicit.geographical
1aec0 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6c 69 6d 69 74 61 74 69 6f 6e 20 65 78 63 6c 75 64 69 .distribution.limitation.excludi
1aee0 6e 67 0a 74 68 6f 73 65 20 63 6f 75 6e 74 72 69 65 73 2c 20 73 6f 20 74 68 61 74 20 64 69 73 74 ng.those.countries,.so.that.dist
1af00 72 69 62 75 74 69 6f 6e 20 69 73 20 70 65 72 6d 69 74 74 65 64 20 6f 6e 6c 79 20 69 6e 20 6f 72 ribution.is.permitted.only.in.or
1af20 20 61 6d 6f 6e 67 0a 63 6f 75 6e 74 72 69 65 73 20 6e 6f 74 20 74 68 75 73 20 65 78 63 6c 75 64 .among.countries.not.thus.exclud
1af40 65 64 2e 20 20 49 6e 20 73 75 63 68 20 63 61 73 65 2c 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 ed...In.such.case,.this.License.
1af60 69 6e 63 6f 72 70 6f 72 61 74 65 73 0a 74 68 65 20 6c 69 6d 69 74 61 74 69 6f 6e 20 61 73 20 69 incorporates.the.limitation.as.i
1af80 66 20 77 72 69 74 74 65 6e 20 69 6e 20 74 68 65 20 62 6f 64 79 20 6f 66 20 74 68 69 73 20 4c 69 f.written.in.the.body.of.this.Li
1afa0 63 65 6e 73 65 2e 0a 0a 20 20 39 2e 20 54 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 cense.....9..The.Free.Software.F
1afc0 6f 75 6e 64 61 74 69 6f 6e 20 6d 61 79 20 70 75 62 6c 69 73 68 20 72 65 76 69 73 65 64 20 61 6e oundation.may.publish.revised.an
1afe0 64 2f 6f 72 20 6e 65 77 20 76 65 72 73 69 6f 6e 73 0a 6f 66 20 74 68 65 20 47 65 6e 65 72 61 6c d/or.new.versions.of.the.General
1b000 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 72 6f 6d 20 74 69 6d 65 20 74 6f 20 74 69 6d .Public.License.from.time.to.tim
1b020 65 2e 20 20 53 75 63 68 20 6e 65 77 20 76 65 72 73 69 6f 6e 73 20 77 69 6c 6c 0a 62 65 20 73 69 e...Such.new.versions.will.be.si
1b040 6d 69 6c 61 72 20 69 6e 20 73 70 69 72 69 74 20 74 6f 20 74 68 65 20 70 72 65 73 65 6e 74 20 76 milar.in.spirit.to.the.present.v
1b060 65 72 73 69 6f 6e 2c 20 62 75 74 20 6d 61 79 20 64 69 66 66 65 72 20 69 6e 20 64 65 74 61 69 6c ersion,.but.may.differ.in.detail
1b080 20 74 6f 0a 61 64 64 72 65 73 73 20 6e 65 77 20 70 72 6f 62 6c 65 6d 73 20 6f 72 20 63 6f 6e 63 .to.address.new.problems.or.conc
1b0a0 65 72 6e 73 2e 0a 0a 45 61 63 68 20 76 65 72 73 69 6f 6e 20 69 73 20 67 69 76 65 6e 20 61 20 64 erns...Each.version.is.given.a.d
1b0c0 69 73 74 69 6e 67 75 69 73 68 69 6e 67 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 2e 20 20 49 istinguishing.version.number...I
1b0e0 66 20 74 68 65 20 50 72 6f 67 72 61 6d 0a 73 70 65 63 69 66 69 65 73 20 61 20 76 65 72 73 69 6f f.the.Program.specifies.a.versio
1b100 6e 20 6e 75 6d 62 65 72 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 77 68 69 63 68 20 61 n.number.of.this.License.which.a
1b120 70 70 6c 69 65 73 20 74 6f 20 69 74 20 61 6e 64 20 22 61 6e 79 0a 6c 61 74 65 72 20 76 65 72 73 pplies.to.it.and."any.later.vers
1b140 69 6f 6e 22 2c 20 79 6f 75 20 68 61 76 65 20 74 68 65 20 6f 70 74 69 6f 6e 20 6f 66 20 66 6f 6c ion",.you.have.the.option.of.fol
1b160 6c 6f 77 69 6e 67 20 74 68 65 20 74 65 72 6d 73 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 73 0a lowing.the.terms.and.conditions.
1b180 65 69 74 68 65 72 20 6f 66 20 74 68 61 74 20 76 65 72 73 69 6f 6e 20 6f 72 20 6f 66 20 61 6e 79 either.of.that.version.or.of.any
1b1a0 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 20 70 75 62 6c 69 73 68 65 64 20 62 79 20 74 68 65 20 .later.version.published.by.the.
1b1c0 46 72 65 65 0a 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2e 20 20 49 66 20 74 68 Free.Software.Foundation...If.th
1b1e0 65 20 50 72 6f 67 72 61 6d 20 64 6f 65 73 20 6e 6f 74 20 73 70 65 63 69 66 79 20 61 20 76 65 72 e.Program.does.not.specify.a.ver
1b200 73 69 6f 6e 20 6e 75 6d 62 65 72 20 6f 66 0a 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 79 6f 75 sion.number.of.this.License,.you
1b220 20 6d 61 79 20 63 68 6f 6f 73 65 20 61 6e 79 20 76 65 72 73 69 6f 6e 20 65 76 65 72 20 70 75 62 .may.choose.any.version.ever.pub
1b240 6c 69 73 68 65 64 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 0a 46 6f 75 6e lished.by.the.Free.Software.Foun
1b260 64 61 74 69 6f 6e 2e 0a 0a 20 20 31 30 2e 20 49 66 20 79 6f 75 20 77 69 73 68 20 74 6f 20 69 6e dation.....10..If.you.wish.to.in
1b280 63 6f 72 70 6f 72 61 74 65 20 70 61 72 74 73 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 69 corporate.parts.of.the.Program.i
1b2a0 6e 74 6f 20 6f 74 68 65 72 20 66 72 65 65 0a 70 72 6f 67 72 61 6d 73 20 77 68 6f 73 65 20 64 69 nto.other.free.programs.whose.di
1b2c0 73 74 72 69 62 75 74 69 6f 6e 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 69 66 66 65 72 stribution.conditions.are.differ
1b2e0 65 6e 74 2c 20 77 72 69 74 65 20 74 6f 20 74 68 65 20 61 75 74 68 6f 72 0a 74 6f 20 61 73 6b 20 ent,.write.to.the.author.to.ask.
1b300 66 6f 72 20 70 65 72 6d 69 73 73 69 6f 6e 2e 20 20 46 6f 72 20 73 6f 66 74 77 61 72 65 20 77 68 for.permission...For.software.wh
1b320 69 63 68 20 69 73 20 63 6f 70 79 72 69 67 68 74 65 64 20 62 79 20 74 68 65 20 46 72 65 65 0a 53 ich.is.copyrighted.by.the.Free.S
1b340 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 77 72 69 74 65 20 74 6f 20 74 68 65 oftware.Foundation,.write.to.the
1b360 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 77 65 20 73 6f .Free.Software.Foundation;.we.so
1b380 6d 65 74 69 6d 65 73 0a 6d 61 6b 65 20 65 78 63 65 70 74 69 6f 6e 73 20 66 6f 72 20 74 68 69 73 metimes.make.exceptions.for.this
1b3a0 2e 20 20 4f 75 72 20 64 65 63 69 73 69 6f 6e 20 77 69 6c 6c 20 62 65 20 67 75 69 64 65 64 20 62 ...Our.decision.will.be.guided.b
1b3c0 79 20 74 68 65 20 74 77 6f 20 67 6f 61 6c 73 0a 6f 66 20 70 72 65 73 65 72 76 69 6e 67 20 74 68 y.the.two.goals.of.preserving.th
1b3e0 65 20 66 72 65 65 20 73 74 61 74 75 73 20 6f 66 20 61 6c 6c 20 64 65 72 69 76 61 74 69 76 65 73 e.free.status.of.all.derivatives
1b400 20 6f 66 20 6f 75 72 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 20 61 6e 64 0a 6f 66 20 70 72 6f .of.our.free.software.and.of.pro
1b420 6d 6f 74 69 6e 67 20 74 68 65 20 73 68 61 72 69 6e 67 20 61 6e 64 20 72 65 75 73 65 20 6f 66 20 moting.the.sharing.and.reuse.of.
1b440 73 6f 66 74 77 61 72 65 20 67 65 6e 65 72 61 6c 6c 79 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 software.generally..............
1b460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 4f 20 57 41 52 52 41 4e 54 59 0a 0a 20 20 .................NO.WARRANTY....
1b480 31 31 2e 20 42 45 43 41 55 53 45 20 54 48 45 20 50 52 4f 47 52 41 4d 20 49 53 20 4c 49 43 45 4e 11..BECAUSE.THE.PROGRAM.IS.LICEN
1b4a0 53 45 44 20 46 52 45 45 20 4f 46 20 43 48 41 52 47 45 2c 20 54 48 45 52 45 20 49 53 20 4e 4f 20 SED.FREE.OF.CHARGE,.THERE.IS.NO.
1b4c0 57 41 52 52 41 4e 54 59 0a 46 4f 52 20 54 48 45 20 50 52 4f 47 52 41 4d 2c 20 54 4f 20 54 48 45 WARRANTY.FOR.THE.PROGRAM,.TO.THE
1b4e0 20 45 58 54 45 4e 54 20 50 45 52 4d 49 54 54 45 44 20 42 59 20 41 50 50 4c 49 43 41 42 4c 45 20 .EXTENT.PERMITTED.BY.APPLICABLE.
1b500 4c 41 57 2e 20 20 45 58 43 45 50 54 20 57 48 45 4e 0a 4f 54 48 45 52 57 49 53 45 20 53 54 41 54 LAW...EXCEPT.WHEN.OTHERWISE.STAT
1b520 45 44 20 49 4e 20 57 52 49 54 49 4e 47 20 54 48 45 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 ED.IN.WRITING.THE.COPYRIGHT.HOLD
1b540 45 52 53 20 41 4e 44 2f 4f 52 20 4f 54 48 45 52 20 50 41 52 54 49 45 53 0a 50 52 4f 56 49 44 45 ERS.AND/OR.OTHER.PARTIES.PROVIDE
1b560 20 54 48 45 20 50 52 4f 47 52 41 4d 20 22 41 53 20 49 53 22 20 57 49 54 48 4f 55 54 20 57 41 52 .THE.PROGRAM."AS.IS".WITHOUT.WAR
1b580 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 49 54 48 45 52 20 45 58 50 52 45 53 RANTY.OF.ANY.KIND,.EITHER.EXPRES
1b5a0 53 45 44 0a 4f 52 20 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 2c 20 42 55 54 20 4e SED.OR.IMPLIED,.INCLUDING,.BUT.N
1b5c0 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 2c 20 54 48 45 20 49 4d 50 4c 49 45 44 20 57 41 52 52 41 OT.LIMITED.TO,.THE.IMPLIED.WARRA
1b5e0 4e 54 49 45 53 20 4f 46 0a 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 41 4e 44 20 46 49 54 NTIES.OF.MERCHANTABILITY.AND.FIT
1b600 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 NESS.FOR.A.PARTICULAR.PURPOSE...
1b620 54 48 45 20 45 4e 54 49 52 45 20 52 49 53 4b 20 41 53 0a 54 4f 20 54 48 45 20 51 55 41 4c 49 54 THE.ENTIRE.RISK.AS.TO.THE.QUALIT
1b640 59 20 41 4e 44 20 50 45 52 46 4f 52 4d 41 4e 43 45 20 4f 46 20 54 48 45 20 50 52 4f 47 52 41 4d Y.AND.PERFORMANCE.OF.THE.PROGRAM
1b660 20 49 53 20 57 49 54 48 20 59 4f 55 2e 20 20 53 48 4f 55 4c 44 20 54 48 45 0a 50 52 4f 47 52 41 .IS.WITH.YOU...SHOULD.THE.PROGRA
1b680 4d 20 50 52 4f 56 45 20 44 45 46 45 43 54 49 56 45 2c 20 59 4f 55 20 41 53 53 55 4d 45 20 54 48 M.PROVE.DEFECTIVE,.YOU.ASSUME.TH
1b6a0 45 20 43 4f 53 54 20 4f 46 20 41 4c 4c 20 4e 45 43 45 53 53 41 52 59 20 53 45 52 56 49 43 49 4e E.COST.OF.ALL.NECESSARY.SERVICIN
1b6c0 47 2c 0a 52 45 50 41 49 52 20 4f 52 20 43 4f 52 52 45 43 54 49 4f 4e 2e 0a 0a 20 20 31 32 2e 20 G,.REPAIR.OR.CORRECTION.....12..
1b6e0 49 4e 20 4e 4f 20 45 56 45 4e 54 20 55 4e 4c 45 53 53 20 52 45 51 55 49 52 45 44 20 42 59 20 41 IN.NO.EVENT.UNLESS.REQUIRED.BY.A
1b700 50 50 4c 49 43 41 42 4c 45 20 4c 41 57 20 4f 52 20 41 47 52 45 45 44 20 54 4f 20 49 4e 20 57 52 PPLICABLE.LAW.OR.AGREED.TO.IN.WR
1b720 49 54 49 4e 47 0a 57 49 4c 4c 20 41 4e 59 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 2c ITING.WILL.ANY.COPYRIGHT.HOLDER,
1b740 20 4f 52 20 41 4e 59 20 4f 54 48 45 52 20 50 41 52 54 59 20 57 48 4f 20 4d 41 59 20 4d 4f 44 49 .OR.ANY.OTHER.PARTY.WHO.MAY.MODI
1b760 46 59 20 41 4e 44 2f 4f 52 0a 52 45 44 49 53 54 52 49 42 55 54 45 20 54 48 45 20 50 52 4f 47 52 FY.AND/OR.REDISTRIBUTE.THE.PROGR
1b780 41 4d 20 41 53 20 50 45 52 4d 49 54 54 45 44 20 41 42 4f 56 45 2c 20 42 45 20 4c 49 41 42 4c 45 AM.AS.PERMITTED.ABOVE,.BE.LIABLE
1b7a0 20 54 4f 20 59 4f 55 20 46 4f 52 20 44 41 4d 41 47 45 53 2c 0a 49 4e 43 4c 55 44 49 4e 47 20 41 .TO.YOU.FOR.DAMAGES,.INCLUDING.A
1b7c0 4e 59 20 47 45 4e 45 52 41 4c 2c 20 53 50 45 43 49 41 4c 2c 20 49 4e 43 49 44 45 4e 54 41 4c 20 NY.GENERAL,.SPECIAL,.INCIDENTAL.
1b7e0 4f 52 20 43 4f 4e 53 45 51 55 45 4e 54 49 41 4c 20 44 41 4d 41 47 45 53 20 41 52 49 53 49 4e 47 OR.CONSEQUENTIAL.DAMAGES.ARISING
1b800 0a 4f 55 54 20 4f 46 20 54 48 45 20 55 53 45 20 4f 52 20 49 4e 41 42 49 4c 49 54 59 20 54 4f 20 .OUT.OF.THE.USE.OR.INABILITY.TO.
1b820 55 53 45 20 54 48 45 20 50 52 4f 47 52 41 4d 20 28 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e USE.THE.PROGRAM.(INCLUDING.BUT.N
1b840 4f 54 20 4c 49 4d 49 54 45 44 0a 54 4f 20 4c 4f 53 53 20 4f 46 20 44 41 54 41 20 4f 52 20 44 41 OT.LIMITED.TO.LOSS.OF.DATA.OR.DA
1b860 54 41 20 42 45 49 4e 47 20 52 45 4e 44 45 52 45 44 20 49 4e 41 43 43 55 52 41 54 45 20 4f 52 20 TA.BEING.RENDERED.INACCURATE.OR.
1b880 4c 4f 53 53 45 53 20 53 55 53 54 41 49 4e 45 44 20 42 59 0a 59 4f 55 20 4f 52 20 54 48 49 52 44 LOSSES.SUSTAINED.BY.YOU.OR.THIRD
1b8a0 20 50 41 52 54 49 45 53 20 4f 52 20 41 20 46 41 49 4c 55 52 45 20 4f 46 20 54 48 45 20 50 52 4f .PARTIES.OR.A.FAILURE.OF.THE.PRO
1b8c0 47 52 41 4d 20 54 4f 20 4f 50 45 52 41 54 45 20 57 49 54 48 20 41 4e 59 20 4f 54 48 45 52 0a 50 GRAM.TO.OPERATE.WITH.ANY.OTHER.P
1b8e0 52 4f 47 52 41 4d 53 29 2c 20 45 56 45 4e 20 49 46 20 53 55 43 48 20 48 4f 4c 44 45 52 20 4f 52 ROGRAMS),.EVEN.IF.SUCH.HOLDER.OR
1b900 20 4f 54 48 45 52 20 50 41 52 54 59 20 48 41 53 20 42 45 45 4e 20 41 44 56 49 53 45 44 20 4f 46 .OTHER.PARTY.HAS.BEEN.ADVISED.OF
1b920 20 54 48 45 0a 50 4f 53 53 49 42 49 4c 49 54 59 20 4f 46 20 53 55 43 48 20 44 41 4d 41 47 45 53 .THE.POSSIBILITY.OF.SUCH.DAMAGES
1b940 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 4e 44 20 4f 46 20 54 ........................END.OF.T
1b960 45 52 4d 53 20 41 4e 44 20 43 4f 4e 44 49 54 49 4f 4e 53 0a 0a 20 20 20 20 20 20 20 20 20 20 20 ERMS.AND.CONDITIONS.............
1b980 20 48 6f 77 20 74 6f 20 41 70 70 6c 79 20 54 68 65 73 65 20 54 65 72 6d 73 20 74 6f 20 59 6f 75 .How.to.Apply.These.Terms.to.You
1b9a0 72 20 4e 65 77 20 50 72 6f 67 72 61 6d 73 0a 0a 20 20 49 66 20 79 6f 75 20 64 65 76 65 6c 6f 70 r.New.Programs....If.you.develop
1b9c0 20 61 20 6e 65 77 20 70 72 6f 67 72 61 6d 2c 20 61 6e 64 20 79 6f 75 20 77 61 6e 74 20 69 74 20 .a.new.program,.and.you.want.it.
1b9e0 74 6f 20 62 65 20 6f 66 20 74 68 65 20 67 72 65 61 74 65 73 74 0a 70 6f 73 73 69 62 6c 65 20 75 to.be.of.the.greatest.possible.u
1ba00 73 65 20 74 6f 20 74 68 65 20 70 75 62 6c 69 63 2c 20 74 68 65 20 62 65 73 74 20 77 61 79 20 74 se.to.the.public,.the.best.way.t
1ba20 6f 20 61 63 68 69 65 76 65 20 74 68 69 73 20 69 73 20 74 6f 20 6d 61 6b 65 20 69 74 0a 66 72 65 o.achieve.this.is.to.make.it.fre
1ba40 65 20 73 6f 66 74 77 61 72 65 20 77 68 69 63 68 20 65 76 65 72 79 6f 6e 65 20 63 61 6e 20 72 65 e.software.which.everyone.can.re
1ba60 64 69 73 74 72 69 62 75 74 65 20 61 6e 64 20 63 68 61 6e 67 65 20 75 6e 64 65 72 20 74 68 65 73 distribute.and.change.under.thes
1ba80 65 20 74 65 72 6d 73 2e 0a 0a 20 20 54 6f 20 64 6f 20 73 6f 2c 20 61 74 74 61 63 68 20 74 68 65 e.terms.....To.do.so,.attach.the
1baa0 20 66 6f 6c 6c 6f 77 69 6e 67 20 6e 6f 74 69 63 65 73 20 74 6f 20 74 68 65 20 70 72 6f 67 72 61 .following.notices.to.the.progra
1bac0 6d 2e 20 20 49 74 20 69 73 20 73 61 66 65 73 74 0a 74 6f 20 61 74 74 61 63 68 20 74 68 65 6d 20 m...It.is.safest.to.attach.them.
1bae0 74 6f 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 65 61 63 68 20 73 6f 75 72 63 65 20 66 69 6c 65 to.the.start.of.each.source.file
1bb00 20 74 6f 20 6d 6f 73 74 20 65 66 66 65 63 74 69 76 65 6c 79 0a 63 6f 6e 76 65 79 20 74 68 65 20 .to.most.effectively.convey.the.
1bb20 65 78 63 6c 75 73 69 6f 6e 20 6f 66 20 77 61 72 72 61 6e 74 79 3b 20 61 6e 64 20 65 61 63 68 20 exclusion.of.warranty;.and.each.
1bb40 66 69 6c 65 20 73 68 6f 75 6c 64 20 68 61 76 65 20 61 74 20 6c 65 61 73 74 0a 74 68 65 20 22 63 file.should.have.at.least.the."c
1bb60 6f 70 79 72 69 67 68 74 22 20 6c 69 6e 65 20 61 6e 64 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 opyright".line.and.a.pointer.to.
1bb80 77 68 65 72 65 20 74 68 65 20 66 75 6c 6c 20 6e 6f 74 69 63 65 20 69 73 20 66 6f 75 6e 64 2e 0a where.the.full.notice.is.found..
1bba0 0a 20 20 20 20 3c 6f 6e 65 20 6c 69 6e 65 20 74 6f 20 67 69 76 65 20 74 68 65 20 70 72 6f 67 72 .....<one.line.to.give.the.progr
1bbc0 61 6d 27 73 20 6e 61 6d 65 20 61 6e 64 20 61 20 62 72 69 65 66 20 69 64 65 61 20 6f 66 20 77 68 am's.name.and.a.brief.idea.of.wh
1bbe0 61 74 20 69 74 20 64 6f 65 73 2e 3e 0a 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 3c at.it.does.>.....Copyright.(C).<
1bc00 79 65 61 72 3e 20 20 3c 6e 61 6d 65 20 6f 66 20 61 75 74 68 6f 72 3e 0a 0a 20 20 20 20 54 68 69 year>..<name.of.author>......Thi
1bc20 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 s.program.is.free.software:.you.
1bc40 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 can.redistribute.it.and/or.modif
1bc60 79 0a 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 y.....it.under.the.terms.of.the.
1bc80 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 GNU.General.Public.License.as.pu
1bca0 62 6c 69 73 68 65 64 20 62 79 0a 20 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 blished.by.....the.Free.Software
1bcc0 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 .Foundation,.either.version.2.of
1bce0 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 .the.License,.or.....(at.your.op
1bd00 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 20 54 68 tion).any.later.version.......Th
1bd20 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 is.program.is.distributed.in.the
1bd40 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 20 .hope.that.it.will.be.useful,...
1bd60 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 ..but.WITHOUT.ANY.WARRANTY;.with
1bd80 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 out.even.the.implied.warranty.of
1bda0 0a 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 .....MERCHANTABILITY.or.FITNESS.
1bdc0 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 FOR.A.PARTICULAR.PURPOSE...See.t
1bde0 68 65 0a 20 20 20 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 he.....GNU.General.Public.Licens
1be00 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 20 59 6f 75 20 73 68 6f e.for.more.details.......You.sho
1be20 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 uld.have.received.a.copy.of.the.
1be40 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 20 61 GNU.General.Public.License.....a
1be60 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c long.with.this.program...If.not,
1be80 20 73 65 65 20 3c 68 74 74 70 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 .see.<http://www.gnu.org/license
1bea0 73 2f 3e 2e 0a 0a 41 6c 73 6f 20 61 64 64 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 68 6f s/>...Also.add.information.on.ho
1bec0 77 20 74 6f 20 63 6f 6e 74 61 63 74 20 79 6f 75 20 62 79 20 65 6c 65 63 74 72 6f 6e 69 63 20 61 w.to.contact.you.by.electronic.a
1bee0 6e 64 20 70 61 70 65 72 20 6d 61 69 6c 2e 0a 0a 49 66 20 74 68 65 20 70 72 6f 67 72 61 6d 20 69 nd.paper.mail...If.the.program.i
1bf00 73 20 69 6e 74 65 72 61 63 74 69 76 65 2c 20 6d 61 6b 65 20 69 74 20 6f 75 74 70 75 74 20 61 20 s.interactive,.make.it.output.a.
1bf20 73 68 6f 72 74 20 6e 6f 74 69 63 65 20 6c 69 6b 65 20 74 68 69 73 0a 77 68 65 6e 20 69 74 20 73 short.notice.like.this.when.it.s
1bf40 74 61 72 74 73 20 69 6e 20 61 6e 20 69 6e 74 65 72 61 63 74 69 76 65 20 6d 6f 64 65 3a 0a 0a 20 tarts.in.an.interactive.mode:...
1bf60 20 20 20 47 6e 6f 6d 6f 76 69 73 69 6f 6e 20 76 65 72 73 69 6f 6e 20 36 39 2c 20 43 6f 70 79 72 ...Gnomovision.version.69,.Copyr
1bf80 69 67 68 74 20 28 43 29 20 3c 79 65 61 72 3e 20 20 3c 6e 61 6d 65 20 6f 66 20 61 75 74 68 6f 72 ight.(C).<year>..<name.of.author
1bfa0 3e 0a 20 20 20 20 47 6e 6f 6d 6f 76 69 73 69 6f 6e 20 63 6f 6d 65 73 20 77 69 74 68 20 41 42 53 >.....Gnomovision.comes.with.ABS
1bfc0 4f 4c 55 54 45 4c 59 20 4e 4f 20 57 41 52 52 41 4e 54 59 3b 20 66 6f 72 20 64 65 74 61 69 6c 73 OLUTELY.NO.WARRANTY;.for.details
1bfe0 20 74 79 70 65 20 60 73 68 6f 77 20 77 27 2e 0a 20 20 20 20 54 68 69 73 20 69 73 20 66 72 65 65 .type.`show.w'......This.is.free
1c000 20 73 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 79 6f 75 20 61 72 65 20 77 65 6c 63 6f 6d 65 20 74 .software,.and.you.are.welcome.t
1c020 6f 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 0a 20 20 20 20 75 6e 64 65 72 20 63 65 72 74 o.redistribute.it.....under.cert
1c040 61 69 6e 20 63 6f 6e 64 69 74 69 6f 6e 73 3b 20 74 79 70 65 20 60 73 68 6f 77 20 63 27 20 66 6f ain.conditions;.type.`show.c'.fo
1c060 72 20 64 65 74 61 69 6c 73 2e 0a 0a 54 68 65 20 68 79 70 6f 74 68 65 74 69 63 61 6c 20 63 6f 6d r.details...The.hypothetical.com
1c080 6d 61 6e 64 73 20 60 73 68 6f 77 20 77 27 20 61 6e 64 20 60 73 68 6f 77 20 63 27 20 73 68 6f 75 mands.`show.w'.and.`show.c'.shou
1c0a0 6c 64 20 73 68 6f 77 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 0a 70 61 72 74 73 20 6f 66 ld.show.the.appropriate.parts.of
1c0c0 20 74 68 65 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2e 20 20 4f 66 .the.General.Public.License...Of
1c0e0 20 63 6f 75 72 73 65 2c 20 74 68 65 20 63 6f 6d 6d 61 6e 64 73 20 79 6f 75 20 75 73 65 20 6d 61 .course,.the.commands.you.use.ma
1c100 79 0a 62 65 20 63 61 6c 6c 65 64 20 73 6f 6d 65 74 68 69 6e 67 20 6f 74 68 65 72 20 74 68 61 6e y.be.called.something.other.than
1c120 20 60 73 68 6f 77 20 77 27 20 61 6e 64 20 60 73 68 6f 77 20 63 27 3b 20 74 68 65 79 20 63 6f 75 .`show.w'.and.`show.c';.they.cou
1c140 6c 64 20 65 76 65 6e 20 62 65 0a 6d 6f 75 73 65 2d 63 6c 69 63 6b 73 20 6f 72 20 6d 65 6e 75 20 ld.even.be.mouse-clicks.or.menu.
1c160 69 74 65 6d 73 2d 2d 77 68 61 74 65 76 65 72 20 73 75 69 74 73 20 79 6f 75 72 20 70 72 6f 67 72 items--whatever.suits.your.progr
1c180 61 6d 2e 0a 0a 59 6f 75 20 73 68 6f 75 6c 64 20 61 6c 73 6f 20 67 65 74 20 79 6f 75 72 20 65 6d am...You.should.also.get.your.em
1c1a0 70 6c 6f 79 65 72 20 28 69 66 20 79 6f 75 20 77 6f 72 6b 20 61 73 20 61 20 70 72 6f 67 72 61 6d ployer.(if.you.work.as.a.program
1c1c0 6d 65 72 29 20 6f 72 20 79 6f 75 72 0a 73 63 68 6f 6f 6c 2c 20 69 66 20 61 6e 79 2c 20 74 6f 20 mer).or.your.school,.if.any,.to.
1c1e0 73 69 67 6e 20 61 20 22 63 6f 70 79 72 69 67 68 74 20 64 69 73 63 6c 61 69 6d 65 72 22 20 66 6f sign.a."copyright.disclaimer".fo
1c200 72 20 74 68 65 20 70 72 6f 67 72 61 6d 2c 20 69 66 0a 6e 65 63 65 73 73 61 72 79 2e 20 20 48 65 r.the.program,.if.necessary...He
1c220 72 65 20 69 73 20 61 20 73 61 6d 70 6c 65 3b 20 61 6c 74 65 72 20 74 68 65 20 6e 61 6d 65 73 3a re.is.a.sample;.alter.the.names:
1c240 0a 0a 20 20 59 6f 79 6f 64 79 6e 65 2c 20 49 6e 63 2e 2c 20 68 65 72 65 62 79 20 64 69 73 63 6c ....Yoyodyne,.Inc.,.hereby.discl
1c260 61 69 6d 73 20 61 6c 6c 20 63 6f 70 79 72 69 67 68 74 20 69 6e 74 65 72 65 73 74 20 69 6e 20 74 aims.all.copyright.interest.in.t
1c280 68 65 20 70 72 6f 67 72 61 6d 0a 20 20 60 47 6e 6f 6d 6f 76 69 73 69 6f 6e 27 20 28 77 68 69 63 he.program...`Gnomovision'.(whic
1c2a0 68 20 6d 61 6b 65 73 20 70 61 73 73 65 73 20 61 74 20 63 6f 6d 70 69 6c 65 72 73 29 20 77 72 69 h.makes.passes.at.compilers).wri
1c2c0 74 74 65 6e 20 62 79 20 4a 61 6d 65 73 20 48 61 63 6b 65 72 2e 0a 0a 20 20 3c 73 69 67 6e 61 74 tten.by.James.Hacker.....<signat
1c2e0 75 72 65 20 6f 66 20 54 79 20 43 6f 6f 6e 3e 2c 20 31 20 41 70 72 69 6c 20 31 39 38 39 0a 20 20 ure.of.Ty.Coon>,.1.April.1989...
1c300 54 79 20 43 6f 6f 6e 2c 20 50 72 65 73 69 64 65 6e 74 20 6f 66 20 56 69 63 65 0a 0a 54 68 69 73 Ty.Coon,.President.of.Vice..This
1c320 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 64 6f 65 73 20 6e 6f 74 .General.Public.License.does.not
1c340 20 70 65 72 6d 69 74 20 69 6e 63 6f 72 70 6f 72 61 74 69 6e 67 20 79 6f 75 72 20 70 72 6f 67 72 .permit.incorporating.your.progr
1c360 61 6d 20 69 6e 74 6f 0a 70 72 6f 70 72 69 65 74 61 72 79 20 70 72 6f 67 72 61 6d 73 2e 20 20 49 am.into.proprietary.programs...I
1c380 66 20 79 6f 75 72 20 70 72 6f 67 72 61 6d 20 69 73 20 61 20 73 75 62 72 6f 75 74 69 6e 65 20 6c f.your.program.is.a.subroutine.l
1c3a0 69 62 72 61 72 79 2c 20 79 6f 75 20 6d 61 79 0a 63 6f 6e 73 69 64 65 72 20 69 74 20 6d 6f 72 65 ibrary,.you.may.consider.it.more
1c3c0 20 75 73 65 66 75 6c 20 74 6f 20 70 65 72 6d 69 74 20 6c 69 6e 6b 69 6e 67 20 70 72 6f 70 72 69 .useful.to.permit.linking.propri
1c3e0 65 74 61 72 79 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 77 69 74 68 20 74 68 65 0a 6c 69 62 72 etary.applications.with.the.libr
1c400 61 72 79 2e 20 20 49 66 20 74 68 69 73 20 69 73 20 77 68 61 74 20 79 6f 75 20 77 61 6e 74 20 74 ary...If.this.is.what.you.want.t
1c420 6f 20 64 6f 2c 20 75 73 65 20 74 68 65 20 47 4e 55 20 4c 65 73 73 65 72 20 47 65 6e 65 72 61 6c o.do,.use.the.GNU.Lesser.General
1c440 0a 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 69 73 20 .Public.License.instead.of.this.
1c460 4c 69 63 65 6e 73 65 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 License.........................
1c480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c600 6c 7a 69 70 2d 31 2e 32 30 2f 64 6f 63 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 lzip-1.20/doc/..................
1c620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c660 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000755.0001750.0001750.0000
1c680 30 30 30 30 30 30 30 00 31 33 36 36 34 37 33 36 35 34 35 00 30 31 33 33 33 32 00 20 35 00 00 00 0000000.13664736545.013332..5...
1c6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c700 00 75 73 74 61 72 20 20 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...mohammad...............
1c720 00 00 00 00 00 00 00 00 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........mohammad...............
1c740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c800 6c 7a 69 70 2d 31 2e 32 30 2f 64 6f 63 2f 6c 7a 69 70 2e 74 65 78 69 00 00 00 00 00 00 00 00 00 lzip-1.20/doc/lzip.texi.........
1c820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c860 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
1c880 30 31 36 34 34 31 33 00 31 33 36 36 34 37 33 36 35 34 35 00 30 31 35 32 31 34 00 20 30 00 00 00 0164413.13664736545.015214..0...
1c8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c900 00 75 73 74 61 72 20 20 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...mohammad...............
1c920 00 00 00 00 00 00 00 00 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........mohammad...............
1c940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ca00 5c 69 6e 70 75 74 20 74 65 78 69 6e 66 6f 20 40 63 20 2d 2a 2d 74 65 78 69 6e 66 6f 2d 2a 2d 0a \input.texinfo.@c.-*-texinfo-*-.
1ca20 40 63 20 25 2a 2a 73 74 61 72 74 20 6f 66 20 68 65 61 64 65 72 0a 40 73 65 74 66 69 6c 65 6e 61 @c.%**start.of.header.@setfilena
1ca40 6d 65 20 6c 7a 69 70 2e 69 6e 66 6f 0a 40 64 6f 63 75 6d 65 6e 74 65 6e 63 6f 64 69 6e 67 20 49 me.lzip.info.@documentencoding.I
1ca60 53 4f 2d 38 38 35 39 2d 31 35 0a 40 73 65 74 74 69 74 6c 65 20 4c 7a 69 70 20 4d 61 6e 75 61 6c SO-8859-15.@settitle.Lzip.Manual
1ca80 0a 40 66 69 6e 61 6c 6f 75 74 0a 40 63 20 25 2a 2a 65 6e 64 20 6f 66 20 68 65 61 64 65 72 0a 0a .@finalout.@c.%**end.of.header..
1caa0 40 73 65 74 20 55 50 44 41 54 45 44 20 31 31 20 46 65 62 72 75 61 72 79 20 32 30 31 38 0a 40 73 @set.UPDATED.11.February.2018.@s
1cac0 65 74 20 56 45 52 53 49 4f 4e 20 31 2e 32 30 0a 0a 40 64 69 72 63 61 74 65 67 6f 72 79 20 44 61 et.VERSION.1.20..@dircategory.Da
1cae0 74 61 20 43 6f 6d 70 72 65 73 73 69 6f 6e 0a 40 64 69 72 65 6e 74 72 79 0a 2a 20 4c 7a 69 70 3a ta.Compression.@direntry.*.Lzip:
1cb00 20 28 6c 7a 69 70 29 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4c 5a 4d 41 20 6c 6f .(lzip)..................LZMA.lo
1cb20 73 73 6c 65 73 73 20 64 61 74 61 20 63 6f 6d 70 72 65 73 73 6f 72 0a 40 65 6e 64 20 64 69 72 65 ssless.data.compressor.@end.dire
1cb40 6e 74 72 79 0a 0a 0a 40 69 66 6e 6f 74 68 74 6d 6c 0a 40 74 69 74 6c 65 70 61 67 65 0a 40 74 69 ntry...@ifnothtml.@titlepage.@ti
1cb60 74 6c 65 20 4c 7a 69 70 0a 40 73 75 62 74 69 74 6c 65 20 4c 5a 4d 41 20 6c 6f 73 73 6c 65 73 73 tle.Lzip.@subtitle.LZMA.lossless
1cb80 20 64 61 74 61 20 63 6f 6d 70 72 65 73 73 6f 72 0a 40 73 75 62 74 69 74 6c 65 20 66 6f 72 20 4c .data.compressor.@subtitle.for.L
1cba0 7a 69 70 20 76 65 72 73 69 6f 6e 20 40 76 61 6c 75 65 7b 56 45 52 53 49 4f 4e 7d 2c 20 40 76 61 zip.version.@value{VERSION},.@va
1cbc0 6c 75 65 7b 55 50 44 41 54 45 44 7d 0a 40 61 75 74 68 6f 72 20 62 79 20 41 6e 74 6f 6e 69 6f 20 lue{UPDATED}.@author.by.Antonio.
1cbe0 44 69 61 7a 20 44 69 61 7a 0a 0a 40 70 61 67 65 0a 40 76 73 6b 69 70 20 30 70 74 20 70 6c 75 73 Diaz.Diaz..@page.@vskip.0pt.plus
1cc00 20 31 66 69 6c 6c 6c 0a 40 65 6e 64 20 74 69 74 6c 65 70 61 67 65 0a 0a 40 63 6f 6e 74 65 6e 74 .1filll.@end.titlepage..@content
1cc20 73 0a 40 65 6e 64 20 69 66 6e 6f 74 68 74 6d 6c 0a 0a 40 6e 6f 64 65 20 54 6f 70 0a 40 74 6f 70 s.@end.ifnothtml..@node.Top.@top
1cc40 0a 0a 54 68 69 73 20 6d 61 6e 75 61 6c 20 69 73 20 66 6f 72 20 4c 7a 69 70 20 28 76 65 72 73 69 ..This.manual.is.for.Lzip.(versi
1cc60 6f 6e 20 40 76 61 6c 75 65 7b 56 45 52 53 49 4f 4e 7d 2c 20 40 76 61 6c 75 65 7b 55 50 44 41 54 on.@value{VERSION},.@value{UPDAT
1cc80 45 44 7d 29 2e 0a 0a 40 6d 65 6e 75 0a 2a 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 3a 3a 20 20 20 ED})...@menu.*.Introduction::...
1cca0 20 20 20 20 20 20 20 20 50 75 72 70 6f 73 65 20 61 6e 64 20 66 65 61 74 75 72 65 73 20 6f 66 20 ........Purpose.and.features.of.
1ccc0 6c 7a 69 70 0a 2a 20 4f 75 74 70 75 74 3a 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lzip.*.Output::.................
1cce0 4d 65 61 6e 69 6e 67 20 6f 66 20 6c 7a 69 70 27 73 20 6f 75 74 70 75 74 0a 2a 20 49 6e 76 6f 6b Meaning.of.lzip's.output.*.Invok
1cd00 69 6e 67 20 6c 7a 69 70 3a 3a 20 20 20 20 20 20 20 20 20 20 43 6f 6d 6d 61 6e 64 20 6c 69 6e 65 ing.lzip::..........Command.line
1cd20 20 69 6e 74 65 72 66 61 63 65 0a 2a 20 51 75 61 6c 69 74 79 20 61 73 73 75 72 61 6e 63 65 3a 3a .interface.*.Quality.assurance::
1cd40 20 20 20 20 20 20 44 65 73 69 67 6e 2c 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 61 6e 64 20 74 65 ......Design,.development.and.te
1cd60 73 74 69 6e 67 20 6f 66 20 6c 7a 69 70 0a 2a 20 46 69 6c 65 20 66 6f 72 6d 61 74 3a 3a 20 20 20 sting.of.lzip.*.File.format::...
1cd80 20 20 20 20 20 20 20 20 20 44 65 74 61 69 6c 65 64 20 66 6f 72 6d 61 74 20 6f 66 20 74 68 65 20 .........Detailed.format.of.the.
1cda0 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 0a 2a 20 41 6c 67 6f 72 69 74 68 6d 3a 3a 20 20 20 compressed.file.*.Algorithm::...
1cdc0 20 20 20 20 20 20 20 20 20 20 20 48 6f 77 20 6c 7a 69 70 20 63 6f 6d 70 72 65 73 73 65 73 20 74 ...........How.lzip.compresses.t
1cde0 68 65 20 64 61 74 61 0a 2a 20 53 74 72 65 61 6d 20 66 6f 72 6d 61 74 3a 3a 20 20 20 20 20 20 20 he.data.*.Stream.format::.......
1ce00 20 20 20 46 6f 72 6d 61 74 20 6f 66 20 74 68 65 20 4c 5a 4d 41 20 73 74 72 65 61 6d 20 69 6e 20 ...Format.of.the.LZMA.stream.in.
1ce20 6c 7a 69 70 20 66 69 6c 65 73 0a 2a 20 54 72 61 69 6c 69 6e 67 20 64 61 74 61 3a 3a 20 20 20 20 lzip.files.*.Trailing.data::....
1ce40 20 20 20 20 20 20 45 78 74 72 61 20 64 61 74 61 20 61 70 70 65 6e 64 65 64 20 74 6f 20 74 68 65 ......Extra.data.appended.to.the
1ce60 20 66 69 6c 65 0a 2a 20 45 78 61 6d 70 6c 65 73 3a 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .file.*.Examples::..............
1ce80 20 41 20 73 6d 61 6c 6c 20 74 75 74 6f 72 69 61 6c 20 77 69 74 68 20 65 78 61 6d 70 6c 65 73 0a .A.small.tutorial.with.examples.
1cea0 2a 20 50 72 6f 62 6c 65 6d 73 3a 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 70 6f 72 *.Problems::...............Repor
1cec0 74 69 6e 67 20 62 75 67 73 0a 2a 20 52 65 66 65 72 65 6e 63 65 20 73 6f 75 72 63 65 20 63 6f 64 ting.bugs.*.Reference.source.cod
1cee0 65 3a 3a 20 20 53 6f 75 72 63 65 20 63 6f 64 65 20 69 6c 6c 75 73 74 72 61 74 69 6e 67 20 73 74 e::..Source.code.illustrating.st
1cf00 72 65 61 6d 20 66 6f 72 6d 61 74 0a 2a 20 43 6f 6e 63 65 70 74 20 69 6e 64 65 78 3a 3a 20 20 20 ream.format.*.Concept.index::...
1cf20 20 20 20 20 20 20 20 49 6e 64 65 78 20 6f 66 20 63 6f 6e 63 65 70 74 73 0a 40 65 6e 64 20 6d 65 .......Index.of.concepts.@end.me
1cf40 6e 75 0a 0a 40 73 70 20 31 0a 43 6f 70 79 72 69 67 68 74 20 40 63 6f 70 79 72 69 67 68 74 7b 7d nu..@sp.1.Copyright.@copyright{}
1cf60 20 32 30 30 38 2d 32 30 31 38 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 54 .2008-2018.Antonio.Diaz.Diaz...T
1cf80 68 69 73 20 6d 61 6e 75 61 6c 20 69 73 20 66 72 65 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e his.manual.is.free.documentation
1cfa0 3a 20 79 6f 75 20 68 61 76 65 20 75 6e 6c 69 6d 69 74 65 64 20 70 65 72 6d 69 73 73 69 6f 6e 0a :.you.have.unlimited.permission.
1cfc0 74 6f 20 63 6f 70 79 2c 20 64 69 73 74 72 69 62 75 74 65 20 61 6e 64 20 6d 6f 64 69 66 79 20 69 to.copy,.distribute.and.modify.i
1cfe0 74 2e 0a 0a 0a 40 6e 6f 64 65 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 0a 40 63 68 61 70 74 65 72 t....@node.Introduction.@chapter
1d000 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 0a 40 63 69 6e 64 65 78 20 69 6e 74 72 6f 64 75 63 74 69 .Introduction.@cindex.introducti
1d020 6f 6e 0a 0a 4c 7a 69 70 20 69 73 20 61 20 6c 6f 73 73 6c 65 73 73 20 64 61 74 61 20 63 6f 6d 70 on..Lzip.is.a.lossless.data.comp
1d040 72 65 73 73 6f 72 20 77 69 74 68 20 61 20 75 73 65 72 20 69 6e 74 65 72 66 61 63 65 20 73 69 6d ressor.with.a.user.interface.sim
1d060 69 6c 61 72 20 74 6f 20 74 68 65 0a 6f 6e 65 20 6f 66 20 67 7a 69 70 20 6f 72 20 62 7a 69 70 32 ilar.to.the.one.of.gzip.or.bzip2
1d080 2e 20 4c 7a 69 70 20 63 61 6e 20 63 6f 6d 70 72 65 73 73 20 61 62 6f 75 74 20 61 73 20 66 61 73 ..Lzip.can.compress.about.as.fas
1d0a0 74 20 61 73 20 67 7a 69 70 0a 40 77 7b 28 6c 7a 69 70 20 2d 30 29 7d 2c 20 6f 72 20 63 6f 6d 70 t.as.gzip.@w{(lzip.-0)},.or.comp
1d0c0 72 65 73 73 20 6d 6f 73 74 20 66 69 6c 65 73 20 6d 6f 72 65 20 74 68 61 6e 20 62 7a 69 70 32 20 ress.most.files.more.than.bzip2.
1d0e0 40 77 7b 28 6c 7a 69 70 20 2d 39 29 7d 2e 0a 44 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 73 70 65 @w{(lzip.-9)}..Decompression.spe
1d100 65 64 20 69 73 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 62 65 74 77 65 65 6e 20 67 7a 69 70 20 ed.is.intermediate.between.gzip.
1d120 61 6e 64 20 62 7a 69 70 32 2e 20 4c 7a 69 70 20 69 73 0a 62 65 74 74 65 72 20 74 68 61 6e 20 67 and.bzip2..Lzip.is.better.than.g
1d140 7a 69 70 20 61 6e 64 20 62 7a 69 70 32 20 66 72 6f 6d 20 61 20 64 61 74 61 20 72 65 63 6f 76 65 zip.and.bzip2.from.a.data.recove
1d160 72 79 20 70 65 72 73 70 65 63 74 69 76 65 2e 0a 0a 54 68 65 20 6c 7a 69 70 20 66 69 6c 65 20 66 ry.perspective...The.lzip.file.f
1d180 6f 72 6d 61 74 20 69 73 20 64 65 73 69 67 6e 65 64 20 66 6f 72 20 64 61 74 61 20 73 68 61 72 69 ormat.is.designed.for.data.shari
1d1a0 6e 67 20 61 6e 64 20 6c 6f 6e 67 2d 74 65 72 6d 0a 61 72 63 68 69 76 69 6e 67 2c 20 74 61 6b 69 ng.and.long-term.archiving,.taki
1d1c0 6e 67 20 69 6e 74 6f 20 61 63 63 6f 75 6e 74 20 62 6f 74 68 20 64 61 74 61 20 69 6e 74 65 67 72 ng.into.account.both.data.integr
1d1e0 69 74 79 20 61 6e 64 20 64 65 63 6f 64 65 72 0a 61 76 61 69 6c 61 62 69 6c 69 74 79 3a 0a 0a 40 ity.and.decoder.availability:..@
1d200 69 74 65 6d 69 7a 65 20 40 62 75 6c 6c 65 74 0a 40 69 74 65 6d 0a 54 68 65 20 6c 7a 69 70 20 66 itemize.@bullet.@item.The.lzip.f
1d220 6f 72 6d 61 74 20 70 72 6f 76 69 64 65 73 20 76 65 72 79 20 73 61 66 65 20 69 6e 74 65 67 72 69 ormat.provides.very.safe.integri
1d240 74 79 20 63 68 65 63 6b 69 6e 67 20 61 6e 64 20 73 6f 6d 65 20 64 61 74 61 0a 72 65 63 6f 76 65 ty.checking.and.some.data.recove
1d260 72 79 20 6d 65 61 6e 73 2e 20 54 68 65 0a 40 75 72 65 66 7b 68 74 74 70 3a 2f 2f 77 77 77 2e 6e ry.means..The.@uref{http://www.n
1d280 6f 6e 67 6e 75 2e 6f 72 67 2f 6c 7a 69 70 2f 6d 61 6e 75 61 6c 2f 6c 7a 69 70 72 65 63 6f 76 65 ongnu.org/lzip/manual/lziprecove
1d2a0 72 5f 6d 61 6e 75 61 6c 2e 68 74 6d 6c 23 44 61 74 61 2d 73 61 66 65 74 79 2c 2c 6c 7a 69 70 72 r_manual.html#Data-safety,,lzipr
1d2c0 65 63 6f 76 65 72 7d 0a 70 72 6f 67 72 61 6d 20 63 61 6e 20 72 65 70 61 69 72 20 62 69 74 20 66 ecover}.program.can.repair.bit.f
1d2e0 6c 69 70 20 65 72 72 6f 72 73 20 28 6f 6e 65 20 6f 66 20 74 68 65 20 6d 6f 73 74 20 63 6f 6d 6d lip.errors.(one.of.the.most.comm
1d300 6f 6e 20 66 6f 72 6d 73 20 6f 66 20 64 61 74 61 0a 63 6f 72 72 75 70 74 69 6f 6e 29 20 69 6e 20 on.forms.of.data.corruption).in.
1d320 6c 7a 69 70 20 66 69 6c 65 73 2c 20 61 6e 64 20 70 72 6f 76 69 64 65 73 20 64 61 74 61 20 72 65 lzip.files,.and.provides.data.re
1d340 63 6f 76 65 72 79 20 63 61 70 61 62 69 6c 69 74 69 65 73 2c 0a 69 6e 63 6c 75 64 69 6e 67 20 65 covery.capabilities,.including.e
1d360 72 72 6f 72 2d 63 68 65 63 6b 65 64 20 6d 65 72 67 69 6e 67 20 6f 66 20 64 61 6d 61 67 65 64 20 rror-checked.merging.of.damaged.
1d380 63 6f 70 69 65 73 20 6f 66 20 61 20 66 69 6c 65 2e 0a 40 69 66 6e 6f 74 68 74 6d 6c 0a 40 78 72 copies.of.a.file..@ifnothtml.@xr
1d3a0 65 66 7b 44 61 74 61 20 73 61 66 65 74 79 2c 2c 2c 6c 7a 69 70 72 65 63 6f 76 65 72 7d 2e 0a 40 ef{Data.safety,,,lziprecover}..@
1d3c0 65 6e 64 20 69 66 6e 6f 74 68 74 6d 6c 0a 0a 40 69 74 65 6d 0a 54 68 65 20 6c 7a 69 70 20 66 6f end.ifnothtml..@item.The.lzip.fo
1d3e0 72 6d 61 74 20 69 73 20 61 73 20 73 69 6d 70 6c 65 20 61 73 20 70 6f 73 73 69 62 6c 65 20 28 62 rmat.is.as.simple.as.possible.(b
1d400 75 74 20 6e 6f 74 20 73 69 6d 70 6c 65 72 29 2e 20 54 68 65 20 6c 7a 69 70 0a 6d 61 6e 75 61 6c ut.not.simpler)..The.lzip.manual
1d420 20 70 72 6f 76 69 64 65 73 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 6f 66 20 61 20 73 .provides.the.source.code.of.a.s
1d440 69 6d 70 6c 65 20 64 65 63 6f 6d 70 72 65 73 73 6f 72 20 61 6c 6f 6e 67 20 77 69 74 68 20 61 0a imple.decompressor.along.with.a.
1d460 64 65 74 61 69 6c 65 64 20 65 78 70 6c 61 6e 61 74 69 6f 6e 20 6f 66 20 68 6f 77 20 69 74 20 77 detailed.explanation.of.how.it.w
1d480 6f 72 6b 73 2c 20 73 6f 20 74 68 61 74 20 77 69 74 68 20 74 68 65 20 6f 6e 6c 79 20 68 65 6c 70 orks,.so.that.with.the.only.help
1d4a0 20 6f 66 20 74 68 65 0a 6c 7a 69 70 20 6d 61 6e 75 61 6c 20 69 74 20 77 6f 75 6c 64 20 62 65 20 .of.the.lzip.manual.it.would.be.
1d4c0 70 6f 73 73 69 62 6c 65 20 66 6f 72 20 61 20 64 69 67 69 74 61 6c 20 61 72 63 68 61 65 6f 6c 6f possible.for.a.digital.archaeolo
1d4e0 67 69 73 74 20 74 6f 20 65 78 74 72 61 63 74 0a 74 68 65 20 64 61 74 61 20 66 72 6f 6d 20 61 20 gist.to.extract.the.data.from.a.
1d500 6c 7a 69 70 20 66 69 6c 65 20 6c 6f 6e 67 20 61 66 74 65 72 20 71 75 61 6e 74 75 6d 20 63 6f 6d lzip.file.long.after.quantum.com
1d520 70 75 74 65 72 73 20 65 76 65 6e 74 75 61 6c 6c 79 20 72 65 6e 64 65 72 0a 4c 5a 4d 41 20 6f 62 puters.eventually.render.LZMA.ob
1d540 73 6f 6c 65 74 65 2e 0a 0a 40 69 74 65 6d 0a 41 64 64 69 74 69 6f 6e 61 6c 6c 79 20 74 68 65 20 solete...@item.Additionally.the.
1d560 6c 7a 69 70 20 72 65 66 65 72 65 6e 63 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 69 73 lzip.reference.implementation.is
1d580 20 63 6f 70 79 6c 65 66 74 65 64 2c 20 77 68 69 63 68 0a 67 75 61 72 61 6e 74 65 65 73 20 74 68 .copylefted,.which.guarantees.th
1d5a0 61 74 20 69 74 20 77 69 6c 6c 20 72 65 6d 61 69 6e 20 66 72 65 65 20 66 6f 72 65 76 65 72 2e 0a at.it.will.remain.free.forever..
1d5c0 40 65 6e 64 20 69 74 65 6d 69 7a 65 0a 0a 41 20 6e 69 63 65 20 66 65 61 74 75 72 65 20 6f 66 20 @end.itemize..A.nice.feature.of.
1d5e0 74 68 65 20 6c 7a 69 70 20 66 6f 72 6d 61 74 20 69 73 20 74 68 61 74 20 61 20 63 6f 72 72 75 70 the.lzip.format.is.that.a.corrup
1d600 74 20 62 79 74 65 20 69 73 20 65 61 73 69 65 72 20 74 6f 0a 72 65 70 61 69 72 20 74 68 65 20 6e t.byte.is.easier.to.repair.the.n
1d620 65 61 72 65 72 20 69 74 20 69 73 20 66 72 6f 6d 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f earer.it.is.from.the.beginning.o
1d640 66 20 74 68 65 20 66 69 6c 65 2e 20 54 68 65 72 65 66 6f 72 65 2c 20 77 69 74 68 0a 74 68 65 20 f.the.file..Therefore,.with.the.
1d660 68 65 6c 70 20 6f 66 20 6c 7a 69 70 72 65 63 6f 76 65 72 2c 20 6c 6f 73 69 6e 67 20 61 6e 20 65 help.of.lziprecover,.losing.an.e
1d680 6e 74 69 72 65 20 61 72 63 68 69 76 65 20 6a 75 73 74 20 62 65 63 61 75 73 65 20 6f 66 20 61 0a ntire.archive.just.because.of.a.
1d6a0 63 6f 72 72 75 70 74 20 62 79 74 65 20 6e 65 61 72 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 corrupt.byte.near.the.beginning.
1d6c0 69 73 20 61 20 74 68 69 6e 67 20 6f 66 20 74 68 65 20 70 61 73 74 2e 0a 0a 54 68 65 20 6d 65 6d is.a.thing.of.the.past...The.mem
1d6e0 62 65 72 20 74 72 61 69 6c 65 72 20 73 74 6f 72 65 73 20 74 68 65 20 33 32 2d 62 69 74 20 43 52 ber.trailer.stores.the.32-bit.CR
1d700 43 20 6f 66 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 64 61 74 61 2c 20 74 68 65 20 73 69 7a 65 C.of.the.original.data,.the.size
1d720 0a 6f 66 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 64 61 74 61 20 61 6e 64 20 74 68 65 20 73 69 .of.the.original.data.and.the.si
1d740 7a 65 20 6f 66 20 74 68 65 20 6d 65 6d 62 65 72 2e 20 54 68 65 73 65 20 76 61 6c 75 65 73 2c 20 ze.of.the.member..These.values,.
1d760 74 6f 67 65 74 68 65 72 0a 77 69 74 68 20 74 68 65 20 65 6e 64 2d 6f 66 2d 73 74 72 65 61 6d 20 together.with.the.end-of-stream.
1d780 6d 61 72 6b 65 72 2c 20 70 72 6f 76 69 64 65 20 61 20 33 20 66 61 63 74 6f 72 20 69 6e 74 65 67 marker,.provide.a.3.factor.integ
1d7a0 72 69 74 79 20 63 68 65 63 6b 69 6e 67 0a 77 68 69 63 68 20 67 75 61 72 61 6e 74 65 65 73 20 74 rity.checking.which.guarantees.t
1d7c0 68 61 74 20 74 68 65 20 64 65 63 6f 6d 70 72 65 73 73 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 hat.the.decompressed.version.of.
1d7e0 74 68 65 20 64 61 74 61 20 69 73 20 69 64 65 6e 74 69 63 61 6c 0a 74 6f 20 74 68 65 20 6f 72 69 the.data.is.identical.to.the.ori
1d800 67 69 6e 61 6c 2e 20 54 68 69 73 20 67 75 61 72 64 73 20 61 67 61 69 6e 73 74 20 63 6f 72 72 75 ginal..This.guards.against.corru
1d820 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 2c 0a 61 6e ption.of.the.compressed.data,.an
1d840 64 20 61 67 61 69 6e 73 74 20 75 6e 64 65 74 65 63 74 65 64 20 62 75 67 73 20 69 6e 20 6c 7a 69 d.against.undetected.bugs.in.lzi
1d860 70 20 28 68 6f 70 65 66 75 6c 6c 79 20 76 65 72 79 20 75 6e 6c 69 6b 65 6c 79 29 2e 20 54 68 65 p.(hopefully.very.unlikely)..The
1d880 0a 63 68 61 6e 63 65 73 20 6f 66 20 64 61 74 61 20 63 6f 72 72 75 70 74 69 6f 6e 20 67 6f 69 6e .chances.of.data.corruption.goin
1d8a0 67 20 75 6e 64 65 74 65 63 74 65 64 20 61 72 65 20 6d 69 63 72 6f 73 63 6f 70 69 63 2e 20 42 65 g.undetected.are.microscopic..Be
1d8c0 20 61 77 61 72 65 2c 0a 74 68 6f 75 67 68 2c 20 74 68 61 74 20 74 68 65 20 63 68 65 63 6b 20 6f .aware,.though,.that.the.check.o
1d8e0 63 63 75 72 73 20 75 70 6f 6e 20 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 2c 20 73 6f 20 69 74 20 ccurs.upon.decompression,.so.it.
1d900 63 61 6e 20 6f 6e 6c 79 20 74 65 6c 6c 0a 79 6f 75 20 74 68 61 74 20 73 6f 6d 65 74 68 69 6e 67 can.only.tell.you.that.something
1d920 20 69 73 20 77 72 6f 6e 67 2e 20 49 74 20 63 61 6e 27 74 20 68 65 6c 70 20 79 6f 75 20 72 65 63 .is.wrong..It.can't.help.you.rec
1d940 6f 76 65 72 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 0a 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 64 over.the.original.uncompressed.d
1d960 61 74 61 2e 0a 0a 4c 7a 69 70 20 75 73 65 73 20 74 68 65 20 73 61 6d 65 20 77 65 6c 6c 2d 64 65 ata...Lzip.uses.the.same.well-de
1d980 66 69 6e 65 64 20 65 78 69 74 20 73 74 61 74 75 73 20 76 61 6c 75 65 73 20 75 73 65 64 20 62 79 fined.exit.status.values.used.by
1d9a0 20 62 7a 69 70 32 2c 20 77 68 69 63 68 0a 6d 61 6b 65 73 20 69 74 20 73 61 66 65 72 20 74 68 61 .bzip2,.which.makes.it.safer.tha
1d9c0 6e 20 63 6f 6d 70 72 65 73 73 6f 72 73 20 72 65 74 75 72 6e 69 6e 67 20 61 6d 62 69 67 75 6f 75 n.compressors.returning.ambiguou
1d9e0 73 20 77 61 72 6e 69 6e 67 20 76 61 6c 75 65 73 20 28 6c 69 6b 65 0a 67 7a 69 70 29 20 77 68 65 s.warning.values.(like.gzip).whe
1da00 6e 20 69 74 20 69 73 20 75 73 65 64 20 61 73 20 61 20 62 61 63 6b 20 65 6e 64 20 66 6f 72 20 6f n.it.is.used.as.a.back.end.for.o
1da20 74 68 65 72 20 70 72 6f 67 72 61 6d 73 20 6c 69 6b 65 20 74 61 72 20 6f 72 0a 7a 75 74 69 6c 73 ther.programs.like.tar.or.zutils
1da40 2e 0a 0a 4c 7a 69 70 20 77 69 6c 6c 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 75 73 65 20 74 ...Lzip.will.automatically.use.t
1da60 68 65 20 73 6d 61 6c 6c 65 73 74 20 70 6f 73 73 69 62 6c 65 20 64 69 63 74 69 6f 6e 61 72 79 20 he.smallest.possible.dictionary.
1da80 73 69 7a 65 20 66 6f 72 0a 65 61 63 68 20 66 69 6c 65 20 77 69 74 68 6f 75 74 20 65 78 63 65 65 size.for.each.file.without.excee
1daa0 64 69 6e 67 20 74 68 65 20 67 69 76 65 6e 20 6c 69 6d 69 74 2e 20 4b 65 65 70 20 69 6e 20 6d 69 ding.the.given.limit..Keep.in.mi
1dac0 6e 64 20 74 68 61 74 20 74 68 65 0a 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6d 65 6d 6f 72 79 nd.that.the.decompression.memory
1dae0 20 72 65 71 75 69 72 65 6d 65 6e 74 20 69 73 20 61 66 66 65 63 74 65 64 20 61 74 20 63 6f 6d 70 .requirement.is.affected.at.comp
1db00 72 65 73 73 69 6f 6e 20 74 69 6d 65 20 62 79 20 74 68 65 0a 63 68 6f 69 63 65 20 6f 66 20 64 69 ression.time.by.the.choice.of.di
1db20 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 6c 69 6d 69 74 2e 0a 0a 54 68 65 20 61 6d 6f 75 6e 74 ctionary.size.limit...The.amount
1db40 20 6f 66 20 6d 65 6d 6f 72 79 20 72 65 71 75 69 72 65 64 20 66 6f 72 20 63 6f 6d 70 72 65 73 73 .of.memory.required.for.compress
1db60 69 6f 6e 20 69 73 20 61 62 6f 75 74 20 31 20 6f 72 20 32 20 74 69 6d 65 73 20 74 68 65 0a 64 69 ion.is.about.1.or.2.times.the.di
1db80 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 6c 69 6d 69 74 20 28 31 20 69 66 20 69 6e 70 75 74 20 ctionary.size.limit.(1.if.input.
1dba0 66 69 6c 65 20 73 69 7a 65 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 64 69 63 74 69 6f 6e 61 72 file.size.is.less.than.dictionar
1dbc0 79 20 73 69 7a 65 0a 6c 69 6d 69 74 2c 20 65 6c 73 65 20 32 29 20 70 6c 75 73 20 39 20 74 69 6d y.size.limit,.else.2).plus.9.tim
1dbe0 65 73 20 74 68 65 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 72 65 61 6c 6c 79 20 75 73 es.the.dictionary.size.really.us
1dc00 65 64 2e 20 54 68 65 20 6f 70 74 69 6f 6e 0a 40 73 61 6d 70 7b 2d 30 7d 20 69 73 20 73 70 65 63 ed..The.option.@samp{-0}.is.spec
1dc20 69 61 6c 20 61 6e 64 20 6f 6e 6c 79 20 72 65 71 75 69 72 65 73 20 61 62 6f 75 74 20 40 77 7b 31 ial.and.only.requires.about.@w{1
1dc40 2e 35 20 4d 69 42 7d 20 61 74 20 6d 6f 73 74 2e 20 54 68 65 0a 61 6d 6f 75 6e 74 20 6f 66 20 6d .5.MiB}.at.most..The.amount.of.m
1dc60 65 6d 6f 72 79 20 72 65 71 75 69 72 65 64 20 66 6f 72 20 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e emory.required.for.decompression
1dc80 20 69 73 20 61 62 6f 75 74 20 40 77 7b 34 36 20 6b 42 7d 20 6c 61 72 67 65 72 0a 74 68 61 6e 20 .is.about.@w{46.kB}.larger.than.
1dca0 74 68 65 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 72 65 61 6c 6c 79 20 75 73 65 64 2e the.dictionary.size.really.used.
1dcc0 0a 0a 57 68 65 6e 20 63 6f 6d 70 72 65 73 73 69 6e 67 2c 20 6c 7a 69 70 20 72 65 70 6c 61 63 65 ..When.compressing,.lzip.replace
1dce0 73 20 65 76 65 72 79 20 66 69 6c 65 20 67 69 76 65 6e 20 69 6e 20 74 68 65 20 63 6f 6d 6d 61 6e s.every.file.given.in.the.comman
1dd00 64 20 6c 69 6e 65 0a 77 69 74 68 20 61 20 63 6f 6d 70 72 65 73 73 65 64 20 76 65 72 73 69 6f 6e d.line.with.a.compressed.version
1dd20 20 6f 66 20 69 74 73 65 6c 66 2c 20 77 69 74 68 20 74 68 65 20 6e 61 6d 65 20 22 6f 72 69 67 69 .of.itself,.with.the.name."origi
1dd40 6e 61 6c 5f 6e 61 6d 65 2e 6c 7a 22 2e 0a 57 68 65 6e 20 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 nal_name.lz"..When.decompressing
1dd60 2c 20 6c 7a 69 70 20 61 74 74 65 6d 70 74 73 20 74 6f 20 67 75 65 73 73 20 74 68 65 20 6e 61 6d ,.lzip.attempts.to.guess.the.nam
1dd80 65 20 66 6f 72 20 74 68 65 20 64 65 63 6f 6d 70 72 65 73 73 65 64 0a 66 69 6c 65 20 66 72 6f 6d e.for.the.decompressed.file.from
1dda0 20 74 68 61 74 20 6f 66 20 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 20 61 73 20 .that.of.the.compressed.file.as.
1ddc0 66 6f 6c 6c 6f 77 73 3a 0a 0a 40 6d 75 6c 74 69 74 61 62 6c 65 20 7b 61 6e 79 6f 74 68 65 72 6e follows:..@multitable.{anyothern
1dde0 61 6d 65 7d 20 7b 62 65 63 6f 6d 65 73 7d 20 7b 61 6e 79 6f 74 68 65 72 6e 61 6d 65 2e 6f 75 74 ame}.{becomes}.{anyothername.out
1de00 7d 0a 40 69 74 65 6d 20 66 69 6c 65 6e 61 6d 65 2e 6c 7a 20 20 40 74 61 62 20 62 65 63 6f 6d 65 }.@item.filename.lz..@tab.become
1de20 73 20 40 74 61 62 20 66 69 6c 65 6e 61 6d 65 0a 40 69 74 65 6d 20 66 69 6c 65 6e 61 6d 65 2e 74 s.@tab.filename.@item.filename.t
1de40 6c 7a 20 40 74 61 62 20 62 65 63 6f 6d 65 73 20 40 74 61 62 20 66 69 6c 65 6e 61 6d 65 2e 74 61 lz.@tab.becomes.@tab.filename.ta
1de60 72 0a 40 69 74 65 6d 20 61 6e 79 6f 74 68 65 72 6e 61 6d 65 20 40 74 61 62 20 62 65 63 6f 6d 65 r.@item.anyothername.@tab.become
1de80 73 20 40 74 61 62 20 61 6e 79 6f 74 68 65 72 6e 61 6d 65 2e 6f 75 74 0a 40 65 6e 64 20 6d 75 6c s.@tab.anyothername.out.@end.mul
1dea0 74 69 74 61 62 6c 65 0a 0a 28 44 65 29 63 6f 6d 70 72 65 73 73 69 6e 67 20 61 20 66 69 6c 65 20 titable..(De)compressing.a.file.
1dec0 69 73 20 6d 75 63 68 20 6c 69 6b 65 20 63 6f 70 79 69 6e 67 20 6f 72 20 6d 6f 76 69 6e 67 20 69 is.much.like.copying.or.moving.i
1dee0 74 3b 20 74 68 65 72 65 66 6f 72 65 20 6c 7a 69 70 0a 70 72 65 73 65 72 76 65 73 20 74 68 65 20 t;.therefore.lzip.preserves.the.
1df00 61 63 63 65 73 73 20 61 6e 64 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 64 61 74 65 73 2c 20 70 access.and.modification.dates,.p
1df20 65 72 6d 69 73 73 69 6f 6e 73 2c 20 61 6e 64 2c 20 77 68 65 6e 0a 70 6f 73 73 69 62 6c 65 2c 20 ermissions,.and,.when.possible,.
1df40 6f 77 6e 65 72 73 68 69 70 20 6f 66 20 74 68 65 20 66 69 6c 65 20 6a 75 73 74 20 61 73 20 22 63 ownership.of.the.file.just.as."c
1df60 70 20 2d 70 22 20 64 6f 65 73 2e 20 28 49 66 20 74 68 65 20 75 73 65 72 20 49 44 20 6f 72 0a 74 p.-p".does..(If.the.user.ID.or.t
1df80 68 65 20 67 72 6f 75 70 20 49 44 20 63 61 6e 27 74 20 62 65 20 64 75 70 6c 69 63 61 74 65 64 2c he.group.ID.can't.be.duplicated,
1dfa0 20 74 68 65 20 66 69 6c 65 20 70 65 72 6d 69 73 73 69 6f 6e 20 62 69 74 73 20 53 5f 49 53 55 49 .the.file.permission.bits.S_ISUI
1dfc0 44 20 61 6e 64 0a 53 5f 49 53 47 49 44 20 61 72 65 20 63 6c 65 61 72 65 64 29 2e 0a 0a 4c 7a 69 D.and.S_ISGID.are.cleared)...Lzi
1dfe0 70 20 69 73 20 61 62 6c 65 20 74 6f 20 72 65 61 64 20 66 72 6f 6d 20 73 6f 6d 65 20 74 79 70 65 p.is.able.to.read.from.some.type
1e000 73 20 6f 66 20 6e 6f 6e 20 72 65 67 75 6c 61 72 20 66 69 6c 65 73 20 69 66 20 74 68 65 0a 40 73 s.of.non.regular.files.if.the.@s
1e020 61 6d 70 7b 2d 2d 73 74 64 6f 75 74 7d 20 6f 70 74 69 6f 6e 20 69 73 20 73 70 65 63 69 66 69 65 amp{--stdout}.option.is.specifie
1e040 64 2e 0a 0a 49 66 20 6e 6f 20 66 69 6c 65 20 6e 61 6d 65 73 20 61 72 65 20 73 70 65 63 69 66 69 d...If.no.file.names.are.specifi
1e060 65 64 2c 20 6c 7a 69 70 20 63 6f 6d 70 72 65 73 73 65 73 20 28 6f 72 20 64 65 63 6f 6d 70 72 65 ed,.lzip.compresses.(or.decompre
1e080 73 73 65 73 29 20 66 72 6f 6d 0a 73 74 61 6e 64 61 72 64 20 69 6e 70 75 74 20 74 6f 20 73 74 61 sses).from.standard.input.to.sta
1e0a0 6e 64 61 72 64 20 6f 75 74 70 75 74 2e 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 6c 7a 69 70 ndard.output..In.this.case,.lzip
1e0c0 20 77 69 6c 6c 20 64 65 63 6c 69 6e 65 20 74 6f 0a 77 72 69 74 65 20 63 6f 6d 70 72 65 73 73 65 .will.decline.to.write.compresse
1e0e0 64 20 6f 75 74 70 75 74 20 74 6f 20 61 20 74 65 72 6d 69 6e 61 6c 2c 20 61 73 20 74 68 69 73 20 d.output.to.a.terminal,.as.this.
1e100 77 6f 75 6c 64 20 62 65 20 65 6e 74 69 72 65 6c 79 0a 69 6e 63 6f 6d 70 72 65 68 65 6e 73 69 62 would.be.entirely.incomprehensib
1e120 6c 65 20 61 6e 64 20 74 68 65 72 65 66 6f 72 65 20 70 6f 69 6e 74 6c 65 73 73 2e 0a 0a 4c 7a 69 le.and.therefore.pointless...Lzi
1e140 70 20 77 69 6c 6c 20 63 6f 72 72 65 63 74 6c 79 20 64 65 63 6f 6d 70 72 65 73 73 20 61 20 66 69 p.will.correctly.decompress.a.fi
1e160 6c 65 20 77 68 69 63 68 20 69 73 20 74 68 65 20 63 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 20 6f 66 le.which.is.the.concatenation.of
1e180 20 74 77 6f 0a 6f 72 20 6d 6f 72 65 20 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 73 2e 20 54 .two.or.more.compressed.files..T
1e1a0 68 65 20 72 65 73 75 6c 74 20 69 73 20 74 68 65 20 63 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 20 6f he.result.is.the.concatenation.o
1e1c0 66 20 74 68 65 0a 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 64 65 63 6f 6d 70 72 65 73 73 65 64 f.the.corresponding.decompressed
1e1e0 20 66 69 6c 65 73 2e 20 49 6e 74 65 67 72 69 74 79 20 74 65 73 74 69 6e 67 20 6f 66 20 63 6f 6e .files..Integrity.testing.of.con
1e200 63 61 74 65 6e 61 74 65 64 0a 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 73 20 69 73 20 61 6c catenated.compressed.files.is.al
1e220 73 6f 20 73 75 70 70 6f 72 74 65 64 2e 0a 0a 4c 7a 69 70 20 63 61 6e 20 70 72 6f 64 75 63 65 20 so.supported...Lzip.can.produce.
1e240 6d 75 6c 74 69 6d 65 6d 62 65 72 20 66 69 6c 65 73 2c 20 61 6e 64 20 6c 7a 69 70 72 65 63 6f 76 multimember.files,.and.lziprecov
1e260 65 72 20 63 61 6e 20 73 61 66 65 6c 79 20 72 65 63 6f 76 65 72 0a 74 68 65 20 75 6e 64 61 6d 61 er.can.safely.recover.the.undama
1e280 67 65 64 20 6d 65 6d 62 65 72 73 20 69 6e 20 63 61 73 65 20 6f 66 20 66 69 6c 65 20 64 61 6d 61 ged.members.in.case.of.file.dama
1e2a0 67 65 2e 20 4c 7a 69 70 20 63 61 6e 20 61 6c 73 6f 20 73 70 6c 69 74 20 74 68 65 0a 63 6f 6d 70 ge..Lzip.can.also.split.the.comp
1e2c0 72 65 73 73 65 64 20 6f 75 74 70 75 74 20 69 6e 20 76 6f 6c 75 6d 65 73 20 6f 66 20 61 20 67 69 ressed.output.in.volumes.of.a.gi
1e2e0 76 65 6e 20 73 69 7a 65 2c 20 65 76 65 6e 20 77 68 65 6e 20 72 65 61 64 69 6e 67 20 66 72 6f 6d ven.size,.even.when.reading.from
1e300 0a 73 74 61 6e 64 61 72 64 20 69 6e 70 75 74 2e 20 54 68 69 73 20 61 6c 6c 6f 77 73 20 74 68 65 .standard.input..This.allows.the
1e320 20 64 69 72 65 63 74 20 63 72 65 61 74 69 6f 6e 20 6f 66 20 6d 75 6c 74 69 76 6f 6c 75 6d 65 0a .direct.creation.of.multivolume.
1e340 63 6f 6d 70 72 65 73 73 65 64 20 74 61 72 20 61 72 63 68 69 76 65 73 2e 0a 0a 4c 7a 69 70 20 69 compressed.tar.archives...Lzip.i
1e360 73 20 61 62 6c 65 20 74 6f 20 63 6f 6d 70 72 65 73 73 20 61 6e 64 20 64 65 63 6f 6d 70 72 65 73 s.able.to.compress.and.decompres
1e380 73 20 73 74 72 65 61 6d 73 20 6f 66 20 75 6e 6c 69 6d 69 74 65 64 20 73 69 7a 65 20 62 79 0a 61 s.streams.of.unlimited.size.by.a
1e3a0 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 63 72 65 61 74 69 6e 67 20 6d 75 6c 74 69 6d 65 6d 62 65 utomatically.creating.multimembe
1e3c0 72 20 6f 75 74 70 75 74 2e 20 54 68 65 20 6d 65 6d 62 65 72 73 20 73 6f 20 63 72 65 61 74 65 64 r.output..The.members.so.created
1e3e0 20 61 72 65 0a 6c 61 72 67 65 2c 20 61 62 6f 75 74 20 40 77 7b 32 20 50 69 42 7d 20 65 61 63 68 .are.large,.about.@w{2.PiB}.each
1e400 2e 0a 0a 0a 40 6e 6f 64 65 20 4f 75 74 70 75 74 0a 40 63 68 61 70 74 65 72 20 4d 65 61 6e 69 6e ....@node.Output.@chapter.Meanin
1e420 67 20 6f 66 20 6c 7a 69 70 27 73 20 6f 75 74 70 75 74 0a 40 63 69 6e 64 65 78 20 6f 75 74 70 75 g.of.lzip's.output.@cindex.outpu
1e440 74 0a 0a 54 68 65 20 6f 75 74 70 75 74 20 6f 66 20 6c 7a 69 70 20 6c 6f 6f 6b 73 20 6c 69 6b 65 t..The.output.of.lzip.looks.like
1e460 20 74 68 69 73 3a 0a 0a 40 65 78 61 6d 70 6c 65 0a 6c 7a 69 70 20 2d 76 20 66 6f 6f 0a 20 20 66 .this:..@example.lzip.-v.foo...f
1e480 6f 6f 3a 20 20 36 2e 36 37 36 3a 31 2c 20 31 34 2e 39 38 25 20 72 61 74 69 6f 2c 20 38 35 2e 30 oo:..6.676:1,.14.98%.ratio,.85.0
1e4a0 32 25 20 73 61 76 65 64 2c 20 34 35 30 35 36 30 20 69 6e 2c 20 36 37 34 39 33 20 6f 75 74 2e 0a 2%.saved,.450560.in,.67493.out..
1e4c0 0a 6c 7a 69 70 20 2d 74 76 76 20 66 6f 6f 2e 6c 7a 0a 20 20 66 6f 6f 2e 6c 7a 3a 20 20 36 2e 36 .lzip.-tvv.foo.lz...foo.lz:..6.6
1e4e0 37 36 3a 31 2c 20 31 34 2e 39 38 25 20 72 61 74 69 6f 2c 20 38 35 2e 30 32 25 20 73 61 76 65 64 76:1,.14.98%.ratio,.85.02%.saved
1e500 2e 20 20 6f 6b 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 0a 54 68 65 20 6d 65 61 6e 69 6e 67 20 ...ok.@end.example..The.meaning.
1e520 6f 66 20 65 61 63 68 20 66 69 65 6c 64 20 69 73 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 0a 0a 40 74 of.each.field.is.as.follows:..@t
1e540 61 62 6c 65 20 40 63 6f 64 65 0a 40 69 74 65 6d 20 4e 3a 31 0a 54 68 65 20 63 6f 6d 70 72 65 73 able.@code.@item.N:1.The.compres
1e560 73 69 6f 6e 20 72 61 74 69 6f 20 40 77 7b 28 75 6e 63 6f 6d 70 72 65 73 73 65 64 5f 73 69 7a 65 sion.ratio.@w{(uncompressed_size
1e580 20 2f 20 63 6f 6d 70 72 65 73 73 65 64 5f 73 69 7a 65 29 7d 2c 20 73 68 6f 77 6e 0a 61 73 20 4e ./.compressed_size)},.shown.as.N
1e5a0 20 74 6f 20 31 2e 0a 0a 40 69 74 65 6d 20 72 61 74 69 6f 0a 54 68 65 20 69 6e 76 65 72 73 65 20 .to.1...@item.ratio.The.inverse.
1e5c0 63 6f 6d 70 72 65 73 73 69 6f 6e 20 72 61 74 69 6f 20 40 77 7b 28 63 6f 6d 70 72 65 73 73 65 64 compression.ratio.@w{(compressed
1e5e0 5f 73 69 7a 65 20 2f 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 5f 73 69 7a 65 29 7d 2c 0a 73 68 6f _size./.uncompressed_size)},.sho
1e600 77 6e 20 61 73 20 61 20 70 65 72 63 65 6e 74 61 67 65 2e 20 41 20 64 65 63 69 6d 61 6c 20 72 61 wn.as.a.percentage..A.decimal.ra
1e620 74 69 6f 20 69 73 20 65 61 73 69 6c 79 20 6f 62 74 61 69 6e 65 64 20 62 79 20 6d 6f 76 69 6e 67 tio.is.easily.obtained.by.moving
1e640 20 74 68 65 0a 64 65 63 69 6d 61 6c 20 70 6f 69 6e 74 20 74 77 6f 20 70 6c 61 63 65 73 20 74 6f .the.decimal.point.two.places.to
1e660 20 74 68 65 20 6c 65 66 74 3b 20 40 77 7b 31 34 2e 39 38 25 20 3d 20 30 2e 31 34 39 38 7d 2e 0a .the.left;.@w{14.98%.=.0.1498}..
1e680 0a 40 69 74 65 6d 20 73 61 76 65 64 0a 54 68 65 20 73 70 61 63 65 20 73 61 76 65 64 20 62 79 20 .@item.saved.The.space.saved.by.
1e6a0 63 6f 6d 70 72 65 73 73 69 6f 6e 20 40 77 7b 28 31 20 2d 20 72 61 74 69 6f 29 7d 2c 20 73 68 6f compression.@w{(1.-.ratio)},.sho
1e6c0 77 6e 20 61 73 20 61 20 70 65 72 63 65 6e 74 61 67 65 2e 0a 0a 40 69 74 65 6d 20 69 6e 0a 54 68 wn.as.a.percentage...@item.in.Th
1e6e0 65 20 73 69 7a 65 20 6f 66 20 74 68 65 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 2e e.size.of.the.uncompressed.data.
1e700 20 57 68 65 6e 20 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 20 6f 72 20 74 65 73 74 69 6e 67 2c 20 .When.decompressing.or.testing,.
1e720 69 74 20 69 73 0a 73 68 6f 77 6e 20 61 73 20 40 63 6f 64 65 7b 64 65 63 6f 6d 70 72 65 73 73 65 it.is.shown.as.@code{decompresse
1e740 64 7d 2e 20 4e 6f 74 65 20 74 68 61 74 20 6c 7a 69 70 20 61 6c 77 61 79 73 20 70 72 69 6e 74 73 d}..Note.that.lzip.always.prints
1e760 20 74 68 65 0a 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 73 69 7a 65 20 62 65 66 6f 72 65 20 74 68 .the.uncompressed.size.before.th
1e780 65 20 63 6f 6d 70 72 65 73 73 65 64 20 73 69 7a 65 20 77 68 65 6e 20 63 6f 6d 70 72 65 73 73 69 e.compressed.size.when.compressi
1e7a0 6e 67 2c 0a 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 2c 20 74 65 73 74 69 6e 67 20 6f 72 20 6c 69 ng,.decompressing,.testing.or.li
1e7c0 73 74 69 6e 67 2e 0a 0a 40 69 74 65 6d 20 6f 75 74 0a 54 68 65 20 73 69 7a 65 20 6f 66 20 74 68 sting...@item.out.The.size.of.th
1e7e0 65 20 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 2e 20 57 68 65 6e 20 64 65 63 6f 6d 70 72 65 e.compressed.data..When.decompre
1e800 73 73 69 6e 67 20 6f 72 20 74 65 73 74 69 6e 67 2c 20 69 74 20 69 73 0a 73 68 6f 77 6e 20 61 73 ssing.or.testing,.it.is.shown.as
1e820 20 40 63 6f 64 65 7b 63 6f 6d 70 72 65 73 73 65 64 7d 2e 0a 0a 40 65 6e 64 20 74 61 62 6c 65 0a .@code{compressed}...@end.table.
1e840 0a 57 68 65 6e 20 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 20 6f 72 20 74 65 73 74 69 6e 67 20 61 .When.decompressing.or.testing.a
1e860 74 20 76 65 72 62 6f 73 69 74 79 20 6c 65 76 65 6c 20 34 20 28 2d 76 76 76 76 29 2c 20 74 68 65 t.verbosity.level.4.(-vvvv),.the
1e880 0a 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 75 73 65 64 20 74 6f 20 63 6f 6d 70 72 65 73 .dictionary.size.used.to.compres
1e8a0 73 20 74 68 65 20 66 69 6c 65 20 61 6e 64 20 74 68 65 20 43 52 43 33 32 20 6f 66 20 74 68 65 0a s.the.file.and.the.CRC32.of.the.
1e8c0 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 20 61 72 65 20 61 6c 73 6f 20 73 68 6f 77 6e uncompressed.data.are.also.shown
1e8e0 2e 0a 0a 4c 41 4e 47 55 41 47 45 20 4e 4f 54 45 3a 20 55 6e 63 6f 6d 70 72 65 73 73 65 64 20 3d ...LANGUAGE.NOTE:.Uncompressed.=
1e900 20 6e 6f 74 20 63 6f 6d 70 72 65 73 73 65 64 20 3d 20 70 6c 61 69 6e 20 64 61 74 61 3b 20 69 74 .not.compressed.=.plain.data;.it
1e920 20 6d 61 79 20 6e 65 76 65 72 0a 68 61 76 65 20 62 65 65 6e 20 63 6f 6d 70 72 65 73 73 65 64 2e .may.never.have.been.compressed.
1e940 20 44 65 63 6f 6d 70 72 65 73 73 65 64 20 69 73 20 75 73 65 64 20 74 6f 20 72 65 66 65 72 20 74 .Decompressed.is.used.to.refer.t
1e960 6f 20 64 61 74 61 20 77 68 69 63 68 20 68 61 76 65 0a 75 6e 64 65 72 67 6f 6e 65 20 74 68 65 20 o.data.which.have.undergone.the.
1e980 70 72 6f 63 65 73 73 20 6f 66 20 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 2e 0a 0a 0a 40 6e 6f 64 process.of.decompression....@nod
1e9a0 65 20 49 6e 76 6f 6b 69 6e 67 20 6c 7a 69 70 0a 40 63 68 61 70 74 65 72 20 49 6e 76 6f 6b 69 6e e.Invoking.lzip.@chapter.Invokin
1e9c0 67 20 6c 7a 69 70 0a 40 63 69 6e 64 65 78 20 69 6e 76 6f 6b 69 6e 67 0a 40 63 69 6e 64 65 78 20 g.lzip.@cindex.invoking.@cindex.
1e9e0 6f 70 74 69 6f 6e 73 0a 40 63 69 6e 64 65 78 20 75 73 61 67 65 0a 40 63 69 6e 64 65 78 20 76 65 options.@cindex.usage.@cindex.ve
1ea00 72 73 69 6f 6e 0a 0a 54 68 65 20 66 6f 72 6d 61 74 20 66 6f 72 20 72 75 6e 6e 69 6e 67 20 6c 7a rsion..The.format.for.running.lz
1ea20 69 70 20 69 73 3a 0a 0a 40 65 78 61 6d 70 6c 65 0a 6c 7a 69 70 20 5b 40 76 61 72 7b 6f 70 74 69 ip.is:..@example.lzip.[@var{opti
1ea40 6f 6e 73 7d 5d 20 5b 40 76 61 72 7b 66 69 6c 65 73 7d 5d 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 ons}].[@var{files}].@end.example
1ea60 0a 0a 40 6e 6f 69 6e 64 65 6e 74 0a 40 73 61 6d 70 7b 2d 7d 20 75 73 65 64 20 61 73 20 61 20 40 ..@noindent.@samp{-}.used.as.a.@
1ea80 76 61 72 7b 66 69 6c 65 7d 20 61 72 67 75 6d 65 6e 74 20 6d 65 61 6e 73 20 73 74 61 6e 64 61 72 var{file}.argument.means.standar
1eaa0 64 20 69 6e 70 75 74 2e 20 49 74 20 63 61 6e 20 62 65 0a 6d 69 78 65 64 20 77 69 74 68 20 6f 74 d.input..It.can.be.mixed.with.ot
1eac0 68 65 72 20 40 76 61 72 7b 66 69 6c 65 73 7d 20 61 6e 64 20 69 73 20 72 65 61 64 20 6a 75 73 74 her.@var{files}.and.is.read.just
1eae0 20 6f 6e 63 65 2c 20 74 68 65 20 66 69 72 73 74 20 74 69 6d 65 20 69 74 0a 61 70 70 65 61 72 73 .once,.the.first.time.it.appears
1eb00 20 69 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 2e 0a 0a 6c 7a 69 70 20 73 75 70 70 .in.the.command.line...lzip.supp
1eb20 6f 72 74 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6f 70 74 69 6f 6e 73 3a 0a 0a 40 74 61 orts.the.following.options:..@ta
1eb40 62 6c 65 20 40 63 6f 64 65 0a 40 69 74 65 6d 20 2d 68 0a 40 69 74 65 6d 78 20 2d 2d 68 65 6c 70 ble.@code.@item.-h.@itemx.--help
1eb60 0a 50 72 69 6e 74 20 61 6e 20 69 6e 66 6f 72 6d 61 74 69 76 65 20 68 65 6c 70 20 6d 65 73 73 61 .Print.an.informative.help.messa
1eb80 67 65 20 64 65 73 63 72 69 62 69 6e 67 20 74 68 65 20 6f 70 74 69 6f 6e 73 20 61 6e 64 20 65 78 ge.describing.the.options.and.ex
1eba0 69 74 2e 0a 0a 40 69 74 65 6d 20 2d 56 0a 40 69 74 65 6d 78 20 2d 2d 76 65 72 73 69 6f 6e 0a 50 it...@item.-V.@itemx.--version.P
1ebc0 72 69 6e 74 20 74 68 65 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 20 6f 66 20 6c 7a 69 70 20 rint.the.version.number.of.lzip.
1ebe0 6f 6e 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 20 61 6e 64 20 65 78 69 74 2e on.the.standard.output.and.exit.
1ec00 0a 0a 40 61 6e 63 68 6f 72 7b 2d 2d 74 72 61 69 6c 69 6e 67 2d 65 72 72 6f 72 7d 0a 40 69 74 65 ..@anchor{--trailing-error}.@ite
1ec20 6d 20 2d 61 0a 40 69 74 65 6d 78 20 2d 2d 74 72 61 69 6c 69 6e 67 2d 65 72 72 6f 72 0a 45 78 69 m.-a.@itemx.--trailing-error.Exi
1ec40 74 20 77 69 74 68 20 65 72 72 6f 72 20 73 74 61 74 75 73 20 32 20 69 66 20 61 6e 79 20 72 65 6d t.with.error.status.2.if.any.rem
1ec60 61 69 6e 69 6e 67 20 69 6e 70 75 74 20 69 73 20 64 65 74 65 63 74 65 64 20 61 66 74 65 72 0a 64 aining.input.is.detected.after.d
1ec80 65 63 6f 6d 70 72 65 73 73 69 6e 67 20 74 68 65 20 6c 61 73 74 20 6d 65 6d 62 65 72 2e 20 53 75 ecompressing.the.last.member..Su
1eca0 63 68 20 72 65 6d 61 69 6e 69 6e 67 20 69 6e 70 75 74 20 69 73 20 75 73 75 61 6c 6c 79 20 74 72 ch.remaining.input.is.usually.tr
1ecc0 61 69 6c 69 6e 67 0a 67 61 72 62 61 67 65 20 74 68 61 74 20 63 61 6e 20 62 65 20 73 61 66 65 6c ailing.garbage.that.can.be.safel
1ece0 79 20 69 67 6e 6f 72 65 64 2e 20 40 78 72 65 66 7b 63 6f 6e 63 61 74 2d 65 78 61 6d 70 6c 65 7d y.ignored..@xref{concat-example}
1ed00 2e 0a 0a 40 69 74 65 6d 20 2d 62 20 40 76 61 72 7b 62 79 74 65 73 7d 0a 40 69 74 65 6d 78 20 2d ...@item.-b.@var{bytes}.@itemx.-
1ed20 2d 6d 65 6d 62 65 72 2d 73 69 7a 65 3d 40 76 61 72 7b 62 79 74 65 73 7d 0a 57 68 65 6e 20 63 6f -member-size=@var{bytes}.When.co
1ed40 6d 70 72 65 73 73 69 6e 67 2c 20 73 65 74 20 74 68 65 20 6d 65 6d 62 65 72 20 73 69 7a 65 20 6c mpressing,.set.the.member.size.l
1ed60 69 6d 69 74 20 74 6f 20 40 76 61 72 7b 62 79 74 65 73 7d 2e 20 41 20 73 6d 61 6c 6c 0a 6d 65 6d imit.to.@var{bytes}..A.small.mem
1ed80 62 65 72 20 73 69 7a 65 20 6d 61 79 20 64 65 67 72 61 64 65 20 63 6f 6d 70 72 65 73 73 69 6f 6e ber.size.may.degrade.compression
1eda0 20 72 61 74 69 6f 2c 20 73 6f 20 75 73 65 20 69 74 20 6f 6e 6c 79 20 77 68 65 6e 20 6e 65 65 64 .ratio,.so.use.it.only.when.need
1edc0 65 64 2e 0a 56 61 6c 69 64 20 76 61 6c 75 65 73 20 72 61 6e 67 65 20 66 72 6f 6d 20 40 77 7b 31 ed..Valid.values.range.from.@w{1
1ede0 30 30 20 6b 42 7d 20 74 6f 20 40 77 7b 32 20 50 69 42 7d 2e 20 44 65 66 61 75 6c 74 73 20 74 6f 00.kB}.to.@w{2.PiB}..Defaults.to
1ee00 20 40 77 7b 32 20 50 69 42 7d 2e 0a 0a 40 69 74 65 6d 20 2d 63 0a 40 69 74 65 6d 78 20 2d 2d 73 .@w{2.PiB}...@item.-c.@itemx.--s
1ee20 74 64 6f 75 74 0a 43 6f 6d 70 72 65 73 73 20 6f 72 20 64 65 63 6f 6d 70 72 65 73 73 20 74 6f 20 tdout.Compress.or.decompress.to.
1ee40 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 3b 20 6b 65 65 70 20 69 6e 70 75 74 20 66 69 6c 65 standard.output;.keep.input.file
1ee60 73 20 75 6e 63 68 61 6e 67 65 64 2e 0a 49 66 20 63 6f 6d 70 72 65 73 73 69 6e 67 20 73 65 76 65 s.unchanged..If.compressing.seve
1ee80 72 61 6c 20 66 69 6c 65 73 2c 20 65 61 63 68 20 66 69 6c 65 20 69 73 20 63 6f 6d 70 72 65 73 73 ral.files,.each.file.is.compress
1eea0 65 64 20 69 6e 64 65 70 65 6e 64 65 6e 74 6c 79 2e 0a 54 68 69 73 20 6f 70 74 69 6f 6e 20 69 73 ed.independently..This.option.is
1eec0 20 6e 65 65 64 65 64 20 77 68 65 6e 20 72 65 61 64 69 6e 67 20 66 72 6f 6d 20 61 20 6e 61 6d 65 .needed.when.reading.from.a.name
1eee0 64 20 70 69 70 65 20 28 66 69 66 6f 29 20 6f 72 20 66 72 6f 6d 20 61 0a 64 65 76 69 63 65 2e 20 d.pipe.(fifo).or.from.a.device..
1ef00 55 73 65 20 69 74 20 61 6c 73 6f 20 74 6f 20 72 65 63 6f 76 65 72 20 61 73 20 6d 75 63 68 20 6f Use.it.also.to.recover.as.much.o
1ef20 66 20 74 68 65 20 64 65 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 20 61 73 0a 70 6f 73 73 69 f.the.decompressed.data.as.possi
1ef40 62 6c 65 20 77 68 65 6e 20 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 20 61 20 63 6f 72 72 75 70 74 ble.when.decompressing.a.corrupt
1ef60 20 66 69 6c 65 2e 0a 0a 40 69 74 65 6d 20 2d 64 0a 40 69 74 65 6d 78 20 2d 2d 64 65 63 6f 6d 70 .file...@item.-d.@itemx.--decomp
1ef80 72 65 73 73 0a 44 65 63 6f 6d 70 72 65 73 73 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 66 69 ress.Decompress.the.specified.fi
1efa0 6c 65 73 2e 20 49 66 20 61 20 66 69 6c 65 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 20 6f 72 les..If.a.file.does.not.exist.or
1efc0 20 63 61 6e 27 74 20 62 65 0a 6f 70 65 6e 65 64 2c 20 6c 7a 69 70 20 63 6f 6e 74 69 6e 75 65 73 .can't.be.opened,.lzip.continues
1efe0 20 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 20 74 68 65 20 72 65 73 74 20 6f 66 20 74 68 65 20 66 .decompressing.the.rest.of.the.f
1f000 69 6c 65 73 2e 20 49 66 20 61 20 66 69 6c 65 0a 66 61 69 6c 73 20 74 6f 20 64 65 63 6f 6d 70 72 iles..If.a.file.fails.to.decompr
1f020 65 73 73 2c 20 6f 72 20 69 73 20 61 20 74 65 72 6d 69 6e 61 6c 2c 20 6c 7a 69 70 20 65 78 69 74 ess,.or.is.a.terminal,.lzip.exit
1f040 73 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 77 69 74 68 6f 75 74 0a 64 65 63 6f 6d 70 72 65 73 73 s.immediately.without.decompress
1f060 69 6e 67 20 74 68 65 20 72 65 73 74 20 6f 66 20 74 68 65 20 66 69 6c 65 73 2e 0a 0a 40 69 74 65 ing.the.rest.of.the.files...@ite
1f080 6d 20 2d 66 0a 40 69 74 65 6d 78 20 2d 2d 66 6f 72 63 65 0a 46 6f 72 63 65 20 6f 76 65 72 77 72 m.-f.@itemx.--force.Force.overwr
1f0a0 69 74 65 20 6f 66 20 6f 75 74 70 75 74 20 66 69 6c 65 73 2e 0a 0a 40 69 74 65 6d 20 2d 46 0a 40 ite.of.output.files...@item.-F.@
1f0c0 69 74 65 6d 78 20 2d 2d 72 65 63 6f 6d 70 72 65 73 73 0a 57 68 65 6e 20 63 6f 6d 70 72 65 73 73 itemx.--recompress.When.compress
1f0e0 69 6e 67 2c 20 66 6f 72 63 65 20 72 65 2d 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6f 66 20 66 69 6c ing,.force.re-compression.of.fil
1f100 65 73 20 77 68 6f 73 65 20 6e 61 6d 65 20 61 6c 72 65 61 64 79 20 68 61 73 0a 74 68 65 20 40 73 es.whose.name.already.has.the.@s
1f120 61 6d 70 7b 2e 6c 7a 7d 20 6f 72 20 40 73 61 6d 70 7b 2e 74 6c 7a 7d 20 73 75 66 66 69 78 2e 0a amp{.lz}.or.@samp{.tlz}.suffix..
1f140 0a 40 69 74 65 6d 20 2d 6b 0a 40 69 74 65 6d 78 20 2d 2d 6b 65 65 70 0a 4b 65 65 70 20 28 64 6f .@item.-k.@itemx.--keep.Keep.(do
1f160 6e 27 74 20 64 65 6c 65 74 65 29 20 69 6e 70 75 74 20 66 69 6c 65 73 20 64 75 72 69 6e 67 20 63 n't.delete).input.files.during.c
1f180 6f 6d 70 72 65 73 73 69 6f 6e 20 6f 72 20 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 2e 0a 0a 40 69 ompression.or.decompression...@i
1f1a0 74 65 6d 20 2d 6c 0a 40 69 74 65 6d 78 20 2d 2d 6c 69 73 74 0a 50 72 69 6e 74 20 74 68 65 20 75 tem.-l.@itemx.--list.Print.the.u
1f1c0 6e 63 6f 6d 70 72 65 73 73 65 64 20 73 69 7a 65 2c 20 63 6f 6d 70 72 65 73 73 65 64 20 73 69 7a ncompressed.size,.compressed.siz
1f1e0 65 20 61 6e 64 20 70 65 72 63 65 6e 74 61 67 65 20 73 61 76 65 64 20 6f 66 20 74 68 65 0a 73 70 e.and.percentage.saved.of.the.sp
1f200 65 63 69 66 69 65 64 20 66 69 6c 65 73 2e 20 54 72 61 69 6c 69 6e 67 20 64 61 74 61 20 61 72 65 ecified.files..Trailing.data.are
1f220 20 69 67 6e 6f 72 65 64 2e 20 54 68 65 20 76 61 6c 75 65 73 20 70 72 6f 64 75 63 65 64 20 61 72 .ignored..The.values.produced.ar
1f240 65 0a 63 6f 72 72 65 63 74 20 65 76 65 6e 20 66 6f 72 20 6d 75 6c 74 69 6d 65 6d 62 65 72 20 66 e.correct.even.for.multimember.f
1f260 69 6c 65 73 2e 20 49 66 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 66 69 6c 65 20 69 73 20 67 iles..If.more.than.one.file.is.g
1f280 69 76 65 6e 2c 20 61 0a 66 69 6e 61 6c 20 6c 69 6e 65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 iven,.a.final.line.containing.th
1f2a0 65 20 63 75 6d 75 6c 61 74 69 76 65 20 73 69 7a 65 73 20 69 73 20 70 72 69 6e 74 65 64 2e 20 57 e.cumulative.sizes.is.printed..W
1f2c0 69 74 68 20 40 73 61 6d 70 7b 2d 76 7d 2c 0a 74 68 65 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 ith.@samp{-v},.the.dictionary.si
1f2e0 7a 65 2c 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 6d 65 6d 62 65 72 73 20 69 6e 20 74 68 65 ze,.the.number.of.members.in.the
1f300 20 66 69 6c 65 2c 20 61 6e 64 20 74 68 65 20 61 6d 6f 75 6e 74 0a 6f 66 20 74 72 61 69 6c 69 6e .file,.and.the.amount.of.trailin
1f320 67 20 64 61 74 61 20 28 69 66 20 61 6e 79 29 20 61 72 65 20 61 6c 73 6f 20 70 72 69 6e 74 65 64 g.data.(if.any).are.also.printed
1f340 2e 20 57 69 74 68 20 40 73 61 6d 70 7b 2d 76 76 7d 2c 20 74 68 65 0a 70 6f 73 69 74 69 6f 6e 73 ..With.@samp{-vv},.the.positions
1f360 20 61 6e 64 20 73 69 7a 65 73 20 6f 66 20 65 61 63 68 20 6d 65 6d 62 65 72 20 69 6e 20 6d 75 6c .and.sizes.of.each.member.in.mul
1f380 74 69 6d 65 6d 62 65 72 20 66 69 6c 65 73 20 61 72 65 20 61 6c 73 6f 0a 70 72 69 6e 74 65 64 2e timember.files.are.also.printed.
1f3a0 20 40 73 61 6d 70 7b 2d 6c 71 7d 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 76 65 72 69 66 .@samp{-lq}.can.be.used.to.verif
1f3c0 79 20 71 75 69 63 6b 6c 79 20 28 77 69 74 68 6f 75 74 0a 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 y.quickly.(without.decompressing
1f3e0 29 20 74 68 65 20 73 74 72 75 63 74 75 72 61 6c 20 69 6e 74 65 67 72 69 74 79 20 6f 66 20 74 68 ).the.structural.integrity.of.th
1f400 65 20 73 70 65 63 69 66 69 65 64 20 66 69 6c 65 73 2e 20 28 55 73 65 0a 40 73 61 6d 70 7b 2d 2d e.specified.files..(Use.@samp{--
1f420 74 65 73 74 7d 20 74 6f 20 76 65 72 69 66 79 20 74 68 65 20 64 61 74 61 20 69 6e 74 65 67 72 69 test}.to.verify.the.data.integri
1f440 74 79 29 2e 20 40 73 61 6d 70 7b 2d 61 6c 71 7d 20 61 64 64 69 74 69 6f 6e 61 6c 6c 79 0a 76 65 ty)..@samp{-alq}.additionally.ve
1f460 72 69 66 69 65 73 20 74 68 61 74 20 6e 6f 6e 65 20 6f 66 20 74 68 65 20 73 70 65 63 69 66 69 65 rifies.that.none.of.the.specifie
1f480 64 20 66 69 6c 65 73 20 63 6f 6e 74 61 69 6e 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 2e 0a 0a d.files.contain.trailing.data...
1f4a0 40 69 74 65 6d 20 2d 6d 20 40 76 61 72 7b 62 79 74 65 73 7d 0a 40 69 74 65 6d 78 20 2d 2d 6d 61 @item.-m.@var{bytes}.@itemx.--ma
1f4c0 74 63 68 2d 6c 65 6e 67 74 68 3d 40 76 61 72 7b 62 79 74 65 73 7d 0a 57 68 65 6e 20 63 6f 6d 70 tch-length=@var{bytes}.When.comp
1f4e0 72 65 73 73 69 6e 67 2c 20 73 65 74 20 74 68 65 20 6d 61 74 63 68 20 6c 65 6e 67 74 68 20 6c 69 ressing,.set.the.match.length.li
1f500 6d 69 74 20 69 6e 20 62 79 74 65 73 2e 20 41 66 74 65 72 20 61 20 6d 61 74 63 68 0a 74 68 69 73 mit.in.bytes..After.a.match.this
1f520 20 6c 6f 6e 67 20 69 73 20 66 6f 75 6e 64 2c 20 74 68 65 20 73 65 61 72 63 68 20 69 73 20 66 69 .long.is.found,.the.search.is.fi
1f540 6e 69 73 68 65 64 2e 20 56 61 6c 69 64 20 76 61 6c 75 65 73 20 72 61 6e 67 65 20 66 72 6f 6d 20 nished..Valid.values.range.from.
1f560 35 20 74 6f 0a 32 37 33 2e 20 4c 61 72 67 65 72 20 76 61 6c 75 65 73 20 75 73 75 61 6c 6c 79 20 5.to.273..Larger.values.usually.
1f580 67 69 76 65 20 62 65 74 74 65 72 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 72 61 74 69 6f 73 20 62 give.better.compression.ratios.b
1f5a0 75 74 20 6c 6f 6e 67 65 72 0a 63 6f 6d 70 72 65 73 73 69 6f 6e 20 74 69 6d 65 73 2e 0a 0a 40 69 ut.longer.compression.times...@i
1f5c0 74 65 6d 20 2d 6f 20 40 76 61 72 7b 66 69 6c 65 7d 0a 40 69 74 65 6d 78 20 2d 2d 6f 75 74 70 75 tem.-o.@var{file}.@itemx.--outpu
1f5e0 74 3d 40 76 61 72 7b 66 69 6c 65 7d 0a 57 68 65 6e 20 72 65 61 64 69 6e 67 20 66 72 6f 6d 20 73 t=@var{file}.When.reading.from.s
1f600 74 61 6e 64 61 72 64 20 69 6e 70 75 74 20 61 6e 64 20 40 73 61 6d 70 7b 2d 2d 73 74 64 6f 75 74 tandard.input.and.@samp{--stdout
1f620 7d 20 68 61 73 20 6e 6f 74 20 62 65 65 6e 0a 73 70 65 63 69 66 69 65 64 2c 20 75 73 65 20 40 73 }.has.not.been.specified,.use.@s
1f640 61 6d 70 7b 40 76 61 72 7b 66 69 6c 65 7d 7d 20 61 73 20 74 68 65 20 76 69 72 74 75 61 6c 20 6e amp{@var{file}}.as.the.virtual.n
1f660 61 6d 65 20 6f 66 20 74 68 65 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 0a 66 69 6c 65 2e 20 54 68 ame.of.the.uncompressed.file..Th
1f680 69 73 20 70 72 6f 64 75 63 65 73 20 61 20 66 69 6c 65 20 6e 61 6d 65 64 20 40 73 61 6d 70 7b 40 is.produces.a.file.named.@samp{@
1f6a0 76 61 72 7b 66 69 6c 65 7d 7d 20 77 68 65 6e 20 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 2c 0a 6f var{file}}.when.decompressing,.o
1f6c0 72 20 61 20 66 69 6c 65 20 6e 61 6d 65 64 20 40 73 61 6d 70 7b 40 76 61 72 7b 66 69 6c 65 7d 2e r.a.file.named.@samp{@var{file}.
1f6e0 6c 7a 7d 20 77 68 65 6e 20 63 6f 6d 70 72 65 73 73 69 6e 67 2e 20 41 20 73 65 63 6f 6e 64 0a 40 lz}.when.compressing..A.second.@
1f700 73 61 6d 70 7b 2e 6c 7a 7d 20 65 78 74 65 6e 73 69 6f 6e 20 69 73 20 6e 6f 74 20 61 64 64 65 64 samp{.lz}.extension.is.not.added
1f720 20 69 66 20 40 73 61 6d 70 7b 40 76 61 72 7b 66 69 6c 65 7d 7d 20 61 6c 72 65 61 64 79 20 65 6e .if.@samp{@var{file}}.already.en
1f740 64 73 20 69 6e 0a 40 73 61 6d 70 7b 2e 6c 7a 7d 20 6f 72 20 40 73 61 6d 70 7b 2e 74 6c 7a 7d 2e ds.in.@samp{.lz}.or.@samp{.tlz}.
1f760 20 57 68 65 6e 20 63 6f 6d 70 72 65 73 73 69 6e 67 20 61 6e 64 20 73 70 6c 69 74 74 69 6e 67 20 .When.compressing.and.splitting.
1f780 74 68 65 20 6f 75 74 70 75 74 20 69 6e 0a 76 6f 6c 75 6d 65 73 2c 20 73 65 76 65 72 61 6c 20 66 the.output.in.volumes,.several.f
1f7a0 69 6c 65 73 20 6e 61 6d 65 64 20 40 73 61 6d 70 7b 40 76 61 72 7b 66 69 6c 65 7d 30 30 30 30 31 iles.named.@samp{@var{file}00001
1f7c0 2e 6c 7a 7d 2c 0a 40 73 61 6d 70 7b 40 76 61 72 7b 66 69 6c 65 7d 30 30 30 30 32 2e 6c 7a 7d 2c .lz},.@samp{@var{file}00002.lz},
1f7e0 20 65 74 63 2c 20 61 72 65 20 63 72 65 61 74 65 64 2e 0a 0a 40 69 74 65 6d 20 2d 71 0a 40 69 74 .etc,.are.created...@item.-q.@it
1f800 65 6d 78 20 2d 2d 71 75 69 65 74 0a 51 75 69 65 74 20 6f 70 65 72 61 74 69 6f 6e 2e 20 53 75 70 emx.--quiet.Quiet.operation..Sup
1f820 70 72 65 73 73 20 61 6c 6c 20 6d 65 73 73 61 67 65 73 2e 0a 0a 40 69 74 65 6d 20 2d 73 20 40 76 press.all.messages...@item.-s.@v
1f840 61 72 7b 62 79 74 65 73 7d 0a 40 69 74 65 6d 78 20 2d 2d 64 69 63 74 69 6f 6e 61 72 79 2d 73 69 ar{bytes}.@itemx.--dictionary-si
1f860 7a 65 3d 40 76 61 72 7b 62 79 74 65 73 7d 0a 57 68 65 6e 20 63 6f 6d 70 72 65 73 73 69 6e 67 2c ze=@var{bytes}.When.compressing,
1f880 20 73 65 74 20 74 68 65 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 6c 69 6d 69 74 20 69 .set.the.dictionary.size.limit.i
1f8a0 6e 20 62 79 74 65 73 2e 20 4c 7a 69 70 20 77 69 6c 6c 20 75 73 65 0a 74 68 65 20 73 6d 61 6c 6c n.bytes..Lzip.will.use.the.small
1f8c0 65 73 74 20 70 6f 73 73 69 62 6c 65 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 66 6f 72 est.possible.dictionary.size.for
1f8e0 20 65 61 63 68 20 66 69 6c 65 20 77 69 74 68 6f 75 74 20 65 78 63 65 65 64 69 6e 67 0a 74 68 69 .each.file.without.exceeding.thi
1f900 73 20 6c 69 6d 69 74 2e 20 56 61 6c 69 64 20 76 61 6c 75 65 73 20 72 61 6e 67 65 20 66 72 6f 6d s.limit..Valid.values.range.from
1f920 20 40 77 7b 34 20 4b 69 42 7d 20 74 6f 20 40 77 7b 35 31 32 20 4d 69 42 7d 2e 20 56 61 6c 75 65 .@w{4.KiB}.to.@w{512.MiB}..Value
1f940 73 20 31 32 0a 74 6f 20 32 39 20 61 72 65 20 69 6e 74 65 72 70 72 65 74 65 64 20 61 73 20 70 6f s.12.to.29.are.interpreted.as.po
1f960 77 65 72 73 20 6f 66 20 74 77 6f 2c 20 6d 65 61 6e 69 6e 67 20 32 5e 31 32 20 74 6f 20 32 5e 32 wers.of.two,.meaning.2^12.to.2^2
1f980 39 20 62 79 74 65 73 2e 20 4e 6f 74 65 0a 74 68 61 74 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 9.bytes..Note.that.dictionary.si
1f9a0 7a 65 73 20 61 72 65 20 71 75 61 6e 74 69 7a 65 64 2e 20 49 66 20 74 68 65 20 73 70 65 63 69 66 zes.are.quantized..If.the.specif
1f9c0 69 65 64 20 73 69 7a 65 20 64 6f 65 73 20 6e 6f 74 0a 6d 61 74 63 68 20 6f 6e 65 20 6f 66 20 74 ied.size.does.not.match.one.of.t
1f9e0 68 65 20 76 61 6c 69 64 20 73 69 7a 65 73 2c 20 69 74 20 77 69 6c 6c 20 62 65 20 72 6f 75 6e 64 he.valid.sizes,.it.will.be.round
1fa00 65 64 20 75 70 77 61 72 64 73 20 62 79 20 61 64 64 69 6e 67 20 75 70 20 74 6f 0a 40 77 7b 28 40 ed.upwards.by.adding.up.to.@w{(@
1fa20 76 61 72 7b 62 79 74 65 73 7d 20 2f 20 38 29 7d 20 74 6f 20 69 74 2e 0a 0a 46 6f 72 20 6d 61 78 var{bytes}./.8)}.to.it...For.max
1fa40 69 6d 75 6d 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 79 6f 75 20 73 68 6f 75 6c 64 20 75 73 65 20 imum.compression.you.should.use.
1fa60 61 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 6c 69 6d 69 74 20 61 73 20 6c 61 72 67 65 a.dictionary.size.limit.as.large
1fa80 0a 61 73 20 70 6f 73 73 69 62 6c 65 2c 20 62 75 74 20 6b 65 65 70 20 69 6e 20 6d 69 6e 64 20 74 .as.possible,.but.keep.in.mind.t
1faa0 68 61 74 20 74 68 65 20 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6d 65 6d 6f 72 79 20 72 65 71 hat.the.decompression.memory.req
1fac0 75 69 72 65 6d 65 6e 74 0a 69 73 20 61 66 66 65 63 74 65 64 20 61 74 20 63 6f 6d 70 72 65 73 73 uirement.is.affected.at.compress
1fae0 69 6f 6e 20 74 69 6d 65 20 62 79 20 74 68 65 20 63 68 6f 69 63 65 20 6f 66 20 64 69 63 74 69 6f ion.time.by.the.choice.of.dictio
1fb00 6e 61 72 79 20 73 69 7a 65 20 6c 69 6d 69 74 2e 0a 0a 40 69 74 65 6d 20 2d 53 20 40 76 61 72 7b nary.size.limit...@item.-S.@var{
1fb20 62 79 74 65 73 7d 0a 40 69 74 65 6d 78 20 2d 2d 76 6f 6c 75 6d 65 2d 73 69 7a 65 3d 40 76 61 72 bytes}.@itemx.--volume-size=@var
1fb40 7b 62 79 74 65 73 7d 0a 57 68 65 6e 20 63 6f 6d 70 72 65 73 73 69 6e 67 2c 20 73 70 6c 69 74 20 {bytes}.When.compressing,.split.
1fb60 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 20 6f 75 74 70 75 74 20 69 6e 74 6f 20 73 65 76 65 72 the.compressed.output.into.sever
1fb80 61 6c 20 76 6f 6c 75 6d 65 20 66 69 6c 65 73 0a 77 69 74 68 20 6e 61 6d 65 73 20 40 73 61 6d 70 al.volume.files.with.names.@samp
1fba0 7b 6f 72 69 67 69 6e 61 6c 5f 6e 61 6d 65 30 30 30 30 31 2e 6c 7a 7d 2c 20 40 73 61 6d 70 7b 6f {original_name00001.lz},.@samp{o
1fbc0 72 69 67 69 6e 61 6c 5f 6e 61 6d 65 30 30 30 30 32 2e 6c 7a 7d 2c 0a 65 74 63 2c 20 61 6e 64 20 riginal_name00002.lz},.etc,.and.
1fbe0 73 65 74 20 74 68 65 20 76 6f 6c 75 6d 65 20 73 69 7a 65 20 6c 69 6d 69 74 20 74 6f 20 40 76 61 set.the.volume.size.limit.to.@va
1fc00 72 7b 62 79 74 65 73 7d 2e 20 49 6e 70 75 74 20 66 69 6c 65 73 20 61 72 65 20 6b 65 70 74 0a 75 r{bytes}..Input.files.are.kept.u
1fc20 6e 63 68 61 6e 67 65 64 2e 20 45 61 63 68 20 76 6f 6c 75 6d 65 20 69 73 20 61 20 63 6f 6d 70 6c nchanged..Each.volume.is.a.compl
1fc40 65 74 65 2c 20 6d 61 79 62 65 20 6d 75 6c 74 69 6d 65 6d 62 65 72 2c 20 6c 7a 69 70 20 66 69 6c ete,.maybe.multimember,.lzip.fil
1fc60 65 2e 20 41 0a 73 6d 61 6c 6c 20 76 6f 6c 75 6d 65 20 73 69 7a 65 20 6d 61 79 20 64 65 67 72 61 e..A.small.volume.size.may.degra
1fc80 64 65 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 72 61 74 69 6f 2c 20 73 6f 20 75 73 65 20 69 74 20 de.compression.ratio,.so.use.it.
1fca0 6f 6e 6c 79 20 77 68 65 6e 0a 6e 65 65 64 65 64 2e 20 56 61 6c 69 64 20 76 61 6c 75 65 73 20 72 only.when.needed..Valid.values.r
1fcc0 61 6e 67 65 20 66 72 6f 6d 20 40 77 7b 31 30 30 20 6b 42 7d 20 74 6f 20 40 77 7b 34 20 45 69 42 ange.from.@w{100.kB}.to.@w{4.EiB
1fce0 7d 2e 0a 0a 40 69 74 65 6d 20 2d 74 0a 40 69 74 65 6d 78 20 2d 2d 74 65 73 74 0a 43 68 65 63 6b }...@item.-t.@itemx.--test.Check
1fd00 20 69 6e 74 65 67 72 69 74 79 20 6f 66 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 66 69 6c 65 .integrity.of.the.specified.file
1fd20 73 2c 20 62 75 74 20 64 6f 6e 27 74 20 64 65 63 6f 6d 70 72 65 73 73 20 74 68 65 6d 2e 20 54 68 s,.but.don't.decompress.them..Th
1fd40 69 73 0a 72 65 61 6c 6c 79 20 70 65 72 66 6f 72 6d 73 20 61 20 74 72 69 61 6c 20 64 65 63 6f 6d is.really.performs.a.trial.decom
1fd60 70 72 65 73 73 69 6f 6e 20 61 6e 64 20 74 68 72 6f 77 73 20 61 77 61 79 20 74 68 65 20 72 65 73 pression.and.throws.away.the.res
1fd80 75 6c 74 2e 20 55 73 65 20 69 74 0a 74 6f 67 65 74 68 65 72 20 77 69 74 68 20 40 73 61 6d 70 7b ult..Use.it.together.with.@samp{
1fda0 2d 76 7d 20 74 6f 20 73 65 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 -v}.to.see.information.about.the
1fdc0 20 66 69 6c 65 73 2e 20 49 66 20 61 20 66 69 6c 65 0a 66 61 69 6c 73 20 74 68 65 20 74 65 73 74 .files..If.a.file.fails.the.test
1fde0 2c 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2c 20 63 61 6e 27 74 20 62 65 20 6f 70 65 6e 65 ,.does.not.exist,.can't.be.opene
1fe00 64 2c 20 6f 72 20 69 73 20 61 20 74 65 72 6d 69 6e 61 6c 2c 20 6c 7a 69 70 0a 63 6f 6e 74 69 6e d,.or.is.a.terminal,.lzip.contin
1fe20 75 65 73 20 63 68 65 63 6b 69 6e 67 20 74 68 65 20 72 65 73 74 20 6f 66 20 74 68 65 20 66 69 6c ues.checking.the.rest.of.the.fil
1fe40 65 73 2e 20 41 20 66 69 6e 61 6c 20 64 69 61 67 6e 6f 73 74 69 63 20 69 73 20 73 68 6f 77 6e 20 es..A.final.diagnostic.is.shown.
1fe60 61 74 0a 76 65 72 62 6f 73 69 74 79 20 6c 65 76 65 6c 20 31 20 6f 72 20 68 69 67 68 65 72 20 69 at.verbosity.level.1.or.higher.i
1fe80 66 20 61 6e 79 20 66 69 6c 65 20 66 61 69 6c 73 20 74 68 65 20 74 65 73 74 20 77 68 65 6e 20 74 f.any.file.fails.the.test.when.t
1fea0 65 73 74 69 6e 67 0a 6d 75 6c 74 69 70 6c 65 20 66 69 6c 65 73 2e 0a 0a 40 69 74 65 6d 20 2d 76 esting.multiple.files...@item.-v
1fec0 0a 40 69 74 65 6d 78 20 2d 2d 76 65 72 62 6f 73 65 0a 56 65 72 62 6f 73 65 20 6d 6f 64 65 2e 40 .@itemx.--verbose.Verbose.mode.@
1fee0 2a 0a 57 68 65 6e 20 63 6f 6d 70 72 65 73 73 69 6e 67 2c 20 73 68 6f 77 20 74 68 65 20 63 6f 6d *.When.compressing,.show.the.com
1ff00 70 72 65 73 73 69 6f 6e 20 72 61 74 69 6f 20 61 6e 64 20 73 69 7a 65 20 66 6f 72 20 65 61 63 68 pression.ratio.and.size.for.each
1ff20 20 66 69 6c 65 0a 70 72 6f 63 65 73 73 65 64 2e 40 2a 0a 57 68 65 6e 20 64 65 63 6f 6d 70 72 65 .file.processed.@*.When.decompre
1ff40 73 73 69 6e 67 20 6f 72 20 74 65 73 74 69 6e 67 2c 20 66 75 72 74 68 65 72 20 2d 76 27 73 20 28 ssing.or.testing,.further.-v's.(
1ff60 75 70 20 74 6f 20 34 29 20 69 6e 63 72 65 61 73 65 20 74 68 65 0a 76 65 72 62 6f 73 69 74 79 20 up.to.4).increase.the.verbosity.
1ff80 6c 65 76 65 6c 2c 20 73 68 6f 77 69 6e 67 20 73 74 61 74 75 73 2c 20 63 6f 6d 70 72 65 73 73 69 level,.showing.status,.compressi
1ffa0 6f 6e 20 72 61 74 69 6f 2c 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 2c 0a 74 72 61 69 6c on.ratio,.dictionary.size,.trail
1ffc0 65 72 20 63 6f 6e 74 65 6e 74 73 20 28 43 52 43 2c 20 64 61 74 61 20 73 69 7a 65 2c 20 6d 65 6d er.contents.(CRC,.data.size,.mem
1ffe0 62 65 72 20 73 69 7a 65 29 2c 20 61 6e 64 20 75 70 20 74 6f 20 36 20 62 79 74 65 73 20 6f 66 0a ber.size),.and.up.to.6.bytes.of.
20000 74 72 61 69 6c 69 6e 67 20 64 61 74 61 20 28 69 66 20 61 6e 79 29 20 62 6f 74 68 20 69 6e 20 68 trailing.data.(if.any).both.in.h
20020 65 78 61 64 65 63 69 6d 61 6c 20 61 6e 64 20 61 73 20 61 20 73 74 72 69 6e 67 20 6f 66 20 70 72 exadecimal.and.as.a.string.of.pr
20040 69 6e 74 61 62 6c 65 0a 41 53 43 49 49 20 63 68 61 72 61 63 74 65 72 73 2e 40 2a 0a 54 77 6f 20 intable.ASCII.characters.@*.Two.
20060 6f 72 20 6d 6f 72 65 20 40 73 61 6d 70 7b 2d 76 7d 20 6f 70 74 69 6f 6e 73 20 73 68 6f 77 20 74 or.more.@samp{-v}.options.show.t
20080 68 65 20 70 72 6f 67 72 65 73 73 20 6f 66 20 28 64 65 29 63 6f 6d 70 72 65 73 73 69 6f 6e 2e 0a he.progress.of.(de)compression..
200a0 0a 40 69 74 65 6d 20 2d 30 20 2e 2e 20 2d 39 0a 53 65 74 20 74 68 65 20 63 6f 6d 70 72 65 73 73 .@item.-0....-9.Set.the.compress
200c0 69 6f 6e 20 70 61 72 61 6d 65 74 65 72 73 20 28 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 ion.parameters.(dictionary.size.
200e0 61 6e 64 20 6d 61 74 63 68 20 6c 65 6e 67 74 68 20 6c 69 6d 69 74 29 0a 61 73 20 73 68 6f 77 6e and.match.length.limit).as.shown
20100 20 69 6e 20 74 68 65 20 74 61 62 6c 65 20 62 65 6c 6f 77 2e 20 54 68 65 20 64 65 66 61 75 6c 74 .in.the.table.below..The.default
20120 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6c 65 76 65 6c 20 69 73 20 40 73 61 6d 70 7b 2d 36 7d 2e .compression.level.is.@samp{-6}.
20140 0a 4e 6f 74 65 20 74 68 61 74 20 40 73 61 6d 70 7b 2d 39 7d 20 63 61 6e 20 62 65 20 6d 75 63 68 .Note.that.@samp{-9}.can.be.much
20160 20 73 6c 6f 77 65 72 20 74 68 61 6e 20 40 73 61 6d 70 7b 2d 30 7d 2e 20 54 68 65 73 65 20 6f 70 .slower.than.@samp{-0}..These.op
20180 74 69 6f 6e 73 0a 68 61 76 65 20 6e 6f 20 65 66 66 65 63 74 20 77 68 65 6e 20 64 65 63 6f 6d 70 tions.have.no.effect.when.decomp
201a0 72 65 73 73 69 6e 67 2c 20 74 65 73 74 69 6e 67 20 6f 72 20 6c 69 73 74 69 6e 67 2e 0a 0a 54 68 ressing,.testing.or.listing...Th
201c0 65 20 62 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 20 70 61 72 61 6d 65 74 65 72 20 73 70 61 63 65 20 e.bidimensional.parameter.space.
201e0 6f 66 20 4c 5a 4d 41 20 63 61 6e 27 74 20 62 65 20 6d 61 70 70 65 64 20 74 6f 20 61 20 6c 69 6e of.LZMA.can't.be.mapped.to.a.lin
20200 65 61 72 0a 73 63 61 6c 65 20 6f 70 74 69 6d 61 6c 20 66 6f 72 20 61 6c 6c 20 66 69 6c 65 73 2e ear.scale.optimal.for.all.files.
20220 20 49 66 20 79 6f 75 72 20 66 69 6c 65 73 20 61 72 65 20 6c 61 72 67 65 2c 20 76 65 72 79 20 72 .If.your.files.are.large,.very.r
20240 65 70 65 74 69 74 69 76 65 2c 0a 65 74 63 2c 20 79 6f 75 20 6d 61 79 20 6e 65 65 64 20 74 6f 20 epetitive,.etc,.you.may.need.to.
20260 75 73 65 20 74 68 65 20 40 73 61 6d 70 7b 2d 2d 64 69 63 74 69 6f 6e 61 72 79 2d 73 69 7a 65 7d use.the.@samp{--dictionary-size}
20280 20 61 6e 64 0a 40 73 61 6d 70 7b 2d 2d 6d 61 74 63 68 2d 6c 65 6e 67 74 68 7d 20 6f 70 74 69 6f .and.@samp{--match-length}.optio
202a0 6e 73 20 64 69 72 65 63 74 6c 79 20 74 6f 20 61 63 68 69 65 76 65 20 6f 70 74 69 6d 61 6c 20 70 ns.directly.to.achieve.optimal.p
202c0 65 72 66 6f 72 6d 61 6e 63 65 2e 0a 0a 40 6d 75 6c 74 69 74 61 62 6c 65 20 7b 4c 65 76 65 6c 7d erformance...@multitable.{Level}
202e0 20 7b 44 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 7d 20 7b 4d 61 74 63 68 20 6c 65 6e 67 74 68 .{Dictionary.size}.{Match.length
20300 20 6c 69 6d 69 74 7d 0a 40 69 74 65 6d 20 4c 65 76 65 6c 20 40 74 61 62 20 44 69 63 74 69 6f 6e .limit}.@item.Level.@tab.Diction
20320 61 72 79 20 73 69 7a 65 20 40 74 61 62 20 4d 61 74 63 68 20 6c 65 6e 67 74 68 20 6c 69 6d 69 74 ary.size.@tab.Match.length.limit
20340 0a 40 69 74 65 6d 20 2d 30 20 40 74 61 62 20 36 34 20 4b 69 42 20 40 74 61 62 20 20 31 36 20 62 .@item.-0.@tab.64.KiB.@tab..16.b
20360 79 74 65 73 0a 40 69 74 65 6d 20 2d 31 20 40 74 61 62 20 20 31 20 4d 69 42 20 40 74 61 62 20 20 ytes.@item.-1.@tab..1.MiB.@tab..
20380 20 35 20 62 79 74 65 73 0a 40 69 74 65 6d 20 2d 32 20 40 74 61 62 20 20 31 2e 35 20 4d 69 42 20 .5.bytes.@item.-2.@tab..1.5.MiB.
203a0 40 74 61 62 20 20 20 36 20 62 79 74 65 73 0a 40 69 74 65 6d 20 2d 33 20 40 74 61 62 20 20 32 20 @tab...6.bytes.@item.-3.@tab..2.
203c0 4d 69 42 20 40 74 61 62 20 20 20 38 20 62 79 74 65 73 0a 40 69 74 65 6d 20 2d 34 20 40 74 61 62 MiB.@tab...8.bytes.@item.-4.@tab
203e0 20 20 33 20 4d 69 42 20 40 74 61 62 20 20 31 32 20 62 79 74 65 73 0a 40 69 74 65 6d 20 2d 35 20 ..3.MiB.@tab..12.bytes.@item.-5.
20400 40 74 61 62 20 20 34 20 4d 69 42 20 40 74 61 62 20 20 32 30 20 62 79 74 65 73 0a 40 69 74 65 6d @tab..4.MiB.@tab..20.bytes.@item
20420 20 2d 36 20 40 74 61 62 20 20 38 20 4d 69 42 20 40 74 61 62 20 20 33 36 20 62 79 74 65 73 0a 40 .-6.@tab..8.MiB.@tab..36.bytes.@
20440 69 74 65 6d 20 2d 37 20 40 74 61 62 20 31 36 20 4d 69 42 20 40 74 61 62 20 20 36 38 20 62 79 74 item.-7.@tab.16.MiB.@tab..68.byt
20460 65 73 0a 40 69 74 65 6d 20 2d 38 20 40 74 61 62 20 32 34 20 4d 69 42 20 40 74 61 62 20 31 33 32 es.@item.-8.@tab.24.MiB.@tab.132
20480 20 62 79 74 65 73 0a 40 69 74 65 6d 20 2d 39 20 40 74 61 62 20 33 32 20 4d 69 42 20 40 74 61 62 .bytes.@item.-9.@tab.32.MiB.@tab
204a0 20 32 37 33 20 62 79 74 65 73 0a 40 65 6e 64 20 6d 75 6c 74 69 74 61 62 6c 65 0a 0a 40 69 74 65 .273.bytes.@end.multitable..@ite
204c0 6d 20 2d 2d 66 61 73 74 0a 40 69 74 65 6d 78 20 2d 2d 62 65 73 74 0a 41 6c 69 61 73 65 73 20 66 m.--fast.@itemx.--best.Aliases.f
204e0 6f 72 20 47 4e 55 20 67 7a 69 70 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 2e 0a 0a 40 69 74 65 or.GNU.gzip.compatibility...@ite
20500 6d 20 2d 2d 6c 6f 6f 73 65 2d 74 72 61 69 6c 69 6e 67 0a 57 68 65 6e 20 64 65 63 6f 6d 70 72 65 m.--loose-trailing.When.decompre
20520 73 73 69 6e 67 2c 20 74 65 73 74 69 6e 67 20 6f 72 20 6c 69 73 74 69 6e 67 2c 20 61 6c 6c 6f 77 ssing,.testing.or.listing,.allow
20540 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 20 77 68 6f 73 65 20 66 69 72 73 74 0a 62 79 74 65 73 .trailing.data.whose.first.bytes
20560 20 61 72 65 20 73 6f 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 65 20 6d 61 67 69 63 20 62 79 74 .are.so.similar.to.the.magic.byt
20580 65 73 20 6f 66 20 61 20 6c 7a 69 70 20 68 65 61 64 65 72 20 74 68 61 74 20 74 68 65 79 20 63 61 es.of.a.lzip.header.that.they.ca
205a0 6e 0a 62 65 20 63 6f 6e 66 75 73 65 64 20 77 69 74 68 20 61 20 63 6f 72 72 75 70 74 20 68 65 61 n.be.confused.with.a.corrupt.hea
205c0 64 65 72 2e 20 55 73 65 20 74 68 69 73 20 6f 70 74 69 6f 6e 20 69 66 20 61 20 66 69 6c 65 20 74 der..Use.this.option.if.a.file.t
205e0 72 69 67 67 65 72 73 20 61 0a 22 63 6f 72 72 75 70 74 20 68 65 61 64 65 72 22 20 65 72 72 6f 72 riggers.a."corrupt.header".error
20600 20 61 6e 64 20 74 68 65 20 63 61 75 73 65 20 69 73 20 6e 6f 74 20 69 6e 64 65 65 64 20 61 20 63 .and.the.cause.is.not.indeed.a.c
20620 6f 72 72 75 70 74 20 68 65 61 64 65 72 2e 0a 0a 40 65 6e 64 20 74 61 62 6c 65 0a 0a 4e 75 6d 62 orrupt.header...@end.table..Numb
20640 65 72 73 20 67 69 76 65 6e 20 61 73 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 6f 70 74 69 6f 6e ers.given.as.arguments.to.option
20660 73 20 6d 61 79 20 62 65 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 20 6d 75 6c 74 69 70 6c 69 65 s.may.be.followed.by.a.multiplie
20680 72 0a 61 6e 64 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 40 73 61 6d 70 7b 42 7d 20 66 6f 72 20 22 r.and.an.optional.@samp{B}.for."
206a0 62 79 74 65 22 2e 0a 0a 54 61 62 6c 65 20 6f 66 20 53 49 20 61 6e 64 20 62 69 6e 61 72 79 20 70 byte"...Table.of.SI.and.binary.p
206c0 72 65 66 69 78 65 73 20 28 75 6e 69 74 20 6d 75 6c 74 69 70 6c 69 65 72 73 29 3a 0a 0a 40 6d 75 refixes.(unit.multipliers):..@mu
206e0 6c 74 69 74 61 62 6c 65 20 7b 50 72 65 66 69 78 7d 20 7b 6b 69 6c 6f 62 79 74 65 20 20 28 31 30 ltitable.{Prefix}.{kilobyte..(10
20700 5e 33 20 3d 20 31 30 30 30 29 7d 20 7b 7c 7d 20 7b 50 72 65 66 69 78 7d 20 7b 6b 69 62 69 62 79 ^3.=.1000)}.{|}.{Prefix}.{kibiby
20720 74 65 20 28 32 5e 31 30 20 3d 20 31 30 32 34 29 7d 0a 40 69 74 65 6d 20 50 72 65 66 69 78 20 40 te.(2^10.=.1024)}.@item.Prefix.@
20740 74 61 62 20 56 61 6c 75 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 40 74 61 62 20 7c 20 40 tab.Value...............@tab.|.@
20760 74 61 62 20 50 72 65 66 69 78 20 40 74 61 62 20 56 61 6c 75 65 0a 40 69 74 65 6d 20 6b 20 40 74 tab.Prefix.@tab.Value.@item.k.@t
20780 61 62 20 6b 69 6c 6f 62 79 74 65 20 20 28 31 30 5e 33 20 3d 20 31 30 30 30 29 20 20 40 74 61 62 ab.kilobyte..(10^3.=.1000)..@tab
207a0 20 7c 20 40 74 61 62 20 4b 69 20 40 74 61 62 20 6b 69 62 69 62 79 74 65 20 28 32 5e 31 30 20 3d .|.@tab.Ki.@tab.kibibyte.(2^10.=
207c0 20 31 30 32 34 29 0a 40 69 74 65 6d 20 4d 20 40 74 61 62 20 6d 65 67 61 62 79 74 65 20 20 28 31 .1024).@item.M.@tab.megabyte..(1
207e0 30 5e 36 29 20 20 20 20 20 20 20 20 20 40 74 61 62 20 7c 20 40 74 61 62 20 4d 69 20 40 74 61 62 0^6).........@tab.|.@tab.Mi.@tab
20800 20 6d 65 62 69 62 79 74 65 20 28 32 5e 32 30 29 0a 40 69 74 65 6d 20 47 20 40 74 61 62 20 67 69 .mebibyte.(2^20).@item.G.@tab.gi
20820 67 61 62 79 74 65 20 20 28 31 30 5e 39 29 20 20 20 20 20 20 20 20 20 40 74 61 62 20 7c 20 40 74 gabyte..(10^9).........@tab.|.@t
20840 61 62 20 47 69 20 40 74 61 62 20 67 69 62 69 62 79 74 65 20 28 32 5e 33 30 29 0a 40 69 74 65 6d ab.Gi.@tab.gibibyte.(2^30).@item
20860 20 54 20 40 74 61 62 20 74 65 72 61 62 79 74 65 20 20 28 31 30 5e 31 32 29 20 20 20 20 20 20 20 .T.@tab.terabyte..(10^12).......
20880 20 40 74 61 62 20 7c 20 40 74 61 62 20 54 69 20 40 74 61 62 20 74 65 62 69 62 79 74 65 20 28 32 .@tab.|.@tab.Ti.@tab.tebibyte.(2
208a0 5e 34 30 29 0a 40 69 74 65 6d 20 50 20 40 74 61 62 20 70 65 74 61 62 79 74 65 20 20 28 31 30 5e ^40).@item.P.@tab.petabyte..(10^
208c0 31 35 29 20 20 20 20 20 20 20 20 40 74 61 62 20 7c 20 40 74 61 62 20 50 69 20 40 74 61 62 20 70 15)........@tab.|.@tab.Pi.@tab.p
208e0 65 62 69 62 79 74 65 20 28 32 5e 35 30 29 0a 40 69 74 65 6d 20 45 20 40 74 61 62 20 65 78 61 62 ebibyte.(2^50).@item.E.@tab.exab
20900 79 74 65 20 20 20 28 31 30 5e 31 38 29 20 20 20 20 20 20 20 20 40 74 61 62 20 7c 20 40 74 61 62 yte...(10^18)........@tab.|.@tab
20920 20 45 69 20 40 74 61 62 20 65 78 62 69 62 79 74 65 20 28 32 5e 36 30 29 0a 40 69 74 65 6d 20 5a .Ei.@tab.exbibyte.(2^60).@item.Z
20940 20 40 74 61 62 20 7a 65 74 74 61 62 79 74 65 20 28 31 30 5e 32 31 29 20 20 20 20 20 20 20 20 40 .@tab.zettabyte.(10^21)........@
20960 74 61 62 20 7c 20 40 74 61 62 20 5a 69 20 40 74 61 62 20 7a 65 62 69 62 79 74 65 20 28 32 5e 37 tab.|.@tab.Zi.@tab.zebibyte.(2^7
20980 30 29 0a 40 69 74 65 6d 20 59 20 40 74 61 62 20 79 6f 74 74 61 62 79 74 65 20 28 31 30 5e 32 34 0).@item.Y.@tab.yottabyte.(10^24
209a0 29 20 20 20 20 20 20 20 20 40 74 61 62 20 7c 20 40 74 61 62 20 59 69 20 40 74 61 62 20 79 6f 62 )........@tab.|.@tab.Yi.@tab.yob
209c0 69 62 79 74 65 20 28 32 5e 38 30 29 0a 40 65 6e 64 20 6d 75 6c 74 69 74 61 62 6c 65 0a 0a 40 73 ibyte.(2^80).@end.multitable..@s
209e0 70 20 31 0a 45 78 69 74 20 73 74 61 74 75 73 3a 20 30 20 66 6f 72 20 61 20 6e 6f 72 6d 61 6c 20 p.1.Exit.status:.0.for.a.normal.
20a00 65 78 69 74 2c 20 31 20 66 6f 72 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 61 6c 20 70 72 6f 62 6c 65 exit,.1.for.environmental.proble
20a20 6d 73 20 28 66 69 6c 65 20 6e 6f 74 0a 66 6f 75 6e 64 2c 20 69 6e 76 61 6c 69 64 20 66 6c 61 67 ms.(file.not.found,.invalid.flag
20a40 73 2c 20 49 2f 4f 20 65 72 72 6f 72 73 2c 20 65 74 63 29 2c 20 32 20 74 6f 20 69 6e 64 69 63 61 s,.I/O.errors,.etc),.2.to.indica
20a60 74 65 20 61 20 63 6f 72 72 75 70 74 20 6f 72 0a 69 6e 76 61 6c 69 64 20 69 6e 70 75 74 20 66 69 te.a.corrupt.or.invalid.input.fi
20a80 6c 65 2c 20 33 20 66 6f 72 20 61 6e 20 69 6e 74 65 72 6e 61 6c 20 63 6f 6e 73 69 73 74 65 6e 63 le,.3.for.an.internal.consistenc
20aa0 79 20 65 72 72 6f 72 20 28 65 67 2c 20 62 75 67 29 20 77 68 69 63 68 0a 63 61 75 73 65 64 20 6c y.error.(eg,.bug).which.caused.l
20ac0 7a 69 70 20 74 6f 20 70 61 6e 69 63 2e 0a 0a 0a 40 6e 6f 64 65 20 51 75 61 6c 69 74 79 20 61 73 zip.to.panic....@node.Quality.as
20ae0 73 75 72 61 6e 63 65 0a 40 63 68 61 70 74 65 72 20 44 65 73 69 67 6e 2c 20 64 65 76 65 6c 6f 70 surance.@chapter.Design,.develop
20b00 6d 65 6e 74 20 61 6e 64 20 74 65 73 74 69 6e 67 20 6f 66 20 6c 7a 69 70 0a 40 63 69 6e 64 65 78 ment.and.testing.of.lzip.@cindex
20b20 20 71 75 61 6c 69 74 79 20 61 73 73 75 72 61 6e 63 65 0a 0a 54 68 65 72 65 20 61 72 65 20 74 77 .quality.assurance..There.are.tw
20b40 6f 20 77 61 79 73 20 6f 66 20 63 6f 6e 73 74 72 75 63 74 69 6e 67 20 61 20 73 6f 66 74 77 61 72 o.ways.of.constructing.a.softwar
20b60 65 20 64 65 73 69 67 6e 3a 20 4f 6e 65 20 77 61 79 20 69 73 20 74 6f 20 6d 61 6b 65 0a 69 74 20 e.design:.One.way.is.to.make.it.
20b80 73 6f 20 73 69 6d 70 6c 65 20 74 68 61 74 20 74 68 65 72 65 20 61 72 65 20 6f 62 76 69 6f 75 73 so.simple.that.there.are.obvious
20ba0 6c 79 20 6e 6f 20 64 65 66 69 63 69 65 6e 63 69 65 73 20 61 6e 64 20 74 68 65 20 6f 74 68 65 72 ly.no.deficiencies.and.the.other
20bc0 20 77 61 79 0a 69 73 20 74 6f 20 6d 61 6b 65 20 69 74 20 73 6f 20 63 6f 6d 70 6c 69 63 61 74 65 .way.is.to.make.it.so.complicate
20be0 64 20 74 68 61 74 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 6f 62 76 69 6f 75 73 20 64 65 66 69 d.that.there.are.no.obvious.defi
20c00 63 69 65 6e 63 69 65 73 2e 20 54 68 65 0a 66 69 72 73 74 20 6d 65 74 68 6f 64 20 69 73 20 66 61 ciencies..The.first.method.is.fa
20c20 72 20 6d 6f 72 65 20 64 69 66 66 69 63 75 6c 74 2e 40 2a 0a 2d 2d 2d 20 43 2e 41 2e 52 2e 20 48 r.more.difficult.@*.---.C.A.R..H
20c40 6f 61 72 65 0a 0a 4c 7a 69 70 20 68 61 73 20 62 65 65 6e 20 64 65 73 69 67 6e 65 64 2c 20 77 72 oare..Lzip.has.been.designed,.wr
20c60 69 74 74 65 6e 20 61 6e 64 20 74 65 73 74 65 64 20 77 69 74 68 20 67 72 65 61 74 20 63 61 72 65 itten.and.tested.with.great.care
20c80 20 74 6f 20 62 65 20 74 68 65 0a 73 74 61 6e 64 61 72 64 20 67 65 6e 65 72 61 6c 2d 70 75 72 70 .to.be.the.standard.general-purp
20ca0 6f 73 65 20 63 6f 6d 70 72 65 73 73 6f 72 20 66 6f 72 20 75 6e 69 78 2d 6c 69 6b 65 20 73 79 73 ose.compressor.for.unix-like.sys
20cc0 74 65 6d 73 2e 20 54 68 69 73 20 63 68 61 70 74 65 72 0a 64 65 73 63 72 69 62 65 73 20 74 68 65 tems..This.chapter.describes.the
20ce0 20 6c 65 73 73 6f 6e 73 20 6c 65 61 72 6e 65 64 20 66 72 6f 6d 20 70 72 65 76 69 6f 75 73 20 63 .lessons.learned.from.previous.c
20d00 6f 6d 70 72 65 73 73 6f 72 73 20 28 67 7a 69 70 20 61 6e 64 0a 62 7a 69 70 32 29 2c 20 61 6e 64 ompressors.(gzip.and.bzip2),.and
20d20 20 74 68 65 69 72 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 74 6f 20 74 68 65 20 64 65 73 69 67 6e .their.application.to.the.design
20d40 20 6f 66 20 6c 7a 69 70 2e 0a 0a 40 73 70 20 31 0a 40 73 65 63 74 69 6f 6e 20 46 6f 72 6d 61 74 .of.lzip...@sp.1.@section.Format
20d60 20 64 65 73 69 67 6e 0a 0a 57 68 65 6e 20 67 7a 69 70 20 77 61 73 20 64 65 73 69 67 6e 65 64 20 .design..When.gzip.was.designed.
20d80 69 6e 20 31 39 39 32 2c 20 63 6f 6d 70 75 74 65 72 73 20 61 6e 64 20 6f 70 65 72 61 74 69 6e 67 in.1992,.computers.and.operating
20da0 20 73 79 73 74 65 6d 73 20 77 65 72 65 0a 6d 75 63 68 20 6c 65 73 73 20 63 61 70 61 62 6c 65 20 .systems.were.much.less.capable.
20dc0 74 68 61 6e 20 74 68 65 79 20 61 72 65 20 74 6f 64 61 79 2e 20 47 7a 69 70 20 74 72 69 65 64 20 than.they.are.today..Gzip.tried.
20de0 74 6f 20 77 6f 72 6b 20 61 72 6f 75 6e 64 20 73 6f 6d 65 20 6f 66 0a 74 68 6f 73 65 20 6c 69 6d to.work.around.some.of.those.lim
20e00 69 74 61 74 69 6f 6e 73 2c 20 6c 69 6b 65 20 38 2e 33 20 66 69 6c 65 20 6e 61 6d 65 73 2c 20 77 itations,.like.8.3.file.names,.w
20e20 69 74 68 20 61 64 64 69 74 69 6f 6e 61 6c 20 66 69 65 6c 64 73 20 69 6e 20 69 74 73 0a 66 69 6c ith.additional.fields.in.its.fil
20e40 65 20 66 6f 72 6d 61 74 2e 0a 0a 54 6f 64 61 79 20 74 68 6f 73 65 20 6c 69 6d 69 74 61 74 69 6f e.format...Today.those.limitatio
20e60 6e 73 20 68 61 76 65 20 6d 6f 73 74 6c 79 20 64 69 73 61 70 70 65 61 72 65 64 2c 20 61 6e 64 20 ns.have.mostly.disappeared,.and.
20e80 74 68 65 20 66 6f 72 6d 61 74 20 6f 66 20 67 7a 69 70 0a 68 61 73 20 70 72 6f 76 65 64 20 74 6f the.format.of.gzip.has.proved.to
20ea0 20 62 65 20 75 6e 6e 65 63 65 73 73 61 72 69 6c 79 20 63 6f 6d 70 6c 69 63 61 74 65 64 2e 20 49 .be.unnecessarily.complicated..I
20ec0 74 20 69 6e 63 6c 75 64 65 73 20 66 69 65 6c 64 73 20 74 68 61 74 20 77 65 72 65 0a 6e 65 76 65 t.includes.fields.that.were.neve
20ee0 72 20 75 73 65 64 2c 20 6f 74 68 65 72 73 20 74 68 61 74 20 68 61 76 65 20 6c 6f 73 74 20 74 68 r.used,.others.that.have.lost.th
20f00 65 69 72 20 75 73 65 66 75 6c 6e 65 73 73 2c 20 61 6e 64 20 66 69 6e 61 6c 6c 79 20 6f 74 68 65 eir.usefulness,.and.finally.othe
20f20 72 73 0a 74 68 61 74 20 68 61 76 65 20 62 65 63 6f 6d 65 20 74 6f 6f 20 6c 69 6d 69 74 65 64 2e rs.that.have.become.too.limited.
20f40 0a 0a 42 7a 69 70 32 20 77 61 73 20 64 65 73 69 67 6e 65 64 20 35 20 79 65 61 72 73 20 6c 61 74 ..Bzip2.was.designed.5.years.lat
20f60 65 72 2c 20 61 6e 64 20 69 74 73 20 66 6f 72 6d 61 74 20 69 73 20 73 69 6d 70 6c 65 72 20 74 68 er,.and.its.format.is.simpler.th
20f80 61 6e 20 74 68 65 20 6f 6e 65 0a 6f 66 20 67 7a 69 70 2e 0a 0a 50 72 6f 62 61 62 6c 79 20 74 68 an.the.one.of.gzip...Probably.th
20fa0 65 20 77 6f 72 73 74 20 64 65 66 65 63 74 20 6f 66 20 74 68 65 20 67 7a 69 70 20 66 6f 72 6d 61 e.worst.defect.of.the.gzip.forma
20fc0 74 20 66 72 6f 6d 20 74 68 65 20 70 6f 69 6e 74 20 6f 66 20 76 69 65 77 20 6f 66 0a 64 61 74 61 t.from.the.point.of.view.of.data
20fe0 20 73 61 66 65 74 79 20 69 73 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 73 69 7a 65 20 6f 66 20 .safety.is.the.variable.size.of.
21000 69 74 73 20 68 65 61 64 65 72 2e 20 49 66 20 74 68 65 20 62 79 74 65 20 61 74 20 6f 66 66 73 65 its.header..If.the.byte.at.offse
21020 74 20 33 0a 28 66 6c 61 67 73 29 20 6f 66 20 61 20 67 7a 69 70 20 6d 65 6d 62 65 72 20 67 65 74 t.3.(flags).of.a.gzip.member.get
21040 73 20 63 6f 72 72 75 70 74 65 64 2c 20 69 74 20 6d 61 79 20 62 65 63 6f 6d 65 20 64 69 66 66 69 s.corrupted,.it.may.become.diffi
21060 63 75 6c 74 20 74 6f 0a 72 65 63 6f 76 65 72 20 74 68 65 20 64 61 74 61 2c 20 65 76 65 6e 20 69 cult.to.recover.the.data,.even.i
21080 66 20 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 20 62 6c 6f 63 6b 73 20 61 72 65 20 69 6e 74 61 f.the.compressed.blocks.are.inta
210a0 63 74 2c 20 62 65 63 61 75 73 65 20 69 74 0a 63 61 6e 27 74 20 62 65 20 6b 6e 6f 77 6e 20 77 69 ct,.because.it.can't.be.known.wi
210c0 74 68 20 63 65 72 74 61 69 6e 74 79 20 77 68 65 72 65 20 74 68 65 20 63 6f 6d 70 72 65 73 73 65 th.certainty.where.the.compresse
210e0 64 20 62 6c 6f 63 6b 73 20 62 65 67 69 6e 2e 0a 0a 42 79 20 63 6f 6e 74 72 61 73 74 2c 20 74 68 d.blocks.begin...By.contrast,.th
21100 65 20 68 65 61 64 65 72 20 6f 66 20 61 20 6c 7a 69 70 20 6d 65 6d 62 65 72 20 68 61 73 20 61 20 e.header.of.a.lzip.member.has.a.
21120 66 69 78 65 64 20 6c 65 6e 67 74 68 20 6f 66 20 36 2e 20 54 68 65 0a 4c 5a 4d 41 20 73 74 72 65 fixed.length.of.6..The.LZMA.stre
21140 61 6d 20 69 6e 20 61 20 6c 7a 69 70 20 6d 65 6d 62 65 72 20 61 6c 77 61 79 73 20 73 74 61 72 74 am.in.a.lzip.member.always.start
21160 73 20 61 74 20 6f 66 66 73 65 74 20 36 2c 20 6d 61 6b 69 6e 67 20 69 74 0a 74 72 69 76 69 61 6c s.at.offset.6,.making.it.trivial
21180 20 74 6f 20 72 65 63 6f 76 65 72 20 74 68 65 20 64 61 74 61 20 65 76 65 6e 20 69 66 20 74 68 65 .to.recover.the.data.even.if.the
211a0 20 77 68 6f 6c 65 20 68 65 61 64 65 72 20 62 65 63 6f 6d 65 73 20 63 6f 72 72 75 70 74 2e 0a 0a .whole.header.becomes.corrupt...
211c0 42 7a 69 70 32 20 61 6c 73 6f 20 70 72 6f 76 69 64 65 73 20 61 20 68 65 61 64 65 72 20 6f 66 20 Bzip2.also.provides.a.header.of.
211e0 66 69 78 65 64 20 6c 65 6e 67 74 68 20 61 6e 64 20 6d 61 72 6b 73 20 74 68 65 20 62 65 67 69 6e fixed.length.and.marks.the.begin
21200 20 61 6e 64 20 65 6e 64 0a 6f 66 20 65 61 63 68 20 63 6f 6d 70 72 65 73 73 65 64 20 62 6c 6f 63 .and.end.of.each.compressed.bloc
21220 6b 20 77 69 74 68 20 73 69 78 20 6d 61 67 69 63 20 62 79 74 65 73 2c 20 6d 61 6b 69 6e 67 20 69 k.with.six.magic.bytes,.making.i
21240 74 20 70 6f 73 73 69 62 6c 65 20 74 6f 0a 66 69 6e 64 20 74 68 65 20 63 6f 6d 70 72 65 73 73 65 t.possible.to.find.the.compresse
21260 64 20 62 6c 6f 63 6b 73 20 65 76 65 6e 20 69 6e 20 63 61 73 65 20 6f 66 20 66 69 6c 65 20 64 61 d.blocks.even.in.case.of.file.da
21280 6d 61 67 65 2e 20 42 75 74 20 62 7a 69 70 32 20 64 6f 65 73 0a 6e 6f 74 20 73 74 6f 72 65 20 74 mage..But.bzip2.does.not.store.t
212a0 68 65 20 73 69 7a 65 20 6f 66 20 65 61 63 68 20 63 6f 6d 70 72 65 73 73 65 64 20 62 6c 6f 63 6b he.size.of.each.compressed.block
212c0 2c 20 61 73 20 6c 7a 69 70 20 64 6f 65 73 2e 0a 0a 4c 7a 69 70 20 70 72 6f 76 69 64 65 73 20 62 ,.as.lzip.does...Lzip.provides.b
212e0 65 74 74 65 72 20 64 61 74 61 20 72 65 63 6f 76 65 72 79 20 63 61 70 61 62 69 6c 69 74 69 65 73 etter.data.recovery.capabilities
21300 20 74 68 61 6e 20 61 6e 79 20 6f 74 68 65 72 20 67 7a 69 70 2d 6c 69 6b 65 0a 63 6f 6d 70 72 65 .than.any.other.gzip-like.compre
21320 73 73 6f 72 20 62 65 63 61 75 73 65 20 69 74 73 20 66 6f 72 6d 61 74 20 68 61 73 20 62 65 65 6e ssor.because.its.format.has.been
21340 20 64 65 73 69 67 6e 65 64 20 66 72 6f 6d 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 74 6f 20 .designed.from.the.beginning.to.
21360 62 65 0a 73 69 6d 70 6c 65 20 61 6e 64 20 73 61 66 65 2e 20 49 74 20 61 6c 73 6f 20 68 65 6c 70 be.simple.and.safe..It.also.help
21380 73 20 74 68 61 74 20 74 68 65 20 4c 5a 4d 41 20 64 61 74 61 20 73 74 72 65 61 6d 20 61 73 20 75 s.that.the.LZMA.data.stream.as.u
213a0 73 65 64 20 62 79 20 6c 7a 69 70 0a 69 73 20 65 78 74 72 61 6f 72 64 69 6e 61 72 69 6c 79 20 73 sed.by.lzip.is.extraordinarily.s
213c0 61 66 65 2e 20 49 74 20 70 72 6f 76 69 64 65 73 20 65 6d 62 65 64 64 65 64 20 65 72 72 6f 72 20 afe..It.provides.embedded.error.
213e0 64 65 74 65 63 74 69 6f 6e 2e 20 41 6e 79 0a 64 69 73 74 61 6e 63 65 20 6c 61 72 67 65 72 20 74 detection..Any.distance.larger.t
21400 68 61 6e 20 74 68 65 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 61 63 74 73 20 61 73 20 han.the.dictionary.size.acts.as.
21420 61 20 66 6f 72 62 69 64 64 65 6e 20 73 79 6d 62 6f 6c 2c 0a 61 6c 6c 6f 77 69 6e 67 20 74 68 65 a.forbidden.symbol,.allowing.the
21440 20 64 65 63 6f 6d 70 72 65 73 73 6f 72 20 74 6f 20 64 65 74 65 63 74 20 74 68 65 20 61 70 70 72 .decompressor.to.detect.the.appr
21460 6f 78 69 6d 61 74 65 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 65 72 72 6f 72 73 2c 0a 61 6e 64 20 oximate.position.of.errors,.and.
21480 6c 65 61 76 69 6e 67 20 76 65 72 79 20 6c 69 74 74 6c 65 20 77 6f 72 6b 20 66 6f 72 20 74 68 65 leaving.very.little.work.for.the
214a0 20 63 68 65 63 6b 20 73 65 71 75 65 6e 63 65 20 28 43 52 43 20 61 6e 64 20 64 61 74 61 20 73 69 .check.sequence.(CRC.and.data.si
214c0 7a 65 73 29 0a 69 6e 20 74 68 65 20 64 65 74 65 63 74 69 6f 6e 20 6f 66 20 65 72 72 6f 72 73 2e zes).in.the.detection.of.errors.
214e0 20 4c 7a 69 70 20 69 73 20 75 73 75 61 6c 6c 79 20 61 62 6c 65 20 74 6f 20 64 65 74 65 63 74 20 .Lzip.is.usually.able.to.detect.
21500 61 6c 6c 20 70 6f 73 69 62 6c 65 0a 62 69 74 20 66 6c 69 70 73 20 69 6e 20 74 68 65 20 63 6f 6d all.posible.bit.flips.in.the.com
21520 70 72 65 73 73 65 64 20 64 61 74 61 20 77 69 74 68 6f 75 74 20 72 65 73 6f 72 74 69 6e 67 20 74 pressed.data.without.resorting.t
21540 6f 20 74 68 65 20 63 68 65 63 6b 0a 73 65 71 75 65 6e 63 65 2e 20 49 74 20 77 6f 75 6c 64 20 62 o.the.check.sequence..It.would.b
21560 65 20 64 69 66 66 69 63 75 6c 74 20 74 6f 20 77 72 69 74 65 20 61 6e 20 61 75 74 6f 6d 61 74 69 e.difficult.to.write.an.automati
21580 63 20 72 65 63 6f 76 65 72 79 20 74 6f 6f 6c 20 6c 69 6b 65 0a 6c 7a 69 70 72 65 63 6f 76 65 72 c.recovery.tool.like.lziprecover
215a0 20 66 6f 72 20 74 68 65 20 67 7a 69 70 20 66 6f 72 6d 61 74 2e 20 41 6e 64 2c 20 61 73 20 66 61 .for.the.gzip.format..And,.as.fa
215c0 72 20 61 73 20 49 20 6b 6e 6f 77 2c 20 69 74 20 68 61 73 20 6e 65 76 65 72 0a 62 65 65 6e 20 77 r.as.I.know,.it.has.never.been.w
215e0 72 69 74 74 65 6e 2e 0a 0a 4c 7a 69 70 2c 20 6c 69 6b 65 20 67 7a 69 70 20 61 6e 64 20 62 7a 69 ritten...Lzip,.like.gzip.and.bzi
21600 70 32 2c 20 75 73 65 73 20 61 20 43 52 43 33 32 20 74 6f 20 63 68 65 63 6b 20 74 68 65 20 69 6e p2,.uses.a.CRC32.to.check.the.in
21620 74 65 67 72 69 74 79 20 6f 66 20 74 68 65 0a 64 65 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 tegrity.of.the.decompressed.data
21640 20 62 65 63 61 75 73 65 20 69 74 20 70 72 6f 76 69 64 65 73 20 6d 6f 72 65 20 61 63 63 75 72 61 .because.it.provides.more.accura
21660 74 65 20 65 72 72 6f 72 20 64 65 74 65 63 74 69 6f 6e 20 74 68 61 6e 0a 43 52 43 36 34 20 75 70 te.error.detection.than.CRC64.up
21680 20 74 6f 20 61 20 63 6f 6d 70 72 65 73 73 65 64 20 73 69 7a 65 20 6f 66 20 61 62 6f 75 74 20 40 .to.a.compressed.size.of.about.@
216a0 77 7b 31 36 20 47 69 42 7d 2c 20 61 20 73 69 7a 65 20 6c 61 72 67 65 72 20 74 68 61 6e 0a 74 68 w{16.GiB},.a.size.larger.than.th
216c0 61 74 20 6f 66 20 6d 6f 73 74 20 66 69 6c 65 73 2e 20 49 6e 20 74 68 65 20 63 61 73 65 20 6f 66 at.of.most.files..In.the.case.of
216e0 20 6c 7a 69 70 2c 20 74 68 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 64 65 74 65 63 74 69 6f 6e 0a .lzip,.the.additional.detection.
21700 63 61 70 61 62 69 6c 69 74 79 20 6f 66 20 74 68 65 20 64 65 63 6f 6d 70 72 65 73 73 6f 72 20 72 capability.of.the.decompressor.r
21720 65 64 75 63 65 73 20 74 68 65 20 70 72 6f 62 61 62 69 6c 69 74 79 20 6f 66 20 75 6e 64 65 74 65 educes.the.probability.of.undete
21740 63 74 65 64 0a 65 72 72 6f 72 73 20 6d 6f 72 65 20 74 68 61 6e 20 61 20 6d 69 6c 6c 69 6f 6e 20 cted.errors.more.than.a.million.
21760 74 69 6d 65 73 20 62 65 79 6f 6e 64 20 77 68 61 74 20 74 68 65 20 43 52 43 33 32 20 61 6c 6f 6e times.beyond.what.the.CRC32.alon
21780 65 20 70 72 6f 76 69 64 65 73 2e 0a 0a 54 68 65 20 6c 7a 69 70 20 66 6f 72 6d 61 74 20 69 73 20 e.provides...The.lzip.format.is.
217a0 64 65 73 69 67 6e 65 64 20 66 6f 72 20 6c 6f 6e 67 2d 74 65 72 6d 20 61 72 63 68 69 76 69 6e 67 designed.for.long-term.archiving
217c0 2e 20 54 68 65 72 65 66 6f 72 65 20 69 74 0a 65 78 63 6c 75 64 65 73 20 61 6e 79 20 75 6e 6e 65 ..Therefore.it.excludes.any.unne
217e0 65 64 65 64 20 66 65 61 74 75 72 65 73 20 74 68 61 74 20 6d 61 79 20 69 6e 74 65 72 66 65 72 65 eded.features.that.may.interfere
21800 20 77 69 74 68 20 74 68 65 20 66 75 74 75 72 65 0a 65 78 74 72 61 63 74 69 6f 6e 20 6f 66 20 74 .with.the.future.extraction.of.t
21820 68 65 20 64 65 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 2e 0a 0a 40 73 70 20 31 0a 40 73 75 he.decompressed.data...@sp.1.@su
21840 62 73 65 63 74 69 6f 6e 20 47 7a 69 70 20 66 6f 72 6d 61 74 20 28 6d 69 73 29 66 65 61 74 75 72 bsection.Gzip.format.(mis)featur
21860 65 73 20 6e 6f 74 20 70 72 65 73 65 6e 74 20 69 6e 20 6c 7a 69 70 0a 0a 40 74 61 62 6c 65 20 40 es.not.present.in.lzip..@table.@
21880 73 61 6d 70 0a 40 69 74 65 6d 20 4d 75 6c 74 69 70 6c 65 20 61 6c 67 6f 72 69 74 68 6d 73 0a 0a samp.@item.Multiple.algorithms..
218a0 47 7a 69 70 20 70 72 6f 76 69 64 65 73 20 61 20 43 4d 20 28 43 6f 6d 70 72 65 73 73 69 6f 6e 20 Gzip.provides.a.CM.(Compression.
218c0 4d 65 74 68 6f 64 29 20 66 69 65 6c 64 20 74 68 61 74 20 68 61 73 20 6e 65 76 65 72 20 62 65 65 Method).field.that.has.never.bee
218e0 6e 20 75 73 65 64 0a 62 65 63 61 75 73 65 20 69 74 20 69 73 20 61 20 62 61 64 20 69 64 65 61 20 n.used.because.it.is.a.bad.idea.
21900 74 6f 20 62 65 67 69 6e 20 77 69 74 68 2e 20 4e 65 77 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6d to.begin.with..New.compression.m
21920 65 74 68 6f 64 73 20 6d 61 79 0a 72 65 71 75 69 72 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 66 69 ethods.may.require.additional.fi
21940 65 6c 64 73 2c 20 6d 61 6b 69 6e 67 20 69 74 20 69 6d 70 6f 73 73 69 62 6c 65 20 74 6f 20 69 6d elds,.making.it.impossible.to.im
21960 70 6c 65 6d 65 6e 74 20 6e 65 77 20 6d 65 74 68 6f 64 73 0a 61 6e 64 2c 20 61 74 20 74 68 65 20 plement.new.methods.and,.at.the.
21980 73 61 6d 65 20 74 69 6d 65 2c 20 6b 65 65 70 20 74 68 65 20 73 61 6d 65 20 66 6f 72 6d 61 74 2e same.time,.keep.the.same.format.
219a0 20 54 68 69 73 20 66 69 65 6c 64 20 64 6f 65 73 20 6e 6f 74 20 73 6f 6c 76 65 0a 74 68 65 20 70 .This.field.does.not.solve.the.p
219c0 72 6f 62 6c 65 6d 20 6f 66 20 66 6f 72 6d 61 74 20 70 72 6f 6c 69 66 65 72 61 74 69 6f 6e 3b 20 roblem.of.format.proliferation;.
219e0 69 74 20 6a 75 73 74 20 6d 61 6b 65 73 20 74 68 65 20 70 72 6f 62 6c 65 6d 20 6c 65 73 73 0a 6f it.just.makes.the.problem.less.o
21a00 62 76 69 6f 75 73 2e 0a 0a 40 69 74 65 6d 20 4f 70 74 69 6f 6e 61 6c 20 66 69 65 6c 64 73 20 69 bvious...@item.Optional.fields.i
21a20 6e 20 68 65 61 64 65 72 0a 0a 55 6e 6c 65 73 73 20 73 70 65 63 69 61 6c 20 70 72 65 63 61 75 74 n.header..Unless.special.precaut
21a40 69 6f 6e 73 20 61 72 65 20 74 61 6b 65 6e 2c 20 6f 70 74 69 6f 6e 61 6c 20 66 69 65 6c 64 73 20 ions.are.taken,.optional.fields.
21a60 61 72 65 20 67 65 6e 65 72 61 6c 6c 79 20 61 0a 62 61 64 20 69 64 65 61 20 62 65 63 61 75 73 65 are.generally.a.bad.idea.because
21a80 20 74 68 65 79 20 70 72 6f 64 75 63 65 20 61 20 68 65 61 64 65 72 20 6f 66 20 76 61 72 69 61 62 .they.produce.a.header.of.variab
21aa0 6c 65 20 73 69 7a 65 2e 20 54 68 65 20 67 7a 69 70 20 68 65 61 64 65 72 0a 68 61 73 20 32 20 66 le.size..The.gzip.header.has.2.f
21ac0 69 65 6c 64 73 20 74 68 61 74 2c 20 69 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 62 65 69 6e 67 ields.that,.in.addition.to.being
21ae0 20 6f 70 74 69 6f 6e 61 6c 2c 20 61 72 65 20 7a 65 72 6f 2d 74 65 72 6d 69 6e 61 74 65 64 2e 0a .optional,.are.zero-terminated..
21b00 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 69 66 20 61 6e 79 20 62 79 74 65 20 69 6e 73 69 This.means.that.if.any.byte.insi
21b20 64 65 20 74 68 65 20 66 69 65 6c 64 20 67 65 74 73 20 7a 65 72 6f 65 64 2c 20 6f 72 20 69 66 20 de.the.field.gets.zeroed,.or.if.
21b40 74 68 65 0a 74 65 72 6d 69 6e 61 74 69 6e 67 20 7a 65 72 6f 20 67 65 74 73 20 61 6c 74 65 72 65 the.terminating.zero.gets.altere
21b60 64 2c 20 67 7a 69 70 20 77 6f 6e 27 74 20 62 65 20 61 62 6c 65 20 74 6f 20 66 69 6e 64 20 6e 65 d,.gzip.won't.be.able.to.find.ne
21b80 69 74 68 65 72 20 74 68 65 0a 68 65 61 64 65 72 20 43 52 43 20 6e 6f 72 20 74 68 65 20 63 6f 6d ither.the.header.CRC.nor.the.com
21ba0 70 72 65 73 73 65 64 20 62 6c 6f 63 6b 73 2e 0a 0a 40 69 74 65 6d 20 4f 70 74 69 6f 6e 61 6c 20 pressed.blocks...@item.Optional.
21bc0 43 52 43 20 66 6f 72 20 74 68 65 20 68 65 61 64 65 72 0a 0a 55 73 69 6e 67 20 61 6e 20 6f 70 74 CRC.for.the.header..Using.an.opt
21be0 69 6f 6e 61 6c 20 43 52 43 20 66 6f 72 20 74 68 65 20 68 65 61 64 65 72 20 69 73 20 6e 6f 74 20 ional.CRC.for.the.header.is.not.
21c00 6f 6e 6c 79 20 61 20 62 61 64 20 69 64 65 61 2c 20 69 74 20 69 73 20 61 6e 0a 65 72 72 6f 72 3b only.a.bad.idea,.it.is.an.error;
21c20 20 69 74 20 63 69 72 63 75 6d 76 65 6e 74 73 20 74 68 65 20 48 44 20 6f 66 20 74 68 65 20 43 52 .it.circumvents.the.HD.of.the.CR
21c40 43 20 61 6e 64 20 6d 61 79 20 70 72 65 76 65 6e 74 20 74 68 65 20 65 78 74 72 61 63 74 69 6f 6e C.and.may.prevent.the.extraction
21c60 0a 6f 66 20 70 65 72 66 65 63 74 6c 79 20 67 6f 6f 64 20 64 61 74 61 2e 20 46 6f 72 20 65 78 61 .of.perfectly.good.data..For.exa
21c80 6d 70 6c 65 2c 20 69 66 20 74 68 65 20 43 52 43 20 69 73 20 75 73 65 64 20 61 6e 64 20 74 68 65 mple,.if.the.CRC.is.used.and.the
21ca0 20 62 69 74 0a 65 6e 61 62 6c 69 6e 67 20 69 74 20 69 73 20 72 65 73 65 74 20 62 79 20 61 20 62 .bit.enabling.it.is.reset.by.a.b
21cc0 69 74 20 66 6c 69 70 2c 20 74 68 65 20 68 65 61 64 65 72 20 77 69 6c 6c 20 61 70 70 65 61 72 20 it.flip,.the.header.will.appear.
21ce0 74 6f 20 62 65 20 69 6e 74 61 63 74 0a 28 69 6e 20 73 70 69 74 65 20 6f 66 20 62 65 69 6e 67 20 to.be.intact.(in.spite.of.being.
21d00 63 6f 72 72 75 70 74 29 20 77 68 69 6c 65 20 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 20 62 6c corrupt).while.the.compressed.bl
21d20 6f 63 6b 73 20 77 69 6c 6c 20 61 70 70 65 61 72 20 74 6f 0a 62 65 20 74 6f 74 61 6c 6c 79 20 75 ocks.will.appear.to.be.totally.u
21d40 6e 72 65 63 6f 76 65 72 61 62 6c 65 20 28 69 6e 20 73 70 69 74 65 20 6f 66 20 62 65 69 6e 67 20 nrecoverable.(in.spite.of.being.
21d60 69 6e 74 61 63 74 29 2e 20 56 65 72 79 20 6d 69 73 6c 65 61 64 69 6e 67 0a 69 6e 64 65 65 64 2e intact)..Very.misleading.indeed.
21d80 0a 0a 40 69 74 65 6d 20 4d 65 74 61 64 61 74 61 0a 0a 54 68 65 20 67 7a 69 70 20 66 6f 72 6d 61 ..@item.Metadata..The.gzip.forma
21da0 74 20 73 74 6f 72 65 73 20 73 6f 6d 65 20 6d 65 74 61 64 61 74 61 2c 20 6c 69 6b 65 20 74 68 65 t.stores.some.metadata,.like.the
21dc0 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 74 69 6d 65 20 6f 66 20 74 68 65 0a 6f 72 69 67 69 6e .modification.time.of.the.origin
21de0 61 6c 20 66 69 6c 65 20 6f 72 20 74 68 65 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 20 al.file.or.the.operating.system.
21e00 6f 6e 20 77 68 69 63 68 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 74 6f 6f 6b 20 70 6c 61 63 65 2e on.which.compression.took.place.
21e20 0a 54 68 69 73 20 63 6f 6d 70 6c 69 63 61 74 65 73 20 72 65 70 72 6f 64 75 63 69 62 6c 65 20 63 .This.complicates.reproducible.c
21e40 6f 6d 70 72 65 73 73 69 6f 6e 20 28 6f 62 74 61 69 6e 69 6e 67 20 69 64 65 6e 74 69 63 61 6c 0a ompression.(obtaining.identical.
21e60 63 6f 6d 70 72 65 73 73 65 64 20 6f 75 74 70 75 74 20 66 72 6f 6d 20 69 64 65 6e 74 69 63 61 6c compressed.output.from.identical
21e80 20 69 6e 70 75 74 29 2e 0a 0a 40 65 6e 64 20 74 61 62 6c 65 0a 0a 40 73 75 62 73 65 63 74 69 6f .input)...@end.table..@subsectio
21ea0 6e 20 4c 7a 69 70 20 66 6f 72 6d 61 74 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 20 6f 76 65 72 20 n.Lzip.format.improvements.over.
21ec0 67 7a 69 70 20 61 6e 64 20 62 7a 69 70 32 0a 0a 40 74 61 62 6c 65 20 40 73 61 6d 70 0a 40 69 74 gzip.and.bzip2..@table.@samp.@it
21ee0 65 6d 20 36 34 2d 62 69 74 20 73 69 7a 65 20 66 69 65 6c 64 0a 0a 50 72 6f 62 61 62 6c 79 20 74 em.64-bit.size.field..Probably.t
21f00 68 65 20 6d 6f 73 74 20 66 72 65 71 75 65 6e 74 6c 79 20 72 65 70 6f 72 74 65 64 20 73 68 6f 72 he.most.frequently.reported.shor
21f20 74 63 6f 6d 69 6e 67 20 6f 66 20 74 68 65 20 67 7a 69 70 20 66 6f 72 6d 61 74 20 69 73 0a 74 68 tcoming.of.the.gzip.format.is.th
21f40 61 74 20 69 74 20 6f 6e 6c 79 20 73 74 6f 72 65 73 20 74 68 65 20 6c 65 61 73 74 20 73 69 67 6e at.it.only.stores.the.least.sign
21f60 69 66 69 63 61 6e 74 20 33 32 20 62 69 74 73 20 6f 66 20 74 68 65 20 75 6e 63 6f 6d 70 72 65 73 ificant.32.bits.of.the.uncompres
21f80 73 65 64 0a 73 69 7a 65 2e 20 54 68 65 20 73 69 7a 65 20 6f 66 20 61 6e 79 20 66 69 6c 65 20 6c sed.size..The.size.of.any.file.l
21fa0 61 72 67 65 72 20 74 68 61 6e 20 40 77 7b 34 20 47 69 42 7d 20 67 65 74 73 20 74 72 75 6e 63 61 arger.than.@w{4.GiB}.gets.trunca
21fc0 74 65 64 2e 0a 0a 42 7a 69 70 32 20 64 6f 65 73 20 6e 6f 74 20 73 74 6f 72 65 20 74 68 65 20 75 ted...Bzip2.does.not.store.the.u
21fe0 6e 63 6f 6d 70 72 65 73 73 65 64 20 73 69 7a 65 20 6f 66 20 74 68 65 20 66 69 6c 65 2e 0a 0a 54 ncompressed.size.of.the.file...T
22000 68 65 20 6c 7a 69 70 20 66 6f 72 6d 61 74 20 70 72 6f 76 69 64 65 73 20 61 20 36 34 2d 62 69 74 he.lzip.format.provides.a.64-bit
22020 20 66 69 65 6c 64 20 66 6f 72 20 74 68 65 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 73 69 7a 65 .field.for.the.uncompressed.size
22040 2e 0a 41 64 64 69 74 69 6f 6e 61 6c 79 2c 20 6c 7a 69 70 20 70 72 6f 64 75 63 65 73 20 6d 75 6c ..Additionaly,.lzip.produces.mul
22060 74 69 6d 65 6d 62 65 72 20 6f 75 74 70 75 74 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 77 68 timember.output.automatically.wh
22080 65 6e 20 74 68 65 0a 73 69 7a 65 20 69 73 20 74 6f 6f 20 6c 61 72 67 65 20 66 6f 72 20 61 20 73 en.the.size.is.too.large.for.a.s
220a0 69 6e 67 6c 65 20 6d 65 6d 62 65 72 2c 20 61 6c 6c 6f 77 69 6e 67 20 66 6f 72 20 61 6e 20 75 6e ingle.member,.allowing.for.an.un
220c0 6c 69 6d 69 74 65 64 0a 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 73 69 7a 65 2e 0a 0a 40 69 74 65 limited.uncompressed.size...@ite
220e0 6d 20 44 69 73 74 72 69 62 75 74 65 64 20 69 6e 64 65 78 0a 0a 54 68 65 20 6c 7a 69 70 20 66 6f m.Distributed.index..The.lzip.fo
22100 72 6d 61 74 20 70 72 6f 76 69 64 65 73 20 61 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 64 65 rmat.provides.a.distributed.inde
22120 78 20 74 68 61 74 2c 20 61 6d 6f 6e 67 20 6f 74 68 65 72 20 74 68 69 6e 67 73 2c 0a 68 65 6c 70 x.that,.among.other.things,.help
22140 73 20 70 6c 7a 69 70 20 74 6f 20 64 65 63 6f 6d 70 72 65 73 73 20 73 65 76 65 72 61 6c 20 74 69 s.plzip.to.decompress.several.ti
22160 6d 65 73 20 66 61 73 74 65 72 20 74 68 61 6e 20 70 69 67 7a 20 61 6e 64 20 68 65 6c 70 73 0a 6c mes.faster.than.pigz.and.helps.l
22180 7a 69 70 72 65 63 6f 76 65 72 20 64 6f 20 69 74 73 20 6a 6f 62 2e 20 4e 65 69 74 68 65 72 20 74 ziprecover.do.its.job..Neither.t
221a0 68 65 20 67 7a 69 70 20 66 6f 72 6d 61 74 20 6e 6f 72 20 74 68 65 20 62 7a 69 70 32 20 66 6f 72 he.gzip.format.nor.the.bzip2.for
221c0 6d 61 74 20 64 6f 0a 70 72 6f 76 69 64 65 20 61 6e 20 69 6e 64 65 78 2e 0a 0a 41 20 64 69 73 74 mat.do.provide.an.index...A.dist
221e0 72 69 62 75 74 65 64 20 69 6e 64 65 78 20 69 73 20 73 61 66 65 72 20 61 6e 64 20 6d 6f 72 65 20 ributed.index.is.safer.and.more.
22200 73 63 61 6c 61 62 6c 65 20 74 68 61 6e 20 61 20 6d 6f 6e 6f 6c 69 74 68 69 63 20 69 6e 64 65 78 scalable.than.a.monolithic.index
22220 2e 0a 54 68 65 20 6d 6f 6e 6f 6c 69 74 68 69 63 20 69 6e 64 65 78 20 69 6e 74 72 6f 64 75 63 65 ..The.monolithic.index.introduce
22240 73 20 61 20 73 69 6e 67 6c 65 20 70 6f 69 6e 74 20 6f 66 20 66 61 69 6c 75 72 65 20 69 6e 20 74 s.a.single.point.of.failure.in.t
22260 68 65 0a 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 20 61 6e 64 20 6d 61 79 20 6c 69 6d 69 74 he.compressed.file.and.may.limit
22280 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 6d 65 6d 62 65 72 73 20 6f 72 20 74 68 65 20 74 6f .the.number.of.members.or.the.to
222a0 74 61 6c 0a 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 73 69 7a 65 2e 0a 0a 40 65 6e 64 20 74 61 62 tal.uncompressed.size...@end.tab
222c0 6c 65 0a 0a 40 73 65 63 74 69 6f 6e 20 51 75 61 6c 69 74 79 20 6f 66 20 69 6d 70 6c 65 6d 65 6e le..@section.Quality.of.implemen
222e0 74 61 74 69 6f 6e 0a 0a 40 74 61 62 6c 65 20 40 73 61 6d 70 0a 40 69 74 65 6d 20 41 63 63 75 72 tation..@table.@samp.@item.Accur
22300 61 74 65 20 61 6e 64 20 72 6f 62 75 73 74 20 65 72 72 6f 72 20 64 65 74 65 63 74 69 6f 6e 0a 0a ate.and.robust.error.detection..
22320 54 68 65 20 6c 7a 69 70 20 66 6f 72 6d 61 74 20 70 72 6f 76 69 64 65 73 20 33 20 66 61 63 74 6f The.lzip.format.provides.3.facto
22340 72 20 69 6e 74 65 67 72 69 74 79 20 63 68 65 63 6b 69 6e 67 20 61 6e 64 20 74 68 65 0a 64 65 63 r.integrity.checking.and.the.dec
22360 6f 6d 70 72 65 73 73 6f 72 73 20 72 65 70 6f 72 74 20 6d 69 73 6d 61 74 63 68 65 73 20 69 6e 20 ompressors.report.mismatches.in.
22380 65 61 63 68 20 66 61 63 74 6f 72 20 73 65 70 61 72 61 74 65 6c 79 2e 20 54 68 69 73 20 77 61 79 each.factor.separately..This.way
223a0 20 69 66 0a 6a 75 73 74 20 6f 6e 65 20 62 79 74 65 20 69 6e 20 6f 6e 65 20 66 61 63 74 6f 72 20 .if.just.one.byte.in.one.factor.
223c0 66 61 69 6c 73 20 62 75 74 20 74 68 65 20 6f 74 68 65 72 20 74 77 6f 20 66 61 63 74 6f 72 73 20 fails.but.the.other.two.factors.
223e0 6d 61 74 63 68 20 74 68 65 0a 64 61 74 61 2c 20 69 74 20 70 72 6f 62 61 62 6c 79 20 6d 65 61 6e match.the.data,.it.probably.mean
22400 73 20 74 68 61 74 20 74 68 65 20 64 61 74 61 20 61 72 65 20 69 6e 74 61 63 74 20 61 6e 64 20 74 s.that.the.data.are.intact.and.t
22420 68 65 20 63 6f 72 72 75 70 74 69 6f 6e 20 6a 75 73 74 0a 61 66 66 65 63 74 73 20 74 68 65 20 6d he.corruption.just.affects.the.m
22440 69 73 6d 61 74 63 68 69 6e 67 20 66 61 63 74 6f 72 20 28 43 52 43 20 6f 72 20 64 61 74 61 20 73 ismatching.factor.(CRC.or.data.s
22460 69 7a 65 29 20 69 6e 20 74 68 65 20 63 68 65 63 6b 20 73 65 71 75 65 6e 63 65 2e 0a 0a 40 69 74 ize).in.the.check.sequence...@it
22480 65 6d 20 4d 75 6c 74 69 70 6c 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 73 0a 0a 4a 75 73 em.Multiple.implementations..Jus
224a0 74 20 6c 69 6b 65 20 74 68 65 20 6c 7a 69 70 20 66 6f 72 6d 61 74 20 70 72 6f 76 69 64 65 73 20 t.like.the.lzip.format.provides.
224c0 33 20 66 61 63 74 6f 72 20 70 72 6f 74 65 63 74 69 6f 6e 20 61 67 61 69 6e 73 74 0a 75 6e 64 65 3.factor.protection.against.unde
224e0 74 65 63 74 65 64 20 64 61 74 61 20 63 6f 72 72 75 70 74 69 6f 6e 2c 20 74 68 65 20 64 65 76 65 tected.data.corruption,.the.deve
22500 6c 6f 70 6d 65 6e 74 20 6d 65 74 68 6f 64 6f 6c 6f 67 79 20 6f 66 20 74 68 65 20 6c 7a 69 70 0a lopment.methodology.of.the.lzip.
22520 66 61 6d 69 6c 79 20 6f 66 20 63 6f 6d 70 72 65 73 73 6f 72 73 20 70 72 6f 76 69 64 65 73 20 33 family.of.compressors.provides.3
22540 20 66 61 63 74 6f 72 20 70 72 6f 74 65 63 74 69 6f 6e 20 61 67 61 69 6e 73 74 20 75 6e 64 65 74 .factor.protection.against.undet
22560 65 63 74 65 64 0a 70 72 6f 67 72 61 6d 6d 69 6e 67 20 65 72 72 6f 72 73 2e 0a 0a 54 68 72 65 65 ected.programming.errors...Three
22580 20 72 65 6c 61 74 65 64 20 62 75 74 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 63 6f 6d 70 72 65 73 .related.but.independent.compres
225a0 73 6f 72 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 73 2c 20 6c 7a 69 70 2c 20 63 6c 7a 69 70 sor.implementations,.lzip,.clzip
225c0 0a 61 6e 64 20 6d 69 6e 69 6c 7a 69 70 2f 6c 7a 6c 69 62 2c 20 61 72 65 20 64 65 76 65 6c 6f 70 .and.minilzip/lzlib,.are.develop
225e0 65 64 20 63 6f 6e 63 75 72 72 65 6e 74 6c 79 2e 20 45 76 65 72 79 20 73 74 61 62 6c 65 20 72 65 ed.concurrently..Every.stable.re
22600 6c 65 61 73 65 20 6f 66 0a 61 6e 79 20 6f 66 20 74 68 65 6d 20 69 73 20 73 75 62 6a 65 63 74 65 lease.of.any.of.them.is.subjecte
22620 64 20 74 6f 20 61 20 68 75 6e 64 72 65 64 20 68 6f 75 72 73 20 6f 66 20 69 6e 74 65 6e 73 69 76 d.to.a.hundred.hours.of.intensiv
22640 65 20 74 65 73 74 69 6e 67 20 74 6f 0a 76 65 72 69 66 79 20 74 68 61 74 20 69 74 20 70 72 6f 64 e.testing.to.verify.that.it.prod
22660 75 63 65 73 20 69 64 65 6e 74 69 63 61 6c 20 6f 75 74 70 75 74 20 74 6f 20 74 68 65 20 6f 74 68 uces.identical.output.to.the.oth
22680 65 72 20 74 77 6f 2e 20 54 68 69 73 0a 67 75 61 72 61 6e 74 65 65 73 20 74 68 61 74 20 61 6c 6c er.two..This.guarantees.that.all
226a0 20 74 68 72 65 65 20 69 6d 70 6c 65 6d 65 6e 74 20 74 68 65 20 73 61 6d 65 20 61 6c 67 6f 72 69 .three.implement.the.same.algori
226c0 74 68 6d 2c 20 61 6e 64 20 6d 61 6b 65 73 20 69 74 0a 75 6e 6c 69 6b 65 6c 79 20 74 68 61 74 20 thm,.and.makes.it.unlikely.that.
226e0 61 6e 79 20 6f 66 20 74 68 65 6d 20 6d 61 79 20 63 6f 6e 74 61 69 6e 20 73 65 72 69 6f 75 73 20 any.of.them.may.contain.serious.
22700 75 6e 64 69 73 63 6f 76 65 72 65 64 20 65 72 72 6f 72 73 2e 20 49 6e 0a 66 61 63 74 2c 20 6e 6f undiscovered.errors..In.fact,.no
22720 20 65 72 72 6f 72 73 20 68 61 76 65 20 62 65 65 6e 20 64 69 73 63 6f 76 65 72 65 64 20 69 6e 20 .errors.have.been.discovered.in.
22740 6c 7a 69 70 20 73 69 6e 63 65 20 32 30 30 39 2e 0a 0a 41 64 64 69 74 69 6f 6e 61 6c 6c 79 2c 20 lzip.since.2009...Additionally,.
22760 74 68 65 20 74 68 72 65 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 73 20 68 61 76 65 20 62 the.three.implementations.have.b
22780 65 65 6e 20 65 78 74 65 6e 73 69 76 65 6c 79 20 74 65 73 74 65 64 0a 77 69 74 68 0a 40 75 72 65 een.extensively.tested.with.@ure
227a0 66 7b 68 74 74 70 3a 2f 2f 77 77 77 2e 6e 6f 6e 67 6e 75 2e 6f 72 67 2f 6c 7a 69 70 2f 6d 61 6e f{http://www.nongnu.org/lzip/man
227c0 75 61 6c 2f 6c 7a 69 70 72 65 63 6f 76 65 72 5f 6d 61 6e 75 61 6c 2e 68 74 6d 6c 23 55 6e 7a 63 ual/lziprecover_manual.html#Unzc
227e0 72 61 73 68 2c 2c 75 6e 7a 63 72 61 73 68 7d 2c 0a 76 61 6c 67 72 69 6e 64 20 61 6e 64 20 40 73 rash,,unzcrash},.valgrind.and.@s
22800 61 6d 70 7b 61 6d 65 72 69 63 61 6e 20 66 75 7a 7a 79 20 6c 6f 70 7d 20 77 69 74 68 6f 75 74 20 amp{american.fuzzy.lop}.without.
22820 66 69 6e 64 69 6e 67 20 61 20 73 69 6e 67 6c 65 0a 76 75 6c 6e 65 72 61 62 69 6c 69 74 79 20 6f finding.a.single.vulnerability.o
22840 72 20 66 61 6c 73 65 20 6e 65 67 61 74 69 76 65 2e 0a 40 69 66 6e 6f 74 68 74 6d 6c 0a 40 78 72 r.false.negative..@ifnothtml.@xr
22860 65 66 7b 55 6e 7a 63 72 61 73 68 2c 2c 2c 6c 7a 69 70 72 65 63 6f 76 65 72 7d 2e 0a 40 65 6e 64 ef{Unzcrash,,,lziprecover}..@end
22880 20 69 66 6e 6f 74 68 74 6d 6c 0a 0a 40 69 74 65 6d 20 44 69 63 74 69 6f 6e 61 72 79 20 73 69 7a .ifnothtml..@item.Dictionary.siz
228a0 65 0a 0a 4c 7a 69 70 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 75 73 65 73 20 74 68 65 20 73 e..Lzip.automatically.uses.the.s
228c0 6d 61 6c 6c 65 73 74 20 70 6f 73 73 69 62 6c 65 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 mallest.possible.dictionary.size
228e0 20 66 6f 72 20 65 61 63 68 0a 66 69 6c 65 2e 20 49 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 72 .for.each.file..In.addition.to.r
22900 65 64 75 63 69 6e 67 20 74 68 65 20 61 6d 6f 75 6e 74 20 6f 66 20 6d 65 6d 6f 72 79 20 72 65 71 educing.the.amount.of.memory.req
22920 75 69 72 65 64 20 66 6f 72 0a 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 2c 20 74 68 69 73 20 66 65 uired.for.decompression,.this.fe
22940 61 74 75 72 65 20 61 6c 73 6f 20 6d 69 6e 69 6d 69 7a 65 73 20 74 68 65 20 70 72 6f 62 61 62 69 ature.also.minimizes.the.probabi
22960 6c 69 74 79 20 6f 66 20 62 65 69 6e 67 0a 61 66 66 65 63 74 65 64 20 62 79 20 52 41 4d 20 65 72 lity.of.being.affected.by.RAM.er
22980 72 6f 72 73 20 64 75 72 69 6e 67 20 63 6f 6d 70 72 65 73 73 69 6f 6e 2e 0a 0a 40 69 74 65 6d 20 rors.during.compression...@item.
229a0 45 78 69 74 20 73 74 61 74 75 73 0a 0a 52 65 74 75 72 6e 69 6e 67 20 61 20 77 61 72 6e 69 6e 67 Exit.status..Returning.a.warning
229c0 20 73 74 61 74 75 73 20 6f 66 20 32 20 69 73 20 61 20 64 65 73 69 67 6e 20 66 6c 61 77 20 6f 66 .status.of.2.is.a.design.flaw.of
229e0 20 63 6f 6d 70 72 65 73 73 20 74 68 61 74 20 6c 65 61 6b 65 64 0a 69 6e 74 6f 20 74 68 65 20 64 .compress.that.leaked.into.the.d
22a00 65 73 69 67 6e 20 6f 66 20 67 7a 69 70 2e 20 42 6f 74 68 20 62 7a 69 70 32 20 61 6e 64 20 6c 7a esign.of.gzip..Both.bzip2.and.lz
22a20 69 70 20 61 72 65 20 66 72 65 65 20 66 72 6f 6d 20 74 68 69 73 20 66 6c 61 77 2e 0a 0a 40 65 6e ip.are.free.from.this.flaw...@en
22a40 64 20 74 61 62 6c 65 0a 0a 0a 40 6e 6f 64 65 20 46 69 6c 65 20 66 6f 72 6d 61 74 0a 40 63 68 61 d.table...@node.File.format.@cha
22a60 70 74 65 72 20 46 69 6c 65 20 66 6f 72 6d 61 74 0a 40 63 69 6e 64 65 78 20 66 69 6c 65 20 66 6f pter.File.format.@cindex.file.fo
22a80 72 6d 61 74 0a 0a 50 65 72 66 65 63 74 69 6f 6e 20 69 73 20 72 65 61 63 68 65 64 2c 20 6e 6f 74 rmat..Perfection.is.reached,.not
22aa0 20 77 68 65 6e 20 74 68 65 72 65 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 61 6e 79 74 68 69 6e .when.there.is.no.longer.anythin
22ac0 67 20 74 6f 20 61 64 64 2c 20 62 75 74 0a 77 68 65 6e 20 74 68 65 72 65 20 69 73 20 6e 6f 20 6c g.to.add,.but.when.there.is.no.l
22ae0 6f 6e 67 65 72 20 61 6e 79 74 68 69 6e 67 20 74 6f 20 74 61 6b 65 20 61 77 61 79 2e 40 2a 0a 2d onger.anything.to.take.away.@*.-
22b00 2d 2d 20 41 6e 74 6f 69 6e 65 20 64 65 20 53 61 69 6e 74 2d 45 78 75 70 65 72 79 0a 0a 40 73 70 --.Antoine.de.Saint-Exupery..@sp
22b20 20 31 0a 49 6e 20 74 68 65 20 64 69 61 67 72 61 6d 20 62 65 6c 6f 77 2c 20 61 20 62 6f 78 20 6c .1.In.the.diagram.below,.a.box.l
22b40 69 6b 65 20 74 68 69 73 3a 0a 40 76 65 72 62 61 74 69 6d 0a 2b 2d 2d 2d 2b 0a 7c 20 20 20 7c 20 ike.this:.@verbatim.+---+.|...|.
22b60 3c 2d 2d 20 74 68 65 20 76 65 72 74 69 63 61 6c 20 62 61 72 73 20 6d 69 67 68 74 20 62 65 20 6d <--.the.vertical.bars.might.be.m
22b80 69 73 73 69 6e 67 0a 2b 2d 2d 2d 2b 0a 40 65 6e 64 20 76 65 72 62 61 74 69 6d 0a 0a 72 65 70 72 issing.+---+.@end.verbatim..repr
22ba0 65 73 65 6e 74 73 20 6f 6e 65 20 62 79 74 65 3b 20 61 20 62 6f 78 20 6c 69 6b 65 20 74 68 69 73 esents.one.byte;.a.box.like.this
22bc0 3a 0a 40 76 65 72 62 61 74 69 6d 0a 2b 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 2b 0a 7c 20 20 :.@verbatim.+==============+.|..
22be0 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a 2b 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 2b 0a 40 ............|.+==============+.@
22c00 65 6e 64 20 76 65 72 62 61 74 69 6d 0a 0a 72 65 70 72 65 73 65 6e 74 73 20 61 20 76 61 72 69 61 end.verbatim..represents.a.varia
22c20 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 2e 0a 0a 40 73 70 20 31 0a 41 20 6c 7a ble.number.of.bytes...@sp.1.A.lz
22c40 69 70 20 66 69 6c 65 20 63 6f 6e 73 69 73 74 73 20 6f 66 20 61 20 73 65 72 69 65 73 20 6f 66 20 ip.file.consists.of.a.series.of.
22c60 22 6d 65 6d 62 65 72 73 22 20 28 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 20 73 65 74 73 29 "members".(compressed.data.sets)
22c80 2e 0a 54 68 65 20 6d 65 6d 62 65 72 73 20 73 69 6d 70 6c 79 20 61 70 70 65 61 72 20 6f 6e 65 20 ..The.members.simply.appear.one.
22ca0 61 66 74 65 72 20 61 6e 6f 74 68 65 72 20 69 6e 20 74 68 65 20 66 69 6c 65 2c 20 77 69 74 68 20 after.another.in.the.file,.with.
22cc0 6e 6f 0a 61 64 64 69 74 69 6f 6e 61 6c 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 62 65 66 6f 72 65 no.additional.information.before
22ce0 2c 20 62 65 74 77 65 65 6e 2c 20 6f 72 20 61 66 74 65 72 20 74 68 65 6d 2e 0a 0a 45 61 63 68 20 ,.between,.or.after.them...Each.
22d00 6d 65 6d 62 65 72 20 68 61 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 73 74 72 75 63 74 75 member.has.the.following.structu
22d20 72 65 3a 0a 40 76 65 72 62 61 74 69 6d 0a 2b 2d 2d 2b 2d 2d 2b 2d 2d 2b 2d 2d 2b 2d 2d 2d 2d 2b re:.@verbatim.+--+--+--+--+----+
22d40 2d 2d 2d 2d 2b 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d ----+=============+-+-+-+-+-+-+-
22d60 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 0a 7c 20 49 44 +-+-+-+-+-+-+-+-+-+-+-+-+-+.|.ID
22d80 20 73 74 72 69 6e 67 20 7c 20 56 4e 20 7c 20 44 53 20 7c 20 4c 5a 4d 41 20 73 74 72 65 61 6d 20 .string.|.VN.|.DS.|.LZMA.stream.
22da0 7c 20 43 52 43 33 32 20 7c 20 20 20 44 61 74 61 20 73 69 7a 65 20 20 20 7c 20 20 4d 65 6d 62 65 |.CRC32.|...Data.size...|..Membe
22dc0 72 20 73 69 7a 65 20 20 7c 0a 2b 2d 2d 2b 2d 2d 2b 2d 2d 2b 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d r.size..|.+--+--+--+--+----+----
22de0 2b 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d +=============+-+-+-+-+-+-+-+-+-
22e00 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 0a 40 65 6e 64 20 76 65 72 +-+-+-+-+-+-+-+-+-+-+-+.@end.ver
22e20 62 61 74 69 6d 0a 0a 41 6c 6c 20 6d 75 6c 74 69 62 79 74 65 20 76 61 6c 75 65 73 20 61 72 65 20 batim..All.multibyte.values.are.
22e40 73 74 6f 72 65 64 20 69 6e 20 6c 69 74 74 6c 65 20 65 6e 64 69 61 6e 20 6f 72 64 65 72 2e 0a 0a stored.in.little.endian.order...
22e60 40 74 61 62 6c 65 20 40 73 61 6d 70 0a 40 69 74 65 6d 20 49 44 20 73 74 72 69 6e 67 20 28 74 68 @table.@samp.@item.ID.string.(th
22e80 65 20 22 6d 61 67 69 63 22 20 62 79 74 65 73 29 0a 41 20 66 6f 75 72 20 62 79 74 65 20 73 74 72 e."magic".bytes).A.four.byte.str
22ea0 69 6e 67 2c 20 69 64 65 6e 74 69 66 79 69 6e 67 20 74 68 65 20 6c 7a 69 70 20 66 6f 72 6d 61 74 ing,.identifying.the.lzip.format
22ec0 2c 20 77 69 74 68 20 74 68 65 20 76 61 6c 75 65 20 22 4c 5a 49 50 22 0a 28 30 78 34 43 2c 20 30 ,.with.the.value."LZIP".(0x4C,.0
22ee0 78 35 41 2c 20 30 78 34 39 2c 20 30 78 35 30 29 2e 0a 0a 40 69 74 65 6d 20 56 4e 20 28 76 65 72 x5A,.0x49,.0x50)...@item.VN.(ver
22f00 73 69 6f 6e 20 6e 75 6d 62 65 72 2c 20 31 20 62 79 74 65 29 0a 4a 75 73 74 20 69 6e 20 63 61 73 sion.number,.1.byte).Just.in.cas
22f20 65 20 73 6f 6d 65 74 68 69 6e 67 20 6e 65 65 64 73 20 74 6f 20 62 65 20 6d 6f 64 69 66 69 65 64 e.something.needs.to.be.modified
22f40 20 69 6e 20 74 68 65 20 66 75 74 75 72 65 2e 20 31 20 66 6f 72 20 6e 6f 77 2e 0a 0a 40 69 74 65 .in.the.future..1.for.now...@ite
22f60 6d 20 44 53 20 28 63 6f 64 65 64 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 2c 20 31 20 62 m.DS.(coded.dictionary.size,.1.b
22f80 79 74 65 29 0a 54 68 65 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 69 73 20 63 61 6c 63 yte).The.dictionary.size.is.calc
22fa0 75 6c 61 74 65 64 20 62 79 20 74 61 6b 69 6e 67 20 61 20 70 6f 77 65 72 20 6f 66 20 32 20 28 74 ulated.by.taking.a.power.of.2.(t
22fc0 68 65 20 62 61 73 65 20 73 69 7a 65 29 0a 61 6e 64 20 73 75 62 73 74 72 61 63 74 69 6e 67 20 66 he.base.size).and.substracting.f
22fe0 72 6f 6d 20 69 74 20 61 20 66 72 61 63 74 69 6f 6e 20 62 65 74 77 65 65 6e 20 30 2f 31 36 20 61 rom.it.a.fraction.between.0/16.a
23000 6e 64 20 37 2f 31 36 20 6f 66 20 74 68 65 20 62 61 73 65 0a 73 69 7a 65 2e 40 2a 0a 42 69 74 73 nd.7/16.of.the.base.size.@*.Bits
23020 20 34 2d 30 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 62 61 73 65 20 32 20 6c 6f 67 61 72 69 74 68 .4-0.contain.the.base.2.logarith
23040 6d 20 6f 66 20 74 68 65 20 62 61 73 65 20 73 69 7a 65 20 28 31 32 20 74 6f 20 32 39 29 2e 40 2a m.of.the.base.size.(12.to.29).@*
23060 0a 42 69 74 73 20 37 2d 35 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 6e 75 6d 65 72 61 74 6f 72 20 .Bits.7-5.contain.the.numerator.
23080 6f 66 20 74 68 65 20 66 72 61 63 74 69 6f 6e 20 28 30 20 74 6f 20 37 29 20 74 6f 20 73 75 62 73 of.the.fraction.(0.to.7).to.subs
230a0 74 72 61 63 74 0a 66 72 6f 6d 20 74 68 65 20 62 61 73 65 20 73 69 7a 65 20 74 6f 20 6f 62 74 61 tract.from.the.base.size.to.obta
230c0 69 6e 20 74 68 65 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 2e 40 2a 0a 45 78 61 6d 70 6c in.the.dictionary.size.@*.Exampl
230e0 65 3a 20 30 78 44 33 20 3d 20 32 5e 31 39 20 2d 20 36 20 2a 20 32 5e 31 35 20 3d 20 35 31 32 20 e:.0xD3.=.2^19.-.6.*.2^15.=.512.
23100 4b 69 42 20 2d 20 36 20 2a 20 33 32 20 4b 69 42 20 3d 20 33 32 30 20 4b 69 42 40 2a 0a 56 61 6c KiB.-.6.*.32.KiB.=.320.KiB@*.Val
23120 69 64 20 76 61 6c 75 65 73 20 66 6f 72 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 72 61 id.values.for.dictionary.size.ra
23140 6e 67 65 20 66 72 6f 6d 20 34 20 4b 69 42 20 74 6f 20 35 31 32 20 4d 69 42 2e 0a 0a 40 69 74 65 nge.from.4.KiB.to.512.MiB...@ite
23160 6d 20 4c 5a 4d 41 20 73 74 72 65 61 6d 0a 54 68 65 20 4c 5a 4d 41 20 73 74 72 65 61 6d 2c 20 66 m.LZMA.stream.The.LZMA.stream,.f
23180 69 6e 69 73 68 65 64 20 62 79 20 61 6e 20 65 6e 64 20 6f 66 20 73 74 72 65 61 6d 20 6d 61 72 6b inished.by.an.end.of.stream.mark
231a0 65 72 2e 20 55 73 65 73 20 64 65 66 61 75 6c 74 0a 76 61 6c 75 65 73 20 66 6f 72 20 65 6e 63 6f er..Uses.default.values.for.enco
231c0 64 65 72 20 70 72 6f 70 65 72 74 69 65 73 2e 20 40 78 72 65 66 7b 53 74 72 65 61 6d 20 66 6f 72 der.properties..@xref{Stream.for
231e0 6d 61 74 7d 2c 20 66 6f 72 20 61 20 63 6f 6d 70 6c 65 74 65 0a 64 65 73 63 72 69 70 74 69 6f 6e mat},.for.a.complete.description
23200 2e 0a 0a 40 69 74 65 6d 20 43 52 43 33 32 20 28 34 20 62 79 74 65 73 29 0a 43 52 43 20 6f 66 20 ...@item.CRC32.(4.bytes).CRC.of.
23220 74 68 65 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 6f 72 69 67 69 6e 61 6c 20 64 61 74 61 2e 0a the.uncompressed.original.data..
23240 0a 40 69 74 65 6d 20 44 61 74 61 20 73 69 7a 65 20 28 38 20 62 79 74 65 73 29 0a 53 69 7a 65 20 .@item.Data.size.(8.bytes).Size.
23260 6f 66 20 74 68 65 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 6f 72 69 67 69 6e 61 6c 20 64 61 74 of.the.uncompressed.original.dat
23280 61 2e 0a 0a 40 69 74 65 6d 20 4d 65 6d 62 65 72 20 73 69 7a 65 20 28 38 20 62 79 74 65 73 29 0a a...@item.Member.size.(8.bytes).
232a0 54 6f 74 61 6c 20 73 69 7a 65 20 6f 66 20 74 68 65 20 6d 65 6d 62 65 72 2c 20 69 6e 63 6c 75 64 Total.size.of.the.member,.includ
232c0 69 6e 67 20 68 65 61 64 65 72 20 61 6e 64 20 74 72 61 69 6c 65 72 2e 20 54 68 69 73 20 66 69 65 ing.header.and.trailer..This.fie
232e0 6c 64 20 61 63 74 73 0a 61 73 20 61 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 64 65 78 2c 20 ld.acts.as.a.distributed.index,.
23300 61 6c 6c 6f 77 73 20 74 68 65 20 76 65 72 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 73 74 72 65 61 allows.the.verification.of.strea
23320 6d 20 69 6e 74 65 67 72 69 74 79 2c 20 61 6e 64 0a 66 61 63 69 6c 69 74 61 74 65 73 20 73 61 66 m.integrity,.and.facilitates.saf
23340 65 20 72 65 63 6f 76 65 72 79 20 6f 66 20 75 6e 64 61 6d 61 67 65 64 20 6d 65 6d 62 65 72 73 20 e.recovery.of.undamaged.members.
23360 66 72 6f 6d 20 6d 75 6c 74 69 6d 65 6d 62 65 72 20 66 69 6c 65 73 2e 0a 0a 40 65 6e 64 20 74 61 from.multimember.files...@end.ta
23380 62 6c 65 0a 0a 0a 40 6e 6f 64 65 20 41 6c 67 6f 72 69 74 68 6d 0a 40 63 68 61 70 74 65 72 20 41 ble...@node.Algorithm.@chapter.A
233a0 6c 67 6f 72 69 74 68 6d 0a 40 63 69 6e 64 65 78 20 61 6c 67 6f 72 69 74 68 6d 0a 0a 49 6e 20 73 lgorithm.@cindex.algorithm..In.s
233c0 70 69 74 65 20 6f 66 20 69 74 73 20 6e 61 6d 65 20 28 4c 65 6d 70 65 6c 2d 5a 69 76 2d 4d 61 72 pite.of.its.name.(Lempel-Ziv-Mar
233e0 6b 6f 76 20 63 68 61 69 6e 2d 41 6c 67 6f 72 69 74 68 6d 29 2c 20 4c 5a 4d 41 20 69 73 20 6e 6f kov.chain-Algorithm),.LZMA.is.no
23400 74 20 61 0a 63 6f 6e 63 72 65 74 65 20 61 6c 67 6f 72 69 74 68 6d 3b 20 69 74 20 69 73 20 6d 6f t.a.concrete.algorithm;.it.is.mo
23420 72 65 20 6c 69 6b 65 20 22 61 6e 79 20 61 6c 67 6f 72 69 74 68 6d 20 75 73 69 6e 67 20 74 68 65 re.like."any.algorithm.using.the
23440 20 4c 5a 4d 41 20 63 6f 64 69 6e 67 0a 73 63 68 65 6d 65 22 2e 20 46 6f 72 20 65 78 61 6d 70 6c .LZMA.coding.scheme"..For.exampl
23460 65 2c 20 74 68 65 20 6f 70 74 69 6f 6e 20 40 73 61 6d 70 7b 2d 30 7d 20 6f 66 20 6c 7a 69 70 20 e,.the.option.@samp{-0}.of.lzip.
23480 75 73 65 73 20 74 68 65 20 73 63 68 65 6d 65 20 69 6e 20 61 6c 6d 6f 73 74 0a 74 68 65 20 73 69 uses.the.scheme.in.almost.the.si
234a0 6d 70 6c 65 73 74 20 77 61 79 20 70 6f 73 73 69 62 6c 65 3b 20 69 73 73 75 69 6e 67 20 74 68 65 mplest.way.possible;.issuing.the
234c0 20 6c 6f 6e 67 65 73 74 20 6d 61 74 63 68 20 69 74 20 63 61 6e 20 66 69 6e 64 2c 20 6f 72 20 61 .longest.match.it.can.find,.or.a
234e0 0a 6c 69 74 65 72 61 6c 20 62 79 74 65 20 69 66 20 69 74 20 63 61 6e 27 74 20 66 69 6e 64 20 61 .literal.byte.if.it.can't.find.a
23500 20 6d 61 74 63 68 2e 20 49 6e 76 65 72 73 65 6c 79 2c 20 61 20 6d 75 63 68 20 6d 6f 72 65 20 65 .match..Inversely,.a.much.more.e
23520 6c 61 62 6f 72 61 74 65 64 0a 77 61 79 20 6f 66 20 66 69 6e 64 69 6e 67 20 63 6f 64 69 6e 67 20 laborated.way.of.finding.coding.
23540 73 65 71 75 65 6e 63 65 73 20 6f 66 20 6d 69 6e 69 6d 75 6d 20 73 69 7a 65 20 74 68 61 6e 20 74 sequences.of.minimum.size.than.t
23560 68 65 20 6f 6e 65 20 63 75 72 72 65 6e 74 6c 79 0a 75 73 65 64 20 62 79 20 6c 7a 69 70 20 63 6f he.one.currently.used.by.lzip.co
23580 75 6c 64 20 62 65 20 64 65 76 65 6c 6f 70 65 64 2c 20 61 6e 64 20 74 68 65 20 72 65 73 75 6c 74 uld.be.developed,.and.the.result
235a0 69 6e 67 20 73 65 71 75 65 6e 63 65 20 63 6f 75 6c 64 20 61 6c 73 6f 0a 62 65 20 63 6f 64 65 64 ing.sequence.could.also.be.coded
235c0 20 75 73 69 6e 67 20 74 68 65 20 4c 5a 4d 41 20 63 6f 64 69 6e 67 20 73 63 68 65 6d 65 2e 0a 0a .using.the.LZMA.coding.scheme...
235e0 4c 7a 69 70 20 63 75 72 72 65 6e 74 6c 79 20 69 6d 70 6c 65 6d 65 6e 74 73 20 74 77 6f 20 76 61 Lzip.currently.implements.two.va
23600 72 69 61 6e 74 73 20 6f 66 20 74 68 65 20 4c 5a 4d 41 20 61 6c 67 6f 72 69 74 68 6d 3b 20 66 61 riants.of.the.LZMA.algorithm;.fa
23620 73 74 0a 28 75 73 65 64 20 62 79 20 6f 70 74 69 6f 6e 20 40 73 61 6d 70 7b 2d 30 7d 29 20 61 6e st.(used.by.option.@samp{-0}).an
23640 64 20 6e 6f 72 6d 61 6c 20 28 75 73 65 64 20 62 79 20 61 6c 6c 20 6f 74 68 65 72 20 63 6f 6d 70 d.normal.(used.by.all.other.comp
23660 72 65 73 73 69 6f 6e 20 6c 65 76 65 6c 73 29 2e 0a 0a 54 68 65 20 68 69 67 68 20 63 6f 6d 70 72 ression.levels)...The.high.compr
23680 65 73 73 69 6f 6e 20 6f 66 20 4c 5a 4d 41 20 63 6f 6d 65 73 20 66 72 6f 6d 20 63 6f 6d 62 69 6e ession.of.LZMA.comes.from.combin
236a0 69 6e 67 20 74 77 6f 20 62 61 73 69 63 2c 20 77 65 6c 6c 2d 70 72 6f 76 65 6e 0a 63 6f 6d 70 72 ing.two.basic,.well-proven.compr
236c0 65 73 73 69 6f 6e 20 69 64 65 61 73 3a 20 73 6c 69 64 69 6e 67 20 64 69 63 74 69 6f 6e 61 72 69 ession.ideas:.sliding.dictionari
236e0 65 73 20 28 4c 5a 37 37 2f 37 38 29 20 61 6e 64 20 6d 61 72 6b 6f 76 20 6d 6f 64 65 6c 73 20 28 es.(LZ77/78).and.markov.models.(
23700 74 68 65 0a 74 68 69 6e 67 20 75 73 65 64 20 62 79 20 65 76 65 72 79 20 63 6f 6d 70 72 65 73 73 the.thing.used.by.every.compress
23720 69 6f 6e 20 61 6c 67 6f 72 69 74 68 6d 20 74 68 61 74 20 75 73 65 73 20 61 20 72 61 6e 67 65 20 ion.algorithm.that.uses.a.range.
23740 65 6e 63 6f 64 65 72 20 6f 72 0a 73 69 6d 69 6c 61 72 20 6f 72 64 65 72 2d 30 20 65 6e 74 72 6f encoder.or.similar.order-0.entro
23760 70 79 20 63 6f 64 65 72 20 61 73 20 69 74 73 20 6c 61 73 74 20 73 74 61 67 65 29 20 77 69 74 68 py.coder.as.its.last.stage).with
23780 20 73 65 67 72 65 67 61 74 69 6f 6e 20 6f 66 0a 63 6f 6e 74 65 78 74 73 20 61 63 63 6f 72 64 69 .segregation.of.contexts.accordi
237a0 6e 67 20 74 6f 20 77 68 61 74 20 74 68 65 20 62 69 74 73 20 61 72 65 20 75 73 65 64 20 66 6f 72 ng.to.what.the.bits.are.used.for
237c0 2e 0a 0a 4c 7a 69 70 20 69 73 20 61 20 74 77 6f 20 73 74 61 67 65 20 63 6f 6d 70 72 65 73 73 6f ...Lzip.is.a.two.stage.compresso
237e0 72 2e 20 54 68 65 20 66 69 72 73 74 20 73 74 61 67 65 20 69 73 20 61 20 4c 65 6d 70 65 6c 2d 5a r..The.first.stage.is.a.Lempel-Z
23800 69 76 20 63 6f 64 65 72 2c 0a 77 68 69 63 68 20 72 65 64 75 63 65 73 20 72 65 64 75 6e 64 61 6e iv.coder,.which.reduces.redundan
23820 63 79 20 62 79 20 74 72 61 6e 73 6c 61 74 69 6e 67 20 63 68 75 6e 6b 73 20 6f 66 20 64 61 74 61 cy.by.translating.chunks.of.data
23840 20 74 6f 20 74 68 65 69 72 0a 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 64 69 73 74 61 6e 63 65 .to.their.corresponding.distance
23860 2d 6c 65 6e 67 74 68 20 70 61 69 72 73 2e 20 54 68 65 20 73 65 63 6f 6e 64 20 73 74 61 67 65 20 -length.pairs..The.second.stage.
23880 69 73 20 61 20 72 61 6e 67 65 20 65 6e 63 6f 64 65 72 0a 74 68 61 74 20 75 73 65 73 20 61 20 64 is.a.range.encoder.that.uses.a.d
238a0 69 66 66 65 72 65 6e 74 20 70 72 6f 62 61 62 69 6c 69 74 79 20 6d 6f 64 65 6c 20 66 6f 72 20 65 ifferent.probability.model.for.e
238c0 61 63 68 20 74 79 70 65 20 6f 66 20 64 61 74 61 3b 0a 64 69 73 74 61 6e 63 65 73 2c 20 6c 65 6e ach.type.of.data;.distances,.len
238e0 67 74 68 73 2c 20 6c 69 74 65 72 61 6c 20 62 79 74 65 73 2c 20 65 74 63 2e 0a 0a 48 65 72 65 20 gths,.literal.bytes,.etc...Here.
23900 69 73 20 68 6f 77 20 69 74 20 77 6f 72 6b 73 2c 20 73 74 65 70 20 62 79 20 73 74 65 70 3a 0a 0a is.how.it.works,.step.by.step:..
23920 31 29 20 54 68 65 20 6d 65 6d 62 65 72 20 68 65 61 64 65 72 20 69 73 20 77 72 69 74 74 65 6e 20 1).The.member.header.is.written.
23940 74 6f 20 74 68 65 20 6f 75 74 70 75 74 20 73 74 72 65 61 6d 2e 0a 0a 32 29 20 54 68 65 20 66 69 to.the.output.stream...2).The.fi
23960 72 73 74 20 62 79 74 65 20 69 73 20 63 6f 64 65 64 20 6c 69 74 65 72 61 6c 6c 79 2c 20 62 65 63 rst.byte.is.coded.literally,.bec
23980 61 75 73 65 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 70 72 65 76 69 6f 75 73 0a 62 79 74 65 73 ause.there.are.no.previous.bytes
239a0 20 74 6f 20 77 68 69 63 68 20 74 68 65 20 6d 61 74 63 68 20 66 69 6e 64 65 72 20 63 61 6e 20 72 .to.which.the.match.finder.can.r
239c0 65 66 65 72 20 74 6f 2e 0a 0a 33 29 20 54 68 65 20 6d 61 69 6e 20 65 6e 63 6f 64 65 72 20 61 64 efer.to...3).The.main.encoder.ad
239e0 76 61 6e 63 65 73 20 74 6f 20 74 68 65 20 6e 65 78 74 20 62 79 74 65 20 69 6e 20 74 68 65 20 69 vances.to.the.next.byte.in.the.i
23a00 6e 70 75 74 20 64 61 74 61 20 61 6e 64 0a 63 61 6c 6c 73 20 74 68 65 20 6d 61 74 63 68 20 66 69 nput.data.and.calls.the.match.fi
23a20 6e 64 65 72 2e 0a 0a 34 29 20 54 68 65 20 6d 61 74 63 68 20 66 69 6e 64 65 72 20 66 69 6c 6c 73 nder...4).The.match.finder.fills
23a40 20 61 6e 20 61 72 72 61 79 20 77 69 74 68 20 74 68 65 20 6d 69 6e 69 6d 75 6d 20 64 69 73 74 61 .an.array.with.the.minimum.dista
23a60 6e 63 65 73 20 62 65 66 6f 72 65 20 74 68 65 0a 63 75 72 72 65 6e 74 20 62 79 74 65 20 77 68 65 nces.before.the.current.byte.whe
23a80 72 65 20 61 20 6d 61 74 63 68 20 6f 66 20 61 20 67 69 76 65 6e 20 6c 65 6e 67 74 68 20 63 61 6e re.a.match.of.a.given.length.can
23aa0 20 62 65 20 66 6f 75 6e 64 2e 0a 0a 35 29 20 47 6f 20 62 61 63 6b 20 74 6f 20 73 74 65 70 20 33 .be.found...5).Go.back.to.step.3
23ac0 20 75 6e 74 69 6c 20 61 20 73 65 71 75 65 6e 63 65 20 28 66 6f 72 6d 65 64 20 6f 66 20 70 61 69 .until.a.sequence.(formed.of.pai
23ae0 72 73 2c 20 72 65 70 65 61 74 65 64 0a 64 69 73 74 61 6e 63 65 73 20 61 6e 64 20 6c 69 74 65 72 rs,.repeated.distances.and.liter
23b00 61 6c 20 62 79 74 65 73 29 20 6f 66 20 6d 69 6e 69 6d 75 6d 20 70 72 69 63 65 20 68 61 73 20 62 al.bytes).of.minimum.price.has.b
23b20 65 65 6e 20 66 6f 72 6d 65 64 2e 20 57 68 65 72 65 20 74 68 65 0a 70 72 69 63 65 20 72 65 70 72 een.formed..Where.the.price.repr
23b40 65 73 65 6e 74 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 6f 75 74 70 75 74 20 62 69 74 73 esents.the.number.of.output.bits
23b60 20 70 72 6f 64 75 63 65 64 2e 0a 0a 36 29 20 54 68 65 20 72 61 6e 67 65 20 65 6e 63 6f 64 65 72 .produced...6).The.range.encoder
23b80 20 65 6e 63 6f 64 65 73 20 74 68 65 20 73 65 71 75 65 6e 63 65 20 70 72 6f 64 75 63 65 64 20 62 .encodes.the.sequence.produced.b
23ba0 79 20 74 68 65 20 6d 61 69 6e 20 65 6e 63 6f 64 65 72 0a 61 6e 64 20 73 65 6e 64 73 20 74 68 65 y.the.main.encoder.and.sends.the
23bc0 20 70 72 6f 64 75 63 65 64 20 62 79 74 65 73 20 74 6f 20 74 68 65 20 6f 75 74 70 75 74 20 73 74 .produced.bytes.to.the.output.st
23be0 72 65 61 6d 2e 0a 0a 37 29 20 47 6f 20 62 61 63 6b 20 74 6f 20 73 74 65 70 20 33 20 75 6e 74 69 ream...7).Go.back.to.step.3.unti
23c00 6c 20 74 68 65 20 69 6e 70 75 74 20 64 61 74 61 20 61 72 65 20 66 69 6e 69 73 68 65 64 20 6f 72 l.the.input.data.are.finished.or
23c20 20 75 6e 74 69 6c 20 74 68 65 0a 6d 65 6d 62 65 72 20 6f 72 20 76 6f 6c 75 6d 65 20 73 69 7a 65 .until.the.member.or.volume.size
23c40 20 6c 69 6d 69 74 73 20 61 72 65 20 72 65 61 63 68 65 64 2e 0a 0a 38 29 20 54 68 65 20 72 61 6e .limits.are.reached...8).The.ran
23c60 67 65 20 65 6e 63 6f 64 65 72 20 69 73 20 66 6c 75 73 68 65 64 2e 0a 0a 39 29 20 54 68 65 20 6d ge.encoder.is.flushed...9).The.m
23c80 65 6d 62 65 72 20 74 72 61 69 6c 65 72 20 69 73 20 77 72 69 74 74 65 6e 20 74 6f 20 74 68 65 20 ember.trailer.is.written.to.the.
23ca0 6f 75 74 70 75 74 20 73 74 72 65 61 6d 2e 0a 0a 31 30 29 20 49 66 20 74 68 65 72 65 20 61 72 65 output.stream...10).If.there.are
23cc0 20 6d 6f 72 65 20 64 61 74 61 20 74 6f 20 63 6f 6d 70 72 65 73 73 2c 20 67 6f 20 62 61 63 6b 20 .more.data.to.compress,.go.back.
23ce0 74 6f 20 73 74 65 70 20 31 2e 0a 0a 40 73 70 20 31 0a 40 6e 6f 69 6e 64 65 6e 74 0a 54 68 65 20 to.step.1...@sp.1.@noindent.The.
23d00 69 64 65 61 73 20 65 6d 62 6f 64 69 65 64 20 69 6e 20 6c 7a 69 70 20 61 72 65 20 64 75 65 20 74 ideas.embodied.in.lzip.are.due.t
23d20 6f 20 28 61 74 20 6c 65 61 73 74 29 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 65 6f 70 6c o.(at.least).the.following.peopl
23d40 65 3a 0a 41 62 72 61 68 61 6d 20 4c 65 6d 70 65 6c 20 61 6e 64 20 4a 61 63 6f 62 20 5a 69 76 20 e:.Abraham.Lempel.and.Jacob.Ziv.
23d60 28 66 6f 72 20 74 68 65 20 4c 5a 20 61 6c 67 6f 72 69 74 68 6d 29 2c 20 41 6e 64 72 65 79 20 4d (for.the.LZ.algorithm),.Andrey.M
23d80 61 72 6b 6f 76 20 28 66 6f 72 0a 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 4d 61 72 arkov.(for.the.definition.of.Mar
23da0 6b 6f 76 20 63 68 61 69 6e 73 29 2c 20 47 2e 4e 2e 4e 2e 20 4d 61 72 74 69 6e 20 28 66 6f 72 20 kov.chains),.G.N.N..Martin.(for.
23dc0 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 0a 72 61 6e 67 65 20 65 6e 63 6f 64 69 6e 67 the.definition.of.range.encoding
23de0 29 2c 20 49 67 6f 72 20 50 61 76 6c 6f 76 20 28 66 6f 72 20 70 75 74 74 69 6e 67 20 61 6c 6c 20 ),.Igor.Pavlov.(for.putting.all.
23e00 74 68 65 20 61 62 6f 76 65 20 74 6f 67 65 74 68 65 72 20 69 6e 0a 4c 5a 4d 41 29 2c 20 61 6e 64 the.above.together.in.LZMA),.and
23e20 20 4a 75 6c 69 61 6e 20 53 65 77 61 72 64 20 28 66 6f 72 20 62 7a 69 70 32 27 73 20 43 4c 49 29 .Julian.Seward.(for.bzip2's.CLI)
23e40 2e 0a 0a 0a 40 6e 6f 64 65 20 53 74 72 65 61 6d 20 66 6f 72 6d 61 74 0a 40 63 68 61 70 74 65 72 ....@node.Stream.format.@chapter
23e60 20 46 6f 72 6d 61 74 20 6f 66 20 74 68 65 20 4c 5a 4d 41 20 73 74 72 65 61 6d 20 69 6e 20 6c 7a .Format.of.the.LZMA.stream.in.lz
23e80 69 70 20 66 69 6c 65 73 0a 40 63 69 6e 64 65 78 20 66 6f 72 6d 61 74 20 6f 66 20 74 68 65 20 4c ip.files.@cindex.format.of.the.L
23ea0 5a 4d 41 20 73 74 72 65 61 6d 0a 0a 54 68 65 20 4c 5a 4d 41 20 61 6c 67 6f 72 69 74 68 6d 20 68 ZMA.stream..The.LZMA.algorithm.h
23ec0 61 73 20 74 68 72 65 65 20 70 61 72 61 6d 65 74 65 72 73 2c 20 63 61 6c 6c 65 64 20 22 73 70 65 as.three.parameters,.called."spe
23ee0 63 69 61 6c 20 4c 5a 4d 41 0a 70 72 6f 70 65 72 74 69 65 73 22 2c 20 74 6f 20 61 64 6a 75 73 74 cial.LZMA.properties",.to.adjust
23f00 20 69 74 20 66 6f 72 20 73 6f 6d 65 20 6b 69 6e 64 73 20 6f 66 20 62 69 6e 61 72 79 20 64 61 74 .it.for.some.kinds.of.binary.dat
23f20 61 2e 20 54 68 65 73 65 0a 70 61 72 61 6d 65 74 65 72 73 20 61 72 65 3b 20 40 73 61 6d 70 7b 6c a..These.parameters.are;.@samp{l
23f40 69 74 65 72 61 6c 5f 63 6f 6e 74 65 78 74 5f 62 69 74 73 7d 20 28 77 69 74 68 20 61 20 64 65 66 iteral_context_bits}.(with.a.def
23f60 61 75 6c 74 20 76 61 6c 75 65 20 6f 66 20 33 29 2c 0a 40 73 61 6d 70 7b 6c 69 74 65 72 61 6c 5f ault.value.of.3),.@samp{literal_
23f80 70 6f 73 5f 73 74 61 74 65 5f 62 69 74 73 7d 20 28 77 69 74 68 20 61 20 64 65 66 61 75 6c 74 20 pos_state_bits}.(with.a.default.
23fa0 76 61 6c 75 65 20 6f 66 20 30 29 2c 20 61 6e 64 0a 40 73 61 6d 70 7b 70 6f 73 5f 73 74 61 74 65 value.of.0),.and.@samp{pos_state
23fc0 5f 62 69 74 73 7d 20 28 77 69 74 68 20 61 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 6f 66 20 _bits}.(with.a.default.value.of.
23fe0 32 29 2e 20 41 73 20 61 20 67 65 6e 65 72 61 6c 20 70 75 72 70 6f 73 65 0a 63 6f 6d 70 72 65 73 2)..As.a.general.purpose.compres
24000 73 6f 72 2c 20 6c 7a 69 70 20 6f 6e 6c 79 20 75 73 65 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 sor,.lzip.only.uses.the.default.
24020 76 61 6c 75 65 73 20 66 6f 72 20 74 68 65 73 65 20 70 61 72 61 6d 65 74 65 72 73 2e 20 49 6e 0a values.for.these.parameters..In.
24040 70 61 72 74 69 63 75 6c 61 72 20 40 73 61 6d 70 7b 6c 69 74 65 72 61 6c 5f 70 6f 73 5f 73 74 61 particular.@samp{literal_pos_sta
24060 74 65 5f 62 69 74 73 7d 20 68 61 73 20 62 65 65 6e 20 6f 70 74 69 6d 69 7a 65 64 20 61 77 61 79 te_bits}.has.been.optimized.away
24080 20 61 6e 64 0a 64 6f 65 73 20 6e 6f 74 20 65 76 65 6e 20 61 70 70 65 61 72 20 69 6e 20 74 68 65 .and.does.not.even.appear.in.the
240a0 20 63 6f 64 65 2e 0a 0a 4c 7a 69 70 20 61 6c 73 6f 20 66 69 6e 69 73 68 65 73 20 74 68 65 20 4c .code...Lzip.also.finishes.the.L
240c0 5a 4d 41 20 73 74 72 65 61 6d 20 77 69 74 68 20 61 6e 20 22 45 6e 64 20 4f 66 20 53 74 72 65 61 ZMA.stream.with.an."End.Of.Strea
240e0 6d 22 20 6d 61 72 6b 65 72 20 28 74 68 65 0a 64 69 73 74 61 6e 63 65 2d 6c 65 6e 67 74 68 20 70 m".marker.(the.distance-length.p
24100 61 69 72 20 30 78 46 46 46 46 46 46 46 46 55 2c 20 32 29 2c 20 77 68 69 63 68 20 69 6e 20 63 6f air.0xFFFFFFFFU,.2),.which.in.co
24120 6e 6a 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65 0a 22 6d 65 6d 62 65 72 20 73 69 7a 65 22 njunction.with.the."member.size"
24140 20 66 69 65 6c 64 20 69 6e 20 74 68 65 20 6d 65 6d 62 65 72 20 74 72 61 69 6c 65 72 20 61 6c 6c .field.in.the.member.trailer.all
24160 6f 77 73 20 74 68 65 20 76 65 72 69 66 69 63 61 74 69 6f 6e 20 6f 66 0a 73 74 72 65 61 6d 20 69 ows.the.verification.of.stream.i
24180 6e 74 65 67 72 69 74 79 2e 20 54 68 65 20 4c 5a 4d 41 20 73 74 72 65 61 6d 20 69 6e 20 6c 7a 69 ntegrity..The.LZMA.stream.in.lzi
241a0 70 20 66 69 6c 65 73 20 61 6c 77 61 79 73 20 68 61 73 20 74 68 65 73 65 20 74 77 6f 0a 66 65 61 p.files.always.has.these.two.fea
241c0 74 75 72 65 73 20 28 64 65 66 61 75 6c 74 20 70 72 6f 70 65 72 74 69 65 73 20 61 6e 64 20 45 4f tures.(default.properties.and.EO
241e0 53 20 6d 61 72 6b 65 72 29 20 61 6e 64 20 69 73 20 72 65 66 65 72 72 65 64 20 74 6f 20 69 6e 20 S.marker).and.is.referred.to.in.
24200 74 68 69 73 0a 64 6f 63 75 6d 65 6e 74 20 61 73 20 4c 5a 4d 41 2d 33 30 32 65 6f 73 20 6f 72 20 this.document.as.LZMA-302eos.or.
24220 4c 5a 4d 41 2d 6c 7a 69 70 2e 0a 0a 54 68 65 20 73 65 63 6f 6e 64 20 73 74 61 67 65 20 6f 66 20 LZMA-lzip...The.second.stage.of.
24240 4c 5a 4d 41 20 69 73 20 61 20 72 61 6e 67 65 20 65 6e 63 6f 64 65 72 20 74 68 61 74 20 75 73 65 LZMA.is.a.range.encoder.that.use
24260 73 20 61 20 64 69 66 66 65 72 65 6e 74 0a 70 72 6f 62 61 62 69 6c 69 74 79 20 6d 6f 64 65 6c 20 s.a.different.probability.model.
24280 66 6f 72 20 65 61 63 68 20 74 79 70 65 20 6f 66 20 73 79 6d 62 6f 6c 3b 20 64 69 73 74 61 6e 63 for.each.type.of.symbol;.distanc
242a0 65 73 2c 20 6c 65 6e 67 74 68 73 2c 20 6c 69 74 65 72 61 6c 0a 62 79 74 65 73 2c 20 65 74 63 2e es,.lengths,.literal.bytes,.etc.
242c0 20 52 61 6e 67 65 20 65 6e 63 6f 64 69 6e 67 20 63 6f 6e 63 65 70 74 75 61 6c 6c 79 20 65 6e 63 .Range.encoding.conceptually.enc
242e0 6f 64 65 73 20 61 6c 6c 20 74 68 65 20 73 79 6d 62 6f 6c 73 20 6f 66 20 74 68 65 0a 6d 65 73 73 odes.all.the.symbols.of.the.mess
24300 61 67 65 20 69 6e 74 6f 20 6f 6e 65 20 6e 75 6d 62 65 72 2e 20 55 6e 6c 69 6b 65 20 48 75 66 66 age.into.one.number..Unlike.Huff
24320 6d 61 6e 20 63 6f 64 69 6e 67 2c 20 77 68 69 63 68 20 61 73 73 69 67 6e 73 20 74 6f 20 65 61 63 man.coding,.which.assigns.to.eac
24340 68 0a 73 79 6d 62 6f 6c 20 61 20 62 69 74 2d 70 61 74 74 65 72 6e 20 61 6e 64 20 63 6f 6e 63 61 h.symbol.a.bit-pattern.and.conca
24360 74 65 6e 61 74 65 73 20 61 6c 6c 20 74 68 65 20 62 69 74 2d 70 61 74 74 65 72 6e 73 20 74 6f 67 tenates.all.the.bit-patterns.tog
24380 65 74 68 65 72 2c 0a 72 61 6e 67 65 20 65 6e 63 6f 64 69 6e 67 20 63 61 6e 20 63 6f 6d 70 72 65 ether,.range.encoding.can.compre
243a0 73 73 20 6f 6e 65 20 73 79 6d 62 6f 6c 20 74 6f 20 6c 65 73 73 20 74 68 61 6e 20 6f 6e 65 20 62 ss.one.symbol.to.less.than.one.b
243c0 69 74 2e 20 54 68 65 72 65 66 6f 72 65 0a 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 it..Therefore.the.compressed.dat
243e0 61 20 70 72 6f 64 75 63 65 64 20 62 79 20 61 20 72 61 6e 67 65 20 65 6e 63 6f 64 65 72 20 63 61 a.produced.by.a.range.encoder.ca
24400 6e 27 74 20 62 65 20 73 70 6c 69 74 20 69 6e 20 70 69 65 63 65 73 0a 74 68 61 74 20 63 6f 75 6c n't.be.split.in.pieces.that.coul
24420 64 20 62 65 20 69 6e 64 69 76 69 64 75 61 6c 6c 79 20 64 65 73 63 72 69 62 65 64 2e 0a 0a 49 74 d.be.individually.described...It
24440 20 73 65 65 6d 73 20 74 68 61 74 20 74 68 65 20 6f 6e 6c 79 20 77 61 79 20 6f 66 20 64 65 73 63 .seems.that.the.only.way.of.desc
24460 72 69 62 69 6e 67 20 74 68 65 20 4c 5a 4d 41 2d 33 30 32 65 6f 73 20 73 74 72 65 61 6d 20 69 73 ribing.the.LZMA-302eos.stream.is
24480 0a 64 65 73 63 72 69 62 69 6e 67 20 74 68 65 20 61 6c 67 6f 72 69 74 68 6d 20 74 68 61 74 20 64 .describing.the.algorithm.that.d
244a0 65 63 6f 64 65 73 20 69 74 2e 20 41 6e 64 20 67 69 76 65 6e 20 74 68 65 20 6d 61 6e 79 20 64 65 ecodes.it..And.given.the.many.de
244c0 74 61 69 6c 73 0a 61 62 6f 75 74 20 74 68 65 20 72 61 6e 67 65 20 64 65 63 6f 64 65 72 20 74 68 tails.about.the.range.decoder.th
244e0 61 74 20 6e 65 65 64 20 74 6f 20 62 65 20 64 65 73 63 72 69 62 65 64 20 61 63 63 75 72 61 74 65 at.need.to.be.described.accurate
24500 6c 79 2c 20 74 68 65 20 73 6f 75 72 63 65 0a 63 6f 64 65 20 6f 66 20 61 20 72 65 61 6c 20 64 65 ly,.the.source.code.of.a.real.de
24520 63 6f 64 65 72 20 73 65 65 6d 73 20 74 68 65 20 6f 6e 6c 79 20 61 70 70 72 6f 70 72 69 61 74 65 coder.seems.the.only.appropriate
24540 20 72 65 66 65 72 65 6e 63 65 20 74 6f 20 75 73 65 2e 0a 0a 57 68 61 74 20 66 6f 6c 6c 6f 77 73 .reference.to.use...What.follows
24560 20 69 73 20 61 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 64 65 63 6f 64 69 6e .is.a.description.of.the.decodin
24580 67 20 61 6c 67 6f 72 69 74 68 6d 20 66 6f 72 20 4c 5a 4d 41 2d 33 30 32 65 6f 73 0a 73 74 72 65 g.algorithm.for.LZMA-302eos.stre
245a0 61 6d 73 20 75 73 69 6e 67 20 61 73 20 72 65 66 65 72 65 6e 63 65 20 74 68 65 20 73 6f 75 72 63 ams.using.as.reference.the.sourc
245c0 65 20 63 6f 64 65 20 6f 66 20 22 6c 7a 64 22 2c 20 61 6e 20 65 64 75 63 61 74 69 6f 6e 61 6c 0a e.code.of."lzd",.an.educational.
245e0 64 65 63 6f 6d 70 72 65 73 73 6f 72 20 66 6f 72 20 6c 7a 69 70 20 66 69 6c 65 73 20 77 68 69 63 decompressor.for.lzip.files.whic
24600 68 20 63 61 6e 20 62 65 20 64 6f 77 6e 6c 6f 61 64 65 64 20 66 72 6f 6d 20 74 68 65 20 6c 7a 69 h.can.be.downloaded.from.the.lzi
24620 70 0a 64 6f 77 6e 6c 6f 61 64 20 64 69 72 65 63 74 6f 72 79 2e 20 54 68 65 20 73 6f 75 72 63 65 p.download.directory..The.source
24640 20 63 6f 64 65 20 6f 66 20 6c 7a 64 20 69 73 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 61 70 70 65 .code.of.lzd.is.included.in.appe
24660 6e 64 69 78 20 41 2e 0a 40 78 72 65 66 7b 52 65 66 65 72 65 6e 63 65 20 73 6f 75 72 63 65 20 63 ndix.A..@xref{Reference.source.c
24680 6f 64 65 7d 2e 0a 0a 40 73 70 20 31 0a 40 73 65 63 74 69 6f 6e 20 57 68 61 74 20 69 73 20 63 6f ode}...@sp.1.@section.What.is.co
246a0 64 65 64 0a 0a 54 68 65 20 4c 5a 4d 41 20 73 74 72 65 61 6d 20 69 6e 63 6c 75 64 65 73 20 6c 69 ded..The.LZMA.stream.includes.li
246c0 74 65 72 61 6c 73 2c 20 6d 61 74 63 68 65 73 20 61 6e 64 20 72 65 70 65 61 74 65 64 20 6d 61 74 terals,.matches.and.repeated.mat
246e0 63 68 65 73 20 28 6d 61 74 63 68 65 73 0a 72 65 75 73 69 6e 67 20 61 20 72 65 63 65 6e 74 6c 79 ches.(matches.reusing.a.recently
24700 20 75 73 65 64 20 64 69 73 74 61 6e 63 65 29 2e 20 54 68 65 72 65 20 61 72 65 20 37 20 64 69 66 .used.distance)..There.are.7.dif
24720 66 65 72 65 6e 74 20 63 6f 64 69 6e 67 20 73 65 71 75 65 6e 63 65 73 3a 0a 0a 40 6d 75 6c 74 69 ferent.coding.sequences:..@multi
24740 74 61 62 6c 65 20 40 63 6f 6c 75 6d 6e 66 72 61 63 74 69 6f 6e 73 20 2e 33 35 20 2e 31 34 20 2e table.@columnfractions..35..14..
24760 35 31 0a 40 68 65 61 64 69 74 65 6d 20 42 69 74 20 73 65 71 75 65 6e 63 65 20 40 74 61 62 20 4e 51.@headitem.Bit.sequence.@tab.N
24780 61 6d 65 20 40 74 61 62 20 44 65 73 63 72 69 70 74 69 6f 6e 0a 40 69 74 65 6d 20 30 20 2b 20 62 ame.@tab.Description.@item.0.+.b
247a0 79 74 65 20 40 74 61 62 20 6c 69 74 65 72 61 6c 20 40 74 61 62 20 6c 69 74 65 72 61 6c 20 62 79 yte.@tab.literal.@tab.literal.by
247c0 74 65 0a 40 69 74 65 6d 20 31 20 2b 20 30 20 2b 20 6c 65 6e 20 2b 20 64 69 73 20 40 74 61 62 20 te.@item.1.+.0.+.len.+.dis.@tab.
247e0 6d 61 74 63 68 20 40 74 61 62 20 64 69 73 74 61 6e 63 65 2d 6c 65 6e 67 74 68 20 70 61 69 72 0a match.@tab.distance-length.pair.
24800 40 69 74 65 6d 20 31 20 2b 20 31 20 2b 20 30 20 2b 20 30 20 40 74 61 62 20 73 68 6f 72 74 72 65 @item.1.+.1.+.0.+.0.@tab.shortre
24820 70 20 40 74 61 62 20 31 20 62 79 74 65 20 6d 61 74 63 68 20 61 74 20 6c 61 74 65 73 74 20 75 73 p.@tab.1.byte.match.at.latest.us
24840 65 64 0a 64 69 73 74 61 6e 63 65 0a 40 69 74 65 6d 20 31 20 2b 20 31 20 2b 20 30 20 2b 20 31 20 ed.distance.@item.1.+.1.+.0.+.1.
24860 2b 20 6c 65 6e 20 40 74 61 62 20 72 65 70 30 20 40 74 61 62 20 6c 65 6e 20 62 79 74 65 73 20 6d +.len.@tab.rep0.@tab.len.bytes.m
24880 61 74 63 68 20 61 74 20 6c 61 74 65 73 74 20 75 73 65 64 0a 64 69 73 74 61 6e 63 65 0a 40 69 74 atch.at.latest.used.distance.@it
248a0 65 6d 20 31 20 2b 20 31 20 2b 20 31 20 2b 20 30 20 2b 20 6c 65 6e 20 40 74 61 62 20 72 65 70 31 em.1.+.1.+.1.+.0.+.len.@tab.rep1
248c0 20 40 74 61 62 20 6c 65 6e 20 62 79 74 65 73 20 6d 61 74 63 68 20 61 74 20 73 65 63 6f 6e 64 0a .@tab.len.bytes.match.at.second.
248e0 6c 61 74 65 73 74 20 75 73 65 64 20 64 69 73 74 61 6e 63 65 0a 40 69 74 65 6d 20 31 20 2b 20 31 latest.used.distance.@item.1.+.1
24900 20 2b 20 31 20 2b 20 31 20 2b 20 30 20 2b 20 6c 65 6e 20 40 74 61 62 20 72 65 70 32 20 40 74 61 .+.1.+.1.+.0.+.len.@tab.rep2.@ta
24920 62 20 6c 65 6e 20 62 79 74 65 73 20 6d 61 74 63 68 20 61 74 20 74 68 69 72 64 0a 6c 61 74 65 73 b.len.bytes.match.at.third.lates
24940 74 20 75 73 65 64 20 64 69 73 74 61 6e 63 65 0a 40 69 74 65 6d 20 31 20 2b 20 31 20 2b 20 31 20 t.used.distance.@item.1.+.1.+.1.
24960 2b 20 31 20 2b 20 31 20 2b 20 6c 65 6e 20 40 74 61 62 20 72 65 70 33 20 40 74 61 62 20 6c 65 6e +.1.+.1.+.len.@tab.rep3.@tab.len
24980 20 62 79 74 65 73 20 6d 61 74 63 68 20 61 74 20 66 6f 75 72 74 68 0a 6c 61 74 65 73 74 20 75 73 .bytes.match.at.fourth.latest.us
249a0 65 64 20 64 69 73 74 61 6e 63 65 0a 40 65 6e 64 20 6d 75 6c 74 69 74 61 62 6c 65 0a 0a 40 73 70 ed.distance.@end.multitable..@sp
249c0 20 31 0a 49 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 73 2c 20 6d 75 6c 74 .1.In.the.following.tables,.mult
249e0 69 62 69 74 20 73 65 71 75 65 6e 63 65 73 20 61 72 65 20 63 6f 64 65 64 20 69 6e 20 6e 6f 72 6d ibit.sequences.are.coded.in.norm
24a00 61 6c 20 6f 72 64 65 72 2c 0a 66 72 6f 6d 20 4d 53 42 20 74 6f 20 4c 53 42 2c 20 65 78 63 65 70 al.order,.from.MSB.to.LSB,.excep
24a20 74 20 77 68 65 72 65 20 6e 6f 74 65 64 20 6f 74 68 65 72 77 69 73 65 2e 0a 0a 4c 65 6e 67 74 68 t.where.noted.otherwise...Length
24a40 73 20 28 74 68 65 20 40 73 61 6d 70 7b 6c 65 6e 7d 20 69 6e 20 74 68 65 20 74 61 62 6c 65 20 61 s.(the.@samp{len}.in.the.table.a
24a60 62 6f 76 65 29 20 61 72 65 20 63 6f 64 65 64 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 0a 0a 40 6d 75 bove).are.coded.as.follows:..@mu
24a80 6c 74 69 74 61 62 6c 65 20 40 63 6f 6c 75 6d 6e 66 72 61 63 74 69 6f 6e 73 20 2e 35 20 2e 35 0a ltitable.@columnfractions..5..5.
24aa0 40 68 65 61 64 69 74 65 6d 20 42 69 74 20 73 65 71 75 65 6e 63 65 20 40 74 61 62 20 44 65 73 63 @headitem.Bit.sequence.@tab.Desc
24ac0 72 69 70 74 69 6f 6e 0a 40 69 74 65 6d 20 30 20 2b 20 33 20 62 69 74 73 20 40 74 61 62 20 6c 65 ription.@item.0.+.3.bits.@tab.le
24ae0 6e 67 74 68 73 20 66 72 6f 6d 20 32 20 74 6f 20 39 0a 40 69 74 65 6d 20 31 20 2b 20 30 20 2b 20 ngths.from.2.to.9.@item.1.+.0.+.
24b00 33 20 62 69 74 73 20 40 74 61 62 20 6c 65 6e 67 74 68 73 20 66 72 6f 6d 20 31 30 20 74 6f 20 31 3.bits.@tab.lengths.from.10.to.1
24b20 37 0a 40 69 74 65 6d 20 31 20 2b 20 31 20 2b 20 38 20 62 69 74 73 20 40 74 61 62 20 6c 65 6e 67 7.@item.1.+.1.+.8.bits.@tab.leng
24b40 74 68 73 20 66 72 6f 6d 20 31 38 20 74 6f 20 32 37 33 0a 40 65 6e 64 20 6d 75 6c 74 69 74 61 62 ths.from.18.to.273.@end.multitab
24b60 6c 65 0a 0a 40 73 70 20 31 0a 54 68 65 20 63 6f 64 69 6e 67 20 6f 66 20 64 69 73 74 61 6e 63 65 le..@sp.1.The.coding.of.distance
24b80 73 20 69 73 20 61 20 6c 69 74 74 6c 65 20 6d 6f 72 65 20 63 6f 6d 70 6c 69 63 61 74 65 64 2c 20 s.is.a.little.more.complicated,.
24ba0 73 6f 20 49 27 6c 6c 20 62 65 67 69 6e 0a 65 78 70 6c 61 69 6e 69 6e 67 20 61 20 73 69 6d 70 6c so.I'll.begin.explaining.a.simpl
24bc0 65 72 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 65 6e 63 6f 64 69 6e 67 2e 0a 0a 49 6d 61 er.version.of.the.encoding...Ima
24be0 67 69 6e 65 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 63 6f 64 65 20 61 20 6e 75 6d 62 65 72 20 66 gine.you.need.to.code.a.number.f
24c00 72 6f 6d 20 30 20 74 6f 20 40 77 7b 32 5e 33 32 20 2d 20 31 7d 2c 20 61 6e 64 20 79 6f 75 20 77 rom.0.to.@w{2^32.-.1},.and.you.w
24c20 61 6e 74 0a 74 6f 20 64 6f 20 69 74 20 69 6e 20 61 20 77 61 79 20 74 68 61 74 20 70 72 6f 64 75 ant.to.do.it.in.a.way.that.produ
24c40 63 65 73 20 73 68 6f 72 74 65 72 20 63 6f 64 65 73 20 66 6f 72 20 74 68 65 20 73 6d 61 6c 6c 65 ces.shorter.codes.for.the.smalle
24c60 72 20 6e 75 6d 62 65 72 73 2e 0a 59 6f 75 20 6d 61 79 20 66 69 72 73 74 20 73 65 6e 64 20 74 68 r.numbers..You.may.first.send.th
24c80 65 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 6d 6f 73 74 20 73 69 67 6e 69 66 69 63 61 e.position.of.the.most.significa
24ca0 6e 74 20 62 69 74 20 74 68 61 74 20 69 73 20 73 65 74 0a 74 6f 20 31 2c 20 77 68 69 63 68 20 79 nt.bit.that.is.set.to.1,.which.y
24cc0 6f 75 20 6d 61 79 20 66 69 6e 64 20 62 79 20 6d 61 6b 69 6e 67 20 61 20 62 69 74 20 73 63 61 6e ou.may.find.by.making.a.bit.scan
24ce0 20 66 72 6f 6d 20 74 68 65 20 6c 65 66 74 20 28 66 72 6f 6d 20 74 68 65 0a 4d 53 42 29 2e 20 41 .from.the.left.(from.the.MSB)..A
24d00 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 30 20 6d 65 61 6e 73 20 74 68 61 74 20 74 68 65 20 6e 75 .position.of.0.means.that.the.nu
24d20 6d 62 65 72 20 69 73 20 30 20 28 6e 6f 20 62 69 74 20 69 73 20 73 65 74 29 2c 20 31 0a 6d 65 61 mber.is.0.(no.bit.is.set),.1.mea
24d40 6e 73 20 74 68 65 20 4c 53 42 20 69 73 20 74 68 65 20 66 69 72 73 74 20 62 69 74 20 73 65 74 20 ns.the.LSB.is.the.first.bit.set.
24d60 28 74 68 65 20 6e 75 6d 62 65 72 20 69 73 20 31 29 2c 20 61 6e 64 20 33 32 20 6d 65 61 6e 73 20 (the.number.is.1),.and.32.means.
24d80 74 68 65 0a 4d 53 42 20 69 73 20 73 65 74 20 28 69 2e 65 2e 2c 20 74 68 65 20 6e 75 6d 62 65 72 the.MSB.is.set.(i.e.,.the.number
24da0 20 69 73 20 40 77 7b 3e 3d 20 30 78 38 30 30 30 30 30 30 30 7d 29 2e 20 4c 65 74 27 73 20 63 61 .is.@w{>=.0x80000000})..Let's.ca
24dc0 6c 6c 20 74 68 69 73 20 62 69 74 0a 70 6f 73 69 74 69 6f 6e 20 61 20 22 73 6c 6f 74 22 2e 20 54 ll.this.bit.position.a."slot"..T
24de0 68 65 6e 2c 20 69 66 20 73 6c 6f 74 20 69 73 20 40 77 7b 3e 20 31 7d 2c 20 79 6f 75 20 73 65 6e hen,.if.slot.is.@w{>.1},.you.sen
24e00 64 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 0a 40 77 7b 73 6c 6f 74 20 2d 20 31 7d 20 62 69 74 d.the.remaining.@w{slot.-.1}.bit
24e20 73 2e 20 4c 65 74 27 73 20 63 61 6c 6c 20 74 68 65 73 65 20 62 69 74 73 20 22 64 69 72 65 63 74 s..Let's.call.these.bits."direct
24e40 5f 62 69 74 73 22 20 62 65 63 61 75 73 65 20 74 68 65 79 20 61 72 65 0a 63 6f 64 65 64 20 64 69 _bits".because.they.are.coded.di
24e60 72 65 63 74 6c 79 20 62 79 20 76 61 6c 75 65 20 69 6e 73 74 65 61 64 20 6f 66 20 69 6e 64 69 72 rectly.by.value.instead.of.indir
24e80 65 63 74 6c 79 20 62 79 20 70 6f 73 69 74 69 6f 6e 2e 0a 0a 54 68 65 20 69 6e 63 6f 6e 76 65 6e ectly.by.position...The.inconven
24ea0 69 65 6e 74 20 6f 66 20 74 68 69 73 20 73 69 6d 70 6c 65 20 6d 65 74 68 6f 64 20 69 73 20 74 68 ient.of.this.simple.method.is.th
24ec0 61 74 20 69 74 20 6e 65 65 64 73 20 36 20 62 69 74 73 20 74 6f 20 63 6f 64 65 0a 74 68 65 20 73 at.it.needs.6.bits.to.code.the.s
24ee0 6c 6f 74 2c 20 62 75 74 20 69 74 20 6a 75 73 74 20 75 73 65 73 20 33 33 20 6f 66 20 74 68 65 20 lot,.but.it.just.uses.33.of.the.
24f00 36 34 20 70 6f 73 73 69 62 6c 65 20 76 61 6c 75 65 73 2c 20 77 61 73 74 69 6e 67 20 61 6c 6d 6f 64.possible.values,.wasting.almo
24f20 73 74 0a 68 61 6c 66 20 6f 66 20 74 68 65 20 63 6f 64 65 73 2e 0a 0a 54 68 65 20 69 6e 74 65 6c st.half.of.the.codes...The.intel
24f40 6c 69 67 65 6e 74 20 74 72 69 63 6b 20 6f 66 20 4c 5a 4d 41 20 69 73 20 74 68 61 74 20 69 74 20 ligent.trick.of.LZMA.is.that.it.
24f60 65 6e 63 6f 64 65 73 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 0a 6d 6f 73 74 encodes.the.position.of.the.most
24f80 20 73 69 67 6e 69 66 69 63 61 6e 74 20 62 69 74 20 73 65 74 2c 20 61 6c 6f 6e 67 20 77 69 74 68 .significant.bit.set,.along.with
24fa0 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 6e 65 78 74 20 62 69 74 2c 20 69 6e 20 74 .the.value.of.the.next.bit,.in.t
24fc0 68 65 0a 73 61 6d 65 20 36 20 62 69 74 73 20 74 68 61 74 20 77 6f 75 6c 64 20 74 61 6b 65 20 74 he.same.6.bits.that.would.take.t
24fe0 6f 20 65 6e 63 6f 64 65 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 61 6c 6f 6e 65 2e 20 54 68 69 o.encode.the.position.alone..Thi
25000 73 20 73 65 65 6d 73 20 74 6f 0a 6e 65 65 64 20 36 36 20 73 6c 6f 74 73 20 28 32 20 2a 20 70 6f s.seems.to.need.66.slots.(2.*.po
25020 73 69 74 69 6f 6e 20 2b 20 6e 65 78 74 5f 62 69 74 29 2c 20 62 75 74 20 66 6f 72 20 73 6c 6f 74 sition.+.next_bit),.but.for.slot
25040 73 20 30 20 61 6e 64 20 31 20 74 68 65 72 65 20 69 73 0a 6e 6f 20 6e 65 78 74 20 62 69 74 2c 20 s.0.and.1.there.is.no.next.bit,.
25060 73 6f 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 6e 65 65 64 65 64 20 73 6c 6f 74 73 20 69 73 so.the.number.of.needed.slots.is
25080 20 36 34 20 28 30 20 74 6f 20 36 33 29 2e 0a 0a 54 68 65 20 36 20 62 69 74 73 20 72 65 70 72 65 .64.(0.to.63)...The.6.bits.repre
250a0 73 65 6e 74 69 6e 67 20 74 68 69 73 20 22 73 6c 6f 74 20 6e 75 6d 62 65 72 22 20 61 72 65 20 74 senting.this."slot.number".are.t
250c0 68 65 6e 20 63 6f 6e 74 65 78 74 2d 63 6f 64 65 64 2e 20 49 66 0a 74 68 65 20 64 69 73 74 61 6e hen.context-coded..If.the.distan
250e0 63 65 20 69 73 20 40 77 7b 3e 3d 20 34 7d 2c 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 62 69 ce.is.@w{>=.4},.the.remaining.bi
25100 74 73 20 61 72 65 20 63 6f 64 65 64 20 61 73 20 66 6f 6c 6c 6f 77 73 2e 0a 40 73 61 6d 70 7b 64 ts.are.coded.as.follows..@samp{d
25120 69 72 65 63 74 5f 62 69 74 73 7d 20 69 73 20 74 68 65 20 61 6d 6f 75 6e 74 20 6f 66 20 72 65 6d irect_bits}.is.the.amount.of.rem
25140 61 69 6e 69 6e 67 20 62 69 74 73 20 28 66 72 6f 6d 20 30 20 74 6f 20 33 30 29 20 6e 65 65 64 65 aining.bits.(from.0.to.30).neede
25160 64 0a 74 6f 20 66 6f 72 6d 20 61 20 63 6f 6d 70 6c 65 74 65 20 64 69 73 74 61 6e 63 65 2c 20 61 d.to.form.a.complete.distance,.a
25180 6e 64 20 69 73 20 63 61 6c 63 75 6c 61 74 65 64 20 61 73 20 40 77 7b 28 73 6c 6f 74 20 3e 3e 20 nd.is.calculated.as.@w{(slot.>>.
251a0 31 29 20 2d 20 31 7d 2e 0a 49 66 20 61 20 64 69 73 74 61 6e 63 65 20 6e 65 65 64 73 20 36 20 6f 1).-.1}..If.a.distance.needs.6.o
251c0 72 20 6d 6f 72 65 20 64 69 72 65 63 74 5f 62 69 74 73 2c 20 74 68 65 20 6c 61 73 74 20 34 20 62 r.more.direct_bits,.the.last.4.b
251e0 69 74 73 20 61 72 65 20 63 6f 64 65 64 0a 73 65 70 61 72 61 74 65 6c 79 2e 20 54 68 65 20 6c 61 its.are.coded.separately..The.la
25200 73 74 20 70 69 65 63 65 20 28 61 6c 6c 20 74 68 65 20 64 69 72 65 63 74 5f 62 69 74 73 20 66 6f st.piece.(all.the.direct_bits.fo
25220 72 20 64 69 73 74 61 6e 63 65 73 20 34 20 74 6f 20 31 32 37 0a 6f 72 20 74 68 65 20 6c 61 73 74 r.distances.4.to.127.or.the.last
25240 20 34 20 62 69 74 73 20 66 6f 72 20 64 69 73 74 61 6e 63 65 73 20 40 77 7b 3e 3d 20 31 32 38 7d .4.bits.for.distances.@w{>=.128}
25260 29 20 69 73 20 63 6f 6e 74 65 78 74 2d 63 6f 64 65 64 20 69 6e 20 72 65 76 65 72 73 65 0a 6f 72 ).is.context-coded.in.reverse.or
25280 64 65 72 20 28 66 72 6f 6d 20 4c 53 42 20 74 6f 20 4d 53 42 29 2e 20 46 6f 72 20 64 69 73 74 61 der.(from.LSB.to.MSB)..For.dista
252a0 6e 63 65 73 20 40 77 7b 3e 3d 20 31 32 38 7d 2c 20 74 68 65 0a 40 77 7b 40 73 61 6d 70 7b 64 69 nces.@w{>=.128},.the.@w{@samp{di
252c0 72 65 63 74 5f 62 69 74 73 20 2d 20 34 7d 7d 20 70 61 72 74 20 69 73 20 63 6f 64 65 64 20 77 69 rect_bits.-.4}}.part.is.coded.wi
252e0 74 68 20 66 69 78 65 64 20 30 2e 35 20 70 72 6f 62 61 62 69 6c 69 74 79 2e 0a 0a 40 6d 75 6c 74 th.fixed.0.5.probability...@mult
25300 69 74 61 62 6c 65 20 40 63 6f 6c 75 6d 6e 66 72 61 63 74 69 6f 6e 73 20 2e 35 20 2e 35 0a 40 68 itable.@columnfractions..5..5.@h
25320 65 61 64 69 74 65 6d 20 42 69 74 20 73 65 71 75 65 6e 63 65 20 40 74 61 62 20 44 65 73 63 72 69 eaditem.Bit.sequence.@tab.Descri
25340 70 74 69 6f 6e 0a 40 69 74 65 6d 20 73 6c 6f 74 20 40 74 61 62 20 64 69 73 74 61 6e 63 65 73 20 ption.@item.slot.@tab.distances.
25360 66 72 6f 6d 20 30 20 74 6f 20 33 0a 40 69 74 65 6d 20 73 6c 6f 74 20 2b 20 64 69 72 65 63 74 5f from.0.to.3.@item.slot.+.direct_
25380 62 69 74 73 20 40 74 61 62 20 64 69 73 74 61 6e 63 65 73 20 66 72 6f 6d 20 34 20 74 6f 20 31 32 bits.@tab.distances.from.4.to.12
253a0 37 0a 40 69 74 65 6d 20 73 6c 6f 74 20 2b 20 28 64 69 72 65 63 74 5f 62 69 74 73 20 2d 20 34 29 7.@item.slot.+.(direct_bits.-.4)
253c0 20 2b 20 34 20 62 69 74 73 20 40 74 61 62 20 64 69 73 74 61 6e 63 65 73 20 66 72 6f 6d 20 31 32 .+.4.bits.@tab.distances.from.12
253e0 38 20 74 6f 0a 32 5e 33 32 20 2d 20 31 0a 40 65 6e 64 20 6d 75 6c 74 69 74 61 62 6c 65 0a 0a 40 8.to.2^32.-.1.@end.multitable..@
25400 73 70 20 31 0a 40 73 65 63 74 69 6f 6e 20 54 68 65 20 63 6f 64 69 6e 67 20 63 6f 6e 74 65 78 74 sp.1.@section.The.coding.context
25420 73 0a 0a 54 68 65 73 65 20 63 6f 6e 74 65 78 74 73 20 28 40 73 61 6d 70 7b 42 69 74 5f 6d 6f 64 s..These.contexts.(@samp{Bit_mod
25440 65 6c 7d 20 69 6e 20 74 68 65 20 73 6f 75 72 63 65 29 2c 20 61 72 65 20 69 6e 74 65 67 65 72 73 el}.in.the.source),.are.integers
25460 20 6f 72 20 61 72 72 61 79 73 0a 6f 66 20 69 6e 74 65 67 65 72 73 20 72 65 70 72 65 73 65 6e 74 .or.arrays.of.integers.represent
25480 69 6e 67 20 74 68 65 20 70 72 6f 62 61 62 69 6c 69 74 79 20 6f 66 20 74 68 65 20 63 6f 72 72 65 ing.the.probability.of.the.corre
254a0 73 70 6f 6e 64 69 6e 67 20 62 69 74 20 62 65 69 6e 67 20 30 2e 0a 0a 54 68 65 20 69 6e 64 69 63 sponding.bit.being.0...The.indic
254c0 65 73 20 75 73 65 64 20 69 6e 20 74 68 65 73 65 20 61 72 72 61 79 73 20 61 72 65 3a 0a 0a 40 74 es.used.in.these.arrays.are:..@t
254e0 61 62 6c 65 20 40 73 61 6d 70 0a 40 69 74 65 6d 20 73 74 61 74 65 0a 41 20 73 74 61 74 65 20 6d able.@samp.@item.state.A.state.m
25500 61 63 68 69 6e 65 20 28 40 73 61 6d 70 7b 53 74 61 74 65 7d 20 69 6e 20 74 68 65 20 73 6f 75 72 achine.(@samp{State}.in.the.sour
25520 63 65 29 20 77 69 74 68 20 31 32 20 73 74 61 74 65 73 20 28 30 20 74 6f 20 31 31 29 2c 0a 63 6f ce).with.12.states.(0.to.11),.co
25540 64 69 6e 67 20 74 68 65 20 6c 61 74 65 73 74 20 32 20 74 6f 20 34 20 74 79 70 65 73 20 6f 66 20 ding.the.latest.2.to.4.types.of.
25560 73 65 71 75 65 6e 63 65 73 20 70 72 6f 63 65 73 73 65 64 2e 20 54 68 65 20 69 6e 69 74 69 61 6c sequences.processed..The.initial
25580 20 73 74 61 74 65 0a 69 73 20 30 2e 0a 0a 40 69 74 65 6d 20 70 6f 73 5f 73 74 61 74 65 0a 56 61 .state.is.0...@item.pos_state.Va
255a0 6c 75 65 20 6f 66 20 74 68 65 20 32 20 6c 65 61 73 74 20 73 69 67 6e 69 66 69 63 61 6e 74 20 62 lue.of.the.2.least.significant.b
255c0 69 74 73 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 74 its.of.the.current.position.in.t
255e0 68 65 0a 64 65 63 6f 64 65 64 20 64 61 74 61 2e 0a 0a 40 69 74 65 6d 20 6c 69 74 65 72 61 6c 5f he.decoded.data...@item.literal_
25600 73 74 61 74 65 0a 56 61 6c 75 65 20 6f 66 20 74 68 65 20 33 20 6d 6f 73 74 20 73 69 67 6e 69 66 state.Value.of.the.3.most.signif
25620 69 63 61 6e 74 20 62 69 74 73 20 6f 66 20 74 68 65 20 6c 61 74 65 73 74 20 62 79 74 65 20 64 65 icant.bits.of.the.latest.byte.de
25640 63 6f 64 65 64 2e 0a 0a 40 69 74 65 6d 20 6c 65 6e 5f 73 74 61 74 65 0a 43 6f 64 65 64 20 76 61 coded...@item.len_state.Coded.va
25660 6c 75 65 20 6f 66 20 6c 65 6e 67 74 68 20 40 77 7b 28 6c 65 6e 67 74 68 20 2d 20 32 29 7d 2c 20 lue.of.length.@w{(length.-.2)},.
25680 77 69 74 68 20 61 20 6d 61 78 69 6d 75 6d 20 6f 66 20 33 2e 20 54 68 65 0a 72 65 73 75 6c 74 69 with.a.maximum.of.3..The.resulti
256a0 6e 67 20 76 61 6c 75 65 20 69 73 20 69 6e 20 74 68 65 20 72 61 6e 67 65 20 30 20 74 6f 20 33 2e ng.value.is.in.the.range.0.to.3.
256c0 0a 0a 40 65 6e 64 20 74 61 62 6c 65 0a 0a 0a 49 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 ..@end.table...In.the.following.
256e0 74 61 62 6c 65 2c 20 40 73 61 6d 70 7b 21 6c 69 74 65 72 61 6c 7d 20 69 73 20 61 6e 79 20 73 65 table,.@samp{!literal}.is.any.se
25700 71 75 65 6e 63 65 20 65 78 63 65 70 74 20 61 20 6c 69 74 65 72 61 6c 0a 62 79 74 65 2e 20 40 73 quence.except.a.literal.byte..@s
25720 61 6d 70 7b 72 65 70 7d 20 69 73 20 61 6e 79 20 6f 6e 65 20 6f 66 20 40 73 61 6d 70 7b 72 65 70 amp{rep}.is.any.one.of.@samp{rep
25740 30 7d 2c 20 40 73 61 6d 70 7b 72 65 70 31 7d 2c 20 40 73 61 6d 70 7b 72 65 70 32 7d 20 6f 72 0a 0},.@samp{rep1},.@samp{rep2}.or.
25760 40 73 61 6d 70 7b 72 65 70 33 7d 2e 20 54 68 65 20 74 79 70 65 73 20 6f 66 20 70 72 65 76 69 6f @samp{rep3}..The.types.of.previo
25780 75 73 20 73 65 71 75 65 6e 63 65 73 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 65 61 us.sequences.corresponding.to.ea
257a0 63 68 20 73 74 61 74 65 0a 61 72 65 3a 0a 0a 40 6d 75 6c 74 69 74 61 62 6c 65 20 7b 53 74 61 74 ch.state.are:..@multitable.{Stat
257c0 65 7d 20 7b 72 65 70 20 6f 72 20 28 21 6c 69 74 65 72 61 6c 2c 20 73 68 6f 72 74 72 65 70 29 2c e}.{rep.or.(!literal,.shortrep),
257e0 20 6c 69 74 65 72 61 6c 2c 20 6c 69 74 65 72 61 6c 7d 0a 40 68 65 61 64 69 74 65 6d 20 53 74 61 .literal,.literal}.@headitem.Sta
25800 74 65 20 40 74 61 62 20 54 79 70 65 73 20 6f 66 20 70 72 65 76 69 6f 75 73 20 73 65 71 75 65 6e te.@tab.Types.of.previous.sequen
25820 63 65 73 0a 40 69 74 65 6d 20 20 30 20 40 74 61 62 20 6c 69 74 65 72 61 6c 2c 20 6c 69 74 65 72 ces.@item..0.@tab.literal,.liter
25840 61 6c 2c 20 6c 69 74 65 72 61 6c 0a 40 69 74 65 6d 20 20 31 20 40 74 61 62 20 6d 61 74 63 68 2c al,.literal.@item..1.@tab.match,
25860 20 6c 69 74 65 72 61 6c 2c 20 6c 69 74 65 72 61 6c 0a 40 69 74 65 6d 20 20 32 20 40 74 61 62 20 .literal,.literal.@item..2.@tab.
25880 72 65 70 20 6f 72 20 28 21 6c 69 74 65 72 61 6c 2c 20 73 68 6f 72 74 72 65 70 29 2c 20 6c 69 74 rep.or.(!literal,.shortrep),.lit
258a0 65 72 61 6c 2c 20 6c 69 74 65 72 61 6c 0a 40 69 74 65 6d 20 20 33 20 40 74 61 62 20 6c 69 74 65 eral,.literal.@item..3.@tab.lite
258c0 72 61 6c 2c 20 73 68 6f 72 74 72 65 70 2c 20 6c 69 74 65 72 61 6c 2c 20 6c 69 74 65 72 61 6c 0a ral,.shortrep,.literal,.literal.
258e0 40 69 74 65 6d 20 20 34 20 40 74 61 62 20 6d 61 74 63 68 2c 20 6c 69 74 65 72 61 6c 0a 40 69 74 @item..4.@tab.match,.literal.@it
25900 65 6d 20 20 35 20 40 74 61 62 20 72 65 70 20 6f 72 20 28 21 6c 69 74 65 72 61 6c 2c 20 73 68 6f em..5.@tab.rep.or.(!literal,.sho
25920 72 74 72 65 70 29 2c 20 6c 69 74 65 72 61 6c 0a 40 69 74 65 6d 20 20 36 20 40 74 61 62 20 6c 69 rtrep),.literal.@item..6.@tab.li
25940 74 65 72 61 6c 2c 20 73 68 6f 72 74 72 65 70 2c 20 6c 69 74 65 72 61 6c 0a 40 69 74 65 6d 20 20 teral,.shortrep,.literal.@item..
25960 37 20 40 74 61 62 20 6c 69 74 65 72 61 6c 2c 20 6d 61 74 63 68 0a 40 69 74 65 6d 20 20 38 20 40 7.@tab.literal,.match.@item..8.@
25980 74 61 62 20 6c 69 74 65 72 61 6c 2c 20 72 65 70 0a 40 69 74 65 6d 20 20 39 20 40 74 61 62 20 6c tab.literal,.rep.@item..9.@tab.l
259a0 69 74 65 72 61 6c 2c 20 73 68 6f 72 74 72 65 70 0a 40 69 74 65 6d 20 31 30 20 40 74 61 62 20 21 iteral,.shortrep.@item.10.@tab.!
259c0 6c 69 74 65 72 61 6c 2c 20 6d 61 74 63 68 0a 40 69 74 65 6d 20 31 31 20 40 74 61 62 20 21 6c 69 literal,.match.@item.11.@tab.!li
259e0 74 65 72 61 6c 2c 20 28 72 65 70 20 6f 72 20 73 68 6f 72 74 72 65 70 29 0a 40 65 6e 64 20 6d 75 teral,.(rep.or.shortrep).@end.mu
25a00 6c 74 69 74 61 62 6c 65 0a 0a 40 73 70 20 31 0a 54 68 65 20 63 6f 6e 74 65 78 74 73 20 66 6f 72 ltitable..@sp.1.The.contexts.for
25a20 20 64 65 63 6f 64 69 6e 67 20 74 68 65 20 74 79 70 65 20 6f 66 20 63 6f 64 69 6e 67 20 73 65 71 .decoding.the.type.of.coding.seq
25a40 75 65 6e 63 65 20 61 72 65 3a 0a 0a 40 6d 75 6c 74 69 74 61 62 6c 65 20 40 63 6f 6c 75 6d 6e 66 uence.are:..@multitable.@columnf
25a60 72 61 63 74 69 6f 6e 73 20 2e 32 20 2e 34 20 2e 34 0a 40 68 65 61 64 69 74 65 6d 20 4e 61 6d 65 ractions..2..4..4.@headitem.Name
25a80 20 40 74 61 62 20 49 6e 64 69 63 65 73 20 40 74 61 62 20 55 73 65 64 20 77 68 65 6e 0a 40 69 74 .@tab.Indices.@tab.Used.when.@it
25aa0 65 6d 20 62 6d 5f 6d 61 74 63 68 20 40 74 61 62 20 73 74 61 74 65 2c 20 70 6f 73 5f 73 74 61 74 em.bm_match.@tab.state,.pos_stat
25ac0 65 20 40 74 61 62 20 73 65 71 75 65 6e 63 65 20 73 74 61 72 74 0a 40 69 74 65 6d 20 62 6d 5f 72 e.@tab.sequence.start.@item.bm_r
25ae0 65 70 20 40 74 61 62 20 73 74 61 74 65 20 40 74 61 62 20 61 66 74 65 72 20 73 65 71 75 65 6e 63 ep.@tab.state.@tab.after.sequenc
25b00 65 20 31 0a 40 69 74 65 6d 20 62 6d 5f 72 65 70 30 20 40 74 61 62 20 73 74 61 74 65 20 40 74 61 e.1.@item.bm_rep0.@tab.state.@ta
25b20 62 20 61 66 74 65 72 20 73 65 71 75 65 6e 63 65 20 31 31 0a 40 69 74 65 6d 20 62 6d 5f 72 65 70 b.after.sequence.11.@item.bm_rep
25b40 31 20 40 74 61 62 20 73 74 61 74 65 20 40 74 61 62 20 61 66 74 65 72 20 73 65 71 75 65 6e 63 65 1.@tab.state.@tab.after.sequence
25b60 20 31 31 31 0a 40 69 74 65 6d 20 62 6d 5f 72 65 70 32 20 40 74 61 62 20 73 74 61 74 65 20 40 74 .111.@item.bm_rep2.@tab.state.@t
25b80 61 62 20 61 66 74 65 72 20 73 65 71 75 65 6e 63 65 20 31 31 31 31 0a 40 69 74 65 6d 20 62 6d 5f ab.after.sequence.1111.@item.bm_
25ba0 6c 65 6e 20 40 74 61 62 20 73 74 61 74 65 2c 20 70 6f 73 5f 73 74 61 74 65 20 40 74 61 62 20 61 len.@tab.state,.pos_state.@tab.a
25bc0 66 74 65 72 20 73 65 71 75 65 6e 63 65 20 31 31 30 0a 40 65 6e 64 20 6d 75 6c 74 69 74 61 62 6c fter.sequence.110.@end.multitabl
25be0 65 0a 0a 40 73 70 20 31 0a 54 68 65 20 63 6f 6e 74 65 78 74 73 20 66 6f 72 20 64 65 63 6f 64 69 e..@sp.1.The.contexts.for.decodi
25c00 6e 67 20 64 69 73 74 61 6e 63 65 73 20 61 72 65 3a 0a 0a 40 6d 75 6c 74 69 74 61 62 6c 65 20 40 ng.distances.are:..@multitable.@
25c20 63 6f 6c 75 6d 6e 66 72 61 63 74 69 6f 6e 73 20 2e 32 20 2e 34 20 2e 34 0a 40 68 65 61 64 69 74 columnfractions..2..4..4.@headit
25c40 65 6d 20 4e 61 6d 65 20 40 74 61 62 20 49 6e 64 69 63 65 73 20 40 74 61 62 20 55 73 65 64 20 77 em.Name.@tab.Indices.@tab.Used.w
25c60 68 65 6e 0a 40 69 74 65 6d 20 62 6d 5f 64 69 73 5f 73 6c 6f 74 20 40 74 61 62 20 6c 65 6e 5f 73 hen.@item.bm_dis_slot.@tab.len_s
25c80 74 61 74 65 2c 20 62 69 74 20 74 72 65 65 20 40 74 61 62 20 64 69 73 74 61 6e 63 65 20 73 74 61 tate,.bit.tree.@tab.distance.sta
25ca0 72 74 0a 40 69 74 65 6d 20 62 6d 5f 64 69 73 20 40 74 61 62 20 72 65 76 65 72 73 65 20 62 69 74 rt.@item.bm_dis.@tab.reverse.bit
25cc0 20 74 72 65 65 20 40 74 61 62 20 61 66 74 65 72 20 73 6c 6f 74 73 20 34 20 74 6f 20 31 33 0a 40 .tree.@tab.after.slots.4.to.13.@
25ce0 69 74 65 6d 20 62 6d 5f 61 6c 69 67 6e 20 40 74 61 62 20 72 65 76 65 72 73 65 20 62 69 74 20 74 item.bm_align.@tab.reverse.bit.t
25d00 72 65 65 20 40 74 61 62 20 66 6f 72 20 64 69 73 74 61 6e 63 65 73 20 3e 3d 20 31 32 38 2c 20 61 ree.@tab.for.distances.>=.128,.a
25d20 66 74 65 72 0a 66 69 78 65 64 20 70 72 6f 62 61 62 69 6c 69 74 79 20 62 69 74 73 0a 40 65 6e 64 fter.fixed.probability.bits.@end
25d40 20 6d 75 6c 74 69 74 61 62 6c 65 0a 0a 40 73 70 20 31 0a 54 68 65 72 65 20 61 72 65 20 74 77 6f .multitable..@sp.1.There.are.two
25d60 20 73 65 70 61 72 61 74 65 20 73 65 74 73 20 6f 66 20 63 6f 6e 74 65 78 74 73 20 66 6f 72 20 6c .separate.sets.of.contexts.for.l
25d80 65 6e 67 74 68 73 20 28 40 73 61 6d 70 7b 4c 65 6e 5f 6d 6f 64 65 6c 7d 20 69 6e 0a 74 68 65 20 engths.(@samp{Len_model}.in.the.
25da0 73 6f 75 72 63 65 29 2e 20 4f 6e 65 20 66 6f 72 20 6e 6f 72 6d 61 6c 20 6d 61 74 63 68 65 73 2c source)..One.for.normal.matches,
25dc0 20 74 68 65 20 6f 74 68 65 72 20 66 6f 72 20 72 65 70 65 61 74 65 64 20 6d 61 74 63 68 65 73 2e .the.other.for.repeated.matches.
25de0 20 54 68 65 0a 63 6f 6e 74 65 78 74 73 20 69 6e 20 65 61 63 68 20 4c 65 6e 5f 6d 6f 64 65 6c 20 .The.contexts.in.each.Len_model.
25e00 61 72 65 20 28 73 65 65 20 40 73 61 6d 70 7b 64 65 63 6f 64 65 5f 6c 65 6e 7d 20 69 6e 20 74 68 are.(see.@samp{decode_len}.in.th
25e20 65 20 73 6f 75 72 63 65 29 3a 0a 0a 40 6d 75 6c 74 69 74 61 62 6c 65 20 40 63 6f 6c 75 6d 6e 66 e.source):..@multitable.@columnf
25e40 72 61 63 74 69 6f 6e 73 20 2e 32 20 2e 34 20 2e 34 0a 40 68 65 61 64 69 74 65 6d 20 4e 61 6d 65 ractions..2..4..4.@headitem.Name
25e60 20 40 74 61 62 20 49 6e 64 69 63 65 73 20 40 74 61 62 20 55 73 65 64 20 77 68 65 6e 0a 40 69 74 .@tab.Indices.@tab.Used.when.@it
25e80 65 6d 20 63 68 6f 69 63 65 31 20 40 74 61 62 20 6e 6f 6e 65 20 40 74 61 62 20 6c 65 6e 67 74 68 em.choice1.@tab.none.@tab.length
25ea0 20 73 74 61 72 74 0a 40 69 74 65 6d 20 63 68 6f 69 63 65 32 20 40 74 61 62 20 6e 6f 6e 65 20 40 .start.@item.choice2.@tab.none.@
25ec0 74 61 62 20 61 66 74 65 72 20 73 65 71 75 65 6e 63 65 20 31 0a 40 69 74 65 6d 20 62 6d 5f 6c 6f tab.after.sequence.1.@item.bm_lo
25ee0 77 20 40 74 61 62 20 70 6f 73 5f 73 74 61 74 65 2c 20 62 69 74 20 74 72 65 65 20 40 74 61 62 20 w.@tab.pos_state,.bit.tree.@tab.
25f00 61 66 74 65 72 20 73 65 71 75 65 6e 63 65 20 30 0a 40 69 74 65 6d 20 62 6d 5f 6d 69 64 20 40 74 after.sequence.0.@item.bm_mid.@t
25f20 61 62 20 70 6f 73 5f 73 74 61 74 65 2c 20 62 69 74 20 74 72 65 65 20 40 74 61 62 20 61 66 74 65 ab.pos_state,.bit.tree.@tab.afte
25f40 72 20 73 65 71 75 65 6e 63 65 20 31 30 0a 40 69 74 65 6d 20 62 6d 5f 68 69 67 68 20 40 74 61 62 r.sequence.10.@item.bm_high.@tab
25f60 20 62 69 74 20 74 72 65 65 20 40 74 61 62 20 61 66 74 65 72 20 73 65 71 75 65 6e 63 65 20 31 31 .bit.tree.@tab.after.sequence.11
25f80 0a 40 65 6e 64 20 6d 75 6c 74 69 74 61 62 6c 65 0a 0a 40 73 70 20 31 0a 54 68 65 20 63 6f 6e 74 .@end.multitable..@sp.1.The.cont
25fa0 65 78 74 20 61 72 72 61 79 20 40 73 61 6d 70 7b 62 6d 5f 6c 69 74 65 72 61 6c 7d 20 69 73 20 73 ext.array.@samp{bm_literal}.is.s
25fc0 70 65 63 69 61 6c 2e 20 49 6e 20 70 72 69 6e 63 69 70 6c 65 20 69 74 20 61 63 74 73 20 61 73 0a pecial..In.principle.it.acts.as.
25fe0 61 20 6e 6f 72 6d 61 6c 20 62 69 74 20 74 72 65 65 20 63 6f 6e 74 65 78 74 2c 20 74 68 65 20 6f a.normal.bit.tree.context,.the.o
26000 6e 65 20 73 65 6c 65 63 74 65 64 20 62 79 20 40 73 61 6d 70 7b 6c 69 74 65 72 61 6c 5f 73 74 61 ne.selected.by.@samp{literal_sta
26020 74 65 7d 2e 20 42 75 74 0a 69 66 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 64 65 63 6f 64 65 64 te}..But.if.the.previous.decoded
26040 20 62 79 74 65 20 77 61 73 20 6e 6f 74 20 61 20 6c 69 74 65 72 61 6c 2c 20 74 77 6f 20 6f 74 68 .byte.was.not.a.literal,.two.oth
26060 65 72 20 62 69 74 20 74 72 65 65 0a 63 6f 6e 74 65 78 74 73 20 61 72 65 20 75 73 65 64 20 64 65 er.bit.tree.contexts.are.used.de
26080 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 65 61 63 68 20 62 69 74 pending.on.the.value.of.each.bit
260a0 20 69 6e 0a 40 73 61 6d 70 7b 6d 61 74 63 68 5f 62 79 74 65 7d 20 28 74 68 65 20 62 79 74 65 20 .in.@samp{match_byte}.(the.byte.
260c0 61 74 20 74 68 65 20 6c 61 74 65 73 74 20 75 73 65 64 20 64 69 73 74 61 6e 63 65 29 2c 20 75 6e at.the.latest.used.distance),.un
260e0 74 69 6c 20 61 20 62 69 74 20 69 73 0a 64 65 63 6f 64 65 64 20 74 68 61 74 20 69 73 20 64 69 66 til.a.bit.is.decoded.that.is.dif
26100 66 65 72 65 6e 74 20 66 72 6f 6d 20 69 74 73 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 62 69 ferent.from.its.corresponding.bi
26120 74 20 69 6e 0a 40 73 61 6d 70 7b 6d 61 74 63 68 5f 62 79 74 65 7d 2e 20 41 66 74 65 72 20 74 68 t.in.@samp{match_byte}..After.th
26140 65 20 66 69 72 73 74 20 64 69 66 66 65 72 65 6e 63 65 20 69 73 20 66 6f 75 6e 64 2c 20 74 68 65 e.first.difference.is.found,.the
26160 20 72 65 73 74 20 6f 66 20 74 68 65 0a 62 79 74 65 20 69 73 20 64 65 63 6f 64 65 64 20 75 73 69 .rest.of.the.byte.is.decoded.usi
26180 6e 67 20 74 68 65 20 6e 6f 72 6d 61 6c 20 62 69 74 20 74 72 65 65 20 63 6f 6e 74 65 78 74 2e 20 ng.the.normal.bit.tree.context..
261a0 28 53 65 65 0a 40 73 61 6d 70 7b 64 65 63 6f 64 65 5f 6d 61 74 63 68 65 64 7d 20 69 6e 20 74 68 (See.@samp{decode_matched}.in.th
261c0 65 20 73 6f 75 72 63 65 29 2e 0a 0a 40 73 70 20 31 0a 40 73 65 63 74 69 6f 6e 20 54 68 65 20 72 e.source)...@sp.1.@section.The.r
261e0 61 6e 67 65 20 64 65 63 6f 64 65 72 0a 0a 54 68 65 20 4c 5a 4d 41 20 73 74 72 65 61 6d 20 69 73 ange.decoder..The.LZMA.stream.is
26200 20 63 6f 6e 73 75 6d 65 64 20 6f 6e 65 20 62 79 74 65 20 61 74 20 61 20 74 69 6d 65 20 62 79 20 .consumed.one.byte.at.a.time.by.
26220 74 68 65 20 72 61 6e 67 65 20 64 65 63 6f 64 65 72 2e 0a 28 53 65 65 20 40 73 61 6d 70 7b 6e 6f the.range.decoder..(See.@samp{no
26240 72 6d 61 6c 69 7a 65 7d 20 69 6e 20 74 68 65 20 73 6f 75 72 63 65 29 2e 20 45 76 65 72 79 20 62 rmalize}.in.the.source)..Every.b
26260 79 74 65 20 63 6f 6e 73 75 6d 65 64 20 70 72 6f 64 75 63 65 73 20 61 0a 76 61 72 69 61 62 6c 65 yte.consumed.produces.a.variable
26280 20 6e 75 6d 62 65 72 20 6f 66 20 64 65 63 6f 64 65 64 20 62 69 74 73 2c 20 64 65 70 65 6e 64 69 .number.of.decoded.bits,.dependi
262a0 6e 67 20 6f 6e 20 68 6f 77 20 77 65 6c 6c 20 74 68 65 73 65 20 62 69 74 73 20 61 67 72 65 65 0a ng.on.how.well.these.bits.agree.
262c0 77 69 74 68 20 74 68 65 69 72 20 63 6f 6e 74 65 78 74 2e 20 28 53 65 65 20 40 73 61 6d 70 7b 64 with.their.context..(See.@samp{d
262e0 65 63 6f 64 65 5f 62 69 74 7d 20 69 6e 20 74 68 65 20 73 6f 75 72 63 65 29 2e 0a 0a 54 68 65 20 ecode_bit}.in.the.source)...The.
26300 72 61 6e 67 65 20 64 65 63 6f 64 65 72 20 73 74 61 74 65 20 63 6f 6e 73 69 73 74 73 20 6f 66 20 range.decoder.state.consists.of.
26320 74 77 6f 20 75 6e 73 69 67 6e 65 64 20 33 32 2d 62 69 74 20 76 61 72 69 61 62 6c 65 73 3b 0a 40 two.unsigned.32-bit.variables;.@
26340 63 6f 64 65 7b 72 61 6e 67 65 7d 20 28 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 6d 6f code{range}.(representing.the.mo
26360 73 74 20 73 69 67 6e 69 66 69 63 61 6e 74 20 70 61 72 74 20 6f 66 20 74 68 65 20 72 61 6e 67 65 st.significant.part.of.the.range
26380 20 73 69 7a 65 0a 6e 6f 74 20 79 65 74 20 64 65 63 6f 64 65 64 29 2c 20 61 6e 64 20 40 63 6f 64 .size.not.yet.decoded),.and.@cod
263a0 65 7b 63 6f 64 65 7d 20 28 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 63 75 72 72 65 6e e{code}.(representing.the.curren
263c0 74 20 70 6f 69 6e 74 20 77 69 74 68 69 6e 0a 40 63 6f 64 65 7b 72 61 6e 67 65 7d 29 2e 20 40 63 t.point.within.@code{range})..@c
263e0 6f 64 65 7b 72 61 6e 67 65 7d 20 69 73 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 74 6f 20 40 77 7b ode{range}.is.initialized.to.@w{
26400 28 32 5e 33 32 20 2d 20 31 29 7d 2c 20 61 6e 64 0a 40 63 6f 64 65 7b 63 6f 64 65 7d 20 69 73 20 (2^32.-.1)},.and.@code{code}.is.
26420 69 6e 69 74 69 61 6c 69 7a 65 64 20 74 6f 20 30 2e 0a 0a 54 68 65 20 72 61 6e 67 65 20 65 6e 63 initialized.to.0...The.range.enc
26440 6f 64 65 72 20 70 72 6f 64 75 63 65 73 20 61 20 66 69 72 73 74 20 30 20 62 79 74 65 20 74 68 61 oder.produces.a.first.0.byte.tha
26460 74 20 6d 75 73 74 20 62 65 20 69 67 6e 6f 72 65 64 20 62 79 20 74 68 65 0a 72 61 6e 67 65 20 64 t.must.be.ignored.by.the.range.d
26480 65 63 6f 64 65 72 2e 20 54 68 69 73 20 69 73 20 64 6f 6e 65 20 62 79 20 73 68 69 66 74 69 6e 67 ecoder..This.is.done.by.shifting
264a0 20 35 20 62 79 74 65 73 20 69 6e 20 74 68 65 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 6f .5.bytes.in.the.initialization.o
264c0 66 0a 40 63 6f 64 65 7b 63 6f 64 65 7d 20 69 6e 73 74 65 61 64 20 6f 66 20 34 2e 20 28 53 65 65 f.@code{code}.instead.of.4..(See
264e0 20 74 68 65 20 40 73 61 6d 70 7b 52 61 6e 67 65 5f 64 65 63 6f 64 65 72 7d 20 63 6f 6e 73 74 72 .the.@samp{Range_decoder}.constr
26500 75 63 74 6f 72 20 69 6e 0a 74 68 65 20 73 6f 75 72 63 65 29 2e 0a 0a 40 73 70 20 31 0a 40 73 65 uctor.in.the.source)...@sp.1.@se
26520 63 74 69 6f 6e 20 44 65 63 6f 64 69 6e 67 20 74 68 65 20 4c 5a 4d 41 20 73 74 72 65 61 6d 0a 0a ction.Decoding.the.LZMA.stream..
26540 41 66 74 65 72 20 64 65 63 6f 64 69 6e 67 20 74 68 65 20 6d 65 6d 62 65 72 20 68 65 61 64 65 72 After.decoding.the.member.header
26560 20 61 6e 64 20 6f 62 74 61 69 6e 69 6e 67 20 74 68 65 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 .and.obtaining.the.dictionary.si
26580 7a 65 2c 20 74 68 65 0a 72 61 6e 67 65 20 64 65 63 6f 64 65 72 20 69 73 20 69 6e 69 74 69 61 6c ze,.the.range.decoder.is.initial
265a0 69 7a 65 64 20 61 6e 64 20 74 68 65 6e 20 74 68 65 20 4c 5a 4d 41 20 64 65 63 6f 64 65 72 20 65 ized.and.then.the.LZMA.decoder.e
265c0 6e 74 65 72 73 20 61 20 6c 6f 6f 70 0a 28 53 65 65 20 40 73 61 6d 70 7b 64 65 63 6f 64 65 5f 6d nters.a.loop.(See.@samp{decode_m
265e0 65 6d 62 65 72 7d 20 69 6e 20 74 68 65 20 73 6f 75 72 63 65 29 20 77 68 65 72 65 20 69 74 20 69 ember}.in.the.source).where.it.i
26600 6e 76 6f 6b 65 73 20 74 68 65 20 72 61 6e 67 65 0a 64 65 63 6f 64 65 72 20 77 69 74 68 20 74 68 nvokes.the.range.decoder.with.th
26620 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 63 6f 6e 74 65 78 74 73 20 74 6f 20 64 65 63 6f 64 65 e.appropriate.contexts.to.decode
26640 20 74 68 65 20 64 69 66 66 65 72 65 6e 74 20 63 6f 64 69 6e 67 0a 73 65 71 75 65 6e 63 65 73 20 .the.different.coding.sequences.
26660 28 6d 61 74 63 68 65 73 2c 20 72 65 70 65 61 74 65 64 20 6d 61 74 63 68 65 73 2c 20 61 6e 64 20 (matches,.repeated.matches,.and.
26680 6c 69 74 65 72 61 6c 20 62 79 74 65 73 29 2c 20 75 6e 74 69 6c 20 74 68 65 20 22 45 6e 64 0a 4f literal.bytes),.until.the."End.O
266a0 66 20 53 74 72 65 61 6d 22 20 6d 61 72 6b 65 72 20 69 73 20 64 65 63 6f 64 65 64 2e 0a 0a 0a 40 f.Stream".marker.is.decoded....@
266c0 6e 6f 64 65 20 54 72 61 69 6c 69 6e 67 20 64 61 74 61 0a 40 63 68 61 70 74 65 72 20 45 78 74 72 node.Trailing.data.@chapter.Extr
266e0 61 20 64 61 74 61 20 61 70 70 65 6e 64 65 64 20 74 6f 20 74 68 65 20 66 69 6c 65 0a 40 63 69 6e a.data.appended.to.the.file.@cin
26700 64 65 78 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 0a 0a 53 6f 6d 65 74 69 6d 65 73 20 65 78 74 dex.trailing.data..Sometimes.ext
26720 72 61 20 64 61 74 61 20 61 72 65 20 66 6f 75 6e 64 20 61 70 70 65 6e 64 65 64 20 74 6f 20 61 20 ra.data.are.found.appended.to.a.
26740 6c 7a 69 70 20 66 69 6c 65 20 61 66 74 65 72 20 74 68 65 20 6c 61 73 74 0a 6d 65 6d 62 65 72 2e lzip.file.after.the.last.member.
26760 20 53 75 63 68 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 20 6d 61 79 20 62 65 3a 0a 0a 40 69 74 .Such.trailing.data.may.be:..@it
26780 65 6d 69 7a 65 20 40 62 75 6c 6c 65 74 0a 40 69 74 65 6d 0a 50 61 64 64 69 6e 67 20 61 64 64 65 emize.@bullet.@item.Padding.adde
267a0 64 20 74 6f 20 6d 61 6b 65 20 74 68 65 20 66 69 6c 65 20 73 69 7a 65 20 61 20 6d 75 6c 74 69 70 d.to.make.the.file.size.a.multip
267c0 6c 65 20 6f 66 20 73 6f 6d 65 20 62 6c 6f 63 6b 20 73 69 7a 65 2c 20 66 6f 72 0a 65 78 61 6d 70 le.of.some.block.size,.for.examp
267e0 6c 65 20 77 68 65 6e 20 77 72 69 74 69 6e 67 20 74 6f 20 61 20 74 61 70 65 2e 20 49 74 20 69 73 le.when.writing.to.a.tape..It.is
26800 20 73 61 66 65 20 74 6f 20 61 70 70 65 6e 64 20 61 6e 79 20 61 6d 6f 75 6e 74 20 6f 66 0a 70 61 .safe.to.append.any.amount.of.pa
26820 64 64 69 6e 67 20 7a 65 72 6f 20 62 79 74 65 73 20 74 6f 20 61 20 6c 7a 69 70 20 66 69 6c 65 2e dding.zero.bytes.to.a.lzip.file.
26840 0a 0a 40 69 74 65 6d 0a 55 73 65 66 75 6c 20 64 61 74 61 20 61 64 64 65 64 20 62 79 20 74 68 65 ..@item.Useful.data.added.by.the
26860 20 75 73 65 72 3b 20 61 20 63 72 79 70 74 6f 67 72 61 70 68 69 63 61 6c 6c 79 20 73 65 63 75 72 .user;.a.cryptographically.secur
26880 65 20 68 61 73 68 2c 20 61 0a 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 66 69 6c 65 20 63 6f e.hash,.a.description.of.file.co
268a0 6e 74 65 6e 74 73 2c 20 65 74 63 2e 20 49 74 20 69 73 20 73 61 66 65 20 74 6f 20 61 70 70 65 6e ntents,.etc..It.is.safe.to.appen
268c0 64 20 61 6e 79 20 61 6d 6f 75 6e 74 20 6f 66 0a 74 65 78 74 20 74 6f 20 61 20 6c 7a 69 70 20 66 d.any.amount.of.text.to.a.lzip.f
268e0 69 6c 65 20 61 73 20 6c 6f 6e 67 20 61 73 20 6e 6f 6e 65 20 6f 66 20 74 68 65 20 66 69 72 73 74 ile.as.long.as.none.of.the.first
26900 20 66 6f 75 72 20 62 79 74 65 73 20 6f 66 20 74 68 65 20 74 65 78 74 0a 6d 61 74 63 68 20 74 68 .four.bytes.of.the.text.match.th
26920 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 62 79 74 65 20 69 6e 20 74 68 65 20 73 74 72 69 e.corresponding.byte.in.the.stri
26940 6e 67 20 22 4c 5a 49 50 22 2c 20 61 6e 64 20 74 68 65 20 74 65 78 74 20 64 6f 65 73 20 6e 6f 74 ng."LZIP",.and.the.text.does.not
26960 0a 63 6f 6e 74 61 69 6e 20 61 6e 79 20 7a 65 72 6f 20 62 79 74 65 73 20 28 6e 75 6c 6c 20 63 68 .contain.any.zero.bytes.(null.ch
26980 61 72 61 63 74 65 72 73 29 2e 20 4e 6f 6e 7a 65 72 6f 20 62 79 74 65 73 20 61 6e 64 20 7a 65 72 aracters)..Nonzero.bytes.and.zer
269a0 6f 20 62 79 74 65 73 0a 63 61 6e 27 74 20 62 65 20 73 61 66 65 6c 79 20 6d 69 78 65 64 20 69 6e o.bytes.can't.be.safely.mixed.in
269c0 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 2e 0a 0a 40 69 74 65 6d 0a 47 61 72 62 61 67 65 20 61 .trailing.data...@item.Garbage.a
269e0 64 64 65 64 20 62 79 20 73 6f 6d 65 20 6e 6f 74 20 74 6f 74 61 6c 6c 79 20 73 75 63 63 65 73 73 dded.by.some.not.totally.success
26a00 66 75 6c 20 63 6f 70 79 20 6f 70 65 72 61 74 69 6f 6e 2e 0a 0a 40 69 74 65 6d 0a 4d 61 6c 69 63 ful.copy.operation...@item.Malic
26a20 69 6f 75 73 20 64 61 74 61 20 61 64 64 65 64 20 74 6f 20 74 68 65 20 66 69 6c 65 20 69 6e 20 6f ious.data.added.to.the.file.in.o
26a40 72 64 65 72 20 74 6f 20 6d 61 6b 65 20 69 74 73 20 74 6f 74 61 6c 20 73 69 7a 65 20 61 6e 64 0a rder.to.make.its.total.size.and.
26a60 68 61 73 68 20 76 61 6c 75 65 20 28 66 6f 72 20 61 20 63 68 6f 73 65 6e 20 68 61 73 68 29 20 63 hash.value.(for.a.chosen.hash).c
26a80 6f 69 6e 63 69 64 65 20 77 69 74 68 20 74 68 6f 73 65 20 6f 66 20 61 6e 6f 74 68 65 72 20 66 69 oincide.with.those.of.another.fi
26aa0 6c 65 2e 0a 0a 40 69 74 65 6d 0a 49 6e 20 72 61 72 65 20 63 61 73 65 73 2c 20 74 72 61 69 6c 69 le...@item.In.rare.cases,.traili
26ac0 6e 67 20 64 61 74 61 20 63 6f 75 6c 64 20 62 65 20 74 68 65 20 63 6f 72 72 75 70 74 20 68 65 61 ng.data.could.be.the.corrupt.hea
26ae0 64 65 72 20 6f 66 20 61 6e 6f 74 68 65 72 0a 6d 65 6d 62 65 72 2e 20 49 6e 20 6d 75 6c 74 69 6d der.of.another.member..In.multim
26b00 65 6d 62 65 72 20 6f 72 20 63 6f 6e 63 61 74 65 6e 61 74 65 64 20 66 69 6c 65 73 20 74 68 65 20 ember.or.concatenated.files.the.
26b20 70 72 6f 62 61 62 69 6c 69 74 79 20 6f 66 0a 63 6f 72 72 75 70 74 69 6f 6e 20 68 61 70 70 65 6e probability.of.corruption.happen
26b40 69 6e 67 20 69 6e 20 74 68 65 20 6d 61 67 69 63 20 62 79 74 65 73 20 69 73 20 35 20 74 69 6d 65 ing.in.the.magic.bytes.is.5.time
26b60 73 20 73 6d 61 6c 6c 65 72 20 74 68 61 6e 20 74 68 65 0a 70 72 6f 62 61 62 69 6c 69 74 79 20 6f s.smaller.than.the.probability.o
26b80 66 20 67 65 74 74 69 6e 67 20 61 20 66 61 6c 73 65 20 70 6f 73 69 74 69 76 65 20 63 61 75 73 65 f.getting.a.false.positive.cause
26ba0 64 20 62 79 20 74 68 65 20 63 6f 72 72 75 70 74 69 6f 6e 20 6f 66 20 74 68 65 0a 69 6e 74 65 67 d.by.the.corruption.of.the.integ
26bc0 72 69 74 79 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 74 73 65 6c 66 2e 20 54 68 65 72 65 66 6f rity.information.itself..Therefo
26be0 72 65 20 69 74 20 63 61 6e 20 62 65 20 63 6f 6e 73 69 64 65 72 65 64 20 74 6f 20 62 65 20 62 65 re.it.can.be.considered.to.be.be
26c00 6c 6f 77 0a 74 68 65 20 6e 6f 69 73 65 20 6c 65 76 65 6c 2e 20 41 64 64 69 74 69 6f 6e 61 6c 6c low.the.noise.level..Additionall
26c20 79 2c 20 74 68 65 20 74 65 73 74 20 75 73 65 64 20 62 79 20 6c 7a 69 70 20 74 6f 20 64 69 73 63 y,.the.test.used.by.lzip.to.disc
26c40 72 69 6d 69 6e 61 74 65 0a 74 72 61 69 6c 69 6e 67 20 64 61 74 61 20 66 72 6f 6d 20 61 20 63 6f riminate.trailing.data.from.a.co
26c60 72 72 75 70 74 20 68 65 61 64 65 72 20 68 61 73 20 61 20 48 61 6d 6d 69 6e 67 20 64 69 73 74 61 rrupt.header.has.a.Hamming.dista
26c80 6e 63 65 20 28 48 44 29 20 6f 66 20 33 2c 0a 61 6e 64 20 74 68 65 20 33 20 62 69 74 20 66 6c 69 nce.(HD).of.3,.and.the.3.bit.fli
26ca0 70 73 20 6d 75 73 74 20 68 61 70 70 65 6e 20 69 6e 20 64 69 66 66 65 72 65 6e 74 20 6d 61 67 69 ps.must.happen.in.different.magi
26cc0 63 20 62 79 74 65 73 20 66 6f 72 20 74 68 65 20 74 65 73 74 20 74 6f 0a 66 61 69 6c 2e 20 49 6e c.bytes.for.the.test.to.fail..In
26ce0 20 61 6e 79 20 63 61 73 65 2c 20 74 68 65 20 6f 70 74 69 6f 6e 20 40 73 61 6d 70 7b 2d 2d 74 72 .any.case,.the.option.@samp{--tr
26d00 61 69 6c 69 6e 67 2d 65 72 72 6f 72 7d 20 67 75 61 72 61 6e 74 65 65 73 20 74 68 61 74 0a 61 6e ailing-error}.guarantees.that.an
26d20 79 20 63 6f 72 72 75 70 74 20 68 65 61 64 65 72 20 77 69 6c 6c 20 62 65 20 64 65 74 65 63 74 65 y.corrupt.header.will.be.detecte
26d40 64 2e 0a 40 65 6e 64 20 69 74 65 6d 69 7a 65 0a 0a 54 72 61 69 6c 69 6e 67 20 64 61 74 61 20 61 d..@end.itemize..Trailing.data.a
26d60 72 65 20 69 6e 20 6e 6f 20 77 61 79 20 70 61 72 74 20 6f 66 20 74 68 65 20 6c 7a 69 70 20 66 69 re.in.no.way.part.of.the.lzip.fi
26d80 6c 65 20 66 6f 72 6d 61 74 2c 20 62 75 74 20 74 6f 6f 6c 73 0a 72 65 61 64 69 6e 67 20 6c 7a 69 le.format,.but.tools.reading.lzi
26da0 70 20 66 69 6c 65 73 20 61 72 65 20 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 68 61 76 65 20 61 p.files.are.expected.to.behave.a
26dc0 73 20 63 6f 72 72 65 63 74 6c 79 20 61 6e 64 20 75 73 65 66 75 6c 6c 79 20 61 73 0a 70 6f 73 73 s.correctly.and.usefully.as.poss
26de0 69 62 6c 65 20 69 6e 20 74 68 65 20 70 72 65 73 65 6e 63 65 20 6f 66 20 74 72 61 69 6c 69 6e 67 ible.in.the.presence.of.trailing
26e00 20 64 61 74 61 2e 0a 0a 54 72 61 69 6c 69 6e 67 20 64 61 74 61 20 63 61 6e 20 62 65 20 73 61 66 .data...Trailing.data.can.be.saf
26e20 65 6c 79 20 69 67 6e 6f 72 65 64 20 69 6e 20 6d 6f 73 74 20 63 61 73 65 73 2e 20 49 6e 20 73 6f ely.ignored.in.most.cases..In.so
26e40 6d 65 20 63 61 73 65 73 2c 20 6c 69 6b 65 0a 74 68 61 74 20 6f 66 20 75 73 65 72 2d 61 64 64 65 me.cases,.like.that.of.user-adde
26e60 64 20 64 61 74 61 2c 20 74 68 65 79 20 61 72 65 20 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 20 d.data,.they.are.expected.to.be.
26e80 69 67 6e 6f 72 65 64 2e 20 49 6e 20 74 68 6f 73 65 20 63 61 73 65 73 0a 77 68 65 72 65 20 61 20 ignored..In.those.cases.where.a.
26ea0 66 69 6c 65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 20 6d 75 file.containing.trailing.data.mu
26ec0 73 74 20 62 65 20 72 65 6a 65 63 74 65 64 2c 20 74 68 65 20 6f 70 74 69 6f 6e 0a 40 73 61 6d 70 st.be.rejected,.the.option.@samp
26ee0 7b 2d 2d 74 72 61 69 6c 69 6e 67 2d 65 72 72 6f 72 7d 20 63 61 6e 20 62 65 20 75 73 65 64 2e 20 {--trailing-error}.can.be.used..
26f00 40 78 72 65 66 7b 2d 2d 74 72 61 69 6c 69 6e 67 2d 65 72 72 6f 72 7d 2e 0a 0a 0a 40 6e 6f 64 65 @xref{--trailing-error}....@node
26f20 20 45 78 61 6d 70 6c 65 73 0a 40 63 68 61 70 74 65 72 20 41 20 73 6d 61 6c 6c 20 74 75 74 6f 72 .Examples.@chapter.A.small.tutor
26f40 69 61 6c 20 77 69 74 68 20 65 78 61 6d 70 6c 65 73 0a 40 63 69 6e 64 65 78 20 65 78 61 6d 70 6c ial.with.examples.@cindex.exampl
26f60 65 73 0a 0a 57 41 52 4e 49 4e 47 21 20 45 76 65 6e 20 69 66 20 6c 7a 69 70 20 69 73 20 62 75 67 es..WARNING!.Even.if.lzip.is.bug
26f80 2d 66 72 65 65 2c 20 6f 74 68 65 72 20 63 61 75 73 65 73 20 6d 61 79 20 72 65 73 75 6c 74 20 69 -free,.other.causes.may.result.i
26fa0 6e 20 61 20 63 6f 72 72 75 70 74 0a 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 20 28 62 75 67 n.a.corrupt.compressed.file.(bug
26fc0 73 20 69 6e 20 74 68 65 20 73 79 73 74 65 6d 20 6c 69 62 72 61 72 69 65 73 2c 20 6d 65 6d 6f 72 s.in.the.system.libraries,.memor
26fe0 79 20 65 72 72 6f 72 73 2c 20 65 74 63 29 2e 0a 54 68 65 72 65 66 6f 72 65 2c 20 69 66 20 74 68 y.errors,.etc)..Therefore,.if.th
27000 65 20 64 61 74 61 20 79 6f 75 20 61 72 65 20 67 6f 69 6e 67 20 74 6f 20 63 6f 6d 70 72 65 73 73 e.data.you.are.going.to.compress
27020 20 61 72 65 20 69 6d 70 6f 72 74 61 6e 74 2c 20 67 69 76 65 20 74 68 65 0a 40 73 61 6d 70 7b 2d .are.important,.give.the.@samp{-
27040 2d 6b 65 65 70 7d 20 6f 70 74 69 6f 6e 20 74 6f 20 6c 7a 69 70 20 61 6e 64 20 64 6f 6e 27 74 20 -keep}.option.to.lzip.and.don't.
27060 72 65 6d 6f 76 65 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 66 69 6c 65 20 75 6e 74 69 6c 0a 79 remove.the.original.file.until.y
27080 6f 75 20 76 65 72 69 66 79 20 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 20 77 69 ou.verify.the.compressed.file.wi
270a0 74 68 20 61 20 63 6f 6d 6d 61 6e 64 20 6c 69 6b 65 0a 40 77 7b 40 73 61 6d 70 7b 6c 7a 69 70 20 th.a.command.like.@w{@samp{lzip.
270c0 2d 63 64 20 66 69 6c 65 2e 6c 7a 20 7c 20 63 6d 70 20 66 69 6c 65 20 2d 7d 7d 2e 0a 0a 40 73 70 -cd.file.lz.|.cmp.file.-}}...@sp
270e0 20 31 0a 40 6e 6f 69 6e 64 65 6e 74 0a 45 78 61 6d 70 6c 65 20 31 3a 20 52 65 70 6c 61 63 65 20 .1.@noindent.Example.1:.Replace.
27100 61 20 72 65 67 75 6c 61 72 20 66 69 6c 65 20 77 69 74 68 20 69 74 73 20 63 6f 6d 70 72 65 73 73 a.regular.file.with.its.compress
27120 65 64 20 76 65 72 73 69 6f 6e 0a 40 73 61 6d 70 7b 66 69 6c 65 2e 6c 7a 7d 20 61 6e 64 20 73 68 ed.version.@samp{file.lz}.and.sh
27140 6f 77 20 74 68 65 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 72 61 74 69 6f 2e 0a 0a 40 65 78 61 6d ow.the.compression.ratio...@exam
27160 70 6c 65 0a 6c 7a 69 70 20 2d 76 20 66 69 6c 65 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 0a 40 ple.lzip.-v.file.@end.example..@
27180 73 70 20 31 0a 40 6e 6f 69 6e 64 65 6e 74 0a 45 78 61 6d 70 6c 65 20 32 3a 20 4c 69 6b 65 20 65 sp.1.@noindent.Example.2:.Like.e
271a0 78 61 6d 70 6c 65 20 31 20 62 75 74 20 74 68 65 20 63 72 65 61 74 65 64 20 40 73 61 6d 70 7b 66 xample.1.but.the.created.@samp{f
271c0 69 6c 65 2e 6c 7a 7d 20 69 73 20 6d 75 6c 74 69 6d 65 6d 62 65 72 0a 77 69 74 68 20 61 20 6d 65 ile.lz}.is.multimember.with.a.me
271e0 6d 62 65 72 20 73 69 7a 65 20 6f 66 20 40 77 7b 31 20 4d 69 42 7d 2e 20 54 68 65 20 63 6f 6d 70 mber.size.of.@w{1.MiB}..The.comp
27200 72 65 73 73 69 6f 6e 20 72 61 74 69 6f 20 69 73 20 6e 6f 74 20 73 68 6f 77 6e 2e 0a 0a 40 65 78 ression.ratio.is.not.shown...@ex
27220 61 6d 70 6c 65 0a 6c 7a 69 70 20 2d 62 20 31 4d 69 42 20 66 69 6c 65 0a 40 65 6e 64 20 65 78 61 ample.lzip.-b.1MiB.file.@end.exa
27240 6d 70 6c 65 0a 0a 40 73 70 20 31 0a 40 6e 6f 69 6e 64 65 6e 74 0a 45 78 61 6d 70 6c 65 20 33 3a mple..@sp.1.@noindent.Example.3:
27260 20 52 65 73 74 6f 72 65 20 61 20 72 65 67 75 6c 61 72 20 66 69 6c 65 20 66 72 6f 6d 20 69 74 73 .Restore.a.regular.file.from.its
27280 20 63 6f 6d 70 72 65 73 73 65 64 20 76 65 72 73 69 6f 6e 0a 40 73 61 6d 70 7b 66 69 6c 65 2e 6c .compressed.version.@samp{file.l
272a0 7a 7d 2e 20 49 66 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 69 73 20 73 75 63 63 65 73 73 66 z}..If.the.operation.is.successf
272c0 75 6c 2c 20 40 73 61 6d 70 7b 66 69 6c 65 2e 6c 7a 7d 20 69 73 0a 72 65 6d 6f 76 65 64 2e 0a 0a ul,.@samp{file.lz}.is.removed...
272e0 40 65 78 61 6d 70 6c 65 0a 6c 7a 69 70 20 2d 64 20 66 69 6c 65 2e 6c 7a 0a 40 65 6e 64 20 65 78 @example.lzip.-d.file.lz.@end.ex
27300 61 6d 70 6c 65 0a 0a 40 73 70 20 31 0a 40 6e 6f 69 6e 64 65 6e 74 0a 45 78 61 6d 70 6c 65 20 34 ample..@sp.1.@noindent.Example.4
27320 3a 20 56 65 72 69 66 79 20 74 68 65 20 69 6e 74 65 67 72 69 74 79 20 6f 66 20 74 68 65 20 63 6f :.Verify.the.integrity.of.the.co
27340 6d 70 72 65 73 73 65 64 20 66 69 6c 65 20 40 73 61 6d 70 7b 66 69 6c 65 2e 6c 7a 7d 0a 61 6e 64 mpressed.file.@samp{file.lz}.and
27360 20 73 68 6f 77 20 73 74 61 74 75 73 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 6c 7a 69 70 20 2d 74 76 .show.status...@example.lzip.-tv
27380 20 66 69 6c 65 2e 6c 7a 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 0a 40 73 70 20 31 0a 40 6e 6f .file.lz.@end.example..@sp.1.@no
273a0 69 6e 64 65 6e 74 0a 45 78 61 6d 70 6c 65 20 35 3a 20 43 6f 6d 70 72 65 73 73 20 61 20 77 68 6f indent.Example.5:.Compress.a.who
273c0 6c 65 20 64 65 76 69 63 65 20 69 6e 20 2f 64 65 76 2f 73 64 63 20 61 6e 64 20 73 65 6e 64 20 74 le.device.in./dev/sdc.and.send.t
273e0 68 65 20 6f 75 74 70 75 74 20 74 6f 0a 40 73 61 6d 70 7b 66 69 6c 65 2e 6c 7a 7d 2e 0a 0a 40 65 he.output.to.@samp{file.lz}...@e
27400 78 61 6d 70 6c 65 0a 6c 7a 69 70 20 2d 63 20 2f 64 65 76 2f 73 64 63 20 3e 20 66 69 6c 65 2e 6c xample.lzip.-c./dev/sdc.>.file.l
27420 7a 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 0a 40 73 70 20 31 0a 40 61 6e 63 68 6f 72 7b 63 6f z.@end.example..@sp.1.@anchor{co
27440 6e 63 61 74 2d 65 78 61 6d 70 6c 65 7d 0a 40 6e 6f 69 6e 64 65 6e 74 0a 45 78 61 6d 70 6c 65 20 ncat-example}.@noindent.Example.
27460 36 3a 20 54 68 65 20 72 69 67 68 74 20 77 61 79 20 6f 66 20 63 6f 6e 63 61 74 65 6e 61 74 69 6e 6:.The.right.way.of.concatenatin
27480 67 20 74 68 65 20 64 65 63 6f 6d 70 72 65 73 73 65 64 20 6f 75 74 70 75 74 20 6f 66 20 74 77 6f g.the.decompressed.output.of.two
274a0 0a 6f 72 20 6d 6f 72 65 20 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 73 2e 20 40 78 72 65 66 .or.more.compressed.files..@xref
274c0 7b 54 72 61 69 6c 69 6e 67 20 64 61 74 61 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 44 6f 6e 27 74 {Trailing.data}...@example.Don't
274e0 20 64 6f 20 74 68 69 73 0a 20 20 63 61 74 20 66 69 6c 65 31 2e 6c 7a 20 66 69 6c 65 32 2e 6c 7a .do.this...cat.file1.lz.file2.lz
27500 20 66 69 6c 65 33 2e 6c 7a 20 7c 20 6c 7a 69 70 20 2d 64 0a 44 6f 20 74 68 69 73 20 69 6e 73 74 .file3.lz.|.lzip.-d.Do.this.inst
27520 65 61 64 0a 20 20 6c 7a 69 70 20 2d 63 64 20 66 69 6c 65 31 2e 6c 7a 20 66 69 6c 65 32 2e 6c 7a ead...lzip.-cd.file1.lz.file2.lz
27540 20 66 69 6c 65 33 2e 6c 7a 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 0a 40 73 70 20 31 0a 40 6e .file3.lz.@end.example..@sp.1.@n
27560 6f 69 6e 64 65 6e 74 0a 45 78 61 6d 70 6c 65 20 37 3a 20 44 65 63 6f 6d 70 72 65 73 73 20 40 73 oindent.Example.7:.Decompress.@s
27580 61 6d 70 7b 66 69 6c 65 2e 6c 7a 7d 20 70 61 72 74 69 61 6c 6c 79 20 75 6e 74 69 6c 20 40 77 7b amp{file.lz}.partially.until.@w{
275a0 31 30 20 4b 69 42 7d 20 6f 66 0a 64 65 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 20 61 72 65 10.KiB}.of.decompressed.data.are
275c0 20 70 72 6f 64 75 63 65 64 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 6c 7a 69 70 20 2d 63 64 20 66 69 .produced...@example.lzip.-cd.fi
275e0 6c 65 2e 6c 7a 20 7c 20 64 64 20 62 73 3d 31 30 32 34 20 63 6f 75 6e 74 3d 31 30 0a 40 65 6e 64 le.lz.|.dd.bs=1024.count=10.@end
27600 20 65 78 61 6d 70 6c 65 0a 0a 40 73 70 20 31 0a 40 6e 6f 69 6e 64 65 6e 74 0a 45 78 61 6d 70 6c .example..@sp.1.@noindent.Exampl
27620 65 20 38 3a 20 44 65 63 6f 6d 70 72 65 73 73 20 40 73 61 6d 70 7b 66 69 6c 65 2e 6c 7a 7d 20 70 e.8:.Decompress.@samp{file.lz}.p
27640 61 72 74 69 61 6c 6c 79 20 66 72 6f 6d 20 64 65 63 6f 6d 70 72 65 73 73 65 64 20 62 79 74 65 0a artially.from.decompressed.byte.
27660 31 30 30 30 30 20 74 6f 20 64 65 63 6f 6d 70 72 65 73 73 65 64 20 62 79 74 65 20 31 35 30 30 30 10000.to.decompressed.byte.15000
27680 20 28 35 30 30 30 20 62 79 74 65 73 20 61 72 65 20 70 72 6f 64 75 63 65 64 29 2e 0a 0a 40 65 78 .(5000.bytes.are.produced)...@ex
276a0 61 6d 70 6c 65 0a 6c 7a 69 70 20 2d 63 64 20 66 69 6c 65 2e 6c 7a 20 7c 20 64 64 20 62 73 3d 31 ample.lzip.-cd.file.lz.|.dd.bs=1
276c0 30 30 30 20 73 6b 69 70 3d 31 30 20 63 6f 75 6e 74 3d 35 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 000.skip=10.count=5.@end.example
276e0 0a 0a 40 73 70 20 31 0a 40 6e 6f 69 6e 64 65 6e 74 0a 45 78 61 6d 70 6c 65 20 39 3a 20 43 72 65 ..@sp.1.@noindent.Example.9:.Cre
27700 61 74 65 20 61 20 6d 75 6c 74 69 76 6f 6c 75 6d 65 20 63 6f 6d 70 72 65 73 73 65 64 20 74 61 72 ate.a.multivolume.compressed.tar
27720 20 61 72 63 68 69 76 65 20 77 69 74 68 20 61 20 76 6f 6c 75 6d 65 0a 73 69 7a 65 20 6f 66 20 40 .archive.with.a.volume.size.of.@
27740 77 7b 31 34 34 30 20 4b 69 42 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 74 61 72 20 2d 63 20 73 6f w{1440.KiB}...@example.tar.-c.so
27760 6d 65 5f 64 69 72 65 63 74 6f 72 79 20 7c 20 6c 7a 69 70 20 2d 53 20 31 34 34 30 4b 69 42 20 2d me_directory.|.lzip.-S.1440KiB.-
27780 6f 20 76 6f 6c 75 6d 65 5f 6e 61 6d 65 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 0a 40 73 70 20 o.volume_name.@end.example..@sp.
277a0 31 0a 40 6e 6f 69 6e 64 65 6e 74 0a 45 78 61 6d 70 6c 65 20 31 30 3a 20 45 78 74 72 61 63 74 20 1.@noindent.Example.10:.Extract.
277c0 61 20 6d 75 6c 74 69 76 6f 6c 75 6d 65 20 63 6f 6d 70 72 65 73 73 65 64 20 74 61 72 20 61 72 63 a.multivolume.compressed.tar.arc
277e0 68 69 76 65 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 6c 7a 69 70 20 2d 63 64 20 76 6f 6c 75 6d 65 5f hive...@example.lzip.-cd.volume_
27800 6e 61 6d 65 2a 2e 6c 7a 20 7c 20 74 61 72 20 2d 78 66 20 2d 0a 40 65 6e 64 20 65 78 61 6d 70 6c name*.lz.|.tar.-xf.-.@end.exampl
27820 65 0a 0a 40 73 70 20 31 0a 40 6e 6f 69 6e 64 65 6e 74 0a 45 78 61 6d 70 6c 65 20 31 31 3a 20 43 e..@sp.1.@noindent.Example.11:.C
27840 72 65 61 74 65 20 61 20 6d 75 6c 74 69 76 6f 6c 75 6d 65 20 63 6f 6d 70 72 65 73 73 65 64 20 62 reate.a.multivolume.compressed.b
27860 61 63 6b 75 70 20 6f 66 20 61 20 6c 61 72 67 65 20 64 61 74 61 62 61 73 65 0a 66 69 6c 65 20 77 ackup.of.a.large.database.file.w
27880 69 74 68 20 61 20 76 6f 6c 75 6d 65 20 73 69 7a 65 20 6f 66 20 40 77 7b 36 35 30 20 4d 42 7d 2c ith.a.volume.size.of.@w{650.MB},
278a0 20 77 68 65 72 65 20 65 61 63 68 20 76 6f 6c 75 6d 65 20 69 73 20 61 0a 6d 75 6c 74 69 6d 65 6d .where.each.volume.is.a.multimem
278c0 62 65 72 20 66 69 6c 65 20 77 69 74 68 20 61 20 6d 65 6d 62 65 72 20 73 69 7a 65 20 6f 66 20 40 ber.file.with.a.member.size.of.@
278e0 77 7b 33 32 20 4d 69 42 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 6c 7a 69 70 20 2d 62 20 33 32 4d w{32.MiB}...@example.lzip.-b.32M
27900 69 42 20 2d 53 20 36 35 30 4d 42 20 62 69 67 5f 64 62 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a iB.-S.650MB.big_db.@end.example.
27920 0a 0a 40 6e 6f 64 65 20 50 72 6f 62 6c 65 6d 73 0a 40 63 68 61 70 74 65 72 20 52 65 70 6f 72 74 ..@node.Problems.@chapter.Report
27940 69 6e 67 20 62 75 67 73 0a 40 63 69 6e 64 65 78 20 62 75 67 73 0a 40 63 69 6e 64 65 78 20 67 65 ing.bugs.@cindex.bugs.@cindex.ge
27960 74 74 69 6e 67 20 68 65 6c 70 0a 0a 54 68 65 72 65 20 61 72 65 20 70 72 6f 62 61 62 6c 79 20 62 tting.help..There.are.probably.b
27980 75 67 73 20 69 6e 20 6c 7a 69 70 2e 20 54 68 65 72 65 20 61 72 65 20 63 65 72 74 61 69 6e 6c 79 ugs.in.lzip..There.are.certainly
279a0 20 65 72 72 6f 72 73 20 61 6e 64 0a 6f 6d 69 73 73 69 6f 6e 73 20 69 6e 20 74 68 69 73 20 6d 61 .errors.and.omissions.in.this.ma
279c0 6e 75 61 6c 2e 20 49 66 20 79 6f 75 20 72 65 70 6f 72 74 20 74 68 65 6d 2c 20 74 68 65 79 20 77 nual..If.you.report.them,.they.w
279e0 69 6c 6c 20 67 65 74 20 66 69 78 65 64 2e 20 49 66 0a 79 6f 75 20 64 6f 6e 27 74 2c 20 6e 6f 20 ill.get.fixed..If.you.don't,.no.
27a00 6f 6e 65 20 77 69 6c 6c 20 65 76 65 72 20 6b 6e 6f 77 20 61 62 6f 75 74 20 74 68 65 6d 20 61 6e one.will.ever.know.about.them.an
27a20 64 20 74 68 65 79 20 77 69 6c 6c 20 72 65 6d 61 69 6e 20 75 6e 66 69 78 65 64 0a 66 6f 72 20 61 d.they.will.remain.unfixed.for.a
27a40 6c 6c 20 65 74 65 72 6e 69 74 79 2c 20 69 66 20 6e 6f 74 20 6c 6f 6e 67 65 72 2e 0a 0a 49 66 20 ll.eternity,.if.not.longer...If.
27a60 79 6f 75 20 66 69 6e 64 20 61 20 62 75 67 20 69 6e 20 6c 7a 69 70 2c 20 70 6c 65 61 73 65 20 73 you.find.a.bug.in.lzip,.please.s
27a80 65 6e 64 20 65 6c 65 63 74 72 6f 6e 69 63 20 6d 61 69 6c 20 74 6f 0a 40 65 6d 61 69 6c 7b 6c 7a end.electronic.mail.to.@email{lz
27aa0 69 70 2d 62 75 67 40 40 6e 6f 6e 67 6e 75 2e 6f 72 67 7d 2e 20 49 6e 63 6c 75 64 65 20 74 68 65 ip-bug@@nongnu.org}..Include.the
27ac0 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 2c 20 77 68 69 63 68 20 79 6f 75 20 63 61 6e 0a 66 .version.number,.which.you.can.f
27ae0 69 6e 64 20 62 79 20 72 75 6e 6e 69 6e 67 20 40 77 7b 40 63 6f 64 65 7b 6c 7a 69 70 20 2d 2d 76 ind.by.running.@w{@code{lzip.--v
27b00 65 72 73 69 6f 6e 7d 7d 2e 0a 0a 0a 40 6e 6f 64 65 20 52 65 66 65 72 65 6e 63 65 20 73 6f 75 72 ersion}}....@node.Reference.sour
27b20 63 65 20 63 6f 64 65 0a 40 61 70 70 65 6e 64 69 78 20 52 65 66 65 72 65 6e 63 65 20 73 6f 75 72 ce.code.@appendix.Reference.sour
27b40 63 65 20 63 6f 64 65 0a 40 63 69 6e 64 65 78 20 72 65 66 65 72 65 6e 63 65 20 73 6f 75 72 63 65 ce.code.@cindex.reference.source
27b60 20 63 6f 64 65 0a 0a 40 76 65 72 62 61 74 69 6d 0a 2f 2a 20 20 4c 7a 64 20 2d 20 45 64 75 63 61 .code..@verbatim./*..Lzd.-.Educa
27b80 74 69 6f 6e 61 6c 20 64 65 63 6f 6d 70 72 65 73 73 6f 72 20 66 6f 72 20 74 68 65 20 6c 7a 69 70 tional.decompressor.for.the.lzip
27ba0 20 66 6f 72 6d 61 74 0a 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 33 2d 32 .format.....Copyright.(C).2013-2
27bc0 30 31 38 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 20 54 68 69 73 018.Antonio.Diaz.Diaz.......This
27be0 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 2e 20 52 65 64 69 73 .program.is.free.software..Redis
27c00 74 72 69 62 75 74 69 6f 6e 20 61 6e 64 20 75 73 65 20 69 6e 20 73 6f 75 72 63 65 20 61 6e 64 0a tribution.and.use.in.source.and.
27c20 20 20 20 20 62 69 6e 61 72 79 20 66 6f 72 6d 73 2c 20 77 69 74 68 20 6f 72 20 77 69 74 68 6f 75 ....binary.forms,.with.or.withou
27c40 74 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 2c 20 61 72 65 20 70 65 72 6d 69 74 74 65 64 20 70 72 t.modification,.are.permitted.pr
27c60 6f 76 69 64 65 64 0a 20 20 20 20 74 68 61 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f ovided.....that.the.following.co
27c80 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 6d 65 74 3a 0a 0a 20 20 20 20 31 2e 20 52 65 64 69 73 74 nditions.are.met:......1..Redist
27ca0 72 69 62 75 74 69 6f 6e 73 20 6f 66 20 73 6f 75 72 63 65 20 63 6f 64 65 20 6d 75 73 74 20 72 65 ributions.of.source.code.must.re
27cc0 74 61 69 6e 20 74 68 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 67 68 74 0a 20 20 20 20 6e 6f 74 tain.the.above.copyright.....not
27ce0 69 63 65 2c 20 74 68 69 73 20 6c 69 73 74 20 6f 66 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 6e 64 ice,.this.list.of.conditions.and
27d00 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 64 69 73 63 6c 61 69 6d 65 72 2e 0a 0a 20 20 20 20 .the.following.disclaimer.......
27d20 32 2e 20 52 65 64 69 73 74 72 69 62 75 74 69 6f 6e 73 20 69 6e 20 62 69 6e 61 72 79 20 66 6f 72 2..Redistributions.in.binary.for
27d40 6d 20 6d 75 73 74 20 72 65 70 72 6f 64 75 63 65 20 74 68 65 20 61 62 6f 76 65 20 63 6f 70 79 72 m.must.reproduce.the.above.copyr
27d60 69 67 68 74 0a 20 20 20 20 6e 6f 74 69 63 65 2c 20 74 68 69 73 20 6c 69 73 74 20 6f 66 20 63 6f ight.....notice,.this.list.of.co
27d80 6e 64 69 74 69 6f 6e 73 20 61 6e 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 64 69 73 63 6c nditions.and.the.following.discl
27da0 61 69 6d 65 72 20 69 6e 20 74 68 65 0a 20 20 20 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 61 aimer.in.the.....documentation.a
27dc0 6e 64 2f 6f 72 20 6f 74 68 65 72 20 6d 61 74 65 72 69 61 6c 73 20 70 72 6f 76 69 64 65 64 20 77 nd/or.other.materials.provided.w
27de0 69 74 68 20 74 68 65 20 64 69 73 74 72 69 62 75 74 69 6f 6e 2e 0a 0a 20 20 20 20 54 68 69 73 20 ith.the.distribution.......This.
27e00 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f program.is.distributed.in.the.ho
27e20 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 20 20 20 62 pe.that.it.will.be.useful,.....b
27e40 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 ut.WITHOUT.ANY.WARRANTY;.without
27e60 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 20 20 .even.the.implied.warranty.of...
27e80 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 ..MERCHANTABILITY.or.FITNESS.FOR
27ea0 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 0a 2a 2f 0a 2f 2a 0a 20 20 20 .A.PARTICULAR.PURPOSE..*/./*....
27ec0 20 45 78 69 74 20 73 74 61 74 75 73 3a 20 30 20 66 6f 72 20 61 20 6e 6f 72 6d 61 6c 20 65 78 69 .Exit.status:.0.for.a.normal.exi
27ee0 74 2c 20 31 20 66 6f 72 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 61 6c 20 70 72 6f 62 6c 65 6d 73 0a t,.1.for.environmental.problems.
27f00 20 20 20 20 28 66 69 6c 65 20 6e 6f 74 20 66 6f 75 6e 64 2c 20 69 6e 76 61 6c 69 64 20 66 6c 61 ....(file.not.found,.invalid.fla
27f20 67 73 2c 20 49 2f 4f 20 65 72 72 6f 72 73 2c 20 65 74 63 29 2c 20 32 20 74 6f 20 69 6e 64 69 63 gs,.I/O.errors,.etc),.2.to.indic
27f40 61 74 65 20 61 0a 20 20 20 20 63 6f 72 72 75 70 74 20 6f 72 20 69 6e 76 61 6c 69 64 20 69 6e 70 ate.a.....corrupt.or.invalid.inp
27f60 75 74 20 66 69 6c 65 2e 0a 2a 2f 0a 0a 23 69 6e 63 6c 75 64 65 20 3c 61 6c 67 6f 72 69 74 68 6d ut.file..*/..#include.<algorithm
27f80 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 63 65 72 72 6e 6f 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 63 73 >.#include.<cerrno>.#include.<cs
27fa0 74 64 69 6f 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 63 73 74 64 6c 69 62 3e 0a 23 69 6e 63 6c 75 64 tdio>.#include.<cstdlib>.#includ
27fc0 65 20 3c 63 73 74 72 69 6e 67 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6e 74 2e 68 3e 0a e.<cstring>.#include.<stdint.h>.
27fe0 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 64 2e 68 3e 0a 23 69 66 20 64 65 66 69 6e 65 64 28 #include.<unistd.h>.#if.defined(
28000 5f 5f 4d 53 56 43 52 54 5f 5f 29 20 7c 7c 20 64 65 66 69 6e 65 64 28 5f 5f 4f 53 32 5f 5f 29 20 __MSVCRT__).||.defined(__OS2__).
28020 7c 7c 20 64 65 66 69 6e 65 64 28 5f 4d 53 43 5f 56 45 52 29 0a 23 69 6e 63 6c 75 64 65 20 3c 66 ||.defined(_MSC_VER).#include.<f
28040 63 6e 74 6c 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 69 6f 2e 68 3e 0a 23 65 6e 64 69 66 0a 0a cntl.h>.#include.<io.h>.#endif..
28060 0a 63 6c 61 73 73 20 53 74 61 74 65 0a 20 20 7b 0a 20 20 69 6e 74 20 73 74 3b 0a 0a 70 75 62 6c .class.State...{...int.st;..publ
28080 69 63 3a 0a 20 20 65 6e 75 6d 20 7b 20 73 74 61 74 65 73 20 3d 20 31 32 20 7d 3b 0a 20 20 53 74 ic:...enum.{.states.=.12.};...St
280a0 61 74 65 28 29 20 3a 20 73 74 28 20 30 20 29 20 7b 7d 0a 20 20 69 6e 74 20 6f 70 65 72 61 74 6f ate().:.st(.0.).{}...int.operato
280c0 72 28 29 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 73 74 3b 20 7d 0a 20 20 62 6f 6f r()().const.{.return.st;.}...boo
280e0 6c 20 69 73 5f 63 68 61 72 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 73 74 20 3c 20 l.is_char().const.{.return.st.<.
28100 37 3b 20 7d 0a 0a 20 20 76 6f 69 64 20 73 65 74 5f 63 68 61 72 28 29 0a 20 20 20 20 7b 0a 20 20 7;.}....void.set_char().....{...
28120 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 69 6e 74 20 6e 65 78 74 5b 73 74 61 74 65 73 5d 20 ..static.const.int.next[states].
28140 3d 20 7b 20 30 2c 20 30 2c 20 30 2c 20 30 2c 20 31 2c 20 32 2c 20 33 2c 20 34 2c 20 35 2c 20 36 =.{.0,.0,.0,.0,.1,.2,.3,.4,.5,.6
28160 2c 20 34 2c 20 35 20 7d 3b 0a 20 20 20 20 73 74 20 3d 20 6e 65 78 74 5b 73 74 5d 3b 0a 20 20 20 ,.4,.5.};.....st.=.next[st];....
28180 20 7d 0a 20 20 76 6f 69 64 20 73 65 74 5f 6d 61 74 63 68 28 29 20 20 20 20 20 7b 20 73 74 20 3d .}...void.set_match().....{.st.=
281a0 20 28 20 73 74 20 3c 20 37 20 29 20 3f 20 37 20 3a 20 31 30 3b 20 7d 0a 20 20 76 6f 69 64 20 73 .(.st.<.7.).?.7.:.10;.}...void.s
281c0 65 74 5f 72 65 70 28 29 20 20 20 20 20 20 20 7b 20 73 74 20 3d 20 28 20 73 74 20 3c 20 37 20 29 et_rep().......{.st.=.(.st.<.7.)
281e0 20 3f 20 38 20 3a 20 31 31 3b 20 7d 0a 20 20 76 6f 69 64 20 73 65 74 5f 73 68 6f 72 74 5f 72 65 .?.8.:.11;.}...void.set_short_re
28200 70 28 29 20 7b 20 73 74 20 3d 20 28 20 73 74 20 3c 20 37 20 29 20 3f 20 39 20 3a 20 31 31 3b 20 p().{.st.=.(.st.<.7.).?.9.:.11;.
28220 7d 0a 20 20 7d 3b 0a 0a 0a 65 6e 75 6d 20 7b 0a 20 20 6d 69 6e 5f 64 69 63 74 69 6f 6e 61 72 79 }...};...enum.{...min_dictionary
28240 5f 73 69 7a 65 20 3d 20 31 20 3c 3c 20 31 32 2c 0a 20 20 6d 61 78 5f 64 69 63 74 69 6f 6e 61 72 _size.=.1.<<.12,...max_dictionar
28260 79 5f 73 69 7a 65 20 3d 20 31 20 3c 3c 20 32 39 2c 0a 20 20 6c 69 74 65 72 61 6c 5f 63 6f 6e 74 y_size.=.1.<<.29,...literal_cont
28280 65 78 74 5f 62 69 74 73 20 3d 20 33 2c 0a 20 20 6c 69 74 65 72 61 6c 5f 70 6f 73 5f 73 74 61 74 ext_bits.=.3,...literal_pos_stat
282a0 65 5f 62 69 74 73 20 3d 20 30 2c 09 09 09 09 2f 2f 20 6e 6f 74 20 75 73 65 64 0a 20 20 70 6f 73 e_bits.=.0,....//.not.used...pos
282c0 5f 73 74 61 74 65 5f 62 69 74 73 20 3d 20 32 2c 0a 20 20 70 6f 73 5f 73 74 61 74 65 73 20 3d 20 _state_bits.=.2,...pos_states.=.
282e0 31 20 3c 3c 20 70 6f 73 5f 73 74 61 74 65 5f 62 69 74 73 2c 0a 20 20 70 6f 73 5f 73 74 61 74 65 1.<<.pos_state_bits,...pos_state
28300 5f 6d 61 73 6b 20 3d 20 70 6f 73 5f 73 74 61 74 65 73 20 2d 20 31 2c 0a 0a 20 20 6c 65 6e 5f 73 _mask.=.pos_states.-.1,....len_s
28320 74 61 74 65 73 20 3d 20 34 2c 0a 20 20 64 69 73 5f 73 6c 6f 74 5f 62 69 74 73 20 3d 20 36 2c 0a tates.=.4,...dis_slot_bits.=.6,.
28340 20 20 73 74 61 72 74 5f 64 69 73 5f 6d 6f 64 65 6c 20 3d 20 34 2c 0a 20 20 65 6e 64 5f 64 69 73 ..start_dis_model.=.4,...end_dis
28360 5f 6d 6f 64 65 6c 20 3d 20 31 34 2c 0a 20 20 6d 6f 64 65 6c 65 64 5f 64 69 73 74 61 6e 63 65 73 _model.=.14,...modeled_distances
28380 20 3d 20 31 20 3c 3c 20 28 65 6e 64 5f 64 69 73 5f 6d 6f 64 65 6c 20 2f 20 32 29 2c 09 09 2f 2f .=.1.<<.(end_dis_model./.2),..//
283a0 20 31 32 38 0a 20 20 64 69 73 5f 61 6c 69 67 6e 5f 62 69 74 73 20 3d 20 34 2c 0a 20 20 64 69 73 .128...dis_align_bits.=.4,...dis
283c0 5f 61 6c 69 67 6e 5f 73 69 7a 65 20 3d 20 31 20 3c 3c 20 64 69 73 5f 61 6c 69 67 6e 5f 62 69 74 _align_size.=.1.<<.dis_align_bit
283e0 73 2c 0a 0a 20 20 6c 65 6e 5f 6c 6f 77 5f 62 69 74 73 20 3d 20 33 2c 0a 20 20 6c 65 6e 5f 6d 69 s,....len_low_bits.=.3,...len_mi
28400 64 5f 62 69 74 73 20 3d 20 33 2c 0a 20 20 6c 65 6e 5f 68 69 67 68 5f 62 69 74 73 20 3d 20 38 2c d_bits.=.3,...len_high_bits.=.8,
28420 0a 20 20 6c 65 6e 5f 6c 6f 77 5f 73 79 6d 62 6f 6c 73 20 3d 20 31 20 3c 3c 20 6c 65 6e 5f 6c 6f ...len_low_symbols.=.1.<<.len_lo
28440 77 5f 62 69 74 73 2c 0a 20 20 6c 65 6e 5f 6d 69 64 5f 73 79 6d 62 6f 6c 73 20 3d 20 31 20 3c 3c w_bits,...len_mid_symbols.=.1.<<
28460 20 6c 65 6e 5f 6d 69 64 5f 62 69 74 73 2c 0a 20 20 6c 65 6e 5f 68 69 67 68 5f 73 79 6d 62 6f 6c .len_mid_bits,...len_high_symbol
28480 73 20 3d 20 31 20 3c 3c 20 6c 65 6e 5f 68 69 67 68 5f 62 69 74 73 2c 0a 20 20 6d 61 78 5f 6c 65 s.=.1.<<.len_high_bits,...max_le
284a0 6e 5f 73 79 6d 62 6f 6c 73 20 3d 20 6c 65 6e 5f 6c 6f 77 5f 73 79 6d 62 6f 6c 73 20 2b 20 6c 65 n_symbols.=.len_low_symbols.+.le
284c0 6e 5f 6d 69 64 5f 73 79 6d 62 6f 6c 73 20 2b 20 6c 65 6e 5f 68 69 67 68 5f 73 79 6d 62 6f 6c 73 n_mid_symbols.+.len_high_symbols
284e0 2c 0a 0a 20 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 20 3d 20 32 2c 09 09 09 09 09 2f 2f 20 6d ,....min_match_len.=.2,.....//.m
28500 75 73 74 20 62 65 20 32 0a 0a 20 20 62 69 74 5f 6d 6f 64 65 6c 5f 6d 6f 76 65 5f 62 69 74 73 20 ust.be.2....bit_model_move_bits.
28520 3d 20 35 2c 0a 20 20 62 69 74 5f 6d 6f 64 65 6c 5f 74 6f 74 61 6c 5f 62 69 74 73 20 3d 20 31 31 =.5,...bit_model_total_bits.=.11
28540 2c 0a 20 20 62 69 74 5f 6d 6f 64 65 6c 5f 74 6f 74 61 6c 20 3d 20 31 20 3c 3c 20 62 69 74 5f 6d ,...bit_model_total.=.1.<<.bit_m
28560 6f 64 65 6c 5f 74 6f 74 61 6c 5f 62 69 74 73 20 7d 3b 0a 0a 73 74 72 75 63 74 20 42 69 74 5f 6d odel_total_bits.};..struct.Bit_m
28580 6f 64 65 6c 0a 20 20 7b 0a 20 20 69 6e 74 20 70 72 6f 62 61 62 69 6c 69 74 79 3b 0a 20 20 42 69 odel...{...int.probability;...Bi
285a0 74 5f 6d 6f 64 65 6c 28 29 20 3a 20 70 72 6f 62 61 62 69 6c 69 74 79 28 20 62 69 74 5f 6d 6f 64 t_model().:.probability(.bit_mod
285c0 65 6c 5f 74 6f 74 61 6c 20 2f 20 32 20 29 20 7b 7d 0a 20 20 7d 3b 0a 0a 73 74 72 75 63 74 20 4c el_total./.2.).{}...};..struct.L
285e0 65 6e 5f 6d 6f 64 65 6c 0a 20 20 7b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 63 68 6f 69 63 65 31 en_model...{...Bit_model.choice1
28600 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 63 68 6f 69 63 65 32 3b 0a 20 20 42 69 74 5f 6d 6f 64 ;...Bit_model.choice2;...Bit_mod
28620 65 6c 20 62 6d 5f 6c 6f 77 5b 70 6f 73 5f 73 74 61 74 65 73 5d 5b 6c 65 6e 5f 6c 6f 77 5f 73 79 el.bm_low[pos_states][len_low_sy
28640 6d 62 6f 6c 73 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 6d 69 64 5b 70 6f 73 5f 73 mbols];...Bit_model.bm_mid[pos_s
28660 74 61 74 65 73 5d 5b 6c 65 6e 5f 6d 69 64 5f 73 79 6d 62 6f 6c 73 5d 3b 0a 20 20 42 69 74 5f 6d tates][len_mid_symbols];...Bit_m
28680 6f 64 65 6c 20 62 6d 5f 68 69 67 68 5b 6c 65 6e 5f 68 69 67 68 5f 73 79 6d 62 6f 6c 73 5d 3b 0a odel.bm_high[len_high_symbols];.
286a0 20 20 7d 3b 0a 0a 0a 63 6c 61 73 73 20 43 52 43 33 32 0a 20 20 7b 0a 20 20 75 69 6e 74 33 32 5f ..};...class.CRC32...{...uint32_
286c0 74 20 64 61 74 61 5b 32 35 36 5d 3b 09 09 2f 2f 20 54 61 62 6c 65 20 6f 66 20 43 52 43 73 20 6f t.data[256];..//.Table.of.CRCs.o
286e0 66 20 61 6c 6c 20 38 2d 62 69 74 20 6d 65 73 73 61 67 65 73 2e 0a 0a 70 75 62 6c 69 63 3a 0a 20 f.all.8-bit.messages...public:..
28700 20 43 52 43 33 32 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 66 6f 72 28 20 75 6e 73 69 67 6e 65 64 .CRC32().....{.....for(.unsigned
28720 20 6e 20 3d 20 30 3b 20 6e 20 3c 20 32 35 36 3b 20 2b 2b 6e 20 29 0a 20 20 20 20 20 20 7b 0a 20 .n.=.0;.n.<.256;.++n.).......{..
28740 20 20 20 20 20 75 6e 73 69 67 6e 65 64 20 63 20 3d 20 6e 3b 0a 20 20 20 20 20 20 66 6f 72 28 20 .....unsigned.c.=.n;.......for(.
28760 69 6e 74 20 6b 20 3d 20 30 3b 20 6b 20 3c 20 38 3b 20 2b 2b 6b 20 29 0a 20 20 20 20 20 20 20 20 int.k.=.0;.k.<.8;.++k.).........
28780 7b 20 69 66 28 20 63 20 26 20 31 20 29 20 63 20 3d 20 30 78 45 44 42 38 38 33 32 30 55 20 5e 20 {.if(.c.&.1.).c.=.0xEDB88320U.^.
287a0 28 20 63 20 3e 3e 20 31 20 29 3b 20 65 6c 73 65 20 63 20 3e 3e 3d 20 31 3b 20 7d 0a 20 20 20 20 (.c.>>.1.);.else.c.>>=.1;.}.....
287c0 20 20 64 61 74 61 5b 6e 5d 20 3d 20 63 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 ..data[n].=.c;.......}.....}....
287e0 76 6f 69 64 20 75 70 64 61 74 65 5f 62 75 66 28 20 75 69 6e 74 33 32 5f 74 20 26 20 63 72 63 2c void.update_buf(.uint32_t.&.crc,
28800 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 2a 20 63 6f 6e 73 74 20 62 75 66 66 65 72 2c 0a 20 .const.uint8_t.*.const.buffer,..
28820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 73 69 7a 65 ..................const.int.size
28840 20 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 .).const.....{.....for(.int.i.=.
28860 30 3b 20 69 20 3c 20 73 69 7a 65 3b 20 2b 2b 69 20 29 0a 20 20 20 20 20 20 63 72 63 20 3d 20 64 0;.i.<.size;.++i.).......crc.=.d
28880 61 74 61 5b 28 63 72 63 5e 62 75 66 66 65 72 5b 69 5d 29 26 30 78 46 46 5d 20 5e 20 28 20 63 72 ata[(crc^buffer[i])&0xFF].^.(.cr
288a0 63 20 3e 3e 20 38 20 29 3b 0a 20 20 20 20 7d 0a 20 20 7d 3b 0a 0a 63 6f 6e 73 74 20 43 52 43 33 c.>>.8.);.....}...};..const.CRC3
288c0 32 20 63 72 63 33 32 3b 0a 0a 0a 74 79 70 65 64 65 66 20 75 69 6e 74 38 5f 74 20 46 69 6c 65 5f 2.crc32;...typedef.uint8_t.File_
288e0 68 65 61 64 65 72 5b 36 5d 3b 09 2f 2f 20 30 2d 33 20 6d 61 67 69 63 2c 20 34 20 76 65 72 73 69 header[6];.//.0-3.magic,.4.versi
28900 6f 6e 2c 20 35 20 63 6f 64 65 64 5f 64 69 63 74 5f 73 69 7a 65 0a 0a 74 79 70 65 64 65 66 20 75 on,.5.coded_dict_size..typedef.u
28920 69 6e 74 38 5f 74 20 46 69 6c 65 5f 74 72 61 69 6c 65 72 5b 32 30 5d 3b 0a 09 09 09 2f 2f 20 20 int8_t.File_trailer[20];....//..
28940 30 2d 33 20 20 43 52 43 33 32 20 6f 66 20 74 68 65 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 64 0-3..CRC32.of.the.uncompressed.d
28960 61 74 61 0a 09 09 09 2f 2f 20 20 34 2d 31 31 20 73 69 7a 65 20 6f 66 20 74 68 65 20 75 6e 63 6f ata....//..4-11.size.of.the.unco
28980 6d 70 72 65 73 73 65 64 20 64 61 74 61 0a 09 09 09 2f 2f 20 31 32 2d 31 39 20 6d 65 6d 62 65 72 mpressed.data....//.12-19.member
289a0 20 73 69 7a 65 20 69 6e 63 6c 75 64 69 6e 67 20 68 65 61 64 65 72 20 61 6e 64 20 74 72 61 69 6c .size.including.header.and.trail
289c0 65 72 0a 0a 63 6c 61 73 73 20 52 61 6e 67 65 5f 64 65 63 6f 64 65 72 0a 20 20 7b 0a 20 20 75 69 er..class.Range_decoder...{...ui
289e0 6e 74 33 32 5f 74 20 63 6f 64 65 3b 0a 20 20 75 69 6e 74 33 32 5f 74 20 72 61 6e 67 65 3b 0a 0a nt32_t.code;...uint32_t.range;..
28a00 70 75 62 6c 69 63 3a 0a 20 20 52 61 6e 67 65 5f 64 65 63 6f 64 65 72 28 29 20 3a 20 63 6f 64 65 public:...Range_decoder().:.code
28a20 28 20 30 20 29 2c 20 72 61 6e 67 65 28 20 30 78 46 46 46 46 46 46 46 46 55 20 29 0a 20 20 20 20 (.0.),.range(.0xFFFFFFFFU.).....
28a40 7b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 35 3b 20 2b 2b 69 {.....for(.int.i.=.0;.i.<.5;.++i
28a60 20 29 20 63 6f 64 65 20 3d 20 28 63 6f 64 65 20 3c 3c 20 38 29 20 7c 20 67 65 74 5f 62 79 74 65 .).code.=.(code.<<.8).|.get_byte
28a80 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 75 69 6e 74 38 5f 74 20 67 65 74 5f 62 79 74 65 28 29 20 ();.....}....uint8_t.get_byte().
28aa0 7b 20 72 65 74 75 72 6e 20 73 74 64 3a 3a 67 65 74 63 28 20 73 74 64 69 6e 20 29 3b 20 7d 0a 0a {.return.std::getc(.stdin.);.}..
28ac0 20 20 75 6e 73 69 67 6e 65 64 20 64 65 63 6f 64 65 28 20 63 6f 6e 73 74 20 69 6e 74 20 6e 75 6d ..unsigned.decode(.const.int.num
28ae0 5f 62 69 74 73 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 73 79 6d 62 6f _bits.).....{.....unsigned.symbo
28b00 6c 20 3d 20 30 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 6e 75 6d 5f 62 69 74 73 l.=.0;.....for(.int.i.=.num_bits
28b20 3b 20 69 20 3e 20 30 3b 20 2d 2d 69 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 72 61 6e ;.i.>.0;.--i.).......{.......ran
28b40 67 65 20 3e 3e 3d 20 31 3b 0a 20 20 20 20 20 20 73 79 6d 62 6f 6c 20 3c 3c 3d 20 31 3b 0a 20 20 ge.>>=.1;.......symbol.<<=.1;...
28b60 20 20 20 20 69 66 28 20 63 6f 64 65 20 3e 3d 20 72 61 6e 67 65 20 29 20 7b 20 63 6f 64 65 20 2d ....if(.code.>=.range.).{.code.-
28b80 3d 20 72 61 6e 67 65 3b 20 73 79 6d 62 6f 6c 20 7c 3d 20 31 3b 20 7d 0a 20 20 20 20 20 20 69 66 =.range;.symbol.|=.1;.}.......if
28ba0 28 20 72 61 6e 67 65 20 3c 3d 20 30 78 30 30 46 46 46 46 46 46 55 20 29 09 09 09 2f 2f 20 6e 6f (.range.<=.0x00FFFFFFU.)...//.no
28bc0 72 6d 61 6c 69 7a 65 0a 20 20 20 20 20 20 20 20 7b 20 72 61 6e 67 65 20 3c 3c 3d 20 38 3b 20 63 rmalize.........{.range.<<=.8;.c
28be0 6f 64 65 20 3d 20 28 63 6f 64 65 20 3c 3c 20 38 29 20 7c 20 67 65 74 5f 62 79 74 65 28 29 3b 20 ode.=.(code.<<.8).|.get_byte();.
28c00 7d 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 72 65 74 75 72 6e 20 73 79 6d 62 6f 6c 3b 0a 20 20 20 }.......}.....return.symbol;....
28c20 20 7d 0a 0a 20 20 75 6e 73 69 67 6e 65 64 20 64 65 63 6f 64 65 5f 62 69 74 28 20 42 69 74 5f 6d .}....unsigned.decode_bit(.Bit_m
28c40 6f 64 65 6c 20 26 20 62 6d 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 73 odel.&.bm.).....{.....unsigned.s
28c60 79 6d 62 6f 6c 3b 0a 20 20 20 20 63 6f 6e 73 74 20 75 69 6e 74 33 32 5f 74 20 62 6f 75 6e 64 20 ymbol;.....const.uint32_t.bound.
28c80 3d 20 28 20 72 61 6e 67 65 20 3e 3e 20 62 69 74 5f 6d 6f 64 65 6c 5f 74 6f 74 61 6c 5f 62 69 74 =.(.range.>>.bit_model_total_bit
28ca0 73 20 29 20 2a 20 62 6d 2e 70 72 6f 62 61 62 69 6c 69 74 79 3b 0a 20 20 20 20 69 66 28 20 63 6f s.).*.bm.probability;.....if(.co
28cc0 64 65 20 3c 20 62 6f 75 6e 64 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 72 61 6e 67 65 de.<.bound.).......{.......range
28ce0 20 3d 20 62 6f 75 6e 64 3b 0a 20 20 20 20 20 20 62 6d 2e 70 72 6f 62 61 62 69 6c 69 74 79 20 2b .=.bound;.......bm.probability.+
28d00 3d 20 28 62 69 74 5f 6d 6f 64 65 6c 5f 74 6f 74 61 6c 20 2d 20 62 6d 2e 70 72 6f 62 61 62 69 6c =.(bit_model_total.-.bm.probabil
28d20 69 74 79 29 20 3e 3e 20 62 69 74 5f 6d 6f 64 65 6c 5f 6d 6f 76 65 5f 62 69 74 73 3b 0a 20 20 20 ity).>>.bit_model_move_bits;....
28d40 20 20 20 73 79 6d 62 6f 6c 20 3d 20 30 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 65 6c 73 65 0a ...symbol.=.0;.......}.....else.
28d60 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 72 61 6e 67 65 20 2d 3d 20 62 6f 75 6e 64 3b 0a 20 20 ......{.......range.-=.bound;...
28d80 20 20 20 20 63 6f 64 65 20 2d 3d 20 62 6f 75 6e 64 3b 0a 20 20 20 20 20 20 62 6d 2e 70 72 6f 62 ....code.-=.bound;.......bm.prob
28da0 61 62 69 6c 69 74 79 20 2d 3d 20 62 6d 2e 70 72 6f 62 61 62 69 6c 69 74 79 20 3e 3e 20 62 69 74 ability.-=.bm.probability.>>.bit
28dc0 5f 6d 6f 64 65 6c 5f 6d 6f 76 65 5f 62 69 74 73 3b 0a 20 20 20 20 20 20 73 79 6d 62 6f 6c 20 3d _model_move_bits;.......symbol.=
28de0 20 31 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 69 66 28 20 72 61 6e 67 65 20 3c 3d 20 30 78 30 .1;.......}.....if(.range.<=.0x0
28e00 30 46 46 46 46 46 46 55 20 29 09 09 09 09 2f 2f 20 6e 6f 72 6d 61 6c 69 7a 65 0a 20 20 20 20 20 0FFFFFFU.)....//.normalize......
28e20 20 7b 20 72 61 6e 67 65 20 3c 3c 3d 20 38 3b 20 63 6f 64 65 20 3d 20 28 63 6f 64 65 20 3c 3c 20 .{.range.<<=.8;.code.=.(code.<<.
28e40 38 29 20 7c 20 67 65 74 5f 62 79 74 65 28 29 3b 20 7d 0a 20 20 20 20 72 65 74 75 72 6e 20 73 79 8).|.get_byte();.}.....return.sy
28e60 6d 62 6f 6c 3b 0a 20 20 20 20 7d 0a 0a 20 20 75 6e 73 69 67 6e 65 64 20 64 65 63 6f 64 65 5f 74 mbol;.....}....unsigned.decode_t
28e80 72 65 65 28 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5b 5d 2c 20 63 6f 6e 73 74 20 69 6e 74 20 6e ree(.Bit_model.bm[],.const.int.n
28ea0 75 6d 5f 62 69 74 73 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 73 79 6d um_bits.).....{.....unsigned.sym
28ec0 62 6f 6c 20 3d 20 31 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c bol.=.1;.....for(.int.i.=.0;.i.<
28ee0 20 6e 75 6d 5f 62 69 74 73 3b 20 2b 2b 69 20 29 0a 20 20 20 20 20 20 73 79 6d 62 6f 6c 20 3d 20 .num_bits;.++i.).......symbol.=.
28f00 28 20 73 79 6d 62 6f 6c 20 3c 3c 20 31 20 29 20 7c 20 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d (.symbol.<<.1.).|.decode_bit(.bm
28f20 5b 73 79 6d 62 6f 6c 5d 20 29 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 73 79 6d 62 6f 6c 20 2d 20 [symbol].);.....return.symbol.-.
28f40 28 31 20 3c 3c 20 6e 75 6d 5f 62 69 74 73 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 75 6e 73 69 67 6e (1.<<.num_bits);.....}....unsign
28f60 65 64 20 64 65 63 6f 64 65 5f 74 72 65 65 5f 72 65 76 65 72 73 65 64 28 20 42 69 74 5f 6d 6f 64 ed.decode_tree_reversed(.Bit_mod
28f80 65 6c 20 62 6d 5b 5d 2c 20 63 6f 6e 73 74 20 69 6e 74 20 6e 75 6d 5f 62 69 74 73 20 29 0a 20 20 el.bm[],.const.int.num_bits.)...
28fa0 20 20 7b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 73 79 6d 62 6f 6c 20 3d 20 64 65 63 6f 64 65 ..{.....unsigned.symbol.=.decode
28fc0 5f 74 72 65 65 28 20 62 6d 2c 20 6e 75 6d 5f 62 69 74 73 20 29 3b 0a 20 20 20 20 75 6e 73 69 67 _tree(.bm,.num_bits.);.....unsig
28fe0 6e 65 64 20 72 65 76 65 72 73 65 64 5f 73 79 6d 62 6f 6c 20 3d 20 30 3b 0a 20 20 20 20 66 6f 72 ned.reversed_symbol.=.0;.....for
29000 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 6e 75 6d 5f 62 69 74 73 3b 20 2b 2b 69 20 29 (.int.i.=.0;.i.<.num_bits;.++i.)
29020 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 72 65 76 65 72 73 65 64 5f 73 79 6d 62 6f 6c 20 3d .......{.......reversed_symbol.=
29040 20 28 20 72 65 76 65 72 73 65 64 5f 73 79 6d 62 6f 6c 20 3c 3c 20 31 20 29 20 7c 20 28 20 73 79 .(.reversed_symbol.<<.1.).|.(.sy
29060 6d 62 6f 6c 20 26 20 31 20 29 3b 0a 20 20 20 20 20 20 73 79 6d 62 6f 6c 20 3e 3e 3d 20 31 3b 0a mbol.&.1.);.......symbol.>>=.1;.
29080 20 20 20 20 20 20 7d 0a 20 20 20 20 72 65 74 75 72 6e 20 72 65 76 65 72 73 65 64 5f 73 79 6d 62 ......}.....return.reversed_symb
290a0 6f 6c 3b 0a 20 20 20 20 7d 0a 0a 20 20 75 6e 73 69 67 6e 65 64 20 64 65 63 6f 64 65 5f 6d 61 74 ol;.....}....unsigned.decode_mat
290c0 63 68 65 64 28 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5b 5d 2c 20 63 6f 6e 73 74 20 75 6e 73 69 ched(.Bit_model.bm[],.const.unsi
290e0 67 6e 65 64 20 6d 61 74 63 68 5f 62 79 74 65 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 75 6e 73 69 gned.match_byte.).....{.....unsi
29100 67 6e 65 64 20 73 79 6d 62 6f 6c 20 3d 20 31 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 gned.symbol.=.1;.....for(.int.i.
29120 3d 20 37 3b 20 69 20 3e 3d 20 30 3b 20 2d 2d 69 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 =.7;.i.>=.0;.--i.).......{......
29140 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6d 61 74 63 68 5f 62 69 74 20 3d 20 28 20 6d 61 .const.unsigned.match_bit.=.(.ma
29160 74 63 68 5f 62 79 74 65 20 3e 3e 20 69 20 29 20 26 20 31 3b 0a 20 20 20 20 20 20 63 6f 6e 73 74 tch_byte.>>.i.).&.1;.......const
29180 20 75 6e 73 69 67 6e 65 64 20 62 69 74 20 3d 20 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5b 73 .unsigned.bit.=.decode_bit(.bm[s
291a0 79 6d 62 6f 6c 2b 28 6d 61 74 63 68 5f 62 69 74 3c 3c 38 29 2b 30 78 31 30 30 5d 20 29 3b 0a 20 ymbol+(match_bit<<8)+0x100].);..
291c0 20 20 20 20 20 73 79 6d 62 6f 6c 20 3d 20 28 20 73 79 6d 62 6f 6c 20 3c 3c 20 31 20 29 20 7c 20 .....symbol.=.(.symbol.<<.1.).|.
291e0 62 69 74 3b 0a 20 20 20 20 20 20 69 66 28 20 6d 61 74 63 68 5f 62 69 74 20 21 3d 20 62 69 74 20 bit;.......if(.match_bit.!=.bit.
29200 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 77 68 69 6c 65 28 20 73 79 6d 62 6f ).........{.........while(.symbo
29220 6c 20 3c 20 30 78 31 30 30 20 29 0a 20 20 20 20 20 20 20 20 20 20 73 79 6d 62 6f 6c 20 3d 20 28 l.<.0x100.)...........symbol.=.(
29240 20 73 79 6d 62 6f 6c 20 3c 3c 20 31 20 29 20 7c 20 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5b .symbol.<<.1.).|.decode_bit(.bm[
29260 73 79 6d 62 6f 6c 5d 20 29 3b 0a 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 symbol].);.........break;.......
29280 20 20 7d 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 72 65 74 75 72 6e 20 73 79 6d 62 6f 6c 20 26 20 ..}.......}.....return.symbol.&.
292a0 30 78 46 46 3b 0a 20 20 20 20 7d 0a 0a 20 20 75 6e 73 69 67 6e 65 64 20 64 65 63 6f 64 65 5f 6c 0xFF;.....}....unsigned.decode_l
292c0 65 6e 28 20 4c 65 6e 5f 6d 6f 64 65 6c 20 26 20 6c 6d 2c 20 63 6f 6e 73 74 20 69 6e 74 20 70 6f en(.Len_model.&.lm,.const.int.po
292e0 73 5f 73 74 61 74 65 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 64 65 63 6f 64 65 5f 62 s_state.).....{.....if(.decode_b
29300 69 74 28 20 6c 6d 2e 63 68 6f 69 63 65 31 20 29 20 3d 3d 20 30 20 29 0a 20 20 20 20 20 20 72 65 it(.lm.choice1.).==.0.).......re
29320 74 75 72 6e 20 64 65 63 6f 64 65 5f 74 72 65 65 28 20 6c 6d 2e 62 6d 5f 6c 6f 77 5b 70 6f 73 5f turn.decode_tree(.lm.bm_low[pos_
29340 73 74 61 74 65 5d 2c 20 6c 65 6e 5f 6c 6f 77 5f 62 69 74 73 20 29 3b 0a 20 20 20 20 69 66 28 20 state],.len_low_bits.);.....if(.
29360 64 65 63 6f 64 65 5f 62 69 74 28 20 6c 6d 2e 63 68 6f 69 63 65 32 20 29 20 3d 3d 20 30 20 29 0a decode_bit(.lm.choice2.).==.0.).
29380 20 20 20 20 20 20 72 65 74 75 72 6e 20 6c 65 6e 5f 6c 6f 77 5f 73 79 6d 62 6f 6c 73 20 2b 0a 20 ......return.len_low_symbols.+..
293a0 20 20 20 20 20 20 20 20 20 20 20 20 64 65 63 6f 64 65 5f 74 72 65 65 28 20 6c 6d 2e 62 6d 5f 6d ............decode_tree(.lm.bm_m
293c0 69 64 5b 70 6f 73 5f 73 74 61 74 65 5d 2c 20 6c 65 6e 5f 6d 69 64 5f 62 69 74 73 20 29 3b 0a 20 id[pos_state],.len_mid_bits.);..
293e0 20 20 20 72 65 74 75 72 6e 20 6c 65 6e 5f 6c 6f 77 5f 73 79 6d 62 6f 6c 73 20 2b 20 6c 65 6e 5f ...return.len_low_symbols.+.len_
29400 6d 69 64 5f 73 79 6d 62 6f 6c 73 20 2b 0a 20 20 20 20 20 20 20 20 20 20 20 64 65 63 6f 64 65 5f mid_symbols.+............decode_
29420 74 72 65 65 28 20 6c 6d 2e 62 6d 5f 68 69 67 68 2c 20 6c 65 6e 5f 68 69 67 68 5f 62 69 74 73 20 tree(.lm.bm_high,.len_high_bits.
29440 29 3b 0a 20 20 20 20 7d 0a 20 20 7d 3b 0a 0a 0a 63 6c 61 73 73 20 4c 5a 5f 64 65 63 6f 64 65 72 );.....}...};...class.LZ_decoder
29460 0a 20 20 7b 0a 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 70 61 72 74 69 61 ...{...unsigned.long.long.partia
29480 6c 5f 64 61 74 61 5f 70 6f 73 3b 0a 20 20 52 61 6e 67 65 5f 64 65 63 6f 64 65 72 20 72 64 65 63 l_data_pos;...Range_decoder.rdec
294a0 3b 0a 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 ;...const.unsigned.dictionary_si
294c0 7a 65 3b 0a 20 20 75 69 6e 74 38 5f 74 20 2a 20 63 6f 6e 73 74 20 62 75 66 66 65 72 3b 09 2f 2f ze;...uint8_t.*.const.buffer;.//
294e0 20 6f 75 74 70 75 74 20 62 75 66 66 65 72 0a 20 20 75 6e 73 69 67 6e 65 64 20 70 6f 73 3b 09 09 .output.buffer...unsigned.pos;..
29500 09 2f 2f 20 63 75 72 72 65 6e 74 20 70 6f 73 20 69 6e 20 62 75 66 66 65 72 0a 20 20 75 6e 73 69 .//.current.pos.in.buffer...unsi
29520 67 6e 65 64 20 73 74 72 65 61 6d 5f 70 6f 73 3b 09 09 2f 2f 20 66 69 72 73 74 20 62 79 74 65 20 gned.stream_pos;..//.first.byte.
29540 6e 6f 74 20 79 65 74 20 77 72 69 74 74 65 6e 20 74 6f 20 73 74 64 6f 75 74 0a 20 20 75 69 6e 74 not.yet.written.to.stdout...uint
29560 33 32 5f 74 20 63 72 63 5f 3b 0a 20 20 62 6f 6f 6c 20 70 6f 73 5f 77 72 61 70 70 65 64 3b 0a 0a 32_t.crc_;...bool.pos_wrapped;..
29580 20 20 76 6f 69 64 20 66 6c 75 73 68 5f 64 61 74 61 28 29 3b 0a 0a 20 20 75 69 6e 74 38 5f 74 20 ..void.flush_data();....uint8_t.
295a0 70 65 65 6b 28 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 64 69 73 74 61 6e 63 65 20 29 20 peek(.const.unsigned.distance.).
295c0 63 6f 6e 73 74 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 70 6f 73 20 3e 20 64 69 73 74 61 6e const.....{.....if(.pos.>.distan
295e0 63 65 20 29 20 72 65 74 75 72 6e 20 62 75 66 66 65 72 5b 70 6f 73 20 2d 20 64 69 73 74 61 6e 63 ce.).return.buffer[pos.-.distanc
29600 65 20 2d 20 31 5d 3b 0a 20 20 20 20 69 66 28 20 70 6f 73 5f 77 72 61 70 70 65 64 20 29 20 72 65 e.-.1];.....if(.pos_wrapped.).re
29620 74 75 72 6e 20 62 75 66 66 65 72 5b 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 2b 20 70 6f turn.buffer[dictionary_size.+.po
29640 73 20 2d 20 64 69 73 74 61 6e 63 65 20 2d 20 31 5d 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 30 3b s.-.distance.-.1];.....return.0;
29660 09 09 09 2f 2f 20 70 72 65 76 5f 62 79 74 65 20 6f 66 20 66 69 72 73 74 20 62 79 74 65 0a 20 20 ...//.prev_byte.of.first.byte...
29680 20 20 7d 0a 0a 20 20 76 6f 69 64 20 70 75 74 5f 62 79 74 65 28 20 63 6f 6e 73 74 20 75 69 6e 74 ..}....void.put_byte(.const.uint
296a0 38 5f 74 20 62 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 62 75 66 66 65 72 5b 70 6f 73 5d 20 3d 20 8_t.b.).....{.....buffer[pos].=.
296c0 62 3b 0a 20 20 20 20 69 66 28 20 2b 2b 70 6f 73 20 3e 3d 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 b;.....if(.++pos.>=.dictionary_s
296e0 69 7a 65 20 29 20 66 6c 75 73 68 5f 64 61 74 61 28 29 3b 0a 20 20 20 20 7d 0a 0a 70 75 62 6c 69 ize.).flush_data();.....}..publi
29700 63 3a 0a 20 20 65 78 70 6c 69 63 69 74 20 4c 5a 5f 64 65 63 6f 64 65 72 28 20 63 6f 6e 73 74 20 c:...explicit.LZ_decoder(.const.
29720 75 6e 73 69 67 6e 65 64 20 64 69 63 74 5f 73 69 7a 65 20 29 0a 20 20 20 20 3a 0a 20 20 20 20 70 unsigned.dict_size.).....:.....p
29740 61 72 74 69 61 6c 5f 64 61 74 61 5f 70 6f 73 28 20 30 20 29 2c 0a 20 20 20 20 64 69 63 74 69 6f artial_data_pos(.0.),.....dictio
29760 6e 61 72 79 5f 73 69 7a 65 28 20 64 69 63 74 5f 73 69 7a 65 20 29 2c 0a 20 20 20 20 62 75 66 66 nary_size(.dict_size.),.....buff
29780 65 72 28 20 6e 65 77 20 75 69 6e 74 38 5f 74 5b 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 5d er(.new.uint8_t[dictionary_size]
297a0 20 29 2c 0a 20 20 20 20 70 6f 73 28 20 30 20 29 2c 0a 20 20 20 20 73 74 72 65 61 6d 5f 70 6f 73 .),.....pos(.0.),.....stream_pos
297c0 28 20 30 20 29 2c 0a 20 20 20 20 63 72 63 5f 28 20 30 78 46 46 46 46 46 46 46 46 55 20 29 2c 0a (.0.),.....crc_(.0xFFFFFFFFU.),.
297e0 20 20 20 20 70 6f 73 5f 77 72 61 70 70 65 64 28 20 66 61 6c 73 65 20 29 0a 20 20 20 20 7b 7d 0a ....pos_wrapped(.false.).....{}.
29800 0a 20 20 7e 4c 5a 5f 64 65 63 6f 64 65 72 28 29 20 7b 20 64 65 6c 65 74 65 5b 5d 20 62 75 66 66 ...~LZ_decoder().{.delete[].buff
29820 65 72 3b 20 7d 0a 0a 20 20 75 6e 73 69 67 6e 65 64 20 63 72 63 28 29 20 63 6f 6e 73 74 20 7b 20 er;.}....unsigned.crc().const.{.
29840 72 65 74 75 72 6e 20 63 72 63 5f 20 5e 20 30 78 46 46 46 46 46 46 46 46 55 3b 20 7d 0a 20 20 75 return.crc_.^.0xFFFFFFFFU;.}...u
29860 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 64 61 74 61 5f 70 6f 73 69 74 69 6f 6e 28 nsigned.long.long.data_position(
29880 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 70 61 72 74 69 61 6c 5f 64 61 74 61 5f 70 6f ).const.{.return.partial_data_po
298a0 73 20 2b 20 70 6f 73 3b 20 7d 0a 0a 20 20 62 6f 6f 6c 20 64 65 63 6f 64 65 5f 6d 65 6d 62 65 72 s.+.pos;.}....bool.decode_member
298c0 28 29 3b 0a 20 20 7d 3b 0a 0a 0a 76 6f 69 64 20 4c 5a 5f 64 65 63 6f 64 65 72 3a 3a 66 6c 75 73 ();...};...void.LZ_decoder::flus
298e0 68 5f 64 61 74 61 28 29 0a 20 20 7b 0a 20 20 69 66 28 20 70 6f 73 20 3e 20 73 74 72 65 61 6d 5f h_data()...{...if(.pos.>.stream_
29900 70 6f 73 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 73 pos.).....{.....const.unsigned.s
29920 69 7a 65 20 3d 20 70 6f 73 20 2d 20 73 74 72 65 61 6d 5f 70 6f 73 3b 0a 20 20 20 20 63 72 63 33 ize.=.pos.-.stream_pos;.....crc3
29940 32 2e 75 70 64 61 74 65 5f 62 75 66 28 20 63 72 63 5f 2c 20 62 75 66 66 65 72 20 2b 20 73 74 72 2.update_buf(.crc_,.buffer.+.str
29960 65 61 6d 5f 70 6f 73 2c 20 73 69 7a 65 20 29 3b 0a 20 20 20 20 65 72 72 6e 6f 20 3d 20 30 3b 0a eam_pos,.size.);.....errno.=.0;.
29980 20 20 20 20 69 66 28 20 73 74 64 3a 3a 66 77 72 69 74 65 28 20 62 75 66 66 65 72 20 2b 20 73 74 ....if(.std::fwrite(.buffer.+.st
299a0 72 65 61 6d 5f 70 6f 73 2c 20 31 2c 20 73 69 7a 65 2c 20 73 74 64 6f 75 74 20 29 20 21 3d 20 73 ream_pos,.1,.size,.stdout.).!=.s
299c0 69 7a 65 20 29 0a 20 20 20 20 20 20 7b 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 65 ize.).......{.std::fprintf(.stde
299e0 72 72 2c 20 22 57 72 69 74 65 20 65 72 72 6f 72 3a 20 25 73 5c 6e 22 2c 20 73 74 64 3a 3a 73 74 rr,."Write.error:.%s\n",.std::st
29a00 72 65 72 72 6f 72 28 20 65 72 72 6e 6f 20 29 20 29 3b 0a 20 20 20 20 20 20 20 20 73 74 64 3a 3a rerror(.errno.).);.........std::
29a20 65 78 69 74 28 20 31 20 29 3b 20 7d 0a 20 20 20 20 69 66 28 20 70 6f 73 20 3e 3d 20 64 69 63 74 exit(.1.);.}.....if(.pos.>=.dict
29a40 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 0a 20 20 20 20 20 20 7b 20 70 61 72 74 69 61 6c 5f 64 61 ionary_size.).......{.partial_da
29a60 74 61 5f 70 6f 73 20 2b 3d 20 70 6f 73 3b 20 70 6f 73 20 3d 20 30 3b 20 70 6f 73 5f 77 72 61 70 ta_pos.+=.pos;.pos.=.0;.pos_wrap
29a80 70 65 64 20 3d 20 74 72 75 65 3b 20 7d 0a 20 20 20 20 73 74 72 65 61 6d 5f 70 6f 73 20 3d 20 70 ped.=.true;.}.....stream_pos.=.p
29aa0 6f 73 3b 0a 20 20 20 20 7d 0a 20 20 7d 0a 0a 0a 62 6f 6f 6c 20 4c 5a 5f 64 65 63 6f 64 65 72 3a os;.....}...}...bool.LZ_decoder:
29ac0 3a 64 65 63 6f 64 65 5f 6d 65 6d 62 65 72 28 29 09 09 2f 2f 20 52 65 74 75 72 6e 73 20 66 61 6c :decode_member()..//.Returns.fal
29ae0 73 65 20 69 66 20 65 72 72 6f 72 0a 20 20 7b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 6c se.if.error...{...Bit_model.bm_l
29b00 69 74 65 72 61 6c 5b 31 3c 3c 6c 69 74 65 72 61 6c 5f 63 6f 6e 74 65 78 74 5f 62 69 74 73 5d 5b iteral[1<<literal_context_bits][
29b20 30 78 33 30 30 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 6d 61 74 63 68 5b 53 74 61 0x300];...Bit_model.bm_match[Sta
29b40 74 65 3a 3a 73 74 61 74 65 73 5d 5b 70 6f 73 5f 73 74 61 74 65 73 5d 3b 0a 20 20 42 69 74 5f 6d te::states][pos_states];...Bit_m
29b60 6f 64 65 6c 20 62 6d 5f 72 65 70 5b 53 74 61 74 65 3a 3a 73 74 61 74 65 73 5d 3b 0a 20 20 42 69 odel.bm_rep[State::states];...Bi
29b80 74 5f 6d 6f 64 65 6c 20 62 6d 5f 72 65 70 30 5b 53 74 61 74 65 3a 3a 73 74 61 74 65 73 5d 3b 0a t_model.bm_rep0[State::states];.
29ba0 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 72 65 70 31 5b 53 74 61 74 65 3a 3a 73 74 61 74 65 ..Bit_model.bm_rep1[State::state
29bc0 73 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 72 65 70 32 5b 53 74 61 74 65 3a 3a 73 s];...Bit_model.bm_rep2[State::s
29be0 74 61 74 65 73 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 6c 65 6e 5b 53 74 61 74 65 tates];...Bit_model.bm_len[State
29c00 3a 3a 73 74 61 74 65 73 5d 5b 70 6f 73 5f 73 74 61 74 65 73 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 ::states][pos_states];...Bit_mod
29c20 65 6c 20 62 6d 5f 64 69 73 5f 73 6c 6f 74 5b 6c 65 6e 5f 73 74 61 74 65 73 5d 5b 31 3c 3c 64 69 el.bm_dis_slot[len_states][1<<di
29c40 73 5f 73 6c 6f 74 5f 62 69 74 73 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 64 69 73 s_slot_bits];...Bit_model.bm_dis
29c60 5b 6d 6f 64 65 6c 65 64 5f 64 69 73 74 61 6e 63 65 73 2d 65 6e 64 5f 64 69 73 5f 6d 6f 64 65 6c [modeled_distances-end_dis_model
29c80 2b 31 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 61 6c 69 67 6e 5b 64 69 73 5f 61 6c +1];...Bit_model.bm_align[dis_al
29ca0 69 67 6e 5f 73 69 7a 65 5d 3b 0a 20 20 4c 65 6e 5f 6d 6f 64 65 6c 20 6d 61 74 63 68 5f 6c 65 6e ign_size];...Len_model.match_len
29cc0 5f 6d 6f 64 65 6c 3b 0a 20 20 4c 65 6e 5f 6d 6f 64 65 6c 20 72 65 70 5f 6c 65 6e 5f 6d 6f 64 65 _model;...Len_model.rep_len_mode
29ce0 6c 3b 0a 20 20 75 6e 73 69 67 6e 65 64 20 72 65 70 30 20 3d 20 30 3b 09 09 2f 2f 20 72 65 70 5b l;...unsigned.rep0.=.0;..//.rep[
29d00 30 2d 33 5d 20 6c 61 74 65 73 74 20 66 6f 75 72 20 64 69 73 74 61 6e 63 65 73 0a 20 20 75 6e 73 0-3].latest.four.distances...uns
29d20 69 67 6e 65 64 20 72 65 70 31 20 3d 20 30 3b 09 09 2f 2f 20 75 73 65 64 20 66 6f 72 20 65 66 66 igned.rep1.=.0;..//.used.for.eff
29d40 69 63 69 65 6e 74 20 63 6f 64 69 6e 67 20 6f 66 0a 20 20 75 6e 73 69 67 6e 65 64 20 72 65 70 32 icient.coding.of...unsigned.rep2
29d60 20 3d 20 30 3b 09 09 2f 2f 20 72 65 70 65 61 74 65 64 20 64 69 73 74 61 6e 63 65 73 0a 20 20 75 .=.0;..//.repeated.distances...u
29d80 6e 73 69 67 6e 65 64 20 72 65 70 33 20 3d 20 30 3b 0a 20 20 53 74 61 74 65 20 73 74 61 74 65 3b nsigned.rep3.=.0;...State.state;
29da0 0a 0a 20 20 77 68 69 6c 65 28 20 21 73 74 64 3a 3a 66 65 6f 66 28 20 73 74 64 69 6e 20 29 20 26 ....while(.!std::feof(.stdin.).&
29dc0 26 20 21 73 74 64 3a 3a 66 65 72 72 6f 72 28 20 73 74 64 69 6e 20 29 20 29 0a 20 20 20 20 7b 0a &.!std::ferror(.stdin.).).....{.
29de0 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 70 6f 73 5f 73 74 61 74 65 20 3d 20 64 61 74 61 5f 70 ....const.int.pos_state.=.data_p
29e00 6f 73 69 74 69 6f 6e 28 29 20 26 20 70 6f 73 5f 73 74 61 74 65 5f 6d 61 73 6b 3b 0a 20 20 20 20 osition().&.pos_state_mask;.....
29e20 69 66 28 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f 6d 61 74 63 68 5b 73 74 if(.rdec.decode_bit(.bm_match[st
29e40 61 74 65 28 29 5d 5b 70 6f 73 5f 73 74 61 74 65 5d 20 29 20 3d 3d 20 30 20 29 09 2f 2f 20 31 73 ate()][pos_state].).==.0.).//.1s
29e60 74 20 62 69 74 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f t.bit.......{.......const.uint8_
29e80 74 20 70 72 65 76 5f 62 79 74 65 20 3d 20 70 65 65 6b 28 20 30 20 29 3b 0a 20 20 20 20 20 20 63 t.prev_byte.=.peek(.0.);.......c
29ea0 6f 6e 73 74 20 69 6e 74 20 6c 69 74 65 72 61 6c 5f 73 74 61 74 65 20 3d 20 70 72 65 76 5f 62 79 onst.int.literal_state.=.prev_by
29ec0 74 65 20 3e 3e 20 28 20 38 20 2d 20 6c 69 74 65 72 61 6c 5f 63 6f 6e 74 65 78 74 5f 62 69 74 73 te.>>.(.8.-.literal_context_bits
29ee0 20 29 3b 0a 20 20 20 20 20 20 42 69 74 5f 6d 6f 64 65 6c 20 2a 20 63 6f 6e 73 74 20 62 6d 20 3d .);.......Bit_model.*.const.bm.=
29f00 20 62 6d 5f 6c 69 74 65 72 61 6c 5b 6c 69 74 65 72 61 6c 5f 73 74 61 74 65 5d 3b 0a 20 20 20 20 .bm_literal[literal_state];.....
29f20 20 20 69 66 28 20 73 74 61 74 65 2e 69 73 5f 63 68 61 72 28 29 20 29 0a 20 20 20 20 20 20 20 20 ..if(.state.is_char().).........
29f40 70 75 74 5f 62 79 74 65 28 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 74 72 65 65 28 20 62 6d 2c 20 put_byte(.rdec.decode_tree(.bm,.
29f60 38 20 29 20 29 3b 0a 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 70 75 74 5f 62 79 8.).);.......else.........put_by
29f80 74 65 28 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 6d 61 74 63 68 65 64 28 20 62 6d 2c 20 70 65 65 te(.rdec.decode_matched(.bm,.pee
29fa0 6b 28 20 72 65 70 30 20 29 20 29 20 29 3b 0a 20 20 20 20 20 20 73 74 61 74 65 2e 73 65 74 5f 63 k(.rep0.).).);.......state.set_c
29fc0 68 61 72 28 29 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 65 6c 73 65 09 09 09 09 09 2f 2f 20 6d har();.......}.....else.....//.m
29fe0 61 74 63 68 20 6f 72 20 72 65 70 65 61 74 65 64 20 6d 61 74 63 68 0a 20 20 20 20 20 20 7b 0a 20 atch.or.repeated.match.......{..
2a000 20 20 20 20 20 69 6e 74 20 6c 65 6e 3b 0a 20 20 20 20 20 20 69 66 28 20 72 64 65 63 2e 64 65 63 .....int.len;.......if(.rdec.dec
2a020 6f 64 65 5f 62 69 74 28 20 62 6d 5f 72 65 70 5b 73 74 61 74 65 28 29 5d 20 29 20 21 3d 20 30 20 ode_bit(.bm_rep[state()].).!=.0.
2a040 29 09 09 2f 2f 20 32 6e 64 20 62 69 74 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 )..//.2nd.bit.........{.........
2a060 69 66 28 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f 72 65 70 30 5b 73 74 61 if(.rdec.decode_bit(.bm_rep0[sta
2a080 74 65 28 29 5d 20 29 20 3d 3d 20 30 20 29 09 09 2f 2f 20 33 72 64 20 62 69 74 0a 20 20 20 20 20 te()].).==.0.)..//.3rd.bit......
2a0a0 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 69 66 28 20 72 64 65 63 2e 64 65 63 6f 64 65 .....{...........if(.rdec.decode
2a0c0 5f 62 69 74 28 20 62 6d 5f 6c 65 6e 5b 73 74 61 74 65 28 29 5d 5b 70 6f 73 5f 73 74 61 74 65 5d _bit(.bm_len[state()][pos_state]
2a0e0 20 29 20 3d 3d 20 30 20 29 20 2f 2f 20 34 74 68 20 62 69 74 0a 20 20 20 20 20 20 20 20 20 20 20 .).==.0.).//.4th.bit............
2a100 20 7b 20 73 74 61 74 65 2e 73 65 74 5f 73 68 6f 72 74 5f 72 65 70 28 29 3b 20 70 75 74 5f 62 79 .{.state.set_short_rep();.put_by
2a120 74 65 28 20 70 65 65 6b 28 20 72 65 70 30 20 29 20 29 3b 20 63 6f 6e 74 69 6e 75 65 3b 20 7d 0a te(.peek(.rep0.).);.continue;.}.
2a140 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 ..........}.........else........
2a160 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 75 6e 73 69 67 6e 65 64 20 64 69 73 74 61 6e 63 65 ...{...........unsigned.distance
2a180 3b 0a 20 20 20 20 20 20 20 20 20 20 69 66 28 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 62 69 74 28 ;...........if(.rdec.decode_bit(
2a1a0 20 62 6d 5f 72 65 70 31 5b 73 74 61 74 65 28 29 5d 20 29 20 3d 3d 20 30 20 29 09 2f 2f 20 34 74 .bm_rep1[state()].).==.0.).//.4t
2a1c0 68 20 62 69 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 69 73 74 61 6e 63 65 20 3d 20 72 65 70 h.bit.............distance.=.rep
2a1e0 31 3b 0a 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 1;...........else.............{.
2a200 20 20 20 20 20 20 20 20 20 20 20 20 69 66 28 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 62 69 74 28 ............if(.rdec.decode_bit(
2a220 20 62 6d 5f 72 65 70 32 5b 73 74 61 74 65 28 29 5d 20 29 20 3d 3d 20 30 20 29 09 2f 2f 20 35 74 .bm_rep2[state()].).==.0.).//.5t
2a240 68 20 62 69 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 69 73 74 61 6e 63 65 20 3d 20 72 h.bit...............distance.=.r
2a260 65 70 32 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 ep2;.............else...........
2a280 20 20 20 20 7b 20 64 69 73 74 61 6e 63 65 20 3d 20 72 65 70 33 3b 20 72 65 70 33 20 3d 20 72 65 ....{.distance.=.rep3;.rep3.=.re
2a2a0 70 32 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 70 32 20 3d 20 72 65 70 31 3b 0a 20 p2;.}.............rep2.=.rep1;..
2a2c0 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 72 65 70 31 20 3d 20 72 65 ...........}...........rep1.=.re
2a2e0 70 30 3b 0a 20 20 20 20 20 20 20 20 20 20 72 65 70 30 20 3d 20 64 69 73 74 61 6e 63 65 3b 0a 20 p0;...........rep0.=.distance;..
2a300 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 73 74 61 74 65 2e 73 65 74 5f 72 65 70 .........}.........state.set_rep
2a320 28 29 3b 0a 20 20 20 20 20 20 20 20 6c 65 6e 20 3d 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 20 ();.........len.=.min_match_len.
2a340 2b 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 6c 65 6e 28 20 72 65 70 5f 6c 65 6e 5f 6d 6f 64 65 6c +.rdec.decode_len(.rep_len_model
2a360 2c 20 70 6f 73 5f 73 74 61 74 65 20 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 65 ,.pos_state.);.........}.......e
2a380 6c 73 65 09 09 09 09 09 2f 2f 20 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 lse.....//.match.........{......
2a3a0 20 20 20 72 65 70 33 20 3d 20 72 65 70 32 3b 20 72 65 70 32 20 3d 20 72 65 70 31 3b 20 72 65 70 ...rep3.=.rep2;.rep2.=.rep1;.rep
2a3c0 31 20 3d 20 72 65 70 30 3b 0a 20 20 20 20 20 20 20 20 6c 65 6e 20 3d 20 6d 69 6e 5f 6d 61 74 63 1.=.rep0;.........len.=.min_matc
2a3e0 68 5f 6c 65 6e 20 2b 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 6c 65 6e 28 20 6d 61 74 63 68 5f 6c h_len.+.rdec.decode_len(.match_l
2a400 65 6e 5f 6d 6f 64 65 6c 2c 20 70 6f 73 5f 73 74 61 74 65 20 29 3b 0a 20 20 20 20 20 20 20 20 63 en_model,.pos_state.);.........c
2a420 6f 6e 73 74 20 69 6e 74 20 6c 65 6e 5f 73 74 61 74 65 20 3d 20 73 74 64 3a 3a 6d 69 6e 28 20 6c onst.int.len_state.=.std::min(.l
2a440 65 6e 20 2d 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 2c 20 6c 65 6e 5f 73 74 61 74 65 73 20 2d en.-.min_match_len,.len_states.-
2a460 20 31 20 29 3b 0a 20 20 20 20 20 20 20 20 72 65 70 30 20 3d 20 72 64 65 63 2e 64 65 63 6f 64 65 .1.);.........rep0.=.rdec.decode
2a480 5f 74 72 65 65 28 20 62 6d 5f 64 69 73 5f 73 6c 6f 74 5b 6c 65 6e 5f 73 74 61 74 65 5d 2c 20 64 _tree(.bm_dis_slot[len_state],.d
2a4a0 69 73 5f 73 6c 6f 74 5f 62 69 74 73 20 29 3b 0a 20 20 20 20 20 20 20 20 69 66 28 20 72 65 70 30 is_slot_bits.);.........if(.rep0
2a4c0 20 3e 3d 20 73 74 61 72 74 5f 64 69 73 5f 6d 6f 64 65 6c 20 29 0a 20 20 20 20 20 20 20 20 20 20 .>=.start_dis_model.)...........
2a4e0 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 64 69 73 5f 73 {...........const.unsigned.dis_s
2a500 6c 6f 74 20 3d 20 72 65 70 30 3b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 lot.=.rep0;...........const.int.
2a520 64 69 72 65 63 74 5f 62 69 74 73 20 3d 20 28 20 64 69 73 5f 73 6c 6f 74 20 3e 3e 20 31 20 29 20 direct_bits.=.(.dis_slot.>>.1.).
2a540 2d 20 31 3b 0a 20 20 20 20 20 20 20 20 20 20 72 65 70 30 20 3d 20 28 20 32 20 7c 20 28 20 64 69 -.1;...........rep0.=.(.2.|.(.di
2a560 73 5f 73 6c 6f 74 20 26 20 31 20 29 20 29 20 3c 3c 20 64 69 72 65 63 74 5f 62 69 74 73 3b 0a 20 s_slot.&.1.).).<<.direct_bits;..
2a580 20 20 20 20 20 20 20 20 20 69 66 28 20 64 69 73 5f 73 6c 6f 74 20 3c 20 65 6e 64 5f 64 69 73 5f .........if(.dis_slot.<.end_dis_
2a5a0 6d 6f 64 65 6c 20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 70 30 20 2b 3d 20 72 64 65 63 model.).............rep0.+=.rdec
2a5c0 2e 64 65 63 6f 64 65 5f 74 72 65 65 5f 72 65 76 65 72 73 65 64 28 20 62 6d 5f 64 69 73 20 2b 20 .decode_tree_reversed(.bm_dis.+.
2a5e0 28 20 72 65 70 30 20 2d 20 64 69 73 5f 73 6c 6f 74 20 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 (.rep0.-.dis_slot.),............
2a600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2a620 20 20 20 20 64 69 72 65 63 74 5f 62 69 74 73 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 65 6c 73 ....direct_bits.);...........els
2a640 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 70 30 e.............{.............rep0
2a660 20 2b 3d 20 72 64 65 63 2e 64 65 63 6f 64 65 28 20 64 69 72 65 63 74 5f 62 69 74 73 20 2d 20 64 .+=.rdec.decode(.direct_bits.-.d
2a680 69 73 5f 61 6c 69 67 6e 5f 62 69 74 73 20 29 20 3c 3c 20 64 69 73 5f 61 6c 69 67 6e 5f 62 69 74 is_align_bits.).<<.dis_align_bit
2a6a0 73 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 70 30 20 2b 3d 20 72 64 65 63 2e 64 65 63 6f s;.............rep0.+=.rdec.deco
2a6c0 64 65 5f 74 72 65 65 5f 72 65 76 65 72 73 65 64 28 20 62 6d 5f 61 6c 69 67 6e 2c 20 64 69 73 5f de_tree_reversed(.bm_align,.dis_
2a6e0 61 6c 69 67 6e 5f 62 69 74 73 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 28 20 72 65 align_bits.);.............if(.re
2a700 70 30 20 3d 3d 20 30 78 46 46 46 46 46 46 46 46 55 20 29 09 09 2f 2f 20 6d 61 72 6b 65 72 20 66 p0.==.0xFFFFFFFFU.)..//.marker.f
2a720 6f 75 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ound...............{............
2a740 20 20 20 66 6c 75 73 68 5f 64 61 74 61 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 ...flush_data();...............r
2a760 65 74 75 72 6e 20 28 20 6c 65 6e 20 3d 3d 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 20 29 3b 09 eturn.(.len.==.min_match_len.);.
2a780 2f 2f 20 45 6e 64 20 4f 66 20 53 74 72 65 61 6d 20 6d 61 72 6b 65 72 0a 20 20 20 20 20 20 20 20 //.End.Of.Stream.marker.........
2a7a0 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 ......}.............}...........
2a7c0 7d 0a 20 20 20 20 20 20 20 20 73 74 61 74 65 2e 73 65 74 5f 6d 61 74 63 68 28 29 3b 0a 20 20 20 }.........state.set_match();....
2a7e0 20 20 20 20 20 69 66 28 20 72 65 70 30 20 3e 3d 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 .....if(.rep0.>=.dictionary_size
2a800 20 7c 7c 20 28 20 72 65 70 30 20 3e 3d 20 70 6f 73 20 26 26 20 21 70 6f 73 5f 77 72 61 70 70 65 .||.(.rep0.>=.pos.&&.!pos_wrappe
2a820 64 20 29 20 29 0a 20 20 20 20 20 20 20 20 20 20 7b 20 66 6c 75 73 68 5f 64 61 74 61 28 29 3b 20 d.).)...........{.flush_data();.
2a840 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 return.false;.}.........}.......
2a860 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 6c 65 6e 3b 20 2b 2b 69 20 29 20 70 for(.int.i.=.0;.i.<.len;.++i.).p
2a880 75 74 5f 62 79 74 65 28 20 70 65 65 6b 28 20 72 65 70 30 20 29 20 29 3b 0a 20 20 20 20 20 20 7d ut_byte(.peek(.rep0.).);.......}
2a8a0 0a 20 20 20 20 7d 0a 20 20 66 6c 75 73 68 5f 64 61 74 61 28 29 3b 0a 20 20 72 65 74 75 72 6e 20 .....}...flush_data();...return.
2a8c0 66 61 6c 73 65 3b 0a 20 20 7d 0a 0a 0a 69 6e 74 20 6d 61 69 6e 28 20 63 6f 6e 73 74 20 69 6e 74 false;...}...int.main(.const.int
2a8e0 20 61 72 67 63 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 61 72 67 76 5b 5d .argc,.const.char.*.const.argv[]
2a900 20 29 0a 20 20 7b 0a 20 20 69 66 28 20 61 72 67 63 20 3e 20 31 20 29 0a 20 20 20 20 7b 0a 20 20 .)...{...if(.argc.>.1.).....{...
2a920 20 20 73 74 64 3a 3a 70 72 69 6e 74 66 28 20 22 4c 7a 64 20 25 73 20 2d 20 45 64 75 63 61 74 69 ..std::printf(."Lzd.%s.-.Educati
2a940 6f 6e 61 6c 20 64 65 63 6f 6d 70 72 65 73 73 6f 72 20 66 6f 72 20 74 68 65 20 6c 7a 69 70 20 66 onal.decompressor.for.the.lzip.f
2a960 6f 72 6d 61 74 2e 5c 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 52 4f 47 ormat.\n",..................PROG
2a980 56 45 52 53 49 4f 4e 20 29 3b 0a 20 20 20 20 73 74 64 3a 3a 70 72 69 6e 74 66 28 20 22 53 74 75 VERSION.);.....std::printf(."Stu
2a9a0 64 79 20 74 68 65 20 73 6f 75 72 63 65 20 74 6f 20 6c 65 61 72 6e 20 68 6f 77 20 61 20 6c 7a 69 dy.the.source.to.learn.how.a.lzi
2a9c0 70 20 64 65 63 6f 6d 70 72 65 73 73 6f 72 20 77 6f 72 6b 73 2e 5c 6e 22 0a 20 20 20 20 20 20 20 p.decompressor.works.\n"........
2a9e0 20 20 20 20 20 20 20 20 20 20 22 53 65 65 20 74 68 65 20 6c 7a 69 70 20 6d 61 6e 75 61 6c 20 66 .........."See.the.lzip.manual.f
2aa00 6f 72 20 61 6e 20 65 78 70 6c 61 6e 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 63 6f 64 65 2e 5c 6e or.an.explanation.of.the.code.\n
2aa20 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 49 74 20 69 73 20 6e 6f 74 20 73 61 ".................."It.is.not.sa
2aa40 66 65 20 74 6f 20 75 73 65 20 6c 7a 64 20 66 6f 72 20 61 6e 79 20 72 65 61 6c 20 77 6f 72 6b 2e fe.to.use.lzd.for.any.real.work.
2aa60 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5c 6e 55 73 61 67 65 3a 20 25 \n".................."\nUsage:.%
2aa80 73 20 3c 20 66 69 6c 65 2e 6c 7a 20 3e 20 66 69 6c 65 5c 6e 22 2c 20 61 72 67 76 5b 30 5d 20 29 s.<.file.lz.>.file\n",.argv[0].)
2aaa0 3b 0a 20 20 20 20 73 74 64 3a 3a 70 72 69 6e 74 66 28 20 22 4c 7a 64 20 64 65 63 6f 6d 70 72 65 ;.....std::printf(."Lzd.decompre
2aac0 73 73 65 73 20 66 72 6f 6d 20 73 74 61 6e 64 61 72 64 20 69 6e 70 75 74 20 74 6f 20 73 74 61 6e sses.from.standard.input.to.stan
2aae0 64 61 72 64 20 6f 75 74 70 75 74 2e 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 dard.output.\n".................
2ab00 20 22 5c 6e 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 38 20 41 6e 74 6f 6e 69 6f 20 44 ."\nCopyright.(C).2018.Antonio.D
2ab20 69 61 7a 20 44 69 61 7a 2e 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 54 iaz.Diaz.\n".................."T
2ab40 68 69 73 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 61 72 65 20 66 72 his.is.free.software:.you.are.fr
2ab60 65 65 20 74 6f 20 63 68 61 6e 67 65 20 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 ee.to.change.and.redistribute.it
2ab80 2e 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 54 68 65 72 65 20 69 73 20 .\n".................."There.is.
2aba0 4e 4f 20 57 41 52 52 41 4e 54 59 2c 20 74 6f 20 74 68 65 20 65 78 74 65 6e 74 20 70 65 72 6d 69 NO.WARRANTY,.to.the.extent.permi
2abc0 74 74 65 64 20 62 79 20 6c 61 77 2e 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tted.by.law.\n".................
2abe0 20 22 52 65 70 6f 72 74 20 62 75 67 73 20 74 6f 20 6c 7a 69 70 2d 62 75 67 40 6e 6f 6e 67 6e 75 ."Report.bugs.to.lzip-bug@nongnu
2ac00 2e 6f 72 67 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 4c 7a 64 20 68 6f .org\n".................."Lzd.ho
2ac20 6d 65 20 70 61 67 65 3a 20 68 74 74 70 3a 2f 2f 77 77 77 2e 6e 6f 6e 67 6e 75 2e 6f 72 67 2f 6c me.page:.http://www.nongnu.org/l
2ac40 7a 69 70 2f 6c 7a 64 2e 68 74 6d 6c 5c 6e 22 20 29 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 30 3b zip/lzd.html\n".);.....return.0;
2ac60 0a 20 20 20 20 7d 0a 0a 23 69 66 20 64 65 66 69 6e 65 64 28 5f 5f 4d 53 56 43 52 54 5f 5f 29 20 .....}..#if.defined(__MSVCRT__).
2ac80 7c 7c 20 64 65 66 69 6e 65 64 28 5f 5f 4f 53 32 5f 5f 29 20 7c 7c 20 64 65 66 69 6e 65 64 28 5f ||.defined(__OS2__).||.defined(_
2aca0 4d 53 43 5f 56 45 52 29 0a 20 20 73 65 74 6d 6f 64 65 28 20 66 69 6c 65 6e 6f 28 20 73 74 64 69 MSC_VER)...setmode(.fileno(.stdi
2acc0 6e 20 29 2c 20 4f 5f 42 49 4e 41 52 59 20 29 3b 0a 20 20 73 65 74 6d 6f 64 65 28 20 66 69 6c 65 n.),.O_BINARY.);...setmode(.file
2ace0 6e 6f 28 20 73 74 64 6f 75 74 20 29 2c 20 4f 5f 42 49 4e 41 52 59 20 29 3b 0a 23 65 6e 64 69 66 no(.stdout.),.O_BINARY.);.#endif
2ad00 0a 0a 20 20 66 6f 72 28 20 62 6f 6f 6c 20 66 69 72 73 74 5f 6d 65 6d 62 65 72 20 3d 20 74 72 75 ....for(.bool.first_member.=.tru
2ad20 65 3b 20 3b 20 66 69 72 73 74 5f 6d 65 6d 62 65 72 20 3d 20 66 61 6c 73 65 20 29 0a 20 20 20 20 e;.;.first_member.=.false.).....
2ad40 7b 0a 20 20 20 20 46 69 6c 65 5f 68 65 61 64 65 72 20 68 65 61 64 65 72 3b 09 09 09 09 2f 2f 20 {.....File_header.header;....//.
2ad60 76 65 72 69 66 79 20 68 65 61 64 65 72 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 verify.header.....for(.int.i.=.0
2ad80 3b 20 69 20 3c 20 36 3b 20 2b 2b 69 20 29 20 68 65 61 64 65 72 5b 69 5d 20 3d 20 73 74 64 3a 3a ;.i.<.6;.++i.).header[i].=.std::
2ada0 67 65 74 63 28 20 73 74 64 69 6e 20 29 3b 0a 20 20 20 20 69 66 28 20 73 74 64 3a 3a 66 65 6f 66 getc(.stdin.);.....if(.std::feof
2adc0 28 20 73 74 64 69 6e 20 29 20 7c 7c 20 73 74 64 3a 3a 6d 65 6d 63 6d 70 28 20 68 65 61 64 65 72 (.stdin.).||.std::memcmp(.header
2ade0 2c 20 22 4c 5a 49 50 5c 78 30 31 22 2c 20 35 20 29 20 21 3d 20 30 20 29 0a 20 20 20 20 20 20 7b ,."LZIP\x01",.5.).!=.0.).......{
2ae00 0a 20 20 20 20 20 20 69 66 28 20 66 69 72 73 74 5f 6d 65 6d 62 65 72 20 29 0a 20 20 20 20 20 20 .......if(.first_member.).......
2ae20 20 20 7b 20 73 74 64 3a 3a 66 70 75 74 73 28 20 22 42 61 64 20 6d 61 67 69 63 20 6e 75 6d 62 65 ..{.std::fputs(."Bad.magic.numbe
2ae40 72 20 28 66 69 6c 65 20 6e 6f 74 20 69 6e 20 6c 7a 69 70 20 66 6f 72 6d 61 74 29 2e 5c 6e 22 2c r.(file.not.in.lzip.format).\n",
2ae60 20 73 74 64 65 72 72 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 32 3b 20 7d .stderr.);...........return.2;.}
2ae80 0a 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 75 6e 73 69 67 6e .......break;.......}.....unsign
2aea0 65 64 20 64 69 63 74 5f 73 69 7a 65 20 3d 20 31 20 3c 3c 20 28 20 68 65 61 64 65 72 5b 35 5d 20 ed.dict_size.=.1.<<.(.header[5].
2aec0 26 20 30 78 31 46 20 29 3b 0a 20 20 20 20 64 69 63 74 5f 73 69 7a 65 20 2d 3d 20 28 20 64 69 63 &.0x1F.);.....dict_size.-=.(.dic
2aee0 74 5f 73 69 7a 65 20 2f 20 31 36 20 29 20 2a 20 28 20 28 20 68 65 61 64 65 72 5b 35 5d 20 3e 3e t_size./.16.).*.(.(.header[5].>>
2af00 20 35 20 29 20 26 20 37 20 29 3b 0a 20 20 20 20 69 66 28 20 64 69 63 74 5f 73 69 7a 65 20 3c 20 .5.).&.7.);.....if(.dict_size.<.
2af20 6d 69 6e 5f 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 7c 7c 20 64 69 63 74 5f 73 69 7a 65 min_dictionary_size.||.dict_size
2af40 20 3e 20 6d 61 78 5f 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 0a 20 20 20 20 20 20 7b .>.max_dictionary_size.).......{
2af60 20 73 74 64 3a 3a 66 70 75 74 73 28 20 22 49 6e 76 61 6c 69 64 20 64 69 63 74 69 6f 6e 61 72 79 .std::fputs(."Invalid.dictionary
2af80 20 73 69 7a 65 20 69 6e 20 6d 65 6d 62 65 72 20 68 65 61 64 65 72 2e 5c 6e 22 2c 20 73 74 64 65 .size.in.member.header.\n",.stde
2afa0 72 72 20 29 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 32 3b 20 7d 0a 0a 20 20 20 20 4c rr.);.........return.2;.}......L
2afc0 5a 5f 64 65 63 6f 64 65 72 20 64 65 63 6f 64 65 72 28 20 64 69 63 74 5f 73 69 7a 65 20 29 3b 09 Z_decoder.decoder(.dict_size.);.
2afe0 09 2f 2f 20 64 65 63 6f 64 65 20 4c 5a 4d 41 20 73 74 72 65 61 6d 0a 20 20 20 20 69 66 28 20 21 .//.decode.LZMA.stream.....if(.!
2b000 64 65 63 6f 64 65 72 2e 64 65 63 6f 64 65 5f 6d 65 6d 62 65 72 28 29 20 29 0a 20 20 20 20 20 20 decoder.decode_member().).......
2b020 7b 20 73 74 64 3a 3a 66 70 75 74 73 28 20 22 44 61 74 61 20 65 72 72 6f 72 5c 6e 22 2c 20 73 74 {.std::fputs(."Data.error\n",.st
2b040 64 65 72 72 20 29 3b 20 72 65 74 75 72 6e 20 32 3b 20 7d 0a 0a 20 20 20 20 46 69 6c 65 5f 74 72 derr.);.return.2;.}......File_tr
2b060 61 69 6c 65 72 20 74 72 61 69 6c 65 72 3b 09 09 09 2f 2f 20 76 65 72 69 66 79 20 74 72 61 69 6c ailer.trailer;...//.verify.trail
2b080 65 72 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 32 30 3b 20 2b er.....for(.int.i.=.0;.i.<.20;.+
2b0a0 2b 69 20 29 20 74 72 61 69 6c 65 72 5b 69 5d 20 3d 20 73 74 64 3a 3a 67 65 74 63 28 20 73 74 64 +i.).trailer[i].=.std::getc(.std
2b0c0 69 6e 20 29 3b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 63 72 63 20 3d 20 30 3b 0a 20 20 20 20 in.);.....unsigned.crc.=.0;.....
2b0e0 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 33 3b 20 69 20 3e 3d 20 30 3b 20 2d 2d 69 20 29 20 7b 20 for(.int.i.=.3;.i.>=.0;.--i.).{.
2b100 63 72 63 20 3c 3c 3d 20 38 3b 20 63 72 63 20 2b 3d 20 74 72 61 69 6c 65 72 5b 69 5d 3b 20 7d 0a crc.<<=.8;.crc.+=.trailer[i];.}.
2b120 20 20 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 64 61 74 61 5f 73 69 7a 65 ....unsigned.long.long.data_size
2b140 20 3d 20 30 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 31 31 3b 20 69 20 3e 3d 20 .=.0;.....for(.int.i.=.11;.i.>=.
2b160 34 3b 20 2d 2d 69 20 29 20 7b 20 64 61 74 61 5f 73 69 7a 65 20 3c 3c 3d 20 38 3b 20 64 61 74 61 4;.--i.).{.data_size.<<=.8;.data
2b180 5f 73 69 7a 65 20 2b 3d 20 74 72 61 69 6c 65 72 5b 69 5d 3b 20 7d 0a 20 20 20 20 69 66 28 20 63 _size.+=.trailer[i];.}.....if(.c
2b1a0 72 63 20 21 3d 20 64 65 63 6f 64 65 72 2e 63 72 63 28 29 20 7c 7c 20 64 61 74 61 5f 73 69 7a 65 rc.!=.decoder.crc().||.data_size
2b1c0 20 21 3d 20 64 65 63 6f 64 65 72 2e 64 61 74 61 5f 70 6f 73 69 74 69 6f 6e 28 29 20 29 0a 20 20 .!=.decoder.data_position().)...
2b1e0 20 20 20 20 7b 20 73 74 64 3a 3a 66 70 75 74 73 28 20 22 43 52 43 20 65 72 72 6f 72 5c 6e 22 2c ....{.std::fputs(."CRC.error\n",
2b200 20 73 74 64 65 72 72 20 29 3b 20 72 65 74 75 72 6e 20 32 3b 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 .stderr.);.return.2;.}.....}....
2b220 69 66 28 20 73 74 64 3a 3a 66 63 6c 6f 73 65 28 20 73 74 64 6f 75 74 20 29 20 21 3d 20 30 20 29 if(.std::fclose(.stdout.).!=.0.)
2b240 0a 20 20 20 20 7b 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 65 72 72 2c 20 22 45 72 .....{.std::fprintf(.stderr,."Er
2b260 72 6f 72 20 63 6c 6f 73 69 6e 67 20 73 74 64 6f 75 74 3a 20 25 73 5c 6e 22 2c 20 73 74 64 3a 3a ror.closing.stdout:.%s\n",.std::
2b280 73 74 72 65 72 72 6f 72 28 20 65 72 72 6e 6f 20 29 20 29 3b 0a 20 20 20 20 20 20 72 65 74 75 72 strerror(.errno.).);.......retur
2b2a0 6e 20 31 3b 20 7d 0a 20 20 72 65 74 75 72 6e 20 30 3b 0a 20 20 7d 0a 40 65 6e 64 20 76 65 72 62 n.1;.}...return.0;...}.@end.verb
2b2c0 61 74 69 6d 0a 0a 0a 40 6e 6f 64 65 20 43 6f 6e 63 65 70 74 20 69 6e 64 65 78 0a 40 75 6e 6e 75 atim...@node.Concept.index.@unnu
2b2e0 6d 62 65 72 65 64 20 43 6f 6e 63 65 70 74 20 69 6e 64 65 78 0a 0a 40 70 72 69 6e 74 69 6e 64 65 mbered.Concept.index..@printinde
2b300 78 20 63 70 0a 0a 40 62 79 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 x.cp..@bye......................
2b320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b400 6c 7a 69 70 2d 31 2e 32 30 2f 64 6f 63 2f 6c 7a 69 70 2e 31 00 00 00 00 00 00 00 00 00 00 00 00 lzip-1.20/doc/lzip.1............
2b420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
2b480 30 30 30 36 31 37 31 00 31 33 36 36 34 37 33 36 35 34 35 00 30 31 34 33 37 37 00 20 30 00 00 00 0006171.13664736545.014377..0...
2b4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b500 00 75 73 74 61 72 20 20 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...mohammad...............
2b520 00 00 00 00 00 00 00 00 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........mohammad...............
2b540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b600 2e 5c 22 20 44 4f 20 4e 4f 54 20 4d 4f 44 49 46 59 20 54 48 49 53 20 46 49 4c 45 21 20 20 49 74 .\".DO.NOT.MODIFY.THIS.FILE!..It
2b620 20 77 61 73 20 67 65 6e 65 72 61 74 65 64 20 62 79 20 68 65 6c 70 32 6d 61 6e 20 31 2e 34 36 2e .was.generated.by.help2man.1.46.
2b640 31 2e 0a 2e 54 48 20 4c 5a 49 50 20 22 31 22 20 22 46 65 62 72 75 61 72 79 20 32 30 31 38 22 20 1...TH.LZIP."1"."February.2018".
2b660 22 6c 7a 69 70 20 31 2e 32 30 22 20 22 55 73 65 72 20 43 6f 6d 6d 61 6e 64 73 22 0a 2e 53 48 20 "lzip.1.20"."User.Commands"..SH.
2b680 4e 41 4d 45 0a 6c 7a 69 70 20 5c 2d 20 72 65 64 75 63 65 73 20 74 68 65 20 73 69 7a 65 20 6f 66 NAME.lzip.\-.reduces.the.size.of
2b6a0 20 66 69 6c 65 73 0a 2e 53 48 20 53 59 4e 4f 50 53 49 53 0a 2e 42 20 6c 7a 69 70 0a 5b 5c 66 49 .files..SH.SYNOPSIS..B.lzip.[\fI
2b6c0 5c 2c 6f 70 74 69 6f 6e 73 5c 2f 5c 66 52 5d 20 5b 5c 66 49 5c 2c 66 69 6c 65 73 5c 2f 5c 66 52 \,options\/\fR].[\fI\,files\/\fR
2b6e0 5d 0a 2e 53 48 20 44 45 53 43 52 49 50 54 49 4f 4e 0a 4c 7a 69 70 20 5c 2d 20 4c 5a 4d 41 20 6c ]..SH.DESCRIPTION.Lzip.\-.LZMA.l
2b700 6f 73 73 6c 65 73 73 20 64 61 74 61 20 63 6f 6d 70 72 65 73 73 6f 72 2e 0a 2e 53 48 20 4f 50 54 ossless.data.compressor...SH.OPT
2b720 49 4f 4e 53 0a 2e 54 50 0a 5c 66 42 5c 2d 68 5c 66 52 2c 20 5c 66 42 5c 2d 5c 2d 68 65 6c 70 5c IONS..TP.\fB\-h\fR,.\fB\-\-help\
2b740 66 52 0a 64 69 73 70 6c 61 79 20 74 68 69 73 20 68 65 6c 70 20 61 6e 64 20 65 78 69 74 0a 2e 54 fR.display.this.help.and.exit..T
2b760 50 0a 5c 66 42 5c 2d 56 5c 66 52 2c 20 5c 66 42 5c 2d 5c 2d 76 65 72 73 69 6f 6e 5c 66 52 0a 6f P.\fB\-V\fR,.\fB\-\-version\fR.o
2b780 75 74 70 75 74 20 76 65 72 73 69 6f 6e 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 6e 64 20 65 78 utput.version.information.and.ex
2b7a0 69 74 0a 2e 54 50 0a 5c 66 42 5c 2d 61 5c 66 52 2c 20 5c 66 42 5c 2d 5c 2d 74 72 61 69 6c 69 6e it..TP.\fB\-a\fR,.\fB\-\-trailin
2b7c0 67 5c 2d 65 72 72 6f 72 5c 66 52 0a 65 78 69 74 20 77 69 74 68 20 65 72 72 6f 72 20 73 74 61 74 g\-error\fR.exit.with.error.stat
2b7e0 75 73 20 69 66 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 0a 2e 54 50 0a 5c 66 42 5c 2d 62 5c 66 us.if.trailing.data..TP.\fB\-b\f
2b800 52 2c 20 5c 66 42 5c 2d 5c 2d 6d 65 6d 62 65 72 5c 2d 73 69 7a 65 3d 5c 66 52 3c 62 79 74 65 73 R,.\fB\-\-member\-size=\fR<bytes
2b820 3e 0a 73 65 74 20 6d 65 6d 62 65 72 20 73 69 7a 65 20 6c 69 6d 69 74 20 69 6e 20 62 79 74 65 73 >.set.member.size.limit.in.bytes
2b840 0a 2e 54 50 0a 5c 66 42 5c 2d 63 5c 66 52 2c 20 5c 66 42 5c 2d 5c 2d 73 74 64 6f 75 74 5c 66 52 ..TP.\fB\-c\fR,.\fB\-\-stdout\fR
2b860 0a 77 72 69 74 65 20 74 6f 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 2c 20 6b 65 65 70 20 .write.to.standard.output,.keep.
2b880 69 6e 70 75 74 20 66 69 6c 65 73 0a 2e 54 50 0a 5c 66 42 5c 2d 64 5c 66 52 2c 20 5c 66 42 5c 2d input.files..TP.\fB\-d\fR,.\fB\-
2b8a0 5c 2d 64 65 63 6f 6d 70 72 65 73 73 5c 66 52 0a 64 65 63 6f 6d 70 72 65 73 73 0a 2e 54 50 0a 5c \-decompress\fR.decompress..TP.\
2b8c0 66 42 5c 2d 66 5c 66 52 2c 20 5c 66 42 5c 2d 5c 2d 66 6f 72 63 65 5c 66 52 0a 6f 76 65 72 77 72 fB\-f\fR,.\fB\-\-force\fR.overwr
2b8e0 69 74 65 20 65 78 69 73 74 69 6e 67 20 6f 75 74 70 75 74 20 66 69 6c 65 73 0a 2e 54 50 0a 5c 66 ite.existing.output.files..TP.\f
2b900 42 5c 2d 46 5c 66 52 2c 20 5c 66 42 5c 2d 5c 2d 72 65 63 6f 6d 70 72 65 73 73 5c 66 52 0a 66 6f B\-F\fR,.\fB\-\-recompress\fR.fo
2b920 72 63 65 20 72 65 5c 2d 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6f 66 20 63 6f 6d 70 72 65 73 73 65 rce.re\-compression.of.compresse
2b940 64 20 66 69 6c 65 73 0a 2e 54 50 0a 5c 66 42 5c 2d 6b 5c 66 52 2c 20 5c 66 42 5c 2d 5c 2d 6b 65 d.files..TP.\fB\-k\fR,.\fB\-\-ke
2b960 65 70 5c 66 52 0a 6b 65 65 70 20 28 64 6f 6e 27 74 20 64 65 6c 65 74 65 29 20 69 6e 70 75 74 20 ep\fR.keep.(don't.delete).input.
2b980 66 69 6c 65 73 0a 2e 54 50 0a 5c 66 42 5c 2d 6c 5c 66 52 2c 20 5c 66 42 5c 2d 5c 2d 6c 69 73 74 files..TP.\fB\-l\fR,.\fB\-\-list
2b9a0 5c 66 52 0a 70 72 69 6e 74 20 28 75 6e 29 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 20 73 69 \fR.print.(un)compressed.file.si
2b9c0 7a 65 73 0a 2e 54 50 0a 5c 66 42 5c 2d 6d 5c 66 52 2c 20 5c 66 42 5c 2d 5c 2d 6d 61 74 63 68 5c zes..TP.\fB\-m\fR,.\fB\-\-match\
2b9e0 2d 6c 65 6e 67 74 68 3d 5c 66 52 3c 62 79 74 65 73 3e 0a 73 65 74 20 6d 61 74 63 68 20 6c 65 6e -length=\fR<bytes>.set.match.len
2ba00 67 74 68 20 6c 69 6d 69 74 20 69 6e 20 62 79 74 65 73 20 5b 33 36 5d 0a 2e 54 50 0a 5c 66 42 5c gth.limit.in.bytes.[36]..TP.\fB\
2ba20 2d 6f 5c 66 52 2c 20 5c 66 42 5c 2d 5c 2d 6f 75 74 70 75 74 3d 5c 66 52 3c 66 69 6c 65 3e 0a 69 -o\fR,.\fB\-\-output=\fR<file>.i
2ba40 66 20 72 65 61 64 69 6e 67 20 73 74 61 6e 64 61 72 64 20 69 6e 70 75 74 2c 20 77 72 69 74 65 20 f.reading.standard.input,.write.
2ba60 74 6f 20 3c 66 69 6c 65 3e 0a 2e 54 50 0a 5c 66 42 5c 2d 71 5c 66 52 2c 20 5c 66 42 5c 2d 5c 2d to.<file>..TP.\fB\-q\fR,.\fB\-\-
2ba80 71 75 69 65 74 5c 66 52 0a 73 75 70 70 72 65 73 73 20 61 6c 6c 20 6d 65 73 73 61 67 65 73 0a 2e quiet\fR.suppress.all.messages..
2baa0 54 50 0a 5c 66 42 5c 2d 73 5c 66 52 2c 20 5c 66 42 5c 2d 5c 2d 64 69 63 74 69 6f 6e 61 72 79 5c TP.\fB\-s\fR,.\fB\-\-dictionary\
2bac0 2d 73 69 7a 65 3d 5c 66 52 3c 62 79 74 65 73 3e 0a 73 65 74 20 64 69 63 74 69 6f 6e 61 72 79 20 -size=\fR<bytes>.set.dictionary.
2bae0 73 69 7a 65 20 6c 69 6d 69 74 20 69 6e 20 62 79 74 65 73 20 5b 38 20 4d 69 42 5d 0a 2e 54 50 0a size.limit.in.bytes.[8.MiB]..TP.
2bb00 5c 66 42 5c 2d 53 5c 66 52 2c 20 5c 66 42 5c 2d 5c 2d 76 6f 6c 75 6d 65 5c 2d 73 69 7a 65 3d 5c \fB\-S\fR,.\fB\-\-volume\-size=\
2bb20 66 52 3c 62 79 74 65 73 3e 0a 73 65 74 20 76 6f 6c 75 6d 65 20 73 69 7a 65 20 6c 69 6d 69 74 20 fR<bytes>.set.volume.size.limit.
2bb40 69 6e 20 62 79 74 65 73 2c 20 69 6d 70 6c 69 65 73 20 5c 66 42 5c 2d 6b 5c 66 52 0a 2e 54 50 0a in.bytes,.implies.\fB\-k\fR..TP.
2bb60 5c 66 42 5c 2d 74 5c 66 52 2c 20 5c 66 42 5c 2d 5c 2d 74 65 73 74 5c 66 52 0a 74 65 73 74 20 63 \fB\-t\fR,.\fB\-\-test\fR.test.c
2bb80 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 20 69 6e 74 65 67 72 69 74 79 0a 2e 54 50 0a 5c 66 42 ompressed.file.integrity..TP.\fB
2bba0 5c 2d 76 5c 66 52 2c 20 5c 66 42 5c 2d 5c 2d 76 65 72 62 6f 73 65 5c 66 52 0a 62 65 20 76 65 72 \-v\fR,.\fB\-\-verbose\fR.be.ver
2bbc0 62 6f 73 65 20 28 61 20 32 6e 64 20 5c 66 42 5c 2d 76 5c 66 52 20 67 69 76 65 73 20 6d 6f 72 65 bose.(a.2nd.\fB\-v\fR.gives.more
2bbe0 29 0a 2e 54 50 0a 5c 66 42 5c 2d 30 5c 66 52 20 2e 2e 20 5c 66 42 5c 2d 39 5c 66 52 0a 73 65 74 )..TP.\fB\-0\fR....\fB\-9\fR.set
2bc00 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6c 65 76 65 6c 20 5b 64 65 66 61 75 6c 74 20 36 5d 0a 2e .compression.level.[default.6]..
2bc20 54 50 0a 5c 66 42 5c 2d 5c 2d 66 61 73 74 5c 66 52 0a 61 6c 69 61 73 20 66 6f 72 20 5c 66 42 5c TP.\fB\-\-fast\fR.alias.for.\fB\
2bc40 2d 30 5c 66 52 0a 2e 54 50 0a 5c 66 42 5c 2d 5c 2d 62 65 73 74 5c 66 52 0a 61 6c 69 61 73 20 66 -0\fR..TP.\fB\-\-best\fR.alias.f
2bc60 6f 72 20 5c 66 42 5c 2d 39 5c 66 52 0a 2e 54 50 0a 5c 66 42 5c 2d 5c 2d 6c 6f 6f 73 65 5c 2d 74 or.\fB\-9\fR..TP.\fB\-\-loose\-t
2bc80 72 61 69 6c 69 6e 67 5c 66 52 0a 61 6c 6c 6f 77 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 20 73 railing\fR.allow.trailing.data.s
2bca0 65 65 6d 69 6e 67 20 63 6f 72 72 75 70 74 20 68 65 61 64 65 72 0a 2e 50 50 0a 49 66 20 6e 6f 20 eeming.corrupt.header..PP.If.no.
2bcc0 66 69 6c 65 20 6e 61 6d 65 73 20 61 72 65 20 67 69 76 65 6e 2c 20 6f 72 20 69 66 20 61 20 66 69 file.names.are.given,.or.if.a.fi
2bce0 6c 65 20 69 73 20 27 5c 2d 27 2c 20 6c 7a 69 70 20 63 6f 6d 70 72 65 73 73 65 73 20 6f 72 0a 64 le.is.'\-',.lzip.compresses.or.d
2bd00 65 63 6f 6d 70 72 65 73 73 65 73 20 66 72 6f 6d 20 73 74 61 6e 64 61 72 64 20 69 6e 70 75 74 20 ecompresses.from.standard.input.
2bd20 74 6f 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 2e 0a 4e 75 6d 62 65 72 73 20 6d 61 79 20 to.standard.output..Numbers.may.
2bd40 62 65 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 20 6d 75 6c 74 69 70 6c 69 65 72 3a 20 6b 20 3d be.followed.by.a.multiplier:.k.=
2bd60 20 6b 42 20 3d 20 31 30 5e 33 20 3d 20 31 30 30 30 2c 0a 4b 69 20 3d 20 4b 69 42 20 3d 20 32 5e .kB.=.10^3.=.1000,.Ki.=.KiB.=.2^
2bd80 31 30 20 3d 20 31 30 32 34 2c 20 4d 20 3d 20 31 30 5e 36 2c 20 4d 69 20 3d 20 32 5e 32 30 2c 20 10.=.1024,.M.=.10^6,.Mi.=.2^20,.
2bda0 47 20 3d 20 31 30 5e 39 2c 20 47 69 20 3d 20 32 5e 33 30 2c 20 65 74 63 2e 2e 2e 0a 44 69 63 74 G.=.10^9,.Gi.=.2^30,.etc....Dict
2bdc0 69 6f 6e 61 72 79 20 73 69 7a 65 73 20 31 32 20 74 6f 20 32 39 20 61 72 65 20 69 6e 74 65 72 70 ionary.sizes.12.to.29.are.interp
2bde0 72 65 74 65 64 20 61 73 20 70 6f 77 65 72 73 20 6f 66 20 74 77 6f 2c 20 6d 65 61 6e 69 6e 67 20 reted.as.powers.of.two,.meaning.
2be00 32 5e 31 32 0a 74 6f 20 32 5e 32 39 20 62 79 74 65 73 2e 0a 2e 50 50 0a 54 68 65 20 62 69 64 69 2^12.to.2^29.bytes...PP.The.bidi
2be20 6d 65 6e 73 69 6f 6e 61 6c 20 70 61 72 61 6d 65 74 65 72 20 73 70 61 63 65 20 6f 66 20 4c 5a 4d mensional.parameter.space.of.LZM
2be40 41 20 63 61 6e 27 74 20 62 65 20 6d 61 70 70 65 64 20 74 6f 20 61 20 6c 69 6e 65 61 72 0a 73 63 A.can't.be.mapped.to.a.linear.sc
2be60 61 6c 65 20 6f 70 74 69 6d 61 6c 20 66 6f 72 20 61 6c 6c 20 66 69 6c 65 73 2e 20 49 66 20 79 6f ale.optimal.for.all.files..If.yo
2be80 75 72 20 66 69 6c 65 73 20 61 72 65 20 6c 61 72 67 65 2c 20 76 65 72 79 20 72 65 70 65 74 69 74 ur.files.are.large,.very.repetit
2bea0 69 76 65 2c 0a 65 74 63 2c 20 79 6f 75 20 6d 61 79 20 6e 65 65 64 20 74 6f 20 75 73 65 20 74 68 ive,.etc,.you.may.need.to.use.th
2bec0 65 20 5c 66 42 5c 2d 5c 2d 64 69 63 74 69 6f 6e 61 72 79 5c 2d 73 69 7a 65 5c 66 52 20 61 6e 64 e.\fB\-\-dictionary\-size\fR.and
2bee0 20 5c 66 42 5c 2d 5c 2d 6d 61 74 63 68 5c 2d 6c 65 6e 67 74 68 5c 66 52 0a 6f 70 74 69 6f 6e 73 .\fB\-\-match\-length\fR.options
2bf00 20 64 69 72 65 63 74 6c 79 20 74 6f 20 61 63 68 69 65 76 65 20 6f 70 74 69 6d 61 6c 20 70 65 72 .directly.to.achieve.optimal.per
2bf20 66 6f 72 6d 61 6e 63 65 2e 0a 2e 50 50 0a 45 78 69 74 20 73 74 61 74 75 73 3a 20 30 20 66 6f 72 formance...PP.Exit.status:.0.for
2bf40 20 61 20 6e 6f 72 6d 61 6c 20 65 78 69 74 2c 20 31 20 66 6f 72 20 65 6e 76 69 72 6f 6e 6d 65 6e .a.normal.exit,.1.for.environmen
2bf60 74 61 6c 20 70 72 6f 62 6c 65 6d 73 20 28 66 69 6c 65 0a 6e 6f 74 20 66 6f 75 6e 64 2c 20 69 6e tal.problems.(file.not.found,.in
2bf80 76 61 6c 69 64 20 66 6c 61 67 73 2c 20 49 2f 4f 20 65 72 72 6f 72 73 2c 20 65 74 63 29 2c 20 32 valid.flags,.I/O.errors,.etc),.2
2bfa0 20 74 6f 20 69 6e 64 69 63 61 74 65 20 61 20 63 6f 72 72 75 70 74 20 6f 72 0a 69 6e 76 61 6c 69 .to.indicate.a.corrupt.or.invali
2bfc0 64 20 69 6e 70 75 74 20 66 69 6c 65 2c 20 33 20 66 6f 72 20 61 6e 20 69 6e 74 65 72 6e 61 6c 20 d.input.file,.3.for.an.internal.
2bfe0 63 6f 6e 73 69 73 74 65 6e 63 79 20 65 72 72 6f 72 20 28 65 67 2c 20 62 75 67 29 20 77 68 69 63 consistency.error.(eg,.bug).whic
2c000 68 0a 63 61 75 73 65 64 20 6c 7a 69 70 20 74 6f 20 70 61 6e 69 63 2e 0a 2e 53 48 20 22 52 45 50 h.caused.lzip.to.panic...SH."REP
2c020 4f 52 54 49 4e 47 20 42 55 47 53 22 0a 52 65 70 6f 72 74 20 62 75 67 73 20 74 6f 20 6c 7a 69 70 ORTING.BUGS".Report.bugs.to.lzip
2c040 5c 2d 62 75 67 40 6e 6f 6e 67 6e 75 2e 6f 72 67 0a 2e 62 72 0a 4c 7a 69 70 20 68 6f 6d 65 20 70 \-bug@nongnu.org..br.Lzip.home.p
2c060 61 67 65 3a 20 68 74 74 70 3a 2f 2f 77 77 77 2e 6e 6f 6e 67 6e 75 2e 6f 72 67 2f 6c 7a 69 70 2f age:.http://www.nongnu.org/lzip/
2c080 6c 7a 69 70 2e 68 74 6d 6c 0a 2e 53 48 20 43 4f 50 59 52 49 47 48 54 0a 43 6f 70 79 72 69 67 68 lzip.html..SH.COPYRIGHT.Copyrigh
2c0a0 74 20 5c 28 63 6f 20 32 30 31 38 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 4c t.\(co.2018.Antonio.Diaz.Diaz..L
2c0c0 69 63 65 6e 73 65 20 47 50 4c 76 32 2b 3a 20 47 4e 55 20 47 50 4c 20 76 65 72 73 69 6f 6e 20 32 icense.GPLv2+:.GNU.GPL.version.2
2c0e0 20 6f 72 20 6c 61 74 65 72 20 3c 68 74 74 70 3a 2f 2f 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 .or.later.<http://gnu.org/licens
2c100 65 73 2f 67 70 6c 2e 68 74 6d 6c 3e 0a 2e 62 72 0a 54 68 69 73 20 69 73 20 66 72 65 65 20 73 6f es/gpl.html>..br.This.is.free.so
2c120 66 74 77 61 72 65 3a 20 79 6f 75 20 61 72 65 20 66 72 65 65 20 74 6f 20 63 68 61 6e 67 65 20 61 ftware:.you.are.free.to.change.a
2c140 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 2e 0a 54 68 65 72 65 20 69 73 20 4e 4f 20 nd.redistribute.it..There.is.NO.
2c160 57 41 52 52 41 4e 54 59 2c 20 74 6f 20 74 68 65 20 65 78 74 65 6e 74 20 70 65 72 6d 69 74 74 65 WARRANTY,.to.the.extent.permitte
2c180 64 20 62 79 20 6c 61 77 2e 0a 2e 53 48 20 22 53 45 45 20 41 4c 53 4f 22 0a 54 68 65 20 66 75 6c d.by.law...SH."SEE.ALSO".The.ful
2c1a0 6c 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 0a 2e 42 20 6c 7a 69 70 0a 69 73 20 6d l.documentation.for..B.lzip.is.m
2c1c0 61 69 6e 74 61 69 6e 65 64 20 61 73 20 61 20 54 65 78 69 6e 66 6f 20 6d 61 6e 75 61 6c 2e 20 20 aintained.as.a.Texinfo.manual...
2c1e0 49 66 20 74 68 65 0a 2e 42 20 69 6e 66 6f 0a 61 6e 64 0a 2e 42 20 6c 7a 69 70 0a 70 72 6f 67 72 If.the..B.info.and..B.lzip.progr
2c200 61 6d 73 20 61 72 65 20 70 72 6f 70 65 72 6c 79 20 69 6e 73 74 61 6c 6c 65 64 20 61 74 20 79 6f ams.are.properly.installed.at.yo
2c220 75 72 20 73 69 74 65 2c 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0a 2e 49 50 0a 2e 42 20 69 6e 66 6f ur.site,.the.command..IP..B.info
2c240 20 6c 7a 69 70 0a 2e 50 50 0a 73 68 6f 75 6c 64 20 67 69 76 65 20 79 6f 75 20 61 63 63 65 73 73 .lzip..PP.should.give.you.access
2c260 20 74 6f 20 74 68 65 20 63 6f 6d 70 6c 65 74 65 20 6d 61 6e 75 61 6c 2e 0a 00 00 00 00 00 00 00 .to.the.complete.manual.........
2c280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c400 6c 7a 69 70 2d 31 2e 32 30 2f 64 6f 63 2f 6c 7a 69 70 2e 69 6e 66 6f 00 00 00 00 00 00 00 00 00 lzip-1.20/doc/lzip.info.........
2c420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
2c480 30 31 36 37 36 31 35 00 31 33 36 36 34 37 33 36 35 34 35 00 30 31 35 32 30 35 00 20 30 00 00 00 0167615.13664736545.015205..0...
2c4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c500 00 75 73 74 61 72 20 20 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...mohammad...............
2c520 00 00 00 00 00 00 00 00 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........mohammad...............
2c540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c600 54 68 69 73 20 69 73 20 6c 7a 69 70 2e 69 6e 66 6f 2c 20 70 72 6f 64 75 63 65 64 20 62 79 20 6d This.is.lzip.info,.produced.by.m
2c620 61 6b 65 69 6e 66 6f 20 76 65 72 73 69 6f 6e 20 34 2e 31 33 2b 20 66 72 6f 6d 20 6c 7a 69 70 2e akeinfo.version.4.13+.from.lzip.
2c640 74 65 78 69 2e 0a 0a 49 4e 46 4f 2d 44 49 52 2d 53 45 43 54 49 4f 4e 20 44 61 74 61 20 43 6f 6d texi...INFO-DIR-SECTION.Data.Com
2c660 70 72 65 73 73 69 6f 6e 0a 53 54 41 52 54 2d 49 4e 46 4f 2d 44 49 52 2d 45 4e 54 52 59 0a 2a 20 pression.START-INFO-DIR-ENTRY.*.
2c680 4c 7a 69 70 3a 20 28 6c 7a 69 70 29 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4c 5a Lzip:.(lzip)..................LZ
2c6a0 4d 41 20 6c 6f 73 73 6c 65 73 73 20 64 61 74 61 20 63 6f 6d 70 72 65 73 73 6f 72 0a 45 4e 44 2d MA.lossless.data.compressor.END-
2c6c0 49 4e 46 4f 2d 44 49 52 2d 45 4e 54 52 59 0a 0a 1f 0a 46 69 6c 65 3a 20 6c 7a 69 70 2e 69 6e 66 INFO-DIR-ENTRY....File:.lzip.inf
2c6e0 6f 2c 20 20 4e 6f 64 65 3a 20 54 6f 70 2c 20 20 4e 65 78 74 3a 20 49 6e 74 72 6f 64 75 63 74 69 o,..Node:.Top,..Next:.Introducti
2c700 6f 6e 2c 20 20 55 70 3a 20 28 64 69 72 29 0a 0a 4c 7a 69 70 20 4d 61 6e 75 61 6c 0a 2a 2a 2a 2a on,..Up:.(dir)..Lzip.Manual.****
2c720 2a 2a 2a 2a 2a 2a 2a 0a 0a 54 68 69 73 20 6d 61 6e 75 61 6c 20 69 73 20 66 6f 72 20 4c 7a 69 70 *******..This.manual.is.for.Lzip
2c740 20 28 76 65 72 73 69 6f 6e 20 31 2e 32 30 2c 20 31 31 20 46 65 62 72 75 61 72 79 20 32 30 31 38 .(version.1.20,.11.February.2018
2c760 29 2e 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 3a 3a 20 20 20 )...*.Menu:..*.Introduction::...
2c780 20 20 20 20 20 20 20 20 50 75 72 70 6f 73 65 20 61 6e 64 20 66 65 61 74 75 72 65 73 20 6f 66 20 ........Purpose.and.features.of.
2c7a0 6c 7a 69 70 0a 2a 20 4f 75 74 70 75 74 3a 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lzip.*.Output::.................
2c7c0 4d 65 61 6e 69 6e 67 20 6f 66 20 6c 7a 69 70 27 73 20 6f 75 74 70 75 74 0a 2a 20 49 6e 76 6f 6b Meaning.of.lzip's.output.*.Invok
2c7e0 69 6e 67 20 6c 7a 69 70 3a 3a 20 20 20 20 20 20 20 20 20 20 43 6f 6d 6d 61 6e 64 20 6c 69 6e 65 ing.lzip::..........Command.line
2c800 20 69 6e 74 65 72 66 61 63 65 0a 2a 20 51 75 61 6c 69 74 79 20 61 73 73 75 72 61 6e 63 65 3a 3a .interface.*.Quality.assurance::
2c820 20 20 20 20 20 20 44 65 73 69 67 6e 2c 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 61 6e 64 20 74 65 ......Design,.development.and.te
2c840 73 74 69 6e 67 20 6f 66 20 6c 7a 69 70 0a 2a 20 46 69 6c 65 20 66 6f 72 6d 61 74 3a 3a 20 20 20 sting.of.lzip.*.File.format::...
2c860 20 20 20 20 20 20 20 20 20 44 65 74 61 69 6c 65 64 20 66 6f 72 6d 61 74 20 6f 66 20 74 68 65 20 .........Detailed.format.of.the.
2c880 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 0a 2a 20 41 6c 67 6f 72 69 74 68 6d 3a 3a 20 20 20 compressed.file.*.Algorithm::...
2c8a0 20 20 20 20 20 20 20 20 20 20 20 48 6f 77 20 6c 7a 69 70 20 63 6f 6d 70 72 65 73 73 65 73 20 74 ...........How.lzip.compresses.t
2c8c0 68 65 20 64 61 74 61 0a 2a 20 53 74 72 65 61 6d 20 66 6f 72 6d 61 74 3a 3a 20 20 20 20 20 20 20 he.data.*.Stream.format::.......
2c8e0 20 20 20 46 6f 72 6d 61 74 20 6f 66 20 74 68 65 20 4c 5a 4d 41 20 73 74 72 65 61 6d 20 69 6e 20 ...Format.of.the.LZMA.stream.in.
2c900 6c 7a 69 70 20 66 69 6c 65 73 0a 2a 20 54 72 61 69 6c 69 6e 67 20 64 61 74 61 3a 3a 20 20 20 20 lzip.files.*.Trailing.data::....
2c920 20 20 20 20 20 20 45 78 74 72 61 20 64 61 74 61 20 61 70 70 65 6e 64 65 64 20 74 6f 20 74 68 65 ......Extra.data.appended.to.the
2c940 20 66 69 6c 65 0a 2a 20 45 78 61 6d 70 6c 65 73 3a 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .file.*.Examples::..............
2c960 20 41 20 73 6d 61 6c 6c 20 74 75 74 6f 72 69 61 6c 20 77 69 74 68 20 65 78 61 6d 70 6c 65 73 0a .A.small.tutorial.with.examples.
2c980 2a 20 50 72 6f 62 6c 65 6d 73 3a 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 70 6f 72 *.Problems::...............Repor
2c9a0 74 69 6e 67 20 62 75 67 73 0a 2a 20 52 65 66 65 72 65 6e 63 65 20 73 6f 75 72 63 65 20 63 6f 64 ting.bugs.*.Reference.source.cod
2c9c0 65 3a 3a 20 20 53 6f 75 72 63 65 20 63 6f 64 65 20 69 6c 6c 75 73 74 72 61 74 69 6e 67 20 73 74 e::..Source.code.illustrating.st
2c9e0 72 65 61 6d 20 66 6f 72 6d 61 74 0a 2a 20 43 6f 6e 63 65 70 74 20 69 6e 64 65 78 3a 3a 20 20 20 ream.format.*.Concept.index::...
2ca00 20 20 20 20 20 20 20 49 6e 64 65 78 20 6f 66 20 63 6f 6e 63 65 70 74 73 0a 0a 0a 20 20 20 43 6f .......Index.of.concepts......Co
2ca20 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d 32 30 31 38 20 41 6e 74 6f 6e 69 6f 20 44 69 pyright.(C).2008-2018.Antonio.Di
2ca40 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 54 68 69 73 20 6d 61 6e 75 61 6c 20 69 73 20 66 72 65 65 az.Diaz......This.manual.is.free
2ca60 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3a 20 79 6f 75 20 68 61 76 65 20 75 6e 6c 69 6d 69 74 .documentation:.you.have.unlimit
2ca80 65 64 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 0a 63 6f 70 79 2c 20 64 69 73 74 72 69 62 75 74 ed.permission.to.copy,.distribut
2caa0 65 20 61 6e 64 20 6d 6f 64 69 66 79 20 69 74 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 6c 7a 69 70 2e 69 e.and.modify.it.....File:.lzip.i
2cac0 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 2c 20 20 4e 65 78 74 3a nfo,..Node:.Introduction,..Next:
2cae0 20 4f 75 74 70 75 74 2c 20 20 50 72 65 76 3a 20 54 6f 70 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 31 .Output,..Prev:.Top,..Up:.Top..1
2cb00 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 4c 7a .Introduction.**************..Lz
2cb20 69 70 20 69 73 20 61 20 6c 6f 73 73 6c 65 73 73 20 64 61 74 61 20 63 6f 6d 70 72 65 73 73 6f 72 ip.is.a.lossless.data.compressor
2cb40 20 77 69 74 68 20 61 20 75 73 65 72 20 69 6e 74 65 72 66 61 63 65 20 73 69 6d 69 6c 61 72 20 74 .with.a.user.interface.similar.t
2cb60 6f 20 74 68 65 0a 6f 6e 65 20 6f 66 20 67 7a 69 70 20 6f 72 20 62 7a 69 70 32 2e 20 4c 7a 69 70 o.the.one.of.gzip.or.bzip2..Lzip
2cb80 20 63 61 6e 20 63 6f 6d 70 72 65 73 73 20 61 62 6f 75 74 20 61 73 20 66 61 73 74 20 61 73 20 67 .can.compress.about.as.fast.as.g
2cba0 7a 69 70 0a 28 6c 7a 69 70 20 2d 30 29 2c 20 6f 72 20 63 6f 6d 70 72 65 73 73 20 6d 6f 73 74 20 zip.(lzip.-0),.or.compress.most.
2cbc0 66 69 6c 65 73 20 6d 6f 72 65 20 74 68 61 6e 20 62 7a 69 70 32 20 28 6c 7a 69 70 20 2d 39 29 2e files.more.than.bzip2.(lzip.-9).
2cbe0 0a 44 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 73 70 65 65 64 20 69 73 20 69 6e 74 65 72 6d 65 64 .Decompression.speed.is.intermed
2cc00 69 61 74 65 20 62 65 74 77 65 65 6e 20 67 7a 69 70 20 61 6e 64 20 62 7a 69 70 32 2e 20 4c 7a 69 iate.between.gzip.and.bzip2..Lzi
2cc20 70 20 69 73 0a 62 65 74 74 65 72 20 74 68 61 6e 20 67 7a 69 70 20 61 6e 64 20 62 7a 69 70 32 20 p.is.better.than.gzip.and.bzip2.
2cc40 66 72 6f 6d 20 61 20 64 61 74 61 20 72 65 63 6f 76 65 72 79 20 70 65 72 73 70 65 63 74 69 76 65 from.a.data.recovery.perspective
2cc60 2e 0a 0a 20 20 20 54 68 65 20 6c 7a 69 70 20 66 69 6c 65 20 66 6f 72 6d 61 74 20 69 73 20 64 65 ......The.lzip.file.format.is.de
2cc80 73 69 67 6e 65 64 20 66 6f 72 20 64 61 74 61 20 73 68 61 72 69 6e 67 20 61 6e 64 20 6c 6f 6e 67 signed.for.data.sharing.and.long
2cca0 2d 74 65 72 6d 0a 61 72 63 68 69 76 69 6e 67 2c 20 74 61 6b 69 6e 67 20 69 6e 74 6f 20 61 63 63 -term.archiving,.taking.into.acc
2ccc0 6f 75 6e 74 20 62 6f 74 68 20 64 61 74 61 20 69 6e 74 65 67 72 69 74 79 20 61 6e 64 20 64 65 63 ount.both.data.integrity.and.dec
2cce0 6f 64 65 72 0a 61 76 61 69 6c 61 62 69 6c 69 74 79 3a 0a 0a 20 20 20 2a 20 54 68 65 20 6c 7a 69 oder.availability:.....*.The.lzi
2cd00 70 20 66 6f 72 6d 61 74 20 70 72 6f 76 69 64 65 73 20 76 65 72 79 20 73 61 66 65 20 69 6e 74 65 p.format.provides.very.safe.inte
2cd20 67 72 69 74 79 20 63 68 65 63 6b 69 6e 67 20 61 6e 64 20 73 6f 6d 65 20 64 61 74 61 0a 20 20 20 grity.checking.and.some.data....
2cd40 20 20 72 65 63 6f 76 65 72 79 20 6d 65 61 6e 73 2e 20 54 68 65 20 6c 7a 69 70 72 65 63 6f 76 65 ..recovery.means..The.lziprecove
2cd60 72 20 70 72 6f 67 72 61 6d 20 63 61 6e 20 72 65 70 61 69 72 20 62 69 74 20 66 6c 69 70 20 65 72 r.program.can.repair.bit.flip.er
2cd80 72 6f 72 73 0a 20 20 20 20 20 28 6f 6e 65 20 6f 66 20 74 68 65 20 6d 6f 73 74 20 63 6f 6d 6d 6f rors......(one.of.the.most.commo
2cda0 6e 20 66 6f 72 6d 73 20 6f 66 20 64 61 74 61 20 63 6f 72 72 75 70 74 69 6f 6e 29 20 69 6e 20 6c n.forms.of.data.corruption).in.l
2cdc0 7a 69 70 20 66 69 6c 65 73 2c 0a 20 20 20 20 20 61 6e 64 20 70 72 6f 76 69 64 65 73 20 64 61 74 zip.files,......and.provides.dat
2cde0 61 20 72 65 63 6f 76 65 72 79 20 63 61 70 61 62 69 6c 69 74 69 65 73 2c 20 69 6e 63 6c 75 64 69 a.recovery.capabilities,.includi
2ce00 6e 67 20 65 72 72 6f 72 2d 63 68 65 63 6b 65 64 0a 20 20 20 20 20 6d 65 72 67 69 6e 67 20 6f 66 ng.error-checked......merging.of
2ce20 20 64 61 6d 61 67 65 64 20 63 6f 70 69 65 73 20 6f 66 20 61 20 66 69 6c 65 2e 20 20 2a 4e 6f 74 .damaged.copies.of.a.file...*Not
2ce40 65 20 44 61 74 61 20 73 61 66 65 74 79 3a 0a 20 20 20 20 20 28 6c 7a 69 70 72 65 63 6f 76 65 72 e.Data.safety:......(lziprecover
2ce60 29 44 61 74 61 20 73 61 66 65 74 79 2e 0a 0a 20 20 20 2a 20 54 68 65 20 6c 7a 69 70 20 66 6f 72 )Data.safety......*.The.lzip.for
2ce80 6d 61 74 20 69 73 20 61 73 20 73 69 6d 70 6c 65 20 61 73 20 70 6f 73 73 69 62 6c 65 20 28 62 75 mat.is.as.simple.as.possible.(bu
2cea0 74 20 6e 6f 74 20 73 69 6d 70 6c 65 72 29 2e 20 54 68 65 0a 20 20 20 20 20 6c 7a 69 70 20 6d 61 t.not.simpler)..The......lzip.ma
2cec0 6e 75 61 6c 20 70 72 6f 76 69 64 65 73 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 6f 66 nual.provides.the.source.code.of
2cee0 20 61 20 73 69 6d 70 6c 65 20 64 65 63 6f 6d 70 72 65 73 73 6f 72 0a 20 20 20 20 20 61 6c 6f 6e .a.simple.decompressor......alon
2cf00 67 20 77 69 74 68 20 61 20 64 65 74 61 69 6c 65 64 20 65 78 70 6c 61 6e 61 74 69 6f 6e 20 6f 66 g.with.a.detailed.explanation.of
2cf20 20 68 6f 77 20 69 74 20 77 6f 72 6b 73 2c 20 73 6f 20 74 68 61 74 20 77 69 74 68 0a 20 20 20 20 .how.it.works,.so.that.with.....
2cf40 20 74 68 65 20 6f 6e 6c 79 20 68 65 6c 70 20 6f 66 20 74 68 65 20 6c 7a 69 70 20 6d 61 6e 75 61 .the.only.help.of.the.lzip.manua
2cf60 6c 20 69 74 20 77 6f 75 6c 64 20 62 65 20 70 6f 73 73 69 62 6c 65 20 66 6f 72 20 61 0a 20 20 20 l.it.would.be.possible.for.a....
2cf80 20 20 64 69 67 69 74 61 6c 20 61 72 63 68 61 65 6f 6c 6f 67 69 73 74 20 74 6f 20 65 78 74 72 61 ..digital.archaeologist.to.extra
2cfa0 63 74 20 74 68 65 20 64 61 74 61 20 66 72 6f 6d 20 61 20 6c 7a 69 70 20 66 69 6c 65 20 6c 6f 6e ct.the.data.from.a.lzip.file.lon
2cfc0 67 0a 20 20 20 20 20 61 66 74 65 72 20 71 75 61 6e 74 75 6d 20 63 6f 6d 70 75 74 65 72 73 20 65 g......after.quantum.computers.e
2cfe0 76 65 6e 74 75 61 6c 6c 79 20 72 65 6e 64 65 72 20 4c 5a 4d 41 20 6f 62 73 6f 6c 65 74 65 2e 0a ventually.render.LZMA.obsolete..
2d000 0a 20 20 20 2a 20 41 64 64 69 74 69 6f 6e 61 6c 6c 79 20 74 68 65 20 6c 7a 69 70 20 72 65 66 65 ....*.Additionally.the.lzip.refe
2d020 72 65 6e 63 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 69 73 20 63 6f 70 79 6c 65 66 74 rence.implementation.is.copyleft
2d040 65 64 2c 20 77 68 69 63 68 0a 20 20 20 20 20 67 75 61 72 61 6e 74 65 65 73 20 74 68 61 74 20 69 ed,.which......guarantees.that.i
2d060 74 20 77 69 6c 6c 20 72 65 6d 61 69 6e 20 66 72 65 65 20 66 6f 72 65 76 65 72 2e 0a 0a 20 20 20 t.will.remain.free.forever......
2d080 41 20 6e 69 63 65 20 66 65 61 74 75 72 65 20 6f 66 20 74 68 65 20 6c 7a 69 70 20 66 6f 72 6d 61 A.nice.feature.of.the.lzip.forma
2d0a0 74 20 69 73 20 74 68 61 74 20 61 20 63 6f 72 72 75 70 74 20 62 79 74 65 20 69 73 20 65 61 73 69 t.is.that.a.corrupt.byte.is.easi
2d0c0 65 72 20 74 6f 0a 72 65 70 61 69 72 20 74 68 65 20 6e 65 61 72 65 72 20 69 74 20 69 73 20 66 72 er.to.repair.the.nearer.it.is.fr
2d0e0 6f 6d 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 66 69 6c 65 2e 20 54 68 om.the.beginning.of.the.file..Th
2d100 65 72 65 66 6f 72 65 2c 20 77 69 74 68 0a 74 68 65 20 68 65 6c 70 20 6f 66 20 6c 7a 69 70 72 65 erefore,.with.the.help.of.lzipre
2d120 63 6f 76 65 72 2c 20 6c 6f 73 69 6e 67 20 61 6e 20 65 6e 74 69 72 65 20 61 72 63 68 69 76 65 20 cover,.losing.an.entire.archive.
2d140 6a 75 73 74 20 62 65 63 61 75 73 65 20 6f 66 20 61 0a 63 6f 72 72 75 70 74 20 62 79 74 65 20 6e just.because.of.a.corrupt.byte.n
2d160 65 61 72 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 69 73 20 61 20 74 68 69 6e 67 20 6f 66 20 ear.the.beginning.is.a.thing.of.
2d180 74 68 65 20 70 61 73 74 2e 0a 0a 20 20 20 54 68 65 20 6d 65 6d 62 65 72 20 74 72 61 69 6c 65 72 the.past......The.member.trailer
2d1a0 20 73 74 6f 72 65 73 20 74 68 65 20 33 32 2d 62 69 74 20 43 52 43 20 6f 66 20 74 68 65 20 6f 72 .stores.the.32-bit.CRC.of.the.or
2d1c0 69 67 69 6e 61 6c 20 64 61 74 61 2c 20 74 68 65 0a 73 69 7a 65 20 6f 66 20 74 68 65 20 6f 72 69 iginal.data,.the.size.of.the.ori
2d1e0 67 69 6e 61 6c 20 64 61 74 61 20 61 6e 64 20 74 68 65 20 73 69 7a 65 20 6f 66 20 74 68 65 20 6d ginal.data.and.the.size.of.the.m
2d200 65 6d 62 65 72 2e 20 54 68 65 73 65 20 76 61 6c 75 65 73 2c 0a 74 6f 67 65 74 68 65 72 20 77 69 ember..These.values,.together.wi
2d220 74 68 20 74 68 65 20 65 6e 64 2d 6f 66 2d 73 74 72 65 61 6d 20 6d 61 72 6b 65 72 2c 20 70 72 6f th.the.end-of-stream.marker,.pro
2d240 76 69 64 65 20 61 20 33 20 66 61 63 74 6f 72 20 69 6e 74 65 67 72 69 74 79 0a 63 68 65 63 6b 69 vide.a.3.factor.integrity.checki
2d260 6e 67 20 77 68 69 63 68 20 67 75 61 72 61 6e 74 65 65 73 20 74 68 61 74 20 74 68 65 20 64 65 63 ng.which.guarantees.that.the.dec
2d280 6f 6d 70 72 65 73 73 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 64 61 74 61 20 69 73 ompressed.version.of.the.data.is
2d2a0 0a 69 64 65 6e 74 69 63 61 6c 20 74 6f 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 2e 20 54 68 69 73 .identical.to.the.original..This
2d2c0 20 67 75 61 72 64 73 20 61 67 61 69 6e 73 74 20 63 6f 72 72 75 70 74 69 6f 6e 20 6f 66 20 74 68 .guards.against.corruption.of.th
2d2e0 65 0a 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 2c 20 61 6e 64 20 61 67 61 69 6e 73 74 20 75 e.compressed.data,.and.against.u
2d300 6e 64 65 74 65 63 74 65 64 20 62 75 67 73 20 69 6e 20 6c 7a 69 70 20 28 68 6f 70 65 66 75 6c 6c ndetected.bugs.in.lzip.(hopefull
2d320 79 20 76 65 72 79 0a 75 6e 6c 69 6b 65 6c 79 29 2e 20 54 68 65 20 63 68 61 6e 63 65 73 20 6f 66 y.very.unlikely)..The.chances.of
2d340 20 64 61 74 61 20 63 6f 72 72 75 70 74 69 6f 6e 20 67 6f 69 6e 67 20 75 6e 64 65 74 65 63 74 65 .data.corruption.going.undetecte
2d360 64 20 61 72 65 0a 6d 69 63 72 6f 73 63 6f 70 69 63 2e 20 42 65 20 61 77 61 72 65 2c 20 74 68 6f d.are.microscopic..Be.aware,.tho
2d380 75 67 68 2c 20 74 68 61 74 20 74 68 65 20 63 68 65 63 6b 20 6f 63 63 75 72 73 20 75 70 6f 6e 0a ugh,.that.the.check.occurs.upon.
2d3a0 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 2c 20 73 6f 20 69 74 20 63 61 6e 20 6f 6e 6c 79 20 74 65 decompression,.so.it.can.only.te
2d3c0 6c 6c 20 79 6f 75 20 74 68 61 74 20 73 6f 6d 65 74 68 69 6e 67 20 69 73 20 77 72 6f 6e 67 2e 20 ll.you.that.something.is.wrong..
2d3e0 49 74 0a 63 61 6e 27 74 20 68 65 6c 70 20 79 6f 75 20 72 65 63 6f 76 65 72 20 74 68 65 20 6f 72 It.can't.help.you.recover.the.or
2d400 69 67 69 6e 61 6c 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 2e 0a 0a 20 20 20 4c 7a iginal.uncompressed.data......Lz
2d420 69 70 20 75 73 65 73 20 74 68 65 20 73 61 6d 65 20 77 65 6c 6c 2d 64 65 66 69 6e 65 64 20 65 78 ip.uses.the.same.well-defined.ex
2d440 69 74 20 73 74 61 74 75 73 20 76 61 6c 75 65 73 20 75 73 65 64 20 62 79 20 62 7a 69 70 32 2c 0a it.status.values.used.by.bzip2,.
2d460 77 68 69 63 68 20 6d 61 6b 65 73 20 69 74 20 73 61 66 65 72 20 74 68 61 6e 20 63 6f 6d 70 72 65 which.makes.it.safer.than.compre
2d480 73 73 6f 72 73 20 72 65 74 75 72 6e 69 6e 67 20 61 6d 62 69 67 75 6f 75 73 20 77 61 72 6e 69 6e ssors.returning.ambiguous.warnin
2d4a0 67 0a 76 61 6c 75 65 73 20 28 6c 69 6b 65 20 67 7a 69 70 29 20 77 68 65 6e 20 69 74 20 69 73 20 g.values.(like.gzip).when.it.is.
2d4c0 75 73 65 64 20 61 73 20 61 20 62 61 63 6b 20 65 6e 64 20 66 6f 72 20 6f 74 68 65 72 20 70 72 6f used.as.a.back.end.for.other.pro
2d4e0 67 72 61 6d 73 0a 6c 69 6b 65 20 74 61 72 20 6f 72 20 7a 75 74 69 6c 73 2e 0a 0a 20 20 20 4c 7a grams.like.tar.or.zutils......Lz
2d500 69 70 20 77 69 6c 6c 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 75 73 65 20 74 68 65 20 73 6d ip.will.automatically.use.the.sm
2d520 61 6c 6c 65 73 74 20 70 6f 73 73 69 62 6c 65 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 allest.possible.dictionary.size.
2d540 66 6f 72 0a 65 61 63 68 20 66 69 6c 65 20 77 69 74 68 6f 75 74 20 65 78 63 65 65 64 69 6e 67 20 for.each.file.without.exceeding.
2d560 74 68 65 20 67 69 76 65 6e 20 6c 69 6d 69 74 2e 20 4b 65 65 70 20 69 6e 20 6d 69 6e 64 20 74 68 the.given.limit..Keep.in.mind.th
2d580 61 74 20 74 68 65 0a 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6d 65 6d 6f 72 79 20 72 65 71 75 at.the.decompression.memory.requ
2d5a0 69 72 65 6d 65 6e 74 20 69 73 20 61 66 66 65 63 74 65 64 20 61 74 20 63 6f 6d 70 72 65 73 73 69 irement.is.affected.at.compressi
2d5c0 6f 6e 20 74 69 6d 65 20 62 79 20 74 68 65 0a 63 68 6f 69 63 65 20 6f 66 20 64 69 63 74 69 6f 6e on.time.by.the.choice.of.diction
2d5e0 61 72 79 20 73 69 7a 65 20 6c 69 6d 69 74 2e 0a 0a 20 20 20 54 68 65 20 61 6d 6f 75 6e 74 20 6f ary.size.limit......The.amount.o
2d600 66 20 6d 65 6d 6f 72 79 20 72 65 71 75 69 72 65 64 20 66 6f 72 20 63 6f 6d 70 72 65 73 73 69 6f f.memory.required.for.compressio
2d620 6e 20 69 73 20 61 62 6f 75 74 20 31 20 6f 72 20 32 20 74 69 6d 65 73 0a 74 68 65 20 64 69 63 74 n.is.about.1.or.2.times.the.dict
2d640 69 6f 6e 61 72 79 20 73 69 7a 65 20 6c 69 6d 69 74 20 28 31 20 69 66 20 69 6e 70 75 74 20 66 69 ionary.size.limit.(1.if.input.fi
2d660 6c 65 20 73 69 7a 65 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 64 69 63 74 69 6f 6e 61 72 79 0a le.size.is.less.than.dictionary.
2d680 73 69 7a 65 20 6c 69 6d 69 74 2c 20 65 6c 73 65 20 32 29 20 70 6c 75 73 20 39 20 74 69 6d 65 73 size.limit,.else.2).plus.9.times
2d6a0 20 74 68 65 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 72 65 61 6c 6c 79 20 75 73 65 64 .the.dictionary.size.really.used
2d6c0 2e 20 54 68 65 0a 6f 70 74 69 6f 6e 20 27 2d 30 27 20 69 73 20 73 70 65 63 69 61 6c 20 61 6e 64 ..The.option.'-0'.is.special.and
2d6e0 20 6f 6e 6c 79 20 72 65 71 75 69 72 65 73 20 61 62 6f 75 74 20 31 2e 35 20 4d 69 42 20 61 74 20 .only.requires.about.1.5.MiB.at.
2d700 6d 6f 73 74 2e 20 54 68 65 0a 61 6d 6f 75 6e 74 20 6f 66 20 6d 65 6d 6f 72 79 20 72 65 71 75 69 most..The.amount.of.memory.requi
2d720 72 65 64 20 66 6f 72 20 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 69 73 20 61 62 6f 75 74 20 34 red.for.decompression.is.about.4
2d740 36 20 6b 42 20 6c 61 72 67 65 72 20 74 68 61 6e 0a 74 68 65 20 64 69 63 74 69 6f 6e 61 72 79 20 6.kB.larger.than.the.dictionary.
2d760 73 69 7a 65 20 72 65 61 6c 6c 79 20 75 73 65 64 2e 0a 0a 20 20 20 57 68 65 6e 20 63 6f 6d 70 72 size.really.used......When.compr
2d780 65 73 73 69 6e 67 2c 20 6c 7a 69 70 20 72 65 70 6c 61 63 65 73 20 65 76 65 72 79 20 66 69 6c 65 essing,.lzip.replaces.every.file
2d7a0 20 67 69 76 65 6e 20 69 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 0a 77 69 74 68 20 .given.in.the.command.line.with.
2d7c0 61 20 63 6f 6d 70 72 65 73 73 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 69 74 73 65 6c 66 2c 20 a.compressed.version.of.itself,.
2d7e0 77 69 74 68 20 74 68 65 20 6e 61 6d 65 20 22 6f 72 69 67 69 6e 61 6c 5f 6e 61 6d 65 2e 6c 7a 22 with.the.name."original_name.lz"
2d800 2e 0a 57 68 65 6e 20 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 2c 20 6c 7a 69 70 20 61 74 74 65 6d ..When.decompressing,.lzip.attem
2d820 70 74 73 20 74 6f 20 67 75 65 73 73 20 74 68 65 20 6e 61 6d 65 20 66 6f 72 20 74 68 65 20 64 65 pts.to.guess.the.name.for.the.de
2d840 63 6f 6d 70 72 65 73 73 65 64 0a 66 69 6c 65 20 66 72 6f 6d 20 74 68 61 74 20 6f 66 20 74 68 65 compressed.file.from.that.of.the
2d860 20 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 0a 0a 66 69 .compressed.file.as.follows:..fi
2d880 6c 65 6e 61 6d 65 2e 6c 7a 20 20 20 20 62 65 63 6f 6d 65 73 20 20 20 66 69 6c 65 6e 61 6d 65 0a lename.lz....becomes...filename.
2d8a0 66 69 6c 65 6e 61 6d 65 2e 74 6c 7a 20 20 20 62 65 63 6f 6d 65 73 20 20 20 66 69 6c 65 6e 61 6d filename.tlz...becomes...filenam
2d8c0 65 2e 74 61 72 0a 61 6e 79 6f 74 68 65 72 6e 61 6d 65 20 20 20 62 65 63 6f 6d 65 73 20 20 20 61 e.tar.anyothername...becomes...a
2d8e0 6e 79 6f 74 68 65 72 6e 61 6d 65 2e 6f 75 74 0a 0a 20 20 20 28 44 65 29 63 6f 6d 70 72 65 73 73 nyothername.out.....(De)compress
2d900 69 6e 67 20 61 20 66 69 6c 65 20 69 73 20 6d 75 63 68 20 6c 69 6b 65 20 63 6f 70 79 69 6e 67 20 ing.a.file.is.much.like.copying.
2d920 6f 72 20 6d 6f 76 69 6e 67 20 69 74 3b 20 74 68 65 72 65 66 6f 72 65 0a 6c 7a 69 70 20 70 72 65 or.moving.it;.therefore.lzip.pre
2d940 73 65 72 76 65 73 20 74 68 65 20 61 63 63 65 73 73 20 61 6e 64 20 6d 6f 64 69 66 69 63 61 74 69 serves.the.access.and.modificati
2d960 6f 6e 20 64 61 74 65 73 2c 20 70 65 72 6d 69 73 73 69 6f 6e 73 2c 20 61 6e 64 2c 20 77 68 65 6e on.dates,.permissions,.and,.when
2d980 0a 70 6f 73 73 69 62 6c 65 2c 20 6f 77 6e 65 72 73 68 69 70 20 6f 66 20 74 68 65 20 66 69 6c 65 .possible,.ownership.of.the.file
2d9a0 20 6a 75 73 74 20 61 73 20 22 63 70 20 2d 70 22 20 64 6f 65 73 2e 20 28 49 66 20 74 68 65 20 75 .just.as."cp.-p".does..(If.the.u
2d9c0 73 65 72 20 49 44 20 6f 72 0a 74 68 65 20 67 72 6f 75 70 20 49 44 20 63 61 6e 27 74 20 62 65 20 ser.ID.or.the.group.ID.can't.be.
2d9e0 64 75 70 6c 69 63 61 74 65 64 2c 20 74 68 65 20 66 69 6c 65 20 70 65 72 6d 69 73 73 69 6f 6e 20 duplicated,.the.file.permission.
2da00 62 69 74 73 20 53 5f 49 53 55 49 44 20 61 6e 64 0a 53 5f 49 53 47 49 44 20 61 72 65 20 63 6c 65 bits.S_ISUID.and.S_ISGID.are.cle
2da20 61 72 65 64 29 2e 0a 0a 20 20 20 4c 7a 69 70 20 69 73 20 61 62 6c 65 20 74 6f 20 72 65 61 64 20 ared)......Lzip.is.able.to.read.
2da40 66 72 6f 6d 20 73 6f 6d 65 20 74 79 70 65 73 20 6f 66 20 6e 6f 6e 20 72 65 67 75 6c 61 72 20 66 from.some.types.of.non.regular.f
2da60 69 6c 65 73 20 69 66 20 74 68 65 0a 27 2d 2d 73 74 64 6f 75 74 27 20 6f 70 74 69 6f 6e 20 69 73 iles.if.the.'--stdout'.option.is
2da80 20 73 70 65 63 69 66 69 65 64 2e 0a 0a 20 20 20 49 66 20 6e 6f 20 66 69 6c 65 20 6e 61 6d 65 73 .specified......If.no.file.names
2daa0 20 61 72 65 20 73 70 65 63 69 66 69 65 64 2c 20 6c 7a 69 70 20 63 6f 6d 70 72 65 73 73 65 73 20 .are.specified,.lzip.compresses.
2dac0 28 6f 72 20 64 65 63 6f 6d 70 72 65 73 73 65 73 29 0a 66 72 6f 6d 20 73 74 61 6e 64 61 72 64 20 (or.decompresses).from.standard.
2dae0 69 6e 70 75 74 20 74 6f 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 2e 20 49 6e 20 74 68 69 input.to.standard.output..In.thi
2db00 73 20 63 61 73 65 2c 20 6c 7a 69 70 20 77 69 6c 6c 20 64 65 63 6c 69 6e 65 0a 74 6f 20 77 72 69 s.case,.lzip.will.decline.to.wri
2db20 74 65 20 63 6f 6d 70 72 65 73 73 65 64 20 6f 75 74 70 75 74 20 74 6f 20 61 20 74 65 72 6d 69 6e te.compressed.output.to.a.termin
2db40 61 6c 2c 20 61 73 20 74 68 69 73 20 77 6f 75 6c 64 20 62 65 20 65 6e 74 69 72 65 6c 79 0a 69 6e al,.as.this.would.be.entirely.in
2db60 63 6f 6d 70 72 65 68 65 6e 73 69 62 6c 65 20 61 6e 64 20 74 68 65 72 65 66 6f 72 65 20 70 6f 69 comprehensible.and.therefore.poi
2db80 6e 74 6c 65 73 73 2e 0a 0a 20 20 20 4c 7a 69 70 20 77 69 6c 6c 20 63 6f 72 72 65 63 74 6c 79 20 ntless......Lzip.will.correctly.
2dba0 64 65 63 6f 6d 70 72 65 73 73 20 61 20 66 69 6c 65 20 77 68 69 63 68 20 69 73 20 74 68 65 20 63 decompress.a.file.which.is.the.c
2dbc0 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 20 6f 66 0a 74 77 6f 20 6f 72 20 6d 6f 72 65 20 63 6f 6d 70 oncatenation.of.two.or.more.comp
2dbe0 72 65 73 73 65 64 20 66 69 6c 65 73 2e 20 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 74 68 65 20 ressed.files..The.result.is.the.
2dc00 63 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 20 6f 66 20 74 68 65 0a 63 6f 72 72 65 73 70 6f 6e 64 69 concatenation.of.the.correspondi
2dc20 6e 67 20 64 65 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 73 2e 20 49 6e 74 65 67 72 69 74 79 ng.decompressed.files..Integrity
2dc40 20 74 65 73 74 69 6e 67 20 6f 66 20 63 6f 6e 63 61 74 65 6e 61 74 65 64 0a 63 6f 6d 70 72 65 73 .testing.of.concatenated.compres
2dc60 73 65 64 20 66 69 6c 65 73 20 69 73 20 61 6c 73 6f 20 73 75 70 70 6f 72 74 65 64 2e 0a 0a 20 20 sed.files.is.also.supported.....
2dc80 20 4c 7a 69 70 20 63 61 6e 20 70 72 6f 64 75 63 65 20 6d 75 6c 74 69 6d 65 6d 62 65 72 20 66 69 .Lzip.can.produce.multimember.fi
2dca0 6c 65 73 2c 20 61 6e 64 20 6c 7a 69 70 72 65 63 6f 76 65 72 20 63 61 6e 20 73 61 66 65 6c 79 0a les,.and.lziprecover.can.safely.
2dcc0 72 65 63 6f 76 65 72 20 74 68 65 20 75 6e 64 61 6d 61 67 65 64 20 6d 65 6d 62 65 72 73 20 69 6e recover.the.undamaged.members.in
2dce0 20 63 61 73 65 20 6f 66 20 66 69 6c 65 20 64 61 6d 61 67 65 2e 20 4c 7a 69 70 20 63 61 6e 20 61 .case.of.file.damage..Lzip.can.a
2dd00 6c 73 6f 0a 73 70 6c 69 74 20 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 20 6f 75 74 70 75 74 20 lso.split.the.compressed.output.
2dd20 69 6e 20 76 6f 6c 75 6d 65 73 20 6f 66 20 61 20 67 69 76 65 6e 20 73 69 7a 65 2c 20 65 76 65 6e in.volumes.of.a.given.size,.even
2dd40 20 77 68 65 6e 0a 72 65 61 64 69 6e 67 20 66 72 6f 6d 20 73 74 61 6e 64 61 72 64 20 69 6e 70 75 .when.reading.from.standard.inpu
2dd60 74 2e 20 54 68 69 73 20 61 6c 6c 6f 77 73 20 74 68 65 20 64 69 72 65 63 74 20 63 72 65 61 74 69 t..This.allows.the.direct.creati
2dd80 6f 6e 20 6f 66 0a 6d 75 6c 74 69 76 6f 6c 75 6d 65 20 63 6f 6d 70 72 65 73 73 65 64 20 74 61 72 on.of.multivolume.compressed.tar
2dda0 20 61 72 63 68 69 76 65 73 2e 0a 0a 20 20 20 4c 7a 69 70 20 69 73 20 61 62 6c 65 20 74 6f 20 63 .archives......Lzip.is.able.to.c
2ddc0 6f 6d 70 72 65 73 73 20 61 6e 64 20 64 65 63 6f 6d 70 72 65 73 73 20 73 74 72 65 61 6d 73 20 6f ompress.and.decompress.streams.o
2dde0 66 20 75 6e 6c 69 6d 69 74 65 64 20 73 69 7a 65 20 62 79 0a 61 75 74 6f 6d 61 74 69 63 61 6c 6c f.unlimited.size.by.automaticall
2de00 79 20 63 72 65 61 74 69 6e 67 20 6d 75 6c 74 69 6d 65 6d 62 65 72 20 6f 75 74 70 75 74 2e 20 54 y.creating.multimember.output..T
2de20 68 65 20 6d 65 6d 62 65 72 73 20 73 6f 20 63 72 65 61 74 65 64 20 61 72 65 0a 6c 61 72 67 65 2c he.members.so.created.are.large,
2de40 20 61 62 6f 75 74 20 32 20 50 69 42 20 65 61 63 68 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 6c 7a 69 70 .about.2.PiB.each.....File:.lzip
2de60 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 4f 75 74 70 75 74 2c 20 20 4e 65 78 74 3a 20 49 6e 76 .info,..Node:.Output,..Next:.Inv
2de80 6f 6b 69 6e 67 20 6c 7a 69 70 2c 20 20 50 72 65 76 3a 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 2c oking.lzip,..Prev:.Introduction,
2dea0 20 20 55 70 3a 20 54 6f 70 0a 0a 32 20 4d 65 61 6e 69 6e 67 20 6f 66 20 6c 7a 69 70 27 73 20 6f ..Up:.Top..2.Meaning.of.lzip's.o
2dec0 75 74 70 75 74 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a utput.**************************
2dee0 0a 0a 54 68 65 20 6f 75 74 70 75 74 20 6f 66 20 6c 7a 69 70 20 6c 6f 6f 6b 73 20 6c 69 6b 65 20 ..The.output.of.lzip.looks.like.
2df00 74 68 69 73 3a 0a 0a 20 20 20 20 20 6c 7a 69 70 20 2d 76 20 66 6f 6f 0a 20 20 20 20 20 20 20 66 this:.......lzip.-v.foo........f
2df20 6f 6f 3a 20 20 36 2e 36 37 36 3a 31 2c 20 31 34 2e 39 38 25 20 72 61 74 69 6f 2c 20 38 35 2e 30 oo:..6.676:1,.14.98%.ratio,.85.0
2df40 32 25 20 73 61 76 65 64 2c 20 34 35 30 35 36 30 20 69 6e 2c 20 36 37 34 39 33 20 6f 75 74 2e 0a 2%.saved,.450560.in,.67493.out..
2df60 0a 20 20 20 20 20 6c 7a 69 70 20 2d 74 76 76 20 66 6f 6f 2e 6c 7a 0a 20 20 20 20 20 20 20 66 6f ......lzip.-tvv.foo.lz........fo
2df80 6f 2e 6c 7a 3a 20 20 36 2e 36 37 36 3a 31 2c 20 31 34 2e 39 38 25 20 72 61 74 69 6f 2c 20 38 35 o.lz:..6.676:1,.14.98%.ratio,.85
2dfa0 2e 30 32 25 20 73 61 76 65 64 2e 20 20 6f 6b 0a 0a 20 20 20 54 68 65 20 6d 65 61 6e 69 6e 67 20 .02%.saved...ok.....The.meaning.
2dfc0 6f 66 20 65 61 63 68 20 66 69 65 6c 64 20 69 73 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 0a 0a 27 4e of.each.field.is.as.follows:..'N
2dfe0 3a 31 27 0a 20 20 20 20 20 54 68 65 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 72 61 74 69 6f 20 28 :1'......The.compression.ratio.(
2e000 75 6e 63 6f 6d 70 72 65 73 73 65 64 5f 73 69 7a 65 20 2f 20 63 6f 6d 70 72 65 73 73 65 64 5f 73 uncompressed_size./.compressed_s
2e020 69 7a 65 29 2c 20 73 68 6f 77 6e 0a 20 20 20 20 20 61 73 20 4e 20 74 6f 20 31 2e 0a 0a 27 72 61 ize),.shown......as.N.to.1...'ra
2e040 74 69 6f 27 0a 20 20 20 20 20 54 68 65 20 69 6e 76 65 72 73 65 20 63 6f 6d 70 72 65 73 73 69 6f tio'......The.inverse.compressio
2e060 6e 20 72 61 74 69 6f 0a 20 20 20 20 20 28 63 6f 6d 70 72 65 73 73 65 64 5f 73 69 7a 65 20 2f 20 n.ratio......(compressed_size./.
2e080 75 6e 63 6f 6d 70 72 65 73 73 65 64 5f 73 69 7a 65 29 2c 20 73 68 6f 77 6e 20 61 73 20 61 20 70 uncompressed_size),.shown.as.a.p
2e0a0 65 72 63 65 6e 74 61 67 65 2e 20 41 0a 20 20 20 20 20 64 65 63 69 6d 61 6c 20 72 61 74 69 6f 20 ercentage..A......decimal.ratio.
2e0c0 69 73 20 65 61 73 69 6c 79 20 6f 62 74 61 69 6e 65 64 20 62 79 20 6d 6f 76 69 6e 67 20 74 68 65 is.easily.obtained.by.moving.the
2e0e0 20 64 65 63 69 6d 61 6c 20 70 6f 69 6e 74 20 74 77 6f 0a 20 20 20 20 20 70 6c 61 63 65 73 20 74 .decimal.point.two......places.t
2e100 6f 20 74 68 65 20 6c 65 66 74 3b 20 31 34 2e 39 38 25 20 3d 20 30 2e 31 34 39 38 2e 0a 0a 27 73 o.the.left;.14.98%.=.0.1498...'s
2e120 61 76 65 64 27 0a 20 20 20 20 20 54 68 65 20 73 70 61 63 65 20 73 61 76 65 64 20 62 79 20 63 6f aved'......The.space.saved.by.co
2e140 6d 70 72 65 73 73 69 6f 6e 20 28 31 20 2d 20 72 61 74 69 6f 29 2c 20 73 68 6f 77 6e 20 61 73 20 mpression.(1.-.ratio),.shown.as.
2e160 61 20 70 65 72 63 65 6e 74 61 67 65 2e 0a 0a 27 69 6e 27 0a 20 20 20 20 20 54 68 65 20 73 69 7a a.percentage...'in'......The.siz
2e180 65 20 6f 66 20 74 68 65 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 2e 20 57 68 65 6e e.of.the.uncompressed.data..When
2e1a0 20 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 20 6f 72 20 74 65 73 74 69 6e 67 2c 0a 20 20 20 20 20 .decompressing.or.testing,......
2e1c0 69 74 20 69 73 20 73 68 6f 77 6e 20 61 73 20 27 64 65 63 6f 6d 70 72 65 73 73 65 64 27 2e 20 4e it.is.shown.as.'decompressed'..N
2e1e0 6f 74 65 20 74 68 61 74 20 6c 7a 69 70 20 61 6c 77 61 79 73 20 70 72 69 6e 74 73 20 74 68 65 0a ote.that.lzip.always.prints.the.
2e200 20 20 20 20 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 73 69 7a 65 20 62 65 66 6f 72 65 20 74 68 .....uncompressed.size.before.th
2e220 65 20 63 6f 6d 70 72 65 73 73 65 64 20 73 69 7a 65 20 77 68 65 6e 20 63 6f 6d 70 72 65 73 73 69 e.compressed.size.when.compressi
2e240 6e 67 2c 0a 20 20 20 20 20 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 2c 20 74 65 73 74 69 6e 67 20 ng,......decompressing,.testing.
2e260 6f 72 20 6c 69 73 74 69 6e 67 2e 0a 0a 27 6f 75 74 27 0a 20 20 20 20 20 54 68 65 20 73 69 7a 65 or.listing...'out'......The.size
2e280 20 6f 66 20 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 2e 20 57 68 65 6e 20 64 65 .of.the.compressed.data..When.de
2e2a0 63 6f 6d 70 72 65 73 73 69 6e 67 20 6f 72 20 74 65 73 74 69 6e 67 2c 20 69 74 0a 20 20 20 20 20 compressing.or.testing,.it......
2e2c0 69 73 20 73 68 6f 77 6e 20 61 73 20 27 63 6f 6d 70 72 65 73 73 65 64 27 2e 0a 0a 0a 20 20 20 57 is.shown.as.'compressed'.......W
2e2e0 68 65 6e 20 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 20 6f 72 20 74 65 73 74 69 6e 67 20 61 74 20 hen.decompressing.or.testing.at.
2e300 76 65 72 62 6f 73 69 74 79 20 6c 65 76 65 6c 20 34 20 28 2d 76 76 76 76 29 2c 20 74 68 65 0a 64 verbosity.level.4.(-vvvv),.the.d
2e320 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 75 73 65 64 20 74 6f 20 63 6f 6d 70 72 65 73 73 20 ictionary.size.used.to.compress.
2e340 74 68 65 20 66 69 6c 65 20 61 6e 64 20 74 68 65 20 43 52 43 33 32 20 6f 66 20 74 68 65 0a 75 6e the.file.and.the.CRC32.of.the.un
2e360 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 20 61 72 65 20 61 6c 73 6f 20 73 68 6f 77 6e 2e 0a compressed.data.are.also.shown..
2e380 0a 20 20 20 4c 41 4e 47 55 41 47 45 20 4e 4f 54 45 3a 20 55 6e 63 6f 6d 70 72 65 73 73 65 64 20 ....LANGUAGE.NOTE:.Uncompressed.
2e3a0 3d 20 6e 6f 74 20 63 6f 6d 70 72 65 73 73 65 64 20 3d 20 70 6c 61 69 6e 20 64 61 74 61 3b 20 69 =.not.compressed.=.plain.data;.i
2e3c0 74 20 6d 61 79 0a 6e 65 76 65 72 20 68 61 76 65 20 62 65 65 6e 20 63 6f 6d 70 72 65 73 73 65 64 t.may.never.have.been.compressed
2e3e0 2e 20 44 65 63 6f 6d 70 72 65 73 73 65 64 20 69 73 20 75 73 65 64 20 74 6f 20 72 65 66 65 72 20 ..Decompressed.is.used.to.refer.
2e400 74 6f 20 64 61 74 61 20 77 68 69 63 68 0a 68 61 76 65 20 75 6e 64 65 72 67 6f 6e 65 20 74 68 65 to.data.which.have.undergone.the
2e420 20 70 72 6f 63 65 73 73 20 6f 66 20 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 2e 0a 0a 1f 0a 46 69 .process.of.decompression.....Fi
2e440 6c 65 3a 20 6c 7a 69 70 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 49 6e 76 6f 6b 69 6e 67 20 6c le:.lzip.info,..Node:.Invoking.l
2e460 7a 69 70 2c 20 20 4e 65 78 74 3a 20 51 75 61 6c 69 74 79 20 61 73 73 75 72 61 6e 63 65 2c 20 20 zip,..Next:.Quality.assurance,..
2e480 50 72 65 76 3a 20 4f 75 74 70 75 74 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 33 20 49 6e 76 6f 6b 69 Prev:.Output,..Up:.Top..3.Invoki
2e4a0 6e 67 20 6c 7a 69 70 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 54 68 65 20 66 6f 72 ng.lzip.***************..The.for
2e4c0 6d 61 74 20 66 6f 72 20 72 75 6e 6e 69 6e 67 20 6c 7a 69 70 20 69 73 3a 0a 0a 20 20 20 20 20 6c mat.for.running.lzip.is:.......l
2e4e0 7a 69 70 20 5b 4f 50 54 49 4f 4e 53 5d 20 5b 46 49 4c 45 53 5d 0a 0a 27 2d 27 20 75 73 65 64 20 zip.[OPTIONS].[FILES]..'-'.used.
2e500 61 73 20 61 20 46 49 4c 45 20 61 72 67 75 6d 65 6e 74 20 6d 65 61 6e 73 20 73 74 61 6e 64 61 72 as.a.FILE.argument.means.standar
2e520 64 20 69 6e 70 75 74 2e 20 49 74 20 63 61 6e 20 62 65 20 6d 69 78 65 64 20 77 69 74 68 0a 6f 74 d.input..It.can.be.mixed.with.ot
2e540 68 65 72 20 46 49 4c 45 53 20 61 6e 64 20 69 73 20 72 65 61 64 20 6a 75 73 74 20 6f 6e 63 65 2c her.FILES.and.is.read.just.once,
2e560 20 74 68 65 20 66 69 72 73 74 20 74 69 6d 65 20 69 74 20 61 70 70 65 61 72 73 20 69 6e 20 74 68 .the.first.time.it.appears.in.th
2e580 65 0a 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 2e 0a 0a 20 20 20 6c 7a 69 70 20 73 75 70 70 6f 72 74 e.command.line......lzip.support
2e5a0 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6f 70 74 69 6f 6e 73 3a 0a 0a 27 2d 68 27 0a 27 s.the.following.options:..'-h'.'
2e5c0 2d 2d 68 65 6c 70 27 0a 20 20 20 20 20 50 72 69 6e 74 20 61 6e 20 69 6e 66 6f 72 6d 61 74 69 76 --help'......Print.an.informativ
2e5e0 65 20 68 65 6c 70 20 6d 65 73 73 61 67 65 20 64 65 73 63 72 69 62 69 6e 67 20 74 68 65 20 6f 70 e.help.message.describing.the.op
2e600 74 69 6f 6e 73 20 61 6e 64 20 65 78 69 74 2e 0a 0a 27 2d 56 27 0a 27 2d 2d 76 65 72 73 69 6f 6e tions.and.exit...'-V'.'--version
2e620 27 0a 20 20 20 20 20 50 72 69 6e 74 20 74 68 65 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 20 '......Print.the.version.number.
2e640 6f 66 20 6c 7a 69 70 20 6f 6e 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 20 61 of.lzip.on.the.standard.output.a
2e660 6e 64 20 65 78 69 74 2e 0a 0a 27 2d 61 27 0a 27 2d 2d 74 72 61 69 6c 69 6e 67 2d 65 72 72 6f 72 nd.exit...'-a'.'--trailing-error
2e680 27 0a 20 20 20 20 20 45 78 69 74 20 77 69 74 68 20 65 72 72 6f 72 20 73 74 61 74 75 73 20 32 20 '......Exit.with.error.status.2.
2e6a0 69 66 20 61 6e 79 20 72 65 6d 61 69 6e 69 6e 67 20 69 6e 70 75 74 20 69 73 20 64 65 74 65 63 74 if.any.remaining.input.is.detect
2e6c0 65 64 20 61 66 74 65 72 0a 20 20 20 20 20 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 20 74 68 65 20 ed.after......decompressing.the.
2e6e0 6c 61 73 74 20 6d 65 6d 62 65 72 2e 20 53 75 63 68 20 72 65 6d 61 69 6e 69 6e 67 20 69 6e 70 75 last.member..Such.remaining.inpu
2e700 74 20 69 73 20 75 73 75 61 6c 6c 79 0a 20 20 20 20 20 74 72 61 69 6c 69 6e 67 20 67 61 72 62 61 t.is.usually......trailing.garba
2e720 67 65 20 74 68 61 74 20 63 61 6e 20 62 65 20 73 61 66 65 6c 79 20 69 67 6e 6f 72 65 64 2e 20 2a ge.that.can.be.safely.ignored..*
2e740 4e 6f 74 65 0a 20 20 20 20 20 63 6f 6e 63 61 74 2d 65 78 61 6d 70 6c 65 3a 3a 2e 0a 0a 27 2d 62 Note......concat-example::...'-b
2e760 20 42 59 54 45 53 27 0a 27 2d 2d 6d 65 6d 62 65 72 2d 73 69 7a 65 3d 42 59 54 45 53 27 0a 20 20 .BYTES'.'--member-size=BYTES'...
2e780 20 20 20 57 68 65 6e 20 63 6f 6d 70 72 65 73 73 69 6e 67 2c 20 73 65 74 20 74 68 65 20 6d 65 6d ...When.compressing,.set.the.mem
2e7a0 62 65 72 20 73 69 7a 65 20 6c 69 6d 69 74 20 74 6f 20 42 59 54 45 53 2e 20 41 20 73 6d 61 6c 6c ber.size.limit.to.BYTES..A.small
2e7c0 0a 20 20 20 20 20 6d 65 6d 62 65 72 20 73 69 7a 65 20 6d 61 79 20 64 65 67 72 61 64 65 20 63 6f ......member.size.may.degrade.co
2e7e0 6d 70 72 65 73 73 69 6f 6e 20 72 61 74 69 6f 2c 20 73 6f 20 75 73 65 20 69 74 20 6f 6e 6c 79 20 mpression.ratio,.so.use.it.only.
2e800 77 68 65 6e 0a 20 20 20 20 20 6e 65 65 64 65 64 2e 20 20 56 61 6c 69 64 20 76 61 6c 75 65 73 20 when......needed...Valid.values.
2e820 72 61 6e 67 65 20 66 72 6f 6d 20 31 30 30 20 6b 42 20 74 6f 20 32 20 50 69 42 2e 20 44 65 66 61 range.from.100.kB.to.2.PiB..Defa
2e840 75 6c 74 73 20 74 6f 0a 20 20 20 20 20 32 20 50 69 42 2e 0a 0a 27 2d 63 27 0a 27 2d 2d 73 74 64 ults.to......2.PiB...'-c'.'--std
2e860 6f 75 74 27 0a 20 20 20 20 20 43 6f 6d 70 72 65 73 73 20 6f 72 20 64 65 63 6f 6d 70 72 65 73 73 out'......Compress.or.decompress
2e880 20 74 6f 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 3b 20 6b 65 65 70 20 69 6e 70 75 74 20 .to.standard.output;.keep.input.
2e8a0 66 69 6c 65 73 0a 20 20 20 20 20 75 6e 63 68 61 6e 67 65 64 2e 20 20 49 66 20 63 6f 6d 70 72 65 files......unchanged...If.compre
2e8c0 73 73 69 6e 67 20 73 65 76 65 72 61 6c 20 66 69 6c 65 73 2c 20 65 61 63 68 20 66 69 6c 65 20 69 ssing.several.files,.each.file.i
2e8e0 73 20 63 6f 6d 70 72 65 73 73 65 64 0a 20 20 20 20 20 69 6e 64 65 70 65 6e 64 65 6e 74 6c 79 2e s.compressed......independently.
2e900 20 20 54 68 69 73 20 6f 70 74 69 6f 6e 20 69 73 20 6e 65 65 64 65 64 20 77 68 65 6e 20 72 65 61 ..This.option.is.needed.when.rea
2e920 64 69 6e 67 20 66 72 6f 6d 20 61 20 6e 61 6d 65 64 0a 20 20 20 20 20 70 69 70 65 20 28 66 69 66 ding.from.a.named......pipe.(fif
2e940 6f 29 20 6f 72 20 66 72 6f 6d 20 61 20 64 65 76 69 63 65 2e 20 55 73 65 20 69 74 20 61 6c 73 6f o).or.from.a.device..Use.it.also
2e960 20 74 6f 20 72 65 63 6f 76 65 72 20 61 73 20 6d 75 63 68 20 6f 66 0a 20 20 20 20 20 74 68 65 20 .to.recover.as.much.of......the.
2e980 64 65 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 20 61 73 20 70 6f 73 73 69 62 6c 65 20 77 68 decompressed.data.as.possible.wh
2e9a0 65 6e 20 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 20 61 20 63 6f 72 72 75 70 74 0a 20 20 20 20 20 en.decompressing.a.corrupt......
2e9c0 66 69 6c 65 2e 0a 0a 27 2d 64 27 0a 27 2d 2d 64 65 63 6f 6d 70 72 65 73 73 27 0a 20 20 20 20 20 file...'-d'.'--decompress'......
2e9e0 44 65 63 6f 6d 70 72 65 73 73 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 66 69 6c 65 73 2e 20 Decompress.the.specified.files..
2ea00 49 66 20 61 20 66 69 6c 65 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 20 6f 72 20 63 61 6e 27 If.a.file.does.not.exist.or.can'
2ea20 74 0a 20 20 20 20 20 62 65 20 6f 70 65 6e 65 64 2c 20 6c 7a 69 70 20 63 6f 6e 74 69 6e 75 65 73 t......be.opened,.lzip.continues
2ea40 20 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 20 74 68 65 20 72 65 73 74 20 6f 66 20 74 68 65 20 66 .decompressing.the.rest.of.the.f
2ea60 69 6c 65 73 2e 20 49 66 0a 20 20 20 20 20 61 20 66 69 6c 65 20 66 61 69 6c 73 20 74 6f 20 64 65 iles..If......a.file.fails.to.de
2ea80 63 6f 6d 70 72 65 73 73 2c 20 6f 72 20 69 73 20 61 20 74 65 72 6d 69 6e 61 6c 2c 20 6c 7a 69 70 compress,.or.is.a.terminal,.lzip
2eaa0 20 65 78 69 74 73 0a 20 20 20 20 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 77 69 74 68 6f 75 74 20 .exits......immediately.without.
2eac0 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 20 74 68 65 20 72 65 73 74 20 6f 66 20 74 68 65 20 66 69 decompressing.the.rest.of.the.fi
2eae0 6c 65 73 2e 0a 0a 27 2d 66 27 0a 27 2d 2d 66 6f 72 63 65 27 0a 20 20 20 20 20 46 6f 72 63 65 20 les...'-f'.'--force'......Force.
2eb00 6f 76 65 72 77 72 69 74 65 20 6f 66 20 6f 75 74 70 75 74 20 66 69 6c 65 73 2e 0a 0a 27 2d 46 27 overwrite.of.output.files...'-F'
2eb20 0a 27 2d 2d 72 65 63 6f 6d 70 72 65 73 73 27 0a 20 20 20 20 20 57 68 65 6e 20 63 6f 6d 70 72 65 .'--recompress'......When.compre
2eb40 73 73 69 6e 67 2c 20 66 6f 72 63 65 20 72 65 2d 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6f 66 20 66 ssing,.force.re-compression.of.f
2eb60 69 6c 65 73 20 77 68 6f 73 65 20 6e 61 6d 65 20 61 6c 72 65 61 64 79 0a 20 20 20 20 20 68 61 73 iles.whose.name.already......has
2eb80 20 74 68 65 20 27 2e 6c 7a 27 20 6f 72 20 27 2e 74 6c 7a 27 20 73 75 66 66 69 78 2e 0a 0a 27 2d .the.'.lz'.or.'.tlz'.suffix...'-
2eba0 6b 27 0a 27 2d 2d 6b 65 65 70 27 0a 20 20 20 20 20 4b 65 65 70 20 28 64 6f 6e 27 74 20 64 65 6c k'.'--keep'......Keep.(don't.del
2ebc0 65 74 65 29 20 69 6e 70 75 74 20 66 69 6c 65 73 20 64 75 72 69 6e 67 20 63 6f 6d 70 72 65 73 73 ete).input.files.during.compress
2ebe0 69 6f 6e 20 6f 72 0a 20 20 20 20 20 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 2e 0a 0a 27 2d 6c 27 ion.or......decompression...'-l'
2ec00 0a 27 2d 2d 6c 69 73 74 27 0a 20 20 20 20 20 50 72 69 6e 74 20 74 68 65 20 75 6e 63 6f 6d 70 72 .'--list'......Print.the.uncompr
2ec20 65 73 73 65 64 20 73 69 7a 65 2c 20 63 6f 6d 70 72 65 73 73 65 64 20 73 69 7a 65 20 61 6e 64 20 essed.size,.compressed.size.and.
2ec40 70 65 72 63 65 6e 74 61 67 65 20 73 61 76 65 64 0a 20 20 20 20 20 6f 66 20 74 68 65 20 73 70 65 percentage.saved......of.the.spe
2ec60 63 69 66 69 65 64 20 66 69 6c 65 73 2e 20 54 72 61 69 6c 69 6e 67 20 64 61 74 61 20 61 72 65 20 cified.files..Trailing.data.are.
2ec80 69 67 6e 6f 72 65 64 2e 20 54 68 65 20 76 61 6c 75 65 73 0a 20 20 20 20 20 70 72 6f 64 75 63 65 ignored..The.values......produce
2eca0 64 20 61 72 65 20 63 6f 72 72 65 63 74 20 65 76 65 6e 20 66 6f 72 20 6d 75 6c 74 69 6d 65 6d 62 d.are.correct.even.for.multimemb
2ecc0 65 72 20 66 69 6c 65 73 2e 20 49 66 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 0a 20 20 20 20 20 er.files..If.more.than.one......
2ece0 66 69 6c 65 20 69 73 20 67 69 76 65 6e 2c 20 61 20 66 69 6e 61 6c 20 6c 69 6e 65 20 63 6f 6e 74 file.is.given,.a.final.line.cont
2ed00 61 69 6e 69 6e 67 20 74 68 65 20 63 75 6d 75 6c 61 74 69 76 65 20 73 69 7a 65 73 20 69 73 0a 20 aining.the.cumulative.sizes.is..
2ed20 20 20 20 20 70 72 69 6e 74 65 64 2e 20 57 69 74 68 20 27 2d 76 27 2c 20 74 68 65 20 64 69 63 74 ....printed..With.'-v',.the.dict
2ed40 69 6f 6e 61 72 79 20 73 69 7a 65 2c 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 6d 65 6d 62 65 ionary.size,.the.number.of.membe
2ed60 72 73 20 69 6e 0a 20 20 20 20 20 74 68 65 20 66 69 6c 65 2c 20 61 6e 64 20 74 68 65 20 61 6d 6f rs.in......the.file,.and.the.amo
2ed80 75 6e 74 20 6f 66 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 20 28 69 66 20 61 6e 79 29 20 61 72 unt.of.trailing.data.(if.any).ar
2eda0 65 20 61 6c 73 6f 0a 20 20 20 20 20 70 72 69 6e 74 65 64 2e 20 57 69 74 68 20 27 2d 76 76 27 2c e.also......printed..With.'-vv',
2edc0 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 73 20 61 6e 64 20 73 69 7a 65 73 20 6f 66 20 65 61 63 68 .the.positions.and.sizes.of.each
2ede0 20 6d 65 6d 62 65 72 20 69 6e 0a 20 20 20 20 20 6d 75 6c 74 69 6d 65 6d 62 65 72 20 66 69 6c 65 .member.in......multimember.file
2ee00 73 20 61 72 65 20 61 6c 73 6f 20 70 72 69 6e 74 65 64 2e 20 27 2d 6c 71 27 20 63 61 6e 20 62 65 s.are.also.printed..'-lq'.can.be
2ee20 20 75 73 65 64 20 74 6f 20 76 65 72 69 66 79 0a 20 20 20 20 20 71 75 69 63 6b 6c 79 20 28 77 69 .used.to.verify......quickly.(wi
2ee40 74 68 6f 75 74 20 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 29 20 74 68 65 20 73 74 72 75 63 74 75 thout.decompressing).the.structu
2ee60 72 61 6c 20 69 6e 74 65 67 72 69 74 79 20 6f 66 20 74 68 65 0a 20 20 20 20 20 73 70 65 63 69 66 ral.integrity.of.the......specif
2ee80 69 65 64 20 66 69 6c 65 73 2e 20 28 55 73 65 20 27 2d 2d 74 65 73 74 27 20 74 6f 20 76 65 72 69 ied.files..(Use.'--test'.to.veri
2eea0 66 79 20 74 68 65 20 64 61 74 61 20 69 6e 74 65 67 72 69 74 79 29 2e 0a 20 20 20 20 20 27 2d 61 fy.the.data.integrity).......'-a
2eec0 6c 71 27 20 61 64 64 69 74 69 6f 6e 61 6c 6c 79 20 76 65 72 69 66 69 65 73 20 74 68 61 74 20 6e lq'.additionally.verifies.that.n
2eee0 6f 6e 65 20 6f 66 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 66 69 6c 65 73 0a 20 20 20 20 20 one.of.the.specified.files......
2ef00 63 6f 6e 74 61 69 6e 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 2e 0a 0a 27 2d 6d 20 42 59 54 45 contain.trailing.data...'-m.BYTE
2ef20 53 27 0a 27 2d 2d 6d 61 74 63 68 2d 6c 65 6e 67 74 68 3d 42 59 54 45 53 27 0a 20 20 20 20 20 57 S'.'--match-length=BYTES'......W
2ef40 68 65 6e 20 63 6f 6d 70 72 65 73 73 69 6e 67 2c 20 73 65 74 20 74 68 65 20 6d 61 74 63 68 20 6c hen.compressing,.set.the.match.l
2ef60 65 6e 67 74 68 20 6c 69 6d 69 74 20 69 6e 20 62 79 74 65 73 2e 20 41 66 74 65 72 20 61 0a 20 20 ength.limit.in.bytes..After.a...
2ef80 20 20 20 6d 61 74 63 68 20 74 68 69 73 20 6c 6f 6e 67 20 69 73 20 66 6f 75 6e 64 2c 20 74 68 65 ...match.this.long.is.found,.the
2efa0 20 73 65 61 72 63 68 20 69 73 20 66 69 6e 69 73 68 65 64 2e 20 56 61 6c 69 64 20 76 61 6c 75 65 .search.is.finished..Valid.value
2efc0 73 0a 20 20 20 20 20 72 61 6e 67 65 20 66 72 6f 6d 20 35 20 74 6f 20 32 37 33 2e 20 4c 61 72 67 s......range.from.5.to.273..Larg
2efe0 65 72 20 76 61 6c 75 65 73 20 75 73 75 61 6c 6c 79 20 67 69 76 65 20 62 65 74 74 65 72 20 63 6f er.values.usually.give.better.co
2f000 6d 70 72 65 73 73 69 6f 6e 0a 20 20 20 20 20 72 61 74 69 6f 73 20 62 75 74 20 6c 6f 6e 67 65 72 mpression......ratios.but.longer
2f020 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 74 69 6d 65 73 2e 0a 0a 27 2d 6f 20 46 49 4c 45 27 0a 27 .compression.times...'-o.FILE'.'
2f040 2d 2d 6f 75 74 70 75 74 3d 46 49 4c 45 27 0a 20 20 20 20 20 57 68 65 6e 20 72 65 61 64 69 6e 67 --output=FILE'......When.reading
2f060 20 66 72 6f 6d 20 73 74 61 6e 64 61 72 64 20 69 6e 70 75 74 20 61 6e 64 20 27 2d 2d 73 74 64 6f .from.standard.input.and.'--stdo
2f080 75 74 27 20 68 61 73 20 6e 6f 74 20 62 65 65 6e 0a 20 20 20 20 20 73 70 65 63 69 66 69 65 64 2c ut'.has.not.been......specified,
2f0a0 20 75 73 65 20 27 46 49 4c 45 27 20 61 73 20 74 68 65 20 76 69 72 74 75 61 6c 20 6e 61 6d 65 20 .use.'FILE'.as.the.virtual.name.
2f0c0 6f 66 20 74 68 65 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 0a 20 20 20 20 20 66 69 6c 65 2e 20 54 of.the.uncompressed......file..T
2f0e0 68 69 73 20 70 72 6f 64 75 63 65 73 20 61 20 66 69 6c 65 20 6e 61 6d 65 64 20 27 46 49 4c 45 27 his.produces.a.file.named.'FILE'
2f100 20 77 68 65 6e 20 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 2c 20 6f 72 20 61 0a 20 20 20 20 20 66 .when.decompressing,.or.a......f
2f120 69 6c 65 20 6e 61 6d 65 64 20 27 46 49 4c 45 2e 6c 7a 27 20 77 68 65 6e 20 63 6f 6d 70 72 65 73 ile.named.'FILE.lz'.when.compres
2f140 73 69 6e 67 2e 20 41 20 73 65 63 6f 6e 64 20 27 2e 6c 7a 27 20 65 78 74 65 6e 73 69 6f 6e 20 69 sing..A.second.'.lz'.extension.i
2f160 73 0a 20 20 20 20 20 6e 6f 74 20 61 64 64 65 64 20 69 66 20 27 46 49 4c 45 27 20 61 6c 72 65 61 s......not.added.if.'FILE'.alrea
2f180 64 79 20 65 6e 64 73 20 69 6e 20 27 2e 6c 7a 27 20 6f 72 20 27 2e 74 6c 7a 27 2e 20 57 68 65 6e dy.ends.in.'.lz'.or.'.tlz'..When
2f1a0 0a 20 20 20 20 20 63 6f 6d 70 72 65 73 73 69 6e 67 20 61 6e 64 20 73 70 6c 69 74 74 69 6e 67 20 ......compressing.and.splitting.
2f1c0 74 68 65 20 6f 75 74 70 75 74 20 69 6e 20 76 6f 6c 75 6d 65 73 2c 20 73 65 76 65 72 61 6c 20 66 the.output.in.volumes,.several.f
2f1e0 69 6c 65 73 0a 20 20 20 20 20 6e 61 6d 65 64 20 27 46 49 4c 45 30 30 30 30 31 2e 6c 7a 27 2c 20 iles......named.'FILE00001.lz',.
2f200 27 46 49 4c 45 30 30 30 30 32 2e 6c 7a 27 2c 20 65 74 63 2c 20 61 72 65 20 63 72 65 61 74 65 64 'FILE00002.lz',.etc,.are.created
2f220 2e 0a 0a 27 2d 71 27 0a 27 2d 2d 71 75 69 65 74 27 0a 20 20 20 20 20 51 75 69 65 74 20 6f 70 65 ...'-q'.'--quiet'......Quiet.ope
2f240 72 61 74 69 6f 6e 2e 20 53 75 70 70 72 65 73 73 20 61 6c 6c 20 6d 65 73 73 61 67 65 73 2e 0a 0a ration..Suppress.all.messages...
2f260 27 2d 73 20 42 59 54 45 53 27 0a 27 2d 2d 64 69 63 74 69 6f 6e 61 72 79 2d 73 69 7a 65 3d 42 59 '-s.BYTES'.'--dictionary-size=BY
2f280 54 45 53 27 0a 20 20 20 20 20 57 68 65 6e 20 63 6f 6d 70 72 65 73 73 69 6e 67 2c 20 73 65 74 20 TES'......When.compressing,.set.
2f2a0 74 68 65 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 6c 69 6d 69 74 20 69 6e 20 62 79 74 the.dictionary.size.limit.in.byt
2f2c0 65 73 2e 20 4c 7a 69 70 0a 20 20 20 20 20 77 69 6c 6c 20 75 73 65 20 74 68 65 20 73 6d 61 6c 6c es..Lzip......will.use.the.small
2f2e0 65 73 74 20 70 6f 73 73 69 62 6c 65 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 66 6f 72 est.possible.dictionary.size.for
2f300 20 65 61 63 68 20 66 69 6c 65 0a 20 20 20 20 20 77 69 74 68 6f 75 74 20 65 78 63 65 65 64 69 6e .each.file......without.exceedin
2f320 67 20 74 68 69 73 20 6c 69 6d 69 74 2e 20 56 61 6c 69 64 20 76 61 6c 75 65 73 20 72 61 6e 67 65 g.this.limit..Valid.values.range
2f340 20 66 72 6f 6d 20 34 20 4b 69 42 20 74 6f 0a 20 20 20 20 20 35 31 32 20 4d 69 42 2e 20 56 61 6c .from.4.KiB.to......512.MiB..Val
2f360 75 65 73 20 31 32 20 74 6f 20 32 39 20 61 72 65 20 69 6e 74 65 72 70 72 65 74 65 64 20 61 73 20 ues.12.to.29.are.interpreted.as.
2f380 70 6f 77 65 72 73 20 6f 66 20 74 77 6f 2c 20 6d 65 61 6e 69 6e 67 0a 20 20 20 20 20 32 5e 31 32 powers.of.two,.meaning......2^12
2f3a0 20 74 6f 20 32 5e 32 39 20 62 79 74 65 73 2e 20 4e 6f 74 65 20 74 68 61 74 20 64 69 63 74 69 6f .to.2^29.bytes..Note.that.dictio
2f3c0 6e 61 72 79 20 73 69 7a 65 73 20 61 72 65 20 71 75 61 6e 74 69 7a 65 64 2e 20 49 66 0a 20 20 20 nary.sizes.are.quantized..If....
2f3e0 20 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 73 69 7a 65 20 64 6f 65 73 20 6e 6f 74 20 6d 61 ..the.specified.size.does.not.ma
2f400 74 63 68 20 6f 6e 65 20 6f 66 20 74 68 65 20 76 61 6c 69 64 20 73 69 7a 65 73 2c 20 69 74 20 77 tch.one.of.the.valid.sizes,.it.w
2f420 69 6c 6c 0a 20 20 20 20 20 62 65 20 72 6f 75 6e 64 65 64 20 75 70 77 61 72 64 73 20 62 79 20 61 ill......be.rounded.upwards.by.a
2f440 64 64 69 6e 67 20 75 70 20 74 6f 20 28 42 59 54 45 53 20 2f 20 38 29 20 74 6f 20 69 74 2e 0a 0a dding.up.to.(BYTES./.8).to.it...
2f460 20 20 20 20 20 46 6f 72 20 6d 61 78 69 6d 75 6d 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 79 6f 75 .....For.maximum.compression.you
2f480 20 73 68 6f 75 6c 64 20 75 73 65 20 61 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 6c 69 .should.use.a.dictionary.size.li
2f4a0 6d 69 74 20 61 73 0a 20 20 20 20 20 6c 61 72 67 65 20 61 73 20 70 6f 73 73 69 62 6c 65 2c 20 62 mit.as......large.as.possible,.b
2f4c0 75 74 20 6b 65 65 70 20 69 6e 20 6d 69 6e 64 20 74 68 61 74 20 74 68 65 20 64 65 63 6f 6d 70 72 ut.keep.in.mind.that.the.decompr
2f4e0 65 73 73 69 6f 6e 20 6d 65 6d 6f 72 79 0a 20 20 20 20 20 72 65 71 75 69 72 65 6d 65 6e 74 20 69 ession.memory......requirement.i
2f500 73 20 61 66 66 65 63 74 65 64 20 61 74 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 74 69 6d 65 20 62 s.affected.at.compression.time.b
2f520 79 20 74 68 65 20 63 68 6f 69 63 65 20 6f 66 0a 20 20 20 20 20 64 69 63 74 69 6f 6e 61 72 79 20 y.the.choice.of......dictionary.
2f540 73 69 7a 65 20 6c 69 6d 69 74 2e 0a 0a 27 2d 53 20 42 59 54 45 53 27 0a 27 2d 2d 76 6f 6c 75 6d size.limit...'-S.BYTES'.'--volum
2f560 65 2d 73 69 7a 65 3d 42 59 54 45 53 27 0a 20 20 20 20 20 57 68 65 6e 20 63 6f 6d 70 72 65 73 73 e-size=BYTES'......When.compress
2f580 69 6e 67 2c 20 73 70 6c 69 74 20 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 20 6f 75 74 70 75 74 ing,.split.the.compressed.output
2f5a0 20 69 6e 74 6f 20 73 65 76 65 72 61 6c 20 76 6f 6c 75 6d 65 0a 20 20 20 20 20 66 69 6c 65 73 20 .into.several.volume......files.
2f5c0 77 69 74 68 20 6e 61 6d 65 73 20 27 6f 72 69 67 69 6e 61 6c 5f 6e 61 6d 65 30 30 30 30 31 2e 6c with.names.'original_name00001.l
2f5e0 7a 27 2c 20 27 6f 72 69 67 69 6e 61 6c 5f 6e 61 6d 65 30 30 30 30 32 2e 6c 7a 27 2c 0a 20 20 20 z',.'original_name00002.lz',....
2f600 20 20 65 74 63 2c 20 61 6e 64 20 73 65 74 20 74 68 65 20 76 6f 6c 75 6d 65 20 73 69 7a 65 20 6c ..etc,.and.set.the.volume.size.l
2f620 69 6d 69 74 20 74 6f 20 42 59 54 45 53 2e 20 49 6e 70 75 74 20 66 69 6c 65 73 20 61 72 65 20 6b imit.to.BYTES..Input.files.are.k
2f640 65 70 74 0a 20 20 20 20 20 75 6e 63 68 61 6e 67 65 64 2e 20 45 61 63 68 20 76 6f 6c 75 6d 65 20 ept......unchanged..Each.volume.
2f660 69 73 20 61 20 63 6f 6d 70 6c 65 74 65 2c 20 6d 61 79 62 65 20 6d 75 6c 74 69 6d 65 6d 62 65 72 is.a.complete,.maybe.multimember
2f680 2c 20 6c 7a 69 70 0a 20 20 20 20 20 66 69 6c 65 2e 20 41 20 73 6d 61 6c 6c 20 76 6f 6c 75 6d 65 ,.lzip......file..A.small.volume
2f6a0 20 73 69 7a 65 20 6d 61 79 20 64 65 67 72 61 64 65 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 72 61 .size.may.degrade.compression.ra
2f6c0 74 69 6f 2c 20 73 6f 20 75 73 65 20 69 74 0a 20 20 20 20 20 6f 6e 6c 79 20 77 68 65 6e 20 6e 65 tio,.so.use.it......only.when.ne
2f6e0 65 64 65 64 2e 20 56 61 6c 69 64 20 76 61 6c 75 65 73 20 72 61 6e 67 65 20 66 72 6f 6d 20 31 30 eded..Valid.values.range.from.10
2f700 30 20 6b 42 20 74 6f 20 34 20 45 69 42 2e 0a 0a 27 2d 74 27 0a 27 2d 2d 74 65 73 74 27 0a 20 20 0.kB.to.4.EiB...'-t'.'--test'...
2f720 20 20 20 43 68 65 63 6b 20 69 6e 74 65 67 72 69 74 79 20 6f 66 20 74 68 65 20 73 70 65 63 69 66 ...Check.integrity.of.the.specif
2f740 69 65 64 20 66 69 6c 65 73 2c 20 62 75 74 20 64 6f 6e 27 74 20 64 65 63 6f 6d 70 72 65 73 73 20 ied.files,.but.don't.decompress.
2f760 74 68 65 6d 2e 0a 20 20 20 20 20 54 68 69 73 20 72 65 61 6c 6c 79 20 70 65 72 66 6f 72 6d 73 20 them.......This.really.performs.
2f780 61 20 74 72 69 61 6c 20 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 61 6e 64 20 74 68 72 6f 77 73 a.trial.decompression.and.throws
2f7a0 20 61 77 61 79 20 74 68 65 0a 20 20 20 20 20 72 65 73 75 6c 74 2e 20 55 73 65 20 69 74 20 74 6f .away.the......result..Use.it.to
2f7c0 67 65 74 68 65 72 20 77 69 74 68 20 27 2d 76 27 20 74 6f 20 73 65 65 20 69 6e 66 6f 72 6d 61 74 gether.with.'-v'.to.see.informat
2f7e0 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 0a 20 20 20 20 20 66 69 6c 65 73 2e 20 49 66 20 61 20 66 ion.about.the......files..If.a.f
2f800 69 6c 65 20 66 61 69 6c 73 20 74 68 65 20 74 65 73 74 2c 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 ile.fails.the.test,.does.not.exi
2f820 73 74 2c 20 63 61 6e 27 74 20 62 65 20 6f 70 65 6e 65 64 2c 0a 20 20 20 20 20 6f 72 20 69 73 20 st,.can't.be.opened,......or.is.
2f840 61 20 74 65 72 6d 69 6e 61 6c 2c 20 6c 7a 69 70 20 63 6f 6e 74 69 6e 75 65 73 20 63 68 65 63 6b a.terminal,.lzip.continues.check
2f860 69 6e 67 20 74 68 65 20 72 65 73 74 20 6f 66 20 74 68 65 20 66 69 6c 65 73 2e 20 41 0a 20 20 20 ing.the.rest.of.the.files..A....
2f880 20 20 66 69 6e 61 6c 20 64 69 61 67 6e 6f 73 74 69 63 20 69 73 20 73 68 6f 77 6e 20 61 74 20 76 ..final.diagnostic.is.shown.at.v
2f8a0 65 72 62 6f 73 69 74 79 20 6c 65 76 65 6c 20 31 20 6f 72 20 68 69 67 68 65 72 20 69 66 20 61 6e erbosity.level.1.or.higher.if.an
2f8c0 79 0a 20 20 20 20 20 66 69 6c 65 20 66 61 69 6c 73 20 74 68 65 20 74 65 73 74 20 77 68 65 6e 20 y......file.fails.the.test.when.
2f8e0 74 65 73 74 69 6e 67 20 6d 75 6c 74 69 70 6c 65 20 66 69 6c 65 73 2e 0a 0a 27 2d 76 27 0a 27 2d testing.multiple.files...'-v'.'-
2f900 2d 76 65 72 62 6f 73 65 27 0a 20 20 20 20 20 56 65 72 62 6f 73 65 20 6d 6f 64 65 2e 0a 20 20 20 -verbose'......Verbose.mode.....
2f920 20 20 57 68 65 6e 20 63 6f 6d 70 72 65 73 73 69 6e 67 2c 20 73 68 6f 77 20 74 68 65 20 63 6f 6d ..When.compressing,.show.the.com
2f940 70 72 65 73 73 69 6f 6e 20 72 61 74 69 6f 20 61 6e 64 20 73 69 7a 65 20 66 6f 72 20 65 61 63 68 pression.ratio.and.size.for.each
2f960 20 66 69 6c 65 0a 20 20 20 20 20 70 72 6f 63 65 73 73 65 64 2e 0a 20 20 20 20 20 57 68 65 6e 20 .file......processed.......When.
2f980 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 20 6f 72 20 74 65 73 74 69 6e 67 2c 20 66 75 72 74 68 65 decompressing.or.testing,.furthe
2f9a0 72 20 2d 76 27 73 20 28 75 70 20 74 6f 20 34 29 20 69 6e 63 72 65 61 73 65 20 74 68 65 0a 20 20 r.-v's.(up.to.4).increase.the...
2f9c0 20 20 20 76 65 72 62 6f 73 69 74 79 20 6c 65 76 65 6c 2c 20 73 68 6f 77 69 6e 67 20 73 74 61 74 ...verbosity.level,.showing.stat
2f9e0 75 73 2c 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 72 61 74 69 6f 2c 20 64 69 63 74 69 6f 6e 61 72 us,.compression.ratio,.dictionar
2fa00 79 0a 20 20 20 20 20 73 69 7a 65 2c 20 74 72 61 69 6c 65 72 20 63 6f 6e 74 65 6e 74 73 20 28 43 y......size,.trailer.contents.(C
2fa20 52 43 2c 20 64 61 74 61 20 73 69 7a 65 2c 20 6d 65 6d 62 65 72 20 73 69 7a 65 29 2c 20 61 6e 64 RC,.data.size,.member.size),.and
2fa40 20 75 70 20 74 6f 20 36 0a 20 20 20 20 20 62 79 74 65 73 20 6f 66 20 74 72 61 69 6c 69 6e 67 20 .up.to.6......bytes.of.trailing.
2fa60 64 61 74 61 20 28 69 66 20 61 6e 79 29 20 62 6f 74 68 20 69 6e 20 68 65 78 61 64 65 63 69 6d 61 data.(if.any).both.in.hexadecima
2fa80 6c 20 61 6e 64 20 61 73 20 61 0a 20 20 20 20 20 73 74 72 69 6e 67 20 6f 66 20 70 72 69 6e 74 61 l.and.as.a......string.of.printa
2faa0 62 6c 65 20 41 53 43 49 49 20 63 68 61 72 61 63 74 65 72 73 2e 0a 20 20 20 20 20 54 77 6f 20 6f ble.ASCII.characters.......Two.o
2fac0 72 20 6d 6f 72 65 20 27 2d 76 27 20 6f 70 74 69 6f 6e 73 20 73 68 6f 77 20 74 68 65 20 70 72 6f r.more.'-v'.options.show.the.pro
2fae0 67 72 65 73 73 20 6f 66 20 28 64 65 29 63 6f 6d 70 72 65 73 73 69 6f 6e 2e 0a 0a 27 2d 30 20 2e gress.of.(de)compression...'-0..
2fb00 2e 20 2d 39 27 0a 20 20 20 20 20 53 65 74 20 74 68 65 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 70 ..-9'......Set.the.compression.p
2fb20 61 72 61 6d 65 74 65 72 73 20 28 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 61 6e 64 20 6d arameters.(dictionary.size.and.m
2fb40 61 74 63 68 20 6c 65 6e 67 74 68 0a 20 20 20 20 20 6c 69 6d 69 74 29 20 61 73 20 73 68 6f 77 6e atch.length......limit).as.shown
2fb60 20 69 6e 20 74 68 65 20 74 61 62 6c 65 20 62 65 6c 6f 77 2e 20 54 68 65 20 64 65 66 61 75 6c 74 .in.the.table.below..The.default
2fb80 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6c 65 76 65 6c 0a 20 20 20 20 20 69 73 20 27 2d 36 27 2e .compression.level......is.'-6'.
2fba0 20 20 4e 6f 74 65 20 74 68 61 74 20 27 2d 39 27 20 63 61 6e 20 62 65 20 6d 75 63 68 20 73 6c 6f ..Note.that.'-9'.can.be.much.slo
2fbc0 77 65 72 20 74 68 61 6e 20 27 2d 30 27 2e 20 54 68 65 73 65 0a 20 20 20 20 20 6f 70 74 69 6f 6e wer.than.'-0'..These......option
2fbe0 73 20 68 61 76 65 20 6e 6f 20 65 66 66 65 63 74 20 77 68 65 6e 20 64 65 63 6f 6d 70 72 65 73 73 s.have.no.effect.when.decompress
2fc00 69 6e 67 2c 20 74 65 73 74 69 6e 67 20 6f 72 20 6c 69 73 74 69 6e 67 2e 0a 0a 20 20 20 20 20 54 ing,.testing.or.listing........T
2fc20 68 65 20 62 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 20 70 61 72 61 6d 65 74 65 72 20 73 70 61 63 65 he.bidimensional.parameter.space
2fc40 20 6f 66 20 4c 5a 4d 41 20 63 61 6e 27 74 20 62 65 20 6d 61 70 70 65 64 20 74 6f 20 61 0a 20 20 .of.LZMA.can't.be.mapped.to.a...
2fc60 20 20 20 6c 69 6e 65 61 72 20 73 63 61 6c 65 20 6f 70 74 69 6d 61 6c 20 66 6f 72 20 61 6c 6c 20 ...linear.scale.optimal.for.all.
2fc80 66 69 6c 65 73 2e 20 49 66 20 79 6f 75 72 20 66 69 6c 65 73 20 61 72 65 20 6c 61 72 67 65 2c 20 files..If.your.files.are.large,.
2fca0 76 65 72 79 0a 20 20 20 20 20 72 65 70 65 74 69 74 69 76 65 2c 20 65 74 63 2c 20 79 6f 75 20 6d very......repetitive,.etc,.you.m
2fcc0 61 79 20 6e 65 65 64 20 74 6f 20 75 73 65 20 74 68 65 20 27 2d 2d 64 69 63 74 69 6f 6e 61 72 79 ay.need.to.use.the.'--dictionary
2fce0 2d 73 69 7a 65 27 20 61 6e 64 0a 20 20 20 20 20 27 2d 2d 6d 61 74 63 68 2d 6c 65 6e 67 74 68 27 -size'.and......'--match-length'
2fd00 20 6f 70 74 69 6f 6e 73 20 64 69 72 65 63 74 6c 79 20 74 6f 20 61 63 68 69 65 76 65 20 6f 70 74 .options.directly.to.achieve.opt
2fd20 69 6d 61 6c 20 70 65 72 66 6f 72 6d 61 6e 63 65 2e 0a 0a 20 20 20 20 20 4c 65 76 65 6c 20 20 20 imal.performance........Level...
2fd40 44 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 20 20 4d 61 74 63 68 20 6c 65 6e 67 74 68 20 6c Dictionary.size...Match.length.l
2fd60 69 6d 69 74 0a 20 20 20 20 20 2d 30 20 20 20 20 20 20 36 34 20 4b 69 42 20 20 20 20 20 20 20 20 imit......-0......64.KiB........
2fd80 20 20 20 20 31 36 20 62 79 74 65 73 0a 20 20 20 20 20 2d 31 20 20 20 20 20 20 31 20 4d 69 42 20 ....16.bytes......-1......1.MiB.
2fda0 20 20 20 20 20 20 20 20 20 20 20 20 35 20 62 79 74 65 73 0a 20 20 20 20 20 2d 32 20 20 20 20 20 ............5.bytes......-2.....
2fdc0 20 31 2e 35 20 4d 69 42 20 20 20 20 20 20 20 20 20 20 20 36 20 62 79 74 65 73 0a 20 20 20 20 20 .1.5.MiB...........6.bytes......
2fde0 2d 33 20 20 20 20 20 20 32 20 4d 69 42 20 20 20 20 20 20 20 20 20 20 20 20 20 38 20 62 79 74 65 -3......2.MiB.............8.byte
2fe00 73 0a 20 20 20 20 20 2d 34 20 20 20 20 20 20 33 20 4d 69 42 20 20 20 20 20 20 20 20 20 20 20 20 s......-4......3.MiB............
2fe20 20 31 32 20 62 79 74 65 73 0a 20 20 20 20 20 2d 35 20 20 20 20 20 20 34 20 4d 69 42 20 20 20 20 .12.bytes......-5......4.MiB....
2fe40 20 20 20 20 20 20 20 20 20 32 30 20 62 79 74 65 73 0a 20 20 20 20 20 2d 36 20 20 20 20 20 20 38 .........20.bytes......-6......8
2fe60 20 4d 69 42 20 20 20 20 20 20 20 20 20 20 20 20 20 33 36 20 62 79 74 65 73 0a 20 20 20 20 20 2d .MiB.............36.bytes......-
2fe80 37 20 20 20 20 20 20 31 36 20 4d 69 42 20 20 20 20 20 20 20 20 20 20 20 20 36 38 20 62 79 74 65 7......16.MiB............68.byte
2fea0 73 0a 20 20 20 20 20 2d 38 20 20 20 20 20 20 32 34 20 4d 69 42 20 20 20 20 20 20 20 20 20 20 20 s......-8......24.MiB...........
2fec0 20 31 33 32 20 62 79 74 65 73 0a 20 20 20 20 20 2d 39 20 20 20 20 20 20 33 32 20 4d 69 42 20 20 .132.bytes......-9......32.MiB..
2fee0 20 20 20 20 20 20 20 20 20 20 32 37 33 20 62 79 74 65 73 0a 0a 27 2d 2d 66 61 73 74 27 0a 27 2d ..........273.bytes..'--fast'.'-
2ff00 2d 62 65 73 74 27 0a 20 20 20 20 20 41 6c 69 61 73 65 73 20 66 6f 72 20 47 4e 55 20 67 7a 69 70 -best'......Aliases.for.GNU.gzip
2ff20 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 2e 0a 0a 27 2d 2d 6c 6f 6f 73 65 2d 74 72 61 69 6c 69 .compatibility...'--loose-traili
2ff40 6e 67 27 0a 20 20 20 20 20 57 68 65 6e 20 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 2c 20 74 65 73 ng'......When.decompressing,.tes
2ff60 74 69 6e 67 20 6f 72 20 6c 69 73 74 69 6e 67 2c 20 61 6c 6c 6f 77 20 74 72 61 69 6c 69 6e 67 20 ting.or.listing,.allow.trailing.
2ff80 64 61 74 61 20 77 68 6f 73 65 0a 20 20 20 20 20 66 69 72 73 74 20 62 79 74 65 73 20 61 72 65 20 data.whose......first.bytes.are.
2ffa0 73 6f 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 65 20 6d 61 67 69 63 20 62 79 74 65 73 20 6f 66 so.similar.to.the.magic.bytes.of
2ffc0 20 61 20 6c 7a 69 70 20 68 65 61 64 65 72 0a 20 20 20 20 20 74 68 61 74 20 74 68 65 79 20 63 61 .a.lzip.header......that.they.ca
2ffe0 6e 20 62 65 20 63 6f 6e 66 75 73 65 64 20 77 69 74 68 20 61 20 63 6f 72 72 75 70 74 20 68 65 61 n.be.confused.with.a.corrupt.hea
30000 64 65 72 2e 20 55 73 65 20 74 68 69 73 20 6f 70 74 69 6f 6e 0a 20 20 20 20 20 69 66 20 61 20 66 der..Use.this.option......if.a.f
30020 69 6c 65 20 74 72 69 67 67 65 72 73 20 61 20 22 63 6f 72 72 75 70 74 20 68 65 61 64 65 72 22 20 ile.triggers.a."corrupt.header".
30040 65 72 72 6f 72 20 61 6e 64 20 74 68 65 20 63 61 75 73 65 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 error.and.the.cause.is.not......
30060 69 6e 64 65 65 64 20 61 20 63 6f 72 72 75 70 74 20 68 65 61 64 65 72 2e 0a 0a 0a 20 20 20 4e 75 indeed.a.corrupt.header.......Nu
30080 6d 62 65 72 73 20 67 69 76 65 6e 20 61 73 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 6f 70 74 69 mbers.given.as.arguments.to.opti
300a0 6f 6e 73 20 6d 61 79 20 62 65 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 20 6d 75 6c 74 69 70 6c ons.may.be.followed.by.a.multipl
300c0 69 65 72 0a 61 6e 64 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 27 42 27 20 66 6f 72 20 22 62 79 74 ier.and.an.optional.'B'.for."byt
300e0 65 22 2e 0a 0a 20 20 20 54 61 62 6c 65 20 6f 66 20 53 49 20 61 6e 64 20 62 69 6e 61 72 79 20 70 e"......Table.of.SI.and.binary.p
30100 72 65 66 69 78 65 73 20 28 75 6e 69 74 20 6d 75 6c 74 69 70 6c 69 65 72 73 29 3a 0a 0a 50 72 65 refixes.(unit.multipliers):..Pre
30120 66 69 78 20 20 20 56 61 6c 75 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 fix...Value.....................
30140 7c 20 20 20 50 72 65 66 69 78 20 20 20 56 61 6c 75 65 0a 6b 20 20 20 20 20 20 20 20 6b 69 6c 6f |...Prefix...Value.k........kilo
30160 62 79 74 65 20 20 28 31 30 5e 33 20 3d 20 31 30 30 30 29 20 20 20 7c 20 20 20 4b 69 20 20 20 20 byte..(10^3.=.1000)...|...Ki....
30180 20 20 20 6b 69 62 69 62 79 74 65 20 28 32 5e 31 30 20 3d 20 31 30 32 34 29 0a 4d 20 20 20 20 20 ...kibibyte.(2^10.=.1024).M.....
301a0 20 20 20 6d 65 67 61 62 79 74 65 20 20 28 31 30 5e 36 29 20 20 20 20 20 20 20 20 20 20 7c 20 20 ...megabyte..(10^6)..........|..
301c0 20 4d 69 20 20 20 20 20 20 20 6d 65 62 69 62 79 74 65 20 28 32 5e 32 30 29 0a 47 20 20 20 20 20 .Mi.......mebibyte.(2^20).G.....
301e0 20 20 20 67 69 67 61 62 79 74 65 20 20 28 31 30 5e 39 29 20 20 20 20 20 20 20 20 20 20 7c 20 20 ...gigabyte..(10^9)..........|..
30200 20 47 69 20 20 20 20 20 20 20 67 69 62 69 62 79 74 65 20 28 32 5e 33 30 29 0a 54 20 20 20 20 20 .Gi.......gibibyte.(2^30).T.....
30220 20 20 20 74 65 72 61 62 79 74 65 20 20 28 31 30 5e 31 32 29 20 20 20 20 20 20 20 20 20 7c 20 20 ...terabyte..(10^12).........|..
30240 20 54 69 20 20 20 20 20 20 20 74 65 62 69 62 79 74 65 20 28 32 5e 34 30 29 0a 50 20 20 20 20 20 .Ti.......tebibyte.(2^40).P.....
30260 20 20 20 70 65 74 61 62 79 74 65 20 20 28 31 30 5e 31 35 29 20 20 20 20 20 20 20 20 20 7c 20 20 ...petabyte..(10^15).........|..
30280 20 50 69 20 20 20 20 20 20 20 70 65 62 69 62 79 74 65 20 28 32 5e 35 30 29 0a 45 20 20 20 20 20 .Pi.......pebibyte.(2^50).E.....
302a0 20 20 20 65 78 61 62 79 74 65 20 20 20 28 31 30 5e 31 38 29 20 20 20 20 20 20 20 20 20 7c 20 20 ...exabyte...(10^18).........|..
302c0 20 45 69 20 20 20 20 20 20 20 65 78 62 69 62 79 74 65 20 28 32 5e 36 30 29 0a 5a 20 20 20 20 20 .Ei.......exbibyte.(2^60).Z.....
302e0 20 20 20 7a 65 74 74 61 62 79 74 65 20 28 31 30 5e 32 31 29 20 20 20 20 20 20 20 20 20 7c 20 20 ...zettabyte.(10^21).........|..
30300 20 5a 69 20 20 20 20 20 20 20 7a 65 62 69 62 79 74 65 20 28 32 5e 37 30 29 0a 59 20 20 20 20 20 .Zi.......zebibyte.(2^70).Y.....
30320 20 20 20 79 6f 74 74 61 62 79 74 65 20 28 31 30 5e 32 34 29 20 20 20 20 20 20 20 20 20 7c 20 20 ...yottabyte.(10^24).........|..
30340 20 59 69 20 20 20 20 20 20 20 79 6f 62 69 62 79 74 65 20 28 32 5e 38 30 29 0a 0a 0a 20 20 20 45 .Yi.......yobibyte.(2^80)......E
30360 78 69 74 20 73 74 61 74 75 73 3a 20 30 20 66 6f 72 20 61 20 6e 6f 72 6d 61 6c 20 65 78 69 74 2c xit.status:.0.for.a.normal.exit,
30380 20 31 20 66 6f 72 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 61 6c 20 70 72 6f 62 6c 65 6d 73 20 28 66 .1.for.environmental.problems.(f
303a0 69 6c 65 0a 6e 6f 74 20 66 6f 75 6e 64 2c 20 69 6e 76 61 6c 69 64 20 66 6c 61 67 73 2c 20 49 2f ile.not.found,.invalid.flags,.I/
303c0 4f 20 65 72 72 6f 72 73 2c 20 65 74 63 29 2c 20 32 20 74 6f 20 69 6e 64 69 63 61 74 65 20 61 20 O.errors,.etc),.2.to.indicate.a.
303e0 63 6f 72 72 75 70 74 20 6f 72 0a 69 6e 76 61 6c 69 64 20 69 6e 70 75 74 20 66 69 6c 65 2c 20 33 corrupt.or.invalid.input.file,.3
30400 20 66 6f 72 20 61 6e 20 69 6e 74 65 72 6e 61 6c 20 63 6f 6e 73 69 73 74 65 6e 63 79 20 65 72 72 .for.an.internal.consistency.err
30420 6f 72 20 28 65 67 2c 20 62 75 67 29 20 77 68 69 63 68 0a 63 61 75 73 65 64 20 6c 7a 69 70 20 74 or.(eg,.bug).which.caused.lzip.t
30440 6f 20 70 61 6e 69 63 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 6c 7a 69 70 2e 69 6e 66 6f 2c 20 20 4e 6f o.panic.....File:.lzip.info,..No
30460 64 65 3a 20 51 75 61 6c 69 74 79 20 61 73 73 75 72 61 6e 63 65 2c 20 20 4e 65 78 74 3a 20 46 69 de:.Quality.assurance,..Next:.Fi
30480 6c 65 20 66 6f 72 6d 61 74 2c 20 20 50 72 65 76 3a 20 49 6e 76 6f 6b 69 6e 67 20 6c 7a 69 70 2c le.format,..Prev:.Invoking.lzip,
304a0 20 20 55 70 3a 20 54 6f 70 0a 0a 34 20 44 65 73 69 67 6e 2c 20 64 65 76 65 6c 6f 70 6d 65 6e 74 ..Up:.Top..4.Design,.development
304c0 20 61 6e 64 20 74 65 73 74 69 6e 67 20 6f 66 20 6c 7a 69 70 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a .and.testing.of.lzip.***********
304e0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a ******************************..
30500 54 68 65 72 65 20 61 72 65 20 74 77 6f 20 77 61 79 73 20 6f 66 20 63 6f 6e 73 74 72 75 63 74 69 There.are.two.ways.of.constructi
30520 6e 67 20 61 20 73 6f 66 74 77 61 72 65 20 64 65 73 69 67 6e 3a 20 4f 6e 65 20 77 61 79 20 69 73 ng.a.software.design:.One.way.is
30540 20 74 6f 20 6d 61 6b 65 0a 69 74 20 73 6f 20 73 69 6d 70 6c 65 20 74 68 61 74 20 74 68 65 72 65 .to.make.it.so.simple.that.there
30560 20 61 72 65 20 6f 62 76 69 6f 75 73 6c 79 20 6e 6f 20 64 65 66 69 63 69 65 6e 63 69 65 73 20 61 .are.obviously.no.deficiencies.a
30580 6e 64 20 74 68 65 20 6f 74 68 65 72 20 77 61 79 0a 69 73 20 74 6f 20 6d 61 6b 65 20 69 74 20 73 nd.the.other.way.is.to.make.it.s
305a0 6f 20 63 6f 6d 70 6c 69 63 61 74 65 64 20 74 68 61 74 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 o.complicated.that.there.are.no.
305c0 6f 62 76 69 6f 75 73 20 64 65 66 69 63 69 65 6e 63 69 65 73 2e 20 54 68 65 0a 66 69 72 73 74 20 obvious.deficiencies..The.first.
305e0 6d 65 74 68 6f 64 20 69 73 20 66 61 72 20 6d 6f 72 65 20 64 69 66 66 69 63 75 6c 74 2e 0a 2d 2d method.is.far.more.difficult..--
30600 20 43 2e 41 2e 52 2e 20 48 6f 61 72 65 0a 0a 20 20 20 4c 7a 69 70 20 68 61 73 20 62 65 65 6e 20 .C.A.R..Hoare.....Lzip.has.been.
30620 64 65 73 69 67 6e 65 64 2c 20 77 72 69 74 74 65 6e 20 61 6e 64 20 74 65 73 74 65 64 20 77 69 74 designed,.written.and.tested.wit
30640 68 20 67 72 65 61 74 20 63 61 72 65 20 74 6f 20 62 65 20 74 68 65 0a 73 74 61 6e 64 61 72 64 20 h.great.care.to.be.the.standard.
30660 67 65 6e 65 72 61 6c 2d 70 75 72 70 6f 73 65 20 63 6f 6d 70 72 65 73 73 6f 72 20 66 6f 72 20 75 general-purpose.compressor.for.u
30680 6e 69 78 2d 6c 69 6b 65 20 73 79 73 74 65 6d 73 2e 20 54 68 69 73 20 63 68 61 70 74 65 72 0a 64 nix-like.systems..This.chapter.d
306a0 65 73 63 72 69 62 65 73 20 74 68 65 20 6c 65 73 73 6f 6e 73 20 6c 65 61 72 6e 65 64 20 66 72 6f escribes.the.lessons.learned.fro
306c0 6d 20 70 72 65 76 69 6f 75 73 20 63 6f 6d 70 72 65 73 73 6f 72 73 20 28 67 7a 69 70 20 61 6e 64 m.previous.compressors.(gzip.and
306e0 0a 62 7a 69 70 32 29 2c 20 61 6e 64 20 74 68 65 69 72 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 74 .bzip2),.and.their.application.t
30700 6f 20 74 68 65 20 64 65 73 69 67 6e 20 6f 66 20 6c 7a 69 70 2e 0a 0a 0a 34 2e 31 20 46 6f 72 6d o.the.design.of.lzip....4.1.Form
30720 61 74 20 64 65 73 69 67 6e 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 57 68 65 at.design.=================..Whe
30740 6e 20 67 7a 69 70 20 77 61 73 20 64 65 73 69 67 6e 65 64 20 69 6e 20 31 39 39 32 2c 20 63 6f 6d n.gzip.was.designed.in.1992,.com
30760 70 75 74 65 72 73 20 61 6e 64 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 73 20 77 65 72 puters.and.operating.systems.wer
30780 65 0a 6d 75 63 68 20 6c 65 73 73 20 63 61 70 61 62 6c 65 20 74 68 61 6e 20 74 68 65 79 20 61 72 e.much.less.capable.than.they.ar
307a0 65 20 74 6f 64 61 79 2e 20 47 7a 69 70 20 74 72 69 65 64 20 74 6f 20 77 6f 72 6b 20 61 72 6f 75 e.today..Gzip.tried.to.work.arou
307c0 6e 64 20 73 6f 6d 65 20 6f 66 0a 74 68 6f 73 65 20 6c 69 6d 69 74 61 74 69 6f 6e 73 2c 20 6c 69 nd.some.of.those.limitations,.li
307e0 6b 65 20 38 2e 33 20 66 69 6c 65 20 6e 61 6d 65 73 2c 20 77 69 74 68 20 61 64 64 69 74 69 6f 6e ke.8.3.file.names,.with.addition
30800 61 6c 20 66 69 65 6c 64 73 20 69 6e 20 69 74 73 0a 66 69 6c 65 20 66 6f 72 6d 61 74 2e 0a 0a 20 al.fields.in.its.file.format....
30820 20 20 54 6f 64 61 79 20 74 68 6f 73 65 20 6c 69 6d 69 74 61 74 69 6f 6e 73 20 68 61 76 65 20 6d ..Today.those.limitations.have.m
30840 6f 73 74 6c 79 20 64 69 73 61 70 70 65 61 72 65 64 2c 20 61 6e 64 20 74 68 65 20 66 6f 72 6d 61 ostly.disappeared,.and.the.forma
30860 74 20 6f 66 0a 67 7a 69 70 20 68 61 73 20 70 72 6f 76 65 64 20 74 6f 20 62 65 20 75 6e 6e 65 63 t.of.gzip.has.proved.to.be.unnec
30880 65 73 73 61 72 69 6c 79 20 63 6f 6d 70 6c 69 63 61 74 65 64 2e 20 49 74 20 69 6e 63 6c 75 64 65 essarily.complicated..It.include
308a0 73 20 66 69 65 6c 64 73 0a 74 68 61 74 20 77 65 72 65 20 6e 65 76 65 72 20 75 73 65 64 2c 20 6f s.fields.that.were.never.used,.o
308c0 74 68 65 72 73 20 74 68 61 74 20 68 61 76 65 20 6c 6f 73 74 20 74 68 65 69 72 20 75 73 65 66 75 thers.that.have.lost.their.usefu
308e0 6c 6e 65 73 73 2c 20 61 6e 64 0a 66 69 6e 61 6c 6c 79 20 6f 74 68 65 72 73 20 74 68 61 74 20 68 lness,.and.finally.others.that.h
30900 61 76 65 20 62 65 63 6f 6d 65 20 74 6f 6f 20 6c 69 6d 69 74 65 64 2e 0a 0a 20 20 20 42 7a 69 70 ave.become.too.limited......Bzip
30920 32 20 77 61 73 20 64 65 73 69 67 6e 65 64 20 35 20 79 65 61 72 73 20 6c 61 74 65 72 2c 20 61 6e 2.was.designed.5.years.later,.an
30940 64 20 69 74 73 20 66 6f 72 6d 61 74 20 69 73 20 73 69 6d 70 6c 65 72 20 74 68 61 6e 20 74 68 65 d.its.format.is.simpler.than.the
30960 0a 6f 6e 65 20 6f 66 20 67 7a 69 70 2e 0a 0a 20 20 20 50 72 6f 62 61 62 6c 79 20 74 68 65 20 77 .one.of.gzip......Probably.the.w
30980 6f 72 73 74 20 64 65 66 65 63 74 20 6f 66 20 74 68 65 20 67 7a 69 70 20 66 6f 72 6d 61 74 20 66 orst.defect.of.the.gzip.format.f
309a0 72 6f 6d 20 74 68 65 20 70 6f 69 6e 74 20 6f 66 20 76 69 65 77 0a 6f 66 20 64 61 74 61 20 73 61 rom.the.point.of.view.of.data.sa
309c0 66 65 74 79 20 69 73 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 73 69 7a 65 20 6f 66 20 69 74 73 fety.is.the.variable.size.of.its
309e0 20 68 65 61 64 65 72 2e 20 49 66 20 74 68 65 20 62 79 74 65 20 61 74 0a 6f 66 66 73 65 74 20 33 .header..If.the.byte.at.offset.3
30a00 20 28 66 6c 61 67 73 29 20 6f 66 20 61 20 67 7a 69 70 20 6d 65 6d 62 65 72 20 67 65 74 73 20 63 .(flags).of.a.gzip.member.gets.c
30a20 6f 72 72 75 70 74 65 64 2c 20 69 74 20 6d 61 79 20 62 65 63 6f 6d 65 0a 64 69 66 66 69 63 75 6c orrupted,.it.may.become.difficul
30a40 74 20 74 6f 20 72 65 63 6f 76 65 72 20 74 68 65 20 64 61 74 61 2c 20 65 76 65 6e 20 69 66 20 74 t.to.recover.the.data,.even.if.t
30a60 68 65 20 63 6f 6d 70 72 65 73 73 65 64 20 62 6c 6f 63 6b 73 20 61 72 65 0a 69 6e 74 61 63 74 2c he.compressed.blocks.are.intact,
30a80 20 62 65 63 61 75 73 65 20 69 74 20 63 61 6e 27 74 20 62 65 20 6b 6e 6f 77 6e 20 77 69 74 68 20 .because.it.can't.be.known.with.
30aa0 63 65 72 74 61 69 6e 74 79 20 77 68 65 72 65 20 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 0a 62 certainty.where.the.compressed.b
30ac0 6c 6f 63 6b 73 20 62 65 67 69 6e 2e 0a 0a 20 20 20 42 79 20 63 6f 6e 74 72 61 73 74 2c 20 74 68 locks.begin......By.contrast,.th
30ae0 65 20 68 65 61 64 65 72 20 6f 66 20 61 20 6c 7a 69 70 20 6d 65 6d 62 65 72 20 68 61 73 20 61 20 e.header.of.a.lzip.member.has.a.
30b00 66 69 78 65 64 20 6c 65 6e 67 74 68 20 6f 66 20 36 2e 20 54 68 65 0a 4c 5a 4d 41 20 73 74 72 65 fixed.length.of.6..The.LZMA.stre
30b20 61 6d 20 69 6e 20 61 20 6c 7a 69 70 20 6d 65 6d 62 65 72 20 61 6c 77 61 79 73 20 73 74 61 72 74 am.in.a.lzip.member.always.start
30b40 73 20 61 74 20 6f 66 66 73 65 74 20 36 2c 20 6d 61 6b 69 6e 67 20 69 74 0a 74 72 69 76 69 61 6c s.at.offset.6,.making.it.trivial
30b60 20 74 6f 20 72 65 63 6f 76 65 72 20 74 68 65 20 64 61 74 61 20 65 76 65 6e 20 69 66 20 74 68 65 .to.recover.the.data.even.if.the
30b80 20 77 68 6f 6c 65 20 68 65 61 64 65 72 20 62 65 63 6f 6d 65 73 20 63 6f 72 72 75 70 74 2e 0a 0a .whole.header.becomes.corrupt...
30ba0 20 20 20 42 7a 69 70 32 20 61 6c 73 6f 20 70 72 6f 76 69 64 65 73 20 61 20 68 65 61 64 65 72 20 ...Bzip2.also.provides.a.header.
30bc0 6f 66 20 66 69 78 65 64 20 6c 65 6e 67 74 68 20 61 6e 64 20 6d 61 72 6b 73 20 74 68 65 20 62 65 of.fixed.length.and.marks.the.be
30be0 67 69 6e 20 61 6e 64 0a 65 6e 64 20 6f 66 20 65 61 63 68 20 63 6f 6d 70 72 65 73 73 65 64 20 62 gin.and.end.of.each.compressed.b
30c00 6c 6f 63 6b 20 77 69 74 68 20 73 69 78 20 6d 61 67 69 63 20 62 79 74 65 73 2c 20 6d 61 6b 69 6e lock.with.six.magic.bytes,.makin
30c20 67 20 69 74 20 70 6f 73 73 69 62 6c 65 20 74 6f 0a 66 69 6e 64 20 74 68 65 20 63 6f 6d 70 72 65 g.it.possible.to.find.the.compre
30c40 73 73 65 64 20 62 6c 6f 63 6b 73 20 65 76 65 6e 20 69 6e 20 63 61 73 65 20 6f 66 20 66 69 6c 65 ssed.blocks.even.in.case.of.file
30c60 20 64 61 6d 61 67 65 2e 20 42 75 74 20 62 7a 69 70 32 20 64 6f 65 73 0a 6e 6f 74 20 73 74 6f 72 .damage..But.bzip2.does.not.stor
30c80 65 20 74 68 65 20 73 69 7a 65 20 6f 66 20 65 61 63 68 20 63 6f 6d 70 72 65 73 73 65 64 20 62 6c e.the.size.of.each.compressed.bl
30ca0 6f 63 6b 2c 20 61 73 20 6c 7a 69 70 20 64 6f 65 73 2e 0a 0a 20 20 20 4c 7a 69 70 20 70 72 6f 76 ock,.as.lzip.does......Lzip.prov
30cc0 69 64 65 73 20 62 65 74 74 65 72 20 64 61 74 61 20 72 65 63 6f 76 65 72 79 20 63 61 70 61 62 69 ides.better.data.recovery.capabi
30ce0 6c 69 74 69 65 73 20 74 68 61 6e 20 61 6e 79 20 6f 74 68 65 72 0a 67 7a 69 70 2d 6c 69 6b 65 20 lities.than.any.other.gzip-like.
30d00 63 6f 6d 70 72 65 73 73 6f 72 20 62 65 63 61 75 73 65 20 69 74 73 20 66 6f 72 6d 61 74 20 68 61 compressor.because.its.format.ha
30d20 73 20 62 65 65 6e 20 64 65 73 69 67 6e 65 64 20 66 72 6f 6d 20 74 68 65 0a 62 65 67 69 6e 6e 69 s.been.designed.from.the.beginni
30d40 6e 67 20 74 6f 20 62 65 20 73 69 6d 70 6c 65 20 61 6e 64 20 73 61 66 65 2e 20 49 74 20 61 6c 73 ng.to.be.simple.and.safe..It.als
30d60 6f 20 68 65 6c 70 73 20 74 68 61 74 20 74 68 65 20 4c 5a 4d 41 20 64 61 74 61 0a 73 74 72 65 61 o.helps.that.the.LZMA.data.strea
30d80 6d 20 61 73 20 75 73 65 64 20 62 79 20 6c 7a 69 70 20 69 73 20 65 78 74 72 61 6f 72 64 69 6e 61 m.as.used.by.lzip.is.extraordina
30da0 72 69 6c 79 20 73 61 66 65 2e 20 49 74 20 70 72 6f 76 69 64 65 73 20 65 6d 62 65 64 64 65 64 0a rily.safe..It.provides.embedded.
30dc0 65 72 72 6f 72 20 64 65 74 65 63 74 69 6f 6e 2e 20 41 6e 79 20 64 69 73 74 61 6e 63 65 20 6c 61 error.detection..Any.distance.la
30de0 72 67 65 72 20 74 68 61 6e 20 74 68 65 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 61 63 rger.than.the.dictionary.size.ac
30e00 74 73 20 61 73 20 61 0a 66 6f 72 62 69 64 64 65 6e 20 73 79 6d 62 6f 6c 2c 20 61 6c 6c 6f 77 69 ts.as.a.forbidden.symbol,.allowi
30e20 6e 67 20 74 68 65 20 64 65 63 6f 6d 70 72 65 73 73 6f 72 20 74 6f 20 64 65 74 65 63 74 20 74 68 ng.the.decompressor.to.detect.th
30e40 65 20 61 70 70 72 6f 78 69 6d 61 74 65 0a 70 6f 73 69 74 69 6f 6e 20 6f 66 20 65 72 72 6f 72 73 e.approximate.position.of.errors
30e60 2c 20 61 6e 64 20 6c 65 61 76 69 6e 67 20 76 65 72 79 20 6c 69 74 74 6c 65 20 77 6f 72 6b 20 66 ,.and.leaving.very.little.work.f
30e80 6f 72 20 74 68 65 20 63 68 65 63 6b 20 73 65 71 75 65 6e 63 65 0a 28 43 52 43 20 61 6e 64 20 64 or.the.check.sequence.(CRC.and.d
30ea0 61 74 61 20 73 69 7a 65 73 29 20 69 6e 20 74 68 65 20 64 65 74 65 63 74 69 6f 6e 20 6f 66 20 65 ata.sizes).in.the.detection.of.e
30ec0 72 72 6f 72 73 2e 20 4c 7a 69 70 20 69 73 20 75 73 75 61 6c 6c 79 20 61 62 6c 65 0a 74 6f 20 64 rrors..Lzip.is.usually.able.to.d
30ee0 65 74 65 63 74 20 61 6c 6c 20 70 6f 73 69 62 6c 65 20 62 69 74 20 66 6c 69 70 73 20 69 6e 20 74 etect.all.posible.bit.flips.in.t
30f00 68 65 20 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 20 77 69 74 68 6f 75 74 0a 72 65 73 6f 72 he.compressed.data.without.resor
30f20 74 69 6e 67 20 74 6f 20 74 68 65 20 63 68 65 63 6b 20 73 65 71 75 65 6e 63 65 2e 20 49 74 20 77 ting.to.the.check.sequence..It.w
30f40 6f 75 6c 64 20 62 65 20 64 69 66 66 69 63 75 6c 74 20 74 6f 20 77 72 69 74 65 20 61 6e 0a 61 75 ould.be.difficult.to.write.an.au
30f60 74 6f 6d 61 74 69 63 20 72 65 63 6f 76 65 72 79 20 74 6f 6f 6c 20 6c 69 6b 65 20 6c 7a 69 70 72 tomatic.recovery.tool.like.lzipr
30f80 65 63 6f 76 65 72 20 66 6f 72 20 74 68 65 20 67 7a 69 70 20 66 6f 72 6d 61 74 2e 20 41 6e 64 2c ecover.for.the.gzip.format..And,
30fa0 20 61 73 0a 66 61 72 20 61 73 20 49 20 6b 6e 6f 77 2c 20 69 74 20 68 61 73 20 6e 65 76 65 72 20 .as.far.as.I.know,.it.has.never.
30fc0 62 65 65 6e 20 77 72 69 74 74 65 6e 2e 0a 0a 20 20 20 4c 7a 69 70 2c 20 6c 69 6b 65 20 67 7a 69 been.written......Lzip,.like.gzi
30fe0 70 20 61 6e 64 20 62 7a 69 70 32 2c 20 75 73 65 73 20 61 20 43 52 43 33 32 20 74 6f 20 63 68 65 p.and.bzip2,.uses.a.CRC32.to.che
31000 63 6b 20 74 68 65 20 69 6e 74 65 67 72 69 74 79 20 6f 66 20 74 68 65 0a 64 65 63 6f 6d 70 72 65 ck.the.integrity.of.the.decompre
31020 73 73 65 64 20 64 61 74 61 20 62 65 63 61 75 73 65 20 69 74 20 70 72 6f 76 69 64 65 73 20 6d 6f ssed.data.because.it.provides.mo
31040 72 65 20 61 63 63 75 72 61 74 65 20 65 72 72 6f 72 20 64 65 74 65 63 74 69 6f 6e 20 74 68 61 6e re.accurate.error.detection.than
31060 0a 43 52 43 36 34 20 75 70 20 74 6f 20 61 20 63 6f 6d 70 72 65 73 73 65 64 20 73 69 7a 65 20 6f .CRC64.up.to.a.compressed.size.o
31080 66 20 61 62 6f 75 74 20 31 36 20 47 69 42 2c 20 61 20 73 69 7a 65 20 6c 61 72 67 65 72 20 74 68 f.about.16.GiB,.a.size.larger.th
310a0 61 6e 20 74 68 61 74 0a 6f 66 20 6d 6f 73 74 20 66 69 6c 65 73 2e 20 49 6e 20 74 68 65 20 63 61 an.that.of.most.files..In.the.ca
310c0 73 65 20 6f 66 20 6c 7a 69 70 2c 20 74 68 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 64 65 74 65 63 se.of.lzip,.the.additional.detec
310e0 74 69 6f 6e 20 63 61 70 61 62 69 6c 69 74 79 0a 6f 66 20 74 68 65 20 64 65 63 6f 6d 70 72 65 73 tion.capability.of.the.decompres
31100 73 6f 72 20 72 65 64 75 63 65 73 20 74 68 65 20 70 72 6f 62 61 62 69 6c 69 74 79 20 6f 66 20 75 sor.reduces.the.probability.of.u
31120 6e 64 65 74 65 63 74 65 64 20 65 72 72 6f 72 73 20 6d 6f 72 65 0a 74 68 61 6e 20 61 20 6d 69 6c ndetected.errors.more.than.a.mil
31140 6c 69 6f 6e 20 74 69 6d 65 73 20 62 65 79 6f 6e 64 20 77 68 61 74 20 74 68 65 20 43 52 43 33 32 lion.times.beyond.what.the.CRC32
31160 20 61 6c 6f 6e 65 20 70 72 6f 76 69 64 65 73 2e 0a 0a 20 20 20 54 68 65 20 6c 7a 69 70 20 66 6f .alone.provides......The.lzip.fo
31180 72 6d 61 74 20 69 73 20 64 65 73 69 67 6e 65 64 20 66 6f 72 20 6c 6f 6e 67 2d 74 65 72 6d 20 61 rmat.is.designed.for.long-term.a
311a0 72 63 68 69 76 69 6e 67 2e 20 54 68 65 72 65 66 6f 72 65 20 69 74 0a 65 78 63 6c 75 64 65 73 20 rchiving..Therefore.it.excludes.
311c0 61 6e 79 20 75 6e 6e 65 65 64 65 64 20 66 65 61 74 75 72 65 73 20 74 68 61 74 20 6d 61 79 20 69 any.unneeded.features.that.may.i
311e0 6e 74 65 72 66 65 72 65 20 77 69 74 68 20 74 68 65 20 66 75 74 75 72 65 0a 65 78 74 72 61 63 74 nterfere.with.the.future.extract
31200 69 6f 6e 20 6f 66 20 74 68 65 20 64 65 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 2e 0a 0a 0a ion.of.the.decompressed.data....
31220 34 2e 31 2e 31 20 47 7a 69 70 20 66 6f 72 6d 61 74 20 28 6d 69 73 29 66 65 61 74 75 72 65 73 20 4.1.1.Gzip.format.(mis)features.
31240 6e 6f 74 20 70 72 65 73 65 6e 74 20 69 6e 20 6c 7a 69 70 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d not.present.in.lzip.------------
31260 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
31280 2d 2d 2d 2d 2d 2d 2d 0a 0a 27 4d 75 6c 74 69 70 6c 65 20 61 6c 67 6f 72 69 74 68 6d 73 27 0a 20 -------..'Multiple.algorithms'..
312a0 20 20 20 20 47 7a 69 70 20 70 72 6f 76 69 64 65 73 20 61 20 43 4d 20 28 43 6f 6d 70 72 65 73 73 ....Gzip.provides.a.CM.(Compress
312c0 69 6f 6e 20 4d 65 74 68 6f 64 29 20 66 69 65 6c 64 20 74 68 61 74 20 68 61 73 20 6e 65 76 65 72 ion.Method).field.that.has.never
312e0 20 62 65 65 6e 0a 20 20 20 20 20 75 73 65 64 20 62 65 63 61 75 73 65 20 69 74 20 69 73 20 61 20 .been......used.because.it.is.a.
31300 62 61 64 20 69 64 65 61 20 74 6f 20 62 65 67 69 6e 20 77 69 74 68 2e 20 4e 65 77 20 63 6f 6d 70 bad.idea.to.begin.with..New.comp
31320 72 65 73 73 69 6f 6e 0a 20 20 20 20 20 6d 65 74 68 6f 64 73 20 6d 61 79 20 72 65 71 75 69 72 65 ression......methods.may.require
31340 20 61 64 64 69 74 69 6f 6e 61 6c 20 66 69 65 6c 64 73 2c 20 6d 61 6b 69 6e 67 20 69 74 20 69 6d .additional.fields,.making.it.im
31360 70 6f 73 73 69 62 6c 65 20 74 6f 0a 20 20 20 20 20 69 6d 70 6c 65 6d 65 6e 74 20 6e 65 77 20 6d possible.to......implement.new.m
31380 65 74 68 6f 64 73 20 61 6e 64 2c 20 61 74 20 74 68 65 20 73 61 6d 65 20 74 69 6d 65 2c 20 6b 65 ethods.and,.at.the.same.time,.ke
313a0 65 70 20 74 68 65 20 73 61 6d 65 20 66 6f 72 6d 61 74 2e 0a 20 20 20 20 20 54 68 69 73 20 66 69 ep.the.same.format.......This.fi
313c0 65 6c 64 20 64 6f 65 73 20 6e 6f 74 20 73 6f 6c 76 65 20 74 68 65 20 70 72 6f 62 6c 65 6d 20 6f eld.does.not.solve.the.problem.o
313e0 66 20 66 6f 72 6d 61 74 20 70 72 6f 6c 69 66 65 72 61 74 69 6f 6e 3b 20 69 74 0a 20 20 20 20 20 f.format.proliferation;.it......
31400 6a 75 73 74 20 6d 61 6b 65 73 20 74 68 65 20 70 72 6f 62 6c 65 6d 20 6c 65 73 73 20 6f 62 76 69 just.makes.the.problem.less.obvi
31420 6f 75 73 2e 0a 0a 27 4f 70 74 69 6f 6e 61 6c 20 66 69 65 6c 64 73 20 69 6e 20 68 65 61 64 65 72 ous...'Optional.fields.in.header
31440 27 0a 20 20 20 20 20 55 6e 6c 65 73 73 20 73 70 65 63 69 61 6c 20 70 72 65 63 61 75 74 69 6f 6e '......Unless.special.precaution
31460 73 20 61 72 65 20 74 61 6b 65 6e 2c 20 6f 70 74 69 6f 6e 61 6c 20 66 69 65 6c 64 73 20 61 72 65 s.are.taken,.optional.fields.are
31480 0a 20 20 20 20 20 67 65 6e 65 72 61 6c 6c 79 20 61 20 62 61 64 20 69 64 65 61 20 62 65 63 61 75 ......generally.a.bad.idea.becau
314a0 73 65 20 74 68 65 79 20 70 72 6f 64 75 63 65 20 61 20 68 65 61 64 65 72 20 6f 66 20 76 61 72 69 se.they.produce.a.header.of.vari
314c0 61 62 6c 65 0a 20 20 20 20 20 73 69 7a 65 2e 20 54 68 65 20 67 7a 69 70 20 68 65 61 64 65 72 20 able......size..The.gzip.header.
314e0 68 61 73 20 32 20 66 69 65 6c 64 73 20 74 68 61 74 2c 20 69 6e 20 61 64 64 69 74 69 6f 6e 20 74 has.2.fields.that,.in.addition.t
31500 6f 20 62 65 69 6e 67 0a 20 20 20 20 20 6f 70 74 69 6f 6e 61 6c 2c 20 61 72 65 20 7a 65 72 6f 2d o.being......optional,.are.zero-
31520 74 65 72 6d 69 6e 61 74 65 64 2e 20 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 69 66 20 terminated...This.means.that.if.
31540 61 6e 79 20 62 79 74 65 20 69 6e 73 69 64 65 0a 20 20 20 20 20 74 68 65 20 66 69 65 6c 64 20 67 any.byte.inside......the.field.g
31560 65 74 73 20 7a 65 72 6f 65 64 2c 20 6f 72 20 69 66 20 74 68 65 20 74 65 72 6d 69 6e 61 74 69 6e ets.zeroed,.or.if.the.terminatin
31580 67 20 7a 65 72 6f 20 67 65 74 73 20 61 6c 74 65 72 65 64 2c 0a 20 20 20 20 20 67 7a 69 70 20 77 g.zero.gets.altered,......gzip.w
315a0 6f 6e 27 74 20 62 65 20 61 62 6c 65 20 74 6f 20 66 69 6e 64 20 6e 65 69 74 68 65 72 20 74 68 65 on't.be.able.to.find.neither.the
315c0 20 68 65 61 64 65 72 20 43 52 43 20 6e 6f 72 20 74 68 65 0a 20 20 20 20 20 63 6f 6d 70 72 65 73 .header.CRC.nor.the......compres
315e0 73 65 64 20 62 6c 6f 63 6b 73 2e 0a 0a 27 4f 70 74 69 6f 6e 61 6c 20 43 52 43 20 66 6f 72 20 74 sed.blocks...'Optional.CRC.for.t
31600 68 65 20 68 65 61 64 65 72 27 0a 20 20 20 20 20 55 73 69 6e 67 20 61 6e 20 6f 70 74 69 6f 6e 61 he.header'......Using.an.optiona
31620 6c 20 43 52 43 20 66 6f 72 20 74 68 65 20 68 65 61 64 65 72 20 69 73 20 6e 6f 74 20 6f 6e 6c 79 l.CRC.for.the.header.is.not.only
31640 20 61 20 62 61 64 20 69 64 65 61 2c 20 69 74 20 69 73 0a 20 20 20 20 20 61 6e 20 65 72 72 6f 72 .a.bad.idea,.it.is......an.error
31660 3b 20 69 74 20 63 69 72 63 75 6d 76 65 6e 74 73 20 74 68 65 20 48 44 20 6f 66 20 74 68 65 20 43 ;.it.circumvents.the.HD.of.the.C
31680 52 43 20 61 6e 64 20 6d 61 79 20 70 72 65 76 65 6e 74 20 74 68 65 0a 20 20 20 20 20 65 78 74 72 RC.and.may.prevent.the......extr
316a0 61 63 74 69 6f 6e 20 6f 66 20 70 65 72 66 65 63 74 6c 79 20 67 6f 6f 64 20 64 61 74 61 2e 20 46 action.of.perfectly.good.data..F
316c0 6f 72 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 74 68 65 20 43 52 43 20 69 73 20 75 73 65 64 0a 20 or.example,.if.the.CRC.is.used..
316e0 20 20 20 20 61 6e 64 20 74 68 65 20 62 69 74 20 65 6e 61 62 6c 69 6e 67 20 69 74 20 69 73 20 72 ....and.the.bit.enabling.it.is.r
31700 65 73 65 74 20 62 79 20 61 20 62 69 74 20 66 6c 69 70 2c 20 74 68 65 20 68 65 61 64 65 72 20 77 eset.by.a.bit.flip,.the.header.w
31720 69 6c 6c 0a 20 20 20 20 20 61 70 70 65 61 72 20 74 6f 20 62 65 20 69 6e 74 61 63 74 20 28 69 6e ill......appear.to.be.intact.(in
31740 20 73 70 69 74 65 20 6f 66 20 62 65 69 6e 67 20 63 6f 72 72 75 70 74 29 20 77 68 69 6c 65 20 74 .spite.of.being.corrupt).while.t
31760 68 65 0a 20 20 20 20 20 63 6f 6d 70 72 65 73 73 65 64 20 62 6c 6f 63 6b 73 20 77 69 6c 6c 20 61 he......compressed.blocks.will.a
31780 70 70 65 61 72 20 74 6f 20 62 65 20 74 6f 74 61 6c 6c 79 20 75 6e 72 65 63 6f 76 65 72 61 62 6c ppear.to.be.totally.unrecoverabl
317a0 65 20 28 69 6e 0a 20 20 20 20 20 73 70 69 74 65 20 6f 66 20 62 65 69 6e 67 20 69 6e 74 61 63 74 e.(in......spite.of.being.intact
317c0 29 2e 20 56 65 72 79 20 6d 69 73 6c 65 61 64 69 6e 67 20 69 6e 64 65 65 64 2e 0a 0a 27 4d 65 74 )..Very.misleading.indeed...'Met
317e0 61 64 61 74 61 27 0a 20 20 20 20 20 54 68 65 20 67 7a 69 70 20 66 6f 72 6d 61 74 20 73 74 6f 72 adata'......The.gzip.format.stor
31800 65 73 20 73 6f 6d 65 20 6d 65 74 61 64 61 74 61 2c 20 6c 69 6b 65 20 74 68 65 20 6d 6f 64 69 66 es.some.metadata,.like.the.modif
31820 69 63 61 74 69 6f 6e 20 74 69 6d 65 0a 20 20 20 20 20 6f 66 20 74 68 65 20 6f 72 69 67 69 6e 61 ication.time......of.the.origina
31840 6c 20 66 69 6c 65 20 6f 72 20 74 68 65 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 20 6f l.file.or.the.operating.system.o
31860 6e 20 77 68 69 63 68 20 63 6f 6d 70 72 65 73 73 69 6f 6e 0a 20 20 20 20 20 74 6f 6f 6b 20 70 6c n.which.compression......took.pl
31880 61 63 65 2e 20 20 54 68 69 73 20 63 6f 6d 70 6c 69 63 61 74 65 73 20 72 65 70 72 6f 64 75 63 69 ace...This.complicates.reproduci
318a0 62 6c 65 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 28 6f 62 74 61 69 6e 69 6e 67 0a 20 20 20 20 20 ble.compression.(obtaining......
318c0 69 64 65 6e 74 69 63 61 6c 20 63 6f 6d 70 72 65 73 73 65 64 20 6f 75 74 70 75 74 20 66 72 6f 6d identical.compressed.output.from
318e0 20 69 64 65 6e 74 69 63 61 6c 20 69 6e 70 75 74 29 2e 0a 0a 0a 34 2e 31 2e 32 20 4c 7a 69 70 20 .identical.input)....4.1.2.Lzip.
31900 66 6f 72 6d 61 74 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 20 6f 76 65 72 20 67 7a 69 70 20 61 6e format.improvements.over.gzip.an
31920 64 20 62 7a 69 70 32 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d d.bzip2.------------------------
31940 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 27 36 34 2d --------------------------..'64-
31960 62 69 74 20 73 69 7a 65 20 66 69 65 6c 64 27 0a 20 20 20 20 20 50 72 6f 62 61 62 6c 79 20 74 68 bit.size.field'......Probably.th
31980 65 20 6d 6f 73 74 20 66 72 65 71 75 65 6e 74 6c 79 20 72 65 70 6f 72 74 65 64 20 73 68 6f 72 74 e.most.frequently.reported.short
319a0 63 6f 6d 69 6e 67 20 6f 66 20 74 68 65 20 67 7a 69 70 0a 20 20 20 20 20 66 6f 72 6d 61 74 20 69 coming.of.the.gzip......format.i
319c0 73 20 74 68 61 74 20 69 74 20 6f 6e 6c 79 20 73 74 6f 72 65 73 20 74 68 65 20 6c 65 61 73 74 20 s.that.it.only.stores.the.least.
319e0 73 69 67 6e 69 66 69 63 61 6e 74 20 33 32 20 62 69 74 73 20 6f 66 20 74 68 65 0a 20 20 20 20 20 significant.32.bits.of.the......
31a00 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 73 69 7a 65 2e 20 54 68 65 20 73 69 7a 65 20 6f 66 20 61 uncompressed.size..The.size.of.a
31a20 6e 79 20 66 69 6c 65 20 6c 61 72 67 65 72 20 74 68 61 6e 20 34 20 47 69 42 20 67 65 74 73 0a 20 ny.file.larger.than.4.GiB.gets..
31a40 20 20 20 20 74 72 75 6e 63 61 74 65 64 2e 0a 0a 20 20 20 20 20 42 7a 69 70 32 20 64 6f 65 73 20 ....truncated........Bzip2.does.
31a60 6e 6f 74 20 73 74 6f 72 65 20 74 68 65 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 73 69 7a 65 20 not.store.the.uncompressed.size.
31a80 6f 66 20 74 68 65 20 66 69 6c 65 2e 0a 0a 20 20 20 20 20 54 68 65 20 6c 7a 69 70 20 66 6f 72 6d of.the.file........The.lzip.form
31aa0 61 74 20 70 72 6f 76 69 64 65 73 20 61 20 36 34 2d 62 69 74 20 66 69 65 6c 64 20 66 6f 72 20 74 at.provides.a.64-bit.field.for.t
31ac0 68 65 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 73 69 7a 65 2e 0a 20 20 20 20 20 41 64 64 69 74 he.uncompressed.size.......Addit
31ae0 69 6f 6e 61 6c 79 2c 20 6c 7a 69 70 20 70 72 6f 64 75 63 65 73 20 6d 75 6c 74 69 6d 65 6d 62 65 ionaly,.lzip.produces.multimembe
31b00 72 20 6f 75 74 70 75 74 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 77 68 65 6e 0a 20 20 20 20 r.output.automatically.when.....
31b20 20 74 68 65 20 73 69 7a 65 20 69 73 20 74 6f 6f 20 6c 61 72 67 65 20 66 6f 72 20 61 20 73 69 6e .the.size.is.too.large.for.a.sin
31b40 67 6c 65 20 6d 65 6d 62 65 72 2c 20 61 6c 6c 6f 77 69 6e 67 20 66 6f 72 20 61 6e 0a 20 20 20 20 gle.member,.allowing.for.an.....
31b60 20 75 6e 6c 69 6d 69 74 65 64 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 73 69 7a 65 2e 0a 0a 27 .unlimited.uncompressed.size...'
31b80 44 69 73 74 72 69 62 75 74 65 64 20 69 6e 64 65 78 27 0a 20 20 20 20 20 54 68 65 20 6c 7a 69 70 Distributed.index'......The.lzip
31ba0 20 66 6f 72 6d 61 74 20 70 72 6f 76 69 64 65 73 20 61 20 64 69 73 74 72 69 62 75 74 65 64 20 69 .format.provides.a.distributed.i
31bc0 6e 64 65 78 20 74 68 61 74 2c 20 61 6d 6f 6e 67 20 6f 74 68 65 72 0a 20 20 20 20 20 74 68 69 6e ndex.that,.among.other......thin
31be0 67 73 2c 20 68 65 6c 70 73 20 70 6c 7a 69 70 20 74 6f 20 64 65 63 6f 6d 70 72 65 73 73 20 73 65 gs,.helps.plzip.to.decompress.se
31c00 76 65 72 61 6c 20 74 69 6d 65 73 20 66 61 73 74 65 72 20 74 68 61 6e 20 70 69 67 7a 0a 20 20 20 veral.times.faster.than.pigz....
31c20 20 20 61 6e 64 20 68 65 6c 70 73 20 6c 7a 69 70 72 65 63 6f 76 65 72 20 64 6f 20 69 74 73 20 6a ..and.helps.lziprecover.do.its.j
31c40 6f 62 2e 20 4e 65 69 74 68 65 72 20 74 68 65 20 67 7a 69 70 20 66 6f 72 6d 61 74 20 6e 6f 72 20 ob..Neither.the.gzip.format.nor.
31c60 74 68 65 0a 20 20 20 20 20 62 7a 69 70 32 20 66 6f 72 6d 61 74 20 64 6f 20 70 72 6f 76 69 64 65 the......bzip2.format.do.provide
31c80 20 61 6e 20 69 6e 64 65 78 2e 0a 0a 20 20 20 20 20 41 20 64 69 73 74 72 69 62 75 74 65 64 20 69 .an.index........A.distributed.i
31ca0 6e 64 65 78 20 69 73 20 73 61 66 65 72 20 61 6e 64 20 6d 6f 72 65 20 73 63 61 6c 61 62 6c 65 20 ndex.is.safer.and.more.scalable.
31cc0 74 68 61 6e 20 61 20 6d 6f 6e 6f 6c 69 74 68 69 63 0a 20 20 20 20 20 69 6e 64 65 78 2e 20 20 54 than.a.monolithic......index...T
31ce0 68 65 20 6d 6f 6e 6f 6c 69 74 68 69 63 20 69 6e 64 65 78 20 69 6e 74 72 6f 64 75 63 65 73 20 61 he.monolithic.index.introduces.a
31d00 20 73 69 6e 67 6c 65 20 70 6f 69 6e 74 20 6f 66 20 66 61 69 6c 75 72 65 0a 20 20 20 20 20 69 6e .single.point.of.failure......in
31d20 20 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 20 61 6e 64 20 6d 61 79 20 6c 69 6d .the.compressed.file.and.may.lim
31d40 69 74 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 6d 65 6d 62 65 72 73 20 6f 72 20 74 68 65 0a it.the.number.of.members.or.the.
31d60 20 20 20 20 20 74 6f 74 61 6c 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 73 69 7a 65 2e 0a 0a 0a .....total.uncompressed.size....
31d80 34 2e 32 20 51 75 61 6c 69 74 79 20 6f 66 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 0a 3d 3d 4.2.Quality.of.implementation.==
31da0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 27 41 63 ===========================..'Ac
31dc0 63 75 72 61 74 65 20 61 6e 64 20 72 6f 62 75 73 74 20 65 72 72 6f 72 20 64 65 74 65 63 74 69 6f curate.and.robust.error.detectio
31de0 6e 27 0a 20 20 20 20 20 54 68 65 20 6c 7a 69 70 20 66 6f 72 6d 61 74 20 70 72 6f 76 69 64 65 73 n'......The.lzip.format.provides
31e00 20 33 20 66 61 63 74 6f 72 20 69 6e 74 65 67 72 69 74 79 20 63 68 65 63 6b 69 6e 67 20 61 6e 64 .3.factor.integrity.checking.and
31e20 20 74 68 65 0a 20 20 20 20 20 64 65 63 6f 6d 70 72 65 73 73 6f 72 73 20 72 65 70 6f 72 74 20 6d .the......decompressors.report.m
31e40 69 73 6d 61 74 63 68 65 73 20 69 6e 20 65 61 63 68 20 66 61 63 74 6f 72 20 73 65 70 61 72 61 74 ismatches.in.each.factor.separat
31e60 65 6c 79 2e 20 54 68 69 73 0a 20 20 20 20 20 77 61 79 20 69 66 20 6a 75 73 74 20 6f 6e 65 20 62 ely..This......way.if.just.one.b
31e80 79 74 65 20 69 6e 20 6f 6e 65 20 66 61 63 74 6f 72 20 66 61 69 6c 73 20 62 75 74 20 74 68 65 20 yte.in.one.factor.fails.but.the.
31ea0 6f 74 68 65 72 20 74 77 6f 20 66 61 63 74 6f 72 73 0a 20 20 20 20 20 6d 61 74 63 68 20 74 68 65 other.two.factors......match.the
31ec0 20 64 61 74 61 2c 20 69 74 20 70 72 6f 62 61 62 6c 79 20 6d 65 61 6e 73 20 74 68 61 74 20 74 68 .data,.it.probably.means.that.th
31ee0 65 20 64 61 74 61 20 61 72 65 20 69 6e 74 61 63 74 20 61 6e 64 20 74 68 65 0a 20 20 20 20 20 63 e.data.are.intact.and.the......c
31f00 6f 72 72 75 70 74 69 6f 6e 20 6a 75 73 74 20 61 66 66 65 63 74 73 20 74 68 65 20 6d 69 73 6d 61 orruption.just.affects.the.misma
31f20 74 63 68 69 6e 67 20 66 61 63 74 6f 72 20 28 43 52 43 20 6f 72 20 64 61 74 61 20 73 69 7a 65 29 tching.factor.(CRC.or.data.size)
31f40 0a 20 20 20 20 20 69 6e 20 74 68 65 20 63 68 65 63 6b 20 73 65 71 75 65 6e 63 65 2e 0a 0a 27 4d ......in.the.check.sequence...'M
31f60 75 6c 74 69 70 6c 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 73 27 0a 20 20 20 20 20 4a 75 ultiple.implementations'......Ju
31f80 73 74 20 6c 69 6b 65 20 74 68 65 20 6c 7a 69 70 20 66 6f 72 6d 61 74 20 70 72 6f 76 69 64 65 73 st.like.the.lzip.format.provides
31fa0 20 33 20 66 61 63 74 6f 72 20 70 72 6f 74 65 63 74 69 6f 6e 20 61 67 61 69 6e 73 74 0a 20 20 20 .3.factor.protection.against....
31fc0 20 20 75 6e 64 65 74 65 63 74 65 64 20 64 61 74 61 20 63 6f 72 72 75 70 74 69 6f 6e 2c 20 74 68 ..undetected.data.corruption,.th
31fe0 65 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 6d 65 74 68 6f 64 6f 6c 6f 67 79 20 6f 66 20 74 68 65 e.development.methodology.of.the
32000 20 6c 7a 69 70 0a 20 20 20 20 20 66 61 6d 69 6c 79 20 6f 66 20 63 6f 6d 70 72 65 73 73 6f 72 73 .lzip......family.of.compressors
32020 20 70 72 6f 76 69 64 65 73 20 33 20 66 61 63 74 6f 72 20 70 72 6f 74 65 63 74 69 6f 6e 20 61 67 .provides.3.factor.protection.ag
32040 61 69 6e 73 74 0a 20 20 20 20 20 75 6e 64 65 74 65 63 74 65 64 20 70 72 6f 67 72 61 6d 6d 69 6e ainst......undetected.programmin
32060 67 20 65 72 72 6f 72 73 2e 0a 0a 20 20 20 20 20 54 68 72 65 65 20 72 65 6c 61 74 65 64 20 62 75 g.errors........Three.related.bu
32080 74 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 63 6f 6d 70 72 65 73 73 6f 72 20 69 6d 70 6c 65 6d 65 t.independent.compressor.impleme
320a0 6e 74 61 74 69 6f 6e 73 2c 20 6c 7a 69 70 2c 0a 20 20 20 20 20 63 6c 7a 69 70 20 61 6e 64 20 6d ntations,.lzip,......clzip.and.m
320c0 69 6e 69 6c 7a 69 70 2f 6c 7a 6c 69 62 2c 20 61 72 65 20 64 65 76 65 6c 6f 70 65 64 20 63 6f 6e inilzip/lzlib,.are.developed.con
320e0 63 75 72 72 65 6e 74 6c 79 2e 20 45 76 65 72 79 20 73 74 61 62 6c 65 0a 20 20 20 20 20 72 65 6c currently..Every.stable......rel
32100 65 61 73 65 20 6f 66 20 61 6e 79 20 6f 66 20 74 68 65 6d 20 69 73 20 73 75 62 6a 65 63 74 65 64 ease.of.any.of.them.is.subjected
32120 20 74 6f 20 61 20 68 75 6e 64 72 65 64 20 68 6f 75 72 73 20 6f 66 0a 20 20 20 20 20 69 6e 74 65 .to.a.hundred.hours.of......inte
32140 6e 73 69 76 65 20 74 65 73 74 69 6e 67 20 74 6f 20 76 65 72 69 66 79 20 74 68 61 74 20 69 74 20 nsive.testing.to.verify.that.it.
32160 70 72 6f 64 75 63 65 73 20 69 64 65 6e 74 69 63 61 6c 20 6f 75 74 70 75 74 20 74 6f 0a 20 20 20 produces.identical.output.to....
32180 20 20 74 68 65 20 6f 74 68 65 72 20 74 77 6f 2e 20 54 68 69 73 20 67 75 61 72 61 6e 74 65 65 73 ..the.other.two..This.guarantees
321a0 20 74 68 61 74 20 61 6c 6c 20 74 68 72 65 65 20 69 6d 70 6c 65 6d 65 6e 74 20 74 68 65 20 73 61 .that.all.three.implement.the.sa
321c0 6d 65 0a 20 20 20 20 20 61 6c 67 6f 72 69 74 68 6d 2c 20 61 6e 64 20 6d 61 6b 65 73 20 69 74 20 me......algorithm,.and.makes.it.
321e0 75 6e 6c 69 6b 65 6c 79 20 74 68 61 74 20 61 6e 79 20 6f 66 20 74 68 65 6d 20 6d 61 79 20 63 6f unlikely.that.any.of.them.may.co
32200 6e 74 61 69 6e 0a 20 20 20 20 20 73 65 72 69 6f 75 73 20 75 6e 64 69 73 63 6f 76 65 72 65 64 20 ntain......serious.undiscovered.
32220 65 72 72 6f 72 73 2e 20 49 6e 20 66 61 63 74 2c 20 6e 6f 20 65 72 72 6f 72 73 20 68 61 76 65 20 errors..In.fact,.no.errors.have.
32240 62 65 65 6e 0a 20 20 20 20 20 64 69 73 63 6f 76 65 72 65 64 20 69 6e 20 6c 7a 69 70 20 73 69 6e been......discovered.in.lzip.sin
32260 63 65 20 32 30 30 39 2e 0a 0a 20 20 20 20 20 41 64 64 69 74 69 6f 6e 61 6c 6c 79 2c 20 74 68 65 ce.2009........Additionally,.the
32280 20 74 68 72 65 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 73 20 68 61 76 65 20 62 65 65 6e .three.implementations.have.been
322a0 20 65 78 74 65 6e 73 69 76 65 6c 79 0a 20 20 20 20 20 74 65 73 74 65 64 20 77 69 74 68 20 75 6e .extensively......tested.with.un
322c0 7a 63 72 61 73 68 2c 20 76 61 6c 67 72 69 6e 64 20 61 6e 64 20 27 61 6d 65 72 69 63 61 6e 20 66 zcrash,.valgrind.and.'american.f
322e0 75 7a 7a 79 20 6c 6f 70 27 20 77 69 74 68 6f 75 74 0a 20 20 20 20 20 66 69 6e 64 69 6e 67 20 61 uzzy.lop'.without......finding.a
32300 20 73 69 6e 67 6c 65 20 76 75 6c 6e 65 72 61 62 69 6c 69 74 79 20 6f 72 20 66 61 6c 73 65 20 6e .single.vulnerability.or.false.n
32320 65 67 61 74 69 76 65 2e 20 20 2a 4e 6f 74 65 20 55 6e 7a 63 72 61 73 68 3a 0a 20 20 20 20 20 28 egative...*Note.Unzcrash:......(
32340 6c 7a 69 70 72 65 63 6f 76 65 72 29 55 6e 7a 63 72 61 73 68 2e 0a 0a 27 44 69 63 74 69 6f 6e 61 lziprecover)Unzcrash...'Dictiona
32360 72 79 20 73 69 7a 65 27 0a 20 20 20 20 20 4c 7a 69 70 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 ry.size'......Lzip.automatically
32380 20 75 73 65 73 20 74 68 65 20 73 6d 61 6c 6c 65 73 74 20 70 6f 73 73 69 62 6c 65 20 64 69 63 74 .uses.the.smallest.possible.dict
323a0 69 6f 6e 61 72 79 20 73 69 7a 65 20 66 6f 72 0a 20 20 20 20 20 65 61 63 68 20 66 69 6c 65 2e 20 ionary.size.for......each.file..
323c0 49 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 72 65 64 75 63 69 6e 67 20 74 68 65 20 61 6d 6f 75 In.addition.to.reducing.the.amou
323e0 6e 74 20 6f 66 20 6d 65 6d 6f 72 79 20 72 65 71 75 69 72 65 64 0a 20 20 20 20 20 66 6f 72 20 64 nt.of.memory.required......for.d
32400 65 63 6f 6d 70 72 65 73 73 69 6f 6e 2c 20 74 68 69 73 20 66 65 61 74 75 72 65 20 61 6c 73 6f 20 ecompression,.this.feature.also.
32420 6d 69 6e 69 6d 69 7a 65 73 20 74 68 65 20 70 72 6f 62 61 62 69 6c 69 74 79 20 6f 66 0a 20 20 20 minimizes.the.probability.of....
32440 20 20 62 65 69 6e 67 20 61 66 66 65 63 74 65 64 20 62 79 20 52 41 4d 20 65 72 72 6f 72 73 20 64 ..being.affected.by.RAM.errors.d
32460 75 72 69 6e 67 20 63 6f 6d 70 72 65 73 73 69 6f 6e 2e 0a 0a 27 45 78 69 74 20 73 74 61 74 75 73 uring.compression...'Exit.status
32480 27 0a 20 20 20 20 20 52 65 74 75 72 6e 69 6e 67 20 61 20 77 61 72 6e 69 6e 67 20 73 74 61 74 75 '......Returning.a.warning.statu
324a0 73 20 6f 66 20 32 20 69 73 20 61 20 64 65 73 69 67 6e 20 66 6c 61 77 20 6f 66 20 63 6f 6d 70 72 s.of.2.is.a.design.flaw.of.compr
324c0 65 73 73 20 74 68 61 74 0a 20 20 20 20 20 6c 65 61 6b 65 64 20 69 6e 74 6f 20 74 68 65 20 64 65 ess.that......leaked.into.the.de
324e0 73 69 67 6e 20 6f 66 20 67 7a 69 70 2e 20 42 6f 74 68 20 62 7a 69 70 32 20 61 6e 64 20 6c 7a 69 sign.of.gzip..Both.bzip2.and.lzi
32500 70 20 61 72 65 20 66 72 65 65 20 66 72 6f 6d 0a 20 20 20 20 20 74 68 69 73 20 66 6c 61 77 2e 0a p.are.free.from......this.flaw..
32520 0a 0a 1f 0a 46 69 6c 65 3a 20 6c 7a 69 70 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 46 69 6c 65 ....File:.lzip.info,..Node:.File
32540 20 66 6f 72 6d 61 74 2c 20 20 4e 65 78 74 3a 20 41 6c 67 6f 72 69 74 68 6d 2c 20 20 50 72 65 76 .format,..Next:.Algorithm,..Prev
32560 3a 20 51 75 61 6c 69 74 79 20 61 73 73 75 72 61 6e 63 65 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 35 :.Quality.assurance,..Up:.Top..5
32580 20 46 69 6c 65 20 66 6f 72 6d 61 74 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 50 65 72 66 .File.format.*************..Perf
325a0 65 63 74 69 6f 6e 20 69 73 20 72 65 61 63 68 65 64 2c 20 6e 6f 74 20 77 68 65 6e 20 74 68 65 72 ection.is.reached,.not.when.ther
325c0 65 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 61 6e 79 74 68 69 6e 67 20 74 6f 20 61 64 64 2c 20 e.is.no.longer.anything.to.add,.
325e0 62 75 74 0a 77 68 65 6e 20 74 68 65 72 65 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 61 6e 79 74 but.when.there.is.no.longer.anyt
32600 68 69 6e 67 20 74 6f 20 74 61 6b 65 20 61 77 61 79 2e 0a 2d 2d 20 41 6e 74 6f 69 6e 65 20 64 65 hing.to.take.away..--.Antoine.de
32620 20 53 61 69 6e 74 2d 45 78 75 70 65 72 79 0a 0a 0a 20 20 20 49 6e 20 74 68 65 20 64 69 61 67 72 .Saint-Exupery......In.the.diagr
32640 61 6d 20 62 65 6c 6f 77 2c 20 61 20 62 6f 78 20 6c 69 6b 65 20 74 68 69 73 3a 0a 2b 2d 2d 2d 2b am.below,.a.box.like.this:.+---+
32660 0a 7c 20 20 20 7c 20 3c 2d 2d 20 74 68 65 20 76 65 72 74 69 63 61 6c 20 62 61 72 73 20 6d 69 67 .|...|.<--.the.vertical.bars.mig
32680 68 74 20 62 65 20 6d 69 73 73 69 6e 67 0a 2b 2d 2d 2d 2b 0a 0a 20 20 20 72 65 70 72 65 73 65 6e ht.be.missing.+---+.....represen
326a0 74 73 20 6f 6e 65 20 62 79 74 65 3b 20 61 20 62 6f 78 20 6c 69 6b 65 20 74 68 69 73 3a 0a 2b 3d ts.one.byte;.a.box.like.this:.+=
326c0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 2b 0a 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a =============+.|..............|.
326e0 2b 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 2b 0a 0a 20 20 20 72 65 70 72 65 73 65 6e 74 73 20 +==============+.....represents.
32700 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 2e 0a 0a 0a 20 20 a.variable.number.of.bytes......
32720 20 41 20 6c 7a 69 70 20 66 69 6c 65 20 63 6f 6e 73 69 73 74 73 20 6f 66 20 61 20 73 65 72 69 65 .A.lzip.file.consists.of.a.serie
32740 73 20 6f 66 20 22 6d 65 6d 62 65 72 73 22 20 28 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 20 s.of."members".(compressed.data.
32760 73 65 74 73 29 2e 0a 54 68 65 20 6d 65 6d 62 65 72 73 20 73 69 6d 70 6c 79 20 61 70 70 65 61 72 sets)..The.members.simply.appear
32780 20 6f 6e 65 20 61 66 74 65 72 20 61 6e 6f 74 68 65 72 20 69 6e 20 74 68 65 20 66 69 6c 65 2c 20 .one.after.another.in.the.file,.
327a0 77 69 74 68 20 6e 6f 0a 61 64 64 69 74 69 6f 6e 61 6c 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 62 with.no.additional.information.b
327c0 65 66 6f 72 65 2c 20 62 65 74 77 65 65 6e 2c 20 6f 72 20 61 66 74 65 72 20 74 68 65 6d 2e 0a 0a efore,.between,.or.after.them...
327e0 20 20 20 45 61 63 68 20 6d 65 6d 62 65 72 20 68 61 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 ...Each.member.has.the.following
32800 20 73 74 72 75 63 74 75 72 65 3a 0a 2b 2d 2d 2b 2d 2d 2b 2d 2d 2b 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d .structure:.+--+--+--+--+----+--
32820 2d 2d 2b 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d --+=============+-+-+-+-+-+-+-+-
32840 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 0a 7c 20 49 44 20 73 +-+-+-+-+-+-+-+-+-+-+-+-+.|.ID.s
32860 74 72 69 6e 67 20 7c 20 56 4e 20 7c 20 44 53 20 7c 20 4c 5a 4d 41 20 73 74 72 65 61 6d 20 7c 20 tring.|.VN.|.DS.|.LZMA.stream.|.
32880 43 52 43 33 32 20 7c 20 20 20 44 61 74 61 20 73 69 7a 65 20 20 20 7c 20 20 4d 65 6d 62 65 72 20 CRC32.|...Data.size...|..Member.
328a0 73 69 7a 65 20 20 7c 0a 2b 2d 2d 2b 2d 2d 2b 2d 2d 2b 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 3d size..|.+--+--+--+--+----+----+=
328c0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d ============+-+-+-+-+-+-+-+-+-+-
328e0 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 0a 0a 20 20 20 41 6c 6c 20 6d 75 +-+-+-+-+-+-+-+-+-+-+.....All.mu
32900 6c 74 69 62 79 74 65 20 76 61 6c 75 65 73 20 61 72 65 20 73 74 6f 72 65 64 20 69 6e 20 6c 69 74 ltibyte.values.are.stored.in.lit
32920 74 6c 65 20 65 6e 64 69 61 6e 20 6f 72 64 65 72 2e 0a 0a 27 49 44 20 73 74 72 69 6e 67 20 28 74 tle.endian.order...'ID.string.(t
32940 68 65 20 22 6d 61 67 69 63 22 20 62 79 74 65 73 29 27 0a 20 20 20 20 20 41 20 66 6f 75 72 20 62 he."magic".bytes)'......A.four.b
32960 79 74 65 20 73 74 72 69 6e 67 2c 20 69 64 65 6e 74 69 66 79 69 6e 67 20 74 68 65 20 6c 7a 69 70 yte.string,.identifying.the.lzip
32980 20 66 6f 72 6d 61 74 2c 20 77 69 74 68 20 74 68 65 20 76 61 6c 75 65 0a 20 20 20 20 20 22 4c 5a .format,.with.the.value......"LZ
329a0 49 50 22 20 28 30 78 34 43 2c 20 30 78 35 41 2c 20 30 78 34 39 2c 20 30 78 35 30 29 2e 0a 0a 27 IP".(0x4C,.0x5A,.0x49,.0x50)...'
329c0 56 4e 20 28 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 2c 20 31 20 62 79 74 65 29 27 0a 20 20 20 VN.(version.number,.1.byte)'....
329e0 20 20 4a 75 73 74 20 69 6e 20 63 61 73 65 20 73 6f 6d 65 74 68 69 6e 67 20 6e 65 65 64 73 20 74 ..Just.in.case.something.needs.t
32a00 6f 20 62 65 20 6d 6f 64 69 66 69 65 64 20 69 6e 20 74 68 65 20 66 75 74 75 72 65 2e 20 31 20 66 o.be.modified.in.the.future..1.f
32a20 6f 72 0a 20 20 20 20 20 6e 6f 77 2e 0a 0a 27 44 53 20 28 63 6f 64 65 64 20 64 69 63 74 69 6f 6e or......now...'DS.(coded.diction
32a40 61 72 79 20 73 69 7a 65 2c 20 31 20 62 79 74 65 29 27 0a 20 20 20 20 20 54 68 65 20 64 69 63 74 ary.size,.1.byte)'......The.dict
32a60 69 6f 6e 61 72 79 20 73 69 7a 65 20 69 73 20 63 61 6c 63 75 6c 61 74 65 64 20 62 79 20 74 61 6b ionary.size.is.calculated.by.tak
32a80 69 6e 67 20 61 20 70 6f 77 65 72 20 6f 66 20 32 20 28 74 68 65 20 62 61 73 65 0a 20 20 20 20 20 ing.a.power.of.2.(the.base......
32aa0 73 69 7a 65 29 20 61 6e 64 20 73 75 62 73 74 72 61 63 74 69 6e 67 20 66 72 6f 6d 20 69 74 20 61 size).and.substracting.from.it.a
32ac0 20 66 72 61 63 74 69 6f 6e 20 62 65 74 77 65 65 6e 20 30 2f 31 36 20 61 6e 64 20 37 2f 31 36 20 .fraction.between.0/16.and.7/16.
32ae0 6f 66 0a 20 20 20 20 20 74 68 65 20 62 61 73 65 20 73 69 7a 65 2e 0a 20 20 20 20 20 42 69 74 73 of......the.base.size.......Bits
32b00 20 34 2d 30 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 62 61 73 65 20 32 20 6c 6f 67 61 72 69 74 68 .4-0.contain.the.base.2.logarith
32b20 6d 20 6f 66 20 74 68 65 20 62 61 73 65 20 73 69 7a 65 20 28 31 32 20 74 6f 20 32 39 29 2e 0a 20 m.of.the.base.size.(12.to.29)...
32b40 20 20 20 20 42 69 74 73 20 37 2d 35 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 6e 75 6d 65 72 61 74 ....Bits.7-5.contain.the.numerat
32b60 6f 72 20 6f 66 20 74 68 65 20 66 72 61 63 74 69 6f 6e 20 28 30 20 74 6f 20 37 29 20 74 6f 0a 20 or.of.the.fraction.(0.to.7).to..
32b80 20 20 20 20 73 75 62 73 74 72 61 63 74 20 66 72 6f 6d 20 74 68 65 20 62 61 73 65 20 73 69 7a 65 ....substract.from.the.base.size
32ba0 20 74 6f 20 6f 62 74 61 69 6e 20 74 68 65 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 2e 0a .to.obtain.the.dictionary.size..
32bc0 20 20 20 20 20 45 78 61 6d 70 6c 65 3a 20 30 78 44 33 20 3d 20 32 5e 31 39 20 2d 20 36 20 2a 20 .....Example:.0xD3.=.2^19.-.6.*.
32be0 32 5e 31 35 20 3d 20 35 31 32 20 4b 69 42 20 2d 20 36 20 2a 20 33 32 20 4b 69 42 20 3d 20 33 32 2^15.=.512.KiB.-.6.*.32.KiB.=.32
32c00 30 20 4b 69 42 0a 20 20 20 20 20 56 61 6c 69 64 20 76 61 6c 75 65 73 20 66 6f 72 20 64 69 63 74 0.KiB......Valid.values.for.dict
32c20 69 6f 6e 61 72 79 20 73 69 7a 65 20 72 61 6e 67 65 20 66 72 6f 6d 20 34 20 4b 69 42 20 74 6f 20 ionary.size.range.from.4.KiB.to.
32c40 35 31 32 20 4d 69 42 2e 0a 0a 27 4c 5a 4d 41 20 73 74 72 65 61 6d 27 0a 20 20 20 20 20 54 68 65 512.MiB...'LZMA.stream'......The
32c60 20 4c 5a 4d 41 20 73 74 72 65 61 6d 2c 20 66 69 6e 69 73 68 65 64 20 62 79 20 61 6e 20 65 6e 64 .LZMA.stream,.finished.by.an.end
32c80 20 6f 66 20 73 74 72 65 61 6d 20 6d 61 72 6b 65 72 2e 20 55 73 65 73 20 64 65 66 61 75 6c 74 0a .of.stream.marker..Uses.default.
32ca0 20 20 20 20 20 76 61 6c 75 65 73 20 66 6f 72 20 65 6e 63 6f 64 65 72 20 70 72 6f 70 65 72 74 69 .....values.for.encoder.properti
32cc0 65 73 2e 20 2a 4e 6f 74 65 20 53 74 72 65 61 6d 20 66 6f 72 6d 61 74 3a 3a 2c 20 66 6f 72 20 61 es..*Note.Stream.format::,.for.a
32ce0 0a 20 20 20 20 20 63 6f 6d 70 6c 65 74 65 20 64 65 73 63 72 69 70 74 69 6f 6e 2e 0a 0a 27 43 52 ......complete.description...'CR
32d00 43 33 32 20 28 34 20 62 79 74 65 73 29 27 0a 20 20 20 20 20 43 52 43 20 6f 66 20 74 68 65 20 75 C32.(4.bytes)'......CRC.of.the.u
32d20 6e 63 6f 6d 70 72 65 73 73 65 64 20 6f 72 69 67 69 6e 61 6c 20 64 61 74 61 2e 0a 0a 27 44 61 74 ncompressed.original.data...'Dat
32d40 61 20 73 69 7a 65 20 28 38 20 62 79 74 65 73 29 27 0a 20 20 20 20 20 53 69 7a 65 20 6f 66 20 74 a.size.(8.bytes)'......Size.of.t
32d60 68 65 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 6f 72 69 67 69 6e 61 6c 20 64 61 74 61 2e 0a 0a he.uncompressed.original.data...
32d80 27 4d 65 6d 62 65 72 20 73 69 7a 65 20 28 38 20 62 79 74 65 73 29 27 0a 20 20 20 20 20 54 6f 74 'Member.size.(8.bytes)'......Tot
32da0 61 6c 20 73 69 7a 65 20 6f 66 20 74 68 65 20 6d 65 6d 62 65 72 2c 20 69 6e 63 6c 75 64 69 6e 67 al.size.of.the.member,.including
32dc0 20 68 65 61 64 65 72 20 61 6e 64 20 74 72 61 69 6c 65 72 2e 20 54 68 69 73 20 66 69 65 6c 64 0a .header.and.trailer..This.field.
32de0 20 20 20 20 20 61 63 74 73 20 61 73 20 61 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 64 65 78 .....acts.as.a.distributed.index
32e00 2c 20 61 6c 6c 6f 77 73 20 74 68 65 20 76 65 72 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 73 74 72 ,.allows.the.verification.of.str
32e20 65 61 6d 0a 20 20 20 20 20 69 6e 74 65 67 72 69 74 79 2c 20 61 6e 64 20 66 61 63 69 6c 69 74 61 eam......integrity,.and.facilita
32e40 74 65 73 20 73 61 66 65 20 72 65 63 6f 76 65 72 79 20 6f 66 20 75 6e 64 61 6d 61 67 65 64 20 6d tes.safe.recovery.of.undamaged.m
32e60 65 6d 62 65 72 73 20 66 72 6f 6d 0a 20 20 20 20 20 6d 75 6c 74 69 6d 65 6d 62 65 72 20 66 69 6c embers.from......multimember.fil
32e80 65 73 2e 0a 0a 0a 1f 0a 46 69 6c 65 3a 20 6c 7a 69 70 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 es......File:.lzip.info,..Node:.
32ea0 41 6c 67 6f 72 69 74 68 6d 2c 20 20 4e 65 78 74 3a 20 53 74 72 65 61 6d 20 66 6f 72 6d 61 74 2c Algorithm,..Next:.Stream.format,
32ec0 20 20 50 72 65 76 3a 20 46 69 6c 65 20 66 6f 72 6d 61 74 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 36 ..Prev:.File.format,..Up:.Top..6
32ee0 20 41 6c 67 6f 72 69 74 68 6d 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 49 6e 20 73 70 69 74 65 .Algorithm.***********..In.spite
32f00 20 6f 66 20 69 74 73 20 6e 61 6d 65 20 28 4c 65 6d 70 65 6c 2d 5a 69 76 2d 4d 61 72 6b 6f 76 20 .of.its.name.(Lempel-Ziv-Markov.
32f20 63 68 61 69 6e 2d 41 6c 67 6f 72 69 74 68 6d 29 2c 20 4c 5a 4d 41 20 69 73 20 6e 6f 74 20 61 0a chain-Algorithm),.LZMA.is.not.a.
32f40 63 6f 6e 63 72 65 74 65 20 61 6c 67 6f 72 69 74 68 6d 3b 20 69 74 20 69 73 20 6d 6f 72 65 20 6c concrete.algorithm;.it.is.more.l
32f60 69 6b 65 20 22 61 6e 79 20 61 6c 67 6f 72 69 74 68 6d 20 75 73 69 6e 67 20 74 68 65 20 4c 5a 4d ike."any.algorithm.using.the.LZM
32f80 41 20 63 6f 64 69 6e 67 0a 73 63 68 65 6d 65 22 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 A.coding.scheme"..For.example,.t
32fa0 68 65 20 6f 70 74 69 6f 6e 20 27 2d 30 27 20 6f 66 20 6c 7a 69 70 20 75 73 65 73 20 74 68 65 20 he.option.'-0'.of.lzip.uses.the.
32fc0 73 63 68 65 6d 65 20 69 6e 20 61 6c 6d 6f 73 74 0a 74 68 65 20 73 69 6d 70 6c 65 73 74 20 77 61 scheme.in.almost.the.simplest.wa
32fe0 79 20 70 6f 73 73 69 62 6c 65 3b 20 69 73 73 75 69 6e 67 20 74 68 65 20 6c 6f 6e 67 65 73 74 20 y.possible;.issuing.the.longest.
33000 6d 61 74 63 68 20 69 74 20 63 61 6e 20 66 69 6e 64 2c 20 6f 72 20 61 0a 6c 69 74 65 72 61 6c 20 match.it.can.find,.or.a.literal.
33020 62 79 74 65 20 69 66 20 69 74 20 63 61 6e 27 74 20 66 69 6e 64 20 61 20 6d 61 74 63 68 2e 20 49 byte.if.it.can't.find.a.match..I
33040 6e 76 65 72 73 65 6c 79 2c 20 61 20 6d 75 63 68 20 6d 6f 72 65 20 65 6c 61 62 6f 72 61 74 65 64 nversely,.a.much.more.elaborated
33060 0a 77 61 79 20 6f 66 20 66 69 6e 64 69 6e 67 20 63 6f 64 69 6e 67 20 73 65 71 75 65 6e 63 65 73 .way.of.finding.coding.sequences
33080 20 6f 66 20 6d 69 6e 69 6d 75 6d 20 73 69 7a 65 20 74 68 61 6e 20 74 68 65 20 6f 6e 65 20 63 75 .of.minimum.size.than.the.one.cu
330a0 72 72 65 6e 74 6c 79 0a 75 73 65 64 20 62 79 20 6c 7a 69 70 20 63 6f 75 6c 64 20 62 65 20 64 65 rrently.used.by.lzip.could.be.de
330c0 76 65 6c 6f 70 65 64 2c 20 61 6e 64 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 73 65 71 75 65 veloped,.and.the.resulting.seque
330e0 6e 63 65 20 63 6f 75 6c 64 20 61 6c 73 6f 0a 62 65 20 63 6f 64 65 64 20 75 73 69 6e 67 20 74 68 nce.could.also.be.coded.using.th
33100 65 20 4c 5a 4d 41 20 63 6f 64 69 6e 67 20 73 63 68 65 6d 65 2e 0a 0a 20 20 20 4c 7a 69 70 20 63 e.LZMA.coding.scheme......Lzip.c
33120 75 72 72 65 6e 74 6c 79 20 69 6d 70 6c 65 6d 65 6e 74 73 20 74 77 6f 20 76 61 72 69 61 6e 74 73 urrently.implements.two.variants
33140 20 6f 66 20 74 68 65 20 4c 5a 4d 41 20 61 6c 67 6f 72 69 74 68 6d 3b 20 66 61 73 74 0a 28 75 73 .of.the.LZMA.algorithm;.fast.(us
33160 65 64 20 62 79 20 6f 70 74 69 6f 6e 20 27 2d 30 27 29 20 61 6e 64 20 6e 6f 72 6d 61 6c 20 28 75 ed.by.option.'-0').and.normal.(u
33180 73 65 64 20 62 79 20 61 6c 6c 20 6f 74 68 65 72 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6c 65 76 sed.by.all.other.compression.lev
331a0 65 6c 73 29 2e 0a 0a 20 20 20 54 68 65 20 68 69 67 68 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6f els)......The.high.compression.o
331c0 66 20 4c 5a 4d 41 20 63 6f 6d 65 73 20 66 72 6f 6d 20 63 6f 6d 62 69 6e 69 6e 67 20 74 77 6f 20 f.LZMA.comes.from.combining.two.
331e0 62 61 73 69 63 2c 0a 77 65 6c 6c 2d 70 72 6f 76 65 6e 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 69 basic,.well-proven.compression.i
33200 64 65 61 73 3a 20 73 6c 69 64 69 6e 67 20 64 69 63 74 69 6f 6e 61 72 69 65 73 20 28 4c 5a 37 37 deas:.sliding.dictionaries.(LZ77
33220 2f 37 38 29 20 61 6e 64 0a 6d 61 72 6b 6f 76 20 6d 6f 64 65 6c 73 20 28 74 68 65 20 74 68 69 6e /78).and.markov.models.(the.thin
33240 67 20 75 73 65 64 20 62 79 20 65 76 65 72 79 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 61 6c 67 6f g.used.by.every.compression.algo
33260 72 69 74 68 6d 20 74 68 61 74 20 75 73 65 73 0a 61 20 72 61 6e 67 65 20 65 6e 63 6f 64 65 72 20 rithm.that.uses.a.range.encoder.
33280 6f 72 20 73 69 6d 69 6c 61 72 20 6f 72 64 65 72 2d 30 20 65 6e 74 72 6f 70 79 20 63 6f 64 65 72 or.similar.order-0.entropy.coder
332a0 20 61 73 20 69 74 73 20 6c 61 73 74 20 73 74 61 67 65 29 0a 77 69 74 68 20 73 65 67 72 65 67 61 .as.its.last.stage).with.segrega
332c0 74 69 6f 6e 20 6f 66 20 63 6f 6e 74 65 78 74 73 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 77 68 tion.of.contexts.according.to.wh
332e0 61 74 20 74 68 65 20 62 69 74 73 20 61 72 65 20 75 73 65 64 20 66 6f 72 2e 0a 0a 20 20 20 4c 7a at.the.bits.are.used.for......Lz
33300 69 70 20 69 73 20 61 20 74 77 6f 20 73 74 61 67 65 20 63 6f 6d 70 72 65 73 73 6f 72 2e 20 54 68 ip.is.a.two.stage.compressor..Th
33320 65 20 66 69 72 73 74 20 73 74 61 67 65 20 69 73 20 61 20 4c 65 6d 70 65 6c 2d 5a 69 76 0a 63 6f e.first.stage.is.a.Lempel-Ziv.co
33340 64 65 72 2c 20 77 68 69 63 68 20 72 65 64 75 63 65 73 20 72 65 64 75 6e 64 61 6e 63 79 20 62 79 der,.which.reduces.redundancy.by
33360 20 74 72 61 6e 73 6c 61 74 69 6e 67 20 63 68 75 6e 6b 73 20 6f 66 20 64 61 74 61 20 74 6f 20 74 .translating.chunks.of.data.to.t
33380 68 65 69 72 0a 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 64 69 73 74 61 6e 63 65 2d 6c 65 6e 67 heir.corresponding.distance-leng
333a0 74 68 20 70 61 69 72 73 2e 20 54 68 65 20 73 65 63 6f 6e 64 20 73 74 61 67 65 20 69 73 20 61 20 th.pairs..The.second.stage.is.a.
333c0 72 61 6e 67 65 20 65 6e 63 6f 64 65 72 0a 74 68 61 74 20 75 73 65 73 20 61 20 64 69 66 66 65 72 range.encoder.that.uses.a.differ
333e0 65 6e 74 20 70 72 6f 62 61 62 69 6c 69 74 79 20 6d 6f 64 65 6c 20 66 6f 72 20 65 61 63 68 20 74 ent.probability.model.for.each.t
33400 79 70 65 20 6f 66 20 64 61 74 61 3b 0a 64 69 73 74 61 6e 63 65 73 2c 20 6c 65 6e 67 74 68 73 2c ype.of.data;.distances,.lengths,
33420 20 6c 69 74 65 72 61 6c 20 62 79 74 65 73 2c 20 65 74 63 2e 0a 0a 20 20 20 48 65 72 65 20 69 73 .literal.bytes,.etc......Here.is
33440 20 68 6f 77 20 69 74 20 77 6f 72 6b 73 2c 20 73 74 65 70 20 62 79 20 73 74 65 70 3a 0a 0a 20 20 .how.it.works,.step.by.step:....
33460 20 31 29 20 54 68 65 20 6d 65 6d 62 65 72 20 68 65 61 64 65 72 20 69 73 20 77 72 69 74 74 65 6e .1).The.member.header.is.written
33480 20 74 6f 20 74 68 65 20 6f 75 74 70 75 74 20 73 74 72 65 61 6d 2e 0a 0a 20 20 20 32 29 20 54 68 .to.the.output.stream......2).Th
334a0 65 20 66 69 72 73 74 20 62 79 74 65 20 69 73 20 63 6f 64 65 64 20 6c 69 74 65 72 61 6c 6c 79 2c e.first.byte.is.coded.literally,
334c0 20 62 65 63 61 75 73 65 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 70 72 65 76 69 6f 75 73 0a 62 .because.there.are.no.previous.b
334e0 79 74 65 73 20 74 6f 20 77 68 69 63 68 20 74 68 65 20 6d 61 74 63 68 20 66 69 6e 64 65 72 20 63 ytes.to.which.the.match.finder.c
33500 61 6e 20 72 65 66 65 72 20 74 6f 2e 0a 0a 20 20 20 33 29 20 54 68 65 20 6d 61 69 6e 20 65 6e 63 an.refer.to......3).The.main.enc
33520 6f 64 65 72 20 61 64 76 61 6e 63 65 73 20 74 6f 20 74 68 65 20 6e 65 78 74 20 62 79 74 65 20 69 oder.advances.to.the.next.byte.i
33540 6e 20 74 68 65 20 69 6e 70 75 74 20 64 61 74 61 20 61 6e 64 0a 63 61 6c 6c 73 20 74 68 65 20 6d n.the.input.data.and.calls.the.m
33560 61 74 63 68 20 66 69 6e 64 65 72 2e 0a 0a 20 20 20 34 29 20 54 68 65 20 6d 61 74 63 68 20 66 69 atch.finder......4).The.match.fi
33580 6e 64 65 72 20 66 69 6c 6c 73 20 61 6e 20 61 72 72 61 79 20 77 69 74 68 20 74 68 65 20 6d 69 6e nder.fills.an.array.with.the.min
335a0 69 6d 75 6d 20 64 69 73 74 61 6e 63 65 73 20 62 65 66 6f 72 65 0a 74 68 65 20 63 75 72 72 65 6e imum.distances.before.the.curren
335c0 74 20 62 79 74 65 20 77 68 65 72 65 20 61 20 6d 61 74 63 68 20 6f 66 20 61 20 67 69 76 65 6e 20 t.byte.where.a.match.of.a.given.
335e0 6c 65 6e 67 74 68 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 2e 0a 0a 20 20 20 35 29 20 47 6f 20 62 length.can.be.found......5).Go.b
33600 61 63 6b 20 74 6f 20 73 74 65 70 20 33 20 75 6e 74 69 6c 20 61 20 73 65 71 75 65 6e 63 65 20 28 ack.to.step.3.until.a.sequence.(
33620 66 6f 72 6d 65 64 20 6f 66 20 70 61 69 72 73 2c 20 72 65 70 65 61 74 65 64 0a 64 69 73 74 61 6e formed.of.pairs,.repeated.distan
33640 63 65 73 20 61 6e 64 20 6c 69 74 65 72 61 6c 20 62 79 74 65 73 29 20 6f 66 20 6d 69 6e 69 6d 75 ces.and.literal.bytes).of.minimu
33660 6d 20 70 72 69 63 65 20 68 61 73 20 62 65 65 6e 20 66 6f 72 6d 65 64 2e 20 57 68 65 72 65 20 74 m.price.has.been.formed..Where.t
33680 68 65 0a 70 72 69 63 65 20 72 65 70 72 65 73 65 6e 74 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f he.price.represents.the.number.o
336a0 66 20 6f 75 74 70 75 74 20 62 69 74 73 20 70 72 6f 64 75 63 65 64 2e 0a 0a 20 20 20 36 29 20 54 f.output.bits.produced......6).T
336c0 68 65 20 72 61 6e 67 65 20 65 6e 63 6f 64 65 72 20 65 6e 63 6f 64 65 73 20 74 68 65 20 73 65 71 he.range.encoder.encodes.the.seq
336e0 75 65 6e 63 65 20 70 72 6f 64 75 63 65 64 20 62 79 20 74 68 65 20 6d 61 69 6e 0a 65 6e 63 6f 64 uence.produced.by.the.main.encod
33700 65 72 20 61 6e 64 20 73 65 6e 64 73 20 74 68 65 20 70 72 6f 64 75 63 65 64 20 62 79 74 65 73 20 er.and.sends.the.produced.bytes.
33720 74 6f 20 74 68 65 20 6f 75 74 70 75 74 20 73 74 72 65 61 6d 2e 0a 0a 20 20 20 37 29 20 47 6f 20 to.the.output.stream......7).Go.
33740 62 61 63 6b 20 74 6f 20 73 74 65 70 20 33 20 75 6e 74 69 6c 20 74 68 65 20 69 6e 70 75 74 20 64 back.to.step.3.until.the.input.d
33760 61 74 61 20 61 72 65 20 66 69 6e 69 73 68 65 64 20 6f 72 20 75 6e 74 69 6c 20 74 68 65 0a 6d 65 ata.are.finished.or.until.the.me
33780 6d 62 65 72 20 6f 72 20 76 6f 6c 75 6d 65 20 73 69 7a 65 20 6c 69 6d 69 74 73 20 61 72 65 20 72 mber.or.volume.size.limits.are.r
337a0 65 61 63 68 65 64 2e 0a 0a 20 20 20 38 29 20 54 68 65 20 72 61 6e 67 65 20 65 6e 63 6f 64 65 72 eached......8).The.range.encoder
337c0 20 69 73 20 66 6c 75 73 68 65 64 2e 0a 0a 20 20 20 39 29 20 54 68 65 20 6d 65 6d 62 65 72 20 74 .is.flushed......9).The.member.t
337e0 72 61 69 6c 65 72 20 69 73 20 77 72 69 74 74 65 6e 20 74 6f 20 74 68 65 20 6f 75 74 70 75 74 20 railer.is.written.to.the.output.
33800 73 74 72 65 61 6d 2e 0a 0a 20 20 20 31 30 29 20 49 66 20 74 68 65 72 65 20 61 72 65 20 6d 6f 72 stream......10).If.there.are.mor
33820 65 20 64 61 74 61 20 74 6f 20 63 6f 6d 70 72 65 73 73 2c 20 67 6f 20 62 61 63 6b 20 74 6f 20 73 e.data.to.compress,.go.back.to.s
33840 74 65 70 20 31 2e 0a 0a 0a 54 68 65 20 69 64 65 61 73 20 65 6d 62 6f 64 69 65 64 20 69 6e 20 6c tep.1....The.ideas.embodied.in.l
33860 7a 69 70 20 61 72 65 20 64 75 65 20 74 6f 20 28 61 74 20 6c 65 61 73 74 29 20 74 68 65 20 66 6f zip.are.due.to.(at.least).the.fo
33880 6c 6c 6f 77 69 6e 67 20 70 65 6f 70 6c 65 3a 0a 41 62 72 61 68 61 6d 20 4c 65 6d 70 65 6c 20 61 llowing.people:.Abraham.Lempel.a
338a0 6e 64 20 4a 61 63 6f 62 20 5a 69 76 20 28 66 6f 72 20 74 68 65 20 4c 5a 20 61 6c 67 6f 72 69 74 nd.Jacob.Ziv.(for.the.LZ.algorit
338c0 68 6d 29 2c 20 41 6e 64 72 65 79 20 4d 61 72 6b 6f 76 20 28 66 6f 72 0a 74 68 65 20 64 65 66 69 hm),.Andrey.Markov.(for.the.defi
338e0 6e 69 74 69 6f 6e 20 6f 66 20 4d 61 72 6b 6f 76 20 63 68 61 69 6e 73 29 2c 20 47 2e 4e 2e 4e 2e nition.of.Markov.chains),.G.N.N.
33900 20 4d 61 72 74 69 6e 20 28 66 6f 72 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 0a 72 .Martin.(for.the.definition.of.r
33920 61 6e 67 65 20 65 6e 63 6f 64 69 6e 67 29 2c 20 49 67 6f 72 20 50 61 76 6c 6f 76 20 28 66 6f 72 ange.encoding),.Igor.Pavlov.(for
33940 20 70 75 74 74 69 6e 67 20 61 6c 6c 20 74 68 65 20 61 62 6f 76 65 20 74 6f 67 65 74 68 65 72 20 .putting.all.the.above.together.
33960 69 6e 0a 4c 5a 4d 41 29 2c 20 61 6e 64 20 4a 75 6c 69 61 6e 20 53 65 77 61 72 64 20 28 66 6f 72 in.LZMA),.and.Julian.Seward.(for
33980 20 62 7a 69 70 32 27 73 20 43 4c 49 29 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 6c 7a 69 70 2e 69 6e 66 .bzip2's.CLI).....File:.lzip.inf
339a0 6f 2c 20 20 4e 6f 64 65 3a 20 53 74 72 65 61 6d 20 66 6f 72 6d 61 74 2c 20 20 4e 65 78 74 3a 20 o,..Node:.Stream.format,..Next:.
339c0 54 72 61 69 6c 69 6e 67 20 64 61 74 61 2c 20 20 50 72 65 76 3a 20 41 6c 67 6f 72 69 74 68 6d 2c Trailing.data,..Prev:.Algorithm,
339e0 20 20 55 70 3a 20 54 6f 70 0a 0a 37 20 46 6f 72 6d 61 74 20 6f 66 20 74 68 65 20 4c 5a 4d 41 20 ..Up:.Top..7.Format.of.the.LZMA.
33a00 73 74 72 65 61 6d 20 69 6e 20 6c 7a 69 70 20 66 69 6c 65 73 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a stream.in.lzip.files.***********
33a20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a ******************************..
33a40 54 68 65 20 4c 5a 4d 41 20 61 6c 67 6f 72 69 74 68 6d 20 68 61 73 20 74 68 72 65 65 20 70 61 72 The.LZMA.algorithm.has.three.par
33a60 61 6d 65 74 65 72 73 2c 20 63 61 6c 6c 65 64 20 22 73 70 65 63 69 61 6c 20 4c 5a 4d 41 0a 70 72 ameters,.called."special.LZMA.pr
33a80 6f 70 65 72 74 69 65 73 22 2c 20 74 6f 20 61 64 6a 75 73 74 20 69 74 20 66 6f 72 20 73 6f 6d 65 operties",.to.adjust.it.for.some
33aa0 20 6b 69 6e 64 73 20 6f 66 20 62 69 6e 61 72 79 20 64 61 74 61 2e 20 54 68 65 73 65 0a 70 61 72 .kinds.of.binary.data..These.par
33ac0 61 6d 65 74 65 72 73 20 61 72 65 3b 20 27 6c 69 74 65 72 61 6c 5f 63 6f 6e 74 65 78 74 5f 62 69 ameters.are;.'literal_context_bi
33ae0 74 73 27 20 28 77 69 74 68 20 61 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 6f 66 20 33 29 2c ts'.(with.a.default.value.of.3),
33b00 0a 27 6c 69 74 65 72 61 6c 5f 70 6f 73 5f 73 74 61 74 65 5f 62 69 74 73 27 20 28 77 69 74 68 20 .'literal_pos_state_bits'.(with.
33b20 61 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 6f 66 20 30 29 2c 20 61 6e 64 0a 27 70 6f 73 5f a.default.value.of.0),.and.'pos_
33b40 73 74 61 74 65 5f 62 69 74 73 27 20 28 77 69 74 68 20 61 20 64 65 66 61 75 6c 74 20 76 61 6c 75 state_bits'.(with.a.default.valu
33b60 65 20 6f 66 20 32 29 2e 20 41 73 20 61 20 67 65 6e 65 72 61 6c 20 70 75 72 70 6f 73 65 0a 63 6f e.of.2)..As.a.general.purpose.co
33b80 6d 70 72 65 73 73 6f 72 2c 20 6c 7a 69 70 20 6f 6e 6c 79 20 75 73 65 73 20 74 68 65 20 64 65 66 mpressor,.lzip.only.uses.the.def
33ba0 61 75 6c 74 20 76 61 6c 75 65 73 20 66 6f 72 20 74 68 65 73 65 20 70 61 72 61 6d 65 74 65 72 73 ault.values.for.these.parameters
33bc0 2e 20 49 6e 0a 70 61 72 74 69 63 75 6c 61 72 20 27 6c 69 74 65 72 61 6c 5f 70 6f 73 5f 73 74 61 ..In.particular.'literal_pos_sta
33be0 74 65 5f 62 69 74 73 27 20 68 61 73 20 62 65 65 6e 20 6f 70 74 69 6d 69 7a 65 64 20 61 77 61 79 te_bits'.has.been.optimized.away
33c00 20 61 6e 64 20 64 6f 65 73 0a 6e 6f 74 20 65 76 65 6e 20 61 70 70 65 61 72 20 69 6e 20 74 68 65 .and.does.not.even.appear.in.the
33c20 20 63 6f 64 65 2e 0a 0a 20 20 20 4c 7a 69 70 20 61 6c 73 6f 20 66 69 6e 69 73 68 65 73 20 74 68 .code......Lzip.also.finishes.th
33c40 65 20 4c 5a 4d 41 20 73 74 72 65 61 6d 20 77 69 74 68 20 61 6e 20 22 45 6e 64 20 4f 66 20 53 74 e.LZMA.stream.with.an."End.Of.St
33c60 72 65 61 6d 22 20 6d 61 72 6b 65 72 0a 28 74 68 65 20 64 69 73 74 61 6e 63 65 2d 6c 65 6e 67 74 ream".marker.(the.distance-lengt
33c80 68 20 70 61 69 72 20 30 78 46 46 46 46 46 46 46 46 55 2c 20 32 29 2c 20 77 68 69 63 68 20 69 6e h.pair.0xFFFFFFFFU,.2),.which.in
33ca0 20 63 6f 6e 6a 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65 0a 22 6d 65 6d 62 65 72 20 73 69 .conjunction.with.the."member.si
33cc0 7a 65 22 20 66 69 65 6c 64 20 69 6e 20 74 68 65 20 6d 65 6d 62 65 72 20 74 72 61 69 6c 65 72 20 ze".field.in.the.member.trailer.
33ce0 61 6c 6c 6f 77 73 20 74 68 65 20 76 65 72 69 66 69 63 61 74 69 6f 6e 20 6f 66 0a 73 74 72 65 61 allows.the.verification.of.strea
33d00 6d 20 69 6e 74 65 67 72 69 74 79 2e 20 54 68 65 20 4c 5a 4d 41 20 73 74 72 65 61 6d 20 69 6e 20 m.integrity..The.LZMA.stream.in.
33d20 6c 7a 69 70 20 66 69 6c 65 73 20 61 6c 77 61 79 73 20 68 61 73 20 74 68 65 73 65 20 74 77 6f 0a lzip.files.always.has.these.two.
33d40 66 65 61 74 75 72 65 73 20 28 64 65 66 61 75 6c 74 20 70 72 6f 70 65 72 74 69 65 73 20 61 6e 64 features.(default.properties.and
33d60 20 45 4f 53 20 6d 61 72 6b 65 72 29 20 61 6e 64 20 69 73 20 72 65 66 65 72 72 65 64 20 74 6f 20 .EOS.marker).and.is.referred.to.
33d80 69 6e 20 74 68 69 73 0a 64 6f 63 75 6d 65 6e 74 20 61 73 20 4c 5a 4d 41 2d 33 30 32 65 6f 73 20 in.this.document.as.LZMA-302eos.
33da0 6f 72 20 4c 5a 4d 41 2d 6c 7a 69 70 2e 0a 0a 20 20 20 54 68 65 20 73 65 63 6f 6e 64 20 73 74 61 or.LZMA-lzip......The.second.sta
33dc0 67 65 20 6f 66 20 4c 5a 4d 41 20 69 73 20 61 20 72 61 6e 67 65 20 65 6e 63 6f 64 65 72 20 74 68 ge.of.LZMA.is.a.range.encoder.th
33de0 61 74 20 75 73 65 73 20 61 20 64 69 66 66 65 72 65 6e 74 0a 70 72 6f 62 61 62 69 6c 69 74 79 20 at.uses.a.different.probability.
33e00 6d 6f 64 65 6c 20 66 6f 72 20 65 61 63 68 20 74 79 70 65 20 6f 66 20 73 79 6d 62 6f 6c 3b 20 64 model.for.each.type.of.symbol;.d
33e20 69 73 74 61 6e 63 65 73 2c 20 6c 65 6e 67 74 68 73 2c 20 6c 69 74 65 72 61 6c 0a 62 79 74 65 73 istances,.lengths,.literal.bytes
33e40 2c 20 65 74 63 2e 20 52 61 6e 67 65 20 65 6e 63 6f 64 69 6e 67 20 63 6f 6e 63 65 70 74 75 61 6c ,.etc..Range.encoding.conceptual
33e60 6c 79 20 65 6e 63 6f 64 65 73 20 61 6c 6c 20 74 68 65 20 73 79 6d 62 6f 6c 73 20 6f 66 20 74 68 ly.encodes.all.the.symbols.of.th
33e80 65 0a 6d 65 73 73 61 67 65 20 69 6e 74 6f 20 6f 6e 65 20 6e 75 6d 62 65 72 2e 20 55 6e 6c 69 6b e.message.into.one.number..Unlik
33ea0 65 20 48 75 66 66 6d 61 6e 20 63 6f 64 69 6e 67 2c 20 77 68 69 63 68 20 61 73 73 69 67 6e 73 20 e.Huffman.coding,.which.assigns.
33ec0 74 6f 20 65 61 63 68 0a 73 79 6d 62 6f 6c 20 61 20 62 69 74 2d 70 61 74 74 65 72 6e 20 61 6e 64 to.each.symbol.a.bit-pattern.and
33ee0 20 63 6f 6e 63 61 74 65 6e 61 74 65 73 20 61 6c 6c 20 74 68 65 20 62 69 74 2d 70 61 74 74 65 72 .concatenates.all.the.bit-patter
33f00 6e 73 20 74 6f 67 65 74 68 65 72 2c 0a 72 61 6e 67 65 20 65 6e 63 6f 64 69 6e 67 20 63 61 6e 20 ns.together,.range.encoding.can.
33f20 63 6f 6d 70 72 65 73 73 20 6f 6e 65 20 73 79 6d 62 6f 6c 20 74 6f 20 6c 65 73 73 20 74 68 61 6e compress.one.symbol.to.less.than
33f40 20 6f 6e 65 20 62 69 74 2e 20 54 68 65 72 65 66 6f 72 65 0a 74 68 65 20 63 6f 6d 70 72 65 73 73 .one.bit..Therefore.the.compress
33f60 65 64 20 64 61 74 61 20 70 72 6f 64 75 63 65 64 20 62 79 20 61 20 72 61 6e 67 65 20 65 6e 63 6f ed.data.produced.by.a.range.enco
33f80 64 65 72 20 63 61 6e 27 74 20 62 65 20 73 70 6c 69 74 20 69 6e 20 70 69 65 63 65 73 0a 74 68 61 der.can't.be.split.in.pieces.tha
33fa0 74 20 63 6f 75 6c 64 20 62 65 20 69 6e 64 69 76 69 64 75 61 6c 6c 79 20 64 65 73 63 72 69 62 65 t.could.be.individually.describe
33fc0 64 2e 0a 0a 20 20 20 49 74 20 73 65 65 6d 73 20 74 68 61 74 20 74 68 65 20 6f 6e 6c 79 20 77 61 d......It.seems.that.the.only.wa
33fe0 79 20 6f 66 20 64 65 73 63 72 69 62 69 6e 67 20 74 68 65 20 4c 5a 4d 41 2d 33 30 32 65 6f 73 20 y.of.describing.the.LZMA-302eos.
34000 73 74 72 65 61 6d 20 69 73 0a 64 65 73 63 72 69 62 69 6e 67 20 74 68 65 20 61 6c 67 6f 72 69 74 stream.is.describing.the.algorit
34020 68 6d 20 74 68 61 74 20 64 65 63 6f 64 65 73 20 69 74 2e 20 41 6e 64 20 67 69 76 65 6e 20 74 68 hm.that.decodes.it..And.given.th
34040 65 20 6d 61 6e 79 20 64 65 74 61 69 6c 73 0a 61 62 6f 75 74 20 74 68 65 20 72 61 6e 67 65 20 64 e.many.details.about.the.range.d
34060 65 63 6f 64 65 72 20 74 68 61 74 20 6e 65 65 64 20 74 6f 20 62 65 20 64 65 73 63 72 69 62 65 64 ecoder.that.need.to.be.described
34080 20 61 63 63 75 72 61 74 65 6c 79 2c 20 74 68 65 20 73 6f 75 72 63 65 0a 63 6f 64 65 20 6f 66 20 .accurately,.the.source.code.of.
340a0 61 20 72 65 61 6c 20 64 65 63 6f 64 65 72 20 73 65 65 6d 73 20 74 68 65 20 6f 6e 6c 79 20 61 70 a.real.decoder.seems.the.only.ap
340c0 70 72 6f 70 72 69 61 74 65 20 72 65 66 65 72 65 6e 63 65 20 74 6f 20 75 73 65 2e 0a 0a 20 20 20 propriate.reference.to.use......
340e0 57 68 61 74 20 66 6f 6c 6c 6f 77 73 20 69 73 20 61 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 What.follows.is.a.description.of
34100 20 74 68 65 20 64 65 63 6f 64 69 6e 67 20 61 6c 67 6f 72 69 74 68 6d 20 66 6f 72 0a 4c 5a 4d 41 .the.decoding.algorithm.for.LZMA
34120 2d 33 30 32 65 6f 73 20 73 74 72 65 61 6d 73 20 75 73 69 6e 67 20 61 73 20 72 65 66 65 72 65 6e -302eos.streams.using.as.referen
34140 63 65 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 6f 66 20 22 6c 7a 64 22 2c 20 61 6e 0a ce.the.source.code.of."lzd",.an.
34160 65 64 75 63 61 74 69 6f 6e 61 6c 20 64 65 63 6f 6d 70 72 65 73 73 6f 72 20 66 6f 72 20 6c 7a 69 educational.decompressor.for.lzi
34180 70 20 66 69 6c 65 73 20 77 68 69 63 68 20 63 61 6e 20 62 65 20 64 6f 77 6e 6c 6f 61 64 65 64 20 p.files.which.can.be.downloaded.
341a0 66 72 6f 6d 0a 74 68 65 20 6c 7a 69 70 20 64 6f 77 6e 6c 6f 61 64 20 64 69 72 65 63 74 6f 72 79 from.the.lzip.download.directory
341c0 2e 20 54 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 6f 66 20 6c 7a 64 20 69 73 20 69 6e 63 6c ..The.source.code.of.lzd.is.incl
341e0 75 64 65 64 20 69 6e 0a 61 70 70 65 6e 64 69 78 20 41 2e 20 20 2a 4e 6f 74 65 20 52 65 66 65 72 uded.in.appendix.A...*Note.Refer
34200 65 6e 63 65 20 73 6f 75 72 63 65 20 63 6f 64 65 3a 3a 2e 0a 0a 0a 37 2e 31 20 57 68 61 74 20 69 ence.source.code::....7.1.What.i
34220 73 20 63 6f 64 65 64 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 54 68 65 20 4c s.coded.=================..The.L
34240 5a 4d 41 20 73 74 72 65 61 6d 20 69 6e 63 6c 75 64 65 73 20 6c 69 74 65 72 61 6c 73 2c 20 6d 61 ZMA.stream.includes.literals,.ma
34260 74 63 68 65 73 20 61 6e 64 20 72 65 70 65 61 74 65 64 20 6d 61 74 63 68 65 73 20 28 6d 61 74 63 tches.and.repeated.matches.(matc
34280 68 65 73 0a 72 65 75 73 69 6e 67 20 61 20 72 65 63 65 6e 74 6c 79 20 75 73 65 64 20 64 69 73 74 hes.reusing.a.recently.used.dist
342a0 61 6e 63 65 29 2e 20 54 68 65 72 65 20 61 72 65 20 37 20 64 69 66 66 65 72 65 6e 74 20 63 6f 64 ance)..There.are.7.different.cod
342c0 69 6e 67 0a 73 65 71 75 65 6e 63 65 73 3a 0a 0a 42 69 74 20 73 65 71 75 65 6e 63 65 20 20 20 20 ing.sequences:..Bit.sequence....
342e0 20 20 20 20 20 20 20 20 20 20 4e 61 6d 65 20 20 20 20 20 20 20 44 65 73 63 72 69 70 74 69 6f 6e ..........Name.......Description
34300 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .-------------------------------
34320 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
34340 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 0a 30 20 2b 20 62 79 74 65 20 20 20 20 20 20 20 20 20 20 ------------..0.+.byte..........
34360 20 20 20 20 20 20 20 20 6c 69 74 65 72 61 6c 20 20 20 20 6c 69 74 65 72 61 6c 20 62 79 74 65 0a ........literal....literal.byte.
34380 31 20 2b 20 30 20 2b 20 6c 65 6e 20 2b 20 64 69 73 20 20 20 20 20 20 20 20 20 6d 61 74 63 68 20 1.+.0.+.len.+.dis.........match.
343a0 20 20 20 20 20 64 69 73 74 61 6e 63 65 2d 6c 65 6e 67 74 68 20 70 61 69 72 0a 31 20 2b 20 31 20 .....distance-length.pair.1.+.1.
343c0 2b 20 30 20 2b 20 30 20 20 20 20 20 20 20 20 20 20 20 20 20 73 68 6f 72 74 72 65 70 20 20 20 31 +.0.+.0.............shortrep...1
343e0 20 62 79 74 65 20 6d 61 74 63 68 20 61 74 20 6c 61 74 65 73 74 20 75 73 65 64 20 64 69 73 74 61 .byte.match.at.latest.used.dista
34400 6e 63 65 0a 31 20 2b 20 31 20 2b 20 30 20 2b 20 31 20 2b 20 6c 65 6e 20 20 20 20 20 20 20 72 65 nce.1.+.1.+.0.+.1.+.len.......re
34420 70 30 20 20 20 20 20 20 20 6c 65 6e 20 62 79 74 65 73 20 6d 61 74 63 68 20 61 74 20 6c 61 74 65 p0.......len.bytes.match.at.late
34440 73 74 20 75 73 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 st.used.........................
34460 20 20 20 20 20 20 20 20 20 20 20 20 20 64 69 73 74 61 6e 63 65 0a 31 20 2b 20 31 20 2b 20 31 20 .............distance.1.+.1.+.1.
34480 2b 20 30 20 2b 20 6c 65 6e 20 20 20 20 20 20 20 72 65 70 31 20 20 20 20 20 20 20 6c 65 6e 20 62 +.0.+.len.......rep1.......len.b
344a0 79 74 65 73 20 6d 61 74 63 68 20 61 74 20 73 65 63 6f 6e 64 20 6c 61 74 65 73 74 0a 20 20 20 20 ytes.match.at.second.latest.....
344c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
344e0 20 75 73 65 64 20 64 69 73 74 61 6e 63 65 0a 31 20 2b 20 31 20 2b 20 31 20 2b 20 31 20 2b 20 30 .used.distance.1.+.1.+.1.+.1.+.0
34500 20 2b 20 6c 65 6e 20 20 20 72 65 70 32 20 20 20 20 20 20 20 6c 65 6e 20 62 79 74 65 73 20 6d 61 .+.len...rep2.......len.bytes.ma
34520 74 63 68 20 61 74 20 74 68 69 72 64 20 6c 61 74 65 73 74 20 75 73 65 64 0a 20 20 20 20 20 20 20 tch.at.third.latest.used........
34540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 69 ..............................di
34560 73 74 61 6e 63 65 0a 31 20 2b 20 31 20 2b 20 31 20 2b 20 31 20 2b 20 31 20 2b 20 6c 65 6e 20 20 stance.1.+.1.+.1.+.1.+.1.+.len..
34580 20 72 65 70 33 20 20 20 20 20 20 20 6c 65 6e 20 62 79 74 65 73 20 6d 61 74 63 68 20 61 74 20 66 .rep3.......len.bytes.match.at.f
345a0 6f 75 72 74 68 20 6c 61 74 65 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ourth.latest....................
345c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 73 65 64 20 64 69 73 74 61 6e 63 65 0a ..................used.distance.
345e0 0a 0a 20 20 20 49 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 73 2c 20 6d 75 .....In.the.following.tables,.mu
34600 6c 74 69 62 69 74 20 73 65 71 75 65 6e 63 65 73 20 61 72 65 20 63 6f 64 65 64 20 69 6e 20 6e 6f ltibit.sequences.are.coded.in.no
34620 72 6d 61 6c 0a 6f 72 64 65 72 2c 20 66 72 6f 6d 20 4d 53 42 20 74 6f 20 4c 53 42 2c 20 65 78 63 rmal.order,.from.MSB.to.LSB,.exc
34640 65 70 74 20 77 68 65 72 65 20 6e 6f 74 65 64 20 6f 74 68 65 72 77 69 73 65 2e 0a 0a 20 20 20 4c ept.where.noted.otherwise......L
34660 65 6e 67 74 68 73 20 28 74 68 65 20 27 6c 65 6e 27 20 69 6e 20 74 68 65 20 74 61 62 6c 65 20 61 engths.(the.'len'.in.the.table.a
34680 62 6f 76 65 29 20 61 72 65 20 63 6f 64 65 64 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 0a 0a 42 69 74 bove).are.coded.as.follows:..Bit
346a0 20 73 65 71 75 65 6e 63 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .sequence.......................
346c0 20 20 44 65 73 63 72 69 70 74 69 6f 6e 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ..Description.------------------
346e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
34700 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 0a 30 20 2b 20 33 20 ------------------------..0.+.3.
34720 62 69 74 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c bits...........................l
34740 65 6e 67 74 68 73 20 66 72 6f 6d 20 32 20 74 6f 20 39 0a 31 20 2b 20 30 20 2b 20 33 20 62 69 74 engths.from.2.to.9.1.+.0.+.3.bit
34760 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 65 6e 67 74 68 73 20 s.......................lengths.
34780 66 72 6f 6d 20 31 30 20 74 6f 20 31 37 0a 31 20 2b 20 31 20 2b 20 38 20 62 69 74 73 20 20 20 20 from.10.to.17.1.+.1.+.8.bits....
347a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 65 6e 67 74 68 73 20 66 72 6f 6d 20 ...................lengths.from.
347c0 31 38 20 74 6f 20 32 37 33 0a 0a 0a 20 20 20 54 68 65 20 63 6f 64 69 6e 67 20 6f 66 20 64 69 73 18.to.273......The.coding.of.dis
347e0 74 61 6e 63 65 73 20 69 73 20 61 20 6c 69 74 74 6c 65 20 6d 6f 72 65 20 63 6f 6d 70 6c 69 63 61 tances.is.a.little.more.complica
34800 74 65 64 2c 20 73 6f 20 49 27 6c 6c 20 62 65 67 69 6e 0a 65 78 70 6c 61 69 6e 69 6e 67 20 61 20 ted,.so.I'll.begin.explaining.a.
34820 73 69 6d 70 6c 65 72 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 65 6e 63 6f 64 69 6e 67 2e simpler.version.of.the.encoding.
34840 0a 0a 20 20 20 49 6d 61 67 69 6e 65 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 63 6f 64 65 20 61 20 .....Imagine.you.need.to.code.a.
34860 6e 75 6d 62 65 72 20 66 72 6f 6d 20 30 20 74 6f 20 32 5e 33 32 20 2d 20 31 2c 20 61 6e 64 20 79 number.from.0.to.2^32.-.1,.and.y
34880 6f 75 20 77 61 6e 74 0a 74 6f 20 64 6f 20 69 74 20 69 6e 20 61 20 77 61 79 20 74 68 61 74 20 70 ou.want.to.do.it.in.a.way.that.p
348a0 72 6f 64 75 63 65 73 20 73 68 6f 72 74 65 72 20 63 6f 64 65 73 20 66 6f 72 20 74 68 65 20 73 6d roduces.shorter.codes.for.the.sm
348c0 61 6c 6c 65 72 20 6e 75 6d 62 65 72 73 2e 0a 59 6f 75 20 6d 61 79 20 66 69 72 73 74 20 73 65 6e aller.numbers..You.may.first.sen
348e0 64 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 6d 6f 73 74 20 73 69 67 6e 69 d.the.position.of.the.most.signi
34900 66 69 63 61 6e 74 20 62 69 74 20 74 68 61 74 20 69 73 20 73 65 74 0a 74 6f 20 31 2c 20 77 68 69 ficant.bit.that.is.set.to.1,.whi
34920 63 68 20 79 6f 75 20 6d 61 79 20 66 69 6e 64 20 62 79 20 6d 61 6b 69 6e 67 20 61 20 62 69 74 20 ch.you.may.find.by.making.a.bit.
34940 73 63 61 6e 20 66 72 6f 6d 20 74 68 65 20 6c 65 66 74 20 28 66 72 6f 6d 20 74 68 65 0a 4d 53 42 scan.from.the.left.(from.the.MSB
34960 29 2e 20 41 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 30 20 6d 65 61 6e 73 20 74 68 61 74 20 74 68 )..A.position.of.0.means.that.th
34980 65 20 6e 75 6d 62 65 72 20 69 73 20 30 20 28 6e 6f 20 62 69 74 20 69 73 20 73 65 74 29 2c 20 31 e.number.is.0.(no.bit.is.set),.1
349a0 0a 6d 65 61 6e 73 20 74 68 65 20 4c 53 42 20 69 73 20 74 68 65 20 66 69 72 73 74 20 62 69 74 20 .means.the.LSB.is.the.first.bit.
349c0 73 65 74 20 28 74 68 65 20 6e 75 6d 62 65 72 20 69 73 20 31 29 2c 20 61 6e 64 20 33 32 20 6d 65 set.(the.number.is.1),.and.32.me
349e0 61 6e 73 20 74 68 65 0a 4d 53 42 20 69 73 20 73 65 74 20 28 69 2e 65 2e 2c 20 74 68 65 20 6e 75 ans.the.MSB.is.set.(i.e.,.the.nu
34a00 6d 62 65 72 20 69 73 20 3e 3d 20 30 78 38 30 30 30 30 30 30 30 29 2e 20 4c 65 74 27 73 20 63 61 mber.is.>=.0x80000000)..Let's.ca
34a20 6c 6c 20 74 68 69 73 20 62 69 74 0a 70 6f 73 69 74 69 6f 6e 20 61 20 22 73 6c 6f 74 22 2e 20 54 ll.this.bit.position.a."slot"..T
34a40 68 65 6e 2c 20 69 66 20 73 6c 6f 74 20 69 73 20 3e 20 31 2c 20 79 6f 75 20 73 65 6e 64 20 74 68 hen,.if.slot.is.>.1,.you.send.th
34a60 65 20 72 65 6d 61 69 6e 69 6e 67 0a 73 6c 6f 74 20 2d 20 31 20 62 69 74 73 2e 20 4c 65 74 27 73 e.remaining.slot.-.1.bits..Let's
34a80 20 63 61 6c 6c 20 74 68 65 73 65 20 62 69 74 73 20 22 64 69 72 65 63 74 5f 62 69 74 73 22 20 62 .call.these.bits."direct_bits".b
34aa0 65 63 61 75 73 65 20 74 68 65 79 20 61 72 65 0a 63 6f 64 65 64 20 64 69 72 65 63 74 6c 79 20 62 ecause.they.are.coded.directly.b
34ac0 79 20 76 61 6c 75 65 20 69 6e 73 74 65 61 64 20 6f 66 20 69 6e 64 69 72 65 63 74 6c 79 20 62 79 y.value.instead.of.indirectly.by
34ae0 20 70 6f 73 69 74 69 6f 6e 2e 0a 0a 20 20 20 54 68 65 20 69 6e 63 6f 6e 76 65 6e 69 65 6e 74 20 .position......The.inconvenient.
34b00 6f 66 20 74 68 69 73 20 73 69 6d 70 6c 65 20 6d 65 74 68 6f 64 20 69 73 20 74 68 61 74 20 69 74 of.this.simple.method.is.that.it
34b20 20 6e 65 65 64 73 20 36 20 62 69 74 73 20 74 6f 0a 63 6f 64 65 20 74 68 65 20 73 6c 6f 74 2c 20 .needs.6.bits.to.code.the.slot,.
34b40 62 75 74 20 69 74 20 6a 75 73 74 20 75 73 65 73 20 33 33 20 6f 66 20 74 68 65 20 36 34 20 70 6f but.it.just.uses.33.of.the.64.po
34b60 73 73 69 62 6c 65 20 76 61 6c 75 65 73 2c 20 77 61 73 74 69 6e 67 0a 61 6c 6d 6f 73 74 20 68 61 ssible.values,.wasting.almost.ha
34b80 6c 66 20 6f 66 20 74 68 65 20 63 6f 64 65 73 2e 0a 0a 20 20 20 54 68 65 20 69 6e 74 65 6c 6c 69 lf.of.the.codes......The.intelli
34ba0 67 65 6e 74 20 74 72 69 63 6b 20 6f 66 20 4c 5a 4d 41 20 69 73 20 74 68 61 74 20 69 74 20 65 6e gent.trick.of.LZMA.is.that.it.en
34bc0 63 6f 64 65 73 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 0a 6d 6f 73 74 20 73 codes.the.position.of.the.most.s
34be0 69 67 6e 69 66 69 63 61 6e 74 20 62 69 74 20 73 65 74 2c 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 ignificant.bit.set,.along.with.t
34c00 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 6e 65 78 74 20 62 69 74 2c 20 69 6e 20 74 68 65 he.value.of.the.next.bit,.in.the
34c20 0a 73 61 6d 65 20 36 20 62 69 74 73 20 74 68 61 74 20 77 6f 75 6c 64 20 74 61 6b 65 20 74 6f 20 .same.6.bits.that.would.take.to.
34c40 65 6e 63 6f 64 65 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 61 6c 6f 6e 65 2e 20 54 68 69 73 20 encode.the.position.alone..This.
34c60 73 65 65 6d 73 20 74 6f 0a 6e 65 65 64 20 36 36 20 73 6c 6f 74 73 20 28 32 20 2a 20 70 6f 73 69 seems.to.need.66.slots.(2.*.posi
34c80 74 69 6f 6e 20 2b 20 6e 65 78 74 5f 62 69 74 29 2c 20 62 75 74 20 66 6f 72 20 73 6c 6f 74 73 20 tion.+.next_bit),.but.for.slots.
34ca0 30 20 61 6e 64 20 31 20 74 68 65 72 65 20 69 73 0a 6e 6f 20 6e 65 78 74 20 62 69 74 2c 20 73 6f 0.and.1.there.is.no.next.bit,.so
34cc0 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 6e 65 65 64 65 64 20 73 6c 6f 74 73 20 69 73 20 36 .the.number.of.needed.slots.is.6
34ce0 34 20 28 30 20 74 6f 20 36 33 29 2e 0a 0a 20 20 20 54 68 65 20 36 20 62 69 74 73 20 72 65 70 72 4.(0.to.63)......The.6.bits.repr
34d00 65 73 65 6e 74 69 6e 67 20 74 68 69 73 20 22 73 6c 6f 74 20 6e 75 6d 62 65 72 22 20 61 72 65 20 esenting.this."slot.number".are.
34d20 74 68 65 6e 20 63 6f 6e 74 65 78 74 2d 63 6f 64 65 64 2e 20 49 66 0a 74 68 65 20 64 69 73 74 61 then.context-coded..If.the.dista
34d40 6e 63 65 20 69 73 20 3e 3d 20 34 2c 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 62 69 74 73 20 nce.is.>=.4,.the.remaining.bits.
34d60 61 72 65 20 63 6f 64 65 64 20 61 73 20 66 6f 6c 6c 6f 77 73 2e 0a 27 64 69 72 65 63 74 5f 62 69 are.coded.as.follows..'direct_bi
34d80 74 73 27 20 69 73 20 74 68 65 20 61 6d 6f 75 6e 74 20 6f 66 20 72 65 6d 61 69 6e 69 6e 67 20 62 ts'.is.the.amount.of.remaining.b
34da0 69 74 73 20 28 66 72 6f 6d 20 30 20 74 6f 20 33 30 29 20 6e 65 65 64 65 64 20 74 6f 0a 66 6f 72 its.(from.0.to.30).needed.to.for
34dc0 6d 20 61 20 63 6f 6d 70 6c 65 74 65 20 64 69 73 74 61 6e 63 65 2c 20 61 6e 64 20 69 73 20 63 61 m.a.complete.distance,.and.is.ca
34de0 6c 63 75 6c 61 74 65 64 20 61 73 20 28 73 6c 6f 74 20 3e 3e 20 31 29 20 2d 20 31 2e 20 20 49 66 lculated.as.(slot.>>.1).-.1...If
34e00 20 61 0a 64 69 73 74 61 6e 63 65 20 6e 65 65 64 73 20 36 20 6f 72 20 6d 6f 72 65 20 64 69 72 65 .a.distance.needs.6.or.more.dire
34e20 63 74 5f 62 69 74 73 2c 20 74 68 65 20 6c 61 73 74 20 34 20 62 69 74 73 20 61 72 65 20 63 6f 64 ct_bits,.the.last.4.bits.are.cod
34e40 65 64 0a 73 65 70 61 72 61 74 65 6c 79 2e 20 54 68 65 20 6c 61 73 74 20 70 69 65 63 65 20 28 61 ed.separately..The.last.piece.(a
34e60 6c 6c 20 74 68 65 20 64 69 72 65 63 74 5f 62 69 74 73 20 66 6f 72 20 64 69 73 74 61 6e 63 65 73 ll.the.direct_bits.for.distances
34e80 20 34 20 74 6f 20 31 32 37 0a 6f 72 20 74 68 65 20 6c 61 73 74 20 34 20 62 69 74 73 20 66 6f 72 .4.to.127.or.the.last.4.bits.for
34ea0 20 64 69 73 74 61 6e 63 65 73 20 3e 3d 20 31 32 38 29 20 69 73 20 63 6f 6e 74 65 78 74 2d 63 6f .distances.>=.128).is.context-co
34ec0 64 65 64 20 69 6e 20 72 65 76 65 72 73 65 0a 6f 72 64 65 72 20 28 66 72 6f 6d 20 4c 53 42 20 74 ded.in.reverse.order.(from.LSB.t
34ee0 6f 20 4d 53 42 29 2e 20 46 6f 72 20 64 69 73 74 61 6e 63 65 73 20 3e 3d 20 31 32 38 2c 20 74 68 o.MSB)..For.distances.>=.128,.th
34f00 65 20 27 64 69 72 65 63 74 5f 62 69 74 73 20 2d 20 34 27 0a 70 61 72 74 20 69 73 20 63 6f 64 65 e.'direct_bits.-.4'.part.is.code
34f20 64 20 77 69 74 68 20 66 69 78 65 64 20 30 2e 35 20 70 72 6f 62 61 62 69 6c 69 74 79 2e 0a 0a 42 d.with.fixed.0.5.probability...B
34f40 69 74 20 73 65 71 75 65 6e 63 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 it.sequence.....................
34f60 20 20 20 20 44 65 73 63 72 69 70 74 69 6f 6e 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ....Description.----------------
34f80 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
34fa0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 0a 73 6c 6f 74 --------------------------..slot
34fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
34fe0 20 64 69 73 74 61 6e 63 65 73 20 66 72 6f 6d 20 30 20 74 6f 20 33 0a 73 6c 6f 74 20 2b 20 64 69 .distances.from.0.to.3.slot.+.di
35000 72 65 63 74 5f 62 69 74 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 69 73 74 rect_bits...................dist
35020 61 6e 63 65 73 20 66 72 6f 6d 20 34 20 74 6f 20 31 32 37 0a 73 6c 6f 74 20 2b 20 28 64 69 72 65 ances.from.4.to.127.slot.+.(dire
35040 63 74 5f 62 69 74 73 20 2d 20 34 29 20 2b 20 34 20 62 69 74 73 20 20 20 20 64 69 73 74 61 6e 63 ct_bits.-.4).+.4.bits....distanc
35060 65 73 20 66 72 6f 6d 20 31 32 38 20 74 6f 20 32 5e 33 32 20 2d 20 31 0a 0a 0a 37 2e 32 20 54 68 es.from.128.to.2^32.-.1...7.2.Th
35080 65 20 63 6f 64 69 6e 67 20 63 6f 6e 74 65 78 74 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d e.coding.contexts.==============
350a0 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 54 68 65 73 65 20 63 6f 6e 74 65 78 74 73 20 28 27 42 69 74 5f =========..These.contexts.('Bit_
350c0 6d 6f 64 65 6c 27 20 69 6e 20 74 68 65 20 73 6f 75 72 63 65 29 2c 20 61 72 65 20 69 6e 74 65 67 model'.in.the.source),.are.integ
350e0 65 72 73 20 6f 72 20 61 72 72 61 79 73 20 6f 66 0a 69 6e 74 65 67 65 72 73 20 72 65 70 72 65 73 ers.or.arrays.of.integers.repres
35100 65 6e 74 69 6e 67 20 74 68 65 20 70 72 6f 62 61 62 69 6c 69 74 79 20 6f 66 20 74 68 65 20 63 6f enting.the.probability.of.the.co
35120 72 72 65 73 70 6f 6e 64 69 6e 67 20 62 69 74 20 62 65 69 6e 67 20 30 2e 0a 0a 20 20 20 54 68 65 rresponding.bit.being.0......The
35140 20 69 6e 64 69 63 65 73 20 75 73 65 64 20 69 6e 20 74 68 65 73 65 20 61 72 72 61 79 73 20 61 72 .indices.used.in.these.arrays.ar
35160 65 3a 0a 0a 27 73 74 61 74 65 27 0a 20 20 20 20 20 41 20 73 74 61 74 65 20 6d 61 63 68 69 6e 65 e:..'state'......A.state.machine
35180 20 28 27 53 74 61 74 65 27 20 69 6e 20 74 68 65 20 73 6f 75 72 63 65 29 20 77 69 74 68 20 31 32 .('State'.in.the.source).with.12
351a0 20 73 74 61 74 65 73 20 28 30 20 74 6f 20 31 31 29 2c 0a 20 20 20 20 20 63 6f 64 69 6e 67 20 74 .states.(0.to.11),......coding.t
351c0 68 65 20 6c 61 74 65 73 74 20 32 20 74 6f 20 34 20 74 79 70 65 73 20 6f 66 20 73 65 71 75 65 6e he.latest.2.to.4.types.of.sequen
351e0 63 65 73 20 70 72 6f 63 65 73 73 65 64 2e 20 54 68 65 20 69 6e 69 74 69 61 6c 0a 20 20 20 20 20 ces.processed..The.initial......
35200 73 74 61 74 65 20 69 73 20 30 2e 0a 0a 27 70 6f 73 5f 73 74 61 74 65 27 0a 20 20 20 20 20 56 61 state.is.0...'pos_state'......Va
35220 6c 75 65 20 6f 66 20 74 68 65 20 32 20 6c 65 61 73 74 20 73 69 67 6e 69 66 69 63 61 6e 74 20 62 lue.of.the.2.least.significant.b
35240 69 74 73 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 6f 73 69 74 69 6f 6e 20 69 6e 0a 20 its.of.the.current.position.in..
35260 20 20 20 20 74 68 65 20 64 65 63 6f 64 65 64 20 64 61 74 61 2e 0a 0a 27 6c 69 74 65 72 61 6c 5f ....the.decoded.data...'literal_
35280 73 74 61 74 65 27 0a 20 20 20 20 20 56 61 6c 75 65 20 6f 66 20 74 68 65 20 33 20 6d 6f 73 74 20 state'......Value.of.the.3.most.
352a0 73 69 67 6e 69 66 69 63 61 6e 74 20 62 69 74 73 20 6f 66 20 74 68 65 20 6c 61 74 65 73 74 20 62 significant.bits.of.the.latest.b
352c0 79 74 65 20 64 65 63 6f 64 65 64 2e 0a 0a 27 6c 65 6e 5f 73 74 61 74 65 27 0a 20 20 20 20 20 43 yte.decoded...'len_state'......C
352e0 6f 64 65 64 20 76 61 6c 75 65 20 6f 66 20 6c 65 6e 67 74 68 20 28 6c 65 6e 67 74 68 20 2d 20 32 oded.value.of.length.(length.-.2
35300 29 2c 20 77 69 74 68 20 61 20 6d 61 78 69 6d 75 6d 20 6f 66 20 33 2e 20 54 68 65 0a 20 20 20 20 ),.with.a.maximum.of.3..The.....
35320 20 72 65 73 75 6c 74 69 6e 67 20 76 61 6c 75 65 20 69 73 20 69 6e 20 74 68 65 20 72 61 6e 67 65 .resulting.value.is.in.the.range
35340 20 30 20 74 6f 20 33 2e 0a 0a 0a 20 20 20 49 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 .0.to.3.......In.the.following.t
35360 61 62 6c 65 2c 20 27 21 6c 69 74 65 72 61 6c 27 20 69 73 20 61 6e 79 20 73 65 71 75 65 6e 63 65 able,.'!literal'.is.any.sequence
35380 20 65 78 63 65 70 74 20 61 20 6c 69 74 65 72 61 6c 0a 62 79 74 65 2e 20 27 72 65 70 27 20 69 73 .except.a.literal.byte..'rep'.is
353a0 20 61 6e 79 20 6f 6e 65 20 6f 66 20 27 72 65 70 30 27 2c 20 27 72 65 70 31 27 2c 20 27 72 65 70 .any.one.of.'rep0',.'rep1',.'rep
353c0 32 27 20 6f 72 20 27 72 65 70 33 27 2e 20 54 68 65 20 74 79 70 65 73 0a 6f 66 20 70 72 65 76 69 2'.or.'rep3'..The.types.of.previ
353e0 6f 75 73 20 73 65 71 75 65 6e 63 65 73 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 65 ous.sequences.corresponding.to.e
35400 61 63 68 20 73 74 61 74 65 20 61 72 65 3a 0a 0a 53 74 61 74 65 20 20 20 54 79 70 65 73 20 6f 66 ach.state.are:..State...Types.of
35420 20 70 72 65 76 69 6f 75 73 20 73 65 71 75 65 6e 63 65 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .previous.sequences.------------
35440 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
35460 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 0a 30 20 20 20 20 20 20 20 6c 69 74 65 72 61 6c 2c 20 6c ------------..0.......literal,.l
35480 69 74 65 72 61 6c 2c 20 6c 69 74 65 72 61 6c 0a 31 20 20 20 20 20 20 20 6d 61 74 63 68 2c 20 6c iteral,.literal.1.......match,.l
354a0 69 74 65 72 61 6c 2c 20 6c 69 74 65 72 61 6c 0a 32 20 20 20 20 20 20 20 72 65 70 20 6f 72 20 28 iteral,.literal.2.......rep.or.(
354c0 21 6c 69 74 65 72 61 6c 2c 20 73 68 6f 72 74 72 65 70 29 2c 20 6c 69 74 65 72 61 6c 2c 20 6c 69 !literal,.shortrep),.literal,.li
354e0 74 65 72 61 6c 0a 33 20 20 20 20 20 20 20 6c 69 74 65 72 61 6c 2c 20 73 68 6f 72 74 72 65 70 2c teral.3.......literal,.shortrep,
35500 20 6c 69 74 65 72 61 6c 2c 20 6c 69 74 65 72 61 6c 0a 34 20 20 20 20 20 20 20 6d 61 74 63 68 2c .literal,.literal.4.......match,
35520 20 6c 69 74 65 72 61 6c 0a 35 20 20 20 20 20 20 20 72 65 70 20 6f 72 20 28 21 6c 69 74 65 72 61 .literal.5.......rep.or.(!litera
35540 6c 2c 20 73 68 6f 72 74 72 65 70 29 2c 20 6c 69 74 65 72 61 6c 0a 36 20 20 20 20 20 20 20 6c 69 l,.shortrep),.literal.6.......li
35560 74 65 72 61 6c 2c 20 73 68 6f 72 74 72 65 70 2c 20 6c 69 74 65 72 61 6c 0a 37 20 20 20 20 20 20 teral,.shortrep,.literal.7......
35580 20 6c 69 74 65 72 61 6c 2c 20 6d 61 74 63 68 0a 38 20 20 20 20 20 20 20 6c 69 74 65 72 61 6c 2c .literal,.match.8.......literal,
355a0 20 72 65 70 0a 39 20 20 20 20 20 20 20 6c 69 74 65 72 61 6c 2c 20 73 68 6f 72 74 72 65 70 0a 31 .rep.9.......literal,.shortrep.1
355c0 30 20 20 20 20 20 20 21 6c 69 74 65 72 61 6c 2c 20 6d 61 74 63 68 0a 31 31 20 20 20 20 20 20 21 0......!literal,.match.11......!
355e0 6c 69 74 65 72 61 6c 2c 20 28 72 65 70 20 6f 72 20 73 68 6f 72 74 72 65 70 29 0a 0a 0a 20 20 20 literal,.(rep.or.shortrep)......
35600 54 68 65 20 63 6f 6e 74 65 78 74 73 20 66 6f 72 20 64 65 63 6f 64 69 6e 67 20 74 68 65 20 74 79 The.contexts.for.decoding.the.ty
35620 70 65 20 6f 66 20 63 6f 64 69 6e 67 20 73 65 71 75 65 6e 63 65 20 61 72 65 3a 0a 0a 4e 61 6d 65 pe.of.coding.sequence.are:..Name
35640 20 20 20 20 20 20 20 20 20 20 20 49 6e 64 69 63 65 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...........Indices..............
35660 20 20 20 20 20 20 20 20 20 55 73 65 64 20 77 68 65 6e 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .........Used.when.-------------
35680 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
356a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 0a ------------------------------..
356c0 62 6d 5f 6d 61 74 63 68 20 20 20 20 20 20 20 73 74 61 74 65 2c 20 70 6f 73 5f 73 74 61 74 65 20 bm_match.......state,.pos_state.
356e0 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 71 75 65 6e 63 65 20 73 74 61 72 74 0a 62 6d 5f 72 .............sequence.start.bm_r
35700 65 70 20 20 20 20 20 20 20 20 20 73 74 61 74 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ep.........state................
35720 20 20 20 20 20 20 20 20 20 61 66 74 65 72 20 73 65 71 75 65 6e 63 65 20 31 0a 62 6d 5f 72 65 70 .........after.sequence.1.bm_rep
35740 30 20 20 20 20 20 20 20 20 73 74 61 74 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0........state..................
35760 20 20 20 20 20 20 20 61 66 74 65 72 20 73 65 71 75 65 6e 63 65 20 31 31 0a 62 6d 5f 72 65 70 31 .......after.sequence.11.bm_rep1
35780 20 20 20 20 20 20 20 20 73 74 61 74 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........state...................
357a0 20 20 20 20 20 20 61 66 74 65 72 20 73 65 71 75 65 6e 63 65 20 31 31 31 0a 62 6d 5f 72 65 70 32 ......after.sequence.111.bm_rep2
357c0 20 20 20 20 20 20 20 20 73 74 61 74 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........state...................
357e0 20 20 20 20 20 20 61 66 74 65 72 20 73 65 71 75 65 6e 63 65 20 31 31 31 31 0a 62 6d 5f 6c 65 6e ......after.sequence.1111.bm_len
35800 20 20 20 20 20 20 20 20 20 73 74 61 74 65 2c 20 70 6f 73 5f 73 74 61 74 65 20 20 20 20 20 20 20 .........state,.pos_state.......
35820 20 20 20 20 20 20 20 61 66 74 65 72 20 73 65 71 75 65 6e 63 65 20 31 31 30 0a 0a 0a 20 20 20 54 .......after.sequence.110......T
35840 68 65 20 63 6f 6e 74 65 78 74 73 20 66 6f 72 20 64 65 63 6f 64 69 6e 67 20 64 69 73 74 61 6e 63 he.contexts.for.decoding.distanc
35860 65 73 20 61 72 65 3a 0a 0a 4e 61 6d 65 20 20 20 20 20 20 20 20 20 20 20 49 6e 64 69 63 65 73 20 es.are:..Name...........Indices.
35880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 73 65 64 20 77 68 65 6e 0a ......................Used.when.
358a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
358c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
358e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 0a 62 6d 5f 64 69 73 5f 73 6c 6f 74 20 20 20 20 6c 65 6e 5f -----------..bm_dis_slot....len_
35900 73 74 61 74 65 2c 20 62 69 74 20 74 72 65 65 20 20 20 20 20 20 20 20 20 20 20 64 69 73 74 61 6e state,.bit.tree...........distan
35920 63 65 20 73 74 61 72 74 0a 62 6d 5f 64 69 73 20 20 20 20 20 20 20 20 20 72 65 76 65 72 73 65 20 ce.start.bm_dis.........reverse.
35940 62 69 74 20 74 72 65 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 66 74 65 72 20 73 6c 6f 74 bit.tree..............after.slot
35960 73 20 34 20 74 6f 20 31 33 0a 62 6d 5f 61 6c 69 67 6e 20 20 20 20 20 20 20 72 65 76 65 72 73 65 s.4.to.13.bm_align.......reverse
35980 20 62 69 74 20 74 72 65 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 64 69 73 74 61 .bit.tree..............for.dista
359a0 6e 63 65 73 20 3e 3d 20 31 32 38 2c 20 61 66 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 nces.>=.128,.after..............
359c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
359e0 66 69 78 65 64 20 70 72 6f 62 61 62 69 6c 69 74 79 20 62 69 74 73 0a 0a 0a 20 20 20 54 68 65 72 fixed.probability.bits......Ther
35a00 65 20 61 72 65 20 74 77 6f 20 73 65 70 61 72 61 74 65 20 73 65 74 73 20 6f 66 20 63 6f 6e 74 65 e.are.two.separate.sets.of.conte
35a20 78 74 73 20 66 6f 72 20 6c 65 6e 67 74 68 73 20 28 27 4c 65 6e 5f 6d 6f 64 65 6c 27 20 69 6e 0a xts.for.lengths.('Len_model'.in.
35a40 74 68 65 20 73 6f 75 72 63 65 29 2e 20 4f 6e 65 20 66 6f 72 20 6e 6f 72 6d 61 6c 20 6d 61 74 63 the.source)..One.for.normal.matc
35a60 68 65 73 2c 20 74 68 65 20 6f 74 68 65 72 20 66 6f 72 20 72 65 70 65 61 74 65 64 20 6d 61 74 63 hes,.the.other.for.repeated.matc
35a80 68 65 73 2e 20 54 68 65 0a 63 6f 6e 74 65 78 74 73 20 69 6e 20 65 61 63 68 20 4c 65 6e 5f 6d 6f hes..The.contexts.in.each.Len_mo
35aa0 64 65 6c 20 61 72 65 20 28 73 65 65 20 27 64 65 63 6f 64 65 5f 6c 65 6e 27 20 69 6e 20 74 68 65 del.are.(see.'decode_len'.in.the
35ac0 20 73 6f 75 72 63 65 29 3a 0a 0a 4e 61 6d 65 20 20 20 20 20 20 20 20 20 20 20 49 6e 64 69 63 65 .source):..Name...........Indice
35ae0 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 73 65 64 20 77 68 65 s.......................Used.whe
35b00 6e 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d n.------------------------------
35b20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
35b40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 0a 63 68 6f 69 63 65 31 20 20 20 20 20 20 20 20 6e 6f -------------..choice1........no
35b60 6e 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 65 6e 67 ne..........................leng
35b80 74 68 20 73 74 61 72 74 0a 63 68 6f 69 63 65 32 20 20 20 20 20 20 20 20 6e 6f 6e 65 20 20 20 20 th.start.choice2........none....
35ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 66 74 65 72 20 73 65 71 75 ......................after.sequ
35bc0 65 6e 63 65 20 31 0a 62 6d 5f 6c 6f 77 20 20 20 20 20 20 20 20 20 70 6f 73 5f 73 74 61 74 65 2c ence.1.bm_low.........pos_state,
35be0 20 62 69 74 20 74 72 65 65 20 20 20 20 20 20 20 20 20 20 20 61 66 74 65 72 20 73 65 71 75 65 6e .bit.tree...........after.sequen
35c00 63 65 20 30 0a 62 6d 5f 6d 69 64 20 20 20 20 20 20 20 20 20 70 6f 73 5f 73 74 61 74 65 2c 20 62 ce.0.bm_mid.........pos_state,.b
35c20 69 74 20 74 72 65 65 20 20 20 20 20 20 20 20 20 20 20 61 66 74 65 72 20 73 65 71 75 65 6e 63 65 it.tree...........after.sequence
35c40 20 31 30 0a 62 6d 5f 68 69 67 68 20 20 20 20 20 20 20 20 62 69 74 20 74 72 65 65 20 20 20 20 20 .10.bm_high........bit.tree.....
35c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 66 74 65 72 20 73 65 71 75 65 6e 63 65 20 .................after.sequence.
35c80 31 31 0a 0a 0a 20 20 20 54 68 65 20 63 6f 6e 74 65 78 74 20 61 72 72 61 79 20 27 62 6d 5f 6c 69 11......The.context.array.'bm_li
35ca0 74 65 72 61 6c 27 20 69 73 20 73 70 65 63 69 61 6c 2e 20 49 6e 20 70 72 69 6e 63 69 70 6c 65 20 teral'.is.special..In.principle.
35cc0 69 74 20 61 63 74 73 20 61 73 20 61 0a 6e 6f 72 6d 61 6c 20 62 69 74 20 74 72 65 65 20 63 6f 6e it.acts.as.a.normal.bit.tree.con
35ce0 74 65 78 74 2c 20 74 68 65 20 6f 6e 65 20 73 65 6c 65 63 74 65 64 20 62 79 20 27 6c 69 74 65 72 text,.the.one.selected.by.'liter
35d00 61 6c 5f 73 74 61 74 65 27 2e 20 42 75 74 20 69 66 0a 74 68 65 20 70 72 65 76 69 6f 75 73 20 64 al_state'..But.if.the.previous.d
35d20 65 63 6f 64 65 64 20 62 79 74 65 20 77 61 73 20 6e 6f 74 20 61 20 6c 69 74 65 72 61 6c 2c 20 74 ecoded.byte.was.not.a.literal,.t
35d40 77 6f 20 6f 74 68 65 72 20 62 69 74 20 74 72 65 65 0a 63 6f 6e 74 65 78 74 73 20 61 72 65 20 75 wo.other.bit.tree.contexts.are.u
35d60 73 65 64 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 65 61 sed.depending.on.the.value.of.ea
35d80 63 68 20 62 69 74 20 69 6e 20 27 6d 61 74 63 68 5f 62 79 74 65 27 0a 28 74 68 65 20 62 79 74 65 ch.bit.in.'match_byte'.(the.byte
35da0 20 61 74 20 74 68 65 20 6c 61 74 65 73 74 20 75 73 65 64 20 64 69 73 74 61 6e 63 65 29 2c 20 75 .at.the.latest.used.distance),.u
35dc0 6e 74 69 6c 20 61 20 62 69 74 20 69 73 20 64 65 63 6f 64 65 64 20 74 68 61 74 20 69 73 0a 64 69 ntil.a.bit.is.decoded.that.is.di
35de0 66 66 65 72 65 6e 74 20 66 72 6f 6d 20 69 74 73 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 62 fferent.from.its.corresponding.b
35e00 69 74 20 69 6e 20 27 6d 61 74 63 68 5f 62 79 74 65 27 2e 20 41 66 74 65 72 20 74 68 65 20 66 69 it.in.'match_byte'..After.the.fi
35e20 72 73 74 0a 64 69 66 66 65 72 65 6e 63 65 20 69 73 20 66 6f 75 6e 64 2c 20 74 68 65 20 72 65 73 rst.difference.is.found,.the.res
35e40 74 20 6f 66 20 74 68 65 20 62 79 74 65 20 69 73 20 64 65 63 6f 64 65 64 20 75 73 69 6e 67 20 74 t.of.the.byte.is.decoded.using.t
35e60 68 65 20 6e 6f 72 6d 61 6c 0a 62 69 74 20 74 72 65 65 20 63 6f 6e 74 65 78 74 2e 20 28 53 65 65 he.normal.bit.tree.context..(See
35e80 20 27 64 65 63 6f 64 65 5f 6d 61 74 63 68 65 64 27 20 69 6e 20 74 68 65 20 73 6f 75 72 63 65 29 .'decode_matched'.in.the.source)
35ea0 2e 0a 0a 0a 37 2e 33 20 54 68 65 20 72 61 6e 67 65 20 64 65 63 6f 64 65 72 0a 3d 3d 3d 3d 3d 3d ....7.3.The.range.decoder.======
35ec0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 54 68 65 20 4c 5a 4d 41 20 73 74 72 65 61 6d ===============..The.LZMA.stream
35ee0 20 69 73 20 63 6f 6e 73 75 6d 65 64 20 6f 6e 65 20 62 79 74 65 20 61 74 20 61 20 74 69 6d 65 20 .is.consumed.one.byte.at.a.time.
35f00 62 79 20 74 68 65 20 72 61 6e 67 65 20 64 65 63 6f 64 65 72 2e 0a 28 53 65 65 20 27 6e 6f 72 6d by.the.range.decoder..(See.'norm
35f20 61 6c 69 7a 65 27 20 69 6e 20 74 68 65 20 73 6f 75 72 63 65 29 2e 20 45 76 65 72 79 20 62 79 74 alize'.in.the.source)..Every.byt
35f40 65 20 63 6f 6e 73 75 6d 65 64 20 70 72 6f 64 75 63 65 73 20 61 0a 76 61 72 69 61 62 6c 65 20 6e e.consumed.produces.a.variable.n
35f60 75 6d 62 65 72 20 6f 66 20 64 65 63 6f 64 65 64 20 62 69 74 73 2c 20 64 65 70 65 6e 64 69 6e 67 umber.of.decoded.bits,.depending
35f80 20 6f 6e 20 68 6f 77 20 77 65 6c 6c 20 74 68 65 73 65 20 62 69 74 73 20 61 67 72 65 65 0a 77 69 .on.how.well.these.bits.agree.wi
35fa0 74 68 20 74 68 65 69 72 20 63 6f 6e 74 65 78 74 2e 20 28 53 65 65 20 27 64 65 63 6f 64 65 5f 62 th.their.context..(See.'decode_b
35fc0 69 74 27 20 69 6e 20 74 68 65 20 73 6f 75 72 63 65 29 2e 0a 0a 20 20 20 54 68 65 20 72 61 6e 67 it'.in.the.source)......The.rang
35fe0 65 20 64 65 63 6f 64 65 72 20 73 74 61 74 65 20 63 6f 6e 73 69 73 74 73 20 6f 66 20 74 77 6f 20 e.decoder.state.consists.of.two.
36000 75 6e 73 69 67 6e 65 64 20 33 32 2d 62 69 74 20 76 61 72 69 61 62 6c 65 73 3b 0a 27 72 61 6e 67 unsigned.32-bit.variables;.'rang
36020 65 27 20 28 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 6d 6f 73 74 20 73 69 67 6e 69 66 e'.(representing.the.most.signif
36040 69 63 61 6e 74 20 70 61 72 74 20 6f 66 20 74 68 65 20 72 61 6e 67 65 20 73 69 7a 65 20 6e 6f 74 icant.part.of.the.range.size.not
36060 0a 79 65 74 20 64 65 63 6f 64 65 64 29 2c 20 61 6e 64 20 27 63 6f 64 65 27 20 28 72 65 70 72 65 .yet.decoded),.and.'code'.(repre
36080 73 65 6e 74 69 6e 67 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 6f 69 6e 74 20 77 69 74 68 69 6e senting.the.current.point.within
360a0 0a 27 72 61 6e 67 65 27 29 2e 20 27 72 61 6e 67 65 27 20 69 73 20 69 6e 69 74 69 61 6c 69 7a 65 .'range')..'range'.is.initialize
360c0 64 20 74 6f 20 28 32 5e 33 32 20 2d 20 31 29 2c 20 61 6e 64 20 27 63 6f 64 65 27 20 69 73 0a 69 d.to.(2^32.-.1),.and.'code'.is.i
360e0 6e 69 74 69 61 6c 69 7a 65 64 20 74 6f 20 30 2e 0a 0a 20 20 20 54 68 65 20 72 61 6e 67 65 20 65 nitialized.to.0......The.range.e
36100 6e 63 6f 64 65 72 20 70 72 6f 64 75 63 65 73 20 61 20 66 69 72 73 74 20 30 20 62 79 74 65 20 74 ncoder.produces.a.first.0.byte.t
36120 68 61 74 20 6d 75 73 74 20 62 65 20 69 67 6e 6f 72 65 64 20 62 79 20 74 68 65 0a 72 61 6e 67 65 hat.must.be.ignored.by.the.range
36140 20 64 65 63 6f 64 65 72 2e 20 54 68 69 73 20 69 73 20 64 6f 6e 65 20 62 79 20 73 68 69 66 74 69 .decoder..This.is.done.by.shifti
36160 6e 67 20 35 20 62 79 74 65 73 20 69 6e 20 74 68 65 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e ng.5.bytes.in.the.initialization
36180 20 6f 66 0a 27 63 6f 64 65 27 20 69 6e 73 74 65 61 64 20 6f 66 20 34 2e 20 28 53 65 65 20 74 68 .of.'code'.instead.of.4..(See.th
361a0 65 20 27 52 61 6e 67 65 5f 64 65 63 6f 64 65 72 27 20 63 6f 6e 73 74 72 75 63 74 6f 72 20 69 6e e.'Range_decoder'.constructor.in
361c0 20 74 68 65 0a 73 6f 75 72 63 65 29 2e 0a 0a 0a 37 2e 34 20 44 65 63 6f 64 69 6e 67 20 74 68 65 .the.source)....7.4.Decoding.the
361e0 20 4c 5a 4d 41 20 73 74 72 65 61 6d 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .LZMA.stream.===================
36200 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 41 66 74 65 72 20 64 65 63 6f 64 69 6e 67 20 74 68 65 20 6d 65 =========..After.decoding.the.me
36220 6d 62 65 72 20 68 65 61 64 65 72 20 61 6e 64 20 6f 62 74 61 69 6e 69 6e 67 20 74 68 65 20 64 69 mber.header.and.obtaining.the.di
36240 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 2c 20 74 68 65 0a 72 61 6e 67 65 20 64 65 63 6f 64 65 72 ctionary.size,.the.range.decoder
36260 20 69 73 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 61 6e 64 20 74 68 65 6e 20 74 68 65 20 4c 5a 4d .is.initialized.and.then.the.LZM
36280 41 20 64 65 63 6f 64 65 72 20 65 6e 74 65 72 73 20 61 20 6c 6f 6f 70 0a 28 53 65 65 20 27 64 65 A.decoder.enters.a.loop.(See.'de
362a0 63 6f 64 65 5f 6d 65 6d 62 65 72 27 20 69 6e 20 74 68 65 20 73 6f 75 72 63 65 29 20 77 68 65 72 code_member'.in.the.source).wher
362c0 65 20 69 74 20 69 6e 76 6f 6b 65 73 20 74 68 65 20 72 61 6e 67 65 20 64 65 63 6f 64 65 72 0a 77 e.it.invokes.the.range.decoder.w
362e0 69 74 68 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 63 6f 6e 74 65 78 74 73 20 74 6f 20 ith.the.appropriate.contexts.to.
36300 64 65 63 6f 64 65 20 74 68 65 20 64 69 66 66 65 72 65 6e 74 20 63 6f 64 69 6e 67 20 73 65 71 75 decode.the.different.coding.sequ
36320 65 6e 63 65 73 0a 28 6d 61 74 63 68 65 73 2c 20 72 65 70 65 61 74 65 64 20 6d 61 74 63 68 65 73 ences.(matches,.repeated.matches
36340 2c 20 61 6e 64 20 6c 69 74 65 72 61 6c 20 62 79 74 65 73 29 2c 20 75 6e 74 69 6c 20 74 68 65 20 ,.and.literal.bytes),.until.the.
36360 22 45 6e 64 20 4f 66 0a 53 74 72 65 61 6d 22 20 6d 61 72 6b 65 72 20 69 73 20 64 65 63 6f 64 65 "End.Of.Stream".marker.is.decode
36380 64 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 6c 7a 69 70 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 54 72 d.....File:.lzip.info,..Node:.Tr
363a0 61 69 6c 69 6e 67 20 64 61 74 61 2c 20 20 4e 65 78 74 3a 20 45 78 61 6d 70 6c 65 73 2c 20 20 50 ailing.data,..Next:.Examples,..P
363c0 72 65 76 3a 20 53 74 72 65 61 6d 20 66 6f 72 6d 61 74 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 38 20 rev:.Stream.format,..Up:.Top..8.
363e0 45 78 74 72 61 20 64 61 74 61 20 61 70 70 65 6e 64 65 64 20 74 6f 20 74 68 65 20 66 69 6c 65 0a Extra.data.appended.to.the.file.
36400 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ********************************
36420 2a 0a 0a 53 6f 6d 65 74 69 6d 65 73 20 65 78 74 72 61 20 64 61 74 61 20 61 72 65 20 66 6f 75 6e *..Sometimes.extra.data.are.foun
36440 64 20 61 70 70 65 6e 64 65 64 20 74 6f 20 61 20 6c 7a 69 70 20 66 69 6c 65 20 61 66 74 65 72 20 d.appended.to.a.lzip.file.after.
36460 74 68 65 20 6c 61 73 74 0a 6d 65 6d 62 65 72 2e 20 53 75 63 68 20 74 72 61 69 6c 69 6e 67 20 64 the.last.member..Such.trailing.d
36480 61 74 61 20 6d 61 79 20 62 65 3a 0a 0a 20 20 20 2a 20 50 61 64 64 69 6e 67 20 61 64 64 65 64 20 ata.may.be:.....*.Padding.added.
364a0 74 6f 20 6d 61 6b 65 20 74 68 65 20 66 69 6c 65 20 73 69 7a 65 20 61 20 6d 75 6c 74 69 70 6c 65 to.make.the.file.size.a.multiple
364c0 20 6f 66 20 73 6f 6d 65 20 62 6c 6f 63 6b 20 73 69 7a 65 2c 0a 20 20 20 20 20 66 6f 72 20 65 78 .of.some.block.size,......for.ex
364e0 61 6d 70 6c 65 20 77 68 65 6e 20 77 72 69 74 69 6e 67 20 74 6f 20 61 20 74 61 70 65 2e 20 49 74 ample.when.writing.to.a.tape..It
36500 20 69 73 20 73 61 66 65 20 74 6f 20 61 70 70 65 6e 64 20 61 6e 79 0a 20 20 20 20 20 61 6d 6f 75 .is.safe.to.append.any......amou
36520 6e 74 20 6f 66 20 70 61 64 64 69 6e 67 20 7a 65 72 6f 20 62 79 74 65 73 20 74 6f 20 61 20 6c 7a nt.of.padding.zero.bytes.to.a.lz
36540 69 70 20 66 69 6c 65 2e 0a 0a 20 20 20 2a 20 55 73 65 66 75 6c 20 64 61 74 61 20 61 64 64 65 64 ip.file......*.Useful.data.added
36560 20 62 79 20 74 68 65 20 75 73 65 72 3b 20 61 20 63 72 79 70 74 6f 67 72 61 70 68 69 63 61 6c 6c .by.the.user;.a.cryptographicall
36580 79 20 73 65 63 75 72 65 20 68 61 73 68 2c 20 61 0a 20 20 20 20 20 64 65 73 63 72 69 70 74 69 6f y.secure.hash,.a......descriptio
365a0 6e 20 6f 66 20 66 69 6c 65 20 63 6f 6e 74 65 6e 74 73 2c 20 65 74 63 2e 20 49 74 20 69 73 20 73 n.of.file.contents,.etc..It.is.s
365c0 61 66 65 20 74 6f 20 61 70 70 65 6e 64 20 61 6e 79 20 61 6d 6f 75 6e 74 0a 20 20 20 20 20 6f 66 afe.to.append.any.amount......of
365e0 20 74 65 78 74 20 74 6f 20 61 20 6c 7a 69 70 20 66 69 6c 65 20 61 73 20 6c 6f 6e 67 20 61 73 20 .text.to.a.lzip.file.as.long.as.
36600 6e 6f 6e 65 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 66 6f 75 72 20 62 79 74 65 73 20 6f 66 0a none.of.the.first.four.bytes.of.
36620 20 20 20 20 20 74 68 65 20 74 65 78 74 20 6d 61 74 63 68 20 74 68 65 20 63 6f 72 72 65 73 70 6f .....the.text.match.the.correspo
36640 6e 64 69 6e 67 20 62 79 74 65 20 69 6e 20 74 68 65 20 73 74 72 69 6e 67 20 22 4c 5a 49 50 22 2c nding.byte.in.the.string."LZIP",
36660 20 61 6e 64 0a 20 20 20 20 20 74 68 65 20 74 65 78 74 20 64 6f 65 73 20 6e 6f 74 20 63 6f 6e 74 .and......the.text.does.not.cont
36680 61 69 6e 20 61 6e 79 20 7a 65 72 6f 20 62 79 74 65 73 20 28 6e 75 6c 6c 20 63 68 61 72 61 63 74 ain.any.zero.bytes.(null.charact
366a0 65 72 73 29 2e 0a 20 20 20 20 20 4e 6f 6e 7a 65 72 6f 20 62 79 74 65 73 20 61 6e 64 20 7a 65 72 ers).......Nonzero.bytes.and.zer
366c0 6f 20 62 79 74 65 73 20 63 61 6e 27 74 20 62 65 20 73 61 66 65 6c 79 20 6d 69 78 65 64 20 69 6e o.bytes.can't.be.safely.mixed.in
366e0 20 74 72 61 69 6c 69 6e 67 0a 20 20 20 20 20 64 61 74 61 2e 0a 0a 20 20 20 2a 20 47 61 72 62 61 .trailing......data......*.Garba
36700 67 65 20 61 64 64 65 64 20 62 79 20 73 6f 6d 65 20 6e 6f 74 20 74 6f 74 61 6c 6c 79 20 73 75 63 ge.added.by.some.not.totally.suc
36720 63 65 73 73 66 75 6c 20 63 6f 70 79 20 6f 70 65 72 61 74 69 6f 6e 2e 0a 0a 20 20 20 2a 20 4d 61 cessful.copy.operation......*.Ma
36740 6c 69 63 69 6f 75 73 20 64 61 74 61 20 61 64 64 65 64 20 74 6f 20 74 68 65 20 66 69 6c 65 20 69 licious.data.added.to.the.file.i
36760 6e 20 6f 72 64 65 72 20 74 6f 20 6d 61 6b 65 20 69 74 73 20 74 6f 74 61 6c 20 73 69 7a 65 0a 20 n.order.to.make.its.total.size..
36780 20 20 20 20 61 6e 64 20 68 61 73 68 20 76 61 6c 75 65 20 28 66 6f 72 20 61 20 63 68 6f 73 65 6e ....and.hash.value.(for.a.chosen
367a0 20 68 61 73 68 29 20 63 6f 69 6e 63 69 64 65 20 77 69 74 68 20 74 68 6f 73 65 20 6f 66 20 61 6e .hash).coincide.with.those.of.an
367c0 6f 74 68 65 72 0a 20 20 20 20 20 66 69 6c 65 2e 0a 0a 20 20 20 2a 20 49 6e 20 72 61 72 65 20 63 other......file......*.In.rare.c
367e0 61 73 65 73 2c 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 20 63 6f 75 6c 64 20 62 65 20 74 68 65 ases,.trailing.data.could.be.the
36800 20 63 6f 72 72 75 70 74 20 68 65 61 64 65 72 20 6f 66 20 61 6e 6f 74 68 65 72 0a 20 20 20 20 20 .corrupt.header.of.another......
36820 6d 65 6d 62 65 72 2e 20 49 6e 20 6d 75 6c 74 69 6d 65 6d 62 65 72 20 6f 72 20 63 6f 6e 63 61 74 member..In.multimember.or.concat
36840 65 6e 61 74 65 64 20 66 69 6c 65 73 20 74 68 65 20 70 72 6f 62 61 62 69 6c 69 74 79 20 6f 66 0a enated.files.the.probability.of.
36860 20 20 20 20 20 63 6f 72 72 75 70 74 69 6f 6e 20 68 61 70 70 65 6e 69 6e 67 20 69 6e 20 74 68 65 .....corruption.happening.in.the
36880 20 6d 61 67 69 63 20 62 79 74 65 73 20 69 73 20 35 20 74 69 6d 65 73 20 73 6d 61 6c 6c 65 72 20 .magic.bytes.is.5.times.smaller.
368a0 74 68 61 6e 20 74 68 65 0a 20 20 20 20 20 70 72 6f 62 61 62 69 6c 69 74 79 20 6f 66 20 67 65 74 than.the......probability.of.get
368c0 74 69 6e 67 20 61 20 66 61 6c 73 65 20 70 6f 73 69 74 69 76 65 20 63 61 75 73 65 64 20 62 79 20 ting.a.false.positive.caused.by.
368e0 74 68 65 20 63 6f 72 72 75 70 74 69 6f 6e 0a 20 20 20 20 20 6f 66 20 74 68 65 20 69 6e 74 65 67 the.corruption......of.the.integ
36900 72 69 74 79 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 74 73 65 6c 66 2e 20 54 68 65 72 65 66 6f rity.information.itself..Therefo
36920 72 65 20 69 74 20 63 61 6e 20 62 65 0a 20 20 20 20 20 63 6f 6e 73 69 64 65 72 65 64 20 74 6f 20 re.it.can.be......considered.to.
36940 62 65 20 62 65 6c 6f 77 20 74 68 65 20 6e 6f 69 73 65 20 6c 65 76 65 6c 2e 20 41 64 64 69 74 69 be.below.the.noise.level..Additi
36960 6f 6e 61 6c 6c 79 2c 20 74 68 65 20 74 65 73 74 0a 20 20 20 20 20 75 73 65 64 20 62 79 20 6c 7a onally,.the.test......used.by.lz
36980 69 70 20 74 6f 20 64 69 73 63 72 69 6d 69 6e 61 74 65 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 ip.to.discriminate.trailing.data
369a0 20 66 72 6f 6d 20 61 20 63 6f 72 72 75 70 74 20 68 65 61 64 65 72 0a 20 20 20 20 20 68 61 73 20 .from.a.corrupt.header......has.
369c0 61 20 48 61 6d 6d 69 6e 67 20 64 69 73 74 61 6e 63 65 20 28 48 44 29 20 6f 66 20 33 2c 20 61 6e a.Hamming.distance.(HD).of.3,.an
369e0 64 20 74 68 65 20 33 20 62 69 74 20 66 6c 69 70 73 20 6d 75 73 74 20 68 61 70 70 65 6e 0a 20 20 d.the.3.bit.flips.must.happen...
36a00 20 20 20 69 6e 20 64 69 66 66 65 72 65 6e 74 20 6d 61 67 69 63 20 62 79 74 65 73 20 66 6f 72 20 ...in.different.magic.bytes.for.
36a20 74 68 65 20 74 65 73 74 20 74 6f 20 66 61 69 6c 2e 20 49 6e 20 61 6e 79 20 63 61 73 65 2c 20 74 the.test.to.fail..In.any.case,.t
36a40 68 65 0a 20 20 20 20 20 6f 70 74 69 6f 6e 20 27 2d 2d 74 72 61 69 6c 69 6e 67 2d 65 72 72 6f 72 he......option.'--trailing-error
36a60 27 20 67 75 61 72 61 6e 74 65 65 73 20 74 68 61 74 20 61 6e 79 20 63 6f 72 72 75 70 74 20 68 65 '.guarantees.that.any.corrupt.he
36a80 61 64 65 72 20 77 69 6c 6c 0a 20 20 20 20 20 62 65 20 64 65 74 65 63 74 65 64 2e 0a 0a 20 20 20 ader.will......be.detected......
36aa0 54 72 61 69 6c 69 6e 67 20 64 61 74 61 20 61 72 65 20 69 6e 20 6e 6f 20 77 61 79 20 70 61 72 74 Trailing.data.are.in.no.way.part
36ac0 20 6f 66 20 74 68 65 20 6c 7a 69 70 20 66 69 6c 65 20 66 6f 72 6d 61 74 2c 20 62 75 74 20 74 6f .of.the.lzip.file.format,.but.to
36ae0 6f 6c 73 0a 72 65 61 64 69 6e 67 20 6c 7a 69 70 20 66 69 6c 65 73 20 61 72 65 20 65 78 70 65 63 ols.reading.lzip.files.are.expec
36b00 74 65 64 20 74 6f 20 62 65 68 61 76 65 20 61 73 20 63 6f 72 72 65 63 74 6c 79 20 61 6e 64 20 75 ted.to.behave.as.correctly.and.u
36b20 73 65 66 75 6c 6c 79 20 61 73 0a 70 6f 73 73 69 62 6c 65 20 69 6e 20 74 68 65 20 70 72 65 73 65 sefully.as.possible.in.the.prese
36b40 6e 63 65 20 6f 66 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 2e 0a 0a 20 20 20 54 72 61 69 6c 69 nce.of.trailing.data......Traili
36b60 6e 67 20 64 61 74 61 20 63 61 6e 20 62 65 20 73 61 66 65 6c 79 20 69 67 6e 6f 72 65 64 20 69 6e ng.data.can.be.safely.ignored.in
36b80 20 6d 6f 73 74 20 63 61 73 65 73 2e 20 49 6e 20 73 6f 6d 65 20 63 61 73 65 73 2c 0a 6c 69 6b 65 .most.cases..In.some.cases,.like
36ba0 20 74 68 61 74 20 6f 66 20 75 73 65 72 2d 61 64 64 65 64 20 64 61 74 61 2c 20 74 68 65 79 20 61 .that.of.user-added.data,.they.a
36bc0 72 65 20 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 20 69 67 6e 6f 72 65 64 2e 20 49 6e 20 74 68 re.expected.to.be.ignored..In.th
36be0 6f 73 65 0a 63 61 73 65 73 20 77 68 65 72 65 20 61 20 66 69 6c 65 20 63 6f 6e 74 61 69 6e 69 6e ose.cases.where.a.file.containin
36c00 67 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 20 6d 75 73 74 20 62 65 20 72 65 6a 65 63 74 65 64 g.trailing.data.must.be.rejected
36c20 2c 20 74 68 65 20 6f 70 74 69 6f 6e 0a 27 2d 2d 74 72 61 69 6c 69 6e 67 2d 65 72 72 6f 72 27 20 ,.the.option.'--trailing-error'.
36c40 63 61 6e 20 62 65 20 75 73 65 64 2e 20 2a 4e 6f 74 65 20 2d 2d 74 72 61 69 6c 69 6e 67 2d 65 72 can.be.used..*Note.--trailing-er
36c60 72 6f 72 3a 3a 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 6c 7a 69 70 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 ror::.....File:.lzip.info,..Node
36c80 3a 20 45 78 61 6d 70 6c 65 73 2c 20 20 4e 65 78 74 3a 20 50 72 6f 62 6c 65 6d 73 2c 20 20 50 72 :.Examples,..Next:.Problems,..Pr
36ca0 65 76 3a 20 54 72 61 69 6c 69 6e 67 20 64 61 74 61 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 39 20 41 ev:.Trailing.data,..Up:.Top..9.A
36cc0 20 73 6d 61 6c 6c 20 74 75 74 6f 72 69 61 6c 20 77 69 74 68 20 65 78 61 6d 70 6c 65 73 0a 2a 2a .small.tutorial.with.examples.**
36ce0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a ******************************..
36d00 57 41 52 4e 49 4e 47 21 20 45 76 65 6e 20 69 66 20 6c 7a 69 70 20 69 73 20 62 75 67 2d 66 72 65 WARNING!.Even.if.lzip.is.bug-fre
36d20 65 2c 20 6f 74 68 65 72 20 63 61 75 73 65 73 20 6d 61 79 20 72 65 73 75 6c 74 20 69 6e 20 61 20 e,.other.causes.may.result.in.a.
36d40 63 6f 72 72 75 70 74 0a 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 20 28 62 75 67 73 20 69 6e corrupt.compressed.file.(bugs.in
36d60 20 74 68 65 20 73 79 73 74 65 6d 20 6c 69 62 72 61 72 69 65 73 2c 20 6d 65 6d 6f 72 79 20 65 72 .the.system.libraries,.memory.er
36d80 72 6f 72 73 2c 20 65 74 63 29 2e 0a 54 68 65 72 65 66 6f 72 65 2c 20 69 66 20 74 68 65 20 64 61 rors,.etc)..Therefore,.if.the.da
36da0 74 61 20 79 6f 75 20 61 72 65 20 67 6f 69 6e 67 20 74 6f 20 63 6f 6d 70 72 65 73 73 20 61 72 65 ta.you.are.going.to.compress.are
36dc0 20 69 6d 70 6f 72 74 61 6e 74 2c 20 67 69 76 65 20 74 68 65 0a 27 2d 2d 6b 65 65 70 27 20 6f 70 .important,.give.the.'--keep'.op
36de0 74 69 6f 6e 20 74 6f 20 6c 7a 69 70 20 61 6e 64 20 64 6f 6e 27 74 20 72 65 6d 6f 76 65 20 74 68 tion.to.lzip.and.don't.remove.th
36e00 65 20 6f 72 69 67 69 6e 61 6c 20 66 69 6c 65 20 75 6e 74 69 6c 20 79 6f 75 0a 76 65 72 69 66 79 e.original.file.until.you.verify
36e20 20 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 20 77 69 74 68 20 61 20 63 6f 6d 6d .the.compressed.file.with.a.comm
36e40 61 6e 64 20 6c 69 6b 65 0a 27 6c 7a 69 70 20 2d 63 64 20 66 69 6c 65 2e 6c 7a 20 7c 20 63 6d 70 and.like.'lzip.-cd.file.lz.|.cmp
36e60 20 66 69 6c 65 20 2d 27 2e 0a 0a 0a 45 78 61 6d 70 6c 65 20 31 3a 20 52 65 70 6c 61 63 65 20 61 .file.-'....Example.1:.Replace.a
36e80 20 72 65 67 75 6c 61 72 20 66 69 6c 65 20 77 69 74 68 20 69 74 73 20 63 6f 6d 70 72 65 73 73 65 .regular.file.with.its.compresse
36ea0 64 20 76 65 72 73 69 6f 6e 20 27 66 69 6c 65 2e 6c 7a 27 0a 61 6e 64 20 73 68 6f 77 20 74 68 65 d.version.'file.lz'.and.show.the
36ec0 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 72 61 74 69 6f 2e 0a 0a 20 20 20 20 20 6c 7a 69 70 20 2d .compression.ratio........lzip.-
36ee0 76 20 66 69 6c 65 0a 0a 0a 45 78 61 6d 70 6c 65 20 32 3a 20 4c 69 6b 65 20 65 78 61 6d 70 6c 65 v.file...Example.2:.Like.example
36f00 20 31 20 62 75 74 20 74 68 65 20 63 72 65 61 74 65 64 20 27 66 69 6c 65 2e 6c 7a 27 20 69 73 20 .1.but.the.created.'file.lz'.is.
36f20 6d 75 6c 74 69 6d 65 6d 62 65 72 20 77 69 74 68 0a 61 20 6d 65 6d 62 65 72 20 73 69 7a 65 20 6f multimember.with.a.member.size.o
36f40 66 20 31 20 4d 69 42 2e 20 54 68 65 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 72 61 74 69 6f 20 69 f.1.MiB..The.compression.ratio.i
36f60 73 20 6e 6f 74 20 73 68 6f 77 6e 2e 0a 0a 20 20 20 20 20 6c 7a 69 70 20 2d 62 20 31 4d 69 42 20 s.not.shown........lzip.-b.1MiB.
36f80 66 69 6c 65 0a 0a 0a 45 78 61 6d 70 6c 65 20 33 3a 20 52 65 73 74 6f 72 65 20 61 20 72 65 67 75 file...Example.3:.Restore.a.regu
36fa0 6c 61 72 20 66 69 6c 65 20 66 72 6f 6d 20 69 74 73 20 63 6f 6d 70 72 65 73 73 65 64 20 76 65 72 lar.file.from.its.compressed.ver
36fc0 73 69 6f 6e 0a 27 66 69 6c 65 2e 6c 7a 27 2e 20 49 66 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e sion.'file.lz'..If.the.operation
36fe0 20 69 73 20 73 75 63 63 65 73 73 66 75 6c 2c 20 27 66 69 6c 65 2e 6c 7a 27 20 69 73 20 72 65 6d .is.successful,.'file.lz'.is.rem
37000 6f 76 65 64 2e 0a 0a 20 20 20 20 20 6c 7a 69 70 20 2d 64 20 66 69 6c 65 2e 6c 7a 0a 0a 0a 45 78 oved........lzip.-d.file.lz...Ex
37020 61 6d 70 6c 65 20 34 3a 20 56 65 72 69 66 79 20 74 68 65 20 69 6e 74 65 67 72 69 74 79 20 6f 66 ample.4:.Verify.the.integrity.of
37040 20 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 20 27 66 69 6c 65 2e 6c 7a 27 20 61 .the.compressed.file.'file.lz'.a
37060 6e 64 0a 73 68 6f 77 20 73 74 61 74 75 73 2e 0a 0a 20 20 20 20 20 6c 7a 69 70 20 2d 74 76 20 66 nd.show.status........lzip.-tv.f
37080 69 6c 65 2e 6c 7a 0a 0a 0a 45 78 61 6d 70 6c 65 20 35 3a 20 43 6f 6d 70 72 65 73 73 20 61 20 77 ile.lz...Example.5:.Compress.a.w
370a0 68 6f 6c 65 20 64 65 76 69 63 65 20 69 6e 20 2f 64 65 76 2f 73 64 63 20 61 6e 64 20 73 65 6e 64 hole.device.in./dev/sdc.and.send
370c0 20 74 68 65 20 6f 75 74 70 75 74 20 74 6f 0a 27 66 69 6c 65 2e 6c 7a 27 2e 0a 0a 20 20 20 20 20 .the.output.to.'file.lz'........
370e0 6c 7a 69 70 20 2d 63 20 2f 64 65 76 2f 73 64 63 20 3e 20 66 69 6c 65 2e 6c 7a 0a 0a 0a 45 78 61 lzip.-c./dev/sdc.>.file.lz...Exa
37100 6d 70 6c 65 20 36 3a 20 54 68 65 20 72 69 67 68 74 20 77 61 79 20 6f 66 20 63 6f 6e 63 61 74 65 mple.6:.The.right.way.of.concate
37120 6e 61 74 69 6e 67 20 74 68 65 20 64 65 63 6f 6d 70 72 65 73 73 65 64 20 6f 75 74 70 75 74 20 6f nating.the.decompressed.output.o
37140 66 20 74 77 6f 0a 6f 72 20 6d 6f 72 65 20 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 73 2e 20 f.two.or.more.compressed.files..
37160 2a 4e 6f 74 65 20 54 72 61 69 6c 69 6e 67 20 64 61 74 61 3a 3a 2e 0a 0a 20 20 20 20 20 44 6f 6e *Note.Trailing.data::........Don
37180 27 74 20 64 6f 20 74 68 69 73 0a 20 20 20 20 20 20 20 63 61 74 20 66 69 6c 65 31 2e 6c 7a 20 66 't.do.this........cat.file1.lz.f
371a0 69 6c 65 32 2e 6c 7a 20 66 69 6c 65 33 2e 6c 7a 20 7c 20 6c 7a 69 70 20 2d 64 0a 20 20 20 20 20 ile2.lz.file3.lz.|.lzip.-d......
371c0 44 6f 20 74 68 69 73 20 69 6e 73 74 65 61 64 0a 20 20 20 20 20 20 20 6c 7a 69 70 20 2d 63 64 20 Do.this.instead........lzip.-cd.
371e0 66 69 6c 65 31 2e 6c 7a 20 66 69 6c 65 32 2e 6c 7a 20 66 69 6c 65 33 2e 6c 7a 0a 0a 0a 45 78 61 file1.lz.file2.lz.file3.lz...Exa
37200 6d 70 6c 65 20 37 3a 20 44 65 63 6f 6d 70 72 65 73 73 20 27 66 69 6c 65 2e 6c 7a 27 20 70 61 72 mple.7:.Decompress.'file.lz'.par
37220 74 69 61 6c 6c 79 20 75 6e 74 69 6c 20 31 30 20 4b 69 42 20 6f 66 20 64 65 63 6f 6d 70 72 65 73 tially.until.10.KiB.of.decompres
37240 73 65 64 0a 64 61 74 61 20 61 72 65 20 70 72 6f 64 75 63 65 64 2e 0a 0a 20 20 20 20 20 6c 7a 69 sed.data.are.produced........lzi
37260 70 20 2d 63 64 20 66 69 6c 65 2e 6c 7a 20 7c 20 64 64 20 62 73 3d 31 30 32 34 20 63 6f 75 6e 74 p.-cd.file.lz.|.dd.bs=1024.count
37280 3d 31 30 0a 0a 0a 45 78 61 6d 70 6c 65 20 38 3a 20 44 65 63 6f 6d 70 72 65 73 73 20 27 66 69 6c =10...Example.8:.Decompress.'fil
372a0 65 2e 6c 7a 27 20 70 61 72 74 69 61 6c 6c 79 20 66 72 6f 6d 20 64 65 63 6f 6d 70 72 65 73 73 65 e.lz'.partially.from.decompresse
372c0 64 20 62 79 74 65 20 31 30 30 30 30 0a 74 6f 20 64 65 63 6f 6d 70 72 65 73 73 65 64 20 62 79 74 d.byte.10000.to.decompressed.byt
372e0 65 20 31 35 30 30 30 20 28 35 30 30 30 20 62 79 74 65 73 20 61 72 65 20 70 72 6f 64 75 63 65 64 e.15000.(5000.bytes.are.produced
37300 29 2e 0a 0a 20 20 20 20 20 6c 7a 69 70 20 2d 63 64 20 66 69 6c 65 2e 6c 7a 20 7c 20 64 64 20 62 )........lzip.-cd.file.lz.|.dd.b
37320 73 3d 31 30 30 30 20 73 6b 69 70 3d 31 30 20 63 6f 75 6e 74 3d 35 0a 0a 0a 45 78 61 6d 70 6c 65 s=1000.skip=10.count=5...Example
37340 20 39 3a 20 43 72 65 61 74 65 20 61 20 6d 75 6c 74 69 76 6f 6c 75 6d 65 20 63 6f 6d 70 72 65 73 .9:.Create.a.multivolume.compres
37360 73 65 64 20 74 61 72 20 61 72 63 68 69 76 65 20 77 69 74 68 20 61 20 76 6f 6c 75 6d 65 0a 73 69 sed.tar.archive.with.a.volume.si
37380 7a 65 20 6f 66 20 31 34 34 30 20 4b 69 42 2e 0a 0a 20 20 20 20 20 74 61 72 20 2d 63 20 73 6f 6d ze.of.1440.KiB........tar.-c.som
373a0 65 5f 64 69 72 65 63 74 6f 72 79 20 7c 20 6c 7a 69 70 20 2d 53 20 31 34 34 30 4b 69 42 20 2d 6f e_directory.|.lzip.-S.1440KiB.-o
373c0 20 76 6f 6c 75 6d 65 5f 6e 61 6d 65 0a 0a 0a 45 78 61 6d 70 6c 65 20 31 30 3a 20 45 78 74 72 61 .volume_name...Example.10:.Extra
373e0 63 74 20 61 20 6d 75 6c 74 69 76 6f 6c 75 6d 65 20 63 6f 6d 70 72 65 73 73 65 64 20 74 61 72 20 ct.a.multivolume.compressed.tar.
37400 61 72 63 68 69 76 65 2e 0a 0a 20 20 20 20 20 6c 7a 69 70 20 2d 63 64 20 76 6f 6c 75 6d 65 5f 6e archive........lzip.-cd.volume_n
37420 61 6d 65 2a 2e 6c 7a 20 7c 20 74 61 72 20 2d 78 66 20 2d 0a 0a 0a 45 78 61 6d 70 6c 65 20 31 31 ame*.lz.|.tar.-xf.-...Example.11
37440 3a 20 43 72 65 61 74 65 20 61 20 6d 75 6c 74 69 76 6f 6c 75 6d 65 20 63 6f 6d 70 72 65 73 73 65 :.Create.a.multivolume.compresse
37460 64 20 62 61 63 6b 75 70 20 6f 66 20 61 20 6c 61 72 67 65 20 64 61 74 61 62 61 73 65 0a 66 69 6c d.backup.of.a.large.database.fil
37480 65 20 77 69 74 68 20 61 20 76 6f 6c 75 6d 65 20 73 69 7a 65 20 6f 66 20 36 35 30 20 4d 42 2c 20 e.with.a.volume.size.of.650.MB,.
374a0 77 68 65 72 65 20 65 61 63 68 20 76 6f 6c 75 6d 65 20 69 73 20 61 20 6d 75 6c 74 69 6d 65 6d 62 where.each.volume.is.a.multimemb
374c0 65 72 0a 66 69 6c 65 20 77 69 74 68 20 61 20 6d 65 6d 62 65 72 20 73 69 7a 65 20 6f 66 20 33 32 er.file.with.a.member.size.of.32
374e0 20 4d 69 42 2e 0a 0a 20 20 20 20 20 6c 7a 69 70 20 2d 62 20 33 32 4d 69 42 20 2d 53 20 36 35 30 .MiB........lzip.-b.32MiB.-S.650
37500 4d 42 20 62 69 67 5f 64 62 0a 0a 1f 0a 46 69 6c 65 3a 20 6c 7a 69 70 2e 69 6e 66 6f 2c 20 20 4e MB.big_db....File:.lzip.info,..N
37520 6f 64 65 3a 20 50 72 6f 62 6c 65 6d 73 2c 20 20 4e 65 78 74 3a 20 52 65 66 65 72 65 6e 63 65 20 ode:.Problems,..Next:.Reference.
37540 73 6f 75 72 63 65 20 63 6f 64 65 2c 20 20 50 72 65 76 3a 20 45 78 61 6d 70 6c 65 73 2c 20 20 55 source.code,..Prev:.Examples,..U
37560 70 3a 20 54 6f 70 0a 0a 31 30 20 52 65 70 6f 72 74 69 6e 67 20 62 75 67 73 0a 2a 2a 2a 2a 2a 2a p:.Top..10.Reporting.bugs.******
37580 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 54 68 65 72 65 20 61 72 65 20 70 72 6f 62 61 62 6c 79 20 ***********..There.are.probably.
375a0 62 75 67 73 20 69 6e 20 6c 7a 69 70 2e 20 54 68 65 72 65 20 61 72 65 20 63 65 72 74 61 69 6e 6c bugs.in.lzip..There.are.certainl
375c0 79 20 65 72 72 6f 72 73 20 61 6e 64 0a 6f 6d 69 73 73 69 6f 6e 73 20 69 6e 20 74 68 69 73 20 6d y.errors.and.omissions.in.this.m
375e0 61 6e 75 61 6c 2e 20 49 66 20 79 6f 75 20 72 65 70 6f 72 74 20 74 68 65 6d 2c 20 74 68 65 79 20 anual..If.you.report.them,.they.
37600 77 69 6c 6c 20 67 65 74 20 66 69 78 65 64 2e 20 49 66 0a 79 6f 75 20 64 6f 6e 27 74 2c 20 6e 6f will.get.fixed..If.you.don't,.no
37620 20 6f 6e 65 20 77 69 6c 6c 20 65 76 65 72 20 6b 6e 6f 77 20 61 62 6f 75 74 20 74 68 65 6d 20 61 .one.will.ever.know.about.them.a
37640 6e 64 20 74 68 65 79 20 77 69 6c 6c 20 72 65 6d 61 69 6e 20 75 6e 66 69 78 65 64 0a 66 6f 72 20 nd.they.will.remain.unfixed.for.
37660 61 6c 6c 20 65 74 65 72 6e 69 74 79 2c 20 69 66 20 6e 6f 74 20 6c 6f 6e 67 65 72 2e 0a 0a 20 20 all.eternity,.if.not.longer.....
37680 20 49 66 20 79 6f 75 20 66 69 6e 64 20 61 20 62 75 67 20 69 6e 20 6c 7a 69 70 2c 20 70 6c 65 61 .If.you.find.a.bug.in.lzip,.plea
376a0 73 65 20 73 65 6e 64 20 65 6c 65 63 74 72 6f 6e 69 63 20 6d 61 69 6c 20 74 6f 0a 3c 6c 7a 69 70 se.send.electronic.mail.to.<lzip
376c0 2d 62 75 67 40 6e 6f 6e 67 6e 75 2e 6f 72 67 3e 2e 20 49 6e 63 6c 75 64 65 20 74 68 65 20 76 65 -bug@nongnu.org>..Include.the.ve
376e0 72 73 69 6f 6e 20 6e 75 6d 62 65 72 2c 20 77 68 69 63 68 20 79 6f 75 20 63 61 6e 20 66 69 6e 64 rsion.number,.which.you.can.find
37700 0a 62 79 20 72 75 6e 6e 69 6e 67 20 27 6c 7a 69 70 20 2d 2d 76 65 72 73 69 6f 6e 27 2e 0a 0a 1f .by.running.'lzip.--version'....
37720 0a 46 69 6c 65 3a 20 6c 7a 69 70 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 52 65 66 65 72 65 6e .File:.lzip.info,..Node:.Referen
37740 63 65 20 73 6f 75 72 63 65 20 63 6f 64 65 2c 20 20 4e 65 78 74 3a 20 43 6f 6e 63 65 70 74 20 69 ce.source.code,..Next:.Concept.i
37760 6e 64 65 78 2c 20 20 50 72 65 76 3a 20 50 72 6f 62 6c 65 6d 73 2c 20 20 55 70 3a 20 54 6f 70 0a ndex,..Prev:.Problems,..Up:.Top.
37780 0a 41 70 70 65 6e 64 69 78 20 41 20 52 65 66 65 72 65 6e 63 65 20 73 6f 75 72 63 65 20 63 6f 64 .Appendix.A.Reference.source.cod
377a0 65 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a e.******************************
377c0 2a 2a 0a 0a 2f 2a 20 20 4c 7a 64 20 2d 20 45 64 75 63 61 74 69 6f 6e 61 6c 20 64 65 63 6f 6d 70 **../*..Lzd.-.Educational.decomp
377e0 72 65 73 73 6f 72 20 66 6f 72 20 74 68 65 20 6c 7a 69 70 20 66 6f 72 6d 61 74 0a 20 20 20 20 43 ressor.for.the.lzip.format.....C
37800 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 33 2d 32 30 31 38 20 41 6e 74 6f 6e 69 6f 20 44 opyright.(C).2013-2018.Antonio.D
37820 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 iaz.Diaz.......This.program.is.f
37840 72 65 65 20 73 6f 66 74 77 61 72 65 2e 20 52 65 64 69 73 74 72 69 62 75 74 69 6f 6e 20 61 6e 64 ree.software..Redistribution.and
37860 20 75 73 65 20 69 6e 20 73 6f 75 72 63 65 20 61 6e 64 0a 20 20 20 20 62 69 6e 61 72 79 20 66 6f .use.in.source.and.....binary.fo
37880 72 6d 73 2c 20 77 69 74 68 20 6f 72 20 77 69 74 68 6f 75 74 20 6d 6f 64 69 66 69 63 61 74 69 6f rms,.with.or.without.modificatio
378a0 6e 2c 20 61 72 65 20 70 65 72 6d 69 74 74 65 64 20 70 72 6f 76 69 64 65 64 0a 20 20 20 20 74 68 n,.are.permitted.provided.....th
378c0 61 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 at.the.following.conditions.are.
378e0 6d 65 74 3a 0a 0a 20 20 20 20 31 2e 20 52 65 64 69 73 74 72 69 62 75 74 69 6f 6e 73 20 6f 66 20 met:......1..Redistributions.of.
37900 73 6f 75 72 63 65 20 63 6f 64 65 20 6d 75 73 74 20 72 65 74 61 69 6e 20 74 68 65 20 61 62 6f 76 source.code.must.retain.the.abov
37920 65 20 63 6f 70 79 72 69 67 68 74 0a 20 20 20 20 6e 6f 74 69 63 65 2c 20 74 68 69 73 20 6c 69 73 e.copyright.....notice,.this.lis
37940 74 20 6f 66 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 6e 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e t.of.conditions.and.the.followin
37960 67 20 64 69 73 63 6c 61 69 6d 65 72 2e 0a 0a 20 20 20 20 32 2e 20 52 65 64 69 73 74 72 69 62 75 g.disclaimer.......2..Redistribu
37980 74 69 6f 6e 73 20 69 6e 20 62 69 6e 61 72 79 20 66 6f 72 6d 20 6d 75 73 74 20 72 65 70 72 6f 64 tions.in.binary.form.must.reprod
379a0 75 63 65 20 74 68 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 67 68 74 0a 20 20 20 20 6e 6f 74 69 uce.the.above.copyright.....noti
379c0 63 65 2c 20 74 68 69 73 20 6c 69 73 74 20 6f 66 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 6e 64 20 ce,.this.list.of.conditions.and.
379e0 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 64 69 73 63 6c 61 69 6d 65 72 20 69 6e 20 74 68 65 0a the.following.disclaimer.in.the.
37a00 20 20 20 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 61 6e 64 2f 6f 72 20 6f 74 68 65 72 20 6d ....documentation.and/or.other.m
37a20 61 74 65 72 69 61 6c 73 20 70 72 6f 76 69 64 65 64 20 77 69 74 68 20 74 68 65 20 64 69 73 74 72 aterials.provided.with.the.distr
37a40 69 62 75 74 69 6f 6e 2e 0a 0a 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 ibution.......This.program.is.di
37a60 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 stributed.in.the.hope.that.it.wi
37a80 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 20 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e ll.be.useful,.....but.WITHOUT.AN
37aa0 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 Y.WARRANTY;.without.even.the.imp
37ac0 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 lied.warranty.of.....MERCHANTABI
37ae0 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 LITY.or.FITNESS.FOR.A.PARTICULAR
37b00 20 50 55 52 50 4f 53 45 2e 0a 2a 2f 0a 2f 2a 0a 20 20 20 20 45 78 69 74 20 73 74 61 74 75 73 3a .PURPOSE..*/./*.....Exit.status:
37b20 20 30 20 66 6f 72 20 61 20 6e 6f 72 6d 61 6c 20 65 78 69 74 2c 20 31 20 66 6f 72 20 65 6e 76 69 .0.for.a.normal.exit,.1.for.envi
37b40 72 6f 6e 6d 65 6e 74 61 6c 20 70 72 6f 62 6c 65 6d 73 0a 20 20 20 20 28 66 69 6c 65 20 6e 6f 74 ronmental.problems.....(file.not
37b60 20 66 6f 75 6e 64 2c 20 69 6e 76 61 6c 69 64 20 66 6c 61 67 73 2c 20 49 2f 4f 20 65 72 72 6f 72 .found,.invalid.flags,.I/O.error
37b80 73 2c 20 65 74 63 29 2c 20 32 20 74 6f 20 69 6e 64 69 63 61 74 65 20 61 0a 20 20 20 20 63 6f 72 s,.etc),.2.to.indicate.a.....cor
37ba0 72 75 70 74 20 6f 72 20 69 6e 76 61 6c 69 64 20 69 6e 70 75 74 20 66 69 6c 65 2e 0a 2a 2f 0a 0a rupt.or.invalid.input.file..*/..
37bc0 23 69 6e 63 6c 75 64 65 20 3c 61 6c 67 6f 72 69 74 68 6d 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 63 #include.<algorithm>.#include.<c
37be0 65 72 72 6e 6f 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 63 73 74 64 69 6f 3e 0a 23 69 6e 63 6c 75 64 errno>.#include.<cstdio>.#includ
37c00 65 20 3c 63 73 74 64 6c 69 62 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 63 73 74 72 69 6e 67 3e 0a 23 e.<cstdlib>.#include.<cstring>.#
37c20 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6e 74 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69 include.<stdint.h>.#include.<uni
37c40 73 74 64 2e 68 3e 0a 23 69 66 20 64 65 66 69 6e 65 64 28 5f 5f 4d 53 56 43 52 54 5f 5f 29 20 7c std.h>.#if.defined(__MSVCRT__).|
37c60 7c 20 64 65 66 69 6e 65 64 28 5f 5f 4f 53 32 5f 5f 29 20 7c 7c 20 64 65 66 69 6e 65 64 28 5f 4d |.defined(__OS2__).||.defined(_M
37c80 53 43 5f 56 45 52 29 0a 23 69 6e 63 6c 75 64 65 20 3c 66 63 6e 74 6c 2e 68 3e 0a 23 69 6e 63 6c SC_VER).#include.<fcntl.h>.#incl
37ca0 75 64 65 20 3c 69 6f 2e 68 3e 0a 23 65 6e 64 69 66 0a 0a 0a 63 6c 61 73 73 20 53 74 61 74 65 0a ude.<io.h>.#endif...class.State.
37cc0 20 20 7b 0a 20 20 69 6e 74 20 73 74 3b 0a 0a 70 75 62 6c 69 63 3a 0a 20 20 65 6e 75 6d 20 7b 20 ..{...int.st;..public:...enum.{.
37ce0 73 74 61 74 65 73 20 3d 20 31 32 20 7d 3b 0a 20 20 53 74 61 74 65 28 29 20 3a 20 73 74 28 20 30 states.=.12.};...State().:.st(.0
37d00 20 29 20 7b 7d 0a 20 20 69 6e 74 20 6f 70 65 72 61 74 6f 72 28 29 28 29 20 63 6f 6e 73 74 20 7b .).{}...int.operator()().const.{
37d20 20 72 65 74 75 72 6e 20 73 74 3b 20 7d 0a 20 20 62 6f 6f 6c 20 69 73 5f 63 68 61 72 28 29 20 63 .return.st;.}...bool.is_char().c
37d40 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 73 74 20 3c 20 37 3b 20 7d 0a 0a 20 20 76 6f 69 64 20 onst.{.return.st.<.7;.}....void.
37d60 73 65 74 5f 63 68 61 72 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 73 74 61 74 69 63 20 63 6f 6e 73 set_char().....{.....static.cons
37d80 74 20 69 6e 74 20 6e 65 78 74 5b 73 74 61 74 65 73 5d 20 3d 20 7b 20 30 2c 20 30 2c 20 30 2c 20 t.int.next[states].=.{.0,.0,.0,.
37da0 30 2c 20 31 2c 20 32 2c 20 33 2c 20 34 2c 20 35 2c 20 36 2c 20 34 2c 20 35 20 7d 3b 0a 20 20 20 0,.1,.2,.3,.4,.5,.6,.4,.5.};....
37dc0 20 73 74 20 3d 20 6e 65 78 74 5b 73 74 5d 3b 0a 20 20 20 20 7d 0a 20 20 76 6f 69 64 20 73 65 74 .st.=.next[st];.....}...void.set
37de0 5f 6d 61 74 63 68 28 29 20 20 20 20 20 7b 20 73 74 20 3d 20 28 20 73 74 20 3c 20 37 20 29 20 3f _match().....{.st.=.(.st.<.7.).?
37e00 20 37 20 3a 20 31 30 3b 20 7d 0a 20 20 76 6f 69 64 20 73 65 74 5f 72 65 70 28 29 20 20 20 20 20 .7.:.10;.}...void.set_rep().....
37e20 20 20 7b 20 73 74 20 3d 20 28 20 73 74 20 3c 20 37 20 29 20 3f 20 38 20 3a 20 31 31 3b 20 7d 0a ..{.st.=.(.st.<.7.).?.8.:.11;.}.
37e40 20 20 76 6f 69 64 20 73 65 74 5f 73 68 6f 72 74 5f 72 65 70 28 29 20 7b 20 73 74 20 3d 20 28 20 ..void.set_short_rep().{.st.=.(.
37e60 73 74 20 3c 20 37 20 29 20 3f 20 39 20 3a 20 31 31 3b 20 7d 0a 20 20 7d 3b 0a 0a 0a 65 6e 75 6d st.<.7.).?.9.:.11;.}...};...enum
37e80 20 7b 0a 20 20 6d 69 6e 5f 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 3d 20 31 20 3c 3c 20 .{...min_dictionary_size.=.1.<<.
37ea0 31 32 2c 0a 20 20 6d 61 78 5f 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 3d 20 31 20 3c 3c 12,...max_dictionary_size.=.1.<<
37ec0 20 32 39 2c 0a 20 20 6c 69 74 65 72 61 6c 5f 63 6f 6e 74 65 78 74 5f 62 69 74 73 20 3d 20 33 2c .29,...literal_context_bits.=.3,
37ee0 0a 20 20 6c 69 74 65 72 61 6c 5f 70 6f 73 5f 73 74 61 74 65 5f 62 69 74 73 20 3d 20 30 2c 09 09 ...literal_pos_state_bits.=.0,..
37f00 09 09 2f 2f 20 6e 6f 74 20 75 73 65 64 0a 20 20 70 6f 73 5f 73 74 61 74 65 5f 62 69 74 73 20 3d ..//.not.used...pos_state_bits.=
37f20 20 32 2c 0a 20 20 70 6f 73 5f 73 74 61 74 65 73 20 3d 20 31 20 3c 3c 20 70 6f 73 5f 73 74 61 74 .2,...pos_states.=.1.<<.pos_stat
37f40 65 5f 62 69 74 73 2c 0a 20 20 70 6f 73 5f 73 74 61 74 65 5f 6d 61 73 6b 20 3d 20 70 6f 73 5f 73 e_bits,...pos_state_mask.=.pos_s
37f60 74 61 74 65 73 20 2d 20 31 2c 0a 0a 20 20 6c 65 6e 5f 73 74 61 74 65 73 20 3d 20 34 2c 0a 20 20 tates.-.1,....len_states.=.4,...
37f80 64 69 73 5f 73 6c 6f 74 5f 62 69 74 73 20 3d 20 36 2c 0a 20 20 73 74 61 72 74 5f 64 69 73 5f 6d dis_slot_bits.=.6,...start_dis_m
37fa0 6f 64 65 6c 20 3d 20 34 2c 0a 20 20 65 6e 64 5f 64 69 73 5f 6d 6f 64 65 6c 20 3d 20 31 34 2c 0a odel.=.4,...end_dis_model.=.14,.
37fc0 20 20 6d 6f 64 65 6c 65 64 5f 64 69 73 74 61 6e 63 65 73 20 3d 20 31 20 3c 3c 20 28 65 6e 64 5f ..modeled_distances.=.1.<<.(end_
37fe0 64 69 73 5f 6d 6f 64 65 6c 20 2f 20 32 29 2c 09 09 2f 2f 20 31 32 38 0a 20 20 64 69 73 5f 61 6c dis_model./.2),..//.128...dis_al
38000 69 67 6e 5f 62 69 74 73 20 3d 20 34 2c 0a 20 20 64 69 73 5f 61 6c 69 67 6e 5f 73 69 7a 65 20 3d ign_bits.=.4,...dis_align_size.=
38020 20 31 20 3c 3c 20 64 69 73 5f 61 6c 69 67 6e 5f 62 69 74 73 2c 0a 0a 20 20 6c 65 6e 5f 6c 6f 77 .1.<<.dis_align_bits,....len_low
38040 5f 62 69 74 73 20 3d 20 33 2c 0a 20 20 6c 65 6e 5f 6d 69 64 5f 62 69 74 73 20 3d 20 33 2c 0a 20 _bits.=.3,...len_mid_bits.=.3,..
38060 20 6c 65 6e 5f 68 69 67 68 5f 62 69 74 73 20 3d 20 38 2c 0a 20 20 6c 65 6e 5f 6c 6f 77 5f 73 79 .len_high_bits.=.8,...len_low_sy
38080 6d 62 6f 6c 73 20 3d 20 31 20 3c 3c 20 6c 65 6e 5f 6c 6f 77 5f 62 69 74 73 2c 0a 20 20 6c 65 6e mbols.=.1.<<.len_low_bits,...len
380a0 5f 6d 69 64 5f 73 79 6d 62 6f 6c 73 20 3d 20 31 20 3c 3c 20 6c 65 6e 5f 6d 69 64 5f 62 69 74 73 _mid_symbols.=.1.<<.len_mid_bits
380c0 2c 0a 20 20 6c 65 6e 5f 68 69 67 68 5f 73 79 6d 62 6f 6c 73 20 3d 20 31 20 3c 3c 20 6c 65 6e 5f ,...len_high_symbols.=.1.<<.len_
380e0 68 69 67 68 5f 62 69 74 73 2c 0a 20 20 6d 61 78 5f 6c 65 6e 5f 73 79 6d 62 6f 6c 73 20 3d 20 6c high_bits,...max_len_symbols.=.l
38100 65 6e 5f 6c 6f 77 5f 73 79 6d 62 6f 6c 73 20 2b 20 6c 65 6e 5f 6d 69 64 5f 73 79 6d 62 6f 6c 73 en_low_symbols.+.len_mid_symbols
38120 20 2b 20 6c 65 6e 5f 68 69 67 68 5f 73 79 6d 62 6f 6c 73 2c 0a 0a 20 20 6d 69 6e 5f 6d 61 74 63 .+.len_high_symbols,....min_matc
38140 68 5f 6c 65 6e 20 3d 20 32 2c 09 09 09 09 09 2f 2f 20 6d 75 73 74 20 62 65 20 32 0a 0a 20 20 62 h_len.=.2,.....//.must.be.2....b
38160 69 74 5f 6d 6f 64 65 6c 5f 6d 6f 76 65 5f 62 69 74 73 20 3d 20 35 2c 0a 20 20 62 69 74 5f 6d 6f it_model_move_bits.=.5,...bit_mo
38180 64 65 6c 5f 74 6f 74 61 6c 5f 62 69 74 73 20 3d 20 31 31 2c 0a 20 20 62 69 74 5f 6d 6f 64 65 6c del_total_bits.=.11,...bit_model
381a0 5f 74 6f 74 61 6c 20 3d 20 31 20 3c 3c 20 62 69 74 5f 6d 6f 64 65 6c 5f 74 6f 74 61 6c 5f 62 69 _total.=.1.<<.bit_model_total_bi
381c0 74 73 20 7d 3b 0a 0a 73 74 72 75 63 74 20 42 69 74 5f 6d 6f 64 65 6c 0a 20 20 7b 0a 20 20 69 6e ts.};..struct.Bit_model...{...in
381e0 74 20 70 72 6f 62 61 62 69 6c 69 74 79 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 28 29 20 3a 20 70 t.probability;...Bit_model().:.p
38200 72 6f 62 61 62 69 6c 69 74 79 28 20 62 69 74 5f 6d 6f 64 65 6c 5f 74 6f 74 61 6c 20 2f 20 32 20 robability(.bit_model_total./.2.
38220 29 20 7b 7d 0a 20 20 7d 3b 0a 0a 73 74 72 75 63 74 20 4c 65 6e 5f 6d 6f 64 65 6c 0a 20 20 7b 0a ).{}...};..struct.Len_model...{.
38240 20 20 42 69 74 5f 6d 6f 64 65 6c 20 63 68 6f 69 63 65 31 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c ..Bit_model.choice1;...Bit_model
38260 20 63 68 6f 69 63 65 32 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 6c 6f 77 5b 70 6f 73 .choice2;...Bit_model.bm_low[pos
38280 5f 73 74 61 74 65 73 5d 5b 6c 65 6e 5f 6c 6f 77 5f 73 79 6d 62 6f 6c 73 5d 3b 0a 20 20 42 69 74 _states][len_low_symbols];...Bit
382a0 5f 6d 6f 64 65 6c 20 62 6d 5f 6d 69 64 5b 70 6f 73 5f 73 74 61 74 65 73 5d 5b 6c 65 6e 5f 6d 69 _model.bm_mid[pos_states][len_mi
382c0 64 5f 73 79 6d 62 6f 6c 73 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 68 69 67 68 5b d_symbols];...Bit_model.bm_high[
382e0 6c 65 6e 5f 68 69 67 68 5f 73 79 6d 62 6f 6c 73 5d 3b 0a 20 20 7d 3b 0a 0a 0a 63 6c 61 73 73 20 len_high_symbols];...};...class.
38300 43 52 43 33 32 0a 20 20 7b 0a 20 20 75 69 6e 74 33 32 5f 74 20 64 61 74 61 5b 32 35 36 5d 3b 09 CRC32...{...uint32_t.data[256];.
38320 09 2f 2f 20 54 61 62 6c 65 20 6f 66 20 43 52 43 73 20 6f 66 20 61 6c 6c 20 38 2d 62 69 74 20 6d .//.Table.of.CRCs.of.all.8-bit.m
38340 65 73 73 61 67 65 73 2e 0a 0a 70 75 62 6c 69 63 3a 0a 20 20 43 52 43 33 32 28 29 0a 20 20 20 20 essages...public:...CRC32().....
38360 7b 0a 20 20 20 20 66 6f 72 28 20 75 6e 73 69 67 6e 65 64 20 6e 20 3d 20 30 3b 20 6e 20 3c 20 32 {.....for(.unsigned.n.=.0;.n.<.2
38380 35 36 3b 20 2b 2b 6e 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 75 6e 73 69 67 6e 65 64 56;.++n.).......{.......unsigned
383a0 20 63 20 3d 20 6e 3b 0a 20 20 20 20 20 20 66 6f 72 28 20 69 6e 74 20 6b 20 3d 20 30 3b 20 6b 20 .c.=.n;.......for(.int.k.=.0;.k.
383c0 3c 20 38 3b 20 2b 2b 6b 20 29 0a 20 20 20 20 20 20 20 20 7b 20 69 66 28 20 63 20 26 20 31 20 29 <.8;.++k.).........{.if(.c.&.1.)
383e0 20 63 20 3d 20 30 78 45 44 42 38 38 33 32 30 55 20 5e 20 28 20 63 20 3e 3e 20 31 20 29 3b 20 65 .c.=.0xEDB88320U.^.(.c.>>.1.);.e
38400 6c 73 65 20 63 20 3e 3e 3d 20 31 3b 20 7d 0a 20 20 20 20 20 20 64 61 74 61 5b 6e 5d 20 3d 20 63 lse.c.>>=.1;.}.......data[n].=.c
38420 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 76 6f 69 64 20 75 70 64 61 74 65 5f 62 ;.......}.....}....void.update_b
38440 75 66 28 20 75 69 6e 74 33 32 5f 74 20 26 20 63 72 63 2c 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f uf(.uint32_t.&.crc,.const.uint8_
38460 74 20 2a 20 63 6f 6e 73 74 20 62 75 66 66 65 72 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.*.const.buffer,...............
38480 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 73 69 7a 65 20 29 20 63 6f 6e 73 74 0a 20 20 20 20 .....const.int.size.).const.....
384a0 7b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 73 69 7a 65 3b 20 {.....for(.int.i.=.0;.i.<.size;.
384c0 2b 2b 69 20 29 0a 20 20 20 20 20 20 63 72 63 20 3d 20 64 61 74 61 5b 28 63 72 63 5e 62 75 66 66 ++i.).......crc.=.data[(crc^buff
384e0 65 72 5b 69 5d 29 26 30 78 46 46 5d 20 5e 20 28 20 63 72 63 20 3e 3e 20 38 20 29 3b 0a 20 20 20 er[i])&0xFF].^.(.crc.>>.8.);....
38500 20 7d 0a 20 20 7d 3b 0a 0a 63 6f 6e 73 74 20 43 52 43 33 32 20 63 72 63 33 32 3b 0a 0a 0a 74 79 .}...};..const.CRC32.crc32;...ty
38520 70 65 64 65 66 20 75 69 6e 74 38 5f 74 20 46 69 6c 65 5f 68 65 61 64 65 72 5b 36 5d 3b 09 2f 2f pedef.uint8_t.File_header[6];.//
38540 20 30 2d 33 20 6d 61 67 69 63 2c 20 34 20 76 65 72 73 69 6f 6e 2c 20 35 20 63 6f 64 65 64 5f 64 .0-3.magic,.4.version,.5.coded_d
38560 69 63 74 5f 73 69 7a 65 0a 0a 74 79 70 65 64 65 66 20 75 69 6e 74 38 5f 74 20 46 69 6c 65 5f 74 ict_size..typedef.uint8_t.File_t
38580 72 61 69 6c 65 72 5b 32 30 5d 3b 0a 09 09 09 2f 2f 20 20 30 2d 33 20 20 43 52 43 33 32 20 6f 66 railer[20];....//..0-3..CRC32.of
385a0 20 74 68 65 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 0a 09 09 09 2f 2f 20 20 34 2d .the.uncompressed.data....//..4-
385c0 31 31 20 73 69 7a 65 20 6f 66 20 74 68 65 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 11.size.of.the.uncompressed.data
385e0 0a 09 09 09 2f 2f 20 31 32 2d 31 39 20 6d 65 6d 62 65 72 20 73 69 7a 65 20 69 6e 63 6c 75 64 69 ....//.12-19.member.size.includi
38600 6e 67 20 68 65 61 64 65 72 20 61 6e 64 20 74 72 61 69 6c 65 72 0a 0a 63 6c 61 73 73 20 52 61 6e ng.header.and.trailer..class.Ran
38620 67 65 5f 64 65 63 6f 64 65 72 0a 20 20 7b 0a 20 20 75 69 6e 74 33 32 5f 74 20 63 6f 64 65 3b 0a ge_decoder...{...uint32_t.code;.
38640 20 20 75 69 6e 74 33 32 5f 74 20 72 61 6e 67 65 3b 0a 0a 70 75 62 6c 69 63 3a 0a 20 20 52 61 6e ..uint32_t.range;..public:...Ran
38660 67 65 5f 64 65 63 6f 64 65 72 28 29 20 3a 20 63 6f 64 65 28 20 30 20 29 2c 20 72 61 6e 67 65 28 ge_decoder().:.code(.0.),.range(
38680 20 30 78 46 46 46 46 46 46 46 46 55 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 66 6f 72 28 20 69 6e .0xFFFFFFFFU.).....{.....for(.in
386a0 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 35 3b 20 2b 2b 69 20 29 20 63 6f 64 65 20 3d 20 28 63 6f t.i.=.0;.i.<.5;.++i.).code.=.(co
386c0 64 65 20 3c 3c 20 38 29 20 7c 20 67 65 74 5f 62 79 74 65 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 de.<<.8).|.get_byte();.....}....
386e0 75 69 6e 74 38 5f 74 20 67 65 74 5f 62 79 74 65 28 29 20 7b 20 72 65 74 75 72 6e 20 73 74 64 3a uint8_t.get_byte().{.return.std:
38700 3a 67 65 74 63 28 20 73 74 64 69 6e 20 29 3b 20 7d 0a 0a 20 20 75 6e 73 69 67 6e 65 64 20 64 65 :getc(.stdin.);.}....unsigned.de
38720 63 6f 64 65 28 20 63 6f 6e 73 74 20 69 6e 74 20 6e 75 6d 5f 62 69 74 73 20 29 0a 20 20 20 20 7b code(.const.int.num_bits.).....{
38740 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 73 79 6d 62 6f 6c 20 3d 20 30 3b 0a 20 20 20 20 66 6f .....unsigned.symbol.=.0;.....fo
38760 72 28 20 69 6e 74 20 69 20 3d 20 6e 75 6d 5f 62 69 74 73 3b 20 69 20 3e 20 30 3b 20 2d 2d 69 20 r(.int.i.=.num_bits;.i.>.0;.--i.
38780 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 72 61 6e 67 65 20 3e 3e 3d 20 31 3b 0a 20 20 20 ).......{.......range.>>=.1;....
387a0 20 20 20 73 79 6d 62 6f 6c 20 3c 3c 3d 20 31 3b 0a 20 20 20 20 20 20 69 66 28 20 63 6f 64 65 20 ...symbol.<<=.1;.......if(.code.
387c0 3e 3d 20 72 61 6e 67 65 20 29 20 7b 20 63 6f 64 65 20 2d 3d 20 72 61 6e 67 65 3b 20 73 79 6d 62 >=.range.).{.code.-=.range;.symb
387e0 6f 6c 20 7c 3d 20 31 3b 20 7d 0a 20 20 20 20 20 20 69 66 28 20 72 61 6e 67 65 20 3c 3d 20 30 78 ol.|=.1;.}.......if(.range.<=.0x
38800 30 30 46 46 46 46 46 46 55 20 29 09 09 09 2f 2f 20 6e 6f 72 6d 61 6c 69 7a 65 0a 20 20 20 20 20 00FFFFFFU.)...//.normalize......
38820 20 20 20 7b 20 72 61 6e 67 65 20 3c 3c 3d 20 38 3b 20 63 6f 64 65 20 3d 20 28 63 6f 64 65 20 3c ...{.range.<<=.8;.code.=.(code.<
38840 3c 20 38 29 20 7c 20 67 65 74 5f 62 79 74 65 28 29 3b 20 7d 0a 20 20 20 20 20 20 7d 0a 20 20 20 <.8).|.get_byte();.}.......}....
38860 20 72 65 74 75 72 6e 20 73 79 6d 62 6f 6c 3b 0a 20 20 20 20 7d 0a 0a 20 20 75 6e 73 69 67 6e 65 .return.symbol;.....}....unsigne
38880 64 20 64 65 63 6f 64 65 5f 62 69 74 28 20 42 69 74 5f 6d 6f 64 65 6c 20 26 20 62 6d 20 29 0a 20 d.decode_bit(.Bit_model.&.bm.)..
388a0 20 20 20 7b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 73 79 6d 62 6f 6c 3b 0a 20 20 20 20 63 6f ...{.....unsigned.symbol;.....co
388c0 6e 73 74 20 75 69 6e 74 33 32 5f 74 20 62 6f 75 6e 64 20 3d 20 28 20 72 61 6e 67 65 20 3e 3e 20 nst.uint32_t.bound.=.(.range.>>.
388e0 62 69 74 5f 6d 6f 64 65 6c 5f 74 6f 74 61 6c 5f 62 69 74 73 20 29 20 2a 20 62 6d 2e 70 72 6f 62 bit_model_total_bits.).*.bm.prob
38900 61 62 69 6c 69 74 79 3b 0a 20 20 20 20 69 66 28 20 63 6f 64 65 20 3c 20 62 6f 75 6e 64 20 29 0a ability;.....if(.code.<.bound.).
38920 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 72 61 6e 67 65 20 3d 20 62 6f 75 6e 64 3b 0a 20 20 20 ......{.......range.=.bound;....
38940 20 20 20 62 6d 2e 70 72 6f 62 61 62 69 6c 69 74 79 20 2b 3d 20 28 62 69 74 5f 6d 6f 64 65 6c 5f ...bm.probability.+=.(bit_model_
38960 74 6f 74 61 6c 20 2d 20 62 6d 2e 70 72 6f 62 61 62 69 6c 69 74 79 29 20 3e 3e 20 62 69 74 5f 6d total.-.bm.probability).>>.bit_m
38980 6f 64 65 6c 5f 6d 6f 76 65 5f 62 69 74 73 3b 0a 20 20 20 20 20 20 73 79 6d 62 6f 6c 20 3d 20 30 odel_move_bits;.......symbol.=.0
389a0 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 ;.......}.....else.......{......
389c0 20 72 61 6e 67 65 20 2d 3d 20 62 6f 75 6e 64 3b 0a 20 20 20 20 20 20 63 6f 64 65 20 2d 3d 20 62 .range.-=.bound;.......code.-=.b
389e0 6f 75 6e 64 3b 0a 20 20 20 20 20 20 62 6d 2e 70 72 6f 62 61 62 69 6c 69 74 79 20 2d 3d 20 62 6d ound;.......bm.probability.-=.bm
38a00 2e 70 72 6f 62 61 62 69 6c 69 74 79 20 3e 3e 20 62 69 74 5f 6d 6f 64 65 6c 5f 6d 6f 76 65 5f 62 .probability.>>.bit_model_move_b
38a20 69 74 73 3b 0a 20 20 20 20 20 20 73 79 6d 62 6f 6c 20 3d 20 31 3b 0a 20 20 20 20 20 20 7d 0a 20 its;.......symbol.=.1;.......}..
38a40 20 20 20 69 66 28 20 72 61 6e 67 65 20 3c 3d 20 30 78 30 30 46 46 46 46 46 46 55 20 29 09 09 09 ...if(.range.<=.0x00FFFFFFU.)...
38a60 09 2f 2f 20 6e 6f 72 6d 61 6c 69 7a 65 0a 20 20 20 20 20 20 7b 20 72 61 6e 67 65 20 3c 3c 3d 20 .//.normalize.......{.range.<<=.
38a80 38 3b 20 63 6f 64 65 20 3d 20 28 63 6f 64 65 20 3c 3c 20 38 29 20 7c 20 67 65 74 5f 62 79 74 65 8;.code.=.(code.<<.8).|.get_byte
38aa0 28 29 3b 20 7d 0a 20 20 20 20 72 65 74 75 72 6e 20 73 79 6d 62 6f 6c 3b 0a 20 20 20 20 7d 0a 0a ();.}.....return.symbol;.....}..
38ac0 20 20 75 6e 73 69 67 6e 65 64 20 64 65 63 6f 64 65 5f 74 72 65 65 28 20 42 69 74 5f 6d 6f 64 65 ..unsigned.decode_tree(.Bit_mode
38ae0 6c 20 62 6d 5b 5d 2c 20 63 6f 6e 73 74 20 69 6e 74 20 6e 75 6d 5f 62 69 74 73 20 29 0a 20 20 20 l.bm[],.const.int.num_bits.)....
38b00 20 7b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 73 79 6d 62 6f 6c 20 3d 20 31 3b 0a 20 20 20 20 .{.....unsigned.symbol.=.1;.....
38b20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 6e 75 6d 5f 62 69 74 73 3b 20 2b 2b for(.int.i.=.0;.i.<.num_bits;.++
38b40 69 20 29 0a 20 20 20 20 20 20 73 79 6d 62 6f 6c 20 3d 20 28 20 73 79 6d 62 6f 6c 20 3c 3c 20 31 i.).......symbol.=.(.symbol.<<.1
38b60 20 29 20 7c 20 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 20 29 3b 0a 20 .).|.decode_bit(.bm[symbol].);..
38b80 20 20 20 72 65 74 75 72 6e 20 73 79 6d 62 6f 6c 20 2d 20 28 31 20 3c 3c 20 6e 75 6d 5f 62 69 74 ...return.symbol.-.(1.<<.num_bit
38ba0 73 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 75 6e 73 69 67 6e 65 64 20 64 65 63 6f 64 65 5f 74 72 65 s);.....}....unsigned.decode_tre
38bc0 65 5f 72 65 76 65 72 73 65 64 28 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5b 5d 2c 20 63 6f 6e 73 e_reversed(.Bit_model.bm[],.cons
38be0 74 20 69 6e 74 20 6e 75 6d 5f 62 69 74 73 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 75 6e 73 69 67 t.int.num_bits.).....{.....unsig
38c00 6e 65 64 20 73 79 6d 62 6f 6c 20 3d 20 64 65 63 6f 64 65 5f 74 72 65 65 28 20 62 6d 2c 20 6e 75 ned.symbol.=.decode_tree(.bm,.nu
38c20 6d 5f 62 69 74 73 20 29 3b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 72 65 76 65 72 73 65 64 5f m_bits.);.....unsigned.reversed_
38c40 73 79 6d 62 6f 6c 20 3d 20 30 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 symbol.=.0;.....for(.int.i.=.0;.
38c60 69 20 3c 20 6e 75 6d 5f 62 69 74 73 3b 20 2b 2b 69 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 i.<.num_bits;.++i.).......{.....
38c80 20 20 72 65 76 65 72 73 65 64 5f 73 79 6d 62 6f 6c 20 3d 20 28 20 72 65 76 65 72 73 65 64 5f 73 ..reversed_symbol.=.(.reversed_s
38ca0 79 6d 62 6f 6c 20 3c 3c 20 31 20 29 20 7c 20 28 20 73 79 6d 62 6f 6c 20 26 20 31 20 29 3b 0a 20 ymbol.<<.1.).|.(.symbol.&.1.);..
38cc0 20 20 20 20 20 73 79 6d 62 6f 6c 20 3e 3e 3d 20 31 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 72 .....symbol.>>=.1;.......}.....r
38ce0 65 74 75 72 6e 20 72 65 76 65 72 73 65 64 5f 73 79 6d 62 6f 6c 3b 0a 20 20 20 20 7d 0a 0a 20 20 eturn.reversed_symbol;.....}....
38d00 75 6e 73 69 67 6e 65 64 20 64 65 63 6f 64 65 5f 6d 61 74 63 68 65 64 28 20 42 69 74 5f 6d 6f 64 unsigned.decode_matched(.Bit_mod
38d20 65 6c 20 62 6d 5b 5d 2c 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6d 61 74 63 68 5f 62 79 el.bm[],.const.unsigned.match_by
38d40 74 65 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 73 79 6d 62 6f 6c 20 3d te.).....{.....unsigned.symbol.=
38d60 20 31 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 37 3b 20 69 20 3e 3d 20 30 3b 20 .1;.....for(.int.i.=.7;.i.>=.0;.
38d80 2d 2d 69 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e --i.).......{.......const.unsign
38da0 65 64 20 6d 61 74 63 68 5f 62 69 74 20 3d 20 28 20 6d 61 74 63 68 5f 62 79 74 65 20 3e 3e 20 69 ed.match_bit.=.(.match_byte.>>.i
38dc0 20 29 20 26 20 31 3b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 62 69 74 .).&.1;.......const.unsigned.bit
38de0 20 3d 20 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 2b 28 6d 61 74 63 68 5f .=.decode_bit(.bm[symbol+(match_
38e00 62 69 74 3c 3c 38 29 2b 30 78 31 30 30 5d 20 29 3b 0a 20 20 20 20 20 20 73 79 6d 62 6f 6c 20 3d bit<<8)+0x100].);.......symbol.=
38e20 20 28 20 73 79 6d 62 6f 6c 20 3c 3c 20 31 20 29 20 7c 20 62 69 74 3b 0a 20 20 20 20 20 20 69 66 .(.symbol.<<.1.).|.bit;.......if
38e40 28 20 6d 61 74 63 68 5f 62 69 74 20 21 3d 20 62 69 74 20 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 (.match_bit.!=.bit.).........{..
38e60 20 20 20 20 20 20 20 77 68 69 6c 65 28 20 73 79 6d 62 6f 6c 20 3c 20 30 78 31 30 30 20 29 0a 20 .......while(.symbol.<.0x100.)..
38e80 20 20 20 20 20 20 20 20 20 73 79 6d 62 6f 6c 20 3d 20 28 20 73 79 6d 62 6f 6c 20 3c 3c 20 31 20 .........symbol.=.(.symbol.<<.1.
38ea0 29 20 7c 20 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 20 29 3b 0a 20 20 ).|.decode_bit(.bm[symbol].);...
38ec0 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 7d 0a 20 ......break;.........}.......}..
38ee0 20 20 20 72 65 74 75 72 6e 20 73 79 6d 62 6f 6c 20 26 20 30 78 46 46 3b 0a 20 20 20 20 7d 0a 0a ...return.symbol.&.0xFF;.....}..
38f00 20 20 75 6e 73 69 67 6e 65 64 20 64 65 63 6f 64 65 5f 6c 65 6e 28 20 4c 65 6e 5f 6d 6f 64 65 6c ..unsigned.decode_len(.Len_model
38f20 20 26 20 6c 6d 2c 20 63 6f 6e 73 74 20 69 6e 74 20 70 6f 73 5f 73 74 61 74 65 20 29 0a 20 20 20 .&.lm,.const.int.pos_state.)....
38f40 20 7b 0a 20 20 20 20 69 66 28 20 64 65 63 6f 64 65 5f 62 69 74 28 20 6c 6d 2e 63 68 6f 69 63 65 .{.....if(.decode_bit(.lm.choice
38f60 31 20 29 20 3d 3d 20 30 20 29 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 64 65 63 6f 64 65 5f 74 1.).==.0.).......return.decode_t
38f80 72 65 65 28 20 6c 6d 2e 62 6d 5f 6c 6f 77 5b 70 6f 73 5f 73 74 61 74 65 5d 2c 20 6c 65 6e 5f 6c ree(.lm.bm_low[pos_state],.len_l
38fa0 6f 77 5f 62 69 74 73 20 29 3b 0a 20 20 20 20 69 66 28 20 64 65 63 6f 64 65 5f 62 69 74 28 20 6c ow_bits.);.....if(.decode_bit(.l
38fc0 6d 2e 63 68 6f 69 63 65 32 20 29 20 3d 3d 20 30 20 29 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 m.choice2.).==.0.).......return.
38fe0 6c 65 6e 5f 6c 6f 77 5f 73 79 6d 62 6f 6c 73 20 2b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 64 len_low_symbols.+..............d
39000 65 63 6f 64 65 5f 74 72 65 65 28 20 6c 6d 2e 62 6d 5f 6d 69 64 5b 70 6f 73 5f 73 74 61 74 65 5d ecode_tree(.lm.bm_mid[pos_state]
39020 2c 20 6c 65 6e 5f 6d 69 64 5f 62 69 74 73 20 29 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 6c 65 6e ,.len_mid_bits.);.....return.len
39040 5f 6c 6f 77 5f 73 79 6d 62 6f 6c 73 20 2b 20 6c 65 6e 5f 6d 69 64 5f 73 79 6d 62 6f 6c 73 20 2b _low_symbols.+.len_mid_symbols.+
39060 0a 20 20 20 20 20 20 20 20 20 20 20 64 65 63 6f 64 65 5f 74 72 65 65 28 20 6c 6d 2e 62 6d 5f 68 ............decode_tree(.lm.bm_h
39080 69 67 68 2c 20 6c 65 6e 5f 68 69 67 68 5f 62 69 74 73 20 29 3b 0a 20 20 20 20 7d 0a 20 20 7d 3b igh,.len_high_bits.);.....}...};
390a0 0a 0a 0a 63 6c 61 73 73 20 4c 5a 5f 64 65 63 6f 64 65 72 0a 20 20 7b 0a 20 20 75 6e 73 69 67 6e ...class.LZ_decoder...{...unsign
390c0 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 70 61 72 74 69 61 6c 5f 64 61 74 61 5f 70 6f 73 3b 0a 20 ed.long.long.partial_data_pos;..
390e0 20 52 61 6e 67 65 5f 64 65 63 6f 64 65 72 20 72 64 65 63 3b 0a 20 20 63 6f 6e 73 74 20 75 6e 73 .Range_decoder.rdec;...const.uns
39100 69 67 6e 65 64 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 3b 0a 20 20 75 69 6e 74 38 5f 74 igned.dictionary_size;...uint8_t
39120 20 2a 20 63 6f 6e 73 74 20 62 75 66 66 65 72 3b 09 2f 2f 20 6f 75 74 70 75 74 20 62 75 66 66 65 .*.const.buffer;.//.output.buffe
39140 72 0a 20 20 75 6e 73 69 67 6e 65 64 20 70 6f 73 3b 09 09 09 2f 2f 20 63 75 72 72 65 6e 74 20 70 r...unsigned.pos;...//.current.p
39160 6f 73 20 69 6e 20 62 75 66 66 65 72 0a 20 20 75 6e 73 69 67 6e 65 64 20 73 74 72 65 61 6d 5f 70 os.in.buffer...unsigned.stream_p
39180 6f 73 3b 09 09 2f 2f 20 66 69 72 73 74 20 62 79 74 65 20 6e 6f 74 20 79 65 74 20 77 72 69 74 74 os;..//.first.byte.not.yet.writt
391a0 65 6e 20 74 6f 20 73 74 64 6f 75 74 0a 20 20 75 69 6e 74 33 32 5f 74 20 63 72 63 5f 3b 0a 20 20 en.to.stdout...uint32_t.crc_;...
391c0 62 6f 6f 6c 20 70 6f 73 5f 77 72 61 70 70 65 64 3b 0a 0a 20 20 76 6f 69 64 20 66 6c 75 73 68 5f bool.pos_wrapped;....void.flush_
391e0 64 61 74 61 28 29 3b 0a 0a 20 20 75 69 6e 74 38 5f 74 20 70 65 65 6b 28 20 63 6f 6e 73 74 20 75 data();....uint8_t.peek(.const.u
39200 6e 73 69 67 6e 65 64 20 64 69 73 74 61 6e 63 65 20 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 0a 20 nsigned.distance.).const.....{..
39220 20 20 20 69 66 28 20 70 6f 73 20 3e 20 64 69 73 74 61 6e 63 65 20 29 20 72 65 74 75 72 6e 20 62 ...if(.pos.>.distance.).return.b
39240 75 66 66 65 72 5b 70 6f 73 20 2d 20 64 69 73 74 61 6e 63 65 20 2d 20 31 5d 3b 0a 20 20 20 20 69 uffer[pos.-.distance.-.1];.....i
39260 66 28 20 70 6f 73 5f 77 72 61 70 70 65 64 20 29 20 72 65 74 75 72 6e 20 62 75 66 66 65 72 5b 64 f(.pos_wrapped.).return.buffer[d
39280 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 2b 20 70 6f 73 20 2d 20 64 69 73 74 61 6e 63 65 20 ictionary_size.+.pos.-.distance.
392a0 2d 20 31 5d 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 30 3b 09 09 09 2f 2f 20 70 72 65 76 5f 62 79 -.1];.....return.0;...//.prev_by
392c0 74 65 20 6f 66 20 66 69 72 73 74 20 62 79 74 65 0a 20 20 20 20 7d 0a 0a 20 20 76 6f 69 64 20 70 te.of.first.byte.....}....void.p
392e0 75 74 5f 62 79 74 65 28 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 62 20 29 0a 20 20 20 20 7b ut_byte(.const.uint8_t.b.).....{
39300 0a 20 20 20 20 62 75 66 66 65 72 5b 70 6f 73 5d 20 3d 20 62 3b 0a 20 20 20 20 69 66 28 20 2b 2b .....buffer[pos].=.b;.....if(.++
39320 70 6f 73 20 3e 3d 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 20 66 6c 75 73 68 5f 64 pos.>=.dictionary_size.).flush_d
39340 61 74 61 28 29 3b 0a 20 20 20 20 7d 0a 0a 70 75 62 6c 69 63 3a 0a 20 20 65 78 70 6c 69 63 69 74 ata();.....}..public:...explicit
39360 20 4c 5a 5f 64 65 63 6f 64 65 72 28 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 64 69 63 74 .LZ_decoder(.const.unsigned.dict
39380 5f 73 69 7a 65 20 29 0a 20 20 20 20 3a 0a 20 20 20 20 70 61 72 74 69 61 6c 5f 64 61 74 61 5f 70 _size.).....:.....partial_data_p
393a0 6f 73 28 20 30 20 29 2c 0a 20 20 20 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 28 20 64 69 os(.0.),.....dictionary_size(.di
393c0 63 74 5f 73 69 7a 65 20 29 2c 0a 20 20 20 20 62 75 66 66 65 72 28 20 6e 65 77 20 75 69 6e 74 38 ct_size.),.....buffer(.new.uint8
393e0 5f 74 5b 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 5d 20 29 2c 0a 20 20 20 20 70 6f 73 28 20 _t[dictionary_size].),.....pos(.
39400 30 20 29 2c 0a 20 20 20 20 73 74 72 65 61 6d 5f 70 6f 73 28 20 30 20 29 2c 0a 20 20 20 20 63 72 0.),.....stream_pos(.0.),.....cr
39420 63 5f 28 20 30 78 46 46 46 46 46 46 46 46 55 20 29 2c 0a 20 20 20 20 70 6f 73 5f 77 72 61 70 70 c_(.0xFFFFFFFFU.),.....pos_wrapp
39440 65 64 28 20 66 61 6c 73 65 20 29 0a 20 20 20 20 7b 7d 0a 0a 20 20 7e 4c 5a 5f 64 65 63 6f 64 65 ed(.false.).....{}....~LZ_decode
39460 72 28 29 20 7b 20 64 65 6c 65 74 65 5b 5d 20 62 75 66 66 65 72 3b 20 7d 0a 0a 20 20 75 6e 73 69 r().{.delete[].buffer;.}....unsi
39480 67 6e 65 64 20 63 72 63 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 63 72 63 5f 20 5e gned.crc().const.{.return.crc_.^
394a0 20 30 78 46 46 46 46 46 46 46 46 55 3b 20 7d 0a 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 .0xFFFFFFFFU;.}...unsigned.long.
394c0 6c 6f 6e 67 20 64 61 74 61 5f 70 6f 73 69 74 69 6f 6e 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 long.data_position().const.{.ret
394e0 75 72 6e 20 70 61 72 74 69 61 6c 5f 64 61 74 61 5f 70 6f 73 20 2b 20 70 6f 73 3b 20 7d 0a 0a 20 urn.partial_data_pos.+.pos;.}...
39500 20 62 6f 6f 6c 20 64 65 63 6f 64 65 5f 6d 65 6d 62 65 72 28 29 3b 0a 20 20 7d 3b 0a 0a 0a 76 6f .bool.decode_member();...};...vo
39520 69 64 20 4c 5a 5f 64 65 63 6f 64 65 72 3a 3a 66 6c 75 73 68 5f 64 61 74 61 28 29 0a 20 20 7b 0a id.LZ_decoder::flush_data()...{.
39540 20 20 69 66 28 20 70 6f 73 20 3e 20 73 74 72 65 61 6d 5f 70 6f 73 20 29 0a 20 20 20 20 7b 0a 20 ..if(.pos.>.stream_pos.).....{..
39560 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 73 69 7a 65 20 3d 20 70 6f 73 20 2d 20 73 ...const.unsigned.size.=.pos.-.s
39580 74 72 65 61 6d 5f 70 6f 73 3b 0a 20 20 20 20 63 72 63 33 32 2e 75 70 64 61 74 65 5f 62 75 66 28 tream_pos;.....crc32.update_buf(
395a0 20 63 72 63 5f 2c 20 62 75 66 66 65 72 20 2b 20 73 74 72 65 61 6d 5f 70 6f 73 2c 20 73 69 7a 65 .crc_,.buffer.+.stream_pos,.size
395c0 20 29 3b 0a 20 20 20 20 65 72 72 6e 6f 20 3d 20 30 3b 0a 20 20 20 20 69 66 28 20 73 74 64 3a 3a .);.....errno.=.0;.....if(.std::
395e0 66 77 72 69 74 65 28 20 62 75 66 66 65 72 20 2b 20 73 74 72 65 61 6d 5f 70 6f 73 2c 20 31 2c 20 fwrite(.buffer.+.stream_pos,.1,.
39600 73 69 7a 65 2c 20 73 74 64 6f 75 74 20 29 20 21 3d 20 73 69 7a 65 20 29 0a 20 20 20 20 20 20 7b size,.stdout.).!=.size.).......{
39620 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 65 72 72 2c 20 22 57 72 69 74 65 20 65 72 .std::fprintf(.stderr,."Write.er
39640 72 6f 72 3a 20 25 73 5c 6e 22 2c 20 73 74 64 3a 3a 73 74 72 65 72 72 6f 72 28 20 65 72 72 6e 6f ror:.%s\n",.std::strerror(.errno
39660 20 29 20 29 3b 0a 20 20 20 20 20 20 20 20 73 74 64 3a 3a 65 78 69 74 28 20 31 20 29 3b 20 7d 0a .).);.........std::exit(.1.);.}.
39680 20 20 20 20 69 66 28 20 70 6f 73 20 3e 3d 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 ....if(.pos.>=.dictionary_size.)
396a0 0a 20 20 20 20 20 20 7b 20 70 61 72 74 69 61 6c 5f 64 61 74 61 5f 70 6f 73 20 2b 3d 20 70 6f 73 .......{.partial_data_pos.+=.pos
396c0 3b 20 70 6f 73 20 3d 20 30 3b 20 70 6f 73 5f 77 72 61 70 70 65 64 20 3d 20 74 72 75 65 3b 20 7d ;.pos.=.0;.pos_wrapped.=.true;.}
396e0 0a 20 20 20 20 73 74 72 65 61 6d 5f 70 6f 73 20 3d 20 70 6f 73 3b 0a 20 20 20 20 7d 0a 20 20 7d .....stream_pos.=.pos;.....}...}
39700 0a 0a 0a 62 6f 6f 6c 20 4c 5a 5f 64 65 63 6f 64 65 72 3a 3a 64 65 63 6f 64 65 5f 6d 65 6d 62 65 ...bool.LZ_decoder::decode_membe
39720 72 28 29 09 09 2f 2f 20 52 65 74 75 72 6e 73 20 66 61 6c 73 65 20 69 66 20 65 72 72 6f 72 0a 20 r()..//.Returns.false.if.error..
39740 20 7b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 6c 69 74 65 72 61 6c 5b 31 3c 3c 6c 69 74 .{...Bit_model.bm_literal[1<<lit
39760 65 72 61 6c 5f 63 6f 6e 74 65 78 74 5f 62 69 74 73 5d 5b 30 78 33 30 30 5d 3b 0a 20 20 42 69 74 eral_context_bits][0x300];...Bit
39780 5f 6d 6f 64 65 6c 20 62 6d 5f 6d 61 74 63 68 5b 53 74 61 74 65 3a 3a 73 74 61 74 65 73 5d 5b 70 _model.bm_match[State::states][p
397a0 6f 73 5f 73 74 61 74 65 73 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 72 65 70 5b 53 os_states];...Bit_model.bm_rep[S
397c0 74 61 74 65 3a 3a 73 74 61 74 65 73 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 72 65 tate::states];...Bit_model.bm_re
397e0 70 30 5b 53 74 61 74 65 3a 3a 73 74 61 74 65 73 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 p0[State::states];...Bit_model.b
39800 6d 5f 72 65 70 31 5b 53 74 61 74 65 3a 3a 73 74 61 74 65 73 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 m_rep1[State::states];...Bit_mod
39820 65 6c 20 62 6d 5f 72 65 70 32 5b 53 74 61 74 65 3a 3a 73 74 61 74 65 73 5d 3b 0a 20 20 42 69 74 el.bm_rep2[State::states];...Bit
39840 5f 6d 6f 64 65 6c 20 62 6d 5f 6c 65 6e 5b 53 74 61 74 65 3a 3a 73 74 61 74 65 73 5d 5b 70 6f 73 _model.bm_len[State::states][pos
39860 5f 73 74 61 74 65 73 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 64 69 73 5f 73 6c 6f _states];...Bit_model.bm_dis_slo
39880 74 5b 6c 65 6e 5f 73 74 61 74 65 73 5d 5b 31 3c 3c 64 69 73 5f 73 6c 6f 74 5f 62 69 74 73 5d 3b t[len_states][1<<dis_slot_bits];
398a0 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 64 69 73 5b 6d 6f 64 65 6c 65 64 5f 64 69 73 74 ...Bit_model.bm_dis[modeled_dist
398c0 61 6e 63 65 73 2d 65 6e 64 5f 64 69 73 5f 6d 6f 64 65 6c 2b 31 5d 3b 0a 20 20 42 69 74 5f 6d 6f ances-end_dis_model+1];...Bit_mo
398e0 64 65 6c 20 62 6d 5f 61 6c 69 67 6e 5b 64 69 73 5f 61 6c 69 67 6e 5f 73 69 7a 65 5d 3b 0a 20 20 del.bm_align[dis_align_size];...
39900 4c 65 6e 5f 6d 6f 64 65 6c 20 6d 61 74 63 68 5f 6c 65 6e 5f 6d 6f 64 65 6c 3b 0a 20 20 4c 65 6e Len_model.match_len_model;...Len
39920 5f 6d 6f 64 65 6c 20 72 65 70 5f 6c 65 6e 5f 6d 6f 64 65 6c 3b 0a 20 20 75 6e 73 69 67 6e 65 64 _model.rep_len_model;...unsigned
39940 20 72 65 70 30 20 3d 20 30 3b 09 09 2f 2f 20 72 65 70 5b 30 2d 33 5d 20 6c 61 74 65 73 74 20 66 .rep0.=.0;..//.rep[0-3].latest.f
39960 6f 75 72 20 64 69 73 74 61 6e 63 65 73 0a 20 20 75 6e 73 69 67 6e 65 64 20 72 65 70 31 20 3d 20 our.distances...unsigned.rep1.=.
39980 30 3b 09 09 2f 2f 20 75 73 65 64 20 66 6f 72 20 65 66 66 69 63 69 65 6e 74 20 63 6f 64 69 6e 67 0;..//.used.for.efficient.coding
399a0 20 6f 66 0a 20 20 75 6e 73 69 67 6e 65 64 20 72 65 70 32 20 3d 20 30 3b 09 09 2f 2f 20 72 65 70 .of...unsigned.rep2.=.0;..//.rep
399c0 65 61 74 65 64 20 64 69 73 74 61 6e 63 65 73 0a 20 20 75 6e 73 69 67 6e 65 64 20 72 65 70 33 20 eated.distances...unsigned.rep3.
399e0 3d 20 30 3b 0a 20 20 53 74 61 74 65 20 73 74 61 74 65 3b 0a 0a 20 20 77 68 69 6c 65 28 20 21 73 =.0;...State.state;....while(.!s
39a00 74 64 3a 3a 66 65 6f 66 28 20 73 74 64 69 6e 20 29 20 26 26 20 21 73 74 64 3a 3a 66 65 72 72 6f td::feof(.stdin.).&&.!std::ferro
39a20 72 28 20 73 74 64 69 6e 20 29 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 r(.stdin.).).....{.....const.int
39a40 20 70 6f 73 5f 73 74 61 74 65 20 3d 20 64 61 74 61 5f 70 6f 73 69 74 69 6f 6e 28 29 20 26 20 70 .pos_state.=.data_position().&.p
39a60 6f 73 5f 73 74 61 74 65 5f 6d 61 73 6b 3b 0a 20 20 20 20 69 66 28 20 72 64 65 63 2e 64 65 63 6f os_state_mask;.....if(.rdec.deco
39a80 64 65 5f 62 69 74 28 20 62 6d 5f 6d 61 74 63 68 5b 73 74 61 74 65 28 29 5d 5b 70 6f 73 5f 73 74 de_bit(.bm_match[state()][pos_st
39aa0 61 74 65 5d 20 29 20 3d 3d 20 30 20 29 09 2f 2f 20 31 73 74 20 62 69 74 0a 20 20 20 20 20 20 7b ate].).==.0.).//.1st.bit.......{
39ac0 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 70 72 65 76 5f 62 79 74 65 20 3d .......const.uint8_t.prev_byte.=
39ae0 20 70 65 65 6b 28 20 30 20 29 3b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 6c 69 74 65 .peek(.0.);.......const.int.lite
39b00 72 61 6c 5f 73 74 61 74 65 20 3d 20 70 72 65 76 5f 62 79 74 65 20 3e 3e 20 28 20 38 20 2d 20 6c ral_state.=.prev_byte.>>.(.8.-.l
39b20 69 74 65 72 61 6c 5f 63 6f 6e 74 65 78 74 5f 62 69 74 73 20 29 3b 0a 20 20 20 20 20 20 42 69 74 iteral_context_bits.);.......Bit
39b40 5f 6d 6f 64 65 6c 20 2a 20 63 6f 6e 73 74 20 62 6d 20 3d 20 62 6d 5f 6c 69 74 65 72 61 6c 5b 6c _model.*.const.bm.=.bm_literal[l
39b60 69 74 65 72 61 6c 5f 73 74 61 74 65 5d 3b 0a 20 20 20 20 20 20 69 66 28 20 73 74 61 74 65 2e 69 iteral_state];.......if(.state.i
39b80 73 5f 63 68 61 72 28 29 20 29 0a 20 20 20 20 20 20 20 20 70 75 74 5f 62 79 74 65 28 20 72 64 65 s_char().).........put_byte(.rde
39ba0 63 2e 64 65 63 6f 64 65 5f 74 72 65 65 28 20 62 6d 2c 20 38 20 29 20 29 3b 0a 20 20 20 20 20 20 c.decode_tree(.bm,.8.).);.......
39bc0 65 6c 73 65 0a 20 20 20 20 20 20 20 20 70 75 74 5f 62 79 74 65 28 20 72 64 65 63 2e 64 65 63 6f else.........put_byte(.rdec.deco
39be0 64 65 5f 6d 61 74 63 68 65 64 28 20 62 6d 2c 20 70 65 65 6b 28 20 72 65 70 30 20 29 20 29 20 29 de_matched(.bm,.peek(.rep0.).).)
39c00 3b 0a 20 20 20 20 20 20 73 74 61 74 65 2e 73 65 74 5f 63 68 61 72 28 29 3b 0a 20 20 20 20 20 20 ;.......state.set_char();.......
39c20 7d 0a 20 20 20 20 65 6c 73 65 09 09 09 09 09 2f 2f 20 6d 61 74 63 68 20 6f 72 20 72 65 70 65 61 }.....else.....//.match.or.repea
39c40 74 65 64 20 6d 61 74 63 68 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 69 6e 74 20 6c 65 6e 3b ted.match.......{.......int.len;
39c60 0a 20 20 20 20 20 20 69 66 28 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f 72 .......if(.rdec.decode_bit(.bm_r
39c80 65 70 5b 73 74 61 74 65 28 29 5d 20 29 20 21 3d 20 30 20 29 09 09 2f 2f 20 32 6e 64 20 62 69 74 ep[state()].).!=.0.)..//.2nd.bit
39ca0 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 28 20 72 64 65 63 2e 64 65 63 6f .........{.........if(.rdec.deco
39cc0 64 65 5f 62 69 74 28 20 62 6d 5f 72 65 70 30 5b 73 74 61 74 65 28 29 5d 20 29 20 3d 3d 20 30 20 de_bit(.bm_rep0[state()].).==.0.
39ce0 29 09 09 2f 2f 20 33 72 64 20 62 69 74 0a 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 )..//.3rd.bit...........{.......
39d00 20 20 20 20 69 66 28 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f 6c 65 6e 5b ....if(.rdec.decode_bit(.bm_len[
39d20 73 74 61 74 65 28 29 5d 5b 70 6f 73 5f 73 74 61 74 65 5d 20 29 20 3d 3d 20 30 20 29 20 2f 2f 20 state()][pos_state].).==.0.).//.
39d40 34 74 68 20 62 69 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 73 74 61 74 65 2e 73 65 74 5f 4th.bit.............{.state.set_
39d60 73 68 6f 72 74 5f 72 65 70 28 29 3b 20 70 75 74 5f 62 79 74 65 28 20 70 65 65 6b 28 20 72 65 70 short_rep();.put_byte(.peek(.rep
39d80 30 20 29 20 29 3b 20 63 6f 6e 74 69 6e 75 65 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 7d 0a 20 0.).);.continue;.}...........}..
39da0 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 .......else...........{.........
39dc0 20 20 75 6e 73 69 67 6e 65 64 20 64 69 73 74 61 6e 63 65 3b 0a 20 20 20 20 20 20 20 20 20 20 69 ..unsigned.distance;...........i
39de0 66 28 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f 72 65 70 31 5b 73 74 61 74 f(.rdec.decode_bit(.bm_rep1[stat
39e00 65 28 29 5d 20 29 20 3d 3d 20 30 20 29 09 2f 2f 20 34 74 68 20 62 69 74 0a 20 20 20 20 20 20 20 e()].).==.0.).//.4th.bit........
39e20 20 20 20 20 20 64 69 73 74 61 6e 63 65 20 3d 20 72 65 70 31 3b 0a 20 20 20 20 20 20 20 20 20 20 .....distance.=.rep1;...........
39e40 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 else.............{.............i
39e60 66 28 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f 72 65 70 32 5b 73 74 61 74 f(.rdec.decode_bit(.bm_rep2[stat
39e80 65 28 29 5d 20 29 20 3d 3d 20 30 20 29 09 2f 2f 20 35 74 68 20 62 69 74 0a 20 20 20 20 20 20 20 e()].).==.0.).//.5th.bit........
39ea0 20 20 20 20 20 20 20 64 69 73 74 61 6e 63 65 20 3d 20 72 65 70 32 3b 0a 20 20 20 20 20 20 20 20 .......distance.=.rep2;.........
39ec0 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 64 69 73 74 61 6e 63 ....else...............{.distanc
39ee0 65 20 3d 20 72 65 70 33 3b 20 72 65 70 33 20 3d 20 72 65 70 32 3b 20 7d 0a 20 20 20 20 20 20 20 e.=.rep3;.rep3.=.rep2;.}........
39f00 20 20 20 20 20 72 65 70 32 20 3d 20 72 65 70 31 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a .....rep2.=.rep1;.............}.
39f20 20 20 20 20 20 20 20 20 20 20 72 65 70 31 20 3d 20 72 65 70 30 3b 0a 20 20 20 20 20 20 20 20 20 ..........rep1.=.rep0;..........
39f40 20 72 65 70 30 20 3d 20 64 69 73 74 61 6e 63 65 3b 0a 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 .rep0.=.distance;...........}...
39f60 20 20 20 20 20 20 73 74 61 74 65 2e 73 65 74 5f 72 65 70 28 29 3b 0a 20 20 20 20 20 20 20 20 6c ......state.set_rep();.........l
39f80 65 6e 20 3d 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 20 2b 20 72 64 65 63 2e 64 65 63 6f 64 65 en.=.min_match_len.+.rdec.decode
39fa0 5f 6c 65 6e 28 20 72 65 70 5f 6c 65 6e 5f 6d 6f 64 65 6c 2c 20 70 6f 73 5f 73 74 61 74 65 20 29 _len(.rep_len_model,.pos_state.)
39fc0 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 65 6c 73 65 09 09 09 09 09 2f 2f 20 6d 61 ;.........}.......else.....//.ma
39fe0 74 63 68 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 70 33 20 3d 20 72 65 70 tch.........{.........rep3.=.rep
3a000 32 3b 20 72 65 70 32 20 3d 20 72 65 70 31 3b 20 72 65 70 31 20 3d 20 72 65 70 30 3b 0a 20 20 20 2;.rep2.=.rep1;.rep1.=.rep0;....
3a020 20 20 20 20 20 6c 65 6e 20 3d 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 20 2b 20 72 64 65 63 2e .....len.=.min_match_len.+.rdec.
3a040 64 65 63 6f 64 65 5f 6c 65 6e 28 20 6d 61 74 63 68 5f 6c 65 6e 5f 6d 6f 64 65 6c 2c 20 70 6f 73 decode_len(.match_len_model,.pos
3a060 5f 73 74 61 74 65 20 29 3b 0a 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 6c 65 6e 5f _state.);.........const.int.len_
3a080 73 74 61 74 65 20 3d 20 73 74 64 3a 3a 6d 69 6e 28 20 6c 65 6e 20 2d 20 6d 69 6e 5f 6d 61 74 63 state.=.std::min(.len.-.min_matc
3a0a0 68 5f 6c 65 6e 2c 20 6c 65 6e 5f 73 74 61 74 65 73 20 2d 20 31 20 29 3b 0a 20 20 20 20 20 20 20 h_len,.len_states.-.1.);........
3a0c0 20 72 65 70 30 20 3d 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 74 72 65 65 28 20 62 6d 5f 64 69 73 .rep0.=.rdec.decode_tree(.bm_dis
3a0e0 5f 73 6c 6f 74 5b 6c 65 6e 5f 73 74 61 74 65 5d 2c 20 64 69 73 5f 73 6c 6f 74 5f 62 69 74 73 20 _slot[len_state],.dis_slot_bits.
3a100 29 3b 0a 20 20 20 20 20 20 20 20 69 66 28 20 72 65 70 30 20 3e 3d 20 73 74 61 72 74 5f 64 69 73 );.........if(.rep0.>=.start_dis
3a120 5f 6d 6f 64 65 6c 20 29 0a 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 _model.)...........{...........c
3a140 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 64 69 73 5f 73 6c 6f 74 20 3d 20 72 65 70 30 3b 0a 20 onst.unsigned.dis_slot.=.rep0;..
3a160 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 64 69 72 65 63 74 5f 62 69 74 73 20 3d .........const.int.direct_bits.=
3a180 20 28 20 64 69 73 5f 73 6c 6f 74 20 3e 3e 20 31 20 29 20 2d 20 31 3b 0a 20 20 20 20 20 20 20 20 .(.dis_slot.>>.1.).-.1;.........
3a1a0 20 20 72 65 70 30 20 3d 20 28 20 32 20 7c 20 28 20 64 69 73 5f 73 6c 6f 74 20 26 20 31 20 29 20 ..rep0.=.(.2.|.(.dis_slot.&.1.).
3a1c0 29 20 3c 3c 20 64 69 72 65 63 74 5f 62 69 74 73 3b 0a 20 20 20 20 20 20 20 20 20 20 69 66 28 20 ).<<.direct_bits;...........if(.
3a1e0 64 69 73 5f 73 6c 6f 74 20 3c 20 65 6e 64 5f 64 69 73 5f 6d 6f 64 65 6c 20 29 0a 20 20 20 20 20 dis_slot.<.end_dis_model.)......
3a200 20 20 20 20 20 20 20 72 65 70 30 20 2b 3d 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 74 72 65 65 5f .......rep0.+=.rdec.decode_tree_
3a220 72 65 76 65 72 73 65 64 28 20 62 6d 5f 64 69 73 20 2b 20 28 20 72 65 70 30 20 2d 20 64 69 73 5f reversed(.bm_dis.+.(.rep0.-.dis_
3a240 73 6c 6f 74 20 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 slot.),.........................
3a260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 69 72 65 63 74 5f 62 69 .......................direct_bi
3a280 74 73 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 ts.);...........else............
3a2a0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 70 30 20 2b 3d 20 72 64 65 63 2e 64 65 63 6f .{.............rep0.+=.rdec.deco
3a2c0 64 65 28 20 64 69 72 65 63 74 5f 62 69 74 73 20 2d 20 64 69 73 5f 61 6c 69 67 6e 5f 62 69 74 73 de(.direct_bits.-.dis_align_bits
3a2e0 20 29 20 3c 3c 20 64 69 73 5f 61 6c 69 67 6e 5f 62 69 74 73 3b 0a 20 20 20 20 20 20 20 20 20 20 .).<<.dis_align_bits;...........
3a300 20 20 72 65 70 30 20 2b 3d 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 74 72 65 65 5f 72 65 76 65 72 ..rep0.+=.rdec.decode_tree_rever
3a320 73 65 64 28 20 62 6d 5f 61 6c 69 67 6e 2c 20 64 69 73 5f 61 6c 69 67 6e 5f 62 69 74 73 20 29 3b sed(.bm_align,.dis_align_bits.);
3a340 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 28 20 72 65 70 30 20 3d 3d 20 30 78 46 46 46 46 46 .............if(.rep0.==.0xFFFFF
3a360 46 46 46 55 20 29 09 09 2f 2f 20 6d 61 72 6b 65 72 20 66 6f 75 6e 64 0a 20 20 20 20 20 20 20 20 FFFU.)..//.marker.found.........
3a380 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6c 75 73 68 5f 64 61 74 61 ......{...............flush_data
3a3a0 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 28 20 6c 65 6e 20 3d ();...............return.(.len.=
3a3c0 3d 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 20 29 3b 09 2f 2f 20 45 6e 64 20 4f 66 20 53 74 72 =.min_match_len.);.//.End.Of.Str
3a3e0 65 61 6d 20 6d 61 72 6b 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 eam.marker...............}......
3a400 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 73 74 61 .......}...........}.........sta
3a420 74 65 2e 73 65 74 5f 6d 61 74 63 68 28 29 3b 0a 20 20 20 20 20 20 20 20 69 66 28 20 72 65 70 30 te.set_match();.........if(.rep0
3a440 20 3e 3d 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 7c 7c 20 28 20 72 65 70 30 20 3e 3d .>=.dictionary_size.||.(.rep0.>=
3a460 20 70 6f 73 20 26 26 20 21 70 6f 73 5f 77 72 61 70 70 65 64 20 29 20 29 0a 20 20 20 20 20 20 20 .pos.&&.!pos_wrapped.).)........
3a480 20 20 20 7b 20 66 6c 75 73 68 5f 64 61 74 61 28 29 3b 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b ...{.flush_data();.return.false;
3a4a0 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 .}.........}.......for(.int.i.=.
3a4c0 30 3b 20 69 20 3c 20 6c 65 6e 3b 20 2b 2b 69 20 29 20 70 75 74 5f 62 79 74 65 28 20 70 65 65 6b 0;.i.<.len;.++i.).put_byte(.peek
3a4e0 28 20 72 65 70 30 20 29 20 29 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 66 6c 75 73 (.rep0.).);.......}.....}...flus
3a500 68 5f 64 61 74 61 28 29 3b 0a 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 7d 0a 0a 0a h_data();...return.false;...}...
3a520 69 6e 74 20 6d 61 69 6e 28 20 63 6f 6e 73 74 20 69 6e 74 20 61 72 67 63 2c 20 63 6f 6e 73 74 20 int.main(.const.int.argc,.const.
3a540 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 61 72 67 76 5b 5d 20 29 0a 20 20 7b 0a 20 20 69 66 28 20 char.*.const.argv[].)...{...if(.
3a560 61 72 67 63 20 3e 20 31 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 73 74 64 3a 3a 70 72 69 6e 74 66 argc.>.1.).....{.....std::printf
3a580 28 20 22 4c 7a 64 20 25 73 20 2d 20 45 64 75 63 61 74 69 6f 6e 61 6c 20 64 65 63 6f 6d 70 72 65 (."Lzd.%s.-.Educational.decompre
3a5a0 73 73 6f 72 20 66 6f 72 20 74 68 65 20 6c 7a 69 70 20 66 6f 72 6d 61 74 2e 5c 6e 22 2c 0a 20 20 ssor.for.the.lzip.format.\n",...
3a5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 52 4f 47 56 45 52 53 49 4f 4e 20 29 3b 0a 20 20 ...............PROGVERSION.);...
3a5e0 20 20 73 74 64 3a 3a 70 72 69 6e 74 66 28 20 22 53 74 75 64 79 20 74 68 65 20 73 6f 75 72 63 65 ..std::printf(."Study.the.source
3a600 20 74 6f 20 6c 65 61 72 6e 20 68 6f 77 20 61 20 6c 7a 69 70 20 64 65 63 6f 6d 70 72 65 73 73 6f .to.learn.how.a.lzip.decompresso
3a620 72 20 77 6f 72 6b 73 2e 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 53 65 r.works.\n".................."Se
3a640 65 20 74 68 65 20 6c 7a 69 70 20 6d 61 6e 75 61 6c 20 66 6f 72 20 61 6e 20 65 78 70 6c 61 6e 61 e.the.lzip.manual.for.an.explana
3a660 74 69 6f 6e 20 6f 66 20 74 68 65 20 63 6f 64 65 2e 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 tion.of.the.code.\n"............
3a680 20 20 20 20 20 20 22 49 74 20 69 73 20 6e 6f 74 20 73 61 66 65 20 74 6f 20 75 73 65 20 6c 7a 64 ......"It.is.not.safe.to.use.lzd
3a6a0 20 66 6f 72 20 61 6e 79 20 72 65 61 6c 20 77 6f 72 6b 2e 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 .for.any.real.work.\n"..........
3a6c0 20 20 20 20 20 20 20 20 22 5c 6e 55 73 61 67 65 3a 20 25 73 20 3c 20 66 69 6c 65 2e 6c 7a 20 3e ........"\nUsage:.%s.<.file.lz.>
3a6e0 20 66 69 6c 65 5c 6e 22 2c 20 61 72 67 76 5b 30 5d 20 29 3b 0a 20 20 20 20 73 74 64 3a 3a 70 72 .file\n",.argv[0].);.....std::pr
3a700 69 6e 74 66 28 20 22 4c 7a 64 20 64 65 63 6f 6d 70 72 65 73 73 65 73 20 66 72 6f 6d 20 73 74 61 intf(."Lzd.decompresses.from.sta
3a720 6e 64 61 72 64 20 69 6e 70 75 74 20 74 6f 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 2e 5c ndard.input.to.standard.output.\
3a740 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5c 6e 43 6f 70 79 72 69 67 68 74 n".................."\nCopyright
3a760 20 28 43 29 20 32 30 31 38 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 5c 6e 22 0a .(C).2018.Antonio.Diaz.Diaz.\n".
3a780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 54 68 69 73 20 69 73 20 66 72 65 65 20 73 ................."This.is.free.s
3a7a0 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 61 72 65 20 66 72 65 65 20 74 6f 20 63 68 61 6e 67 65 20 oftware:.you.are.free.to.change.
3a7c0 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 2e 5c 6e 22 0a 20 20 20 20 20 20 20 20 and.redistribute.it.\n".........
3a7e0 20 20 20 20 20 20 20 20 20 22 54 68 65 72 65 20 69 73 20 4e 4f 20 57 41 52 52 41 4e 54 59 2c 20 ........."There.is.NO.WARRANTY,.
3a800 74 6f 20 74 68 65 20 65 78 74 65 6e 74 20 70 65 72 6d 69 74 74 65 64 20 62 79 20 6c 61 77 2e 5c to.the.extent.permitted.by.law.\
3a820 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 52 65 70 6f 72 74 20 62 75 67 73 n".................."Report.bugs
3a840 20 74 6f 20 6c 7a 69 70 2d 62 75 67 40 6e 6f 6e 67 6e 75 2e 6f 72 67 5c 6e 22 0a 20 20 20 20 20 .to.lzip-bug@nongnu.org\n"......
3a860 20 20 20 20 20 20 20 20 20 20 20 20 22 4c 7a 64 20 68 6f 6d 65 20 70 61 67 65 3a 20 68 74 74 70 ............"Lzd.home.page:.http
3a880 3a 2f 2f 77 77 77 2e 6e 6f 6e 67 6e 75 2e 6f 72 67 2f 6c 7a 69 70 2f 6c 7a 64 2e 68 74 6d 6c 5c ://www.nongnu.org/lzip/lzd.html\
3a8a0 6e 22 20 29 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 30 3b 0a 20 20 20 20 7d 0a 0a 23 69 66 20 64 n".);.....return.0;.....}..#if.d
3a8c0 65 66 69 6e 65 64 28 5f 5f 4d 53 56 43 52 54 5f 5f 29 20 7c 7c 20 64 65 66 69 6e 65 64 28 5f 5f efined(__MSVCRT__).||.defined(__
3a8e0 4f 53 32 5f 5f 29 20 7c 7c 20 64 65 66 69 6e 65 64 28 5f 4d 53 43 5f 56 45 52 29 0a 20 20 73 65 OS2__).||.defined(_MSC_VER)...se
3a900 74 6d 6f 64 65 28 20 66 69 6c 65 6e 6f 28 20 73 74 64 69 6e 20 29 2c 20 4f 5f 42 49 4e 41 52 59 tmode(.fileno(.stdin.),.O_BINARY
3a920 20 29 3b 0a 20 20 73 65 74 6d 6f 64 65 28 20 66 69 6c 65 6e 6f 28 20 73 74 64 6f 75 74 20 29 2c .);...setmode(.fileno(.stdout.),
3a940 20 4f 5f 42 49 4e 41 52 59 20 29 3b 0a 23 65 6e 64 69 66 0a 0a 20 20 66 6f 72 28 20 62 6f 6f 6c .O_BINARY.);.#endif....for(.bool
3a960 20 66 69 72 73 74 5f 6d 65 6d 62 65 72 20 3d 20 74 72 75 65 3b 20 3b 20 66 69 72 73 74 5f 6d 65 .first_member.=.true;.;.first_me
3a980 6d 62 65 72 20 3d 20 66 61 6c 73 65 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 46 69 6c 65 5f 68 65 mber.=.false.).....{.....File_he
3a9a0 61 64 65 72 20 68 65 61 64 65 72 3b 09 09 09 09 2f 2f 20 76 65 72 69 66 79 20 68 65 61 64 65 72 ader.header;....//.verify.header
3a9c0 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 36 3b 20 2b 2b 69 20 .....for(.int.i.=.0;.i.<.6;.++i.
3a9e0 29 20 68 65 61 64 65 72 5b 69 5d 20 3d 20 73 74 64 3a 3a 67 65 74 63 28 20 73 74 64 69 6e 20 29 ).header[i].=.std::getc(.stdin.)
3aa00 3b 0a 20 20 20 20 69 66 28 20 73 74 64 3a 3a 66 65 6f 66 28 20 73 74 64 69 6e 20 29 20 7c 7c 20 ;.....if(.std::feof(.stdin.).||.
3aa20 73 74 64 3a 3a 6d 65 6d 63 6d 70 28 20 68 65 61 64 65 72 2c 20 22 4c 5a 49 50 5c 78 30 31 22 2c std::memcmp(.header,."LZIP\x01",
3aa40 20 35 20 29 20 21 3d 20 30 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 69 66 28 20 66 69 .5.).!=.0.).......{.......if(.fi
3aa60 72 73 74 5f 6d 65 6d 62 65 72 20 29 0a 20 20 20 20 20 20 20 20 7b 20 73 74 64 3a 3a 66 70 75 74 rst_member.).........{.std::fput
3aa80 73 28 20 22 42 61 64 20 6d 61 67 69 63 20 6e 75 6d 62 65 72 20 28 66 69 6c 65 20 6e 6f 74 20 69 s(."Bad.magic.number.(file.not.i
3aaa0 6e 20 6c 7a 69 70 20 66 6f 72 6d 61 74 29 2e 5c 6e 22 2c 20 73 74 64 65 72 72 20 29 3b 0a 20 20 n.lzip.format).\n",.stderr.);...
3aac0 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 32 3b 20 7d 0a 20 20 20 20 20 20 62 72 65 61 6b 3b ........return.2;.}.......break;
3aae0 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 64 69 63 74 5f 73 69 7a 65 20 .......}.....unsigned.dict_size.
3ab00 3d 20 31 20 3c 3c 20 28 20 68 65 61 64 65 72 5b 35 5d 20 26 20 30 78 31 46 20 29 3b 0a 20 20 20 =.1.<<.(.header[5].&.0x1F.);....
3ab20 20 64 69 63 74 5f 73 69 7a 65 20 2d 3d 20 28 20 64 69 63 74 5f 73 69 7a 65 20 2f 20 31 36 20 29 .dict_size.-=.(.dict_size./.16.)
3ab40 20 2a 20 28 20 28 20 68 65 61 64 65 72 5b 35 5d 20 3e 3e 20 35 20 29 20 26 20 37 20 29 3b 0a 20 .*.(.(.header[5].>>.5.).&.7.);..
3ab60 20 20 20 69 66 28 20 64 69 63 74 5f 73 69 7a 65 20 3c 20 6d 69 6e 5f 64 69 63 74 69 6f 6e 61 72 ...if(.dict_size.<.min_dictionar
3ab80 79 5f 73 69 7a 65 20 7c 7c 20 64 69 63 74 5f 73 69 7a 65 20 3e 20 6d 61 78 5f 64 69 63 74 69 6f y_size.||.dict_size.>.max_dictio
3aba0 6e 61 72 79 5f 73 69 7a 65 20 29 0a 20 20 20 20 20 20 7b 20 73 74 64 3a 3a 66 70 75 74 73 28 20 nary_size.).......{.std::fputs(.
3abc0 22 49 6e 76 61 6c 69 64 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 69 6e 20 6d 65 6d 62 "Invalid.dictionary.size.in.memb
3abe0 65 72 20 68 65 61 64 65 72 2e 5c 6e 22 2c 20 73 74 64 65 72 72 20 29 3b 0a 20 20 20 20 20 20 20 er.header.\n",.stderr.);........
3ac00 20 72 65 74 75 72 6e 20 32 3b 20 7d 0a 0a 20 20 20 20 4c 5a 5f 64 65 63 6f 64 65 72 20 64 65 63 .return.2;.}......LZ_decoder.dec
3ac20 6f 64 65 72 28 20 64 69 63 74 5f 73 69 7a 65 20 29 3b 09 09 2f 2f 20 64 65 63 6f 64 65 20 4c 5a oder(.dict_size.);..//.decode.LZ
3ac40 4d 41 20 73 74 72 65 61 6d 0a 20 20 20 20 69 66 28 20 21 64 65 63 6f 64 65 72 2e 64 65 63 6f 64 MA.stream.....if(.!decoder.decod
3ac60 65 5f 6d 65 6d 62 65 72 28 29 20 29 0a 20 20 20 20 20 20 7b 20 73 74 64 3a 3a 66 70 75 74 73 28 e_member().).......{.std::fputs(
3ac80 20 22 44 61 74 61 20 65 72 72 6f 72 5c 6e 22 2c 20 73 74 64 65 72 72 20 29 3b 20 72 65 74 75 72 ."Data.error\n",.stderr.);.retur
3aca0 6e 20 32 3b 20 7d 0a 0a 20 20 20 20 46 69 6c 65 5f 74 72 61 69 6c 65 72 20 74 72 61 69 6c 65 72 n.2;.}......File_trailer.trailer
3acc0 3b 09 09 09 2f 2f 20 76 65 72 69 66 79 20 74 72 61 69 6c 65 72 0a 20 20 20 20 66 6f 72 28 20 69 ;...//.verify.trailer.....for(.i
3ace0 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 32 30 3b 20 2b 2b 69 20 29 20 74 72 61 69 6c 65 72 5b nt.i.=.0;.i.<.20;.++i.).trailer[
3ad00 69 5d 20 3d 20 73 74 64 3a 3a 67 65 74 63 28 20 73 74 64 69 6e 20 29 3b 0a 20 20 20 20 75 6e 73 i].=.std::getc(.stdin.);.....uns
3ad20 69 67 6e 65 64 20 63 72 63 20 3d 20 30 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 igned.crc.=.0;.....for(.int.i.=.
3ad40 33 3b 20 69 20 3e 3d 20 30 3b 20 2d 2d 69 20 29 20 7b 20 63 72 63 20 3c 3c 3d 20 38 3b 20 63 72 3;.i.>=.0;.--i.).{.crc.<<=.8;.cr
3ad60 63 20 2b 3d 20 74 72 61 69 6c 65 72 5b 69 5d 3b 20 7d 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 c.+=.trailer[i];.}.....unsigned.
3ad80 6c 6f 6e 67 20 6c 6f 6e 67 20 64 61 74 61 5f 73 69 7a 65 20 3d 20 30 3b 0a 20 20 20 20 66 6f 72 long.long.data_size.=.0;.....for
3ada0 28 20 69 6e 74 20 69 20 3d 20 31 31 3b 20 69 20 3e 3d 20 34 3b 20 2d 2d 69 20 29 20 7b 20 64 61 (.int.i.=.11;.i.>=.4;.--i.).{.da
3adc0 74 61 5f 73 69 7a 65 20 3c 3c 3d 20 38 3b 20 64 61 74 61 5f 73 69 7a 65 20 2b 3d 20 74 72 61 69 ta_size.<<=.8;.data_size.+=.trai
3ade0 6c 65 72 5b 69 5d 3b 20 7d 0a 20 20 20 20 69 66 28 20 63 72 63 20 21 3d 20 64 65 63 6f 64 65 72 ler[i];.}.....if(.crc.!=.decoder
3ae00 2e 63 72 63 28 29 20 7c 7c 20 64 61 74 61 5f 73 69 7a 65 20 21 3d 20 64 65 63 6f 64 65 72 2e 64 .crc().||.data_size.!=.decoder.d
3ae20 61 74 61 5f 70 6f 73 69 74 69 6f 6e 28 29 20 29 0a 20 20 20 20 20 20 7b 20 73 74 64 3a 3a 66 70 ata_position().).......{.std::fp
3ae40 75 74 73 28 20 22 43 52 43 20 65 72 72 6f 72 5c 6e 22 2c 20 73 74 64 65 72 72 20 29 3b 20 72 65 uts(."CRC.error\n",.stderr.);.re
3ae60 74 75 72 6e 20 32 3b 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 69 66 28 20 73 74 64 3a 3a 66 63 6c 6f turn.2;.}.....}....if(.std::fclo
3ae80 73 65 28 20 73 74 64 6f 75 74 20 29 20 21 3d 20 30 20 29 0a 20 20 20 20 7b 20 73 74 64 3a 3a 66 se(.stdout.).!=.0.).....{.std::f
3aea0 70 72 69 6e 74 66 28 20 73 74 64 65 72 72 2c 20 22 45 72 72 6f 72 20 63 6c 6f 73 69 6e 67 20 73 printf(.stderr,."Error.closing.s
3aec0 74 64 6f 75 74 3a 20 25 73 5c 6e 22 2c 20 73 74 64 3a 3a 73 74 72 65 72 72 6f 72 28 20 65 72 72 tdout:.%s\n",.std::strerror(.err
3aee0 6e 6f 20 29 20 29 3b 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 31 3b 20 7d 0a 20 20 72 65 74 75 no.).);.......return.1;.}...retu
3af00 72 6e 20 30 3b 0a 20 20 7d 0a 0a 1f 0a 46 69 6c 65 3a 20 6c 7a 69 70 2e 69 6e 66 6f 2c 20 20 4e rn.0;...}....File:.lzip.info,..N
3af20 6f 64 65 3a 20 43 6f 6e 63 65 70 74 20 69 6e 64 65 78 2c 20 20 50 72 65 76 3a 20 52 65 66 65 72 ode:.Concept.index,..Prev:.Refer
3af40 65 6e 63 65 20 73 6f 75 72 63 65 20 63 6f 64 65 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 43 6f 6e 63 ence.source.code,..Up:.Top..Conc
3af60 65 70 74 20 69 6e 64 65 78 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 00 08 5b 69 6e 64 65 ept.index.*************....[inde
3af80 78 00 08 5d 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 61 6c 67 6f 72 69 74 68 6d 3a 20 20 20 20 20 20 x..].*.Menu:..*.algorithm:......
3afa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 6c 67 6f 72 69 74 68 6d .......................Algorithm
3afc0 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 36 29 0a 2a 20 62 75 67 73 3a 20 20 ..............(line.6).*.bugs:..
3afe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3b000 50 72 6f 62 6c 65 6d 73 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 36 29 0a Problems...............(line.6).
3b020 2a 20 65 78 61 6d 70 6c 65 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 *.examples:.....................
3b040 20 20 20 20 20 20 20 20 20 45 78 61 6d 70 6c 65 73 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........Examples...............
3b060 28 6c 69 6e 65 20 36 29 0a 2a 20 66 69 6c 65 20 66 6f 72 6d 61 74 3a 20 20 20 20 20 20 20 20 20 (line.6).*.file.format:.........
3b080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 69 6c 65 20 66 6f 72 6d 61 74 2e 20 20 ..................File.format...
3b0a0 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 36 29 0a 2a 20 66 6f 72 6d 61 74 20 6f 66 20 74 68 .........(line.6).*.format.of.th
3b0c0 65 20 4c 5a 4d 41 20 73 74 72 65 61 6d 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 53 74 72 65 61 e.LZMA.stream:.............Strea
3b0e0 6d 20 66 6f 72 6d 61 74 2e 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 36 29 0a 2a 20 67 65 74 m.format..........(line.6).*.get
3b100 74 69 6e 67 20 68 65 6c 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ting.help:......................
3b120 20 20 20 20 50 72 6f 62 6c 65 6d 73 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 ....Problems...............(line
3b140 20 36 29 0a 2a 20 69 6e 74 72 6f 64 75 63 74 69 6f 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 .6).*.introduction:.............
3b160 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 2e 20 20 20 20 20 20 .............Introduction.......
3b180 20 20 20 20 28 6c 69 6e 65 20 36 29 0a 2a 20 69 6e 76 6f 6b 69 6e 67 3a 20 20 20 20 20 20 20 20 ....(line.6).*.invoking:........
3b1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 76 6f 6b 69 6e 67 20 6c ......................Invoking.l
3b1c0 7a 69 70 2e 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 36 29 0a 2a 20 6f 70 74 69 6f 6e 73 3a zip..........(line.6).*.options:
3b1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 ...............................I
3b200 6e 76 6f 6b 69 6e 67 20 6c 7a 69 70 2e 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 36 29 0a 2a nvoking.lzip..........(line.6).*
3b220 20 6f 75 74 70 75 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .output:........................
3b240 20 20 20 20 20 20 20 20 4f 75 74 70 75 74 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ........Output.................(
3b260 6c 69 6e 65 20 36 29 0a 2a 20 71 75 61 6c 69 74 79 20 61 73 73 75 72 61 6e 63 65 3a 20 20 20 20 line.6).*.quality.assurance:....
3b280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 51 75 61 6c 69 74 79 20 61 73 73 75 72 61 6e .................Quality.assuran
3b2a0 63 65 2e 20 20 20 20 20 28 6c 69 6e 65 20 36 29 0a 2a 20 72 65 66 65 72 65 6e 63 65 20 73 6f 75 ce......(line.6).*.reference.sou
3b2c0 72 63 65 20 63 6f 64 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 66 65 72 65 rce.code:.................Refere
3b2e0 6e 63 65 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 20 28 6c 69 6e 65 20 36 29 0a 2a 20 74 72 61 69 nce.source.code..(line.6).*.trai
3b300 6c 69 6e 67 20 64 61 74 61 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ling.data:......................
3b320 20 20 20 54 72 61 69 6c 69 6e 67 20 64 61 74 61 2e 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 ...Trailing.data..........(line.
3b340 36 29 0a 2a 20 75 73 61 67 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6).*.usage:.....................
3b360 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 76 6f 6b 69 6e 67 20 6c 7a 69 70 2e 20 20 20 20 20 20 ............Invoking.lzip.......
3b380 20 20 20 28 6c 69 6e 65 20 36 29 0a 2a 20 76 65 72 73 69 6f 6e 3a 20 20 20 20 20 20 20 20 20 20 ...(line.6).*.version:..........
3b3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 76 6f 6b 69 6e 67 20 6c 7a .....................Invoking.lz
3b3c0 69 70 2e 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 36 29 0a 0a 0a 1f 0a 54 61 67 20 54 61 62 ip..........(line.6).....Tag.Tab
3b3e0 6c 65 3a 0a 4e 6f 64 65 3a 20 54 6f 70 7f 32 30 38 0a 4e 6f 64 65 3a 20 49 6e 74 72 6f 64 75 63 le:.Node:.Top.208.Node:.Introduc
3b400 74 69 6f 6e 7f 31 32 30 32 0a 4e 6f 64 65 3a 20 4f 75 74 70 75 74 7f 36 32 32 38 0a 4e 6f 64 65 tion.1202.Node:.Output.6228.Node
3b420 3a 20 49 6e 76 6f 6b 69 6e 67 20 6c 7a 69 70 7f 37 37 34 30 0a 52 65 66 3a 20 2d 2d 74 72 61 69 :.Invoking.lzip.7740.Ref:.--trai
3b440 6c 69 6e 67 2d 65 72 72 6f 72 7f 38 32 39 38 0a 4e 6f 64 65 3a 20 51 75 61 6c 69 74 79 20 61 73 ling-error.8298.Node:.Quality.as
3b460 73 75 72 61 6e 63 65 7f 31 35 39 34 36 0a 4e 6f 64 65 3a 20 46 69 6c 65 20 66 6f 72 6d 61 74 7f surance.15946.Node:.File.format.
3b480 32 34 33 35 34 0a 4e 6f 64 65 3a 20 41 6c 67 6f 72 69 74 68 6d 7f 32 36 37 35 38 0a 4e 6f 64 65 24354.Node:.Algorithm.26758.Node
3b4a0 3a 20 53 74 72 65 61 6d 20 66 6f 72 6d 61 74 7f 32 39 35 38 34 0a 4e 6f 64 65 3a 20 54 72 61 69 :.Stream.format.29584.Node:.Trai
3b4c0 6c 69 6e 67 20 64 61 74 61 7f 34 30 33 32 34 0a 4e 6f 64 65 3a 20 45 78 61 6d 70 6c 65 73 7f 34 ling.data.40324.Node:.Examples.4
3b4e0 32 36 30 30 0a 52 65 66 3a 20 63 6f 6e 63 61 74 2d 65 78 61 6d 70 6c 65 7f 34 33 37 37 33 0a 4e 2600.Ref:.concat-example.43773.N
3b500 6f 64 65 3a 20 50 72 6f 62 6c 65 6d 73 7f 34 34 38 31 31 0a 4e 6f 64 65 3a 20 52 65 66 65 72 65 ode:.Problems.44811.Node:.Refere
3b520 6e 63 65 20 73 6f 75 72 63 65 20 63 6f 64 65 7f 34 35 33 34 33 0a 4e 6f 64 65 3a 20 43 6f 6e 63 nce.source.code.45343.Node:.Conc
3b540 65 70 74 20 69 6e 64 65 78 7f 35 39 36 35 39 0a 1f 0a 45 6e 64 20 54 61 67 20 54 61 62 6c 65 0a ept.index.59659...End.Tag.Table.
3b560 0a 1f 0a 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3a 0a 63 6f 64 69 6e 67 3a 20 69 73 6f 2d ...Local.Variables:.coding:.iso-
3b580 38 38 35 39 2d 31 35 0a 45 6e 64 3a 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 8859-15.End:....................
3b5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b600 6c 7a 69 70 2d 31 2e 32 30 2f 66 61 73 74 5f 65 6e 63 6f 64 65 72 2e 68 00 00 00 00 00 00 00 00 lzip-1.20/fast_encoder.h........
3b620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
3b680 30 30 30 33 35 31 31 00 31 33 36 36 34 37 33 36 35 34 35 00 30 31 35 33 37 32 00 20 30 00 00 00 0003511.13664736545.015372..0...
3b6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b700 00 75 73 74 61 72 20 20 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...mohammad...............
3b720 00 00 00 00 00 00 00 00 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........mohammad...............
3b740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b800 2f 2a 20 20 4c 7a 69 70 20 2d 20 4c 5a 4d 41 20 6c 6f 73 73 6c 65 73 73 20 64 61 74 61 20 63 6f /*..Lzip.-.LZMA.lossless.data.co
3b820 6d 70 72 65 73 73 6f 72 0a 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d mpressor.....Copyright.(C).2008-
3b840 32 30 31 38 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 20 54 68 69 2018.Antonio.Diaz.Diaz.......Thi
3b860 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 s.program.is.free.software:.you.
3b880 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 can.redistribute.it.and/or.modif
3b8a0 79 0a 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 y.....it.under.the.terms.of.the.
3b8c0 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 GNU.General.Public.License.as.pu
3b8e0 62 6c 69 73 68 65 64 20 62 79 0a 20 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 blished.by.....the.Free.Software
3b900 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 .Foundation,.either.version.2.of
3b920 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 .the.License,.or.....(at.your.op
3b940 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 20 54 68 tion).any.later.version.......Th
3b960 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 is.program.is.distributed.in.the
3b980 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 20 .hope.that.it.will.be.useful,...
3b9a0 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 ..but.WITHOUT.ANY.WARRANTY;.with
3b9c0 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 out.even.the.implied.warranty.of
3b9e0 0a 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 .....MERCHANTABILITY.or.FITNESS.
3ba00 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 FOR.A.PARTICULAR.PURPOSE...See.t
3ba20 68 65 0a 20 20 20 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 he.....GNU.General.Public.Licens
3ba40 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 20 59 6f 75 20 73 68 6f e.for.more.details.......You.sho
3ba60 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 uld.have.received.a.copy.of.the.
3ba80 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 20 61 GNU.General.Public.License.....a
3baa0 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c long.with.this.program...If.not,
3bac0 20 73 65 65 20 3c 68 74 74 70 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 .see.<http://www.gnu.org/license
3bae0 73 2f 3e 2e 0a 2a 2f 0a 0a 63 6c 61 73 73 20 46 4c 5a 5f 65 6e 63 6f 64 65 72 20 3a 20 70 75 62 s/>..*/..class.FLZ_encoder.:.pub
3bb00 6c 69 63 20 4c 5a 5f 65 6e 63 6f 64 65 72 5f 62 61 73 65 0a 20 20 7b 0a 20 20 75 6e 73 69 67 6e lic.LZ_encoder_base...{...unsign
3bb20 65 64 20 6b 65 79 34 3b 09 09 09 2f 2f 20 6b 65 79 20 6d 61 64 65 20 66 72 6f 6d 20 6c 61 74 65 ed.key4;...//.key.made.from.late
3bb40 73 74 20 34 20 62 79 74 65 73 0a 0a 20 20 76 6f 69 64 20 72 65 73 65 74 5f 6b 65 79 34 28 29 0a st.4.bytes....void.reset_key4().
3bb60 20 20 20 20 7b 0a 20 20 20 20 6b 65 79 34 20 3d 20 30 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 ....{.....key4.=.0;.....for(.int
3bb80 20 69 20 3d 20 30 3b 20 69 20 3c 20 33 20 26 26 20 69 20 3c 20 61 76 61 69 6c 61 62 6c 65 5f 62 .i.=.0;.i.<.3.&&.i.<.available_b
3bba0 79 74 65 73 28 29 3b 20 2b 2b 69 20 29 0a 20 20 20 20 20 20 6b 65 79 34 20 3d 20 28 20 6b 65 79 ytes();.++i.).......key4.=.(.key
3bbc0 34 20 3c 3c 20 34 20 29 20 5e 20 62 75 66 66 65 72 5b 69 5d 3b 0a 20 20 20 20 7d 0a 0a 20 20 69 4.<<.4.).^.buffer[i];.....}....i
3bbe0 6e 74 20 6c 6f 6e 67 65 73 74 5f 6d 61 74 63 68 5f 6c 65 6e 28 20 69 6e 74 20 2a 20 63 6f 6e 73 nt.longest_match_len(.int.*.cons
3bc00 74 20 64 69 73 74 61 6e 63 65 20 29 3b 0a 0a 20 20 76 6f 69 64 20 75 70 64 61 74 65 5f 61 6e 64 t.distance.);....void.update_and
3bc20 5f 6d 6f 76 65 28 20 69 6e 74 20 6e 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 77 68 69 6c 65 28 20 _move(.int.n.).....{.....while(.
3bc40 2d 2d 6e 20 3e 3d 20 30 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 69 66 28 20 61 76 61 --n.>=.0.).......{.......if(.ava
3bc60 69 6c 61 62 6c 65 5f 62 79 74 65 73 28 29 20 3e 3d 20 34 20 29 0a 20 20 20 20 20 20 20 20 7b 0a ilable_bytes().>=.4.).........{.
3bc80 20 20 20 20 20 20 20 20 6b 65 79 34 20 3d 20 28 20 28 20 6b 65 79 34 20 3c 3c 20 34 20 29 20 5e ........key4.=.(.(.key4.<<.4.).^
3bca0 20 62 75 66 66 65 72 5b 70 6f 73 2b 33 5d 20 29 20 26 20 6b 65 79 34 5f 6d 61 73 6b 3b 0a 20 20 .buffer[pos+3].).&.key4_mask;...
3bcc0 20 20 20 20 20 20 70 6f 73 5f 61 72 72 61 79 5b 63 79 63 6c 69 63 5f 70 6f 73 5d 20 3d 20 70 72 ......pos_array[cyclic_pos].=.pr
3bce0 65 76 5f 70 6f 73 69 74 69 6f 6e 73 5b 6b 65 79 34 5d 3b 0a 20 20 20 20 20 20 20 20 70 72 65 76 ev_positions[key4];.........prev
3bd00 5f 70 6f 73 69 74 69 6f 6e 73 5b 6b 65 79 34 5d 20 3d 20 70 6f 73 20 2b 20 31 3b 0a 20 20 20 20 _positions[key4].=.pos.+.1;.....
3bd20 20 20 20 20 7d 0a 20 20 20 20 20 20 6d 6f 76 65 5f 70 6f 73 28 29 3b 0a 20 20 20 20 20 20 7d 0a ....}.......move_pos();.......}.
3bd40 20 20 20 20 7d 0a 0a 20 20 65 6e 75 6d 20 7b 20 62 65 66 6f 72 65 5f 73 69 7a 65 20 3d 20 30 2c ....}....enum.{.before_size.=.0,
3bd60 0a 20 20 20 20 20 20 20 20 20 64 69 63 74 5f 73 69 7a 65 20 3d 20 36 35 35 33 36 2c 0a 20 20 20 ..........dict_size.=.65536,....
3bd80 20 20 20 20 20 20 2f 2f 20 62 79 74 65 73 20 74 6f 20 6b 65 65 70 20 69 6e 20 62 75 66 66 65 72 ......//.bytes.to.keep.in.buffer
3bda0 20 61 66 74 65 72 20 70 6f 73 0a 20 20 20 20 20 20 20 20 20 61 66 74 65 72 5f 73 69 7a 65 20 3d .after.pos..........after_size.=
3bdc0 20 6d 61 78 5f 6d 61 74 63 68 5f 6c 65 6e 2c 0a 20 20 20 20 20 20 20 20 20 64 69 63 74 5f 66 61 .max_match_len,..........dict_fa
3bde0 63 74 6f 72 20 3d 20 31 36 2c 0a 20 20 20 20 20 20 20 20 20 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 ctor.=.16,..........num_prev_pos
3be00 69 74 69 6f 6e 73 32 33 20 3d 20 30 2c 0a 20 20 20 20 20 20 20 20 20 70 6f 73 5f 61 72 72 61 79 itions23.=.0,..........pos_array
3be20 5f 66 61 63 74 6f 72 20 3d 20 31 20 7d 3b 0a 0a 70 75 62 6c 69 63 3a 0a 20 20 46 4c 5a 5f 65 6e _factor.=.1.};..public:...FLZ_en
3be40 63 6f 64 65 72 28 20 63 6f 6e 73 74 20 69 6e 74 20 69 66 64 2c 20 63 6f 6e 73 74 20 69 6e 74 20 coder(.const.int.ifd,.const.int.
3be60 6f 75 74 66 64 20 29 0a 20 20 20 20 3a 0a 20 20 20 20 4c 5a 5f 65 6e 63 6f 64 65 72 5f 62 61 73 outfd.).....:.....LZ_encoder_bas
3be80 65 28 20 62 65 66 6f 72 65 5f 73 69 7a 65 2c 20 64 69 63 74 5f 73 69 7a 65 2c 20 61 66 74 65 72 e(.before_size,.dict_size,.after
3bea0 5f 73 69 7a 65 2c 20 64 69 63 74 5f 66 61 63 74 6f 72 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 _size,.dict_factor,.............
3bec0 20 20 20 20 20 20 20 20 20 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 32 33 2c 20 70 .........num_prev_positions23,.p
3bee0 6f 73 5f 61 72 72 61 79 5f 66 61 63 74 6f 72 2c 20 69 66 64 2c 20 6f 75 74 66 64 20 29 0a 20 20 os_array_factor,.ifd,.outfd.)...
3bf00 20 20 7b 7d 0a 0a 20 20 62 6f 6f 6c 20 65 6e 63 6f 64 65 5f 6d 65 6d 62 65 72 28 20 63 6f 6e 73 ..{}....bool.encode_member(.cons
3bf20 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6d 65 6d 62 65 72 5f 73 69 7a 65 t.unsigned.long.long.member_size
3bf40 20 29 3b 0a 20 20 7d 3b 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .);...};........................
3bf60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3bf80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3bfa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3bfc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3bfe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c000 6c 7a 69 70 2d 31 2e 32 30 2f 65 6e 63 6f 64 65 72 2e 63 63 00 00 00 00 00 00 00 00 00 00 00 00 lzip-1.20/encoder.cc............
3c020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
3c080 30 30 34 36 33 36 37 00 31 33 36 36 34 37 33 36 35 34 35 00 30 31 34 35 33 33 00 20 30 00 00 00 0046367.13664736545.014533..0...
3c0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c100 00 75 73 74 61 72 20 20 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...mohammad...............
3c120 00 00 00 00 00 00 00 00 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........mohammad...............
3c140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c200 2f 2a 20 20 4c 7a 69 70 20 2d 20 4c 5a 4d 41 20 6c 6f 73 73 6c 65 73 73 20 64 61 74 61 20 63 6f /*..Lzip.-.LZMA.lossless.data.co
3c220 6d 70 72 65 73 73 6f 72 0a 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d mpressor.....Copyright.(C).2008-
3c240 32 30 31 38 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 20 54 68 69 2018.Antonio.Diaz.Diaz.......Thi
3c260 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 s.program.is.free.software:.you.
3c280 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 can.redistribute.it.and/or.modif
3c2a0 79 0a 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 y.....it.under.the.terms.of.the.
3c2c0 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 GNU.General.Public.License.as.pu
3c2e0 62 6c 69 73 68 65 64 20 62 79 0a 20 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 blished.by.....the.Free.Software
3c300 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 .Foundation,.either.version.2.of
3c320 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 .the.License,.or.....(at.your.op
3c340 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 20 54 68 tion).any.later.version.......Th
3c360 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 is.program.is.distributed.in.the
3c380 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 20 .hope.that.it.will.be.useful,...
3c3a0 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 ..but.WITHOUT.ANY.WARRANTY;.with
3c3c0 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 out.even.the.implied.warranty.of
3c3e0 0a 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 .....MERCHANTABILITY.or.FITNESS.
3c400 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 FOR.A.PARTICULAR.PURPOSE...See.t
3c420 68 65 0a 20 20 20 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 he.....GNU.General.Public.Licens
3c440 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 20 59 6f 75 20 73 68 6f e.for.more.details.......You.sho
3c460 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 uld.have.received.a.copy.of.the.
3c480 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 20 61 GNU.General.Public.License.....a
3c4a0 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c long.with.this.program...If.not,
3c4c0 20 73 65 65 20 3c 68 74 74 70 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 .see.<http://www.gnu.org/license
3c4e0 73 2f 3e 2e 0a 2a 2f 0a 0a 23 64 65 66 69 6e 65 20 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 s/>..*/..#define._FILE_OFFSET_BI
3c500 54 53 20 36 34 0a 0a 23 69 6e 63 6c 75 64 65 20 3c 61 6c 67 6f 72 69 74 68 6d 3e 0a 23 69 6e 63 TS.64..#include.<algorithm>.#inc
3c520 6c 75 64 65 20 3c 63 65 72 72 6e 6f 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 63 73 74 64 6c 69 62 3e lude.<cerrno>.#include.<cstdlib>
3c540 0a 23 69 6e 63 6c 75 64 65 20 3c 63 73 74 72 69 6e 67 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 73 74 .#include.<cstring>.#include.<st
3c560 72 69 6e 67 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 76 65 63 74 6f 72 3e 0a 23 69 6e 63 6c 75 64 65 ring>.#include.<vector>.#include
3c580 20 3c 73 74 64 69 6e 74 2e 68 3e 0a 0a 23 69 6e 63 6c 75 64 65 20 22 6c 7a 69 70 2e 68 22 0a 23 .<stdint.h>..#include."lzip.h".#
3c5a0 69 6e 63 6c 75 64 65 20 22 65 6e 63 6f 64 65 72 5f 62 61 73 65 2e 68 22 0a 23 69 6e 63 6c 75 64 include."encoder_base.h".#includ
3c5c0 65 20 22 65 6e 63 6f 64 65 72 2e 68 22 0a 0a 0a 63 6f 6e 73 74 20 43 52 43 33 32 20 63 72 63 33 e."encoder.h"...const.CRC32.crc3
3c5e0 32 3b 0a 0a 0a 69 6e 74 20 4c 5a 5f 65 6e 63 6f 64 65 72 3a 3a 67 65 74 5f 6d 61 74 63 68 5f 70 2;...int.LZ_encoder::get_match_p
3c600 61 69 72 73 28 20 50 61 69 72 20 2a 20 70 61 69 72 73 20 29 0a 20 20 7b 0a 20 20 69 6e 74 20 6c airs(.Pair.*.pairs.)...{...int.l
3c620 65 6e 5f 6c 69 6d 69 74 20 3d 20 6d 61 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 74 3b 0a 20 20 69 66 en_limit.=.match_len_limit;...if
3c640 28 20 6c 65 6e 5f 6c 69 6d 69 74 20 3e 20 61 76 61 69 6c 61 62 6c 65 5f 62 79 74 65 73 28 29 20 (.len_limit.>.available_bytes().
3c660 29 0a 20 20 20 20 7b 0a 20 20 20 20 6c 65 6e 5f 6c 69 6d 69 74 20 3d 20 61 76 61 69 6c 61 62 6c ).....{.....len_limit.=.availabl
3c680 65 5f 62 79 74 65 73 28 29 3b 0a 20 20 20 20 69 66 28 20 6c 65 6e 5f 6c 69 6d 69 74 20 3c 20 34 e_bytes();.....if(.len_limit.<.4
3c6a0 20 29 20 72 65 74 75 72 6e 20 30 3b 0a 20 20 20 20 7d 0a 0a 20 20 69 6e 74 20 6d 61 78 6c 65 6e .).return.0;.....}....int.maxlen
3c6c0 20 3d 20 30 3b 0a 20 20 69 6e 74 20 6e 75 6d 5f 70 61 69 72 73 20 3d 20 30 3b 0a 20 20 63 6f 6e .=.0;...int.num_pairs.=.0;...con
3c6e0 73 74 20 69 6e 74 20 70 6f 73 31 20 3d 20 70 6f 73 20 2b 20 31 3b 0a 20 20 63 6f 6e 73 74 20 69 st.int.pos1.=.pos.+.1;...const.i
3c700 6e 74 20 6d 69 6e 5f 70 6f 73 20 3d 20 28 20 70 6f 73 20 3e 20 64 69 63 74 69 6f 6e 61 72 79 5f nt.min_pos.=.(.pos.>.dictionary_
3c720 73 69 7a 65 20 29 20 3f 20 70 6f 73 20 2d 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 3a size.).?.pos.-.dictionary_size.:
3c740 20 30 3b 0a 20 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 2a 20 63 6f 6e 73 74 20 64 61 74 61 .0;...const.uint8_t.*.const.data
3c760 20 3d 20 70 74 72 5f 74 6f 5f 63 75 72 72 65 6e 74 5f 70 6f 73 28 29 3b 0a 0a 20 20 75 6e 73 69 .=.ptr_to_current_pos();....unsi
3c780 67 6e 65 64 20 74 6d 70 20 3d 20 63 72 63 33 32 5b 64 61 74 61 5b 30 5d 5d 20 5e 20 64 61 74 61 gned.tmp.=.crc32[data[0]].^.data
3c7a0 5b 31 5d 3b 0a 20 20 63 6f 6e 73 74 20 69 6e 74 20 6b 65 79 32 20 3d 20 74 6d 70 20 26 20 28 20 [1];...const.int.key2.=.tmp.&.(.
3c7c0 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 32 20 2d 20 31 20 29 3b 0a 20 20 74 6d 70 num_prev_positions2.-.1.);...tmp
3c7e0 20 5e 3d 20 28 75 6e 73 69 67 6e 65 64 29 64 61 74 61 5b 32 5d 20 3c 3c 20 38 3b 0a 20 20 63 6f .^=.(unsigned)data[2].<<.8;...co
3c800 6e 73 74 20 69 6e 74 20 6b 65 79 33 20 3d 20 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e nst.int.key3.=.num_prev_position
3c820 73 32 20 2b 20 28 20 74 6d 70 20 26 20 28 20 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e s2.+.(.tmp.&.(.num_prev_position
3c840 73 33 20 2d 20 31 20 29 20 29 3b 0a 20 20 63 6f 6e 73 74 20 69 6e 74 20 6b 65 79 34 20 3d 20 6e s3.-.1.).);...const.int.key4.=.n
3c860 75 6d 5f 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 32 33 20 2b 0a 20 20 20 20 20 20 20 20 20 20 um_prev_positions23.+...........
3c880 20 20 20 20 20 20 20 20 20 28 20 28 20 74 6d 70 20 5e 20 28 20 63 72 63 33 32 5b 64 61 74 61 5b .........(.(.tmp.^.(.crc32[data[
3c8a0 33 5d 5d 20 3c 3c 20 35 20 29 20 29 20 26 20 6b 65 79 34 5f 6d 61 73 6b 20 29 3b 0a 0a 20 20 69 3]].<<.5.).).&.key4_mask.);....i
3c8c0 66 28 20 70 61 69 72 73 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 6e 74 20 6e 70 32 20 3d 20 70 f(.pairs.).....{.....int.np2.=.p
3c8e0 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 5b 6b 65 79 32 5d 3b 0a 20 20 20 20 69 6e 74 20 6e 70 33 rev_positions[key2];.....int.np3
3c900 20 3d 20 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 5b 6b 65 79 33 5d 3b 0a 20 20 20 20 69 66 28 .=.prev_positions[key3];.....if(
3c920 20 6e 70 32 20 3e 20 6d 69 6e 5f 70 6f 73 20 26 26 20 62 75 66 66 65 72 5b 6e 70 32 2d 31 5d 20 .np2.>.min_pos.&&.buffer[np2-1].
3c940 3d 3d 20 64 61 74 61 5b 30 5d 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 70 61 69 72 73 ==.data[0].).......{.......pairs
3c960 5b 30 5d 2e 64 69 73 20 3d 20 70 6f 73 20 2d 20 6e 70 32 3b 0a 20 20 20 20 20 20 70 61 69 72 73 [0].dis.=.pos.-.np2;.......pairs
3c980 5b 30 5d 2e 6c 65 6e 20 3d 20 6d 61 78 6c 65 6e 20 3d 20 32 3b 0a 20 20 20 20 20 20 6e 75 6d 5f [0].len.=.maxlen.=.2;.......num_
3c9a0 70 61 69 72 73 20 3d 20 31 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 69 66 28 20 6e 70 32 20 21 pairs.=.1;.......}.....if(.np2.!
3c9c0 3d 20 6e 70 33 20 26 26 20 6e 70 33 20 3e 20 6d 69 6e 5f 70 6f 73 20 26 26 20 62 75 66 66 65 72 =.np3.&&.np3.>.min_pos.&&.buffer
3c9e0 5b 6e 70 33 2d 31 5d 20 3d 3d 20 64 61 74 61 5b 30 5d 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 [np3-1].==.data[0].).......{....
3ca00 20 20 20 6d 61 78 6c 65 6e 20 3d 20 33 3b 0a 20 20 20 20 20 20 6e 70 32 20 3d 20 6e 70 33 3b 0a ...maxlen.=.3;.......np2.=.np3;.
3ca20 20 20 20 20 20 20 70 61 69 72 73 5b 6e 75 6d 5f 70 61 69 72 73 5d 2e 64 69 73 20 3d 20 70 6f 73 ......pairs[num_pairs].dis.=.pos
3ca40 20 2d 20 6e 70 32 3b 0a 20 20 20 20 20 20 2b 2b 6e 75 6d 5f 70 61 69 72 73 3b 0a 20 20 20 20 20 .-.np2;.......++num_pairs;......
3ca60 20 7d 0a 20 20 20 20 69 66 28 20 6e 75 6d 5f 70 61 69 72 73 20 3e 20 30 20 29 0a 20 20 20 20 20 .}.....if(.num_pairs.>.0.)......
3ca80 20 7b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 64 65 6c 74 61 20 3d 20 70 6f 73 31 20 .{.......const.int.delta.=.pos1.
3caa0 2d 20 6e 70 32 3b 0a 20 20 20 20 20 20 77 68 69 6c 65 28 20 6d 61 78 6c 65 6e 20 3c 20 6c 65 6e -.np2;.......while(.maxlen.<.len
3cac0 5f 6c 69 6d 69 74 20 26 26 20 64 61 74 61 5b 6d 61 78 6c 65 6e 2d 64 65 6c 74 61 5d 20 3d 3d 20 _limit.&&.data[maxlen-delta].==.
3cae0 64 61 74 61 5b 6d 61 78 6c 65 6e 5d 20 29 0a 20 20 20 20 20 20 20 20 2b 2b 6d 61 78 6c 65 6e 3b data[maxlen].).........++maxlen;
3cb00 0a 20 20 20 20 20 20 70 61 69 72 73 5b 6e 75 6d 5f 70 61 69 72 73 2d 31 5d 2e 6c 65 6e 20 3d 20 .......pairs[num_pairs-1].len.=.
3cb20 6d 61 78 6c 65 6e 3b 0a 20 20 20 20 20 20 69 66 28 20 6d 61 78 6c 65 6e 20 3e 3d 20 6c 65 6e 5f maxlen;.......if(.maxlen.>=.len_
3cb40 6c 69 6d 69 74 20 29 20 70 61 69 72 73 20 3d 20 30 3b 09 2f 2f 20 64 6f 6e 65 2e 20 6e 6f 77 20 limit.).pairs.=.0;.//.done..now.
3cb60 6a 75 73 74 20 73 6b 69 70 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 69 66 28 20 6d 61 78 6c 65 6e just.skip.......}.....if(.maxlen
3cb80 20 3c 20 33 20 29 20 6d 61 78 6c 65 6e 20 3d 20 33 3b 0a 20 20 20 20 7d 0a 0a 20 20 70 72 65 76 .<.3.).maxlen.=.3;.....}....prev
3cba0 5f 70 6f 73 69 74 69 6f 6e 73 5b 6b 65 79 32 5d 20 3d 20 70 6f 73 31 3b 0a 20 20 70 72 65 76 5f _positions[key2].=.pos1;...prev_
3cbc0 70 6f 73 69 74 69 6f 6e 73 5b 6b 65 79 33 5d 20 3d 20 70 6f 73 31 3b 0a 20 20 69 6e 74 20 6e 65 positions[key3].=.pos1;...int.ne
3cbe0 77 70 6f 73 31 20 3d 20 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 5b 6b 65 79 34 5d 3b 0a 20 20 wpos1.=.prev_positions[key4];...
3cc00 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 5b 6b 65 79 34 5d 20 3d 20 70 6f 73 31 3b 0a 0a 20 20 prev_positions[key4].=.pos1;....
3cc20 69 6e 74 33 32 5f 74 20 2a 20 70 74 72 30 20 3d 20 70 6f 73 5f 61 72 72 61 79 20 2b 20 28 20 63 int32_t.*.ptr0.=.pos_array.+.(.c
3cc40 79 63 6c 69 63 5f 70 6f 73 20 3c 3c 20 31 20 29 3b 0a 20 20 69 6e 74 33 32 5f 74 20 2a 20 70 74 yclic_pos.<<.1.);...int32_t.*.pt
3cc60 72 31 20 3d 20 70 74 72 30 20 2b 20 31 3b 0a 20 20 69 6e 74 20 6c 65 6e 20 3d 20 30 2c 20 6c 65 r1.=.ptr0.+.1;...int.len.=.0,.le
3cc80 6e 30 20 3d 20 30 2c 20 6c 65 6e 31 20 3d 20 30 3b 0a 0a 20 20 66 6f 72 28 20 69 6e 74 20 63 6f n0.=.0,.len1.=.0;....for(.int.co
3cca0 75 6e 74 20 3d 20 63 79 63 6c 65 73 3b 20 3b 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 unt.=.cycles;.;.).....{.....if(.
3ccc0 6e 65 77 70 6f 73 31 20 3c 3d 20 6d 69 6e 5f 70 6f 73 20 7c 7c 20 2d 2d 63 6f 75 6e 74 20 3c 20 newpos1.<=.min_pos.||.--count.<.
3cce0 30 20 29 20 7b 20 2a 70 74 72 30 20 3d 20 2a 70 74 72 31 20 3d 20 30 3b 20 62 72 65 61 6b 3b 20 0.).{.*ptr0.=.*ptr1.=.0;.break;.
3cd00 7d 0a 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 64 65 6c 74 61 20 3d 20 70 6f 73 31 20 2d 20 }......const.int.delta.=.pos1.-.
3cd20 6e 65 77 70 6f 73 31 3b 0a 20 20 20 20 69 6e 74 33 32 5f 74 20 2a 20 63 6f 6e 73 74 20 6e 65 77 newpos1;.....int32_t.*.const.new
3cd40 70 74 72 20 3d 20 70 6f 73 5f 61 72 72 61 79 20 2b 0a 20 20 20 20 20 20 28 20 28 20 63 79 63 6c ptr.=.pos_array.+.......(.(.cycl
3cd60 69 63 5f 70 6f 73 20 2d 20 64 65 6c 74 61 20 2b 0a 20 20 20 20 20 20 20 20 20 20 28 20 28 20 63 ic_pos.-.delta.+...........(.(.c
3cd80 79 63 6c 69 63 5f 70 6f 73 20 3e 3d 20 64 65 6c 74 61 20 29 20 3f 20 30 20 3a 20 64 69 63 74 69 yclic_pos.>=.delta.).?.0.:.dicti
3cda0 6f 6e 61 72 79 5f 73 69 7a 65 20 2b 20 31 20 29 20 29 20 3c 3c 20 31 20 29 3b 0a 20 20 20 20 69 onary_size.+.1.).).<<.1.);.....i
3cdc0 66 28 20 64 61 74 61 5b 6c 65 6e 2d 64 65 6c 74 61 5d 20 3d 3d 20 64 61 74 61 5b 6c 65 6e 5d 20 f(.data[len-delta].==.data[len].
3cde0 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 77 68 69 6c 65 28 20 2b 2b 6c 65 6e 20 3c 20 6c ).......{.......while(.++len.<.l
3ce00 65 6e 5f 6c 69 6d 69 74 20 26 26 20 64 61 74 61 5b 6c 65 6e 2d 64 65 6c 74 61 5d 20 3d 3d 20 64 en_limit.&&.data[len-delta].==.d
3ce20 61 74 61 5b 6c 65 6e 5d 20 29 20 7b 7d 0a 20 20 20 20 20 20 69 66 28 20 70 61 69 72 73 20 26 26 ata[len].).{}.......if(.pairs.&&
3ce40 20 6d 61 78 6c 65 6e 20 3c 20 6c 65 6e 20 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 .maxlen.<.len.).........{.......
3ce60 20 20 70 61 69 72 73 5b 6e 75 6d 5f 70 61 69 72 73 5d 2e 64 69 73 20 3d 20 64 65 6c 74 61 20 2d ..pairs[num_pairs].dis.=.delta.-
3ce80 20 31 3b 0a 20 20 20 20 20 20 20 20 70 61 69 72 73 5b 6e 75 6d 5f 70 61 69 72 73 5d 2e 6c 65 6e .1;.........pairs[num_pairs].len
3cea0 20 3d 20 6d 61 78 6c 65 6e 20 3d 20 6c 65 6e 3b 0a 20 20 20 20 20 20 20 20 2b 2b 6e 75 6d 5f 70 .=.maxlen.=.len;.........++num_p
3cec0 61 69 72 73 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 69 66 28 20 6c 65 6e 20 3e 3d airs;.........}.......if(.len.>=
3cee0 20 6c 65 6e 5f 6c 69 6d 69 74 20 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2a .len_limit.).........{.........*
3cf00 70 74 72 30 20 3d 20 6e 65 77 70 74 72 5b 30 5d 3b 0a 20 20 20 20 20 20 20 20 2a 70 74 72 31 20 ptr0.=.newptr[0];.........*ptr1.
3cf20 3d 20 6e 65 77 70 74 72 5b 31 5d 3b 0a 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 =.newptr[1];.........break;.....
3cf40 20 20 20 20 7d 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 69 66 28 20 64 61 74 61 5b 6c 65 6e 2d 64 ....}.......}.....if(.data[len-d
3cf60 65 6c 74 61 5d 20 3c 20 64 61 74 61 5b 6c 65 6e 5d 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 elta].<.data[len].).......{.....
3cf80 20 20 2a 70 74 72 30 20 3d 20 6e 65 77 70 6f 73 31 3b 0a 20 20 20 20 20 20 70 74 72 30 20 3d 20 ..*ptr0.=.newpos1;.......ptr0.=.
3cfa0 6e 65 77 70 74 72 20 2b 20 31 3b 0a 20 20 20 20 20 20 6e 65 77 70 6f 73 31 20 3d 20 2a 70 74 72 newptr.+.1;.......newpos1.=.*ptr
3cfc0 30 3b 0a 20 20 20 20 20 20 6c 65 6e 30 20 3d 20 6c 65 6e 3b 20 69 66 28 20 6c 65 6e 31 20 3c 20 0;.......len0.=.len;.if(.len1.<.
3cfe0 6c 65 6e 20 29 20 6c 65 6e 20 3d 20 6c 65 6e 31 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 65 6c len.).len.=.len1;.......}.....el
3d000 73 65 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 2a 70 74 72 31 20 3d 20 6e 65 77 70 6f 73 31 se.......{.......*ptr1.=.newpos1
3d020 3b 0a 20 20 20 20 20 20 70 74 72 31 20 3d 20 6e 65 77 70 74 72 3b 0a 20 20 20 20 20 20 6e 65 77 ;.......ptr1.=.newptr;.......new
3d040 70 6f 73 31 20 3d 20 2a 70 74 72 31 3b 0a 20 20 20 20 20 20 6c 65 6e 31 20 3d 20 6c 65 6e 3b 20 pos1.=.*ptr1;.......len1.=.len;.
3d060 69 66 28 20 6c 65 6e 30 20 3c 20 6c 65 6e 20 29 20 6c 65 6e 20 3d 20 6c 65 6e 30 3b 0a 20 20 20 if(.len0.<.len.).len.=.len0;....
3d080 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 72 65 74 75 72 6e 20 6e 75 6d 5f 70 61 69 72 73 3b 0a 20 ...}.....}...return.num_pairs;..
3d0a0 20 7d 0a 0a 0a 76 6f 69 64 20 4c 5a 5f 65 6e 63 6f 64 65 72 3a 3a 75 70 64 61 74 65 5f 64 69 73 .}...void.LZ_encoder::update_dis
3d0c0 74 61 6e 63 65 5f 70 72 69 63 65 73 28 29 0a 20 20 7b 0a 20 20 66 6f 72 28 20 69 6e 74 20 64 69 tance_prices()...{...for(.int.di
3d0e0 73 20 3d 20 73 74 61 72 74 5f 64 69 73 5f 6d 6f 64 65 6c 3b 20 64 69 73 20 3c 20 6d 6f 64 65 6c s.=.start_dis_model;.dis.<.model
3d100 65 64 5f 64 69 73 74 61 6e 63 65 73 3b 20 2b 2b 64 69 73 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 ed_distances;.++dis.).....{.....
3d120 63 6f 6e 73 74 20 69 6e 74 20 64 69 73 5f 73 6c 6f 74 20 3d 20 64 69 73 5f 73 6c 6f 74 73 5b 64 const.int.dis_slot.=.dis_slots[d
3d140 69 73 5d 3b 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 64 69 72 65 63 74 5f 62 69 74 73 20 3d is];.....const.int.direct_bits.=
3d160 20 28 20 64 69 73 5f 73 6c 6f 74 20 3e 3e 20 31 20 29 20 2d 20 31 3b 0a 20 20 20 20 63 6f 6e 73 .(.dis_slot.>>.1.).-.1;.....cons
3d180 74 20 69 6e 74 20 62 61 73 65 20 3d 20 28 20 32 20 7c 20 28 20 64 69 73 5f 73 6c 6f 74 20 26 20 t.int.base.=.(.2.|.(.dis_slot.&.
3d1a0 31 20 29 20 29 20 3c 3c 20 64 69 72 65 63 74 5f 62 69 74 73 3b 0a 20 20 20 20 63 6f 6e 73 74 20 1.).).<<.direct_bits;.....const.
3d1c0 69 6e 74 20 70 72 69 63 65 20 3d 20 70 72 69 63 65 5f 73 79 6d 62 6f 6c 5f 72 65 76 65 72 73 65 int.price.=.price_symbol_reverse
3d1e0 64 28 20 62 6d 5f 64 69 73 20 2b 20 28 20 62 61 73 65 20 2d 20 64 69 73 5f 73 6c 6f 74 20 29 2c d(.bm_dis.+.(.base.-.dis_slot.),
3d200 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3d220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 69 73 20 2d 20 62 61 73 65 2c 20 64 69 72 65 63 74 ..............dis.-.base,.direct
3d240 5f 62 69 74 73 20 29 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 6c 65 6e 5f 73 74 61 74 65 20 _bits.);.....for(.int.len_state.
3d260 3d 20 30 3b 20 6c 65 6e 5f 73 74 61 74 65 20 3c 20 6c 65 6e 5f 73 74 61 74 65 73 3b 20 2b 2b 6c =.0;.len_state.<.len_states;.++l
3d280 65 6e 5f 73 74 61 74 65 20 29 0a 20 20 20 20 20 20 64 69 73 5f 70 72 69 63 65 73 5b 6c 65 6e 5f en_state.).......dis_prices[len_
3d2a0 73 74 61 74 65 5d 5b 64 69 73 5d 20 3d 20 70 72 69 63 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 66 6f state][dis].=.price;.....}....fo
3d2c0 72 28 20 69 6e 74 20 6c 65 6e 5f 73 74 61 74 65 20 3d 20 30 3b 20 6c 65 6e 5f 73 74 61 74 65 20 r(.int.len_state.=.0;.len_state.
3d2e0 3c 20 6c 65 6e 5f 73 74 61 74 65 73 3b 20 2b 2b 6c 65 6e 5f 73 74 61 74 65 20 29 0a 20 20 20 20 <.len_states;.++len_state.).....
3d300 7b 0a 20 20 20 20 69 6e 74 20 2a 20 63 6f 6e 73 74 20 64 73 70 20 3d 20 64 69 73 5f 73 6c 6f 74 {.....int.*.const.dsp.=.dis_slot
3d320 5f 70 72 69 63 65 73 5b 6c 65 6e 5f 73 74 61 74 65 5d 3b 0a 20 20 20 20 63 6f 6e 73 74 20 42 69 _prices[len_state];.....const.Bi
3d340 74 5f 6d 6f 64 65 6c 20 2a 20 63 6f 6e 73 74 20 62 6d 64 73 20 3d 20 62 6d 5f 64 69 73 5f 73 6c t_model.*.const.bmds.=.bm_dis_sl
3d360 6f 74 5b 6c 65 6e 5f 73 74 61 74 65 5d 3b 0a 20 20 20 20 69 6e 74 20 73 6c 6f 74 20 3d 20 30 3b ot[len_state];.....int.slot.=.0;
3d380 0a 20 20 20 20 66 6f 72 28 20 3b 20 73 6c 6f 74 20 3c 20 65 6e 64 5f 64 69 73 5f 6d 6f 64 65 6c .....for(.;.slot.<.end_dis_model
3d3a0 3b 20 2b 2b 73 6c 6f 74 20 29 0a 20 20 20 20 20 20 64 73 70 5b 73 6c 6f 74 5d 20 3d 20 70 72 69 ;.++slot.).......dsp[slot].=.pri
3d3c0 63 65 5f 73 79 6d 62 6f 6c 36 28 20 62 6d 64 73 2c 20 73 6c 6f 74 20 29 3b 0a 20 20 20 20 66 6f ce_symbol6(.bmds,.slot.);.....fo
3d3e0 72 28 20 3b 20 73 6c 6f 74 20 3c 20 6e 75 6d 5f 64 69 73 5f 73 6c 6f 74 73 3b 20 2b 2b 73 6c 6f r(.;.slot.<.num_dis_slots;.++slo
3d400 74 20 29 0a 20 20 20 20 20 20 64 73 70 5b 73 6c 6f 74 5d 20 3d 20 70 72 69 63 65 5f 73 79 6d 62 t.).......dsp[slot].=.price_symb
3d420 6f 6c 36 28 20 62 6d 64 73 2c 20 73 6c 6f 74 20 29 20 2b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ol6(.bmds,.slot.).+.............
3d440 20 20 20 20 20 20 28 28 28 28 20 73 6c 6f 74 20 3e 3e 20 31 20 29 20 2d 20 31 20 29 20 2d 20 64 ......((((.slot.>>.1.).-.1.).-.d
3d460 69 73 5f 61 6c 69 67 6e 5f 62 69 74 73 20 29 20 3c 3c 20 70 72 69 63 65 5f 73 68 69 66 74 5f 62 is_align_bits.).<<.price_shift_b
3d480 69 74 73 20 29 3b 0a 0a 20 20 20 20 69 6e 74 20 2a 20 63 6f 6e 73 74 20 64 70 20 3d 20 64 69 73 its.);......int.*.const.dp.=.dis
3d4a0 5f 70 72 69 63 65 73 5b 6c 65 6e 5f 73 74 61 74 65 5d 3b 0a 20 20 20 20 69 6e 74 20 64 69 73 20 _prices[len_state];.....int.dis.
3d4c0 3d 20 30 3b 0a 20 20 20 20 66 6f 72 28 20 3b 20 64 69 73 20 3c 20 73 74 61 72 74 5f 64 69 73 5f =.0;.....for(.;.dis.<.start_dis_
3d4e0 6d 6f 64 65 6c 3b 20 2b 2b 64 69 73 20 29 0a 20 20 20 20 20 20 64 70 5b 64 69 73 5d 20 3d 20 64 model;.++dis.).......dp[dis].=.d
3d500 73 70 5b 64 69 73 5d 3b 0a 20 20 20 20 66 6f 72 28 20 3b 20 64 69 73 20 3c 20 6d 6f 64 65 6c 65 sp[dis];.....for(.;.dis.<.modele
3d520 64 5f 64 69 73 74 61 6e 63 65 73 3b 20 2b 2b 64 69 73 20 29 0a 20 20 20 20 20 20 64 70 5b 64 69 d_distances;.++dis.).......dp[di
3d540 73 5d 20 2b 3d 20 64 73 70 5b 64 69 73 5f 73 6c 6f 74 73 5b 64 69 73 5d 5d 3b 0a 20 20 20 20 7d s].+=.dsp[dis_slots[dis]];.....}
3d560 0a 20 20 7d 0a 0a 0a 2f 2a 20 52 65 74 75 72 6e 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 ...}.../*.Returns.the.number.of.
3d580 62 79 74 65 73 20 61 64 76 61 6e 63 65 64 20 28 61 68 65 61 64 29 2e 0a 20 20 20 74 72 69 61 6c bytes.advanced.(ahead).....trial
3d5a0 73 5b 30 5d 2e 2e 74 72 69 61 6c 73 5b 61 68 65 61 64 2d 31 5d 20 63 6f 6e 74 61 69 6e 20 74 68 s[0]..trials[ahead-1].contain.th
3d5c0 65 20 73 74 65 70 73 20 74 6f 20 65 6e 63 6f 64 65 2e 0a 20 20 20 28 20 74 72 69 61 6c 73 5b 30 e.steps.to.encode.....(.trials[0
3d5e0 5d 2e 64 69 73 34 20 3d 3d 20 2d 31 20 29 20 6d 65 61 6e 73 20 6c 69 74 65 72 61 6c 2e 0a 20 20 ].dis4.==.-1.).means.literal....
3d600 20 41 20 6d 61 74 63 68 2f 72 65 70 20 6c 6f 6e 67 65 72 20 6f 72 20 65 71 75 61 6c 20 74 68 61 .A.match/rep.longer.or.equal.tha
3d620 6e 20 6d 61 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 74 20 66 69 6e 69 73 68 65 73 20 74 68 65 20 73 n.match_len_limit.finishes.the.s
3d640 65 71 75 65 6e 63 65 2e 0a 2a 2f 0a 69 6e 74 20 4c 5a 5f 65 6e 63 6f 64 65 72 3a 3a 73 65 71 75 equence..*/.int.LZ_encoder::sequ
3d660 65 6e 63 65 5f 6f 70 74 69 6d 69 7a 65 72 28 20 63 6f 6e 73 74 20 69 6e 74 20 72 65 70 73 5b 6e ence_optimizer(.const.int.reps[n
3d680 75 6d 5f 72 65 70 5f 64 69 73 74 61 6e 63 65 73 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 um_rep_distances],..............
3d6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 53 74 61 .......................const.Sta
3d6c0 74 65 20 73 74 61 74 65 20 29 0a 20 20 7b 0a 20 20 69 6e 74 20 6e 75 6d 5f 70 61 69 72 73 2c 20 te.state.)...{...int.num_pairs,.
3d6e0 6e 75 6d 5f 74 72 69 61 6c 73 3b 0a 0a 20 20 69 66 28 20 70 65 6e 64 69 6e 67 5f 6e 75 6d 5f 70 num_trials;....if(.pending_num_p
3d700 61 69 72 73 20 3e 20 30 20 29 09 09 09 2f 2f 20 66 72 6f 6d 20 70 72 65 76 69 6f 75 73 20 63 61 airs.>.0.)...//.from.previous.ca
3d720 6c 6c 0a 20 20 20 20 7b 0a 20 20 20 20 6e 75 6d 5f 70 61 69 72 73 20 3d 20 70 65 6e 64 69 6e 67 ll.....{.....num_pairs.=.pending
3d740 5f 6e 75 6d 5f 70 61 69 72 73 3b 0a 20 20 20 20 70 65 6e 64 69 6e 67 5f 6e 75 6d 5f 70 61 69 72 _num_pairs;.....pending_num_pair
3d760 73 20 3d 20 30 3b 0a 20 20 20 20 7d 0a 20 20 65 6c 73 65 0a 20 20 20 20 6e 75 6d 5f 70 61 69 72 s.=.0;.....}...else.....num_pair
3d780 73 20 3d 20 72 65 61 64 5f 6d 61 74 63 68 5f 64 69 73 74 61 6e 63 65 73 28 29 3b 0a 20 20 63 6f s.=.read_match_distances();...co
3d7a0 6e 73 74 20 69 6e 74 20 6d 61 69 6e 5f 6c 65 6e 20 3d 20 28 20 6e 75 6d 5f 70 61 69 72 73 20 3e nst.int.main_len.=.(.num_pairs.>
3d7c0 20 30 20 29 20 3f 20 70 61 69 72 73 5b 6e 75 6d 5f 70 61 69 72 73 2d 31 5d 2e 6c 65 6e 20 3a 20 .0.).?.pairs[num_pairs-1].len.:.
3d7e0 30 3b 0a 0a 20 20 69 6e 74 20 72 65 70 6c 65 6e 73 5b 6e 75 6d 5f 72 65 70 5f 64 69 73 74 61 6e 0;....int.replens[num_rep_distan
3d800 63 65 73 5d 3b 0a 20 20 69 6e 74 20 72 65 70 5f 69 6e 64 65 78 20 3d 20 30 3b 0a 20 20 66 6f 72 ces];...int.rep_index.=.0;...for
3d820 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 6e 75 6d 5f 72 65 70 5f 64 69 73 74 61 6e 63 (.int.i.=.0;.i.<.num_rep_distanc
3d840 65 73 3b 20 2b 2b 69 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 72 65 70 6c 65 6e 73 5b 69 5d 20 3d es;.++i.).....{.....replens[i].=
3d860 20 74 72 75 65 5f 6d 61 74 63 68 5f 6c 65 6e 28 20 30 2c 20 72 65 70 73 5b 69 5d 20 2b 20 31 20 .true_match_len(.0,.reps[i].+.1.
3d880 29 3b 0a 20 20 20 20 69 66 28 20 72 65 70 6c 65 6e 73 5b 69 5d 20 3e 20 72 65 70 6c 65 6e 73 5b );.....if(.replens[i].>.replens[
3d8a0 72 65 70 5f 69 6e 64 65 78 5d 20 29 20 72 65 70 5f 69 6e 64 65 78 20 3d 20 69 3b 0a 20 20 20 20 rep_index].).rep_index.=.i;.....
3d8c0 7d 0a 20 20 69 66 28 20 72 65 70 6c 65 6e 73 5b 72 65 70 5f 69 6e 64 65 78 5d 20 3e 3d 20 6d 61 }...if(.replens[rep_index].>=.ma
3d8e0 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 74 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 74 72 69 61 6c 73 tch_len_limit.).....{.....trials
3d900 5b 30 5d 2e 70 72 69 63 65 20 3d 20 72 65 70 6c 65 6e 73 5b 72 65 70 5f 69 6e 64 65 78 5d 3b 0a [0].price.=.replens[rep_index];.
3d920 20 20 20 20 74 72 69 61 6c 73 5b 30 5d 2e 64 69 73 34 20 3d 20 72 65 70 5f 69 6e 64 65 78 3b 0a ....trials[0].dis4.=.rep_index;.
3d940 20 20 20 20 6d 6f 76 65 5f 61 6e 64 5f 75 70 64 61 74 65 28 20 72 65 70 6c 65 6e 73 5b 72 65 70 ....move_and_update(.replens[rep
3d960 5f 69 6e 64 65 78 5d 20 29 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 72 65 70 6c 65 6e 73 5b 72 65 _index].);.....return.replens[re
3d980 70 5f 69 6e 64 65 78 5d 3b 0a 20 20 20 20 7d 0a 0a 20 20 69 66 28 20 6d 61 69 6e 5f 6c 65 6e 20 p_index];.....}....if(.main_len.
3d9a0 3e 3d 20 6d 61 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 74 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 74 >=.match_len_limit.).....{.....t
3d9c0 72 69 61 6c 73 5b 30 5d 2e 70 72 69 63 65 20 3d 20 6d 61 69 6e 5f 6c 65 6e 3b 0a 20 20 20 20 74 rials[0].price.=.main_len;.....t
3d9e0 72 69 61 6c 73 5b 30 5d 2e 64 69 73 34 20 3d 20 70 61 69 72 73 5b 6e 75 6d 5f 70 61 69 72 73 2d rials[0].dis4.=.pairs[num_pairs-
3da00 31 5d 2e 64 69 73 20 2b 20 6e 75 6d 5f 72 65 70 5f 64 69 73 74 61 6e 63 65 73 3b 0a 20 20 20 20 1].dis.+.num_rep_distances;.....
3da20 6d 6f 76 65 5f 61 6e 64 5f 75 70 64 61 74 65 28 20 6d 61 69 6e 5f 6c 65 6e 20 29 3b 0a 20 20 20 move_and_update(.main_len.);....
3da40 20 72 65 74 75 72 6e 20 6d 61 69 6e 5f 6c 65 6e 3b 0a 20 20 20 20 7d 0a 0a 20 20 63 6f 6e 73 74 .return.main_len;.....}....const
3da60 20 69 6e 74 20 70 6f 73 5f 73 74 61 74 65 20 3d 20 64 61 74 61 5f 70 6f 73 69 74 69 6f 6e 28 29 .int.pos_state.=.data_position()
3da80 20 26 20 70 6f 73 5f 73 74 61 74 65 5f 6d 61 73 6b 3b 0a 20 20 63 6f 6e 73 74 20 75 69 6e 74 38 .&.pos_state_mask;...const.uint8
3daa0 5f 74 20 70 72 65 76 5f 62 79 74 65 20 3d 20 70 65 65 6b 28 20 31 20 29 3b 0a 20 20 63 6f 6e 73 _t.prev_byte.=.peek(.1.);...cons
3dac0 74 20 75 69 6e 74 38 5f 74 20 63 75 72 5f 62 79 74 65 20 3d 20 70 65 65 6b 28 20 30 20 29 3b 0a t.uint8_t.cur_byte.=.peek(.0.);.
3dae0 20 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 6d 61 74 63 68 5f 62 79 74 65 20 3d 20 70 65 65 ..const.uint8_t.match_byte.=.pee
3db00 6b 28 20 72 65 70 73 5b 30 5d 20 2b 20 31 20 29 3b 0a 0a 20 20 74 72 69 61 6c 73 5b 31 5d 2e 70 k(.reps[0].+.1.);....trials[1].p
3db20 72 69 63 65 20 3d 20 70 72 69 63 65 30 28 20 62 6d 5f 6d 61 74 63 68 5b 73 74 61 74 65 28 29 5d rice.=.price0(.bm_match[state()]
3db40 5b 70 6f 73 5f 73 74 61 74 65 5d 20 29 3b 0a 20 20 69 66 28 20 73 74 61 74 65 2e 69 73 5f 63 68 [pos_state].);...if(.state.is_ch
3db60 61 72 28 29 20 29 0a 20 20 20 20 74 72 69 61 6c 73 5b 31 5d 2e 70 72 69 63 65 20 2b 3d 20 70 72 ar().).....trials[1].price.+=.pr
3db80 69 63 65 5f 6c 69 74 65 72 61 6c 28 20 70 72 65 76 5f 62 79 74 65 2c 20 63 75 72 5f 62 79 74 65 ice_literal(.prev_byte,.cur_byte
3dba0 20 29 3b 0a 20 20 65 6c 73 65 0a 20 20 20 20 74 72 69 61 6c 73 5b 31 5d 2e 70 72 69 63 65 20 2b .);...else.....trials[1].price.+
3dbc0 3d 20 70 72 69 63 65 5f 6d 61 74 63 68 65 64 28 20 70 72 65 76 5f 62 79 74 65 2c 20 63 75 72 5f =.price_matched(.prev_byte,.cur_
3dbe0 62 79 74 65 2c 20 6d 61 74 63 68 5f 62 79 74 65 20 29 3b 0a 20 20 74 72 69 61 6c 73 5b 31 5d 2e byte,.match_byte.);...trials[1].
3dc00 64 69 73 34 20 3d 20 2d 31 3b 09 09 09 09 09 2f 2f 20 6c 69 74 65 72 61 6c 0a 0a 20 20 63 6f 6e dis4.=.-1;.....//.literal....con
3dc20 73 74 20 69 6e 74 20 6d 61 74 63 68 5f 70 72 69 63 65 20 3d 20 70 72 69 63 65 31 28 20 62 6d 5f st.int.match_price.=.price1(.bm_
3dc40 6d 61 74 63 68 5b 73 74 61 74 65 28 29 5d 5b 70 6f 73 5f 73 74 61 74 65 5d 20 29 3b 0a 20 20 63 match[state()][pos_state].);...c
3dc60 6f 6e 73 74 20 69 6e 74 20 72 65 70 5f 6d 61 74 63 68 5f 70 72 69 63 65 20 3d 20 6d 61 74 63 68 onst.int.rep_match_price.=.match
3dc80 5f 70 72 69 63 65 20 2b 20 70 72 69 63 65 31 28 20 62 6d 5f 72 65 70 5b 73 74 61 74 65 28 29 5d _price.+.price1(.bm_rep[state()]
3dca0 20 29 3b 0a 0a 20 20 69 66 28 20 6d 61 74 63 68 5f 62 79 74 65 20 3d 3d 20 63 75 72 5f 62 79 74 .);....if(.match_byte.==.cur_byt
3dcc0 65 20 29 0a 20 20 20 20 74 72 69 61 6c 73 5b 31 5d 2e 75 70 64 61 74 65 28 20 72 65 70 5f 6d 61 e.).....trials[1].update(.rep_ma
3dce0 74 63 68 5f 70 72 69 63 65 20 2b 20 70 72 69 63 65 5f 73 68 6f 72 74 72 65 70 28 20 73 74 61 74 tch_price.+.price_shortrep(.stat
3dd00 65 2c 20 70 6f 73 5f 73 74 61 74 65 20 29 2c 20 30 2c 20 30 20 29 3b 0a 0a 20 20 6e 75 6d 5f 74 e,.pos_state.),.0,.0.);....num_t
3dd20 72 69 61 6c 73 20 3d 20 73 74 64 3a 3a 6d 61 78 28 20 6d 61 69 6e 5f 6c 65 6e 2c 20 72 65 70 6c rials.=.std::max(.main_len,.repl
3dd40 65 6e 73 5b 72 65 70 5f 69 6e 64 65 78 5d 20 29 3b 0a 0a 20 20 69 66 28 20 6e 75 6d 5f 74 72 69 ens[rep_index].);....if(.num_tri
3dd60 61 6c 73 20 3c 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 als.<.min_match_len.).....{.....
3dd80 74 72 69 61 6c 73 5b 30 5d 2e 70 72 69 63 65 20 3d 20 31 3b 0a 20 20 20 20 74 72 69 61 6c 73 5b trials[0].price.=.1;.....trials[
3dda0 30 5d 2e 64 69 73 34 20 3d 20 74 72 69 61 6c 73 5b 31 5d 2e 64 69 73 34 3b 0a 20 20 20 20 6d 6f 0].dis4.=.trials[1].dis4;.....mo
3ddc0 76 65 5f 70 6f 73 28 29 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 31 3b 0a 20 20 20 20 7d 0a 0a 20 ve_pos();.....return.1;.....}...
3dde0 20 74 72 69 61 6c 73 5b 30 5d 2e 73 74 61 74 65 20 3d 20 73 74 61 74 65 3b 0a 20 20 66 6f 72 28 .trials[0].state.=.state;...for(
3de00 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 6e 75 6d 5f 72 65 70 5f 64 69 73 74 61 6e 63 65 .int.i.=.0;.i.<.num_rep_distance
3de20 73 3b 20 2b 2b 69 20 29 0a 20 20 20 20 74 72 69 61 6c 73 5b 30 5d 2e 72 65 70 73 5b 69 5d 20 3d s;.++i.).....trials[0].reps[i].=
3de40 20 72 65 70 73 5b 69 5d 3b 0a 0a 20 20 66 6f 72 28 20 69 6e 74 20 6c 65 6e 20 3d 20 6d 69 6e 5f .reps[i];....for(.int.len.=.min_
3de60 6d 61 74 63 68 5f 6c 65 6e 3b 20 6c 65 6e 20 3c 3d 20 6e 75 6d 5f 74 72 69 61 6c 73 3b 20 2b 2b match_len;.len.<=.num_trials;.++
3de80 6c 65 6e 20 29 0a 20 20 20 20 74 72 69 61 6c 73 5b 6c 65 6e 5d 2e 70 72 69 63 65 20 3d 20 69 6e len.).....trials[len].price.=.in
3dea0 66 69 6e 69 74 65 5f 70 72 69 63 65 3b 0a 0a 20 20 66 6f 72 28 20 69 6e 74 20 72 65 70 20 3d 20 finite_price;....for(.int.rep.=.
3dec0 30 3b 20 72 65 70 20 3c 20 6e 75 6d 5f 72 65 70 5f 64 69 73 74 61 6e 63 65 73 3b 20 2b 2b 72 65 0;.rep.<.num_rep_distances;.++re
3dee0 70 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 72 65 70 6c 65 6e 73 5b 72 65 70 5d 20 3c p.).....{.....if(.replens[rep].<
3df00 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 20 29 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 20 63 .min_match_len.).continue;.....c
3df20 6f 6e 73 74 20 69 6e 74 20 70 72 69 63 65 20 3d 20 72 65 70 5f 6d 61 74 63 68 5f 70 72 69 63 65 onst.int.price.=.rep_match_price
3df40 20 2b 20 70 72 69 63 65 5f 72 65 70 28 20 72 65 70 2c 20 73 74 61 74 65 2c 20 70 6f 73 5f 73 74 .+.price_rep(.rep,.state,.pos_st
3df60 61 74 65 20 29 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 6c 65 6e 20 3d 20 6d 69 6e 5f 6d 61 ate.);.....for(.int.len.=.min_ma
3df80 74 63 68 5f 6c 65 6e 3b 20 6c 65 6e 20 3c 3d 20 72 65 70 6c 65 6e 73 5b 72 65 70 5d 3b 20 2b 2b tch_len;.len.<=.replens[rep];.++
3dfa0 6c 65 6e 20 29 0a 20 20 20 20 20 20 74 72 69 61 6c 73 5b 6c 65 6e 5d 2e 75 70 64 61 74 65 28 20 len.).......trials[len].update(.
3dfc0 70 72 69 63 65 20 2b 20 72 65 70 5f 6c 65 6e 5f 70 72 69 63 65 73 2e 70 72 69 63 65 28 20 6c 65 price.+.rep_len_prices.price(.le
3dfe0 6e 2c 20 70 6f 73 5f 73 74 61 74 65 20 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n,.pos_state.),.................
3e000 20 20 20 20 20 20 20 20 20 20 72 65 70 2c 20 30 20 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 69 66 28 ..........rep,.0.);.....}....if(
3e020 20 6d 61 69 6e 5f 6c 65 6e 20 3e 20 72 65 70 6c 65 6e 73 5b 30 5d 20 29 0a 20 20 20 20 7b 0a 20 .main_len.>.replens[0].).....{..
3e040 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 6e 6f 72 6d 61 6c 5f 6d 61 74 63 68 5f 70 72 69 63 65 20 ...const.int.normal_match_price.
3e060 3d 20 6d 61 74 63 68 5f 70 72 69 63 65 20 2b 20 70 72 69 63 65 30 28 20 62 6d 5f 72 65 70 5b 73 =.match_price.+.price0(.bm_rep[s
3e080 74 61 74 65 28 29 5d 20 29 3b 0a 20 20 20 20 69 6e 74 20 69 20 3d 20 30 2c 20 6c 65 6e 20 3d 20 tate()].);.....int.i.=.0,.len.=.
3e0a0 73 74 64 3a 3a 6d 61 78 28 20 72 65 70 6c 65 6e 73 5b 30 5d 20 2b 20 31 2c 20 28 69 6e 74 29 6d std::max(.replens[0].+.1,.(int)m
3e0c0 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 20 29 3b 0a 20 20 20 20 77 68 69 6c 65 28 20 6c 65 6e 20 3e in_match_len.);.....while(.len.>
3e0e0 20 70 61 69 72 73 5b 69 5d 2e 6c 65 6e 20 29 20 2b 2b 69 3b 0a 20 20 20 20 77 68 69 6c 65 28 20 .pairs[i].len.).++i;.....while(.
3e100 74 72 75 65 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 64 true.).......{.......const.int.d
3e120 69 73 20 3d 20 70 61 69 72 73 5b 69 5d 2e 64 69 73 3b 0a 20 20 20 20 20 20 74 72 69 61 6c 73 5b is.=.pairs[i].dis;.......trials[
3e140 6c 65 6e 5d 2e 75 70 64 61 74 65 28 20 6e 6f 72 6d 61 6c 5f 6d 61 74 63 68 5f 70 72 69 63 65 20 len].update(.normal_match_price.
3e160 2b 20 70 72 69 63 65 5f 70 61 69 72 28 20 64 69 73 2c 20 6c 65 6e 2c 20 70 6f 73 5f 73 74 61 74 +.price_pair(.dis,.len,.pos_stat
3e180 65 20 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 e.),...........................d
3e1a0 69 73 20 2b 20 6e 75 6d 5f 72 65 70 5f 64 69 73 74 61 6e 63 65 73 2c 20 30 20 29 3b 0a 20 20 20 is.+.num_rep_distances,.0.);....
3e1c0 20 20 20 69 66 28 20 2b 2b 6c 65 6e 20 3e 20 70 61 69 72 73 5b 69 5d 2e 6c 65 6e 20 26 26 20 2b ...if(.++len.>.pairs[i].len.&&.+
3e1e0 2b 69 20 3e 3d 20 6e 75 6d 5f 70 61 69 72 73 20 29 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 7d +i.>=.num_pairs.).break;.......}
3e200 0a 20 20 20 20 7d 0a 0a 20 20 69 6e 74 20 63 75 72 20 3d 20 30 3b 0a 20 20 77 68 69 6c 65 28 20 .....}....int.cur.=.0;...while(.
3e220 74 72 75 65 20 29 09 09 09 09 2f 2f 20 70 72 69 63 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 20 true.)....//.price.optimization.
3e240 6c 6f 6f 70 0a 20 20 20 20 7b 0a 20 20 20 20 6d 6f 76 65 5f 70 6f 73 28 29 3b 0a 20 20 20 20 69 loop.....{.....move_pos();.....i
3e260 66 28 20 2b 2b 63 75 72 20 3e 3d 20 6e 75 6d 5f 74 72 69 61 6c 73 20 29 09 09 2f 2f 20 6e 6f 20 f(.++cur.>=.num_trials.)..//.no.
3e280 6d 6f 72 65 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 74 72 69 61 6c 73 0a 20 20 20 20 20 20 7b 0a more.initialized.trials.......{.
3e2a0 20 20 20 20 20 20 62 61 63 6b 77 61 72 64 28 20 63 75 72 20 29 3b 0a 20 20 20 20 20 20 72 65 74 ......backward(.cur.);.......ret
3e2c0 75 72 6e 20 63 75 72 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 urn.cur;.......}......const.int.
3e2e0 6e 75 6d 5f 70 61 69 72 73 20 3d 20 72 65 61 64 5f 6d 61 74 63 68 5f 64 69 73 74 61 6e 63 65 73 num_pairs.=.read_match_distances
3e300 28 29 3b 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 6e 65 77 6c 65 6e 20 3d 20 28 20 6e 75 6d ();.....const.int.newlen.=.(.num
3e320 5f 70 61 69 72 73 20 3e 20 30 20 29 20 3f 20 70 61 69 72 73 5b 6e 75 6d 5f 70 61 69 72 73 2d 31 _pairs.>.0.).?.pairs[num_pairs-1
3e340 5d 2e 6c 65 6e 20 3a 20 30 3b 0a 20 20 20 20 69 66 28 20 6e 65 77 6c 65 6e 20 3e 3d 20 6d 61 74 ].len.:.0;.....if(.newlen.>=.mat
3e360 63 68 5f 6c 65 6e 5f 6c 69 6d 69 74 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 70 65 6e ch_len_limit.).......{.......pen
3e380 64 69 6e 67 5f 6e 75 6d 5f 70 61 69 72 73 20 3d 20 6e 75 6d 5f 70 61 69 72 73 3b 0a 20 20 20 20 ding_num_pairs.=.num_pairs;.....
3e3a0 20 20 62 61 63 6b 77 61 72 64 28 20 63 75 72 20 29 3b 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 ..backward(.cur.);.......return.
3e3c0 63 75 72 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 67 69 76 65 20 66 69 6e 61 6c 20 cur;.......}......//.give.final.
3e3e0 76 61 6c 75 65 73 20 74 6f 20 63 75 72 72 65 6e 74 20 74 72 69 61 6c 0a 20 20 20 20 54 72 69 61 values.to.current.trial.....Tria
3e400 6c 20 26 20 63 75 72 5f 74 72 69 61 6c 20 3d 20 74 72 69 61 6c 73 5b 63 75 72 5d 3b 0a 20 20 20 l.&.cur_trial.=.trials[cur];....
3e420 20 53 74 61 74 65 20 63 75 72 5f 73 74 61 74 65 3b 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 .State.cur_state;.....{.....cons
3e440 74 20 69 6e 74 20 64 69 73 34 20 3d 20 63 75 72 5f 74 72 69 61 6c 2e 64 69 73 34 3b 0a 20 20 20 t.int.dis4.=.cur_trial.dis4;....
3e460 20 69 6e 74 20 70 72 65 76 5f 69 6e 64 65 78 20 3d 20 63 75 72 5f 74 72 69 61 6c 2e 70 72 65 76 .int.prev_index.=.cur_trial.prev
3e480 5f 69 6e 64 65 78 3b 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 70 72 65 76 5f 69 6e 64 65 78 _index;.....const.int.prev_index
3e4a0 32 20 3d 20 63 75 72 5f 74 72 69 61 6c 2e 70 72 65 76 5f 69 6e 64 65 78 32 3b 0a 0a 20 20 20 20 2.=.cur_trial.prev_index2;......
3e4c0 69 66 28 20 70 72 65 76 5f 69 6e 64 65 78 32 20 3d 3d 20 73 69 6e 67 6c 65 5f 73 74 65 70 5f 74 if(.prev_index2.==.single_step_t
3e4e0 72 69 61 6c 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 63 75 72 5f 73 74 61 74 65 20 3d rial.).......{.......cur_state.=
3e500 20 74 72 69 61 6c 73 5b 70 72 65 76 5f 69 6e 64 65 78 5d 2e 73 74 61 74 65 3b 0a 20 20 20 20 20 .trials[prev_index].state;......
3e520 20 69 66 28 20 70 72 65 76 5f 69 6e 64 65 78 20 2b 20 31 20 3d 3d 20 63 75 72 20 29 09 09 09 2f .if(.prev_index.+.1.==.cur.).../
3e540 2f 20 6c 65 6e 20 3d 3d 20 31 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 28 /.len.==.1.........{.........if(
3e560 20 64 69 73 34 20 3d 3d 20 30 20 29 20 63 75 72 5f 73 74 61 74 65 2e 73 65 74 5f 73 68 6f 72 74 .dis4.==.0.).cur_state.set_short
3e580 5f 72 65 70 28 29 3b 0a 20 20 20 20 20 20 20 20 65 6c 73 65 20 63 75 72 5f 73 74 61 74 65 2e 73 _rep();.........else.cur_state.s
3e5a0 65 74 5f 63 68 61 72 28 29 3b 09 09 09 2f 2f 20 6c 69 74 65 72 61 6c 0a 20 20 20 20 20 20 20 20 et_char();...//.literal.........
3e5c0 7d 0a 20 20 20 20 20 20 65 6c 73 65 20 69 66 28 20 64 69 73 34 20 3c 20 6e 75 6d 5f 72 65 70 5f }.......else.if(.dis4.<.num_rep_
3e5e0 64 69 73 74 61 6e 63 65 73 20 29 20 63 75 72 5f 73 74 61 74 65 2e 73 65 74 5f 72 65 70 28 29 3b distances.).cur_state.set_rep();
3e600 0a 20 20 20 20 20 20 65 6c 73 65 20 63 75 72 5f 73 74 61 74 65 2e 73 65 74 5f 6d 61 74 63 68 28 .......else.cur_state.set_match(
3e620 29 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 );.......}.....else.......{.....
3e640 20 20 69 66 28 20 70 72 65 76 5f 69 6e 64 65 78 32 20 3d 3d 20 64 75 61 6c 5f 73 74 65 70 5f 74 ..if(.prev_index2.==.dual_step_t
3e660 72 69 61 6c 20 29 09 2f 2f 20 64 69 73 34 20 3d 3d 20 30 20 28 72 65 70 30 29 0a 20 20 20 20 20 rial.).//.dis4.==.0.(rep0)......
3e680 20 20 20 2d 2d 70 72 65 76 5f 69 6e 64 65 78 3b 0a 20 20 20 20 20 20 65 6c 73 65 09 09 09 09 09 ...--prev_index;.......else.....
3e6a0 2f 2f 20 70 72 65 76 5f 69 6e 64 65 78 32 20 3e 3d 20 30 0a 20 20 20 20 20 20 20 20 70 72 65 76 //.prev_index2.>=.0.........prev
3e6c0 5f 69 6e 64 65 78 20 3d 20 70 72 65 76 5f 69 6e 64 65 78 32 3b 0a 20 20 20 20 20 20 63 75 72 5f _index.=.prev_index2;.......cur_
3e6e0 73 74 61 74 65 2e 73 65 74 5f 63 68 61 72 5f 72 65 70 28 29 3b 0a 20 20 20 20 20 20 7d 0a 20 20 state.set_char_rep();.......}...
3e700 20 20 63 75 72 5f 74 72 69 61 6c 2e 73 74 61 74 65 20 3d 20 63 75 72 5f 73 74 61 74 65 3b 0a 20 ..cur_trial.state.=.cur_state;..
3e720 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 6e 75 6d 5f 72 65 70 5f 64 ...for(.int.i.=.0;.i.<.num_rep_d
3e740 69 73 74 61 6e 63 65 73 3b 20 2b 2b 69 20 29 0a 20 20 20 20 20 20 63 75 72 5f 74 72 69 61 6c 2e istances;.++i.).......cur_trial.
3e760 72 65 70 73 5b 69 5d 20 3d 20 74 72 69 61 6c 73 5b 70 72 65 76 5f 69 6e 64 65 78 5d 2e 72 65 70 reps[i].=.trials[prev_index].rep
3e780 73 5b 69 5d 3b 0a 20 20 20 20 6d 74 66 5f 72 65 70 73 28 20 64 69 73 34 2c 20 63 75 72 5f 74 72 s[i];.....mtf_reps(.dis4,.cur_tr
3e7a0 69 61 6c 2e 72 65 70 73 20 29 3b 09 09 2f 2f 20 6c 69 74 65 72 61 6c 20 69 73 20 69 67 6e 6f 72 ial.reps.);..//.literal.is.ignor
3e7c0 65 64 0a 20 20 20 20 7d 0a 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 70 6f 73 5f 73 74 61 74 ed.....}......const.int.pos_stat
3e7e0 65 20 3d 20 64 61 74 61 5f 70 6f 73 69 74 69 6f 6e 28 29 20 26 20 70 6f 73 5f 73 74 61 74 65 5f e.=.data_position().&.pos_state_
3e800 6d 61 73 6b 3b 0a 20 20 20 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 70 72 65 76 5f 62 79 74 mask;.....const.uint8_t.prev_byt
3e820 65 20 3d 20 70 65 65 6b 28 20 31 20 29 3b 0a 20 20 20 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 e.=.peek(.1.);.....const.uint8_t
3e840 20 63 75 72 5f 62 79 74 65 20 3d 20 70 65 65 6b 28 20 30 20 29 3b 0a 20 20 20 20 63 6f 6e 73 74 .cur_byte.=.peek(.0.);.....const
3e860 20 75 69 6e 74 38 5f 74 20 6d 61 74 63 68 5f 62 79 74 65 20 3d 20 70 65 65 6b 28 20 63 75 72 5f .uint8_t.match_byte.=.peek(.cur_
3e880 74 72 69 61 6c 2e 72 65 70 73 5b 30 5d 20 2b 20 31 20 29 3b 0a 0a 20 20 20 20 69 6e 74 20 6e 65 trial.reps[0].+.1.);......int.ne
3e8a0 78 74 5f 70 72 69 63 65 20 3d 20 63 75 72 5f 74 72 69 61 6c 2e 70 72 69 63 65 20 2b 0a 20 20 20 xt_price.=.cur_trial.price.+....
3e8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 63 65 30 28 20 62 6d 5f 6d 61 74 ..................price0(.bm_mat
3e8e0 63 68 5b 63 75 72 5f 73 74 61 74 65 28 29 5d 5b 70 6f 73 5f 73 74 61 74 65 5d 20 29 3b 0a 20 20 ch[cur_state()][pos_state].);...
3e900 20 20 69 66 28 20 63 75 72 5f 73 74 61 74 65 2e 69 73 5f 63 68 61 72 28 29 20 29 0a 20 20 20 20 ..if(.cur_state.is_char().).....
3e920 20 20 6e 65 78 74 5f 70 72 69 63 65 20 2b 3d 20 70 72 69 63 65 5f 6c 69 74 65 72 61 6c 28 20 70 ..next_price.+=.price_literal(.p
3e940 72 65 76 5f 62 79 74 65 2c 20 63 75 72 5f 62 79 74 65 20 29 3b 0a 20 20 20 20 65 6c 73 65 0a 20 rev_byte,.cur_byte.);.....else..
3e960 20 20 20 20 20 6e 65 78 74 5f 70 72 69 63 65 20 2b 3d 20 70 72 69 63 65 5f 6d 61 74 63 68 65 64 .....next_price.+=.price_matched
3e980 28 20 70 72 65 76 5f 62 79 74 65 2c 20 63 75 72 5f 62 79 74 65 2c 20 6d 61 74 63 68 5f 62 79 74 (.prev_byte,.cur_byte,.match_byt
3e9a0 65 20 29 3b 0a 0a 20 20 20 20 2f 2f 20 74 72 79 20 6c 61 73 74 20 75 70 64 61 74 65 73 20 74 6f e.);......//.try.last.updates.to
3e9c0 20 6e 65 78 74 20 74 72 69 61 6c 0a 20 20 20 20 54 72 69 61 6c 20 26 20 6e 65 78 74 5f 74 72 69 .next.trial.....Trial.&.next_tri
3e9e0 61 6c 20 3d 20 74 72 69 61 6c 73 5b 63 75 72 2b 31 5d 3b 0a 0a 20 20 20 20 6e 65 78 74 5f 74 72 al.=.trials[cur+1];......next_tr
3ea00 69 61 6c 2e 75 70 64 61 74 65 28 20 6e 65 78 74 5f 70 72 69 63 65 2c 20 2d 31 2c 20 63 75 72 20 ial.update(.next_price,.-1,.cur.
3ea20 29 3b 09 09 2f 2f 20 6c 69 74 65 72 61 6c 0a 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 6d 61 );..//.literal......const.int.ma
3ea40 74 63 68 5f 70 72 69 63 65 20 3d 20 63 75 72 5f 74 72 69 61 6c 2e 70 72 69 63 65 20 2b 20 70 72 tch_price.=.cur_trial.price.+.pr
3ea60 69 63 65 31 28 20 62 6d 5f 6d 61 74 63 68 5b 63 75 72 5f 73 74 61 74 65 28 29 5d 5b 70 6f 73 5f ice1(.bm_match[cur_state()][pos_
3ea80 73 74 61 74 65 5d 20 29 3b 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 72 65 70 5f 6d 61 74 63 state].);.....const.int.rep_matc
3eaa0 68 5f 70 72 69 63 65 20 3d 20 6d 61 74 63 68 5f 70 72 69 63 65 20 2b 20 70 72 69 63 65 31 28 20 h_price.=.match_price.+.price1(.
3eac0 62 6d 5f 72 65 70 5b 63 75 72 5f 73 74 61 74 65 28 29 5d 20 29 3b 0a 0a 20 20 20 20 69 66 28 20 bm_rep[cur_state()].);......if(.
3eae0 6d 61 74 63 68 5f 62 79 74 65 20 3d 3d 20 63 75 72 5f 62 79 74 65 20 26 26 20 6e 65 78 74 5f 74 match_byte.==.cur_byte.&&.next_t
3eb00 72 69 61 6c 2e 64 69 73 34 20 21 3d 20 30 20 26 26 0a 20 20 20 20 20 20 20 20 6e 65 78 74 5f 74 rial.dis4.!=.0.&&.........next_t
3eb20 72 69 61 6c 2e 70 72 65 76 5f 69 6e 64 65 78 32 20 3d 3d 20 73 69 6e 67 6c 65 5f 73 74 65 70 5f rial.prev_index2.==.single_step_
3eb40 74 72 69 61 6c 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 trial.).......{.......const.int.
3eb60 70 72 69 63 65 20 3d 20 72 65 70 5f 6d 61 74 63 68 5f 70 72 69 63 65 20 2b 20 70 72 69 63 65 5f price.=.rep_match_price.+.price_
3eb80 73 68 6f 72 74 72 65 70 28 20 63 75 72 5f 73 74 61 74 65 2c 20 70 6f 73 5f 73 74 61 74 65 20 29 shortrep(.cur_state,.pos_state.)
3eba0 3b 0a 20 20 20 20 20 20 69 66 28 20 70 72 69 63 65 20 3c 3d 20 6e 65 78 74 5f 74 72 69 61 6c 2e ;.......if(.price.<=.next_trial.
3ebc0 70 72 69 63 65 20 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 6e 65 78 74 5f 74 price.).........{.........next_t
3ebe0 72 69 61 6c 2e 70 72 69 63 65 20 3d 20 70 72 69 63 65 3b 0a 20 20 20 20 20 20 20 20 6e 65 78 74 rial.price.=.price;.........next
3ec00 5f 74 72 69 61 6c 2e 64 69 73 34 20 3d 20 30 3b 09 09 09 09 2f 2f 20 72 65 70 30 0a 20 20 20 20 _trial.dis4.=.0;....//.rep0.....
3ec20 20 20 20 20 6e 65 78 74 5f 74 72 69 61 6c 2e 70 72 65 76 5f 69 6e 64 65 78 20 3d 20 63 75 72 3b ....next_trial.prev_index.=.cur;
3ec40 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e .........}.......}......const.in
3ec60 74 20 74 72 69 61 62 6c 65 5f 62 79 74 65 73 20 3d 0a 20 20 20 20 20 20 73 74 64 3a 3a 6d 69 6e t.triable_bytes.=.......std::min
3ec80 28 20 61 76 61 69 6c 61 62 6c 65 5f 62 79 74 65 73 28 29 2c 20 6d 61 78 5f 6e 75 6d 5f 74 72 69 (.available_bytes(),.max_num_tri
3eca0 61 6c 73 20 2d 20 31 20 2d 20 63 75 72 20 29 3b 0a 20 20 20 20 69 66 28 20 74 72 69 61 62 6c 65 als.-.1.-.cur.);.....if(.triable
3ecc0 5f 62 79 74 65 73 20 3c 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 20 29 20 63 6f 6e 74 69 6e 75 _bytes.<.min_match_len.).continu
3ece0 65 3b 0a 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 6c 65 6e 5f 6c 69 6d 69 74 20 3d 20 73 74 e;......const.int.len_limit.=.st
3ed00 64 3a 3a 6d 69 6e 28 20 6d 61 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 74 2c 20 74 72 69 61 62 6c 65 d::min(.match_len_limit,.triable
3ed20 5f 62 79 74 65 73 20 29 3b 0a 0a 20 20 20 20 2f 2f 20 74 72 79 20 6c 69 74 65 72 61 6c 20 2b 20 _bytes.);......//.try.literal.+.
3ed40 72 65 70 30 0a 20 20 20 20 69 66 28 20 6d 61 74 63 68 5f 62 79 74 65 20 21 3d 20 63 75 72 5f 62 rep0.....if(.match_byte.!=.cur_b
3ed60 79 74 65 20 26 26 20 6e 65 78 74 5f 74 72 69 61 6c 2e 70 72 65 76 5f 69 6e 64 65 78 20 21 3d 20 yte.&&.next_trial.prev_index.!=.
3ed80 63 75 72 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f cur.).......{.......const.uint8_
3eda0 74 20 2a 20 63 6f 6e 73 74 20 64 61 74 61 20 3d 20 70 74 72 5f 74 6f 5f 63 75 72 72 65 6e 74 5f t.*.const.data.=.ptr_to_current_
3edc0 70 6f 73 28 29 3b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 64 69 73 20 3d 20 63 75 72 pos();.......const.int.dis.=.cur
3ede0 5f 74 72 69 61 6c 2e 72 65 70 73 5b 30 5d 20 2b 20 31 3b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 _trial.reps[0].+.1;.......const.
3ee00 69 6e 74 20 6c 69 6d 69 74 20 3d 20 73 74 64 3a 3a 6d 69 6e 28 20 6d 61 74 63 68 5f 6c 65 6e 5f int.limit.=.std::min(.match_len_
3ee20 6c 69 6d 69 74 20 2b 20 31 2c 20 74 72 69 61 62 6c 65 5f 62 79 74 65 73 20 29 3b 0a 20 20 20 20 limit.+.1,.triable_bytes.);.....
3ee40 20 20 69 6e 74 20 6c 65 6e 20 3d 20 31 3b 0a 20 20 20 20 20 20 77 68 69 6c 65 28 20 6c 65 6e 20 ..int.len.=.1;.......while(.len.
3ee60 3c 20 6c 69 6d 69 74 20 26 26 20 64 61 74 61 5b 6c 65 6e 2d 64 69 73 5d 20 3d 3d 20 64 61 74 61 <.limit.&&.data[len-dis].==.data
3ee80 5b 6c 65 6e 5d 20 29 20 2b 2b 6c 65 6e 3b 0a 20 20 20 20 20 20 69 66 28 20 2d 2d 6c 65 6e 20 3e [len].).++len;.......if(.--len.>
3eea0 3d 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 20 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 =.min_match_len.).........{.....
3eec0 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 70 6f 73 5f 73 74 61 74 65 32 20 3d 20 28 20 70 6f 73 ....const.int.pos_state2.=.(.pos
3eee0 5f 73 74 61 74 65 20 2b 20 31 20 29 20 26 20 70 6f 73 5f 73 74 61 74 65 5f 6d 61 73 6b 3b 0a 20 _state.+.1.).&.pos_state_mask;..
3ef00 20 20 20 20 20 20 20 53 74 61 74 65 20 73 74 61 74 65 32 20 3d 20 63 75 72 5f 73 74 61 74 65 3b .......State.state2.=.cur_state;
3ef20 20 73 74 61 74 65 32 2e 73 65 74 5f 63 68 61 72 28 29 3b 0a 20 20 20 20 20 20 20 20 63 6f 6e 73 .state2.set_char();.........cons
3ef40 74 20 69 6e 74 20 70 72 69 63 65 20 3d 20 6e 65 78 74 5f 70 72 69 63 65 20 2b 0a 20 20 20 20 20 t.int.price.=.next_price.+......
3ef60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 63 65 31 28 20 62 6d 5f .....................price1(.bm_
3ef80 6d 61 74 63 68 5b 73 74 61 74 65 32 28 29 5d 5b 70 6f 73 5f 73 74 61 74 65 32 5d 20 29 20 2b 0a match[state2()][pos_state2].).+.
3efa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 63 65 31 ..........................price1
3efc0 28 20 62 6d 5f 72 65 70 5b 73 74 61 74 65 32 28 29 5d 20 29 20 2b 0a 20 20 20 20 20 20 20 20 20 (.bm_rep[state2()].).+..........
3efe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 63 65 5f 72 65 70 30 5f 6c 65 6e 28 .................price_rep0_len(
3f000 20 6c 65 6e 2c 20 73 74 61 74 65 32 2c 20 70 6f 73 5f 73 74 61 74 65 32 20 29 3b 0a 20 20 20 20 .len,.state2,.pos_state2.);.....
3f020 20 20 20 20 77 68 69 6c 65 28 20 6e 75 6d 5f 74 72 69 61 6c 73 20 3c 20 63 75 72 20 2b 20 31 20 ....while(.num_trials.<.cur.+.1.
3f040 2b 20 6c 65 6e 20 29 0a 20 20 20 20 20 20 20 20 20 20 74 72 69 61 6c 73 5b 2b 2b 6e 75 6d 5f 74 +.len.)...........trials[++num_t
3f060 72 69 61 6c 73 5d 2e 70 72 69 63 65 20 3d 20 69 6e 66 69 6e 69 74 65 5f 70 72 69 63 65 3b 0a 20 rials].price.=.infinite_price;..
3f080 20 20 20 20 20 20 20 74 72 69 61 6c 73 5b 63 75 72 2b 31 2b 6c 65 6e 5d 2e 75 70 64 61 74 65 32 .......trials[cur+1+len].update2
3f0a0 28 20 70 72 69 63 65 2c 20 63 75 72 20 2b 20 31 20 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 (.price,.cur.+.1.);.........}...
3f0c0 20 20 20 20 7d 0a 0a 20 20 20 20 69 6e 74 20 73 74 61 72 74 5f 6c 65 6e 20 3d 20 6d 69 6e 5f 6d ....}......int.start_len.=.min_m
3f0e0 61 74 63 68 5f 6c 65 6e 3b 0a 0a 20 20 20 20 2f 2f 20 74 72 79 20 72 65 70 20 64 69 73 74 61 6e atch_len;......//.try.rep.distan
3f100 63 65 73 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 72 65 70 20 3d 20 30 3b 20 72 65 70 20 3c 20 ces.....for(.int.rep.=.0;.rep.<.
3f120 6e 75 6d 5f 72 65 70 5f 64 69 73 74 61 6e 63 65 73 3b 20 2b 2b 72 65 70 20 29 0a 20 20 20 20 20 num_rep_distances;.++rep.)......
3f140 20 7b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 2a 20 63 6f 6e 73 74 20 64 .{.......const.uint8_t.*.const.d
3f160 61 74 61 20 3d 20 70 74 72 5f 74 6f 5f 63 75 72 72 65 6e 74 5f 70 6f 73 28 29 3b 0a 20 20 20 20 ata.=.ptr_to_current_pos();.....
3f180 20 20 63 6f 6e 73 74 20 69 6e 74 20 64 69 73 20 3d 20 63 75 72 5f 74 72 69 61 6c 2e 72 65 70 73 ..const.int.dis.=.cur_trial.reps
3f1a0 5b 72 65 70 5d 20 2b 20 31 3b 0a 20 20 20 20 20 20 69 6e 74 20 6c 65 6e 3b 0a 0a 20 20 20 20 20 [rep].+.1;.......int.len;.......
3f1c0 20 69 66 28 20 64 61 74 61 5b 30 2d 64 69 73 5d 20 21 3d 20 64 61 74 61 5b 30 5d 20 7c 7c 20 64 .if(.data[0-dis].!=.data[0].||.d
3f1e0 61 74 61 5b 31 2d 64 69 73 5d 20 21 3d 20 64 61 74 61 5b 31 5d 20 29 20 63 6f 6e 74 69 6e 75 65 ata[1-dis].!=.data[1].).continue
3f200 3b 0a 20 20 20 20 20 20 66 6f 72 28 20 6c 65 6e 20 3d 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e ;.......for(.len.=.min_match_len
3f220 3b 20 6c 65 6e 20 3c 20 6c 65 6e 5f 6c 69 6d 69 74 3b 20 2b 2b 6c 65 6e 20 29 0a 20 20 20 20 20 ;.len.<.len_limit;.++len.)......
3f240 20 20 20 69 66 28 20 64 61 74 61 5b 6c 65 6e 2d 64 69 73 5d 20 21 3d 20 64 61 74 61 5b 6c 65 6e ...if(.data[len-dis].!=.data[len
3f260 5d 20 29 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 77 68 69 6c 65 28 20 6e 75 6d 5f 74 72 69 61 ].).break;.......while(.num_tria
3f280 6c 73 20 3c 20 63 75 72 20 2b 20 6c 65 6e 20 29 0a 20 20 20 20 20 20 20 20 74 72 69 61 6c 73 5b ls.<.cur.+.len.).........trials[
3f2a0 2b 2b 6e 75 6d 5f 74 72 69 61 6c 73 5d 2e 70 72 69 63 65 20 3d 20 69 6e 66 69 6e 69 74 65 5f 70 ++num_trials].price.=.infinite_p
3f2c0 72 69 63 65 3b 0a 20 20 20 20 20 20 69 6e 74 20 70 72 69 63 65 20 3d 20 72 65 70 5f 6d 61 74 63 rice;.......int.price.=.rep_matc
3f2e0 68 5f 70 72 69 63 65 20 2b 20 70 72 69 63 65 5f 72 65 70 28 20 72 65 70 2c 20 63 75 72 5f 73 74 h_price.+.price_rep(.rep,.cur_st
3f300 61 74 65 2c 20 70 6f 73 5f 73 74 61 74 65 20 29 3b 0a 20 20 20 20 20 20 66 6f 72 28 20 69 6e 74 ate,.pos_state.);.......for(.int
3f320 20 69 20 3d 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 3b 20 69 20 3c 3d 20 6c 65 6e 3b 20 2b 2b .i.=.min_match_len;.i.<=.len;.++
3f340 69 20 29 0a 20 20 20 20 20 20 20 20 74 72 69 61 6c 73 5b 63 75 72 2b 69 5d 2e 75 70 64 61 74 65 i.).........trials[cur+i].update
3f360 28 20 70 72 69 63 65 20 2b 20 72 65 70 5f 6c 65 6e 5f 70 72 69 63 65 73 2e 70 72 69 63 65 28 20 (.price.+.rep_len_prices.price(.
3f380 69 2c 20 70 6f 73 5f 73 74 61 74 65 20 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 i,.pos_state.),.................
3f3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 70 2c 20 63 75 72 20 29 3b 0a 0a 20 20 20 20 20 ..............rep,.cur.);.......
3f3c0 20 69 66 28 20 72 65 70 20 3d 3d 20 30 20 29 20 73 74 61 72 74 5f 6c 65 6e 20 3d 20 6c 65 6e 20 .if(.rep.==.0.).start_len.=.len.
3f3e0 2b 20 31 3b 09 2f 2f 20 64 69 73 63 61 72 64 20 73 68 6f 72 74 65 72 20 6d 61 74 63 68 65 73 0a +.1;.//.discard.shorter.matches.
3f400 0a 20 20 20 20 20 20 2f 2f 20 74 72 79 20 72 65 70 20 2b 20 6c 69 74 65 72 61 6c 20 2b 20 72 65 .......//.try.rep.+.literal.+.re
3f420 70 30 0a 20 20 20 20 20 20 69 6e 74 20 6c 65 6e 32 20 3d 20 6c 65 6e 20 2b 20 31 3b 0a 20 20 20 p0.......int.len2.=.len.+.1;....
3f440 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 6c 69 6d 69 74 20 3d 20 73 74 64 3a 3a 6d 69 6e 28 20 6d ...const.int.limit.=.std::min(.m
3f460 61 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 74 20 2b 20 6c 65 6e 32 2c 20 74 72 69 61 62 6c 65 5f 62 atch_len_limit.+.len2,.triable_b
3f480 79 74 65 73 20 29 3b 0a 20 20 20 20 20 20 77 68 69 6c 65 28 20 6c 65 6e 32 20 3c 20 6c 69 6d 69 ytes.);.......while(.len2.<.limi
3f4a0 74 20 26 26 20 64 61 74 61 5b 6c 65 6e 32 2d 64 69 73 5d 20 3d 3d 20 64 61 74 61 5b 6c 65 6e 32 t.&&.data[len2-dis].==.data[len2
3f4c0 5d 20 29 20 2b 2b 6c 65 6e 32 3b 0a 20 20 20 20 20 20 6c 65 6e 32 20 2d 3d 20 6c 65 6e 20 2b 20 ].).++len2;.......len2.-=.len.+.
3f4e0 31 3b 0a 20 20 20 20 20 20 69 66 28 20 6c 65 6e 32 20 3c 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 1;.......if(.len2.<.min_match_le
3f500 6e 20 29 20 63 6f 6e 74 69 6e 75 65 3b 0a 0a 20 20 20 20 20 20 69 6e 74 20 70 6f 73 5f 73 74 61 n.).continue;........int.pos_sta
3f520 74 65 32 20 3d 20 28 20 70 6f 73 5f 73 74 61 74 65 20 2b 20 6c 65 6e 20 29 20 26 20 70 6f 73 5f te2.=.(.pos_state.+.len.).&.pos_
3f540 73 74 61 74 65 5f 6d 61 73 6b 3b 0a 20 20 20 20 20 20 53 74 61 74 65 20 73 74 61 74 65 32 20 3d state_mask;.......State.state2.=
3f560 20 63 75 72 5f 73 74 61 74 65 3b 20 73 74 61 74 65 32 2e 73 65 74 5f 72 65 70 28 29 3b 0a 20 20 .cur_state;.state2.set_rep();...
3f580 20 20 20 20 70 72 69 63 65 20 2b 3d 20 72 65 70 5f 6c 65 6e 5f 70 72 69 63 65 73 2e 70 72 69 63 ....price.+=.rep_len_prices.pric
3f5a0 65 28 20 6c 65 6e 2c 20 70 6f 73 5f 73 74 61 74 65 20 29 20 2b 0a 20 20 20 20 20 20 20 20 20 20 e(.len,.pos_state.).+...........
3f5c0 20 20 20 20 20 70 72 69 63 65 30 28 20 62 6d 5f 6d 61 74 63 68 5b 73 74 61 74 65 32 28 29 5d 5b .....price0(.bm_match[state2()][
3f5e0 70 6f 73 5f 73 74 61 74 65 32 5d 20 29 20 2b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 pos_state2].).+................p
3f600 72 69 63 65 5f 6d 61 74 63 68 65 64 28 20 64 61 74 61 5b 6c 65 6e 2d 31 5d 2c 20 64 61 74 61 5b rice_matched(.data[len-1],.data[
3f620 6c 65 6e 5d 2c 20 64 61 74 61 5b 6c 65 6e 2d 64 69 73 5d 20 29 3b 0a 20 20 20 20 20 20 70 6f 73 len],.data[len-dis].);.......pos
3f640 5f 73 74 61 74 65 32 20 3d 20 28 20 70 6f 73 5f 73 74 61 74 65 32 20 2b 20 31 20 29 20 26 20 70 _state2.=.(.pos_state2.+.1.).&.p
3f660 6f 73 5f 73 74 61 74 65 5f 6d 61 73 6b 3b 0a 20 20 20 20 20 20 73 74 61 74 65 32 2e 73 65 74 5f os_state_mask;.......state2.set_
3f680 63 68 61 72 28 29 3b 0a 20 20 20 20 20 20 70 72 69 63 65 20 2b 3d 20 70 72 69 63 65 31 28 20 62 char();.......price.+=.price1(.b
3f6a0 6d 5f 6d 61 74 63 68 5b 73 74 61 74 65 32 28 29 5d 5b 70 6f 73 5f 73 74 61 74 65 32 5d 20 29 20 m_match[state2()][pos_state2].).
3f6c0 2b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 63 65 31 28 20 62 6d 5f 72 65 70 5b +................price1(.bm_rep[
3f6e0 73 74 61 74 65 32 28 29 5d 20 29 20 2b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 state2()].).+................pri
3f700 63 65 5f 72 65 70 30 5f 6c 65 6e 28 20 6c 65 6e 32 2c 20 73 74 61 74 65 32 2c 20 70 6f 73 5f 73 ce_rep0_len(.len2,.state2,.pos_s
3f720 74 61 74 65 32 20 29 3b 0a 20 20 20 20 20 20 77 68 69 6c 65 28 20 6e 75 6d 5f 74 72 69 61 6c 73 tate2.);.......while(.num_trials
3f740 20 3c 20 63 75 72 20 2b 20 6c 65 6e 20 2b 20 31 20 2b 20 6c 65 6e 32 20 29 0a 20 20 20 20 20 20 .<.cur.+.len.+.1.+.len2.).......
3f760 20 20 74 72 69 61 6c 73 5b 2b 2b 6e 75 6d 5f 74 72 69 61 6c 73 5d 2e 70 72 69 63 65 20 3d 20 69 ..trials[++num_trials].price.=.i
3f780 6e 66 69 6e 69 74 65 5f 70 72 69 63 65 3b 0a 20 20 20 20 20 20 74 72 69 61 6c 73 5b 63 75 72 2b nfinite_price;.......trials[cur+
3f7a0 6c 65 6e 2b 31 2b 6c 65 6e 32 5d 2e 75 70 64 61 74 65 33 28 20 70 72 69 63 65 2c 20 72 65 70 2c len+1+len2].update3(.price,.rep,
3f7c0 20 63 75 72 20 2b 20 6c 65 6e 20 2b 20 31 2c 20 63 75 72 20 29 3b 0a 20 20 20 20 20 20 7d 0a 0a .cur.+.len.+.1,.cur.);.......}..
3f7e0 20 20 20 20 2f 2f 20 74 72 79 20 6d 61 74 63 68 65 73 0a 20 20 20 20 69 66 28 20 6e 65 77 6c 65 ....//.try.matches.....if(.newle
3f800 6e 20 3e 3d 20 73 74 61 72 74 5f 6c 65 6e 20 26 26 20 6e 65 77 6c 65 6e 20 3c 3d 20 6c 65 6e 5f n.>=.start_len.&&.newlen.<=.len_
3f820 6c 69 6d 69 74 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 limit.).......{.......const.int.
3f840 6e 6f 72 6d 61 6c 5f 6d 61 74 63 68 5f 70 72 69 63 65 20 3d 20 6d 61 74 63 68 5f 70 72 69 63 65 normal_match_price.=.match_price
3f860 20 2b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .+..............................
3f880 20 20 20 20 20 20 20 20 70 72 69 63 65 30 28 20 62 6d 5f 72 65 70 5b 63 75 72 5f 73 74 61 74 65 ........price0(.bm_rep[cur_state
3f8a0 28 29 5d 20 29 3b 0a 0a 20 20 20 20 20 20 77 68 69 6c 65 28 20 6e 75 6d 5f 74 72 69 61 6c 73 20 ()].);........while(.num_trials.
3f8c0 3c 20 63 75 72 20 2b 20 6e 65 77 6c 65 6e 20 29 0a 20 20 20 20 20 20 20 20 74 72 69 61 6c 73 5b <.cur.+.newlen.).........trials[
3f8e0 2b 2b 6e 75 6d 5f 74 72 69 61 6c 73 5d 2e 70 72 69 63 65 20 3d 20 69 6e 66 69 6e 69 74 65 5f 70 ++num_trials].price.=.infinite_p
3f900 72 69 63 65 3b 0a 0a 20 20 20 20 20 20 69 6e 74 20 69 20 3d 20 30 3b 0a 20 20 20 20 20 20 77 68 rice;........int.i.=.0;.......wh
3f920 69 6c 65 28 20 70 61 69 72 73 5b 69 5d 2e 6c 65 6e 20 3c 20 73 74 61 72 74 5f 6c 65 6e 20 29 20 ile(.pairs[i].len.<.start_len.).
3f940 2b 2b 69 3b 0a 20 20 20 20 20 20 69 6e 74 20 64 69 73 20 3d 20 70 61 69 72 73 5b 69 5d 2e 64 69 ++i;.......int.dis.=.pairs[i].di
3f960 73 3b 0a 20 20 20 20 20 20 66 6f 72 28 20 69 6e 74 20 6c 65 6e 20 3d 20 73 74 61 72 74 5f 6c 65 s;.......for(.int.len.=.start_le
3f980 6e 3b 20 3b 20 2b 2b 6c 65 6e 20 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 n;.;.++len.).........{.........i
3f9a0 6e 74 20 70 72 69 63 65 20 3d 20 6e 6f 72 6d 61 6c 5f 6d 61 74 63 68 5f 70 72 69 63 65 20 2b 20 nt.price.=.normal_match_price.+.
3f9c0 70 72 69 63 65 5f 70 61 69 72 28 20 64 69 73 2c 20 6c 65 6e 2c 20 70 6f 73 5f 73 74 61 74 65 20 price_pair(.dis,.len,.pos_state.
3f9e0 29 3b 0a 20 20 20 20 20 20 20 20 74 72 69 61 6c 73 5b 63 75 72 2b 6c 65 6e 5d 2e 75 70 64 61 74 );.........trials[cur+len].updat
3fa00 65 28 20 70 72 69 63 65 2c 20 64 69 73 20 2b 20 6e 75 6d 5f 72 65 70 5f 64 69 73 74 61 6e 63 65 e(.price,.dis.+.num_rep_distance
3fa20 73 2c 20 63 75 72 20 29 3b 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 74 72 79 20 6d 61 74 63 68 20 s,.cur.);..........//.try.match.
3fa40 2b 20 6c 69 74 65 72 61 6c 20 2b 20 72 65 70 30 0a 20 20 20 20 20 20 20 20 69 66 28 20 6c 65 6e +.literal.+.rep0.........if(.len
3fa60 20 3d 3d 20 70 61 69 72 73 5b 69 5d 2e 6c 65 6e 20 29 0a 20 20 20 20 20 20 20 20 20 20 7b 0a 20 .==.pairs[i].len.)...........{..
3fa80 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 2a 20 63 6f 6e 73 74 20 64 .........const.uint8_t.*.const.d
3faa0 61 74 61 20 3d 20 70 74 72 5f 74 6f 5f 63 75 72 72 65 6e 74 5f 70 6f 73 28 29 3b 0a 20 20 20 20 ata.=.ptr_to_current_pos();.....
3fac0 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 64 69 73 32 20 3d 20 64 69 73 20 2b 20 31 3b 0a ......const.int.dis2.=.dis.+.1;.
3fae0 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 6c 65 6e 32 20 3d 20 6c 65 6e 20 2b 20 31 3b 0a 20 20 ..........int.len2.=.len.+.1;...
3fb00 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 6c 69 6d 69 74 20 3d 20 73 74 64 3a 3a 6d ........const.int.limit.=.std::m
3fb20 69 6e 28 20 6d 61 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 74 20 2b 20 6c 65 6e 32 2c 20 74 72 69 61 in(.match_len_limit.+.len2,.tria
3fb40 62 6c 65 5f 62 79 74 65 73 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 28 20 6c 65 ble_bytes.);...........while(.le
3fb60 6e 32 20 3c 20 6c 69 6d 69 74 20 26 26 20 64 61 74 61 5b 6c 65 6e 32 2d 64 69 73 32 5d 20 3d 3d n2.<.limit.&&.data[len2-dis2].==
3fb80 20 64 61 74 61 5b 6c 65 6e 32 5d 20 29 20 2b 2b 6c 65 6e 32 3b 0a 20 20 20 20 20 20 20 20 20 20 .data[len2].).++len2;...........
3fba0 6c 65 6e 32 20 2d 3d 20 6c 65 6e 20 2b 20 31 3b 0a 20 20 20 20 20 20 20 20 20 20 69 66 28 20 6c len2.-=.len.+.1;...........if(.l
3fbc0 65 6e 32 20 3e 3d 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 20 29 0a 20 20 20 20 20 20 20 20 20 en2.>=.min_match_len.)..........
3fbe0 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 70 6f 73 5f 73 74 61 74 65 32 20 ...{.............int.pos_state2.
3fc00 3d 20 28 20 70 6f 73 5f 73 74 61 74 65 20 2b 20 6c 65 6e 20 29 20 26 20 70 6f 73 5f 73 74 61 74 =.(.pos_state.+.len.).&.pos_stat
3fc20 65 5f 6d 61 73 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 53 74 61 74 65 20 73 74 61 74 65 32 e_mask;.............State.state2
3fc40 20 3d 20 63 75 72 5f 73 74 61 74 65 3b 20 73 74 61 74 65 32 2e 73 65 74 5f 6d 61 74 63 68 28 29 .=.cur_state;.state2.set_match()
3fc60 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 63 65 20 2b 3d 20 70 72 69 63 65 30 28 20 62 ;.............price.+=.price0(.b
3fc80 6d 5f 6d 61 74 63 68 5b 73 74 61 74 65 32 28 29 5d 5b 70 6f 73 5f 73 74 61 74 65 32 5d 20 29 20 m_match[state2()][pos_state2].).
3fca0 2b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 63 65 5f 6d 61 74 +......................price_mat
3fcc0 63 68 65 64 28 20 64 61 74 61 5b 6c 65 6e 2d 31 5d 2c 20 64 61 74 61 5b 6c 65 6e 5d 2c 20 64 61 ched(.data[len-1],.data[len],.da
3fce0 74 61 5b 6c 65 6e 2d 64 69 73 32 5d 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 73 5f ta[len-dis2].);.............pos_
3fd00 73 74 61 74 65 32 20 3d 20 28 20 70 6f 73 5f 73 74 61 74 65 32 20 2b 20 31 20 29 20 26 20 70 6f state2.=.(.pos_state2.+.1.).&.po
3fd20 73 5f 73 74 61 74 65 5f 6d 61 73 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 32 s_state_mask;.............state2
3fd40 2e 73 65 74 5f 63 68 61 72 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 63 65 20 2b .set_char();.............price.+
3fd60 3d 20 70 72 69 63 65 31 28 20 62 6d 5f 6d 61 74 63 68 5b 73 74 61 74 65 32 28 29 5d 5b 70 6f 73 =.price1(.bm_match[state2()][pos
3fd80 5f 73 74 61 74 65 32 5d 20 29 20 2b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 _state2].).+....................
3fda0 20 20 70 72 69 63 65 31 28 20 62 6d 5f 72 65 70 5b 73 74 61 74 65 32 28 29 5d 20 29 20 2b 0a 20 ..price1(.bm_rep[state2()].).+..
3fdc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 63 65 5f 72 65 70 30 5f 6c ....................price_rep0_l
3fde0 65 6e 28 20 6c 65 6e 32 2c 20 73 74 61 74 65 32 2c 20 70 6f 73 5f 73 74 61 74 65 32 20 29 3b 0a en(.len2,.state2,.pos_state2.);.
3fe00 0a 20 20 20 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 28 20 6e 75 6d 5f 74 72 69 61 6c 73 20 3c .............while(.num_trials.<
3fe20 20 63 75 72 20 2b 20 6c 65 6e 20 2b 20 31 20 2b 20 6c 65 6e 32 20 29 0a 20 20 20 20 20 20 20 20 .cur.+.len.+.1.+.len2.).........
3fe40 20 20 20 20 20 20 74 72 69 61 6c 73 5b 2b 2b 6e 75 6d 5f 74 72 69 61 6c 73 5d 2e 70 72 69 63 65 ......trials[++num_trials].price
3fe60 20 3d 20 69 6e 66 69 6e 69 74 65 5f 70 72 69 63 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 .=.infinite_price;.............t
3fe80 72 69 61 6c 73 5b 63 75 72 2b 6c 65 6e 2b 31 2b 6c 65 6e 32 5d 2e 75 70 64 61 74 65 33 28 20 70 rials[cur+len+1+len2].update3(.p
3fea0 72 69 63 65 2c 20 64 69 73 20 2b 20 6e 75 6d 5f 72 65 70 5f 64 69 73 74 61 6e 63 65 73 2c 0a 20 rice,.dis.+.num_rep_distances,..
3fec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3fee0 20 20 20 20 20 20 20 20 20 20 20 63 75 72 20 2b 20 6c 65 6e 20 2b 20 31 2c 20 63 75 72 20 29 3b ...........cur.+.len.+.1,.cur.);
3ff00 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 69 66 28 20 2b 2b 69 .............}...........if(.++i
3ff20 20 3e 3d 20 6e 75 6d 5f 70 61 69 72 73 20 29 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 .>=.num_pairs.).break;..........
3ff40 20 64 69 73 20 3d 20 70 61 69 72 73 5b 69 5d 2e 64 69 73 3b 0a 20 20 20 20 20 20 20 20 20 20 7d .dis.=.pairs[i].dis;...........}
3ff60 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 7d 0a 0a 0a 62 .........}.......}.....}...}...b
3ff80 6f 6f 6c 20 4c 5a 5f 65 6e 63 6f 64 65 72 3a 3a 65 6e 63 6f 64 65 5f 6d 65 6d 62 65 72 28 20 63 ool.LZ_encoder::encode_member(.c
3ffa0 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6d 65 6d 62 65 72 5f 73 onst.unsigned.long.long.member_s
3ffc0 69 7a 65 20 29 0a 20 20 7b 0a 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 ize.)...{...const.unsigned.long.
3ffe0 6c 6f 6e 67 20 6d 65 6d 62 65 72 5f 73 69 7a 65 5f 6c 69 6d 69 74 20 3d 0a 20 20 20 20 6d 65 6d long.member_size_limit.=.....mem
40000 62 65 72 5f 73 69 7a 65 20 2d 20 46 69 6c 65 5f 74 72 61 69 6c 65 72 3a 3a 73 69 7a 65 20 2d 20 ber_size.-.File_trailer::size.-.
40020 6d 61 78 5f 6d 61 72 6b 65 72 5f 73 69 7a 65 3b 0a 20 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 62 65 max_marker_size;...const.bool.be
40040 73 74 20 3d 20 28 20 6d 61 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 74 20 3e 20 31 32 20 29 3b 0a 20 st.=.(.match_len_limit.>.12.);..
40060 20 63 6f 6e 73 74 20 69 6e 74 20 64 69 73 5f 70 72 69 63 65 5f 63 6f 75 6e 74 20 3d 20 62 65 73 .const.int.dis_price_count.=.bes
40080 74 20 3f 20 31 20 3a 20 35 31 32 3b 0a 20 20 63 6f 6e 73 74 20 69 6e 74 20 61 6c 69 67 6e 5f 70 t.?.1.:.512;...const.int.align_p
400a0 72 69 63 65 5f 63 6f 75 6e 74 20 3d 20 62 65 73 74 20 3f 20 31 20 3a 20 64 69 73 5f 61 6c 69 67 rice_count.=.best.?.1.:.dis_alig
400c0 6e 5f 73 69 7a 65 3b 0a 20 20 63 6f 6e 73 74 20 69 6e 74 20 70 72 69 63 65 5f 63 6f 75 6e 74 20 n_size;...const.int.price_count.
400e0 3d 20 28 20 6d 61 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 74 20 3e 20 33 36 20 29 20 3f 20 31 30 31 =.(.match_len_limit.>.36.).?.101
40100 33 20 3a 20 34 30 39 33 3b 0a 20 20 69 6e 74 20 70 72 69 63 65 5f 63 6f 75 6e 74 65 72 20 3d 20 3.:.4093;...int.price_counter.=.
40120 30 3b 09 09 2f 2f 20 63 6f 75 6e 74 65 72 73 20 6d 61 79 20 64 65 63 72 65 6d 65 6e 74 20 62 65 0;..//.counters.may.decrement.be
40140 6c 6f 77 20 30 0a 20 20 69 6e 74 20 64 69 73 5f 70 72 69 63 65 5f 63 6f 75 6e 74 65 72 20 3d 20 low.0...int.dis_price_counter.=.
40160 30 3b 0a 20 20 69 6e 74 20 61 6c 69 67 6e 5f 70 72 69 63 65 5f 63 6f 75 6e 74 65 72 20 3d 20 30 0;...int.align_price_counter.=.0
40180 3b 0a 20 20 69 6e 74 20 72 65 70 73 5b 6e 75 6d 5f 72 65 70 5f 64 69 73 74 61 6e 63 65 73 5d 3b ;...int.reps[num_rep_distances];
401a0 0a 20 20 53 74 61 74 65 20 73 74 61 74 65 3b 0a 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 ...State.state;...for(.int.i.=.0
401c0 3b 20 69 20 3c 20 6e 75 6d 5f 72 65 70 5f 64 69 73 74 61 6e 63 65 73 3b 20 2b 2b 69 20 29 20 72 ;.i.<.num_rep_distances;.++i.).r
401e0 65 70 73 5b 69 5d 20 3d 20 30 3b 0a 0a 20 20 69 66 28 20 64 61 74 61 5f 70 6f 73 69 74 69 6f 6e eps[i].=.0;....if(.data_position
40200 28 29 20 21 3d 20 30 20 7c 7c 20 72 65 6e 63 2e 6d 65 6d 62 65 72 5f 70 6f 73 69 74 69 6f 6e 28 ().!=.0.||.renc.member_position(
40220 29 20 21 3d 20 46 69 6c 65 5f 68 65 61 64 65 72 3a 3a 73 69 7a 65 20 29 0a 20 20 20 20 72 65 74 ).!=.File_header::size.).....ret
40240 75 72 6e 20 66 61 6c 73 65 3b 09 09 09 09 2f 2f 20 63 61 6e 20 62 65 20 63 61 6c 6c 65 64 20 6f urn.false;....//.can.be.called.o
40260 6e 6c 79 20 6f 6e 63 65 0a 0a 20 20 69 66 28 20 21 64 61 74 61 5f 66 69 6e 69 73 68 65 64 28 29 nly.once....if(.!data_finished()
40280 20 29 09 09 09 2f 2f 20 65 6e 63 6f 64 65 20 66 69 72 73 74 20 62 79 74 65 0a 20 20 20 20 7b 0a .)...//.encode.first.byte.....{.
402a0 20 20 20 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 70 72 65 76 5f 62 79 74 65 20 3d 20 30 3b ....const.uint8_t.prev_byte.=.0;
402c0 0a 20 20 20 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 63 75 72 5f 62 79 74 65 20 3d 20 70 65 .....const.uint8_t.cur_byte.=.pe
402e0 65 6b 28 20 30 20 29 3b 0a 20 20 20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d ek(.0.);.....renc.encode_bit(.bm
40300 5f 6d 61 74 63 68 5b 73 74 61 74 65 28 29 5d 5b 30 5d 2c 20 30 20 29 3b 0a 20 20 20 20 65 6e 63 _match[state()][0],.0.);.....enc
40320 6f 64 65 5f 6c 69 74 65 72 61 6c 28 20 70 72 65 76 5f 62 79 74 65 2c 20 63 75 72 5f 62 79 74 65 ode_literal(.prev_byte,.cur_byte
40340 20 29 3b 0a 20 20 20 20 63 72 63 33 32 2e 75 70 64 61 74 65 5f 62 79 74 65 28 20 63 72 63 5f 2c .);.....crc32.update_byte(.crc_,
40360 20 63 75 72 5f 62 79 74 65 20 29 3b 0a 20 20 20 20 67 65 74 5f 6d 61 74 63 68 5f 70 61 69 72 73 .cur_byte.);.....get_match_pairs
40380 28 29 3b 0a 20 20 20 20 6d 6f 76 65 5f 70 6f 73 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 77 68 69 ();.....move_pos();.....}....whi
403a0 6c 65 28 20 21 64 61 74 61 5f 66 69 6e 69 73 68 65 64 28 29 20 29 0a 20 20 20 20 7b 0a 20 20 20 le(.!data_finished().).....{....
403c0 20 69 66 28 20 70 72 69 63 65 5f 63 6f 75 6e 74 65 72 20 3c 3d 20 30 20 26 26 20 70 65 6e 64 69 .if(.price_counter.<=.0.&&.pendi
403e0 6e 67 5f 6e 75 6d 5f 70 61 69 72 73 20 3d 3d 20 30 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 ng_num_pairs.==.0.).......{.....
40400 20 20 70 72 69 63 65 5f 63 6f 75 6e 74 65 72 20 3d 20 70 72 69 63 65 5f 63 6f 75 6e 74 3b 09 2f ..price_counter.=.price_count;./
40420 2f 20 72 65 63 61 6c 63 75 6c 61 74 65 20 70 72 69 63 65 73 20 65 76 65 72 79 20 74 68 65 73 65 /.recalculate.prices.every.these
40440 20 62 79 74 65 73 0a 20 20 20 20 20 20 69 66 28 20 64 69 73 5f 70 72 69 63 65 5f 63 6f 75 6e 74 .bytes.......if(.dis_price_count
40460 65 72 20 3c 3d 20 30 20 29 0a 20 20 20 20 20 20 20 20 7b 20 64 69 73 5f 70 72 69 63 65 5f 63 6f er.<=.0.).........{.dis_price_co
40480 75 6e 74 65 72 20 3d 20 64 69 73 5f 70 72 69 63 65 5f 63 6f 75 6e 74 3b 20 75 70 64 61 74 65 5f unter.=.dis_price_count;.update_
404a0 64 69 73 74 61 6e 63 65 5f 70 72 69 63 65 73 28 29 3b 20 7d 0a 20 20 20 20 20 20 69 66 28 20 61 distance_prices();.}.......if(.a
404c0 6c 69 67 6e 5f 70 72 69 63 65 5f 63 6f 75 6e 74 65 72 20 3c 3d 20 30 20 29 0a 20 20 20 20 20 20 lign_price_counter.<=.0.).......
404e0 20 20 7b 0a 20 20 20 20 20 20 20 20 61 6c 69 67 6e 5f 70 72 69 63 65 5f 63 6f 75 6e 74 65 72 20 ..{.........align_price_counter.
40500 3d 20 61 6c 69 67 6e 5f 70 72 69 63 65 5f 63 6f 75 6e 74 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 =.align_price_count;.........for
40520 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 64 69 73 5f 61 6c 69 67 6e 5f 73 69 7a 65 3b (.int.i.=.0;.i.<.dis_align_size;
40540 20 2b 2b 69 20 29 0a 20 20 20 20 20 20 20 20 20 20 61 6c 69 67 6e 5f 70 72 69 63 65 73 5b 69 5d .++i.)...........align_prices[i]
40560 20 3d 20 70 72 69 63 65 5f 73 79 6d 62 6f 6c 5f 72 65 76 65 72 73 65 64 28 20 62 6d 5f 61 6c 69 .=.price_symbol_reversed(.bm_ali
40580 67 6e 2c 20 69 2c 20 64 69 73 5f 61 6c 69 67 6e 5f 62 69 74 73 20 29 3b 0a 20 20 20 20 20 20 20 gn,.i,.dis_align_bits.);........
405a0 20 7d 0a 20 20 20 20 20 20 6d 61 74 63 68 5f 6c 65 6e 5f 70 72 69 63 65 73 2e 75 70 64 61 74 65 .}.......match_len_prices.update
405c0 5f 70 72 69 63 65 73 28 29 3b 0a 20 20 20 20 20 20 72 65 70 5f 6c 65 6e 5f 70 72 69 63 65 73 2e _prices();.......rep_len_prices.
405e0 75 70 64 61 74 65 5f 70 72 69 63 65 73 28 29 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 69 6e update_prices();.......}......in
40600 74 20 61 68 65 61 64 20 3d 20 73 65 71 75 65 6e 63 65 5f 6f 70 74 69 6d 69 7a 65 72 28 20 72 65 t.ahead.=.sequence_optimizer(.re
40620 70 73 2c 20 73 74 61 74 65 20 29 3b 0a 20 20 20 20 70 72 69 63 65 5f 63 6f 75 6e 74 65 72 20 2d ps,.state.);.....price_counter.-
40640 3d 20 61 68 65 61 64 3b 0a 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 61 68 =.ahead;......for(.int.i.=.0;.ah
40660 65 61 64 20 3e 20 30 3b 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 69 ead.>.0;.).......{.......const.i
40680 6e 74 20 70 6f 73 5f 73 74 61 74 65 20 3d 20 28 20 64 61 74 61 5f 70 6f 73 69 74 69 6f 6e 28 29 nt.pos_state.=.(.data_position()
406a0 20 2d 20 61 68 65 61 64 20 29 20 26 20 70 6f 73 5f 73 74 61 74 65 5f 6d 61 73 6b 3b 0a 20 20 20 .-.ahead.).&.pos_state_mask;....
406c0 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 6c 65 6e 20 3d 20 74 72 69 61 6c 73 5b 69 5d 2e 70 72 69 ...const.int.len.=.trials[i].pri
406e0 63 65 3b 0a 20 20 20 20 20 20 69 6e 74 20 64 69 73 20 3d 20 74 72 69 61 6c 73 5b 69 5d 2e 64 69 ce;.......int.dis.=.trials[i].di
40700 73 34 3b 0a 0a 20 20 20 20 20 20 62 6f 6f 6c 20 62 69 74 20 3d 20 28 20 64 69 73 20 3c 20 30 20 s4;........bool.bit.=.(.dis.<.0.
40720 29 3b 0a 20 20 20 20 20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f 6d 61 74 );.......renc.encode_bit(.bm_mat
40740 63 68 5b 73 74 61 74 65 28 29 5d 5b 70 6f 73 5f 73 74 61 74 65 5d 2c 20 21 62 69 74 20 29 3b 0a ch[state()][pos_state],.!bit.);.
40760 20 20 20 20 20 20 69 66 28 20 62 69 74 20 29 09 09 09 09 09 2f 2f 20 6c 69 74 65 72 61 6c 20 62 ......if(.bit.).....//.literal.b
40780 79 74 65 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 75 69 6e 74 yte.........{.........const.uint
407a0 38 5f 74 20 70 72 65 76 5f 62 79 74 65 20 3d 20 70 65 65 6b 28 20 61 68 65 61 64 20 2b 20 31 20 8_t.prev_byte.=.peek(.ahead.+.1.
407c0 29 3b 0a 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 63 75 72 5f 62 79 74 );.........const.uint8_t.cur_byt
407e0 65 20 3d 20 70 65 65 6b 28 20 61 68 65 61 64 20 29 3b 0a 20 20 20 20 20 20 20 20 63 72 63 33 32 e.=.peek(.ahead.);.........crc32
40800 2e 75 70 64 61 74 65 5f 62 79 74 65 28 20 63 72 63 5f 2c 20 63 75 72 5f 62 79 74 65 20 29 3b 0a .update_byte(.crc_,.cur_byte.);.
40820 20 20 20 20 20 20 20 20 69 66 28 20 73 74 61 74 65 2e 69 73 5f 63 68 61 72 5f 73 65 74 5f 63 68 ........if(.state.is_char_set_ch
40840 61 72 28 29 20 29 0a 20 20 20 20 20 20 20 20 20 20 65 6e 63 6f 64 65 5f 6c 69 74 65 72 61 6c 28 ar().)...........encode_literal(
40860 20 70 72 65 76 5f 62 79 74 65 2c 20 63 75 72 5f 62 79 74 65 20 29 3b 0a 20 20 20 20 20 20 20 20 .prev_byte,.cur_byte.);.........
40880 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 else...........{...........const
408a0 20 75 69 6e 74 38 5f 74 20 6d 61 74 63 68 5f 62 79 74 65 20 3d 20 70 65 65 6b 28 20 61 68 65 61 .uint8_t.match_byte.=.peek(.ahea
408c0 64 20 2b 20 72 65 70 73 5b 30 5d 20 2b 20 31 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 65 6e 63 d.+.reps[0].+.1.);...........enc
408e0 6f 64 65 5f 6d 61 74 63 68 65 64 28 20 70 72 65 76 5f 62 79 74 65 2c 20 63 75 72 5f 62 79 74 65 ode_matched(.prev_byte,.cur_byte
40900 2c 20 6d 61 74 63 68 5f 62 79 74 65 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 ,.match_byte.);...........}.....
40920 20 20 20 20 7d 0a 20 20 20 20 20 20 65 6c 73 65 09 09 09 09 09 2f 2f 20 6d 61 74 63 68 20 6f 72 ....}.......else.....//.match.or
40940 20 72 65 70 65 61 74 65 64 20 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 .repeated.match.........{.......
40960 20 20 63 72 63 33 32 2e 75 70 64 61 74 65 5f 62 75 66 28 20 63 72 63 5f 2c 20 70 74 72 5f 74 6f ..crc32.update_buf(.crc_,.ptr_to
40980 5f 63 75 72 72 65 6e 74 5f 70 6f 73 28 29 20 2d 20 61 68 65 61 64 2c 20 6c 65 6e 20 29 3b 0a 20 _current_pos().-.ahead,.len.);..
409a0 20 20 20 20 20 20 20 6d 74 66 5f 72 65 70 73 28 20 64 69 73 2c 20 72 65 70 73 20 29 3b 0a 20 20 .......mtf_reps(.dis,.reps.);...
409c0 20 20 20 20 20 20 62 69 74 20 3d 20 28 20 64 69 73 20 3c 20 6e 75 6d 5f 72 65 70 5f 64 69 73 74 ......bit.=.(.dis.<.num_rep_dist
409e0 61 6e 63 65 73 20 29 3b 0a 20 20 20 20 20 20 20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f 62 69 74 ances.);.........renc.encode_bit
40a00 28 20 62 6d 5f 72 65 70 5b 73 74 61 74 65 28 29 5d 2c 20 62 69 74 20 29 3b 0a 20 20 20 20 20 20 (.bm_rep[state()],.bit.);.......
40a20 20 20 69 66 28 20 62 69 74 20 29 09 09 09 09 2f 2f 20 72 65 70 65 61 74 65 64 20 6d 61 74 63 68 ..if(.bit.)....//.repeated.match
40a40 0a 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 62 69 74 20 3d 20 28 20 64 ...........{...........bit.=.(.d
40a60 69 73 20 3d 3d 20 30 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 is.==.0.);...........renc.encode
40a80 5f 62 69 74 28 20 62 6d 5f 72 65 70 30 5b 73 74 61 74 65 28 29 5d 2c 20 21 62 69 74 20 29 3b 0a _bit(.bm_rep0[state()],.!bit.);.
40aa0 20 20 20 20 20 20 20 20 20 20 69 66 28 20 62 69 74 20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..........if(.bit.).............
40ac0 72 65 6e 63 2e 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f 6c 65 6e 5b 73 74 61 74 65 28 29 5d renc.encode_bit(.bm_len[state()]
40ae0 5b 70 6f 73 5f 73 74 61 74 65 5d 2c 20 6c 65 6e 20 3e 20 31 20 29 3b 0a 20 20 20 20 20 20 20 20 [pos_state],.len.>.1.);.........
40b00 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ..else.............{............
40b20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f 72 65 70 31 5b 73 74 61 74 65 28 .renc.encode_bit(.bm_rep1[state(
40b40 29 5d 2c 20 64 69 73 20 3e 20 31 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 28 20 64 )],.dis.>.1.);.............if(.d
40b60 69 73 20 3e 20 31 20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 6e 63 2e 65 6e 63 6f is.>.1.)...............renc.enco
40b80 64 65 5f 62 69 74 28 20 62 6d 5f 72 65 70 32 5b 73 74 61 74 65 28 29 5d 2c 20 64 69 73 20 3e 20 de_bit(.bm_rep2[state()],.dis.>.
40ba0 32 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 69 66 28 2.);.............}...........if(
40bc0 20 6c 65 6e 20 3d 3d 20 31 20 29 20 73 74 61 74 65 2e 73 65 74 5f 73 68 6f 72 74 5f 72 65 70 28 .len.==.1.).state.set_short_rep(
40be0 29 3b 0a 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a );...........else.............{.
40c00 20 20 20 20 20 20 20 20 20 20 20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f 6c 65 6e 28 20 72 65 70 ............renc.encode_len(.rep
40c20 5f 6c 65 6e 5f 6d 6f 64 65 6c 2c 20 6c 65 6e 2c 20 70 6f 73 5f 73 74 61 74 65 20 29 3b 0a 20 20 _len_model,.len,.pos_state.);...
40c40 20 20 20 20 20 20 20 20 20 20 72 65 70 5f 6c 65 6e 5f 70 72 69 63 65 73 2e 64 65 63 72 65 6d 65 ..........rep_len_prices.decreme
40c60 6e 74 5f 63 6f 75 6e 74 65 72 28 20 70 6f 73 5f 73 74 61 74 65 20 29 3b 0a 20 20 20 20 20 20 20 nt_counter(.pos_state.);........
40c80 20 20 20 20 20 73 74 61 74 65 2e 73 65 74 5f 72 65 70 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 .....state.set_rep();...........
40ca0 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 65 6c 73 65 09 09 09 09 ..}...........}.........else....
40cc0 09 2f 2f 20 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 .//.match...........{...........
40ce0 64 69 73 20 2d 3d 20 6e 75 6d 5f 72 65 70 5f 64 69 73 74 61 6e 63 65 73 3b 0a 20 20 20 20 20 20 dis.-=.num_rep_distances;.......
40d00 20 20 20 20 65 6e 63 6f 64 65 5f 70 61 69 72 28 20 64 69 73 2c 20 6c 65 6e 2c 20 70 6f 73 5f 73 ....encode_pair(.dis,.len,.pos_s
40d20 74 61 74 65 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 69 66 28 20 64 69 73 20 3e 3d 20 6d 6f 64 tate.);...........if(.dis.>=.mod
40d40 65 6c 65 64 5f 64 69 73 74 61 6e 63 65 73 20 29 20 2d 2d 61 6c 69 67 6e 5f 70 72 69 63 65 5f 63 eled_distances.).--align_price_c
40d60 6f 75 6e 74 65 72 3b 0a 20 20 20 20 20 20 20 20 20 20 2d 2d 64 69 73 5f 70 72 69 63 65 5f 63 6f ounter;...........--dis_price_co
40d80 75 6e 74 65 72 3b 0a 20 20 20 20 20 20 20 20 20 20 6d 61 74 63 68 5f 6c 65 6e 5f 70 72 69 63 65 unter;...........match_len_price
40da0 73 2e 64 65 63 72 65 6d 65 6e 74 5f 63 6f 75 6e 74 65 72 28 20 70 6f 73 5f 73 74 61 74 65 20 29 s.decrement_counter(.pos_state.)
40dc0 3b 0a 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 2e 73 65 74 5f 6d 61 74 63 68 28 29 3b 0a 20 ;...........state.set_match();..
40de0 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 61 68 65 61 64 .........}.........}.......ahead
40e00 20 2d 3d 20 6c 65 6e 3b 20 69 20 2b 3d 20 6c 65 6e 3b 0a 20 20 20 20 20 20 69 66 28 20 72 65 6e .-=.len;.i.+=.len;.......if(.ren
40e20 63 2e 6d 65 6d 62 65 72 5f 70 6f 73 69 74 69 6f 6e 28 29 20 3e 3d 20 6d 65 6d 62 65 72 5f 73 69 c.member_position().>=.member_si
40e40 7a 65 5f 6c 69 6d 69 74 20 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 28 ze_limit.).........{.........if(
40e60 20 21 64 65 63 5f 70 6f 73 28 20 61 68 65 61 64 20 29 20 29 20 72 65 74 75 72 6e 20 66 61 6c 73 .!dec_pos(.ahead.).).return.fals
40e80 65 3b 0a 20 20 20 20 20 20 20 20 66 75 6c 6c 5f 66 6c 75 73 68 28 20 73 74 61 74 65 20 29 3b 0a e;.........full_flush(.state.);.
40ea0 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 ........return.true;.........}..
40ec0 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 66 75 6c 6c 5f 66 6c 75 73 68 28 20 73 74 61 74 65 .....}.....}...full_flush(.state
40ee0 20 29 3b 0a 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 7d 0a 00 00 00 00 00 00 00 00 00 .);...return.true;...}..........
40f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41000 6c 7a 69 70 2d 31 2e 32 30 2f 6c 69 73 74 2e 63 63 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 lzip-1.20/list.cc...............
41020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
41080 30 30 31 30 34 30 34 00 31 33 36 36 34 37 33 36 35 34 35 00 30 31 34 30 34 36 00 20 30 00 00 00 0010404.13664736545.014046..0...
410a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
410c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
410e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41100 00 75 73 74 61 72 20 20 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...mohammad...............
41120 00 00 00 00 00 00 00 00 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........mohammad...............
41140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
411a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
411c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
411e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41200 2f 2a 20 20 4c 7a 69 70 20 2d 20 4c 5a 4d 41 20 6c 6f 73 73 6c 65 73 73 20 64 61 74 61 20 63 6f /*..Lzip.-.LZMA.lossless.data.co
41220 6d 70 72 65 73 73 6f 72 0a 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d mpressor.....Copyright.(C).2008-
41240 32 30 31 38 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 20 54 68 69 2018.Antonio.Diaz.Diaz.......Thi
41260 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 s.program.is.free.software:.you.
41280 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 can.redistribute.it.and/or.modif
412a0 79 0a 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 y.....it.under.the.terms.of.the.
412c0 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 GNU.General.Public.License.as.pu
412e0 62 6c 69 73 68 65 64 20 62 79 0a 20 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 blished.by.....the.Free.Software
41300 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 .Foundation,.either.version.2.of
41320 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 .the.License,.or.....(at.your.op
41340 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 20 54 68 tion).any.later.version.......Th
41360 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 is.program.is.distributed.in.the
41380 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 20 .hope.that.it.will.be.useful,...
413a0 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 ..but.WITHOUT.ANY.WARRANTY;.with
413c0 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 out.even.the.implied.warranty.of
413e0 0a 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 .....MERCHANTABILITY.or.FITNESS.
41400 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 FOR.A.PARTICULAR.PURPOSE...See.t
41420 68 65 0a 20 20 20 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 he.....GNU.General.Public.Licens
41440 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 20 59 6f 75 20 73 68 6f e.for.more.details.......You.sho
41460 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 uld.have.received.a.copy.of.the.
41480 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 20 61 GNU.General.Public.License.....a
414a0 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c long.with.this.program...If.not,
414c0 20 73 65 65 20 3c 68 74 74 70 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 .see.<http://www.gnu.org/license
414e0 73 2f 3e 2e 0a 2a 2f 0a 0a 23 64 65 66 69 6e 65 20 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 s/>..*/..#define._FILE_OFFSET_BI
41500 54 53 20 36 34 0a 0a 23 69 6e 63 6c 75 64 65 20 3c 63 73 74 64 69 6f 3e 0a 23 69 6e 63 6c 75 64 TS.64..#include.<cstdio>.#includ
41520 65 20 3c 63 73 74 72 69 6e 67 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 73 74 72 69 6e 67 3e 0a 23 69 e.<cstring>.#include.<string>.#i
41540 6e 63 6c 75 64 65 20 3c 76 65 63 74 6f 72 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6e 74 nclude.<vector>.#include.<stdint
41560 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 64 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 .h>.#include.<unistd.h>.#include
41580 20 3c 73 79 73 2f 73 74 61 74 2e 68 3e 0a 0a 23 69 6e 63 6c 75 64 65 20 22 6c 7a 69 70 2e 68 22 .<sys/stat.h>..#include."lzip.h"
415a0 0a 23 69 6e 63 6c 75 64 65 20 22 66 69 6c 65 5f 69 6e 64 65 78 2e 68 22 0a 0a 0a 6e 61 6d 65 73 .#include."file_index.h"...names
415c0 70 61 63 65 20 7b 0a 0a 76 6f 69 64 20 6c 69 73 74 5f 6c 69 6e 65 28 20 63 6f 6e 73 74 20 75 6e pace.{..void.list_line(.const.un
415e0 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 75 6e 63 6f 6d 70 5f 73 69 7a 65 2c 0a 20 20 signed.long.long.uncomp_size,...
41600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e ..............const.unsigned.lon
41620 67 20 6c 6f 6e 67 20 63 6f 6d 70 5f 73 69 7a 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 g.long.comp_size,...............
41640 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 69 6e 70 75 74 5f 66 69 6c 65 6e ..const.char.*.const.input_filen
41660 61 6d 65 20 29 0a 20 20 7b 0a 20 20 69 66 28 20 75 6e 63 6f 6d 70 5f 73 69 7a 65 20 3e 20 30 20 ame.)...{...if(.uncomp_size.>.0.
41680 29 0a 20 20 20 20 73 74 64 3a 3a 70 72 69 6e 74 66 28 20 22 25 31 35 6c 6c 75 20 25 31 35 6c 6c ).....std::printf(."%15llu.%15ll
416a0 75 20 25 36 2e 32 66 25 25 20 20 25 73 5c 6e 22 2c 20 75 6e 63 6f 6d 70 5f 73 69 7a 65 2c 20 63 u.%6.2f%%..%s\n",.uncomp_size,.c
416c0 6f 6d 70 5f 73 69 7a 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31 30 30 2e omp_size,...................100.
416e0 30 20 2d 20 28 20 28 20 31 30 30 2e 30 20 2a 20 63 6f 6d 70 5f 73 69 7a 65 20 29 20 2f 20 75 6e 0.-.(.(.100.0.*.comp_size.)./.un
41700 63 6f 6d 70 5f 73 69 7a 65 20 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 comp_size.),...................i
41720 6e 70 75 74 5f 66 69 6c 65 6e 61 6d 65 20 29 3b 0a 20 20 65 6c 73 65 0a 20 20 20 20 73 74 64 3a nput_filename.);...else.....std:
41740 3a 70 72 69 6e 74 66 28 20 22 25 31 35 6c 6c 75 20 25 31 35 6c 6c 75 20 20 20 2d 49 4e 46 25 25 :printf(."%15llu.%15llu...-INF%%
41760 20 20 25 73 5c 6e 22 2c 20 75 6e 63 6f 6d 70 5f 73 69 7a 65 2c 20 63 6f 6d 70 5f 73 69 7a 65 2c ..%s\n",.uncomp_size,.comp_size,
41780 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 5f 66 69 6c 65 6e 61 6d ...................input_filenam
417a0 65 20 29 3b 0a 20 20 7d 0a 0a 7d 20 2f 2f 20 65 6e 64 20 6e 61 6d 65 73 70 61 63 65 0a 0a 0a 69 e.);...}..}.//.end.namespace...i
417c0 6e 74 20 6c 69 73 74 5f 66 69 6c 65 73 28 20 63 6f 6e 73 74 20 73 74 64 3a 3a 76 65 63 74 6f 72 nt.list_files(.const.std::vector
417e0 3c 20 73 74 64 3a 3a 73 74 72 69 6e 67 20 3e 20 26 20 66 69 6c 65 6e 61 6d 65 73 2c 0a 20 20 20 <.std::string.>.&.filenames,....
41800 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 69 67 6e 6f 72 65 5f 74 .............const.bool.ignore_t
41820 72 61 69 6c 69 6e 67 2c 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 6c 6f 6f 73 65 5f 74 72 61 69 6c 69 railing,.const.bool.loose_traili
41840 6e 67 20 29 0a 20 20 7b 0a 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 74 6f ng.)...{...unsigned.long.long.to
41860 74 61 6c 5f 63 6f 6d 70 20 3d 20 30 2c 20 74 6f 74 61 6c 5f 75 6e 63 6f 6d 70 20 3d 20 30 3b 0a tal_comp.=.0,.total_uncomp.=.0;.
41880 20 20 69 6e 74 20 66 69 6c 65 73 20 3d 20 30 2c 20 72 65 74 76 61 6c 20 3d 20 30 3b 0a 20 20 62 ..int.files.=.0,.retval.=.0;...b
418a0 6f 6f 6c 20 66 69 72 73 74 5f 70 6f 73 74 20 3d 20 74 72 75 65 3b 0a 20 20 62 6f 6f 6c 20 73 74 ool.first_post.=.true;...bool.st
418c0 64 69 6e 5f 75 73 65 64 20 3d 20 66 61 6c 73 65 3b 0a 20 20 66 6f 72 28 20 75 6e 73 69 67 6e 65 din_used.=.false;...for(.unsigne
418e0 64 20 69 20 3d 20 30 3b 20 69 20 3c 20 66 69 6c 65 6e 61 6d 65 73 2e 73 69 7a 65 28 29 3b 20 2b d.i.=.0;.i.<.filenames.size();.+
41900 2b 69 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 66 72 6f 6d 5f 73 +i.).....{.....const.bool.from_s
41920 74 64 69 6e 20 3d 20 28 20 66 69 6c 65 6e 61 6d 65 73 5b 69 5d 20 3d 3d 20 22 2d 22 20 29 3b 0a tdin.=.(.filenames[i].==."-".);.
41940 20 20 20 20 69 66 28 20 66 72 6f 6d 5f 73 74 64 69 6e 20 29 20 7b 20 69 66 28 20 73 74 64 69 6e ....if(.from_stdin.).{.if(.stdin
41960 5f 75 73 65 64 20 29 20 63 6f 6e 74 69 6e 75 65 3b 20 65 6c 73 65 20 73 74 64 69 6e 5f 75 73 65 _used.).continue;.else.stdin_use
41980 64 20 3d 20 74 72 75 65 3b 20 7d 0a 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e d.=.true;.}.....const.char.*.con
419a0 73 74 20 69 6e 70 75 74 5f 66 69 6c 65 6e 61 6d 65 20 3d 0a 20 20 20 20 20 20 66 72 6f 6d 5f 73 st.input_filename.=.......from_s
419c0 74 64 69 6e 20 3f 20 22 28 73 74 64 69 6e 29 22 20 3a 20 66 69 6c 65 6e 61 6d 65 73 5b 69 5d 2e tdin.?."(stdin)".:.filenames[i].
419e0 63 5f 73 74 72 28 29 3b 0a 20 20 20 20 73 74 72 75 63 74 20 73 74 61 74 20 69 6e 5f 73 74 61 74 c_str();.....struct.stat.in_stat
41a00 73 3b 09 09 09 09 2f 2f 20 6e 6f 74 20 75 73 65 64 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 s;....//.not.used.....const.int.
41a20 69 6e 66 64 20 3d 20 66 72 6f 6d 5f 73 74 64 69 6e 20 3f 20 53 54 44 49 4e 5f 46 49 4c 45 4e 4f infd.=.from_stdin.?.STDIN_FILENO
41a40 20 3a 0a 20 20 20 20 20 20 6f 70 65 6e 5f 69 6e 73 74 72 65 61 6d 28 20 69 6e 70 75 74 5f 66 69 .:.......open_instream(.input_fi
41a60 6c 65 6e 61 6d 65 2c 20 26 69 6e 5f 73 74 61 74 73 2c 20 74 72 75 65 2c 20 74 72 75 65 20 29 3b lename,.&in_stats,.true,.true.);
41a80 0a 20 20 20 20 69 66 28 20 69 6e 66 64 20 3c 20 30 20 29 20 7b 20 69 66 28 20 72 65 74 76 61 6c .....if(.infd.<.0.).{.if(.retval
41aa0 20 3c 20 31 20 29 20 72 65 74 76 61 6c 20 3d 20 31 3b 20 63 6f 6e 74 69 6e 75 65 3b 20 7d 0a 0a .<.1.).retval.=.1;.continue;.}..
41ac0 20 20 20 20 63 6f 6e 73 74 20 46 69 6c 65 5f 69 6e 64 65 78 20 66 69 6c 65 5f 69 6e 64 65 78 28 ....const.File_index.file_index(
41ae0 20 69 6e 66 64 2c 20 69 67 6e 6f 72 65 5f 74 72 61 69 6c 69 6e 67 2c 20 6c 6f 6f 73 65 5f 74 72 .infd,.ignore_trailing,.loose_tr
41b00 61 69 6c 69 6e 67 20 29 3b 0a 20 20 20 20 63 6c 6f 73 65 28 20 69 6e 66 64 20 29 3b 0a 20 20 20 ailing.);.....close(.infd.);....
41b20 20 69 66 28 20 66 69 6c 65 5f 69 6e 64 65 78 2e 72 65 74 76 61 6c 28 29 20 21 3d 20 30 20 29 0a .if(.file_index.retval().!=.0.).
41b40 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 73 68 6f 77 5f 66 69 6c 65 5f 65 72 72 6f 72 28 20 69 ......{.......show_file_error(.i
41b60 6e 70 75 74 5f 66 69 6c 65 6e 61 6d 65 2c 20 66 69 6c 65 5f 69 6e 64 65 78 2e 65 72 72 6f 72 28 nput_filename,.file_index.error(
41b80 29 2e 63 5f 73 74 72 28 29 20 29 3b 0a 20 20 20 20 20 20 69 66 28 20 72 65 74 76 61 6c 20 3c 20 ).c_str().);.......if(.retval.<.
41ba0 66 69 6c 65 5f 69 6e 64 65 78 2e 72 65 74 76 61 6c 28 29 20 29 20 72 65 74 76 61 6c 20 3d 20 66 file_index.retval().).retval.=.f
41bc0 69 6c 65 5f 69 6e 64 65 78 2e 72 65 74 76 61 6c 28 29 3b 0a 20 20 20 20 20 20 63 6f 6e 74 69 6e ile_index.retval();.......contin
41be0 75 65 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 69 66 28 20 76 65 72 62 6f 73 69 74 79 20 3e 3d ue;.......}.....if(.verbosity.>=
41c00 20 30 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 .0.).......{.......const.unsigne
41c20 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 75 64 61 74 61 5f 73 69 7a 65 20 3d 20 66 69 6c 65 5f 69 6e d.long.long.udata_size.=.file_in
41c40 64 65 78 2e 75 64 61 74 61 5f 73 69 7a 65 28 29 3b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 75 6e dex.udata_size();.......const.un
41c60 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 63 64 61 74 61 5f 73 69 7a 65 20 3d 20 66 69 signed.long.long.cdata_size.=.fi
41c80 6c 65 5f 69 6e 64 65 78 2e 63 64 61 74 61 5f 73 69 7a 65 28 29 3b 0a 20 20 20 20 20 20 74 6f 74 le_index.cdata_size();.......tot
41ca0 61 6c 5f 63 6f 6d 70 20 2b 3d 20 63 64 61 74 61 5f 73 69 7a 65 3b 20 74 6f 74 61 6c 5f 75 6e 63 al_comp.+=.cdata_size;.total_unc
41cc0 6f 6d 70 20 2b 3d 20 75 64 61 74 61 5f 73 69 7a 65 3b 20 2b 2b 66 69 6c 65 73 3b 0a 20 20 20 20 omp.+=.udata_size;.++files;.....
41ce0 20 20 69 66 28 20 66 69 72 73 74 5f 70 6f 73 74 20 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 ..if(.first_post.).........{....
41d00 20 20 20 20 20 66 69 72 73 74 5f 70 6f 73 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 .....first_post.=.false;........
41d20 20 69 66 28 20 76 65 72 62 6f 73 69 74 79 20 3e 3d 20 31 20 29 20 73 74 64 3a 3a 66 70 75 74 73 .if(.verbosity.>=.1.).std::fputs
41d40 28 20 22 20 20 20 64 69 63 74 20 20 20 6d 65 6d 62 20 20 74 72 61 69 6c 20 22 2c 20 73 74 64 6f (."...dict...memb..trail.",.stdo
41d60 75 74 20 29 3b 0a 20 20 20 20 20 20 20 20 73 74 64 3a 3a 66 70 75 74 73 28 20 22 20 20 20 75 6e ut.);.........std::fputs(."...un
41d80 63 6f 6d 70 72 65 73 73 65 64 20 20 20 20 20 20 63 6f 6d 70 72 65 73 73 65 64 20 20 20 73 61 76 compressed......compressed...sav
41da0 65 64 20 20 6e 61 6d 65 5c 6e 22 2c 20 73 74 64 6f 75 74 20 29 3b 0a 20 20 20 20 20 20 20 20 7d ed..name\n",.stdout.);.........}
41dc0 0a 20 20 20 20 20 20 69 66 28 20 76 65 72 62 6f 73 69 74 79 20 3e 3d 20 31 20 29 0a 20 20 20 20 .......if(.verbosity.>=.1.).....
41de0 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 75 6e 73 69 67 6e 65 64 20 64 69 63 74 69 6f 6e 61 72 ....{.........unsigned.dictionar
41e00 79 5f 73 69 7a 65 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 28 20 6c 6f 6e 67 20 69 20 y_size.=.0;.........for(.long.i.
41e20 3d 20 30 3b 20 69 20 3c 20 66 69 6c 65 5f 69 6e 64 65 78 2e 6d 65 6d 62 65 72 73 28 29 3b 20 2b =.0;.i.<.file_index.members();.+
41e40 2b 69 20 29 0a 20 20 20 20 20 20 20 20 20 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 3d +i.)...........dictionary_size.=
41e60 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 74 64 3a 3a 6d 61 78 28 20 64 69 63 74 69 6f 6e 61 72 .............std::max(.dictionar
41e80 79 5f 73 69 7a 65 2c 20 66 69 6c 65 5f 69 6e 64 65 78 2e 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 y_size,.file_index.dictionary_si
41ea0 7a 65 28 20 69 20 29 20 29 3b 0a 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 6c 6f 6e 67 20 6c 6f ze(.i.).);.........const.long.lo
41ec0 6e 67 20 74 72 61 69 6c 69 6e 67 5f 73 69 7a 65 20 3d 20 66 69 6c 65 5f 69 6e 64 65 78 2e 66 69 ng.trailing_size.=.file_index.fi
41ee0 6c 65 5f 73 69 7a 65 28 29 20 2d 20 63 64 61 74 61 5f 73 69 7a 65 3b 0a 20 20 20 20 20 20 20 20 le_size().-.cdata_size;.........
41f00 73 74 64 3a 3a 70 72 69 6e 74 66 28 20 22 25 73 20 25 35 6c 64 20 25 36 6c 6c 64 20 22 2c 20 66 std::printf(."%s.%5ld.%6lld.",.f
41f20 6f 72 6d 61 74 5f 64 73 28 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 2c 0a 20 20 20 ormat_ds(.dictionary_size.),....
41f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6c 65 5f 69 6e 64 65 78 2e 6d 65 6d ..................file_index.mem
41f60 62 65 72 73 28 29 2c 20 74 72 61 69 6c 69 6e 67 5f 73 69 7a 65 20 29 3b 0a 20 20 20 20 20 20 20 bers(),.trailing_size.);........
41f80 20 7d 0a 20 20 20 20 20 20 6c 69 73 74 5f 6c 69 6e 65 28 20 75 64 61 74 61 5f 73 69 7a 65 2c 20 .}.......list_line(.udata_size,.
41fa0 63 64 61 74 61 5f 73 69 7a 65 2c 20 69 6e 70 75 74 5f 66 69 6c 65 6e 61 6d 65 20 29 3b 0a 0a 20 cdata_size,.input_filename.);...
41fc0 20 20 20 20 20 69 66 28 20 76 65 72 62 6f 73 69 74 79 20 3e 3d 20 32 20 26 26 20 66 69 6c 65 5f .....if(.verbosity.>=.2.&&.file_
41fe0 69 6e 64 65 78 2e 6d 65 6d 62 65 72 73 28 29 20 3e 20 31 20 29 0a 20 20 20 20 20 20 20 20 7b 0a index.members().>.1.).........{.
42000 20 20 20 20 20 20 20 20 73 74 64 3a 3a 66 70 75 74 73 28 20 22 20 6d 65 6d 62 65 72 20 20 20 20 ........std::fputs(.".member....
42020 20 20 64 61 74 61 5f 70 6f 73 20 20 20 20 20 20 20 64 61 74 61 5f 73 69 7a 65 20 20 20 20 20 20 ..data_pos.......data_size......
42040 6d 65 6d 62 65 72 5f 70 6f 73 20 20 20 20 20 6d 65 6d 62 65 72 5f 73 69 7a 65 5c 6e 22 2c 20 73 member_pos.....member_size\n",.s
42060 74 64 6f 75 74 20 29 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 28 20 6c 6f 6e 67 20 69 20 3d 20 30 tdout.);.........for(.long.i.=.0
42080 3b 20 69 20 3c 20 66 69 6c 65 5f 69 6e 64 65 78 2e 6d 65 6d 62 65 72 73 28 29 3b 20 2b 2b 69 20 ;.i.<.file_index.members();.++i.
420a0 29 0a 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 42 6c )...........{...........const.Bl
420c0 6f 63 6b 20 26 20 64 62 20 3d 20 66 69 6c 65 5f 69 6e 64 65 78 2e 64 62 6c 6f 63 6b 28 20 69 20 ock.&.db.=.file_index.dblock(.i.
420e0 29 3b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 42 6c 6f 63 6b 20 26 20 6d 62 20 3d 20 );...........const.Block.&.mb.=.
42100 66 69 6c 65 5f 69 6e 64 65 78 2e 6d 62 6c 6f 63 6b 28 20 69 20 29 3b 0a 20 20 20 20 20 20 20 20 file_index.mblock(.i.);.........
42120 20 20 73 74 64 3a 3a 70 72 69 6e 74 66 28 20 22 25 35 6c 64 20 25 31 35 6c 6c 75 20 25 31 35 6c ..std::printf(."%5ld.%15llu.%15l
42140 6c 75 20 25 31 35 6c 6c 75 20 25 31 35 6c 6c 75 5c 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 lu.%15llu.%15llu\n",............
42160 20 20 20 20 20 20 20 20 20 20 20 20 69 20 2b 20 31 2c 20 64 62 2e 70 6f 73 28 29 2c 20 64 62 2e ............i.+.1,.db.pos(),.db.
42180 73 69 7a 65 28 29 2c 20 6d 62 2e 70 6f 73 28 29 2c 20 6d 62 2e 73 69 7a 65 28 29 20 29 3b 0a 20 size(),.mb.pos(),.mb.size().);..
421a0 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 66 69 72 73 74 5f 70 6f 73 74 20 3d 20 .........}.........first_post.=.
421c0 74 72 75 65 3b 09 2f 2f 20 72 65 70 72 69 6e 74 20 68 65 61 64 69 6e 67 20 61 66 74 65 72 20 6c true;.//.reprint.heading.after.l
421e0 69 73 74 20 6f 66 20 6d 65 6d 62 65 72 73 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 73 ist.of.members.........}.......s
42200 74 64 3a 3a 66 66 6c 75 73 68 28 20 73 74 64 6f 75 74 20 29 3b 0a 20 20 20 20 20 20 7d 0a 20 20 td::fflush(.stdout.);.......}...
42220 20 20 7d 0a 20 20 69 66 28 20 76 65 72 62 6f 73 69 74 79 20 3e 3d 20 30 20 26 26 20 66 69 6c 65 ..}...if(.verbosity.>=.0.&&.file
42240 73 20 3e 20 31 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 76 65 72 62 6f 73 69 74 79 20 s.>.1.).....{.....if(.verbosity.
42260 3e 3d 20 31 20 29 20 73 74 64 3a 3a 66 70 75 74 73 28 20 22 20 20 20 20 20 20 20 20 20 20 20 20 >=.1.).std::fputs(."............
42280 20 20 20 20 20 20 20 20 20 20 22 2c 20 73 74 64 6f 75 74 20 29 3b 0a 20 20 20 20 6c 69 73 74 5f ..........",.stdout.);.....list_
422a0 6c 69 6e 65 28 20 74 6f 74 61 6c 5f 75 6e 63 6f 6d 70 2c 20 74 6f 74 61 6c 5f 63 6f 6d 70 2c 20 line(.total_uncomp,.total_comp,.
422c0 22 28 74 6f 74 61 6c 73 29 22 20 29 3b 0a 20 20 20 20 73 74 64 3a 3a 66 66 6c 75 73 68 28 20 73 "(totals)".);.....std::fflush(.s
422e0 74 64 6f 75 74 20 29 3b 0a 20 20 20 20 7d 0a 20 20 72 65 74 75 72 6e 20 72 65 74 76 61 6c 3b 0a tdout.);.....}...return.retval;.
42300 20 20 7d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ..}.............................
42320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
423a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
423c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
423e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42400 6c 7a 69 70 2d 31 2e 32 30 2f 41 55 54 48 4f 52 53 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 lzip-1.20/AUTHORS...............
42420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
42480 30 30 30 30 35 35 36 00 31 33 36 36 34 37 33 36 35 34 35 00 30 31 33 36 34 33 00 20 30 00 00 00 0000556.13664736545.013643..0...
424a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
424c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
424e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42500 00 75 73 74 61 72 20 20 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...mohammad...............
42520 00 00 00 00 00 00 00 00 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........mohammad...............
42540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
425a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
425c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
425e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42600 4c 7a 69 70 20 77 61 73 20 77 72 69 74 74 65 6e 20 62 79 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a Lzip.was.written.by.Antonio.Diaz
42620 20 44 69 61 7a 2e 0a 0a 54 68 65 20 69 64 65 61 73 20 65 6d 62 6f 64 69 65 64 20 69 6e 20 6c 7a .Diaz...The.ideas.embodied.in.lz
42640 69 70 20 61 72 65 20 64 75 65 20 74 6f 20 28 61 74 20 6c 65 61 73 74 29 20 74 68 65 20 66 6f 6c ip.are.due.to.(at.least).the.fol
42660 6c 6f 77 69 6e 67 20 70 65 6f 70 6c 65 3a 0a 41 62 72 61 68 61 6d 20 4c 65 6d 70 65 6c 20 61 6e lowing.people:.Abraham.Lempel.an
42680 64 20 4a 61 63 6f 62 20 5a 69 76 20 28 66 6f 72 20 74 68 65 20 4c 5a 20 61 6c 67 6f 72 69 74 68 d.Jacob.Ziv.(for.the.LZ.algorith
426a0 6d 29 2c 20 41 6e 64 72 65 79 20 4d 61 72 6b 6f 76 20 28 66 6f 72 0a 74 68 65 20 64 65 66 69 6e m),.Andrey.Markov.(for.the.defin
426c0 69 74 69 6f 6e 20 6f 66 20 4d 61 72 6b 6f 76 20 63 68 61 69 6e 73 29 2c 20 47 2e 4e 2e 4e 2e 20 ition.of.Markov.chains),.G.N.N..
426e0 4d 61 72 74 69 6e 20 28 66 6f 72 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 0a 72 61 Martin.(for.the.definition.of.ra
42700 6e 67 65 20 65 6e 63 6f 64 69 6e 67 29 2c 20 49 67 6f 72 20 50 61 76 6c 6f 76 20 28 66 6f 72 20 nge.encoding),.Igor.Pavlov.(for.
42720 70 75 74 74 69 6e 67 20 61 6c 6c 20 74 68 65 20 61 62 6f 76 65 20 74 6f 67 65 74 68 65 72 20 69 putting.all.the.above.together.i
42740 6e 0a 4c 5a 4d 41 29 2c 20 61 6e 64 20 4a 75 6c 69 61 6e 20 53 65 77 61 72 64 20 28 66 6f 72 20 n.LZMA),.and.Julian.Seward.(for.
42760 62 7a 69 70 32 27 73 20 43 4c 49 29 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 bzip2's.CLI)....................
42780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
427a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
427c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
427e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42800 6c 7a 69 70 2d 31 2e 32 30 2f 61 72 67 5f 70 61 72 73 65 72 2e 68 00 00 00 00 00 00 00 00 00 00 lzip-1.20/arg_parser.h..........
42820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42860 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
42880 30 30 30 37 30 30 30 00 31 33 36 36 34 37 33 36 35 34 35 00 30 31 35 30 36 30 00 20 30 00 00 00 0007000.13664736545.015060..0...
428a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
428c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
428e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42900 00 75 73 74 61 72 20 20 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...mohammad...............
42920 00 00 00 00 00 00 00 00 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........mohammad...............
42940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
429a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
429c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
429e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42a00 2f 2a 20 20 41 72 67 5f 70 61 72 73 65 72 20 2d 20 50 4f 53 49 58 2f 47 4e 55 20 63 6f 6d 6d 61 /*..Arg_parser.-.POSIX/GNU.comma
42a20 6e 64 20 6c 69 6e 65 20 61 72 67 75 6d 65 6e 74 20 70 61 72 73 65 72 2e 20 28 43 2b 2b 20 76 65 nd.line.argument.parser..(C++.ve
42a40 72 73 69 6f 6e 29 0a 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 36 2d 32 30 rsion).....Copyright.(C).2006-20
42a60 31 38 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 20 54 68 69 73 20 18.Antonio.Diaz.Diaz.......This.
42a80 6c 69 62 72 61 72 79 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 2e 20 52 65 64 69 73 74 library.is.free.software..Redist
42aa0 72 69 62 75 74 69 6f 6e 20 61 6e 64 20 75 73 65 20 69 6e 20 73 6f 75 72 63 65 20 61 6e 64 0a 20 ribution.and.use.in.source.and..
42ac0 20 20 20 62 69 6e 61 72 79 20 66 6f 72 6d 73 2c 20 77 69 74 68 20 6f 72 20 77 69 74 68 6f 75 74 ...binary.forms,.with.or.without
42ae0 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 2c 20 61 72 65 20 70 65 72 6d 69 74 74 65 64 20 70 72 6f .modification,.are.permitted.pro
42b00 76 69 64 65 64 0a 20 20 20 20 74 68 61 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e vided.....that.the.following.con
42b20 64 69 74 69 6f 6e 73 20 61 72 65 20 6d 65 74 3a 0a 0a 20 20 20 20 31 2e 20 52 65 64 69 73 74 72 ditions.are.met:......1..Redistr
42b40 69 62 75 74 69 6f 6e 73 20 6f 66 20 73 6f 75 72 63 65 20 63 6f 64 65 20 6d 75 73 74 20 72 65 74 ibutions.of.source.code.must.ret
42b60 61 69 6e 20 74 68 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 67 68 74 0a 20 20 20 20 6e 6f 74 69 ain.the.above.copyright.....noti
42b80 63 65 2c 20 74 68 69 73 20 6c 69 73 74 20 6f 66 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 6e 64 20 ce,.this.list.of.conditions.and.
42ba0 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 64 69 73 63 6c 61 69 6d 65 72 2e 0a 0a 20 20 20 20 32 the.following.disclaimer.......2
42bc0 2e 20 52 65 64 69 73 74 72 69 62 75 74 69 6f 6e 73 20 69 6e 20 62 69 6e 61 72 79 20 66 6f 72 6d ..Redistributions.in.binary.form
42be0 20 6d 75 73 74 20 72 65 70 72 6f 64 75 63 65 20 74 68 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 .must.reproduce.the.above.copyri
42c00 67 68 74 0a 20 20 20 20 6e 6f 74 69 63 65 2c 20 74 68 69 73 20 6c 69 73 74 20 6f 66 20 63 6f 6e ght.....notice,.this.list.of.con
42c20 64 69 74 69 6f 6e 73 20 61 6e 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 64 69 73 63 6c 61 ditions.and.the.following.discla
42c40 69 6d 65 72 20 69 6e 20 74 68 65 0a 20 20 20 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 61 6e imer.in.the.....documentation.an
42c60 64 2f 6f 72 20 6f 74 68 65 72 20 6d 61 74 65 72 69 61 6c 73 20 70 72 6f 76 69 64 65 64 20 77 69 d/or.other.materials.provided.wi
42c80 74 68 20 74 68 65 20 64 69 73 74 72 69 62 75 74 69 6f 6e 2e 0a 0a 20 20 20 20 54 68 69 73 20 6c th.the.distribution.......This.l
42ca0 69 62 72 61 72 79 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 ibrary.is.distributed.in.the.hop
42cc0 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 20 20 20 62 75 e.that.it.will.be.useful,.....bu
42ce0 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 t.WITHOUT.ANY.WARRANTY;.without.
42d00 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 20 20 20 even.the.implied.warranty.of....
42d20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 .MERCHANTABILITY.or.FITNESS.FOR.
42d40 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 0a 2a 2f 0a 0a 2f 2a 20 20 41 72 A.PARTICULAR.PURPOSE..*/../*..Ar
42d60 67 5f 70 61 72 73 65 72 20 72 65 61 64 73 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 69 6e 20 g_parser.reads.the.arguments.in.
42d80 27 61 72 67 76 27 20 61 6e 64 20 63 72 65 61 74 65 73 20 61 20 6e 75 6d 62 65 72 20 6f 66 0a 20 'argv'.and.creates.a.number.of..
42da0 20 20 20 6f 70 74 69 6f 6e 20 63 6f 64 65 73 2c 20 6f 70 74 69 6f 6e 20 61 72 67 75 6d 65 6e 74 ...option.codes,.option.argument
42dc0 73 20 61 6e 64 20 6e 6f 6e 2d 6f 70 74 69 6f 6e 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 20 20 20 s.and.non-option.arguments......
42de0 20 49 6e 20 63 61 73 65 20 6f 66 20 65 72 72 6f 72 2c 20 27 65 72 72 6f 72 27 20 72 65 74 75 72 .In.case.of.error,.'error'.retur
42e00 6e 73 20 61 20 6e 6f 6e 2d 65 6d 70 74 79 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 2e 0a 0a 20 ns.a.non-empty.error.message....
42e20 20 20 20 27 6f 70 74 69 6f 6e 73 27 20 69 73 20 61 6e 20 61 72 72 61 79 20 6f 66 20 27 73 74 72 ...'options'.is.an.array.of.'str
42e40 75 63 74 20 4f 70 74 69 6f 6e 27 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 61 6e 20 65 6c 65 uct.Option'.terminated.by.an.ele
42e60 6d 65 6e 74 0a 20 20 20 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 20 63 6f 64 65 20 77 68 69 63 68 ment.....containing.a.code.which
42e80 20 69 73 20 7a 65 72 6f 2e 20 41 20 6e 75 6c 6c 20 6e 61 6d 65 20 6d 65 61 6e 73 20 61 20 73 68 .is.zero..A.null.name.means.a.sh
42ea0 6f 72 74 2d 6f 6e 6c 79 0a 20 20 20 20 6f 70 74 69 6f 6e 2e 20 41 20 63 6f 64 65 20 76 61 6c 75 ort-only.....option..A.code.valu
42ec0 65 20 6f 75 74 73 69 64 65 20 74 68 65 20 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 72 61 6e 67 e.outside.the.unsigned.char.rang
42ee0 65 20 6d 65 61 6e 73 20 61 0a 20 20 20 20 6c 6f 6e 67 2d 6f 6e 6c 79 20 6f 70 74 69 6f 6e 2e 0a e.means.a.....long-only.option..
42f00 0a 20 20 20 20 41 72 67 5f 70 61 72 73 65 72 20 6e 6f 72 6d 61 6c 6c 79 20 6d 61 6b 65 73 20 69 .....Arg_parser.normally.makes.i
42f20 74 20 61 70 70 65 61 72 20 61 73 20 69 66 20 61 6c 6c 20 74 68 65 20 6f 70 74 69 6f 6e 20 61 72 t.appear.as.if.all.the.option.ar
42f40 67 75 6d 65 6e 74 73 0a 20 20 20 20 77 65 72 65 20 73 70 65 63 69 66 69 65 64 20 62 65 66 6f 72 guments.....were.specified.befor
42f60 65 20 61 6c 6c 20 74 68 65 20 6e 6f 6e 2d 6f 70 74 69 6f 6e 20 61 72 67 75 6d 65 6e 74 73 20 66 e.all.the.non-option.arguments.f
42f80 6f 72 20 74 68 65 20 70 75 72 70 6f 73 65 73 0a 20 20 20 20 6f 66 20 70 61 72 73 69 6e 67 2c 20 or.the.purposes.....of.parsing,.
42fa0 65 76 65 6e 20 69 66 20 74 68 65 20 75 73 65 72 20 6f 66 20 79 6f 75 72 20 70 72 6f 67 72 61 6d even.if.the.user.of.your.program
42fc0 20 69 6e 74 65 72 6d 69 78 65 64 20 6f 70 74 69 6f 6e 20 61 6e 64 0a 20 20 20 20 6e 6f 6e 2d 6f .intermixed.option.and.....non-o
42fe0 70 74 69 6f 6e 20 61 72 67 75 6d 65 6e 74 73 2e 20 49 66 20 79 6f 75 20 77 61 6e 74 20 74 68 65 ption.arguments..If.you.want.the
43000 20 61 72 67 75 6d 65 6e 74 73 20 69 6e 20 74 68 65 20 65 78 61 63 74 20 6f 72 64 65 72 0a 20 20 .arguments.in.the.exact.order...
43020 20 20 74 68 65 20 75 73 65 72 20 74 79 70 65 64 20 74 68 65 6d 2c 20 63 61 6c 6c 20 27 41 72 67 ..the.user.typed.them,.call.'Arg
43040 5f 70 61 72 73 65 72 27 20 77 69 74 68 20 27 69 6e 5f 6f 72 64 65 72 27 20 3d 20 74 72 75 65 2e _parser'.with.'in_order'.=.true.
43060 0a 0a 20 20 20 20 54 68 65 20 61 72 67 75 6d 65 6e 74 20 27 2d 2d 27 20 74 65 72 6d 69 6e 61 74 ......The.argument.'--'.terminat
43080 65 73 20 61 6c 6c 20 6f 70 74 69 6f 6e 73 3b 20 61 6e 79 20 66 6f 6c 6c 6f 77 69 6e 67 20 61 72 es.all.options;.any.following.ar
430a0 67 75 6d 65 6e 74 73 20 61 72 65 0a 20 20 20 20 74 72 65 61 74 65 64 20 61 73 20 6e 6f 6e 2d 6f guments.are.....treated.as.non-o
430c0 70 74 69 6f 6e 20 61 72 67 75 6d 65 6e 74 73 2c 20 65 76 65 6e 20 69 66 20 74 68 65 79 20 62 65 ption.arguments,.even.if.they.be
430e0 67 69 6e 20 77 69 74 68 20 61 20 68 79 70 68 65 6e 2e 0a 0a 20 20 20 20 54 68 65 20 73 79 6e 74 gin.with.a.hyphen.......The.synt
43100 61 78 20 66 6f 72 20 6f 70 74 69 6f 6e 61 6c 20 6f 70 74 69 6f 6e 20 61 72 67 75 6d 65 6e 74 73 ax.for.optional.option.arguments
43120 20 69 73 20 27 2d 3c 73 68 6f 72 74 5f 6f 70 74 69 6f 6e 3e 3c 61 72 67 75 6d 65 6e 74 3e 27 0a .is.'-<short_option><argument>'.
43140 20 20 20 20 28 77 69 74 68 6f 75 74 20 77 68 69 74 65 73 70 61 63 65 29 2c 20 6f 72 20 27 2d 2d ....(without.whitespace),.or.'--
43160 3c 6c 6f 6e 67 5f 6f 70 74 69 6f 6e 3e 3d 3c 61 72 67 75 6d 65 6e 74 3e 27 2e 0a 2a 2f 0a 0a 63 <long_option>=<argument>'..*/..c
43180 6c 61 73 73 20 41 72 67 5f 70 61 72 73 65 72 0a 20 20 7b 0a 70 75 62 6c 69 63 3a 0a 20 20 65 6e lass.Arg_parser...{.public:...en
431a0 75 6d 20 48 61 73 5f 61 72 67 20 7b 20 6e 6f 2c 20 79 65 73 2c 20 6d 61 79 62 65 20 7d 3b 0a 0a um.Has_arg.{.no,.yes,.maybe.};..
431c0 20 20 73 74 72 75 63 74 20 4f 70 74 69 6f 6e 0a 20 20 20 20 7b 0a 20 20 20 20 69 6e 74 20 63 6f ..struct.Option.....{.....int.co
431e0 64 65 3b 09 09 09 2f 2f 20 53 68 6f 72 74 20 6f 70 74 69 6f 6e 20 6c 65 74 74 65 72 20 6f 72 20 de;...//.Short.option.letter.or.
43200 63 6f 64 65 20 28 20 63 6f 64 65 20 21 3d 20 30 20 29 0a 20 20 20 20 63 6f 6e 73 74 20 63 68 61 code.(.code.!=.0.).....const.cha
43220 72 20 2a 20 6e 61 6d 65 3b 09 09 2f 2f 20 4c 6f 6e 67 20 6f 70 74 69 6f 6e 20 6e 61 6d 65 20 28 r.*.name;..//.Long.option.name.(
43240 6d 61 79 62 65 20 6e 75 6c 6c 29 0a 20 20 20 20 48 61 73 5f 61 72 67 20 68 61 73 5f 61 72 67 3b maybe.null).....Has_arg.has_arg;
43260 0a 20 20 20 20 7d 3b 0a 0a 70 72 69 76 61 74 65 3a 0a 20 20 73 74 72 75 63 74 20 52 65 63 6f 72 .....};..private:...struct.Recor
43280 64 0a 20 20 20 20 7b 0a 20 20 20 20 69 6e 74 20 63 6f 64 65 3b 0a 20 20 20 20 73 74 64 3a 3a 73 d.....{.....int.code;.....std::s
432a0 74 72 69 6e 67 20 61 72 67 75 6d 65 6e 74 3b 0a 20 20 20 20 65 78 70 6c 69 63 69 74 20 52 65 63 tring.argument;.....explicit.Rec
432c0 6f 72 64 28 20 63 6f 6e 73 74 20 69 6e 74 20 63 20 29 20 3a 20 63 6f 64 65 28 20 63 20 29 20 7b ord(.const.int.c.).:.code(.c.).{
432e0 7d 0a 20 20 20 20 65 78 70 6c 69 63 69 74 20 52 65 63 6f 72 64 28 20 63 6f 6e 73 74 20 63 68 61 }.....explicit.Record(.const.cha
43300 72 20 2a 20 63 6f 6e 73 74 20 61 72 67 20 29 20 3a 20 63 6f 64 65 28 20 30 20 29 2c 20 61 72 67 r.*.const.arg.).:.code(.0.),.arg
43320 75 6d 65 6e 74 28 20 61 72 67 20 29 20 7b 7d 0a 20 20 20 20 7d 3b 0a 0a 20 20 73 74 64 3a 3a 73 ument(.arg.).{}.....};....std::s
43340 74 72 69 6e 67 20 65 72 72 6f 72 5f 3b 0a 20 20 73 74 64 3a 3a 76 65 63 74 6f 72 3c 20 52 65 63 tring.error_;...std::vector<.Rec
43360 6f 72 64 20 3e 20 64 61 74 61 3b 0a 0a 20 20 62 6f 6f 6c 20 70 61 72 73 65 5f 6c 6f 6e 67 5f 6f ord.>.data;....bool.parse_long_o
43380 70 74 69 6f 6e 28 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 6f 70 74 2c 20 63 ption(.const.char.*.const.opt,.c
433a0 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 61 72 67 2c 0a 20 20 20 20 20 20 20 20 20 onst.char.*.const.arg,..........
433c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 4f 70 74 69 6f 6e 20 6f 70 .................const.Option.op
433e0 74 69 6f 6e 73 5b 5d 2c 20 69 6e 74 20 26 20 61 72 67 69 6e 64 20 29 3b 0a 20 20 62 6f 6f 6c 20 tions[],.int.&.argind.);...bool.
43400 70 61 72 73 65 5f 73 68 6f 72 74 5f 6f 70 74 69 6f 6e 28 20 63 6f 6e 73 74 20 63 68 61 72 20 2a parse_short_option(.const.char.*
43420 20 63 6f 6e 73 74 20 6f 70 74 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 61 .const.opt,.const.char.*.const.a
43440 72 67 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 rg,............................c
43460 6f 6e 73 74 20 4f 70 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 5b 5d 2c 20 69 6e 74 20 26 20 61 72 67 onst.Option.options[],.int.&.arg
43480 69 6e 64 20 29 3b 0a 0a 70 75 62 6c 69 63 3a 0a 20 20 41 72 67 5f 70 61 72 73 65 72 28 20 63 6f ind.);..public:...Arg_parser(.co
434a0 6e 73 74 20 69 6e 74 20 61 72 67 63 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 nst.int.argc,.const.char.*.const
434c0 20 61 72 67 76 5b 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 4f 70 74 .argv[],...............const.Opt
434e0 69 6f 6e 20 6f 70 74 69 6f 6e 73 5b 5d 2c 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 69 6e 5f 6f 72 64 ion.options[],.const.bool.in_ord
43500 65 72 20 3d 20 66 61 6c 73 65 20 29 3b 0a 0a 20 20 20 20 20 20 2f 2f 20 52 65 73 74 72 69 63 74 er.=.false.);........//.Restrict
43520 65 64 20 63 6f 6e 73 74 72 75 63 74 6f 72 2e 20 50 61 72 73 65 73 20 61 20 73 69 6e 67 6c 65 20 ed.constructor..Parses.a.single.
43540 74 6f 6b 65 6e 20 61 6e 64 20 61 72 67 75 6d 65 6e 74 20 28 69 66 20 61 6e 79 29 0a 20 20 41 72 token.and.argument.(if.any)...Ar
43560 67 5f 70 61 72 73 65 72 28 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 6f 70 74 g_parser(.const.char.*.const.opt
43580 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 61 72 67 2c 0a 20 20 20 20 20 20 ,.const.char.*.const.arg,.......
435a0 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 4f 70 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 5b 5d 20 29 ........const.Option.options[].)
435c0 3b 0a 0a 20 20 63 6f 6e 73 74 20 73 74 64 3a 3a 73 74 72 69 6e 67 20 26 20 65 72 72 6f 72 28 29 ;....const.std::string.&.error()
435e0 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 65 72 72 6f 72 5f 3b 20 7d 0a 0a 20 20 20 20 20 .const.{.return.error_;.}.......
43600 20 2f 2f 20 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 70 61 72 73 .//.The.number.of.arguments.pars
43620 65 64 20 28 6d 61 79 20 62 65 20 64 69 66 66 65 72 65 6e 74 20 66 72 6f 6d 20 61 72 67 63 29 0a ed.(may.be.different.from.argc).
43640 20 20 69 6e 74 20 61 72 67 75 6d 65 6e 74 73 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e ..int.arguments().const.{.return
43660 20 64 61 74 61 2e 73 69 7a 65 28 29 3b 20 7d 0a 0a 20 20 20 20 20 20 2f 2f 20 49 66 20 63 6f 64 .data.size();.}........//.If.cod
43680 65 28 20 69 20 29 20 69 73 20 30 2c 20 61 72 67 75 6d 65 6e 74 28 20 69 20 29 20 69 73 20 61 20 e(.i.).is.0,.argument(.i.).is.a.
436a0 6e 6f 6e 2d 6f 70 74 69 6f 6e 2e 0a 20 20 20 20 20 20 2f 2f 20 45 6c 73 65 20 61 72 67 75 6d 65 non-option........//.Else.argume
436c0 6e 74 28 20 69 20 29 20 69 73 20 74 68 65 20 6f 70 74 69 6f 6e 27 73 20 61 72 67 75 6d 65 6e 74 nt(.i.).is.the.option's.argument
436e0 20 28 6f 72 20 65 6d 70 74 79 29 2e 0a 20 20 69 6e 74 20 63 6f 64 65 28 20 63 6f 6e 73 74 20 69 .(or.empty)....int.code(.const.i
43700 6e 74 20 69 20 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 69 20 3e 3d 20 nt.i.).const.....{.....if(.i.>=.
43720 30 20 26 26 20 69 20 3c 20 61 72 67 75 6d 65 6e 74 73 28 29 20 29 20 72 65 74 75 72 6e 20 64 61 0.&&.i.<.arguments().).return.da
43740 74 61 5b 69 5d 2e 63 6f 64 65 3b 0a 20 20 20 20 65 6c 73 65 20 72 65 74 75 72 6e 20 30 3b 0a 20 ta[i].code;.....else.return.0;..
43760 20 20 20 7d 0a 0a 20 20 63 6f 6e 73 74 20 73 74 64 3a 3a 73 74 72 69 6e 67 20 26 20 61 72 67 75 ...}....const.std::string.&.argu
43780 6d 65 6e 74 28 20 63 6f 6e 73 74 20 69 6e 74 20 69 20 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 0a ment(.const.int.i.).const.....{.
437a0 20 20 20 20 69 66 28 20 69 20 3e 3d 20 30 20 26 26 20 69 20 3c 20 61 72 67 75 6d 65 6e 74 73 28 ....if(.i.>=.0.&&.i.<.arguments(
437c0 29 20 29 20 72 65 74 75 72 6e 20 64 61 74 61 5b 69 5d 2e 61 72 67 75 6d 65 6e 74 3b 0a 20 20 20 ).).return.data[i].argument;....
437e0 20 65 6c 73 65 20 72 65 74 75 72 6e 20 65 72 72 6f 72 5f 3b 0a 20 20 20 20 7d 0a 20 20 7d 3b 0a .else.return.error_;.....}...};.
43800 6c 7a 69 70 2d 31 2e 32 30 2f 64 65 63 6f 64 65 72 2e 68 00 00 00 00 00 00 00 00 00 00 00 00 00 lzip-1.20/decoder.h.............
43820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43860 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
43880 30 30 32 30 33 31 33 00 31 33 36 36 34 37 33 36 35 34 35 00 30 31 34 33 34 32 00 20 30 00 00 00 0020313.13664736545.014342..0...
438a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
438c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
438e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43900 00 75 73 74 61 72 20 20 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...mohammad...............
43920 00 00 00 00 00 00 00 00 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........mohammad...............
43940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
439a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
439c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
439e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43a00 2f 2a 20 20 4c 7a 69 70 20 2d 20 4c 5a 4d 41 20 6c 6f 73 73 6c 65 73 73 20 64 61 74 61 20 63 6f /*..Lzip.-.LZMA.lossless.data.co
43a20 6d 70 72 65 73 73 6f 72 0a 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d mpressor.....Copyright.(C).2008-
43a40 32 30 31 38 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 20 54 68 69 2018.Antonio.Diaz.Diaz.......Thi
43a60 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 s.program.is.free.software:.you.
43a80 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 can.redistribute.it.and/or.modif
43aa0 79 0a 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 y.....it.under.the.terms.of.the.
43ac0 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 GNU.General.Public.License.as.pu
43ae0 62 6c 69 73 68 65 64 20 62 79 0a 20 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 blished.by.....the.Free.Software
43b00 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 .Foundation,.either.version.2.of
43b20 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 .the.License,.or.....(at.your.op
43b40 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 20 54 68 tion).any.later.version.......Th
43b60 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 is.program.is.distributed.in.the
43b80 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 20 .hope.that.it.will.be.useful,...
43ba0 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 ..but.WITHOUT.ANY.WARRANTY;.with
43bc0 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 out.even.the.implied.warranty.of
43be0 0a 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 .....MERCHANTABILITY.or.FITNESS.
43c00 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 FOR.A.PARTICULAR.PURPOSE...See.t
43c20 68 65 0a 20 20 20 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 he.....GNU.General.Public.Licens
43c40 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 20 59 6f 75 20 73 68 6f e.for.more.details.......You.sho
43c60 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 uld.have.received.a.copy.of.the.
43c80 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 20 61 GNU.General.Public.License.....a
43ca0 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c long.with.this.program...If.not,
43cc0 20 73 65 65 20 3c 68 74 74 70 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 .see.<http://www.gnu.org/license
43ce0 73 2f 3e 2e 0a 2a 2f 0a 0a 63 6c 61 73 73 20 52 61 6e 67 65 5f 64 65 63 6f 64 65 72 0a 20 20 7b s/>..*/..class.Range_decoder...{
43d00 0a 20 20 65 6e 75 6d 20 7b 20 62 75 66 66 65 72 5f 73 69 7a 65 20 3d 20 31 36 33 38 34 20 7d 3b ...enum.{.buffer_size.=.16384.};
43d20 0a 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 70 61 72 74 69 61 6c 5f 6d 65 ...unsigned.long.long.partial_me
43d40 6d 62 65 72 5f 70 6f 73 3b 0a 20 20 75 69 6e 74 38 5f 74 20 2a 20 63 6f 6e 73 74 20 62 75 66 66 mber_pos;...uint8_t.*.const.buff
43d60 65 72 3b 09 2f 2f 20 69 6e 70 75 74 20 62 75 66 66 65 72 0a 20 20 69 6e 74 20 70 6f 73 3b 09 09 er;.//.input.buffer...int.pos;..
43d80 09 2f 2f 20 63 75 72 72 65 6e 74 20 70 6f 73 20 69 6e 20 62 75 66 66 65 72 0a 20 20 69 6e 74 20 .//.current.pos.in.buffer...int.
43da0 73 74 72 65 61 6d 5f 70 6f 73 3b 09 09 2f 2f 20 77 68 65 6e 20 72 65 61 63 68 65 64 2c 20 61 20 stream_pos;..//.when.reached,.a.
43dc0 6e 65 77 20 62 6c 6f 63 6b 20 6d 75 73 74 20 62 65 20 72 65 61 64 0a 20 20 75 69 6e 74 33 32 5f new.block.must.be.read...uint32_
43de0 74 20 63 6f 64 65 3b 0a 20 20 75 69 6e 74 33 32 5f 74 20 72 61 6e 67 65 3b 0a 20 20 63 6f 6e 73 t.code;...uint32_t.range;...cons
43e00 74 20 69 6e 74 20 69 6e 66 64 3b 09 09 2f 2f 20 69 6e 70 75 74 20 66 69 6c 65 20 64 65 73 63 72 t.int.infd;..//.input.file.descr
43e20 69 70 74 6f 72 0a 20 20 62 6f 6f 6c 20 61 74 5f 73 74 72 65 61 6d 5f 65 6e 64 3b 0a 0a 20 20 62 iptor...bool.at_stream_end;....b
43e40 6f 6f 6c 20 72 65 61 64 5f 62 6c 6f 63 6b 28 29 3b 0a 0a 20 20 52 61 6e 67 65 5f 64 65 63 6f 64 ool.read_block();....Range_decod
43e60 65 72 28 20 63 6f 6e 73 74 20 52 61 6e 67 65 5f 64 65 63 6f 64 65 72 20 26 20 29 3b 09 2f 2f 20 er(.const.Range_decoder.&.);.//.
43e80 64 65 63 6c 61 72 65 64 20 61 73 20 70 72 69 76 61 74 65 0a 20 20 76 6f 69 64 20 6f 70 65 72 61 declared.as.private...void.opera
43ea0 74 6f 72 3d 28 20 63 6f 6e 73 74 20 52 61 6e 67 65 5f 64 65 63 6f 64 65 72 20 26 20 29 3b 09 2f tor=(.const.Range_decoder.&.);./
43ec0 2f 20 64 65 63 6c 61 72 65 64 20 61 73 20 70 72 69 76 61 74 65 0a 0a 70 75 62 6c 69 63 3a 0a 20 /.declared.as.private..public:..
43ee0 20 65 78 70 6c 69 63 69 74 20 52 61 6e 67 65 5f 64 65 63 6f 64 65 72 28 20 63 6f 6e 73 74 20 69 .explicit.Range_decoder(.const.i
43f00 6e 74 20 69 66 64 20 29 0a 20 20 20 20 3a 0a 20 20 20 20 70 61 72 74 69 61 6c 5f 6d 65 6d 62 65 nt.ifd.).....:.....partial_membe
43f20 72 5f 70 6f 73 28 20 30 20 29 2c 0a 20 20 20 20 62 75 66 66 65 72 28 20 6e 65 77 20 75 69 6e 74 r_pos(.0.),.....buffer(.new.uint
43f40 38 5f 74 5b 62 75 66 66 65 72 5f 73 69 7a 65 5d 20 29 2c 0a 20 20 20 20 70 6f 73 28 20 30 20 29 8_t[buffer_size].),.....pos(.0.)
43f60 2c 0a 20 20 20 20 73 74 72 65 61 6d 5f 70 6f 73 28 20 30 20 29 2c 0a 20 20 20 20 63 6f 64 65 28 ,.....stream_pos(.0.),.....code(
43f80 20 30 20 29 2c 0a 20 20 20 20 72 61 6e 67 65 28 20 30 78 46 46 46 46 46 46 46 46 55 20 29 2c 0a .0.),.....range(.0xFFFFFFFFU.),.
43fa0 20 20 20 20 69 6e 66 64 28 20 69 66 64 20 29 2c 0a 20 20 20 20 61 74 5f 73 74 72 65 61 6d 5f 65 ....infd(.ifd.),.....at_stream_e
43fc0 6e 64 28 20 66 61 6c 73 65 20 29 0a 20 20 20 20 7b 7d 0a 0a 20 20 7e 52 61 6e 67 65 5f 64 65 63 nd(.false.).....{}....~Range_dec
43fe0 6f 64 65 72 28 29 20 7b 20 64 65 6c 65 74 65 5b 5d 20 62 75 66 66 65 72 3b 20 7d 0a 0a 20 20 62 oder().{.delete[].buffer;.}....b
44000 6f 6f 6c 20 66 69 6e 69 73 68 65 64 28 29 20 7b 20 72 65 74 75 72 6e 20 70 6f 73 20 3e 3d 20 73 ool.finished().{.return.pos.>=.s
44020 74 72 65 61 6d 5f 70 6f 73 20 26 26 20 21 72 65 61 64 5f 62 6c 6f 63 6b 28 29 3b 20 7d 0a 20 20 tream_pos.&&.!read_block();.}...
44040 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6d 65 6d 62 65 72 5f 70 6f 73 69 74 69 unsigned.long.long.member_positi
44060 6f 6e 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 70 61 72 74 69 61 6c 5f 6d 65 6d 62 on().const.{.return.partial_memb
44080 65 72 5f 70 6f 73 20 2b 20 70 6f 73 3b 20 7d 0a 0a 20 20 76 6f 69 64 20 72 65 73 65 74 5f 6d 65 er_pos.+.pos;.}....void.reset_me
440a0 6d 62 65 72 5f 70 6f 73 69 74 69 6f 6e 28 29 0a 20 20 20 20 7b 20 70 61 72 74 69 61 6c 5f 6d 65 mber_position().....{.partial_me
440c0 6d 62 65 72 5f 70 6f 73 20 3d 20 30 3b 20 70 61 72 74 69 61 6c 5f 6d 65 6d 62 65 72 5f 70 6f 73 mber_pos.=.0;.partial_member_pos
440e0 20 2d 3d 20 70 6f 73 3b 20 7d 0a 0a 20 20 75 69 6e 74 38 5f 74 20 67 65 74 5f 62 79 74 65 28 29 .-=.pos;.}....uint8_t.get_byte()
44100 0a 20 20 20 20 7b 0a 20 20 20 20 2f 2f 20 30 78 46 46 20 61 76 6f 69 64 73 20 64 65 63 6f 64 65 .....{.....//.0xFF.avoids.decode
44120 72 20 65 72 72 6f 72 20 69 66 20 6d 65 6d 62 65 72 20 69 73 20 74 72 75 6e 63 61 74 65 64 20 61 r.error.if.member.is.truncated.a
44140 74 20 45 4f 53 20 6d 61 72 6b 65 72 0a 20 20 20 20 69 66 28 20 66 69 6e 69 73 68 65 64 28 29 20 t.EOS.marker.....if(.finished().
44160 29 20 72 65 74 75 72 6e 20 30 78 46 46 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 62 75 66 66 65 72 ).return.0xFF;.....return.buffer
44180 5b 70 6f 73 2b 2b 5d 3b 0a 20 20 20 20 7d 0a 0a 20 20 69 6e 74 20 72 65 61 64 5f 64 61 74 61 28 [pos++];.....}....int.read_data(
441a0 20 75 69 6e 74 38 5f 74 20 2a 20 63 6f 6e 73 74 20 6f 75 74 62 75 66 2c 20 63 6f 6e 73 74 20 69 .uint8_t.*.const.outbuf,.const.i
441c0 6e 74 20 73 69 7a 65 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 6e 74 20 73 7a 20 3d 20 30 3b 0a nt.size.).....{.....int.sz.=.0;.
441e0 20 20 20 20 77 68 69 6c 65 28 20 73 7a 20 3c 20 73 69 7a 65 20 26 26 20 21 66 69 6e 69 73 68 65 ....while(.sz.<.size.&&.!finishe
44200 64 28 29 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 72 64 d().).......{.......const.int.rd
44220 20 3d 20 73 74 64 3a 3a 6d 69 6e 28 20 73 69 7a 65 20 2d 20 73 7a 2c 20 73 74 72 65 61 6d 5f 70 .=.std::min(.size.-.sz,.stream_p
44240 6f 73 20 2d 20 70 6f 73 20 29 3b 0a 20 20 20 20 20 20 73 74 64 3a 3a 6d 65 6d 63 70 79 28 20 6f os.-.pos.);.......std::memcpy(.o
44260 75 74 62 75 66 20 2b 20 73 7a 2c 20 62 75 66 66 65 72 20 2b 20 70 6f 73 2c 20 72 64 20 29 3b 0a utbuf.+.sz,.buffer.+.pos,.rd.);.
44280 20 20 20 20 20 20 70 6f 73 20 2b 3d 20 72 64 3b 0a 20 20 20 20 20 20 73 7a 20 2b 3d 20 72 64 3b ......pos.+=.rd;.......sz.+=.rd;
442a0 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 72 65 74 75 72 6e 20 73 7a 3b 0a 20 20 20 20 7d 0a 0a 20 .......}.....return.sz;.....}...
442c0 20 76 6f 69 64 20 6c 6f 61 64 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f 64 65 20 3d 20 30 3b .void.load().....{.....code.=.0;
442e0 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 35 3b 20 2b 2b 69 20 .....for(.int.i.=.0;.i.<.5;.++i.
44300 29 20 63 6f 64 65 20 3d 20 28 63 6f 64 65 20 3c 3c 20 38 29 20 7c 20 67 65 74 5f 62 79 74 65 28 ).code.=.(code.<<.8).|.get_byte(
44320 29 3b 0a 20 20 20 20 72 61 6e 67 65 20 3d 20 30 78 46 46 46 46 46 46 46 46 55 3b 0a 20 20 20 20 );.....range.=.0xFFFFFFFFU;.....
44340 63 6f 64 65 20 26 3d 20 72 61 6e 67 65 3b 09 09 2f 2f 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 code.&=.range;..//.make.sure.tha
44360 74 20 66 69 72 73 74 20 62 79 74 65 20 69 73 20 64 69 73 63 61 72 64 65 64 0a 20 20 20 20 7d 0a t.first.byte.is.discarded.....}.
44380 0a 20 20 76 6f 69 64 20 6e 6f 72 6d 61 6c 69 7a 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 ...void.normalize().....{.....if
443a0 28 20 72 61 6e 67 65 20 3c 3d 20 30 78 30 30 46 46 46 46 46 46 55 20 29 0a 20 20 20 20 20 20 7b (.range.<=.0x00FFFFFFU.).......{
443c0 20 72 61 6e 67 65 20 3c 3c 3d 20 38 3b 20 63 6f 64 65 20 3d 20 28 63 6f 64 65 20 3c 3c 20 38 29 .range.<<=.8;.code.=.(code.<<.8)
443e0 20 7c 20 67 65 74 5f 62 79 74 65 28 29 3b 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 75 6e 73 69 67 6e .|.get_byte();.}.....}....unsign
44400 65 64 20 64 65 63 6f 64 65 28 20 63 6f 6e 73 74 20 69 6e 74 20 6e 75 6d 5f 62 69 74 73 20 29 0a ed.decode(.const.int.num_bits.).
44420 20 20 20 20 7b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 73 79 6d 62 6f 6c 20 3d 20 30 3b 0a 20 ....{.....unsigned.symbol.=.0;..
44440 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 6e 75 6d 5f 62 69 74 73 3b 20 69 20 3e 20 30 3b ...for(.int.i.=.num_bits;.i.>.0;
44460 20 2d 2d 69 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 6e 6f 72 6d 61 6c 69 7a 65 28 29 .--i.).......{.......normalize()
44480 3b 0a 20 20 20 20 20 20 72 61 6e 67 65 20 3e 3e 3d 20 31 3b 0a 2f 2f 20 20 20 20 20 20 73 79 6d ;.......range.>>=.1;.//......sym
444a0 62 6f 6c 20 3c 3c 3d 20 31 3b 0a 2f 2f 20 20 20 20 20 20 69 66 28 20 63 6f 64 65 20 3e 3d 20 72 bol.<<=.1;.//......if(.code.>=.r
444c0 61 6e 67 65 20 29 20 7b 20 63 6f 64 65 20 2d 3d 20 72 61 6e 67 65 3b 20 73 79 6d 62 6f 6c 20 7c ange.).{.code.-=.range;.symbol.|
444e0 3d 20 31 3b 20 7d 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 62 69 74 20 3d 20 28 20 =.1;.}.......const.bool.bit.=.(.
44500 63 6f 64 65 20 3e 3d 20 72 61 6e 67 65 20 29 3b 0a 20 20 20 20 20 20 73 79 6d 62 6f 6c 20 3d 20 code.>=.range.);.......symbol.=.
44520 28 20 73 79 6d 62 6f 6c 20 3c 3c 20 31 20 29 20 2b 20 62 69 74 3b 0a 20 20 20 20 20 20 63 6f 64 (.symbol.<<.1.).+.bit;.......cod
44540 65 20 2d 3d 20 72 61 6e 67 65 20 26 20 28 20 30 55 20 2d 20 62 69 74 20 29 3b 0a 20 20 20 20 20 e.-=.range.&.(.0U.-.bit.);......
44560 20 7d 0a 20 20 20 20 72 65 74 75 72 6e 20 73 79 6d 62 6f 6c 3b 0a 20 20 20 20 7d 0a 0a 20 20 75 .}.....return.symbol;.....}....u
44580 6e 73 69 67 6e 65 64 20 64 65 63 6f 64 65 5f 62 69 74 28 20 42 69 74 5f 6d 6f 64 65 6c 20 26 20 nsigned.decode_bit(.Bit_model.&.
445a0 62 6d 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 6e 6f 72 6d 61 6c 69 7a 65 28 29 3b 0a 20 20 20 20 bm.).....{.....normalize();.....
445c0 63 6f 6e 73 74 20 75 69 6e 74 33 32 5f 74 20 62 6f 75 6e 64 20 3d 20 28 20 72 61 6e 67 65 20 3e const.uint32_t.bound.=.(.range.>
445e0 3e 20 62 69 74 5f 6d 6f 64 65 6c 5f 74 6f 74 61 6c 5f 62 69 74 73 20 29 20 2a 20 62 6d 2e 70 72 >.bit_model_total_bits.).*.bm.pr
44600 6f 62 61 62 69 6c 69 74 79 3b 0a 20 20 20 20 69 66 28 20 63 6f 64 65 20 3c 20 62 6f 75 6e 64 20 obability;.....if(.code.<.bound.
44620 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 72 61 6e 67 65 20 3d 20 62 6f 75 6e 64 3b 0a 20 ).......{.......range.=.bound;..
44640 20 20 20 20 20 62 6d 2e 70 72 6f 62 61 62 69 6c 69 74 79 20 2b 3d 20 28 62 69 74 5f 6d 6f 64 65 .....bm.probability.+=.(bit_mode
44660 6c 5f 74 6f 74 61 6c 20 2d 20 62 6d 2e 70 72 6f 62 61 62 69 6c 69 74 79 29 20 3e 3e 20 62 69 74 l_total.-.bm.probability).>>.bit
44680 5f 6d 6f 64 65 6c 5f 6d 6f 76 65 5f 62 69 74 73 3b 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 30 _model_move_bits;.......return.0
446a0 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 ;.......}.....else.......{......
446c0 20 72 61 6e 67 65 20 2d 3d 20 62 6f 75 6e 64 3b 0a 20 20 20 20 20 20 63 6f 64 65 20 2d 3d 20 62 .range.-=.bound;.......code.-=.b
446e0 6f 75 6e 64 3b 0a 20 20 20 20 20 20 62 6d 2e 70 72 6f 62 61 62 69 6c 69 74 79 20 2d 3d 20 62 6d ound;.......bm.probability.-=.bm
44700 2e 70 72 6f 62 61 62 69 6c 69 74 79 20 3e 3e 20 62 69 74 5f 6d 6f 64 65 6c 5f 6d 6f 76 65 5f 62 .probability.>>.bit_model_move_b
44720 69 74 73 3b 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 31 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 its;.......return.1;.......}....
44740 20 7d 0a 0a 20 20 75 6e 73 69 67 6e 65 64 20 64 65 63 6f 64 65 5f 74 72 65 65 33 28 20 42 69 74 .}....unsigned.decode_tree3(.Bit
44760 5f 6d 6f 64 65 6c 20 62 6d 5b 5d 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 _model.bm[].).....{.....unsigned
44780 20 73 79 6d 62 6f 6c 20 3d 20 31 3b 0a 20 20 20 20 73 79 6d 62 6f 6c 20 3d 20 28 20 73 79 6d 62 .symbol.=.1;.....symbol.=.(.symb
447a0 6f 6c 20 3c 3c 20 31 20 29 20 7c 20 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f ol.<<.1.).|.decode_bit(.bm[symbo
447c0 6c 5d 20 29 3b 0a 20 20 20 20 73 79 6d 62 6f 6c 20 3d 20 28 20 73 79 6d 62 6f 6c 20 3c 3c 20 31 l].);.....symbol.=.(.symbol.<<.1
447e0 20 29 20 7c 20 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 20 29 3b 0a 20 .).|.decode_bit(.bm[symbol].);..
44800 20 20 20 73 79 6d 62 6f 6c 20 3d 20 28 20 73 79 6d 62 6f 6c 20 3c 3c 20 31 20 29 20 7c 20 64 65 ...symbol.=.(.symbol.<<.1.).|.de
44820 63 6f 64 65 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 20 29 3b 0a 20 20 20 20 72 65 74 75 code_bit(.bm[symbol].);.....retu
44840 72 6e 20 73 79 6d 62 6f 6c 20 26 20 37 3b 0a 20 20 20 20 7d 0a 0a 20 20 75 6e 73 69 67 6e 65 64 rn.symbol.&.7;.....}....unsigned
44860 20 64 65 63 6f 64 65 5f 74 72 65 65 36 28 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5b 5d 20 29 0a .decode_tree6(.Bit_model.bm[].).
44880 20 20 20 20 7b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 73 79 6d 62 6f 6c 20 3d 20 31 3b 0a 20 ....{.....unsigned.symbol.=.1;..
448a0 20 20 20 73 79 6d 62 6f 6c 20 3d 20 28 20 73 79 6d 62 6f 6c 20 3c 3c 20 31 20 29 20 7c 20 64 65 ...symbol.=.(.symbol.<<.1.).|.de
448c0 63 6f 64 65 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 20 29 3b 0a 20 20 20 20 73 79 6d 62 code_bit(.bm[symbol].);.....symb
448e0 6f 6c 20 3d 20 28 20 73 79 6d 62 6f 6c 20 3c 3c 20 31 20 29 20 7c 20 64 65 63 6f 64 65 5f 62 69 ol.=.(.symbol.<<.1.).|.decode_bi
44900 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 20 29 3b 0a 20 20 20 20 73 79 6d 62 6f 6c 20 3d 20 28 20 t(.bm[symbol].);.....symbol.=.(.
44920 73 79 6d 62 6f 6c 20 3c 3c 20 31 20 29 20 7c 20 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5b 73 symbol.<<.1.).|.decode_bit(.bm[s
44940 79 6d 62 6f 6c 5d 20 29 3b 0a 20 20 20 20 73 79 6d 62 6f 6c 20 3d 20 28 20 73 79 6d 62 6f 6c 20 ymbol].);.....symbol.=.(.symbol.
44960 3c 3c 20 31 20 29 20 7c 20 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 20 <<.1.).|.decode_bit(.bm[symbol].
44980 29 3b 0a 20 20 20 20 73 79 6d 62 6f 6c 20 3d 20 28 20 73 79 6d 62 6f 6c 20 3c 3c 20 31 20 29 20 );.....symbol.=.(.symbol.<<.1.).
449a0 7c 20 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 20 29 3b 0a 20 20 20 20 |.decode_bit(.bm[symbol].);.....
449c0 73 79 6d 62 6f 6c 20 3d 20 28 20 73 79 6d 62 6f 6c 20 3c 3c 20 31 20 29 20 7c 20 64 65 63 6f 64 symbol.=.(.symbol.<<.1.).|.decod
449e0 65 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 20 29 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 e_bit(.bm[symbol].);.....return.
44a00 73 79 6d 62 6f 6c 20 26 20 30 78 33 46 3b 0a 20 20 20 20 7d 0a 0a 20 20 75 6e 73 69 67 6e 65 64 symbol.&.0x3F;.....}....unsigned
44a20 20 64 65 63 6f 64 65 5f 74 72 65 65 38 28 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5b 5d 20 29 0a .decode_tree8(.Bit_model.bm[].).
44a40 20 20 20 20 7b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 73 79 6d 62 6f 6c 20 3d 20 31 3b 0a 20 ....{.....unsigned.symbol.=.1;..
44a60 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 38 3b 20 2b 2b 69 20 29 0a ...for(.int.i.=.0;.i.<.8;.++i.).
44a80 20 20 20 20 20 20 73 79 6d 62 6f 6c 20 3d 20 28 20 73 79 6d 62 6f 6c 20 3c 3c 20 31 20 29 20 7c ......symbol.=.(.symbol.<<.1.).|
44aa0 20 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 20 29 3b 0a 20 20 20 20 72 .decode_bit(.bm[symbol].);.....r
44ac0 65 74 75 72 6e 20 73 79 6d 62 6f 6c 20 26 20 30 78 46 46 3b 0a 20 20 20 20 7d 0a 0a 20 20 75 6e eturn.symbol.&.0xFF;.....}....un
44ae0 73 69 67 6e 65 64 20 64 65 63 6f 64 65 5f 74 72 65 65 5f 72 65 76 65 72 73 65 64 28 20 42 69 74 signed.decode_tree_reversed(.Bit
44b00 5f 6d 6f 64 65 6c 20 62 6d 5b 5d 2c 20 63 6f 6e 73 74 20 69 6e 74 20 6e 75 6d 5f 62 69 74 73 20 _model.bm[],.const.int.num_bits.
44b20 29 0a 20 20 20 20 7b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 6d 6f 64 65 6c 20 3d 20 31 3b 0a ).....{.....unsigned.model.=.1;.
44b40 20 20 20 20 75 6e 73 69 67 6e 65 64 20 73 79 6d 62 6f 6c 20 3d 20 30 3b 0a 20 20 20 20 66 6f 72 ....unsigned.symbol.=.0;.....for
44b60 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 6e 75 6d 5f 62 69 74 73 3b 20 2b 2b 69 20 29 (.int.i.=.0;.i.<.num_bits;.++i.)
44b80 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 62 69 .......{.......const.unsigned.bi
44ba0 74 20 3d 20 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5b 6d 6f 64 65 6c 5d 20 29 3b 0a 20 20 20 t.=.decode_bit(.bm[model].);....
44bc0 20 20 20 6d 6f 64 65 6c 20 3d 20 28 20 6d 6f 64 65 6c 20 3c 3c 20 31 20 29 20 2b 20 62 69 74 3b ...model.=.(.model.<<.1.).+.bit;
44be0 0a 20 20 20 20 20 20 73 79 6d 62 6f 6c 20 7c 3d 20 28 20 62 69 74 20 3c 3c 20 69 20 29 3b 0a 20 .......symbol.|=.(.bit.<<.i.);..
44c00 20 20 20 20 20 7d 0a 20 20 20 20 72 65 74 75 72 6e 20 73 79 6d 62 6f 6c 3b 0a 20 20 20 20 7d 0a .....}.....return.symbol;.....}.
44c20 0a 20 20 75 6e 73 69 67 6e 65 64 20 64 65 63 6f 64 65 5f 74 72 65 65 5f 72 65 76 65 72 73 65 64 ...unsigned.decode_tree_reversed
44c40 34 28 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5b 5d 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 75 6e 4(.Bit_model.bm[].).....{.....un
44c60 73 69 67 6e 65 64 20 73 79 6d 62 6f 6c 20 3d 20 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5b 31 signed.symbol.=.decode_bit(.bm[1
44c80 5d 20 29 3b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 6d 6f 64 65 6c 20 3d 20 32 20 2b 20 73 79 ].);.....unsigned.model.=.2.+.sy
44ca0 6d 62 6f 6c 3b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 62 69 74 20 3d 20 64 65 63 6f 64 65 5f mbol;.....unsigned.bit.=.decode_
44cc0 62 69 74 28 20 62 6d 5b 6d 6f 64 65 6c 5d 20 29 3b 0a 20 20 20 20 6d 6f 64 65 6c 20 3d 20 28 20 bit(.bm[model].);.....model.=.(.
44ce0 6d 6f 64 65 6c 20 3c 3c 20 31 20 29 20 2b 20 62 69 74 3b 20 73 79 6d 62 6f 6c 20 7c 3d 20 28 20 model.<<.1.).+.bit;.symbol.|=.(.
44d00 62 69 74 20 3c 3c 20 31 20 29 3b 0a 20 20 20 20 62 69 74 20 3d 20 64 65 63 6f 64 65 5f 62 69 74 bit.<<.1.);.....bit.=.decode_bit
44d20 28 20 62 6d 5b 6d 6f 64 65 6c 5d 20 29 3b 0a 20 20 20 20 6d 6f 64 65 6c 20 3d 20 28 20 6d 6f 64 (.bm[model].);.....model.=.(.mod
44d40 65 6c 20 3c 3c 20 31 20 29 20 2b 20 62 69 74 3b 20 73 79 6d 62 6f 6c 20 7c 3d 20 28 20 62 69 74 el.<<.1.).+.bit;.symbol.|=.(.bit
44d60 20 3c 3c 20 32 20 29 3b 0a 20 20 20 20 73 79 6d 62 6f 6c 20 7c 3d 20 28 20 64 65 63 6f 64 65 5f .<<.2.);.....symbol.|=.(.decode_
44d80 62 69 74 28 20 62 6d 5b 6d 6f 64 65 6c 5d 20 29 20 3c 3c 20 33 20 29 3b 0a 20 20 20 20 72 65 74 bit(.bm[model].).<<.3.);.....ret
44da0 75 72 6e 20 73 79 6d 62 6f 6c 3b 0a 20 20 20 20 7d 0a 0a 20 20 75 6e 73 69 67 6e 65 64 20 64 65 urn.symbol;.....}....unsigned.de
44dc0 63 6f 64 65 5f 6d 61 74 63 68 65 64 28 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5b 5d 2c 20 75 6e code_matched(.Bit_model.bm[],.un
44de0 73 69 67 6e 65 64 20 6d 61 74 63 68 5f 62 79 74 65 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 42 69 signed.match_byte.).....{.....Bi
44e00 74 5f 6d 6f 64 65 6c 20 2a 20 63 6f 6e 73 74 20 62 6d 31 20 3d 20 62 6d 20 2b 20 30 78 31 30 30 t_model.*.const.bm1.=.bm.+.0x100
44e20 3b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 73 79 6d 62 6f 6c 20 3d 20 31 3b 0a 20 20 20 20 77 ;.....unsigned.symbol.=.1;.....w
44e40 68 69 6c 65 28 20 73 79 6d 62 6f 6c 20 3c 20 30 78 31 30 30 20 29 0a 20 20 20 20 20 20 7b 0a 20 hile(.symbol.<.0x100.).......{..
44e60 20 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6d 61 74 63 68 5f 62 69 74 20 3d 20 .....const.unsigned.match_bit.=.
44e80 28 20 6d 61 74 63 68 5f 62 79 74 65 20 3c 3c 3d 20 31 20 29 20 26 20 30 78 31 30 30 3b 0a 20 20 (.match_byte.<<=.1.).&.0x100;...
44ea0 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 62 69 74 20 3d 20 64 65 63 6f 64 65 5f ....const.unsigned.bit.=.decode_
44ec0 62 69 74 28 20 62 6d 31 5b 6d 61 74 63 68 5f 62 69 74 2b 73 79 6d 62 6f 6c 5d 20 29 3b 0a 20 20 bit(.bm1[match_bit+symbol].);...
44ee0 20 20 20 20 73 79 6d 62 6f 6c 20 3d 20 28 20 73 79 6d 62 6f 6c 20 3c 3c 20 31 20 29 20 7c 20 62 ....symbol.=.(.symbol.<<.1.).|.b
44f00 69 74 3b 0a 20 20 20 20 20 20 69 66 28 20 6d 61 74 63 68 5f 62 69 74 20 21 3d 20 62 69 74 20 3c it;.......if(.match_bit.!=.bit.<
44f20 3c 20 38 20 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 77 68 69 6c 65 28 20 73 <.8.).........{.........while(.s
44f40 79 6d 62 6f 6c 20 3c 20 30 78 31 30 30 20 29 0a 20 20 20 20 20 20 20 20 20 20 73 79 6d 62 6f 6c ymbol.<.0x100.)...........symbol
44f60 20 3d 20 28 20 73 79 6d 62 6f 6c 20 3c 3c 20 31 20 29 20 7c 20 64 65 63 6f 64 65 5f 62 69 74 28 .=.(.symbol.<<.1.).|.decode_bit(
44f80 20 62 6d 5b 73 79 6d 62 6f 6c 5d 20 29 3b 0a 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 .bm[symbol].);.........break;...
44fa0 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 72 65 74 75 72 6e 20 73 79 6d 62 6f ......}.......}.....return.symbo
44fc0 6c 20 26 20 30 78 46 46 3b 0a 20 20 20 20 7d 0a 0a 20 20 75 6e 73 69 67 6e 65 64 20 64 65 63 6f l.&.0xFF;.....}....unsigned.deco
44fe0 64 65 5f 6c 65 6e 28 20 4c 65 6e 5f 6d 6f 64 65 6c 20 26 20 6c 6d 2c 20 63 6f 6e 73 74 20 69 6e de_len(.Len_model.&.lm,.const.in
45000 74 20 70 6f 73 5f 73 74 61 74 65 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 64 65 63 6f t.pos_state.).....{.....if(.deco
45020 64 65 5f 62 69 74 28 20 6c 6d 2e 63 68 6f 69 63 65 31 20 29 20 3d 3d 20 30 20 29 0a 20 20 20 20 de_bit(.lm.choice1.).==.0.).....
45040 20 20 72 65 74 75 72 6e 20 64 65 63 6f 64 65 5f 74 72 65 65 33 28 20 6c 6d 2e 62 6d 5f 6c 6f 77 ..return.decode_tree3(.lm.bm_low
45060 5b 70 6f 73 5f 73 74 61 74 65 5d 20 29 3b 0a 20 20 20 20 69 66 28 20 64 65 63 6f 64 65 5f 62 69 [pos_state].);.....if(.decode_bi
45080 74 28 20 6c 6d 2e 63 68 6f 69 63 65 32 20 29 20 3d 3d 20 30 20 29 0a 20 20 20 20 20 20 72 65 74 t(.lm.choice2.).==.0.).......ret
450a0 75 72 6e 20 6c 65 6e 5f 6c 6f 77 5f 73 79 6d 62 6f 6c 73 20 2b 20 64 65 63 6f 64 65 5f 74 72 65 urn.len_low_symbols.+.decode_tre
450c0 65 33 28 20 6c 6d 2e 62 6d 5f 6d 69 64 5b 70 6f 73 5f 73 74 61 74 65 5d 20 29 3b 0a 20 20 20 20 e3(.lm.bm_mid[pos_state].);.....
450e0 72 65 74 75 72 6e 20 6c 65 6e 5f 6c 6f 77 5f 73 79 6d 62 6f 6c 73 20 2b 20 6c 65 6e 5f 6d 69 64 return.len_low_symbols.+.len_mid
45100 5f 73 79 6d 62 6f 6c 73 20 2b 20 64 65 63 6f 64 65 5f 74 72 65 65 38 28 20 6c 6d 2e 62 6d 5f 68 _symbols.+.decode_tree8(.lm.bm_h
45120 69 67 68 20 29 3b 0a 20 20 20 20 7d 0a 20 20 7d 3b 0a 0a 0a 63 6c 61 73 73 20 4c 5a 5f 64 65 63 igh.);.....}...};...class.LZ_dec
45140 6f 64 65 72 0a 20 20 7b 0a 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 70 61 oder...{...unsigned.long.long.pa
45160 72 74 69 61 6c 5f 64 61 74 61 5f 70 6f 73 3b 0a 20 20 52 61 6e 67 65 5f 64 65 63 6f 64 65 72 20 rtial_data_pos;...Range_decoder.
45180 26 20 72 64 65 63 3b 0a 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 64 69 63 74 69 6f 6e &.rdec;...const.unsigned.diction
451a0 61 72 79 5f 73 69 7a 65 3b 0a 20 20 75 69 6e 74 38 5f 74 20 2a 20 63 6f 6e 73 74 20 62 75 66 66 ary_size;...uint8_t.*.const.buff
451c0 65 72 3b 09 2f 2f 20 6f 75 74 70 75 74 20 62 75 66 66 65 72 0a 20 20 75 6e 73 69 67 6e 65 64 20 er;.//.output.buffer...unsigned.
451e0 70 6f 73 3b 09 09 09 2f 2f 20 63 75 72 72 65 6e 74 20 70 6f 73 20 69 6e 20 62 75 66 66 65 72 0a pos;...//.current.pos.in.buffer.
45200 20 20 75 6e 73 69 67 6e 65 64 20 73 74 72 65 61 6d 5f 70 6f 73 3b 09 09 2f 2f 20 66 69 72 73 74 ..unsigned.stream_pos;..//.first
45220 20 62 79 74 65 20 6e 6f 74 20 79 65 74 20 77 72 69 74 74 65 6e 20 74 6f 20 66 69 6c 65 0a 20 20 .byte.not.yet.written.to.file...
45240 75 69 6e 74 33 32 5f 74 20 63 72 63 5f 3b 0a 20 20 63 6f 6e 73 74 20 69 6e 74 20 6f 75 74 66 64 uint32_t.crc_;...const.int.outfd
45260 3b 09 09 2f 2f 20 6f 75 74 70 75 74 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 0a 20 20 62 ;..//.output.file.descriptor...b
45280 6f 6f 6c 20 70 6f 73 5f 77 72 61 70 70 65 64 3b 0a 0a 20 20 76 6f 69 64 20 66 6c 75 73 68 5f 64 ool.pos_wrapped;....void.flush_d
452a0 61 74 61 28 29 3b 0a 20 20 62 6f 6f 6c 20 76 65 72 69 66 79 5f 74 72 61 69 6c 65 72 28 20 63 6f ata();...bool.verify_trailer(.co
452c0 6e 73 74 20 50 72 65 74 74 79 5f 70 72 69 6e 74 20 26 20 70 70 20 29 20 63 6f 6e 73 74 3b 0a 0a nst.Pretty_print.&.pp.).const;..
452e0 20 20 75 69 6e 74 38 5f 74 20 70 65 65 6b 5f 70 72 65 76 28 29 20 63 6f 6e 73 74 0a 20 20 20 20 ..uint8_t.peek_prev().const.....
45300 7b 20 72 65 74 75 72 6e 20 62 75 66 66 65 72 5b 28 28 70 6f 73 20 3e 20 30 29 20 3f 20 70 6f 73 {.return.buffer[((pos.>.0).?.pos
45320 20 3a 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 29 2d 31 5d 3b 20 7d 0a 0a 20 20 75 69 6e .:.dictionary_size)-1];.}....uin
45340 74 38 5f 74 20 70 65 65 6b 28 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 64 69 73 74 61 6e t8_t.peek(.const.unsigned.distan
45360 63 65 20 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 ce.).const.....{.....const.unsig
45380 6e 65 64 20 69 20 3d 20 28 20 28 20 70 6f 73 20 3e 20 64 69 73 74 61 6e 63 65 20 29 20 3f 20 30 ned.i.=.(.(.pos.>.distance.).?.0
453a0 20 3a 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 20 2b 0a 20 20 20 20 20 20 20 20 20 .:.dictionary_size.).+..........
453c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 73 20 2d 20 64 69 73 74 61 6e 63 65 20 2d 20 31 ..............pos.-.distance.-.1
453e0 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 62 75 66 66 65 72 5b 69 5d 3b 0a 20 20 20 20 7d 0a 0a 20 ;.....return.buffer[i];.....}...
45400 20 76 6f 69 64 20 70 75 74 5f 62 79 74 65 28 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 62 20 .void.put_byte(.const.uint8_t.b.
45420 29 0a 20 20 20 20 7b 0a 20 20 20 20 62 75 66 66 65 72 5b 70 6f 73 5d 20 3d 20 62 3b 0a 20 20 20 ).....{.....buffer[pos].=.b;....
45440 20 69 66 28 20 2b 2b 70 6f 73 20 3e 3d 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 20 .if(.++pos.>=.dictionary_size.).
45460 66 6c 75 73 68 5f 64 61 74 61 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 76 6f 69 64 20 63 6f 70 79 flush_data();.....}....void.copy
45480 5f 62 6c 6f 63 6b 28 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 64 69 73 74 61 6e 63 65 2c _block(.const.unsigned.distance,
454a0 20 75 6e 73 69 67 6e 65 64 20 6c 65 6e 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 75 6e 73 69 67 6e .unsigned.len.).....{.....unsign
454c0 65 64 20 6c 70 6f 73 20 3d 20 70 6f 73 2c 20 69 20 3d 20 6c 70 6f 73 20 2d 20 64 69 73 74 61 6e ed.lpos.=.pos,.i.=.lpos.-.distan
454e0 63 65 20 2d 20 31 3b 0a 20 20 20 20 62 6f 6f 6c 20 66 61 73 74 2c 20 66 61 73 74 32 3b 0a 20 20 ce.-.1;.....bool.fast,.fast2;...
45500 20 20 69 66 28 20 6c 70 6f 73 20 3e 20 64 69 73 74 61 6e 63 65 20 29 0a 20 20 20 20 20 20 7b 0a ..if(.lpos.>.distance.).......{.
45520 20 20 20 20 20 20 66 61 73 74 20 3d 20 28 20 6c 65 6e 20 3c 20 64 69 63 74 69 6f 6e 61 72 79 5f ......fast.=.(.len.<.dictionary_
45540 73 69 7a 65 20 2d 20 6c 70 6f 73 20 29 3b 0a 20 20 20 20 20 20 66 61 73 74 32 20 3d 20 28 20 66 size.-.lpos.);.......fast2.=.(.f
45560 61 73 74 20 26 26 20 6c 65 6e 20 3c 3d 20 6c 70 6f 73 20 2d 20 69 20 29 3b 0a 20 20 20 20 20 20 ast.&&.len.<=.lpos.-.i.);.......
45580 7d 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 69 20 2b 3d 20 64 69 }.....else.......{.......i.+=.di
455a0 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 3b 0a 20 20 20 20 20 20 66 61 73 74 20 3d 20 28 20 6c 65 ctionary_size;.......fast.=.(.le
455c0 6e 20 3c 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 2d 20 69 20 29 3b 09 2f 2f 20 28 69 n.<.dictionary_size.-.i.);.//.(i
455e0 20 3d 3d 20 70 6f 73 29 20 6d 61 79 20 68 61 70 70 65 6e 0a 20 20 20 20 20 20 66 61 73 74 32 20 .==.pos).may.happen.......fast2.
45600 3d 20 28 20 66 61 73 74 20 26 26 20 6c 65 6e 20 3c 3d 20 69 20 2d 20 6c 70 6f 73 20 29 3b 0a 20 =.(.fast.&&.len.<=.i.-.lpos.);..
45620 20 20 20 20 20 7d 0a 20 20 20 20 69 66 28 20 66 61 73 74 20 29 09 09 09 09 09 2f 2f 20 6e 6f 20 .....}.....if(.fast.).....//.no.
45640 77 72 61 70 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 70 6f 73 20 2b 3d 20 6c 65 6e 3b 0a 20 wrap.......{.......pos.+=.len;..
45660 20 20 20 20 20 69 66 28 20 66 61 73 74 32 20 29 09 09 09 09 2f 2f 20 6e 6f 20 77 72 61 70 2c 20 .....if(.fast2.)....//.no.wrap,.
45680 6e 6f 20 6f 76 65 72 6c 61 70 0a 20 20 20 20 20 20 20 20 73 74 64 3a 3a 6d 65 6d 63 70 79 28 20 no.overlap.........std::memcpy(.
456a0 62 75 66 66 65 72 20 2b 20 6c 70 6f 73 2c 20 62 75 66 66 65 72 20 2b 20 69 2c 20 6c 65 6e 20 29 buffer.+.lpos,.buffer.+.i,.len.)
456c0 3b 0a 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 66 6f 72 28 20 3b 20 6c 65 6e 20 ;.......else.........for(.;.len.
456e0 3e 20 30 3b 20 2d 2d 6c 65 6e 20 29 20 62 75 66 66 65 72 5b 6c 70 6f 73 2b 2b 5d 20 3d 20 62 75 >.0;.--len.).buffer[lpos++].=.bu
45700 66 66 65 72 5b 69 2b 2b 5d 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 65 6c 73 65 20 66 6f 72 28 ffer[i++];.......}.....else.for(
45720 20 3b 20 6c 65 6e 20 3e 20 30 3b 20 2d 2d 6c 65 6e 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 .;.len.>.0;.--len.).......{.....
45740 20 20 62 75 66 66 65 72 5b 70 6f 73 5d 20 3d 20 62 75 66 66 65 72 5b 69 5d 3b 0a 20 20 20 20 20 ..buffer[pos].=.buffer[i];......
45760 20 69 66 28 20 2b 2b 70 6f 73 20 3e 3d 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 20 .if(.++pos.>=.dictionary_size.).
45780 66 6c 75 73 68 5f 64 61 74 61 28 29 3b 0a 20 20 20 20 20 20 69 66 28 20 2b 2b 69 20 3e 3d 20 64 flush_data();.......if(.++i.>=.d
457a0 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 20 69 20 3d 20 30 3b 0a 20 20 20 20 20 20 7d 0a ictionary_size.).i.=.0;.......}.
457c0 20 20 20 20 7d 0a 0a 20 20 4c 5a 5f 64 65 63 6f 64 65 72 28 20 63 6f 6e 73 74 20 4c 5a 5f 64 65 ....}....LZ_decoder(.const.LZ_de
457e0 63 6f 64 65 72 20 26 20 29 3b 09 09 2f 2f 20 64 65 63 6c 61 72 65 64 20 61 73 20 70 72 69 76 61 coder.&.);..//.declared.as.priva
45800 74 65 0a 20 20 76 6f 69 64 20 6f 70 65 72 61 74 6f 72 3d 28 20 63 6f 6e 73 74 20 4c 5a 5f 64 65 te...void.operator=(.const.LZ_de
45820 63 6f 64 65 72 20 26 20 29 3b 09 09 2f 2f 20 64 65 63 6c 61 72 65 64 20 61 73 20 70 72 69 76 61 coder.&.);..//.declared.as.priva
45840 74 65 0a 0a 70 75 62 6c 69 63 3a 0a 20 20 4c 5a 5f 64 65 63 6f 64 65 72 28 20 52 61 6e 67 65 5f te..public:...LZ_decoder(.Range_
45860 64 65 63 6f 64 65 72 20 26 20 72 64 65 2c 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 64 69 decoder.&.rde,.const.unsigned.di
45880 63 74 5f 73 69 7a 65 2c 20 63 6f 6e 73 74 20 69 6e 74 20 6f 66 64 20 29 0a 20 20 20 20 3a 0a 20 ct_size,.const.int.ofd.).....:..
458a0 20 20 20 70 61 72 74 69 61 6c 5f 64 61 74 61 5f 70 6f 73 28 20 30 20 29 2c 0a 20 20 20 20 72 64 ...partial_data_pos(.0.),.....rd
458c0 65 63 28 20 72 64 65 20 29 2c 0a 20 20 20 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 28 20 ec(.rde.),.....dictionary_size(.
458e0 64 69 63 74 5f 73 69 7a 65 20 29 2c 0a 20 20 20 20 62 75 66 66 65 72 28 20 6e 65 77 20 75 69 6e dict_size.),.....buffer(.new.uin
45900 74 38 5f 74 5b 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 5d 20 29 2c 0a 20 20 20 20 70 6f 73 t8_t[dictionary_size].),.....pos
45920 28 20 30 20 29 2c 0a 20 20 20 20 73 74 72 65 61 6d 5f 70 6f 73 28 20 30 20 29 2c 0a 20 20 20 20 (.0.),.....stream_pos(.0.),.....
45940 63 72 63 5f 28 20 30 78 46 46 46 46 46 46 46 46 55 20 29 2c 0a 20 20 20 20 6f 75 74 66 64 28 20 crc_(.0xFFFFFFFFU.),.....outfd(.
45960 6f 66 64 20 29 2c 0a 20 20 20 20 70 6f 73 5f 77 72 61 70 70 65 64 28 20 66 61 6c 73 65 20 29 0a ofd.),.....pos_wrapped(.false.).
45980 20 20 20 20 2f 2f 20 70 72 65 76 5f 62 79 74 65 20 6f 66 20 66 69 72 73 74 20 62 79 74 65 3b 20 ....//.prev_byte.of.first.byte;.
459a0 61 6c 73 6f 20 66 6f 72 20 70 65 65 6b 28 20 30 20 29 20 6f 6e 20 63 6f 72 72 75 70 74 20 66 69 also.for.peek(.0.).on.corrupt.fi
459c0 6c 65 0a 20 20 20 20 7b 20 62 75 66 66 65 72 5b 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 2d le.....{.buffer[dictionary_size-
459e0 31 5d 20 3d 20 30 3b 20 7d 0a 0a 20 20 7e 4c 5a 5f 64 65 63 6f 64 65 72 28 29 20 7b 20 64 65 6c 1].=.0;.}....~LZ_decoder().{.del
45a00 65 74 65 5b 5d 20 62 75 66 66 65 72 3b 20 7d 0a 0a 20 20 75 6e 73 69 67 6e 65 64 20 63 72 63 28 ete[].buffer;.}....unsigned.crc(
45a20 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 63 72 63 5f 20 5e 20 30 78 46 46 46 46 46 46 ).const.{.return.crc_.^.0xFFFFFF
45a40 46 46 55 3b 20 7d 0a 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 64 61 74 61 FFU;.}...unsigned.long.long.data
45a60 5f 70 6f 73 69 74 69 6f 6e 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 70 61 72 74 69 _position().const.{.return.parti
45a80 61 6c 5f 64 61 74 61 5f 70 6f 73 20 2b 20 70 6f 73 3b 20 7d 0a 0a 20 20 69 6e 74 20 64 65 63 6f al_data_pos.+.pos;.}....int.deco
45aa0 64 65 5f 6d 65 6d 62 65 72 28 20 63 6f 6e 73 74 20 50 72 65 74 74 79 5f 70 72 69 6e 74 20 26 20 de_member(.const.Pretty_print.&.
45ac0 70 70 20 29 3b 0a 20 20 7d 3b 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 pp.);...};......................
45ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45c00 6c 7a 69 70 2d 31 2e 32 30 2f 49 4e 53 54 41 4c 4c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 lzip-1.20/INSTALL...............
45c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45c60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
45c80 30 30 30 33 35 34 31 00 31 33 36 36 34 37 33 36 35 34 35 00 30 31 33 36 32 31 00 20 30 00 00 00 0003541.13664736545.013621..0...
45ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45d00 00 75 73 74 61 72 20 20 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...mohammad...............
45d20 00 00 00 00 00 00 00 00 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........mohammad...............
45d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45e00 52 65 71 75 69 72 65 6d 65 6e 74 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 59 6f 75 20 77 69 Requirements.------------.You.wi
45e20 6c 6c 20 6e 65 65 64 20 61 20 43 2b 2b 20 63 6f 6d 70 69 6c 65 72 2e 0a 49 20 75 73 65 20 67 63 ll.need.a.C++.compiler..I.use.gc
45e40 63 20 35 2e 33 2e 30 20 61 6e 64 20 34 2e 31 2e 32 2c 20 62 75 74 20 74 68 65 20 63 6f 64 65 20 c.5.3.0.and.4.1.2,.but.the.code.
45e60 73 68 6f 75 6c 64 20 63 6f 6d 70 69 6c 65 20 77 69 74 68 20 61 6e 79 0a 73 74 61 6e 64 61 72 64 should.compile.with.any.standard
45e80 73 20 63 6f 6d 70 6c 69 61 6e 74 20 63 6f 6d 70 69 6c 65 72 2e 0a 47 63 63 20 69 73 20 61 76 61 s.compliant.compiler..Gcc.is.ava
45ea0 69 6c 61 62 6c 65 20 61 74 20 68 74 74 70 3a 2f 2f 67 63 63 2e 67 6e 75 2e 6f 72 67 2e 0a 0a 0a ilable.at.http://gcc.gnu.org....
45ec0 50 72 6f 63 65 64 75 72 65 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 31 2e 20 55 6e 70 61 63 6b 20 74 68 Procedure.---------.1..Unpack.th
45ee0 65 20 61 72 63 68 69 76 65 20 69 66 20 79 6f 75 20 68 61 76 65 20 6e 6f 74 20 64 6f 6e 65 20 73 e.archive.if.you.have.not.done.s
45f00 6f 20 61 6c 72 65 61 64 79 3a 0a 0a 09 74 61 72 20 2d 78 66 20 6c 7a 69 70 5b 76 65 72 73 69 6f o.already:...tar.-xf.lzip[versio
45f20 6e 5d 2e 74 61 72 2e 6c 7a 0a 6f 72 0a 09 6c 7a 69 70 20 2d 63 64 20 6c 7a 69 70 5b 76 65 72 73 n].tar.lz.or..lzip.-cd.lzip[vers
45f40 69 6f 6e 5d 2e 74 61 72 2e 6c 7a 20 7c 20 74 61 72 20 2d 78 66 20 2d 0a 0a 54 68 69 73 20 63 72 ion].tar.lz.|.tar.-xf.-..This.cr
45f60 65 61 74 65 73 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 2e 2f 6c 7a 69 70 5b 76 65 72 73 69 eates.the.directory../lzip[versi
45f80 6f 6e 5d 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 73 6f 75 72 63 65 20 66 72 6f 6d 0a 74 on].containing.the.source.from.t
45fa0 68 65 20 6d 61 69 6e 20 61 72 63 68 69 76 65 2e 0a 0a 32 2e 20 43 68 61 6e 67 65 20 74 6f 20 6c he.main.archive...2..Change.to.l
45fc0 7a 69 70 20 64 69 72 65 63 74 6f 72 79 20 61 6e 64 20 72 75 6e 20 63 6f 6e 66 69 67 75 72 65 2e zip.directory.and.run.configure.
45fe0 0a 20 20 20 28 54 72 79 20 27 63 6f 6e 66 69 67 75 72 65 20 2d 2d 68 65 6c 70 27 20 66 6f 72 20 ....(Try.'configure.--help'.for.
46000 75 73 61 67 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 29 2e 0a 0a 09 63 64 20 6c 7a 69 70 5b 76 usage.instructions)....cd.lzip[v
46020 65 72 73 69 6f 6e 5d 0a 09 2e 2f 63 6f 6e 66 69 67 75 72 65 0a 0a 33 2e 20 52 75 6e 20 6d 61 6b ersion].../configure..3..Run.mak
46040 65 2e 0a 0a 09 6d 61 6b 65 0a 0a 34 2e 20 4f 70 74 69 6f 6e 61 6c 6c 79 2c 20 74 79 70 65 20 27 e....make..4..Optionally,.type.'
46060 6d 61 6b 65 20 63 68 65 63 6b 27 20 74 6f 20 72 75 6e 20 74 68 65 20 74 65 73 74 73 20 74 68 61 make.check'.to.run.the.tests.tha
46080 74 20 63 6f 6d 65 20 77 69 74 68 20 6c 7a 69 70 2e 0a 0a 35 2e 20 54 79 70 65 20 27 6d 61 6b 65 t.come.with.lzip...5..Type.'make
460a0 20 69 6e 73 74 61 6c 6c 27 20 74 6f 20 69 6e 73 74 61 6c 6c 20 74 68 65 20 70 72 6f 67 72 61 6d .install'.to.install.the.program
460c0 20 61 6e 64 20 61 6e 79 20 64 61 74 61 20 66 69 6c 65 73 20 61 6e 64 0a 20 20 20 64 6f 63 75 6d .and.any.data.files.and....docum
460e0 65 6e 74 61 74 69 6f 6e 2e 0a 0a 20 20 20 4f 72 20 74 79 70 65 20 27 6d 61 6b 65 20 69 6e 73 74 entation......Or.type.'make.inst
46100 61 6c 6c 2d 63 6f 6d 70 72 65 73 73 27 2c 20 77 68 69 63 68 20 61 64 64 69 74 69 6f 6e 61 6c 6c all-compress',.which.additionall
46120 79 20 63 6f 6d 70 72 65 73 73 65 73 20 74 68 65 0a 20 20 20 69 6e 66 6f 20 6d 61 6e 75 61 6c 20 y.compresses.the....info.manual.
46140 61 6e 64 20 74 68 65 20 6d 61 6e 20 70 61 67 65 20 61 66 74 65 72 20 69 6e 73 74 61 6c 6c 61 74 and.the.man.page.after.installat
46160 69 6f 6e 2e 20 28 49 6e 73 74 61 6c 6c 69 6e 67 0a 20 20 20 63 6f 6d 70 72 65 73 73 65 64 20 64 ion..(Installing....compressed.d
46180 6f 63 73 20 6d 61 79 20 62 65 63 6f 6d 65 20 74 68 65 20 64 65 66 61 75 6c 74 20 69 6e 20 74 68 ocs.may.become.the.default.in.th
461a0 65 20 66 75 74 75 72 65 29 2e 0a 0a 20 20 20 59 6f 75 20 63 61 6e 20 69 6e 73 74 61 6c 6c 20 6f e.future)......You.can.install.o
461c0 6e 6c 79 20 74 68 65 20 70 72 6f 67 72 61 6d 2c 20 74 68 65 20 69 6e 66 6f 20 6d 61 6e 75 61 6c nly.the.program,.the.info.manual
461e0 20 6f 72 20 74 68 65 20 6d 61 6e 20 70 61 67 65 20 62 79 0a 20 20 20 74 79 70 69 6e 67 20 27 6d .or.the.man.page.by....typing.'m
46200 61 6b 65 20 69 6e 73 74 61 6c 6c 2d 62 69 6e 27 2c 20 27 6d 61 6b 65 20 69 6e 73 74 61 6c 6c 2d ake.install-bin',.'make.install-
46220 69 6e 66 6f 27 20 6f 72 20 27 6d 61 6b 65 20 69 6e 73 74 61 6c 6c 2d 6d 61 6e 27 0a 20 20 20 72 info'.or.'make.install-man'....r
46240 65 73 70 65 63 74 69 76 65 6c 79 2e 0a 0a 0a 41 6e 6f 74 68 65 72 20 77 61 79 0a 2d 2d 2d 2d 2d espectively....Another.way.-----
46260 2d 2d 2d 2d 2d 2d 0a 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 63 6f 6d 70 69 6c 65 20 6c 7a 69 70 ------.You.can.also.compile.lzip
46280 20 69 6e 74 6f 20 61 20 73 65 70 61 72 61 74 65 20 64 69 72 65 63 74 6f 72 79 2e 0a 54 6f 20 64 .into.a.separate.directory..To.d
462a0 6f 20 74 68 69 73 2c 20 79 6f 75 20 6d 75 73 74 20 75 73 65 20 61 20 76 65 72 73 69 6f 6e 20 6f o.this,.you.must.use.a.version.o
462c0 66 20 27 6d 61 6b 65 27 20 74 68 61 74 20 73 75 70 70 6f 72 74 73 20 74 68 65 20 27 56 50 41 54 f.'make'.that.supports.the.'VPAT
462e0 48 27 0a 76 61 72 69 61 62 6c 65 2c 20 73 75 63 68 20 61 73 20 47 4e 55 20 27 6d 61 6b 65 27 2e H'.variable,.such.as.GNU.'make'.
46300 20 27 63 64 27 20 74 6f 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 77 68 65 72 65 20 79 6f 75 .'cd'.to.the.directory.where.you
46320 20 77 61 6e 74 20 74 68 65 0a 6f 62 6a 65 63 74 20 66 69 6c 65 73 20 61 6e 64 20 65 78 65 63 75 .want.the.object.files.and.execu
46340 74 61 62 6c 65 73 20 74 6f 20 67 6f 20 61 6e 64 20 72 75 6e 20 74 68 65 20 27 63 6f 6e 66 69 67 tables.to.go.and.run.the.'config
46360 75 72 65 27 20 73 63 72 69 70 74 2e 0a 27 63 6f 6e 66 69 67 75 72 65 27 20 61 75 74 6f 6d 61 74 ure'.script..'configure'.automat
46380 69 63 61 6c 6c 79 20 63 68 65 63 6b 73 20 66 6f 72 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 ically.checks.for.the.source.cod
463a0 65 20 69 6e 20 27 2e 27 2c 20 69 6e 20 27 2e 2e 27 20 61 6e 64 0a 69 6e 20 74 68 65 20 64 69 72 e.in.'.',.in.'..'.and.in.the.dir
463c0 65 63 74 6f 72 79 20 74 68 61 74 20 27 63 6f 6e 66 69 67 75 72 65 27 20 69 73 20 69 6e 2e 0a 0a ectory.that.'configure'.is.in...
463e0 27 63 6f 6e 66 69 67 75 72 65 27 20 72 65 63 6f 67 6e 69 7a 65 73 20 74 68 65 20 6f 70 74 69 6f 'configure'.recognizes.the.optio
46400 6e 20 27 2d 2d 73 72 63 64 69 72 3d 44 49 52 27 20 74 6f 20 63 6f 6e 74 72 6f 6c 20 77 68 65 72 n.'--srcdir=DIR'.to.control.wher
46420 65 20 74 6f 0a 6c 6f 6f 6b 20 66 6f 72 20 74 68 65 20 73 6f 75 72 63 65 73 2e 20 55 73 75 61 6c e.to.look.for.the.sources..Usual
46440 6c 79 20 27 63 6f 6e 66 69 67 75 72 65 27 20 63 61 6e 20 64 65 74 65 72 6d 69 6e 65 20 74 68 61 ly.'configure'.can.determine.tha
46460 74 20 64 69 72 65 63 74 6f 72 79 0a 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 2e 0a 0a 41 66 74 65 t.directory.automatically...Afte
46480 72 20 72 75 6e 6e 69 6e 67 20 27 63 6f 6e 66 69 67 75 72 65 27 2c 20 79 6f 75 20 63 61 6e 20 72 r.running.'configure',.you.can.r
464a0 75 6e 20 27 6d 61 6b 65 27 20 61 6e 64 20 27 6d 61 6b 65 20 69 6e 73 74 61 6c 6c 27 20 61 73 0a un.'make'.and.'make.install'.as.
464c0 65 78 70 6c 61 69 6e 65 64 20 61 62 6f 76 65 2e 0a 0a 0a 43 6f 70 79 72 69 67 68 74 20 28 43 29 explained.above....Copyright.(C)
464e0 20 32 30 30 38 2d 32 30 31 38 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 54 .2008-2018.Antonio.Diaz.Diaz...T
46500 68 69 73 20 66 69 6c 65 20 69 73 20 66 72 65 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3a 20 his.file.is.free.documentation:.
46520 79 6f 75 20 68 61 76 65 20 75 6e 6c 69 6d 69 74 65 64 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f you.have.unlimited.permission.to
46540 20 63 6f 70 79 2c 0a 64 69 73 74 72 69 62 75 74 65 20 61 6e 64 20 6d 6f 64 69 66 79 20 69 74 2e .copy,.distribute.and.modify.it.
46560 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
465a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
465c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
465e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46600 6c 7a 69 70 2d 31 2e 32 30 2f 65 6e 63 6f 64 65 72 5f 62 61 73 65 2e 68 00 00 00 00 00 00 00 00 lzip-1.20/encoder_base.h........
46620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
46680 30 30 33 35 31 37 35 00 31 33 36 36 34 37 33 36 35 34 35 00 30 31 35 33 36 32 00 20 30 00 00 00 0035175.13664736545.015362..0...
466a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
466c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
466e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46700 00 75 73 74 61 72 20 20 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...mohammad...............
46720 00 00 00 00 00 00 00 00 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........mohammad...............
46740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
467a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
467c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
467e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46800 2f 2a 20 20 4c 7a 69 70 20 2d 20 4c 5a 4d 41 20 6c 6f 73 73 6c 65 73 73 20 64 61 74 61 20 63 6f /*..Lzip.-.LZMA.lossless.data.co
46820 6d 70 72 65 73 73 6f 72 0a 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d mpressor.....Copyright.(C).2008-
46840 32 30 31 38 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 20 54 68 69 2018.Antonio.Diaz.Diaz.......Thi
46860 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 s.program.is.free.software:.you.
46880 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 can.redistribute.it.and/or.modif
468a0 79 0a 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 y.....it.under.the.terms.of.the.
468c0 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 GNU.General.Public.License.as.pu
468e0 62 6c 69 73 68 65 64 20 62 79 0a 20 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 blished.by.....the.Free.Software
46900 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 .Foundation,.either.version.2.of
46920 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 .the.License,.or.....(at.your.op
46940 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 20 54 68 tion).any.later.version.......Th
46960 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 is.program.is.distributed.in.the
46980 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 20 .hope.that.it.will.be.useful,...
469a0 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 ..but.WITHOUT.ANY.WARRANTY;.with
469c0 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 out.even.the.implied.warranty.of
469e0 0a 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 .....MERCHANTABILITY.or.FITNESS.
46a00 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 FOR.A.PARTICULAR.PURPOSE...See.t
46a20 68 65 0a 20 20 20 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 he.....GNU.General.Public.Licens
46a40 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 20 59 6f 75 20 73 68 6f e.for.more.details.......You.sho
46a60 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 uld.have.received.a.copy.of.the.
46a80 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 20 61 GNU.General.Public.License.....a
46aa0 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c long.with.this.program...If.not,
46ac0 20 73 65 65 20 3c 68 74 74 70 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 .see.<http://www.gnu.org/license
46ae0 73 2f 3e 2e 0a 2a 2f 0a 0a 65 6e 75 6d 20 7b 20 70 72 69 63 65 5f 73 68 69 66 74 5f 62 69 74 73 s/>..*/..enum.{.price_shift_bits
46b00 20 3d 20 36 2c 0a 20 20 20 20 20 20 20 70 72 69 63 65 5f 73 74 65 70 5f 62 69 74 73 20 3d 20 32 .=.6,........price_step_bits.=.2
46b20 2c 0a 20 20 20 20 20 20 20 70 72 69 63 65 5f 73 74 65 70 20 3d 20 31 20 3c 3c 20 70 72 69 63 65 ,........price_step.=.1.<<.price
46b40 5f 73 74 65 70 5f 62 69 74 73 20 7d 3b 0a 0a 63 6c 61 73 73 20 44 69 73 5f 73 6c 6f 74 73 0a 20 _step_bits.};..class.Dis_slots..
46b60 20 7b 0a 20 20 75 69 6e 74 38 5f 74 20 64 61 74 61 5b 31 3c 3c 31 30 5d 3b 0a 0a 70 75 62 6c 69 .{...uint8_t.data[1<<10];..publi
46b80 63 3a 0a 20 20 76 6f 69 64 20 69 6e 69 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 66 6f 72 28 20 c:...void.init().....{.....for(.
46ba0 69 6e 74 20 73 6c 6f 74 20 3d 20 30 3b 20 73 6c 6f 74 20 3c 20 34 3b 20 2b 2b 73 6c 6f 74 20 29 int.slot.=.0;.slot.<.4;.++slot.)
46bc0 20 64 61 74 61 5b 73 6c 6f 74 5d 20 3d 20 73 6c 6f 74 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 .data[slot].=.slot;.....for(.int
46be0 20 69 20 3d 20 34 2c 20 73 69 7a 65 20 3d 20 32 2c 20 73 6c 6f 74 20 3d 20 34 3b 20 73 6c 6f 74 .i.=.4,.size.=.2,.slot.=.4;.slot
46c00 20 3c 20 32 30 3b 20 73 6c 6f 74 20 2b 3d 20 32 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 .<.20;.slot.+=.2.).......{......
46c20 20 73 74 64 3a 3a 6d 65 6d 73 65 74 28 20 26 64 61 74 61 5b 69 5d 2c 20 73 6c 6f 74 2c 20 73 69 .std::memset(.&data[i],.slot,.si
46c40 7a 65 20 29 3b 0a 20 20 20 20 20 20 73 74 64 3a 3a 6d 65 6d 73 65 74 28 20 26 64 61 74 61 5b 69 ze.);.......std::memset(.&data[i
46c60 2b 73 69 7a 65 5d 2c 20 73 6c 6f 74 20 2b 20 31 2c 20 73 69 7a 65 20 29 3b 0a 20 20 20 20 20 20 +size],.slot.+.1,.size.);.......
46c80 73 69 7a 65 20 3c 3c 3d 20 31 3b 0a 20 20 20 20 20 20 69 20 2b 3d 20 73 69 7a 65 3b 0a 20 20 20 size.<<=.1;.......i.+=.size;....
46ca0 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 75 69 6e 74 38 5f 74 20 6f 70 65 72 61 74 6f 72 5b 5d ...}.....}....uint8_t.operator[]
46cc0 28 20 63 6f 6e 73 74 20 69 6e 74 20 64 69 73 20 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e (.const.int.dis.).const.{.return
46ce0 20 64 61 74 61 5b 64 69 73 5d 3b 20 7d 0a 20 20 7d 3b 0a 0a 65 78 74 65 72 6e 20 44 69 73 5f 73 .data[dis];.}...};..extern.Dis_s
46d00 6c 6f 74 73 20 64 69 73 5f 73 6c 6f 74 73 3b 0a 0a 69 6e 6c 69 6e 65 20 75 69 6e 74 38 5f 74 20 lots.dis_slots;..inline.uint8_t.
46d20 67 65 74 5f 73 6c 6f 74 28 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 64 69 73 20 29 0a 20 get_slot(.const.unsigned.dis.)..
46d40 20 7b 0a 20 20 69 66 28 20 64 69 73 20 3c 20 28 31 20 3c 3c 20 31 30 29 20 29 20 72 65 74 75 72 .{...if(.dis.<.(1.<<.10).).retur
46d60 6e 20 64 69 73 5f 73 6c 6f 74 73 5b 64 69 73 5d 3b 0a 20 20 69 66 28 20 64 69 73 20 3c 20 28 31 n.dis_slots[dis];...if(.dis.<.(1
46d80 20 3c 3c 20 31 39 29 20 29 20 72 65 74 75 72 6e 20 64 69 73 5f 73 6c 6f 74 73 5b 64 69 73 3e 3e .<<.19).).return.dis_slots[dis>>
46da0 20 39 5d 20 2b 20 31 38 3b 0a 20 20 69 66 28 20 64 69 73 20 3c 20 28 31 20 3c 3c 20 32 38 29 20 .9].+.18;...if(.dis.<.(1.<<.28).
46dc0 29 20 72 65 74 75 72 6e 20 64 69 73 5f 73 6c 6f 74 73 5b 64 69 73 3e 3e 31 38 5d 20 2b 20 33 36 ).return.dis_slots[dis>>18].+.36
46de0 3b 0a 20 20 72 65 74 75 72 6e 20 64 69 73 5f 73 6c 6f 74 73 5b 64 69 73 3e 3e 32 37 5d 20 2b 20 ;...return.dis_slots[dis>>27].+.
46e00 35 34 3b 0a 20 20 7d 0a 0a 0a 63 6c 61 73 73 20 50 72 6f 62 5f 70 72 69 63 65 73 0a 20 20 7b 0a 54;...}...class.Prob_prices...{.
46e20 20 20 73 68 6f 72 74 20 64 61 74 61 5b 62 69 74 5f 6d 6f 64 65 6c 5f 74 6f 74 61 6c 20 3e 3e 20 ..short.data[bit_model_total.>>.
46e40 70 72 69 63 65 5f 73 74 65 70 5f 62 69 74 73 5d 3b 0a 0a 70 75 62 6c 69 63 3a 0a 20 20 76 6f 69 price_step_bits];..public:...voi
46e60 64 20 69 6e 69 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 d.init().....{.....for(.int.i.=.
46e80 30 3b 20 69 20 3c 20 62 69 74 5f 6d 6f 64 65 6c 5f 74 6f 74 61 6c 20 3e 3e 20 70 72 69 63 65 5f 0;.i.<.bit_model_total.>>.price_
46ea0 73 74 65 70 5f 62 69 74 73 3b 20 2b 2b 69 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 75 step_bits;.++i.).......{.......u
46ec0 6e 73 69 67 6e 65 64 20 76 61 6c 20 3d 20 28 20 69 20 2a 20 70 72 69 63 65 5f 73 74 65 70 20 29 nsigned.val.=.(.i.*.price_step.)
46ee0 20 2b 20 28 20 70 72 69 63 65 5f 73 74 65 70 20 2f 20 32 20 29 3b 0a 20 20 20 20 20 20 69 6e 74 .+.(.price_step./.2.);.......int
46f00 20 62 69 74 73 20 3d 20 30 3b 09 09 09 09 2f 2f 20 62 61 73 65 20 32 20 6c 6f 67 61 72 69 74 68 .bits.=.0;....//.base.2.logarith
46f20 6d 20 6f 66 20 76 61 6c 0a 20 20 20 20 20 20 66 6f 72 28 20 69 6e 74 20 6a 20 3d 20 30 3b 20 6a m.of.val.......for(.int.j.=.0;.j
46f40 20 3c 20 70 72 69 63 65 5f 73 68 69 66 74 5f 62 69 74 73 3b 20 2b 2b 6a 20 29 0a 20 20 20 20 20 .<.price_shift_bits;.++j.)......
46f60 20 20 20 7b 0a 20 20 20 20 20 20 20 20 76 61 6c 20 3d 20 76 61 6c 20 2a 20 76 61 6c 3b 0a 20 20 ...{.........val.=.val.*.val;...
46f80 20 20 20 20 20 20 62 69 74 73 20 3c 3c 3d 20 31 3b 0a 20 20 20 20 20 20 20 20 77 68 69 6c 65 28 ......bits.<<=.1;.........while(
46fa0 20 76 61 6c 20 3e 3d 20 31 20 3c 3c 20 31 36 20 29 20 7b 20 76 61 6c 20 3e 3e 3d 20 31 3b 20 2b .val.>=.1.<<.16.).{.val.>>=.1;.+
46fc0 2b 62 69 74 73 3b 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 62 69 74 73 20 2b 3d +bits;.}.........}.......bits.+=
46fe0 20 31 35 3b 09 09 09 09 2f 2f 20 72 65 6d 61 69 6e 69 6e 67 20 62 69 74 73 20 69 6e 20 76 61 6c .15;....//.remaining.bits.in.val
47000 0a 20 20 20 20 20 20 64 61 74 61 5b 69 5d 20 3d 20 28 20 62 69 74 5f 6d 6f 64 65 6c 5f 74 6f 74 .......data[i].=.(.bit_model_tot
47020 61 6c 5f 62 69 74 73 20 3c 3c 20 70 72 69 63 65 5f 73 68 69 66 74 5f 62 69 74 73 20 29 20 2d 20 al_bits.<<.price_shift_bits.).-.
47040 62 69 74 73 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 69 6e 74 20 6f 70 65 72 61 bits;.......}.....}....int.opera
47060 74 6f 72 5b 5d 28 20 63 6f 6e 73 74 20 69 6e 74 20 70 72 6f 62 61 62 69 6c 69 74 79 20 29 20 63 tor[](.const.int.probability.).c
47080 6f 6e 73 74 0a 20 20 20 20 7b 20 72 65 74 75 72 6e 20 64 61 74 61 5b 70 72 6f 62 61 62 69 6c 69 onst.....{.return.data[probabili
470a0 74 79 20 3e 3e 20 70 72 69 63 65 5f 73 74 65 70 5f 62 69 74 73 5d 3b 20 7d 0a 20 20 7d 3b 0a 0a ty.>>.price_step_bits];.}...};..
470c0 65 78 74 65 72 6e 20 50 72 6f 62 5f 70 72 69 63 65 73 20 70 72 6f 62 5f 70 72 69 63 65 73 3b 0a extern.Prob_prices.prob_prices;.
470e0 0a 0a 69 6e 6c 69 6e 65 20 69 6e 74 20 70 72 69 63 65 30 28 20 63 6f 6e 73 74 20 42 69 74 5f 6d ..inline.int.price0(.const.Bit_m
47100 6f 64 65 6c 20 62 6d 20 29 0a 20 20 7b 20 72 65 74 75 72 6e 20 70 72 6f 62 5f 70 72 69 63 65 73 odel.bm.)...{.return.prob_prices
47120 5b 62 6d 2e 70 72 6f 62 61 62 69 6c 69 74 79 5d 3b 20 7d 0a 0a 69 6e 6c 69 6e 65 20 69 6e 74 20 [bm.probability];.}..inline.int.
47140 70 72 69 63 65 31 28 20 63 6f 6e 73 74 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 20 29 0a 20 20 7b price1(.const.Bit_model.bm.)...{
47160 20 72 65 74 75 72 6e 20 70 72 6f 62 5f 70 72 69 63 65 73 5b 62 69 74 5f 6d 6f 64 65 6c 5f 74 6f .return.prob_prices[bit_model_to
47180 74 61 6c 20 2d 20 62 6d 2e 70 72 6f 62 61 62 69 6c 69 74 79 5d 3b 20 7d 0a 0a 69 6e 6c 69 6e 65 tal.-.bm.probability];.}..inline
471a0 20 69 6e 74 20 70 72 69 63 65 5f 62 69 74 28 20 63 6f 6e 73 74 20 42 69 74 5f 6d 6f 64 65 6c 20 .int.price_bit(.const.Bit_model.
471c0 62 6d 2c 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 62 69 74 20 29 0a 20 20 7b 20 72 65 74 75 72 6e 20 bm,.const.bool.bit.)...{.return.
471e0 28 20 62 69 74 20 3f 20 70 72 69 63 65 31 28 20 62 6d 20 29 20 3a 20 70 72 69 63 65 30 28 20 62 (.bit.?.price1(.bm.).:.price0(.b
47200 6d 20 29 20 29 3b 20 7d 0a 0a 0a 69 6e 6c 69 6e 65 20 69 6e 74 20 70 72 69 63 65 5f 73 79 6d 62 m.).);.}...inline.int.price_symb
47220 6f 6c 33 28 20 63 6f 6e 73 74 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5b 5d 2c 20 69 6e 74 20 73 ol3(.const.Bit_model.bm[],.int.s
47240 79 6d 62 6f 6c 20 29 0a 20 20 7b 0a 20 20 62 6f 6f 6c 20 62 69 74 20 3d 20 73 79 6d 62 6f 6c 20 ymbol.)...{...bool.bit.=.symbol.
47260 26 20 31 3b 0a 20 20 73 79 6d 62 6f 6c 20 7c 3d 20 38 3b 20 73 79 6d 62 6f 6c 20 3e 3e 3d 20 31 &.1;...symbol.|=.8;.symbol.>>=.1
47280 3b 0a 20 20 69 6e 74 20 70 72 69 63 65 20 3d 20 70 72 69 63 65 5f 62 69 74 28 20 62 6d 5b 73 79 ;...int.price.=.price_bit(.bm[sy
472a0 6d 62 6f 6c 5d 2c 20 62 69 74 20 29 3b 0a 20 20 62 69 74 20 3d 20 73 79 6d 62 6f 6c 20 26 20 31 mbol],.bit.);...bit.=.symbol.&.1
472c0 3b 20 73 79 6d 62 6f 6c 20 3e 3e 3d 20 31 3b 20 70 72 69 63 65 20 2b 3d 20 70 72 69 63 65 5f 62 ;.symbol.>>=.1;.price.+=.price_b
472e0 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 2c 20 62 69 74 20 29 3b 0a 20 20 72 65 74 75 72 6e 20 it(.bm[symbol],.bit.);...return.
47300 70 72 69 63 65 20 2b 20 70 72 69 63 65 5f 62 69 74 28 20 62 6d 5b 31 5d 2c 20 73 79 6d 62 6f 6c price.+.price_bit(.bm[1],.symbol
47320 20 26 20 31 20 29 3b 0a 20 20 7d 0a 0a 0a 69 6e 6c 69 6e 65 20 69 6e 74 20 70 72 69 63 65 5f 73 .&.1.);...}...inline.int.price_s
47340 79 6d 62 6f 6c 36 28 20 63 6f 6e 73 74 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5b 5d 2c 20 75 6e ymbol6(.const.Bit_model.bm[],.un
47360 73 69 67 6e 65 64 20 73 79 6d 62 6f 6c 20 29 0a 20 20 7b 0a 20 20 62 6f 6f 6c 20 62 69 74 20 3d signed.symbol.)...{...bool.bit.=
47380 20 73 79 6d 62 6f 6c 20 26 20 31 3b 0a 20 20 73 79 6d 62 6f 6c 20 7c 3d 20 36 34 3b 20 73 79 6d .symbol.&.1;...symbol.|=.64;.sym
473a0 62 6f 6c 20 3e 3e 3d 20 31 3b 0a 20 20 69 6e 74 20 70 72 69 63 65 20 3d 20 70 72 69 63 65 5f 62 bol.>>=.1;...int.price.=.price_b
473c0 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 2c 20 62 69 74 20 29 3b 0a 20 20 62 69 74 20 3d 20 73 it(.bm[symbol],.bit.);...bit.=.s
473e0 79 6d 62 6f 6c 20 26 20 31 3b 20 73 79 6d 62 6f 6c 20 3e 3e 3d 20 31 3b 20 70 72 69 63 65 20 2b ymbol.&.1;.symbol.>>=.1;.price.+
47400 3d 20 70 72 69 63 65 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 2c 20 62 69 74 20 29 3b 0a =.price_bit(.bm[symbol],.bit.);.
47420 20 20 62 69 74 20 3d 20 73 79 6d 62 6f 6c 20 26 20 31 3b 20 73 79 6d 62 6f 6c 20 3e 3e 3d 20 31 ..bit.=.symbol.&.1;.symbol.>>=.1
47440 3b 20 70 72 69 63 65 20 2b 3d 20 70 72 69 63 65 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d ;.price.+=.price_bit(.bm[symbol]
47460 2c 20 62 69 74 20 29 3b 0a 20 20 62 69 74 20 3d 20 73 79 6d 62 6f 6c 20 26 20 31 3b 20 73 79 6d ,.bit.);...bit.=.symbol.&.1;.sym
47480 62 6f 6c 20 3e 3e 3d 20 31 3b 20 70 72 69 63 65 20 2b 3d 20 70 72 69 63 65 5f 62 69 74 28 20 62 bol.>>=.1;.price.+=.price_bit(.b
474a0 6d 5b 73 79 6d 62 6f 6c 5d 2c 20 62 69 74 20 29 3b 0a 20 20 62 69 74 20 3d 20 73 79 6d 62 6f 6c m[symbol],.bit.);...bit.=.symbol
474c0 20 26 20 31 3b 20 73 79 6d 62 6f 6c 20 3e 3e 3d 20 31 3b 20 70 72 69 63 65 20 2b 3d 20 70 72 69 .&.1;.symbol.>>=.1;.price.+=.pri
474e0 63 65 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 2c 20 62 69 74 20 29 3b 0a 20 20 72 65 74 ce_bit(.bm[symbol],.bit.);...ret
47500 75 72 6e 20 70 72 69 63 65 20 2b 20 70 72 69 63 65 5f 62 69 74 28 20 62 6d 5b 31 5d 2c 20 73 79 urn.price.+.price_bit(.bm[1],.sy
47520 6d 62 6f 6c 20 26 20 31 20 29 3b 0a 20 20 7d 0a 0a 0a 69 6e 6c 69 6e 65 20 69 6e 74 20 70 72 69 mbol.&.1.);...}...inline.int.pri
47540 63 65 5f 73 79 6d 62 6f 6c 38 28 20 63 6f 6e 73 74 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5b 5d ce_symbol8(.const.Bit_model.bm[]
47560 2c 20 69 6e 74 20 73 79 6d 62 6f 6c 20 29 0a 20 20 7b 0a 20 20 62 6f 6f 6c 20 62 69 74 20 3d 20 ,.int.symbol.)...{...bool.bit.=.
47580 73 79 6d 62 6f 6c 20 26 20 31 3b 0a 20 20 73 79 6d 62 6f 6c 20 7c 3d 20 30 78 31 30 30 3b 20 73 symbol.&.1;...symbol.|=.0x100;.s
475a0 79 6d 62 6f 6c 20 3e 3e 3d 20 31 3b 0a 20 20 69 6e 74 20 70 72 69 63 65 20 3d 20 70 72 69 63 65 ymbol.>>=.1;...int.price.=.price
475c0 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 2c 20 62 69 74 20 29 3b 0a 20 20 62 69 74 20 3d _bit(.bm[symbol],.bit.);...bit.=
475e0 20 73 79 6d 62 6f 6c 20 26 20 31 3b 20 73 79 6d 62 6f 6c 20 3e 3e 3d 20 31 3b 20 70 72 69 63 65 .symbol.&.1;.symbol.>>=.1;.price
47600 20 2b 3d 20 70 72 69 63 65 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 2c 20 62 69 74 20 29 .+=.price_bit(.bm[symbol],.bit.)
47620 3b 0a 20 20 62 69 74 20 3d 20 73 79 6d 62 6f 6c 20 26 20 31 3b 20 73 79 6d 62 6f 6c 20 3e 3e 3d ;...bit.=.symbol.&.1;.symbol.>>=
47640 20 31 3b 20 70 72 69 63 65 20 2b 3d 20 70 72 69 63 65 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f .1;.price.+=.price_bit(.bm[symbo
47660 6c 5d 2c 20 62 69 74 20 29 3b 0a 20 20 62 69 74 20 3d 20 73 79 6d 62 6f 6c 20 26 20 31 3b 20 73 l],.bit.);...bit.=.symbol.&.1;.s
47680 79 6d 62 6f 6c 20 3e 3e 3d 20 31 3b 20 70 72 69 63 65 20 2b 3d 20 70 72 69 63 65 5f 62 69 74 28 ymbol.>>=.1;.price.+=.price_bit(
476a0 20 62 6d 5b 73 79 6d 62 6f 6c 5d 2c 20 62 69 74 20 29 3b 0a 20 20 62 69 74 20 3d 20 73 79 6d 62 .bm[symbol],.bit.);...bit.=.symb
476c0 6f 6c 20 26 20 31 3b 20 73 79 6d 62 6f 6c 20 3e 3e 3d 20 31 3b 20 70 72 69 63 65 20 2b 3d 20 70 ol.&.1;.symbol.>>=.1;.price.+=.p
476e0 72 69 63 65 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 2c 20 62 69 74 20 29 3b 0a 20 20 62 rice_bit(.bm[symbol],.bit.);...b
47700 69 74 20 3d 20 73 79 6d 62 6f 6c 20 26 20 31 3b 20 73 79 6d 62 6f 6c 20 3e 3e 3d 20 31 3b 20 70 it.=.symbol.&.1;.symbol.>>=.1;.p
47720 72 69 63 65 20 2b 3d 20 70 72 69 63 65 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 2c 20 62 rice.+=.price_bit(.bm[symbol],.b
47740 69 74 20 29 3b 0a 20 20 62 69 74 20 3d 20 73 79 6d 62 6f 6c 20 26 20 31 3b 20 73 79 6d 62 6f 6c it.);...bit.=.symbol.&.1;.symbol
47760 20 3e 3e 3d 20 31 3b 20 70 72 69 63 65 20 2b 3d 20 70 72 69 63 65 5f 62 69 74 28 20 62 6d 5b 73 .>>=.1;.price.+=.price_bit(.bm[s
47780 79 6d 62 6f 6c 5d 2c 20 62 69 74 20 29 3b 0a 20 20 72 65 74 75 72 6e 20 70 72 69 63 65 20 2b 20 ymbol],.bit.);...return.price.+.
477a0 70 72 69 63 65 5f 62 69 74 28 20 62 6d 5b 31 5d 2c 20 73 79 6d 62 6f 6c 20 26 20 31 20 29 3b 0a price_bit(.bm[1],.symbol.&.1.);.
477c0 20 20 7d 0a 0a 0a 69 6e 6c 69 6e 65 20 69 6e 74 20 70 72 69 63 65 5f 73 79 6d 62 6f 6c 5f 72 65 ..}...inline.int.price_symbol_re
477e0 76 65 72 73 65 64 28 20 63 6f 6e 73 74 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5b 5d 2c 20 69 6e versed(.const.Bit_model.bm[],.in
47800 74 20 73 79 6d 62 6f 6c 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.symbol,.......................
47820 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 6e 75 6d 5f 62 69 74 73 20 29 ............const.int.num_bits.)
47840 0a 20 20 7b 0a 20 20 69 6e 74 20 70 72 69 63 65 20 3d 20 30 3b 0a 20 20 69 6e 74 20 6d 6f 64 65 ...{...int.price.=.0;...int.mode
47860 6c 20 3d 20 31 3b 0a 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 6e 75 6d 5f 62 69 74 73 3b 20 l.=.1;...for(.int.i.=.num_bits;.
47880 69 20 3e 20 30 3b 20 2d 2d 69 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 62 6f 6f i.>.0;.--i.).....{.....const.boo
478a0 6c 20 62 69 74 20 3d 20 73 79 6d 62 6f 6c 20 26 20 31 3b 0a 20 20 20 20 73 79 6d 62 6f 6c 20 3e l.bit.=.symbol.&.1;.....symbol.>
478c0 3e 3d 20 31 3b 0a 20 20 20 20 70 72 69 63 65 20 2b 3d 20 70 72 69 63 65 5f 62 69 74 28 20 62 6d >=.1;.....price.+=.price_bit(.bm
478e0 5b 6d 6f 64 65 6c 5d 2c 20 62 69 74 20 29 3b 0a 20 20 20 20 6d 6f 64 65 6c 20 3d 20 28 20 6d 6f [model],.bit.);.....model.=.(.mo
47900 64 65 6c 20 3c 3c 20 31 20 29 20 7c 20 62 69 74 3b 0a 20 20 20 20 7d 0a 20 20 72 65 74 75 72 6e del.<<.1.).|.bit;.....}...return
47920 20 70 72 69 63 65 3b 0a 20 20 7d 0a 0a 0a 69 6e 6c 69 6e 65 20 69 6e 74 20 70 72 69 63 65 5f 6d .price;...}...inline.int.price_m
47940 61 74 63 68 65 64 28 20 63 6f 6e 73 74 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5b 5d 2c 20 75 6e atched(.const.Bit_model.bm[],.un
47960 73 69 67 6e 65 64 20 73 79 6d 62 6f 6c 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 signed.symbol,..................
47980 20 20 20 20 20 20 20 20 20 75 6e 73 69 67 6e 65 64 20 6d 61 74 63 68 5f 62 79 74 65 20 29 0a 20 .........unsigned.match_byte.)..
479a0 20 7b 0a 20 20 69 6e 74 20 70 72 69 63 65 20 3d 20 30 3b 0a 20 20 75 6e 73 69 67 6e 65 64 20 6d .{...int.price.=.0;...unsigned.m
479c0 61 73 6b 20 3d 20 30 78 31 30 30 3b 0a 20 20 73 79 6d 62 6f 6c 20 7c 3d 20 6d 61 73 6b 3b 0a 20 ask.=.0x100;...symbol.|=.mask;..
479e0 20 77 68 69 6c 65 28 20 74 72 75 65 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 75 .while(.true.).....{.....const.u
47a00 6e 73 69 67 6e 65 64 20 6d 61 74 63 68 5f 62 69 74 20 3d 20 28 20 6d 61 74 63 68 5f 62 79 74 65 nsigned.match_bit.=.(.match_byte
47a20 20 3c 3c 3d 20 31 20 29 20 26 20 6d 61 73 6b 3b 0a 20 20 20 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 .<<=.1.).&.mask;.....const.bool.
47a40 62 69 74 20 3d 20 28 20 73 79 6d 62 6f 6c 20 3c 3c 3d 20 31 20 29 20 26 20 30 78 31 30 30 3b 0a bit.=.(.symbol.<<=.1.).&.0x100;.
47a60 20 20 20 20 70 72 69 63 65 20 2b 3d 20 70 72 69 63 65 5f 62 69 74 28 20 62 6d 5b 28 73 79 6d 62 ....price.+=.price_bit(.bm[(symb
47a80 6f 6c 3e 3e 39 29 2b 6d 61 74 63 68 5f 62 69 74 2b 6d 61 73 6b 5d 2c 20 62 69 74 20 29 3b 0a 20 ol>>9)+match_bit+mask],.bit.);..
47aa0 20 20 20 69 66 28 20 73 79 6d 62 6f 6c 20 3e 3d 20 30 78 31 30 30 30 30 20 29 20 72 65 74 75 72 ...if(.symbol.>=.0x10000.).retur
47ac0 6e 20 70 72 69 63 65 3b 0a 20 20 20 20 6d 61 73 6b 20 26 3d 20 7e 28 6d 61 74 63 68 5f 62 69 74 n.price;.....mask.&=.~(match_bit
47ae0 20 5e 20 73 79 6d 62 6f 6c 29 3b 09 2f 2f 20 69 66 28 20 6d 61 74 63 68 5f 62 69 74 20 21 3d 20 .^.symbol);.//.if(.match_bit.!=.
47b00 62 69 74 20 29 20 6d 61 73 6b 20 3d 20 30 3b 0a 20 20 20 20 7d 0a 20 20 7d 0a 0a 0a 63 6c 61 73 bit.).mask.=.0;.....}...}...clas
47b20 73 20 4d 61 74 63 68 66 69 6e 64 65 72 5f 62 61 73 65 0a 20 20 7b 0a 20 20 62 6f 6f 6c 20 72 65 s.Matchfinder_base...{...bool.re
47b40 61 64 5f 62 6c 6f 63 6b 28 29 3b 0a 20 20 76 6f 69 64 20 6e 6f 72 6d 61 6c 69 7a 65 5f 70 6f 73 ad_block();...void.normalize_pos
47b60 28 29 3b 0a 0a 20 20 4d 61 74 63 68 66 69 6e 64 65 72 5f 62 61 73 65 28 20 63 6f 6e 73 74 20 4d ();....Matchfinder_base(.const.M
47b80 61 74 63 68 66 69 6e 64 65 72 5f 62 61 73 65 20 26 20 29 3b 09 2f 2f 20 64 65 63 6c 61 72 65 64 atchfinder_base.&.);.//.declared
47ba0 20 61 73 20 70 72 69 76 61 74 65 0a 20 20 76 6f 69 64 20 6f 70 65 72 61 74 6f 72 3d 28 20 63 6f .as.private...void.operator=(.co
47bc0 6e 73 74 20 4d 61 74 63 68 66 69 6e 64 65 72 5f 62 61 73 65 20 26 20 29 3b 09 2f 2f 20 64 65 63 nst.Matchfinder_base.&.);.//.dec
47be0 6c 61 72 65 64 20 61 73 20 70 72 69 76 61 74 65 0a 0a 70 72 6f 74 65 63 74 65 64 3a 0a 20 20 75 lared.as.private..protected:...u
47c00 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 70 61 72 74 69 61 6c 5f 64 61 74 61 5f 70 nsigned.long.long.partial_data_p
47c20 6f 73 3b 0a 20 20 75 69 6e 74 38 5f 74 20 2a 20 62 75 66 66 65 72 3b 09 09 2f 2f 20 69 6e 70 75 os;...uint8_t.*.buffer;..//.inpu
47c40 74 20 62 75 66 66 65 72 0a 20 20 69 6e 74 33 32 5f 74 20 2a 20 70 72 65 76 5f 70 6f 73 69 74 69 t.buffer...int32_t.*.prev_positi
47c60 6f 6e 73 3b 09 2f 2f 20 31 20 2b 20 6c 61 73 74 20 73 65 65 6e 20 70 6f 73 69 74 69 6f 6e 20 6f ons;.//.1.+.last.seen.position.o
47c80 66 20 6b 65 79 2e 20 65 6c 73 65 20 30 0a 20 20 69 6e 74 33 32 5f 74 20 2a 20 70 6f 73 5f 61 72 f.key..else.0...int32_t.*.pos_ar
47ca0 72 61 79 3b 09 09 2f 2f 20 6d 61 79 20 62 65 20 74 72 65 65 20 6f 72 20 63 68 61 69 6e 0a 20 20 ray;..//.may.be.tree.or.chain...
47cc0 63 6f 6e 73 74 20 69 6e 74 20 62 65 66 6f 72 65 5f 73 69 7a 65 3b 09 2f 2f 20 62 79 74 65 73 20 const.int.before_size;.//.bytes.
47ce0 74 6f 20 6b 65 65 70 20 69 6e 20 62 75 66 66 65 72 20 62 65 66 6f 72 65 20 64 69 63 74 69 6f 6e to.keep.in.buffer.before.diction
47d00 61 72 79 0a 20 20 69 6e 74 20 62 75 66 66 65 72 5f 73 69 7a 65 3b 0a 20 20 69 6e 74 20 64 69 63 ary...int.buffer_size;...int.dic
47d20 74 69 6f 6e 61 72 79 5f 73 69 7a 65 3b 09 09 2f 2f 20 62 79 74 65 73 20 74 6f 20 6b 65 65 70 20 tionary_size;..//.bytes.to.keep.
47d40 69 6e 20 62 75 66 66 65 72 20 62 65 66 6f 72 65 20 70 6f 73 0a 20 20 69 6e 74 20 70 6f 73 3b 09 in.buffer.before.pos...int.pos;.
47d60 09 09 2f 2f 20 63 75 72 72 65 6e 74 20 70 6f 73 20 69 6e 20 62 75 66 66 65 72 0a 20 20 69 6e 74 ..//.current.pos.in.buffer...int
47d80 20 63 79 63 6c 69 63 5f 70 6f 73 3b 09 09 2f 2f 20 63 79 63 6c 65 73 20 74 68 72 6f 75 67 68 20 .cyclic_pos;..//.cycles.through.
47da0 5b 30 2c 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 5d 0a 20 20 69 6e 74 20 73 74 72 65 61 [0,.dictionary_size]...int.strea
47dc0 6d 5f 70 6f 73 3b 09 09 2f 2f 20 66 69 72 73 74 20 62 79 74 65 20 6e 6f 74 20 79 65 74 20 72 65 m_pos;..//.first.byte.not.yet.re
47de0 61 64 20 66 72 6f 6d 20 66 69 6c 65 0a 20 20 69 6e 74 20 70 6f 73 5f 6c 69 6d 69 74 3b 09 09 2f ad.from.file...int.pos_limit;../
47e00 2f 20 77 68 65 6e 20 72 65 61 63 68 65 64 2c 20 61 20 6e 65 77 20 62 6c 6f 63 6b 20 6d 75 73 74 /.when.reached,.a.new.block.must
47e20 20 62 65 20 72 65 61 64 0a 20 20 69 6e 74 20 6b 65 79 34 5f 6d 61 73 6b 3b 0a 20 20 63 6f 6e 73 .be.read...int.key4_mask;...cons
47e40 74 20 69 6e 74 20 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 32 33 3b 0a 20 20 69 6e t.int.num_prev_positions23;...in
47e60 74 20 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 3b 09 2f 2f 20 73 69 7a 65 20 6f 66 t.num_prev_positions;.//.size.of
47e80 20 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 0a 20 20 69 6e 74 20 70 6f 73 5f 61 72 72 61 79 5f .prev_positions...int.pos_array_
47ea0 73 69 7a 65 3b 0a 20 20 63 6f 6e 73 74 20 69 6e 74 20 69 6e 66 64 3b 09 09 2f 2f 20 69 6e 70 75 size;...const.int.infd;..//.inpu
47ec0 74 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 0a 20 20 62 6f 6f 6c 20 61 74 5f 73 74 72 65 t.file.descriptor...bool.at_stre
47ee0 61 6d 5f 65 6e 64 3b 09 09 2f 2f 20 73 74 72 65 61 6d 5f 70 6f 73 20 73 68 6f 77 73 20 72 65 61 am_end;..//.stream_pos.shows.rea
47f00 6c 20 65 6e 64 20 6f 66 20 66 69 6c 65 0a 0a 20 20 4d 61 74 63 68 66 69 6e 64 65 72 5f 62 61 73 l.end.of.file....Matchfinder_bas
47f20 65 28 20 63 6f 6e 73 74 20 69 6e 74 20 62 65 66 6f 72 65 5f 73 69 7a 65 5f 2c 0a 20 20 20 20 20 e(.const.int.before_size_,......
47f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 64 69 63 74 5f 73 69 ...............const.int.dict_si
47f60 7a 65 2c 20 63 6f 6e 73 74 20 69 6e 74 20 61 66 74 65 72 5f 73 69 7a 65 2c 0a 20 20 20 20 20 20 ze,.const.int.after_size,.......
47f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 64 69 63 74 5f 66 61 63 ..............const.int.dict_fac
47fa0 74 6f 72 2c 20 63 6f 6e 73 74 20 69 6e 74 20 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e tor,.const.int.num_prev_position
47fc0 73 32 33 5f 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 s23_,.....................const.
47fe0 69 6e 74 20 70 6f 73 5f 61 72 72 61 79 5f 66 61 63 74 6f 72 2c 20 63 6f 6e 73 74 20 69 6e 74 20 int.pos_array_factor,.const.int.
48000 69 66 64 20 29 3b 0a 0a 20 20 7e 4d 61 74 63 68 66 69 6e 64 65 72 5f 62 61 73 65 28 29 0a 20 20 ifd.);....~Matchfinder_base()...
48020 20 20 7b 20 64 65 6c 65 74 65 5b 5d 20 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 3b 20 73 74 64 ..{.delete[].prev_positions;.std
48040 3a 3a 66 72 65 65 28 20 62 75 66 66 65 72 20 29 3b 20 7d 0a 0a 70 75 62 6c 69 63 3a 0a 20 20 75 ::free(.buffer.);.}..public:...u
48060 69 6e 74 38 5f 74 20 70 65 65 6b 28 20 63 6f 6e 73 74 20 69 6e 74 20 64 69 73 74 61 6e 63 65 20 int8_t.peek(.const.int.distance.
48080 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 62 75 66 66 65 72 5b 70 6f 73 2d 64 69 73 74 ).const.{.return.buffer[pos-dist
480a0 61 6e 63 65 5d 3b 20 7d 0a 20 20 69 6e 74 20 61 76 61 69 6c 61 62 6c 65 5f 62 79 74 65 73 28 29 ance];.}...int.available_bytes()
480c0 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 73 74 72 65 61 6d 5f 70 6f 73 20 2d 20 70 6f 73 .const.{.return.stream_pos.-.pos
480e0 3b 20 7d 0a 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 64 61 74 61 5f 70 6f ;.}...unsigned.long.long.data_po
48100 73 69 74 69 6f 6e 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 70 61 72 74 69 61 6c 5f sition().const.{.return.partial_
48120 64 61 74 61 5f 70 6f 73 20 2b 20 70 6f 73 3b 20 7d 0a 20 20 62 6f 6f 6c 20 64 61 74 61 5f 66 69 data_pos.+.pos;.}...bool.data_fi
48140 6e 69 73 68 65 64 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 61 74 5f 73 74 72 65 61 nished().const.{.return.at_strea
48160 6d 5f 65 6e 64 20 26 26 20 70 6f 73 20 3e 3d 20 73 74 72 65 61 6d 5f 70 6f 73 3b 20 7d 0a 20 20 m_end.&&.pos.>=.stream_pos;.}...
48180 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 2a 20 70 74 72 5f 74 6f 5f 63 75 72 72 65 6e 74 5f 70 const.uint8_t.*.ptr_to_current_p
481a0 6f 73 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 62 75 66 66 65 72 20 2b 20 70 6f 73 os().const.{.return.buffer.+.pos
481c0 3b 20 7d 0a 0a 20 20 69 6e 74 20 74 72 75 65 5f 6d 61 74 63 68 5f 6c 65 6e 28 20 63 6f 6e 73 74 ;.}....int.true_match_len(.const
481e0 20 69 6e 74 20 69 6e 64 65 78 2c 20 63 6f 6e 73 74 20 69 6e 74 20 64 69 73 74 61 6e 63 65 20 29 .int.index,.const.int.distance.)
48200 20 63 6f 6e 73 74 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 2a .const.....{.....const.uint8_t.*
48220 20 63 6f 6e 73 74 20 64 61 74 61 20 3d 20 62 75 66 66 65 72 20 2b 20 70 6f 73 3b 0a 20 20 20 20 .const.data.=.buffer.+.pos;.....
48240 69 6e 74 20 69 20 3d 20 69 6e 64 65 78 3b 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 6c 65 6e int.i.=.index;.....const.int.len
48260 5f 6c 69 6d 69 74 20 3d 20 73 74 64 3a 3a 6d 69 6e 28 20 61 76 61 69 6c 61 62 6c 65 5f 62 79 74 _limit.=.std::min(.available_byt
48280 65 73 28 29 2c 20 28 69 6e 74 29 6d 61 78 5f 6d 61 74 63 68 5f 6c 65 6e 20 29 3b 0a 20 20 20 20 es(),.(int)max_match_len.);.....
482a0 77 68 69 6c 65 28 20 69 20 3c 20 6c 65 6e 5f 6c 69 6d 69 74 20 26 26 20 64 61 74 61 5b 69 2d 64 while(.i.<.len_limit.&&.data[i-d
482c0 69 73 74 61 6e 63 65 5d 20 3d 3d 20 64 61 74 61 5b 69 5d 20 29 20 2b 2b 69 3b 0a 20 20 20 20 72 istance].==.data[i].).++i;.....r
482e0 65 74 75 72 6e 20 69 3b 0a 20 20 20 20 7d 0a 0a 20 20 76 6f 69 64 20 6d 6f 76 65 5f 70 6f 73 28 eturn.i;.....}....void.move_pos(
48300 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 2b 2b 63 79 63 6c 69 63 5f 70 6f 73 20 3e 20 64 ).....{.....if(.++cyclic_pos.>.d
48320 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 20 63 79 63 6c 69 63 5f 70 6f 73 20 3d 20 30 3b ictionary_size.).cyclic_pos.=.0;
48340 0a 20 20 20 20 69 66 28 20 2b 2b 70 6f 73 20 3e 3d 20 70 6f 73 5f 6c 69 6d 69 74 20 29 20 6e 6f .....if(.++pos.>=.pos_limit.).no
48360 72 6d 61 6c 69 7a 65 5f 70 6f 73 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 76 6f 69 64 20 72 65 73 rmalize_pos();.....}....void.res
48380 65 74 28 29 3b 0a 20 20 7d 3b 0a 0a 0a 63 6c 61 73 73 20 52 61 6e 67 65 5f 65 6e 63 6f 64 65 72 et();...};...class.Range_encoder
483a0 0a 20 20 7b 0a 20 20 65 6e 75 6d 20 7b 20 62 75 66 66 65 72 5f 73 69 7a 65 20 3d 20 36 35 35 33 ...{...enum.{.buffer_size.=.6553
483c0 36 20 7d 3b 0a 20 20 75 69 6e 74 36 34 5f 74 20 6c 6f 77 3b 0a 20 20 75 6e 73 69 67 6e 65 64 20 6.};...uint64_t.low;...unsigned.
483e0 6c 6f 6e 67 20 6c 6f 6e 67 20 70 61 72 74 69 61 6c 5f 6d 65 6d 62 65 72 5f 70 6f 73 3b 0a 20 20 long.long.partial_member_pos;...
48400 75 69 6e 74 38 5f 74 20 2a 20 63 6f 6e 73 74 20 62 75 66 66 65 72 3b 09 2f 2f 20 6f 75 74 70 75 uint8_t.*.const.buffer;.//.outpu
48420 74 20 62 75 66 66 65 72 0a 20 20 69 6e 74 20 70 6f 73 3b 09 09 09 2f 2f 20 63 75 72 72 65 6e 74 t.buffer...int.pos;...//.current
48440 20 70 6f 73 20 69 6e 20 62 75 66 66 65 72 0a 20 20 75 69 6e 74 33 32 5f 74 20 72 61 6e 67 65 3b .pos.in.buffer...uint32_t.range;
48460 0a 20 20 75 6e 73 69 67 6e 65 64 20 66 66 5f 63 6f 75 6e 74 3b 0a 20 20 63 6f 6e 73 74 20 69 6e ...unsigned.ff_count;...const.in
48480 74 20 6f 75 74 66 64 3b 09 09 2f 2f 20 6f 75 74 70 75 74 20 66 69 6c 65 20 64 65 73 63 72 69 70 t.outfd;..//.output.file.descrip
484a0 74 6f 72 0a 20 20 75 69 6e 74 38 5f 74 20 63 61 63 68 65 3b 0a 20 20 46 69 6c 65 5f 68 65 61 64 tor...uint8_t.cache;...File_head
484c0 65 72 20 68 65 61 64 65 72 3b 0a 0a 20 20 76 6f 69 64 20 73 68 69 66 74 5f 6c 6f 77 28 29 0a 20 er.header;....void.shift_low()..
484e0 20 20 20 7b 0a 20 20 20 20 69 66 28 20 6c 6f 77 20 3e 3e 20 32 34 20 21 3d 20 30 78 46 46 20 29 ...{.....if(.low.>>.24.!=.0xFF.)
48500 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 63 61 72 72 79 20 .......{.......const.bool.carry.
48520 3d 20 28 20 6c 6f 77 20 3e 20 30 78 46 46 46 46 46 46 46 46 55 20 29 3b 0a 20 20 20 20 20 20 70 =.(.low.>.0xFFFFFFFFU.);.......p
48540 75 74 5f 62 79 74 65 28 20 63 61 63 68 65 20 2b 20 63 61 72 72 79 20 29 3b 0a 20 20 20 20 20 20 ut_byte(.cache.+.carry.);.......
48560 66 6f 72 28 20 3b 20 66 66 5f 63 6f 75 6e 74 20 3e 20 30 3b 20 2d 2d 66 66 5f 63 6f 75 6e 74 20 for(.;.ff_count.>.0;.--ff_count.
48580 29 20 70 75 74 5f 62 79 74 65 28 20 30 78 46 46 20 2b 20 63 61 72 72 79 20 29 3b 0a 20 20 20 20 ).put_byte(.0xFF.+.carry.);.....
485a0 20 20 63 61 63 68 65 20 3d 20 6c 6f 77 20 3e 3e 20 32 34 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 ..cache.=.low.>>.24;.......}....
485c0 20 65 6c 73 65 20 2b 2b 66 66 5f 63 6f 75 6e 74 3b 0a 20 20 20 20 6c 6f 77 20 3d 20 28 20 6c 6f .else.++ff_count;.....low.=.(.lo
485e0 77 20 26 20 30 78 30 30 46 46 46 46 46 46 55 20 29 20 3c 3c 20 38 3b 0a 20 20 20 20 7d 0a 0a 20 w.&.0x00FFFFFFU.).<<.8;.....}...
48600 20 52 61 6e 67 65 5f 65 6e 63 6f 64 65 72 28 20 63 6f 6e 73 74 20 52 61 6e 67 65 5f 65 6e 63 6f .Range_encoder(.const.Range_enco
48620 64 65 72 20 26 20 29 3b 09 2f 2f 20 64 65 63 6c 61 72 65 64 20 61 73 20 70 72 69 76 61 74 65 0a der.&.);.//.declared.as.private.
48640 20 20 76 6f 69 64 20 6f 70 65 72 61 74 6f 72 3d 28 20 63 6f 6e 73 74 20 52 61 6e 67 65 5f 65 6e ..void.operator=(.const.Range_en
48660 63 6f 64 65 72 20 26 20 29 3b 09 2f 2f 20 64 65 63 6c 61 72 65 64 20 61 73 20 70 72 69 76 61 74 coder.&.);.//.declared.as.privat
48680 65 0a 0a 70 75 62 6c 69 63 3a 0a 20 20 76 6f 69 64 20 72 65 73 65 74 28 20 63 6f 6e 73 74 20 75 e..public:...void.reset(.const.u
486a0 6e 73 69 67 6e 65 64 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 0a 20 20 20 20 7b 0a nsigned.dictionary_size.).....{.
486c0 20 20 20 20 6c 6f 77 20 3d 20 30 3b 0a 20 20 20 20 70 61 72 74 69 61 6c 5f 6d 65 6d 62 65 72 5f ....low.=.0;.....partial_member_
486e0 70 6f 73 20 3d 20 30 3b 0a 20 20 20 20 70 6f 73 20 3d 20 30 3b 0a 20 20 20 20 72 61 6e 67 65 20 pos.=.0;.....pos.=.0;.....range.
48700 3d 20 30 78 46 46 46 46 46 46 46 46 55 3b 0a 20 20 20 20 66 66 5f 63 6f 75 6e 74 20 3d 20 30 3b =.0xFFFFFFFFU;.....ff_count.=.0;
48720 0a 20 20 20 20 63 61 63 68 65 20 3d 20 30 3b 0a 20 20 20 20 68 65 61 64 65 72 2e 64 69 63 74 69 .....cache.=.0;.....header.dicti
48740 6f 6e 61 72 79 5f 73 69 7a 65 28 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 3b 0a 20 onary_size(.dictionary_size.);..
48760 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 46 69 6c 65 5f 68 65 61 64 ...for(.int.i.=.0;.i.<.File_head
48780 65 72 3a 3a 73 69 7a 65 3b 20 2b 2b 69 20 29 0a 20 20 20 20 20 20 70 75 74 5f 62 79 74 65 28 20 er::size;.++i.).......put_byte(.
487a0 68 65 61 64 65 72 2e 64 61 74 61 5b 69 5d 20 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 52 61 6e 67 65 header.data[i].);.....}....Range
487c0 5f 65 6e 63 6f 64 65 72 28 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 64 69 63 74 69 6f 6e _encoder(.const.unsigned.diction
487e0 61 72 79 5f 73 69 7a 65 2c 20 63 6f 6e 73 74 20 69 6e 74 20 6f 66 64 20 29 0a 20 20 20 20 3a 0a ary_size,.const.int.ofd.).....:.
48800 20 20 20 20 62 75 66 66 65 72 28 20 6e 65 77 20 75 69 6e 74 38 5f 74 5b 62 75 66 66 65 72 5f 73 ....buffer(.new.uint8_t[buffer_s
48820 69 7a 65 5d 20 29 2c 20 6f 75 74 66 64 28 20 6f 66 64 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 68 ize].),.outfd(.ofd.).....{.....h
48840 65 61 64 65 72 2e 73 65 74 5f 6d 61 67 69 63 28 29 3b 0a 20 20 20 20 72 65 73 65 74 28 20 64 69 eader.set_magic();.....reset(.di
48860 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 7e 52 61 6e 67 65 ctionary_size.);.....}....~Range
48880 5f 65 6e 63 6f 64 65 72 28 29 20 7b 20 64 65 6c 65 74 65 5b 5d 20 62 75 66 66 65 72 3b 20 7d 0a _encoder().{.delete[].buffer;.}.
488a0 0a 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6d 65 6d 62 65 72 5f 70 6f 73 ...unsigned.long.long.member_pos
488c0 69 74 69 6f 6e 28 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 20 72 65 74 75 72 6e 20 70 61 72 74 69 ition().const.....{.return.parti
488e0 61 6c 5f 6d 65 6d 62 65 72 5f 70 6f 73 20 2b 20 70 6f 73 20 2b 20 66 66 5f 63 6f 75 6e 74 3b 20 al_member_pos.+.pos.+.ff_count;.
48900 7d 0a 0a 20 20 76 6f 69 64 20 66 6c 75 73 68 28 29 20 7b 20 66 6f 72 28 20 69 6e 74 20 69 20 3d }....void.flush().{.for(.int.i.=
48920 20 30 3b 20 69 20 3c 20 35 3b 20 2b 2b 69 20 29 20 73 68 69 66 74 5f 6c 6f 77 28 29 3b 20 7d 0a .0;.i.<.5;.++i.).shift_low();.}.
48940 20 20 76 6f 69 64 20 66 6c 75 73 68 5f 64 61 74 61 28 29 3b 0a 0a 20 20 76 6f 69 64 20 70 75 74 ..void.flush_data();....void.put
48960 5f 62 79 74 65 28 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 62 20 29 0a 20 20 20 20 7b 0a 20 _byte(.const.uint8_t.b.).....{..
48980 20 20 20 62 75 66 66 65 72 5b 70 6f 73 5d 20 3d 20 62 3b 0a 20 20 20 20 69 66 28 20 2b 2b 70 6f ...buffer[pos].=.b;.....if(.++po
489a0 73 20 3e 3d 20 62 75 66 66 65 72 5f 73 69 7a 65 20 29 20 66 6c 75 73 68 5f 64 61 74 61 28 29 3b s.>=.buffer_size.).flush_data();
489c0 0a 20 20 20 20 7d 0a 0a 20 20 76 6f 69 64 20 65 6e 63 6f 64 65 28 20 63 6f 6e 73 74 20 69 6e 74 .....}....void.encode(.const.int
489e0 20 73 79 6d 62 6f 6c 2c 20 63 6f 6e 73 74 20 69 6e 74 20 6e 75 6d 5f 62 69 74 73 20 29 0a 20 20 .symbol,.const.int.num_bits.)...
48a00 20 20 7b 0a 20 20 20 20 66 6f 72 28 20 75 6e 73 69 67 6e 65 64 20 6d 61 73 6b 20 3d 20 31 20 3c ..{.....for(.unsigned.mask.=.1.<
48a20 3c 20 28 20 6e 75 6d 5f 62 69 74 73 20 2d 20 31 20 29 3b 20 6d 61 73 6b 20 3e 20 30 3b 20 6d 61 <.(.num_bits.-.1.);.mask.>.0;.ma
48a40 73 6b 20 3e 3e 3d 20 31 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 72 61 6e 67 65 20 3e sk.>>=.1.).......{.......range.>
48a60 3e 3d 20 31 3b 0a 20 20 20 20 20 20 69 66 28 20 73 79 6d 62 6f 6c 20 26 20 6d 61 73 6b 20 29 20 >=.1;.......if(.symbol.&.mask.).
48a80 6c 6f 77 20 2b 3d 20 72 61 6e 67 65 3b 0a 20 20 20 20 20 20 69 66 28 20 72 61 6e 67 65 20 3c 3d low.+=.range;.......if(.range.<=
48aa0 20 30 78 30 30 46 46 46 46 46 46 55 20 29 20 7b 20 72 61 6e 67 65 20 3c 3c 3d 20 38 3b 20 73 68 .0x00FFFFFFU.).{.range.<<=.8;.sh
48ac0 69 66 74 5f 6c 6f 77 28 29 3b 20 7d 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 76 6f ift_low();.}.......}.....}....vo
48ae0 69 64 20 65 6e 63 6f 64 65 5f 62 69 74 28 20 42 69 74 5f 6d 6f 64 65 6c 20 26 20 62 6d 2c 20 63 id.encode_bit(.Bit_model.&.bm,.c
48b00 6f 6e 73 74 20 62 6f 6f 6c 20 62 69 74 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 onst.bool.bit.).....{.....const.
48b20 75 69 6e 74 33 32 5f 74 20 62 6f 75 6e 64 20 3d 20 28 20 72 61 6e 67 65 20 3e 3e 20 62 69 74 5f uint32_t.bound.=.(.range.>>.bit_
48b40 6d 6f 64 65 6c 5f 74 6f 74 61 6c 5f 62 69 74 73 20 29 20 2a 20 62 6d 2e 70 72 6f 62 61 62 69 6c model_total_bits.).*.bm.probabil
48b60 69 74 79 3b 0a 20 20 20 20 69 66 28 20 21 62 69 74 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 ity;.....if(.!bit.).......{.....
48b80 20 20 72 61 6e 67 65 20 3d 20 62 6f 75 6e 64 3b 0a 20 20 20 20 20 20 62 6d 2e 70 72 6f 62 61 62 ..range.=.bound;.......bm.probab
48ba0 69 6c 69 74 79 20 2b 3d 20 28 62 69 74 5f 6d 6f 64 65 6c 5f 74 6f 74 61 6c 20 2d 20 62 6d 2e 70 ility.+=.(bit_model_total.-.bm.p
48bc0 72 6f 62 61 62 69 6c 69 74 79 29 20 3e 3e 20 62 69 74 5f 6d 6f 64 65 6c 5f 6d 6f 76 65 5f 62 69 robability).>>.bit_model_move_bi
48be0 74 73 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 7b 0a 20 20 20 ts;.......}.....else.......{....
48c00 20 20 20 6c 6f 77 20 2b 3d 20 62 6f 75 6e 64 3b 0a 20 20 20 20 20 20 72 61 6e 67 65 20 2d 3d 20 ...low.+=.bound;.......range.-=.
48c20 62 6f 75 6e 64 3b 0a 20 20 20 20 20 20 62 6d 2e 70 72 6f 62 61 62 69 6c 69 74 79 20 2d 3d 20 62 bound;.......bm.probability.-=.b
48c40 6d 2e 70 72 6f 62 61 62 69 6c 69 74 79 20 3e 3e 20 62 69 74 5f 6d 6f 64 65 6c 5f 6d 6f 76 65 5f m.probability.>>.bit_model_move_
48c60 62 69 74 73 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 69 66 28 20 72 61 6e 67 65 20 3c 3d 20 30 bits;.......}.....if(.range.<=.0
48c80 78 30 30 46 46 46 46 46 46 55 20 29 20 7b 20 72 61 6e 67 65 20 3c 3c 3d 20 38 3b 20 73 68 69 66 x00FFFFFFU.).{.range.<<=.8;.shif
48ca0 74 5f 6c 6f 77 28 29 3b 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 76 6f 69 64 20 65 6e 63 6f 64 65 5f t_low();.}.....}....void.encode_
48cc0 74 72 65 65 33 28 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5b 5d 2c 20 63 6f 6e 73 74 20 69 6e 74 tree3(.Bit_model.bm[],.const.int
48ce0 20 73 79 6d 62 6f 6c 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 6e 74 20 6d 6f 64 65 6c 20 3d 20 .symbol.).....{.....int.model.=.
48d00 31 3b 0a 20 20 20 20 62 6f 6f 6c 20 62 69 74 20 3d 20 28 20 73 79 6d 62 6f 6c 20 3e 3e 20 32 20 1;.....bool.bit.=.(.symbol.>>.2.
48d20 29 20 26 20 31 3b 0a 20 20 20 20 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d 5b 6d 6f 64 65 6c 5d ).&.1;.....encode_bit(.bm[model]
48d40 2c 20 62 69 74 20 29 3b 20 6d 6f 64 65 6c 20 3d 20 28 20 6d 6f 64 65 6c 20 3c 3c 20 31 20 29 20 ,.bit.);.model.=.(.model.<<.1.).
48d60 7c 20 62 69 74 3b 0a 20 20 20 20 62 69 74 20 3d 20 28 20 73 79 6d 62 6f 6c 20 3e 3e 20 31 20 29 |.bit;.....bit.=.(.symbol.>>.1.)
48d80 20 26 20 31 3b 0a 20 20 20 20 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d 5b 6d 6f 64 65 6c 5d 2c .&.1;.....encode_bit(.bm[model],
48da0 20 62 69 74 20 29 3b 20 6d 6f 64 65 6c 20 3d 20 28 20 6d 6f 64 65 6c 20 3c 3c 20 31 20 29 20 7c .bit.);.model.=.(.model.<<.1.).|
48dc0 20 62 69 74 3b 0a 20 20 20 20 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d 5b 6d 6f 64 65 6c 5d 2c .bit;.....encode_bit(.bm[model],
48de0 20 73 79 6d 62 6f 6c 20 26 20 31 20 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 76 6f 69 64 20 65 6e 63 .symbol.&.1.);.....}....void.enc
48e00 6f 64 65 5f 74 72 65 65 36 28 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5b 5d 2c 20 63 6f 6e 73 74 ode_tree6(.Bit_model.bm[],.const
48e20 20 75 6e 73 69 67 6e 65 64 20 73 79 6d 62 6f 6c 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 6e 74 .unsigned.symbol.).....{.....int
48e40 20 6d 6f 64 65 6c 20 3d 20 31 3b 0a 20 20 20 20 62 6f 6f 6c 20 62 69 74 20 3d 20 28 20 73 79 6d .model.=.1;.....bool.bit.=.(.sym
48e60 62 6f 6c 20 3e 3e 20 35 20 29 20 26 20 31 3b 0a 20 20 20 20 65 6e 63 6f 64 65 5f 62 69 74 28 20 bol.>>.5.).&.1;.....encode_bit(.
48e80 62 6d 5b 6d 6f 64 65 6c 5d 2c 20 62 69 74 20 29 3b 20 6d 6f 64 65 6c 20 3d 20 28 20 6d 6f 64 65 bm[model],.bit.);.model.=.(.mode
48ea0 6c 20 3c 3c 20 31 20 29 20 7c 20 62 69 74 3b 0a 20 20 20 20 62 69 74 20 3d 20 28 20 73 79 6d 62 l.<<.1.).|.bit;.....bit.=.(.symb
48ec0 6f 6c 20 3e 3e 20 34 20 29 20 26 20 31 3b 0a 20 20 20 20 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 ol.>>.4.).&.1;.....encode_bit(.b
48ee0 6d 5b 6d 6f 64 65 6c 5d 2c 20 62 69 74 20 29 3b 20 6d 6f 64 65 6c 20 3d 20 28 20 6d 6f 64 65 6c m[model],.bit.);.model.=.(.model
48f00 20 3c 3c 20 31 20 29 20 7c 20 62 69 74 3b 0a 20 20 20 20 62 69 74 20 3d 20 28 20 73 79 6d 62 6f .<<.1.).|.bit;.....bit.=.(.symbo
48f20 6c 20 3e 3e 20 33 20 29 20 26 20 31 3b 0a 20 20 20 20 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d l.>>.3.).&.1;.....encode_bit(.bm
48f40 5b 6d 6f 64 65 6c 5d 2c 20 62 69 74 20 29 3b 20 6d 6f 64 65 6c 20 3d 20 28 20 6d 6f 64 65 6c 20 [model],.bit.);.model.=.(.model.
48f60 3c 3c 20 31 20 29 20 7c 20 62 69 74 3b 0a 20 20 20 20 62 69 74 20 3d 20 28 20 73 79 6d 62 6f 6c <<.1.).|.bit;.....bit.=.(.symbol
48f80 20 3e 3e 20 32 20 29 20 26 20 31 3b 0a 20 20 20 20 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d 5b .>>.2.).&.1;.....encode_bit(.bm[
48fa0 6d 6f 64 65 6c 5d 2c 20 62 69 74 20 29 3b 20 6d 6f 64 65 6c 20 3d 20 28 20 6d 6f 64 65 6c 20 3c model],.bit.);.model.=.(.model.<
48fc0 3c 20 31 20 29 20 7c 20 62 69 74 3b 0a 20 20 20 20 62 69 74 20 3d 20 28 20 73 79 6d 62 6f 6c 20 <.1.).|.bit;.....bit.=.(.symbol.
48fe0 3e 3e 20 31 20 29 20 26 20 31 3b 0a 20 20 20 20 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d 5b 6d >>.1.).&.1;.....encode_bit(.bm[m
49000 6f 64 65 6c 5d 2c 20 62 69 74 20 29 3b 20 6d 6f 64 65 6c 20 3d 20 28 20 6d 6f 64 65 6c 20 3c 3c odel],.bit.);.model.=.(.model.<<
49020 20 31 20 29 20 7c 20 62 69 74 3b 0a 20 20 20 20 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d 5b 6d .1.).|.bit;.....encode_bit(.bm[m
49040 6f 64 65 6c 5d 2c 20 73 79 6d 62 6f 6c 20 26 20 31 20 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 76 6f odel],.symbol.&.1.);.....}....vo
49060 69 64 20 65 6e 63 6f 64 65 5f 74 72 65 65 38 28 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5b 5d 2c id.encode_tree8(.Bit_model.bm[],
49080 20 63 6f 6e 73 74 20 69 6e 74 20 73 79 6d 62 6f 6c 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 6e .const.int.symbol.).....{.....in
490a0 74 20 6d 6f 64 65 6c 20 3d 20 31 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 37 3b t.model.=.1;.....for(.int.i.=.7;
490c0 20 69 20 3e 3d 20 30 3b 20 2d 2d 69 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 63 6f 6e .i.>=.0;.--i.).......{.......con
490e0 73 74 20 62 6f 6f 6c 20 62 69 74 20 3d 20 28 20 73 79 6d 62 6f 6c 20 3e 3e 20 69 20 29 20 26 20 st.bool.bit.=.(.symbol.>>.i.).&.
49100 31 3b 0a 20 20 20 20 20 20 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d 5b 6d 6f 64 65 6c 5d 2c 20 1;.......encode_bit(.bm[model],.
49120 62 69 74 20 29 3b 0a 20 20 20 20 20 20 6d 6f 64 65 6c 20 3d 20 28 20 6d 6f 64 65 6c 20 3c 3c 20 bit.);.......model.=.(.model.<<.
49140 31 20 29 20 7c 20 62 69 74 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 76 6f 69 64 1.).|.bit;.......}.....}....void
49160 20 65 6e 63 6f 64 65 5f 74 72 65 65 5f 72 65 76 65 72 73 65 64 28 20 42 69 74 5f 6d 6f 64 65 6c .encode_tree_reversed(.Bit_model
49180 20 62 6d 5b 5d 2c 20 69 6e 74 20 73 79 6d 62 6f 6c 2c 20 63 6f 6e 73 74 20 69 6e 74 20 6e 75 6d .bm[],.int.symbol,.const.int.num
491a0 5f 62 69 74 73 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 6e 74 20 6d 6f 64 65 6c 20 3d 20 31 3b _bits.).....{.....int.model.=.1;
491c0 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 6e 75 6d 5f 62 69 74 73 3b 20 69 20 3e 20 .....for(.int.i.=.num_bits;.i.>.
491e0 30 3b 20 2d 2d 69 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 62 6f 6f 0;.--i.).......{.......const.boo
49200 6c 20 62 69 74 20 3d 20 73 79 6d 62 6f 6c 20 26 20 31 3b 0a 20 20 20 20 20 20 73 79 6d 62 6f 6c l.bit.=.symbol.&.1;.......symbol
49220 20 3e 3e 3d 20 31 3b 0a 20 20 20 20 20 20 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d 5b 6d 6f 64 .>>=.1;.......encode_bit(.bm[mod
49240 65 6c 5d 2c 20 62 69 74 20 29 3b 0a 20 20 20 20 20 20 6d 6f 64 65 6c 20 3d 20 28 20 6d 6f 64 65 el],.bit.);.......model.=.(.mode
49260 6c 20 3c 3c 20 31 20 29 20 7c 20 62 69 74 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 l.<<.1.).|.bit;.......}.....}...
49280 20 76 6f 69 64 20 65 6e 63 6f 64 65 5f 6d 61 74 63 68 65 64 28 20 42 69 74 5f 6d 6f 64 65 6c 20 .void.encode_matched(.Bit_model.
492a0 62 6d 5b 5d 2c 20 75 6e 73 69 67 6e 65 64 20 73 79 6d 62 6f 6c 2c 20 75 6e 73 69 67 6e 65 64 20 bm[],.unsigned.symbol,.unsigned.
492c0 6d 61 74 63 68 5f 62 79 74 65 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 match_byte.).....{.....unsigned.
492e0 6d 61 73 6b 20 3d 20 30 78 31 30 30 3b 0a 20 20 20 20 73 79 6d 62 6f 6c 20 7c 3d 20 6d 61 73 6b mask.=.0x100;.....symbol.|=.mask
49300 3b 0a 20 20 20 20 77 68 69 6c 65 28 20 74 72 75 65 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 ;.....while(.true.).......{.....
49320 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6d 61 74 63 68 5f 62 69 74 20 3d 20 28 20 6d ..const.unsigned.match_bit.=.(.m
49340 61 74 63 68 5f 62 79 74 65 20 3c 3c 3d 20 31 20 29 20 26 20 6d 61 73 6b 3b 0a 20 20 20 20 20 20 atch_byte.<<=.1.).&.mask;.......
49360 63 6f 6e 73 74 20 62 6f 6f 6c 20 62 69 74 20 3d 20 28 20 73 79 6d 62 6f 6c 20 3c 3c 3d 20 31 20 const.bool.bit.=.(.symbol.<<=.1.
49380 29 20 26 20 30 78 31 30 30 3b 0a 20 20 20 20 20 20 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d 5b ).&.0x100;.......encode_bit(.bm[
493a0 28 73 79 6d 62 6f 6c 3e 3e 39 29 2b 6d 61 74 63 68 5f 62 69 74 2b 6d 61 73 6b 5d 2c 20 62 69 74 (symbol>>9)+match_bit+mask],.bit
493c0 20 29 3b 0a 20 20 20 20 20 20 69 66 28 20 73 79 6d 62 6f 6c 20 3e 3d 20 30 78 31 30 30 30 30 20 .);.......if(.symbol.>=.0x10000.
493e0 29 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 6d 61 73 6b 20 26 3d 20 7e 28 6d 61 74 63 68 5f 62 ).break;.......mask.&=.~(match_b
49400 69 74 20 5e 20 73 79 6d 62 6f 6c 29 3b 09 2f 2f 20 69 66 28 20 6d 61 74 63 68 5f 62 69 74 20 21 it.^.symbol);.//.if(.match_bit.!
49420 3d 20 62 69 74 20 29 20 6d 61 73 6b 20 3d 20 30 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a =.bit.).mask.=.0;.......}.....}.
49440 0a 20 20 76 6f 69 64 20 65 6e 63 6f 64 65 5f 6c 65 6e 28 20 4c 65 6e 5f 6d 6f 64 65 6c 20 26 20 ...void.encode_len(.Len_model.&.
49460 6c 6d 2c 20 69 6e 74 20 73 79 6d 62 6f 6c 2c 20 63 6f 6e 73 74 20 69 6e 74 20 70 6f 73 5f 73 74 lm,.int.symbol,.const.int.pos_st
49480 61 74 65 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 62 6f 6f 6c 20 62 69 74 20 3d 20 28 20 28 20 73 ate.).....{.....bool.bit.=.(.(.s
494a0 79 6d 62 6f 6c 20 2d 3d 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 20 29 20 3e 3d 20 6c 65 6e 5f ymbol.-=.min_match_len.).>=.len_
494c0 6c 6f 77 5f 73 79 6d 62 6f 6c 73 20 29 3b 0a 20 20 20 20 65 6e 63 6f 64 65 5f 62 69 74 28 20 6c low_symbols.);.....encode_bit(.l
494e0 6d 2e 63 68 6f 69 63 65 31 2c 20 62 69 74 20 29 3b 0a 20 20 20 20 69 66 28 20 21 62 69 74 20 29 m.choice1,.bit.);.....if(.!bit.)
49500 0a 20 20 20 20 20 20 65 6e 63 6f 64 65 5f 74 72 65 65 33 28 20 6c 6d 2e 62 6d 5f 6c 6f 77 5b 70 .......encode_tree3(.lm.bm_low[p
49520 6f 73 5f 73 74 61 74 65 5d 2c 20 73 79 6d 62 6f 6c 20 29 3b 0a 20 20 20 20 65 6c 73 65 0a 20 20 os_state],.symbol.);.....else...
49540 20 20 20 20 7b 0a 20 20 20 20 20 20 62 69 74 20 3d 20 28 20 28 20 73 79 6d 62 6f 6c 20 2d 3d 20 ....{.......bit.=.(.(.symbol.-=.
49560 6c 65 6e 5f 6c 6f 77 5f 73 79 6d 62 6f 6c 73 20 29 20 3e 3d 20 6c 65 6e 5f 6d 69 64 5f 73 79 6d len_low_symbols.).>=.len_mid_sym
49580 62 6f 6c 73 20 29 3b 0a 20 20 20 20 20 20 65 6e 63 6f 64 65 5f 62 69 74 28 20 6c 6d 2e 63 68 6f bols.);.......encode_bit(.lm.cho
495a0 69 63 65 32 2c 20 62 69 74 20 29 3b 0a 20 20 20 20 20 20 69 66 28 20 21 62 69 74 20 29 0a 20 20 ice2,.bit.);.......if(.!bit.)...
495c0 20 20 20 20 20 20 65 6e 63 6f 64 65 5f 74 72 65 65 33 28 20 6c 6d 2e 62 6d 5f 6d 69 64 5b 70 6f ......encode_tree3(.lm.bm_mid[po
495e0 73 5f 73 74 61 74 65 5d 2c 20 73 79 6d 62 6f 6c 20 29 3b 0a 20 20 20 20 20 20 65 6c 73 65 0a 20 s_state],.symbol.);.......else..
49600 20 20 20 20 20 20 20 65 6e 63 6f 64 65 5f 74 72 65 65 38 28 20 6c 6d 2e 62 6d 5f 68 69 67 68 2c .......encode_tree8(.lm.bm_high,
49620 20 73 79 6d 62 6f 6c 20 2d 20 6c 65 6e 5f 6d 69 64 5f 73 79 6d 62 6f 6c 73 20 29 3b 0a 20 20 20 .symbol.-.len_mid_symbols.);....
49640 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 7d 3b 0a 0a 0a 63 6c 61 73 73 20 4c 5a 5f 65 6e 63 6f 64 ...}.....}...};...class.LZ_encod
49660 65 72 5f 62 61 73 65 20 3a 20 70 75 62 6c 69 63 20 4d 61 74 63 68 66 69 6e 64 65 72 5f 62 61 73 er_base.:.public.Matchfinder_bas
49680 65 0a 20 20 7b 0a 70 72 6f 74 65 63 74 65 64 3a 0a 20 20 65 6e 75 6d 20 7b 20 6d 61 78 5f 6d 61 e...{.protected:...enum.{.max_ma
496a0 72 6b 65 72 5f 73 69 7a 65 20 3d 20 31 36 2c 0a 20 20 20 20 20 20 20 20 20 6e 75 6d 5f 72 65 70 rker_size.=.16,..........num_rep
496c0 5f 64 69 73 74 61 6e 63 65 73 20 3d 20 34 20 7d 3b 09 2f 2f 20 6d 75 73 74 20 62 65 20 34 0a 0a _distances.=.4.};.//.must.be.4..
496e0 20 20 75 69 6e 74 33 32 5f 74 20 63 72 63 5f 3b 0a 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d ..uint32_t.crc_;....Bit_model.bm
49700 5f 6c 69 74 65 72 61 6c 5b 31 3c 3c 6c 69 74 65 72 61 6c 5f 63 6f 6e 74 65 78 74 5f 62 69 74 73 _literal[1<<literal_context_bits
49720 5d 5b 30 78 33 30 30 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 6d 61 74 63 68 5b 53 ][0x300];...Bit_model.bm_match[S
49740 74 61 74 65 3a 3a 73 74 61 74 65 73 5d 5b 70 6f 73 5f 73 74 61 74 65 73 5d 3b 0a 20 20 42 69 74 tate::states][pos_states];...Bit
49760 5f 6d 6f 64 65 6c 20 62 6d 5f 72 65 70 5b 53 74 61 74 65 3a 3a 73 74 61 74 65 73 5d 3b 0a 20 20 _model.bm_rep[State::states];...
49780 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 72 65 70 30 5b 53 74 61 74 65 3a 3a 73 74 61 74 65 73 5d Bit_model.bm_rep0[State::states]
497a0 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 72 65 70 31 5b 53 74 61 74 65 3a 3a 73 74 61 ;...Bit_model.bm_rep1[State::sta
497c0 74 65 73 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 72 65 70 32 5b 53 74 61 74 65 3a tes];...Bit_model.bm_rep2[State:
497e0 3a 73 74 61 74 65 73 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 6c 65 6e 5b 53 74 61 :states];...Bit_model.bm_len[Sta
49800 74 65 3a 3a 73 74 61 74 65 73 5d 5b 70 6f 73 5f 73 74 61 74 65 73 5d 3b 0a 20 20 42 69 74 5f 6d te::states][pos_states];...Bit_m
49820 6f 64 65 6c 20 62 6d 5f 64 69 73 5f 73 6c 6f 74 5b 6c 65 6e 5f 73 74 61 74 65 73 5d 5b 31 3c 3c odel.bm_dis_slot[len_states][1<<
49840 64 69 73 5f 73 6c 6f 74 5f 62 69 74 73 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 64 dis_slot_bits];...Bit_model.bm_d
49860 69 73 5b 6d 6f 64 65 6c 65 64 5f 64 69 73 74 61 6e 63 65 73 2d 65 6e 64 5f 64 69 73 5f 6d 6f 64 is[modeled_distances-end_dis_mod
49880 65 6c 2b 31 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 61 6c 69 67 6e 5b 64 69 73 5f el+1];...Bit_model.bm_align[dis_
498a0 61 6c 69 67 6e 5f 73 69 7a 65 5d 3b 0a 20 20 4c 65 6e 5f 6d 6f 64 65 6c 20 6d 61 74 63 68 5f 6c align_size];...Len_model.match_l
498c0 65 6e 5f 6d 6f 64 65 6c 3b 0a 20 20 4c 65 6e 5f 6d 6f 64 65 6c 20 72 65 70 5f 6c 65 6e 5f 6d 6f en_model;...Len_model.rep_len_mo
498e0 64 65 6c 3b 0a 20 20 52 61 6e 67 65 5f 65 6e 63 6f 64 65 72 20 72 65 6e 63 3b 0a 0a 20 20 4c 5a del;...Range_encoder.renc;....LZ
49900 5f 65 6e 63 6f 64 65 72 5f 62 61 73 65 28 20 63 6f 6e 73 74 20 69 6e 74 20 62 65 66 6f 72 65 5f _encoder_base(.const.int.before_
49920 73 69 7a 65 2c 20 63 6f 6e 73 74 20 69 6e 74 20 64 69 63 74 5f 73 69 7a 65 2c 0a 20 20 20 20 20 size,.const.int.dict_size,......
49940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 61 66 74 65 72 5f 73 69 ..............const.int.after_si
49960 7a 65 2c 20 63 6f 6e 73 74 20 69 6e 74 20 64 69 63 74 5f 66 61 63 74 6f 72 2c 0a 20 20 20 20 20 ze,.const.int.dict_factor,......
49980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 6e 75 6d 5f 70 72 65 76 ..............const.int.num_prev
499a0 5f 70 6f 73 69 74 69 6f 6e 73 32 33 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 _positions23,...................
499c0 20 63 6f 6e 73 74 20 69 6e 74 20 70 6f 73 5f 61 72 72 61 79 5f 66 61 63 74 6f 72 2c 0a 20 20 20 .const.int.pos_array_factor,....
499e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 69 66 64 2c 20 63 ................const.int.ifd,.c
49a00 6f 6e 73 74 20 69 6e 74 20 6f 75 74 66 64 20 29 0a 20 20 20 20 3a 0a 20 20 20 20 4d 61 74 63 68 onst.int.outfd.).....:.....Match
49a20 66 69 6e 64 65 72 5f 62 61 73 65 28 20 62 65 66 6f 72 65 5f 73 69 7a 65 2c 20 64 69 63 74 5f 73 finder_base(.before_size,.dict_s
49a40 69 7a 65 2c 20 61 66 74 65 72 5f 73 69 7a 65 2c 20 64 69 63 74 5f 66 61 63 74 6f 72 2c 0a 20 20 ize,.after_size,.dict_factor,...
49a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 ....................num_prev_pos
49a80 69 74 69 6f 6e 73 32 33 2c 20 70 6f 73 5f 61 72 72 61 79 5f 66 61 63 74 6f 72 2c 20 69 66 64 20 itions23,.pos_array_factor,.ifd.
49aa0 29 2c 0a 20 20 20 20 63 72 63 5f 28 20 30 78 46 46 46 46 46 46 46 46 55 20 29 2c 0a 20 20 20 20 ),.....crc_(.0xFFFFFFFFU.),.....
49ac0 72 65 6e 63 28 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 2c 20 6f 75 74 66 64 20 29 0a 20 renc(.dictionary_size,.outfd.)..
49ae0 20 20 20 7b 7d 0a 0a 20 20 75 6e 73 69 67 6e 65 64 20 63 72 63 28 29 20 63 6f 6e 73 74 20 7b 20 ...{}....unsigned.crc().const.{.
49b00 72 65 74 75 72 6e 20 63 72 63 5f 20 5e 20 30 78 46 46 46 46 46 46 46 46 55 3b 20 7d 0a 0a 20 20 return.crc_.^.0xFFFFFFFFU;.}....
49b20 69 6e 74 20 70 72 69 63 65 5f 6c 69 74 65 72 61 6c 28 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 int.price_literal(.const.uint8_t
49b40 20 70 72 65 76 5f 62 79 74 65 2c 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 73 79 6d 62 6f 6c .prev_byte,.const.uint8_t.symbol
49b60 20 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 20 72 65 74 75 72 6e 20 70 72 69 63 65 5f 73 79 6d 62 .).const.....{.return.price_symb
49b80 6f 6c 38 28 20 62 6d 5f 6c 69 74 65 72 61 6c 5b 67 65 74 5f 6c 69 74 5f 73 74 61 74 65 28 70 72 ol8(.bm_literal[get_lit_state(pr
49ba0 65 76 5f 62 79 74 65 29 5d 2c 20 73 79 6d 62 6f 6c 20 29 3b 20 7d 0a 0a 20 20 69 6e 74 20 70 72 ev_byte)],.symbol.);.}....int.pr
49bc0 69 63 65 5f 6d 61 74 63 68 65 64 28 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 70 72 65 76 5f ice_matched(.const.uint8_t.prev_
49be0 62 79 74 65 2c 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 73 79 6d 62 6f 6c 2c 0a 20 20 20 20 byte,.const.uint8_t.symbol,.....
49c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 6d .................const.uint8_t.m
49c20 61 74 63 68 5f 62 79 74 65 20 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 20 72 65 74 75 72 6e 20 3a atch_byte.).const.....{.return.:
49c40 3a 70 72 69 63 65 5f 6d 61 74 63 68 65 64 28 20 62 6d 5f 6c 69 74 65 72 61 6c 5b 67 65 74 5f 6c :price_matched(.bm_literal[get_l
49c60 69 74 5f 73 74 61 74 65 28 70 72 65 76 5f 62 79 74 65 29 5d 2c 20 73 79 6d 62 6f 6c 2c 0a 20 20 it_state(prev_byte)],.symbol,...
49c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 74 63 ............................matc
49ca0 68 5f 62 79 74 65 20 29 3b 20 7d 0a 0a 20 20 76 6f 69 64 20 65 6e 63 6f 64 65 5f 6c 69 74 65 72 h_byte.);.}....void.encode_liter
49cc0 61 6c 28 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 70 72 65 76 5f 62 79 74 65 2c 20 63 6f 6e al(.const.uint8_t.prev_byte,.con
49ce0 73 74 20 75 69 6e 74 38 5f 74 20 73 79 6d 62 6f 6c 20 29 0a 20 20 20 20 7b 20 72 65 6e 63 2e 65 st.uint8_t.symbol.).....{.renc.e
49d00 6e 63 6f 64 65 5f 74 72 65 65 38 28 20 62 6d 5f 6c 69 74 65 72 61 6c 5b 67 65 74 5f 6c 69 74 5f ncode_tree8(.bm_literal[get_lit_
49d20 73 74 61 74 65 28 70 72 65 76 5f 62 79 74 65 29 5d 2c 20 73 79 6d 62 6f 6c 20 29 3b 20 7d 0a 0a state(prev_byte)],.symbol.);.}..
49d40 20 20 76 6f 69 64 20 65 6e 63 6f 64 65 5f 6d 61 74 63 68 65 64 28 20 63 6f 6e 73 74 20 75 69 6e ..void.encode_matched(.const.uin
49d60 74 38 5f 74 20 70 72 65 76 5f 62 79 74 65 2c 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 73 79 t8_t.prev_byte,.const.uint8_t.sy
49d80 6d 62 6f 6c 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e mbol,........................con
49da0 73 74 20 75 69 6e 74 38 5f 74 20 6d 61 74 63 68 5f 62 79 74 65 20 29 0a 20 20 20 20 7b 20 72 65 st.uint8_t.match_byte.).....{.re
49dc0 6e 63 2e 65 6e 63 6f 64 65 5f 6d 61 74 63 68 65 64 28 20 62 6d 5f 6c 69 74 65 72 61 6c 5b 67 65 nc.encode_matched(.bm_literal[ge
49de0 74 5f 6c 69 74 5f 73 74 61 74 65 28 70 72 65 76 5f 62 79 74 65 29 5d 2c 20 73 79 6d 62 6f 6c 2c t_lit_state(prev_byte)],.symbol,
49e00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 74 63 ............................matc
49e20 68 5f 62 79 74 65 20 29 3b 20 7d 0a 0a 20 20 76 6f 69 64 20 65 6e 63 6f 64 65 5f 70 61 69 72 28 h_byte.);.}....void.encode_pair(
49e40 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 64 69 73 2c 20 63 6f 6e 73 74 20 69 6e 74 20 6c .const.unsigned.dis,.const.int.l
49e60 65 6e 2c 20 63 6f 6e 73 74 20 69 6e 74 20 70 6f 73 5f 73 74 61 74 65 20 29 0a 20 20 20 20 7b 0a en,.const.int.pos_state.).....{.
49e80 20 20 20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f 6c 65 6e 28 20 6d 61 74 63 68 5f 6c 65 6e 5f 6d ....renc.encode_len(.match_len_m
49ea0 6f 64 65 6c 2c 20 6c 65 6e 2c 20 70 6f 73 5f 73 74 61 74 65 20 29 3b 0a 20 20 20 20 63 6f 6e 73 odel,.len,.pos_state.);.....cons
49ec0 74 20 75 6e 73 69 67 6e 65 64 20 64 69 73 5f 73 6c 6f 74 20 3d 20 67 65 74 5f 73 6c 6f 74 28 20 t.unsigned.dis_slot.=.get_slot(.
49ee0 64 69 73 20 29 3b 0a 20 20 20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f 74 72 65 65 36 28 20 62 6d dis.);.....renc.encode_tree6(.bm
49f00 5f 64 69 73 5f 73 6c 6f 74 5b 67 65 74 5f 6c 65 6e 5f 73 74 61 74 65 28 6c 65 6e 29 5d 2c 20 64 _dis_slot[get_len_state(len)],.d
49f20 69 73 5f 73 6c 6f 74 20 29 3b 0a 0a 20 20 20 20 69 66 28 20 64 69 73 5f 73 6c 6f 74 20 3e 3d 20 is_slot.);......if(.dis_slot.>=.
49f40 73 74 61 72 74 5f 64 69 73 5f 6d 6f 64 65 6c 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 start_dis_model.).......{.......
49f60 63 6f 6e 73 74 20 69 6e 74 20 64 69 72 65 63 74 5f 62 69 74 73 20 3d 20 28 20 64 69 73 5f 73 6c const.int.direct_bits.=.(.dis_sl
49f80 6f 74 20 3e 3e 20 31 20 29 20 2d 20 31 3b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 ot.>>.1.).-.1;.......const.unsig
49fa0 6e 65 64 20 62 61 73 65 20 3d 20 28 20 32 20 7c 20 28 20 64 69 73 5f 73 6c 6f 74 20 26 20 31 20 ned.base.=.(.2.|.(.dis_slot.&.1.
49fc0 29 20 29 20 3c 3c 20 64 69 72 65 63 74 5f 62 69 74 73 3b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 ).).<<.direct_bits;.......const.
49fe0 75 6e 73 69 67 6e 65 64 20 64 69 72 65 63 74 5f 64 69 73 20 3d 20 64 69 73 20 2d 20 62 61 73 65 unsigned.direct_dis.=.dis.-.base
4a000 3b 0a 0a 20 20 20 20 20 20 69 66 28 20 64 69 73 5f 73 6c 6f 74 20 3c 20 65 6e 64 5f 64 69 73 5f ;........if(.dis_slot.<.end_dis_
4a020 6d 6f 64 65 6c 20 29 0a 20 20 20 20 20 20 20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f 74 72 65 65 model.).........renc.encode_tree
4a040 5f 72 65 76 65 72 73 65 64 28 20 62 6d 5f 64 69 73 20 2b 20 28 20 62 61 73 65 20 2d 20 64 69 73 _reversed(.bm_dis.+.(.base.-.dis
4a060 5f 73 6c 6f 74 20 29 2c 20 64 69 72 65 63 74 5f 64 69 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 _slot.),.direct_dis,............
4a080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 69 72 65 63 74 5f 62 ........................direct_b
4a0a0 69 74 73 20 29 3b 0a 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 its.);.......else.........{.....
4a0c0 20 20 20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 28 20 64 69 72 65 63 74 5f 64 69 73 20 3e 3e 20 64 ....renc.encode(.direct_dis.>>.d
4a0e0 69 73 5f 61 6c 69 67 6e 5f 62 69 74 73 2c 20 64 69 72 65 63 74 5f 62 69 74 73 20 2d 20 64 69 73 is_align_bits,.direct_bits.-.dis
4a100 5f 61 6c 69 67 6e 5f 62 69 74 73 20 29 3b 0a 20 20 20 20 20 20 20 20 72 65 6e 63 2e 65 6e 63 6f _align_bits.);.........renc.enco
4a120 64 65 5f 74 72 65 65 5f 72 65 76 65 72 73 65 64 28 20 62 6d 5f 61 6c 69 67 6e 2c 20 64 69 72 65 de_tree_reversed(.bm_align,.dire
4a140 63 74 5f 64 69 73 2c 20 64 69 73 5f 61 6c 69 67 6e 5f 62 69 74 73 20 29 3b 0a 20 20 20 20 20 20 ct_dis,.dis_align_bits.);.......
4a160 20 20 7d 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 76 6f 69 64 20 66 75 6c 6c 5f 66 ..}.......}.....}....void.full_f
4a180 6c 75 73 68 28 20 63 6f 6e 73 74 20 53 74 61 74 65 20 73 74 61 74 65 20 29 3b 0a 0a 70 75 62 6c lush(.const.State.state.);..publ
4a1a0 69 63 3a 0a 20 20 76 69 72 74 75 61 6c 20 7e 4c 5a 5f 65 6e 63 6f 64 65 72 5f 62 61 73 65 28 29 ic:...virtual.~LZ_encoder_base()
4a1c0 20 7b 7d 0a 0a 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6d 65 6d 62 65 72 .{}....unsigned.long.long.member
4a1e0 5f 70 6f 73 69 74 69 6f 6e 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 72 65 6e 63 2e _position().const.{.return.renc.
4a200 6d 65 6d 62 65 72 5f 70 6f 73 69 74 69 6f 6e 28 29 3b 20 7d 0a 20 20 76 69 72 74 75 61 6c 20 76 member_position();.}...virtual.v
4a220 6f 69 64 20 72 65 73 65 74 28 29 3b 0a 0a 20 20 76 69 72 74 75 61 6c 20 62 6f 6f 6c 20 65 6e 63 oid.reset();....virtual.bool.enc
4a240 6f 64 65 5f 6d 65 6d 62 65 72 28 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 ode_member(.const.unsigned.long.
4a260 6c 6f 6e 67 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 29 20 3d 20 30 3b 0a 20 20 7d 3b 0a 00 00 00 long.member_size.).=.0;...};....
4a280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a400 6c 7a 69 70 2d 31 2e 32 30 2f 66 69 6c 65 5f 69 6e 64 65 78 2e 63 63 00 00 00 00 00 00 00 00 00 lzip-1.20/file_index.cc.........
4a420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
4a480 30 30 31 36 34 31 37 00 31 33 36 36 34 37 33 36 35 34 35 00 30 31 35 32 31 33 00 20 30 00 00 00 0016417.13664736545.015213..0...
4a4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a500 00 75 73 74 61 72 20 20 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...mohammad...............
4a520 00 00 00 00 00 00 00 00 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........mohammad...............
4a540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a600 2f 2a 20 20 4c 7a 69 70 20 2d 20 4c 5a 4d 41 20 6c 6f 73 73 6c 65 73 73 20 64 61 74 61 20 63 6f /*..Lzip.-.LZMA.lossless.data.co
4a620 6d 70 72 65 73 73 6f 72 0a 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d mpressor.....Copyright.(C).2008-
4a640 32 30 31 38 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 20 54 68 69 2018.Antonio.Diaz.Diaz.......Thi
4a660 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 s.program.is.free.software:.you.
4a680 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 can.redistribute.it.and/or.modif
4a6a0 79 0a 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 y.....it.under.the.terms.of.the.
4a6c0 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 GNU.General.Public.License.as.pu
4a6e0 62 6c 69 73 68 65 64 20 62 79 0a 20 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 blished.by.....the.Free.Software
4a700 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 .Foundation,.either.version.2.of
4a720 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 .the.License,.or.....(at.your.op
4a740 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 20 54 68 tion).any.later.version.......Th
4a760 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 is.program.is.distributed.in.the
4a780 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 20 .hope.that.it.will.be.useful,...
4a7a0 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 ..but.WITHOUT.ANY.WARRANTY;.with
4a7c0 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 out.even.the.implied.warranty.of
4a7e0 0a 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 .....MERCHANTABILITY.or.FITNESS.
4a800 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 FOR.A.PARTICULAR.PURPOSE...See.t
4a820 68 65 0a 20 20 20 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 he.....GNU.General.Public.Licens
4a840 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 20 59 6f 75 20 73 68 6f e.for.more.details.......You.sho
4a860 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 uld.have.received.a.copy.of.the.
4a880 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 20 61 GNU.General.Public.License.....a
4a8a0 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c long.with.this.program...If.not,
4a8c0 20 73 65 65 20 3c 68 74 74 70 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 .see.<http://www.gnu.org/license
4a8e0 73 2f 3e 2e 0a 2a 2f 0a 0a 23 64 65 66 69 6e 65 20 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 s/>..*/..#define._FILE_OFFSET_BI
4a900 54 53 20 36 34 0a 0a 23 69 6e 63 6c 75 64 65 20 3c 61 6c 67 6f 72 69 74 68 6d 3e 0a 23 69 6e 63 TS.64..#include.<algorithm>.#inc
4a920 6c 75 64 65 20 3c 63 65 72 72 6e 6f 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 63 73 74 64 69 6f 3e 0a lude.<cerrno>.#include.<cstdio>.
4a940 23 69 6e 63 6c 75 64 65 20 3c 63 73 74 72 69 6e 67 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 73 74 72 #include.<cstring>.#include.<str
4a960 69 6e 67 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 76 65 63 74 6f 72 3e 0a 23 69 6e 63 6c 75 64 65 20 ing>.#include.<vector>.#include.
4a980 3c 73 74 64 69 6e 74 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 64 2e 68 3e 0a 0a <stdint.h>.#include.<unistd.h>..
4a9a0 23 69 6e 63 6c 75 64 65 20 22 6c 7a 69 70 2e 68 22 0a 23 69 6e 63 6c 75 64 65 20 22 66 69 6c 65 #include."lzip.h".#include."file
4a9c0 5f 69 6e 64 65 78 2e 68 22 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 7b 0a 0a 69 6e 74 20 73 65 65 _index.h"...namespace.{..int.see
4a9e0 6b 5f 72 65 61 64 28 20 63 6f 6e 73 74 20 69 6e 74 20 66 64 2c 20 75 69 6e 74 38 5f 74 20 2a 20 k_read(.const.int.fd,.uint8_t.*.
4aa00 63 6f 6e 73 74 20 62 75 66 2c 20 63 6f 6e 73 74 20 69 6e 74 20 73 69 7a 65 2c 0a 20 20 20 20 20 const.buf,.const.int.size,......
4aa20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 6c 6f 6e 67 20 6c 6f 6e 67 20 70 6f 73 20 29 0a ..........const.long.long.pos.).
4aa40 20 20 7b 0a 20 20 69 66 28 20 6c 73 65 65 6b 28 20 66 64 2c 20 70 6f 73 2c 20 53 45 45 4b 5f 53 ..{...if(.lseek(.fd,.pos,.SEEK_S
4aa60 45 54 20 29 20 3d 3d 20 70 6f 73 20 29 0a 20 20 20 20 72 65 74 75 72 6e 20 72 65 61 64 62 6c 6f ET.).==.pos.).....return.readblo
4aa80 63 6b 28 20 66 64 2c 20 62 75 66 2c 20 73 69 7a 65 20 29 3b 0a 20 20 72 65 74 75 72 6e 20 30 3b ck(.fd,.buf,.size.);...return.0;
4aaa0 0a 20 20 7d 0a 0a 7d 20 2f 2f 20 65 6e 64 20 6e 61 6d 65 73 70 61 63 65 0a 0a 0a 76 6f 69 64 20 ...}..}.//.end.namespace...void.
4aac0 46 69 6c 65 5f 69 6e 64 65 78 3a 3a 73 65 74 5f 65 72 72 6e 6f 5f 65 72 72 6f 72 28 20 63 6f 6e File_index::set_errno_error(.con
4aae0 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 6d 73 67 20 29 0a 20 20 7b 0a 20 20 65 72 72 6f st.char.*.const.msg.)...{...erro
4ab00 72 5f 20 3d 20 6d 73 67 3b 20 65 72 72 6f 72 5f 20 2b 3d 20 73 74 64 3a 3a 73 74 72 65 72 72 6f r_.=.msg;.error_.+=.std::strerro
4ab20 72 28 20 65 72 72 6e 6f 20 29 3b 0a 20 20 72 65 74 76 61 6c 5f 20 3d 20 31 3b 0a 20 20 7d 0a 0a r(.errno.);...retval_.=.1;...}..
4ab40 76 6f 69 64 20 46 69 6c 65 5f 69 6e 64 65 78 3a 3a 73 65 74 5f 6e 75 6d 5f 65 72 72 6f 72 28 20 void.File_index::set_num_error(.
4ab60 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 6d 73 67 2c 20 75 6e 73 69 67 6e 65 64 const.char.*.const.msg,.unsigned
4ab80 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6e 75 6d 20 29 0a 20 20 7b 0a 20 20 63 68 61 72 20 62 75 66 5b .long.long.num.)...{...char.buf[
4aba0 38 30 5d 3b 0a 20 20 73 6e 70 72 69 6e 74 66 28 20 62 75 66 2c 20 73 69 7a 65 6f 66 20 62 75 66 80];...snprintf(.buf,.sizeof.buf
4abc0 2c 20 22 25 73 25 6c 6c 75 22 2c 20 6d 73 67 2c 20 6e 75 6d 20 29 3b 0a 20 20 65 72 72 6f 72 5f ,."%s%llu",.msg,.num.);...error_
4abe0 20 3d 20 62 75 66 3b 0a 20 20 72 65 74 76 61 6c 5f 20 3d 20 32 3b 0a 20 20 7d 0a 0a 0a 2f 2f 20 .=.buf;...retval_.=.2;...}...//.
4ac00 49 66 20 73 75 63 63 65 73 73 66 75 6c 2c 20 70 75 73 68 20 6c 61 73 74 20 6d 65 6d 62 65 72 20 If.successful,.push.last.member.
4ac20 61 6e 64 20 73 65 74 20 70 6f 73 20 74 6f 20 6d 65 6d 62 65 72 20 68 65 61 64 65 72 2e 0a 62 6f and.set.pos.to.member.header..bo
4ac40 6f 6c 20 46 69 6c 65 5f 69 6e 64 65 78 3a 3a 73 6b 69 70 5f 74 72 61 69 6c 69 6e 67 5f 64 61 74 ol.File_index::skip_trailing_dat
4ac60 61 28 20 63 6f 6e 73 74 20 69 6e 74 20 66 64 2c 20 6c 6f 6e 67 20 6c 6f 6e 67 20 26 20 70 6f 73 a(.const.int.fd,.long.long.&.pos
4ac80 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 ,....................const.bool.
4aca0 69 67 6e 6f 72 65 5f 74 72 61 69 6c 69 6e 67 2c 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 6c 6f 6f 73 ignore_trailing,.const.bool.loos
4acc0 65 5f 74 72 61 69 6c 69 6e 67 20 29 0a 20 20 7b 0a 20 20 65 6e 75 6d 20 7b 20 62 6c 6f 63 6b 5f e_trailing.)...{...enum.{.block_
4ace0 73 69 7a 65 20 3d 20 31 36 33 38 34 2c 0a 20 20 20 20 20 20 20 20 20 62 75 66 66 65 72 5f 73 69 size.=.16384,..........buffer_si
4ad00 7a 65 20 3d 20 62 6c 6f 63 6b 5f 73 69 7a 65 20 2b 20 46 69 6c 65 5f 74 72 61 69 6c 65 72 3a 3a ze.=.block_size.+.File_trailer::
4ad20 73 69 7a 65 20 2d 20 31 20 2b 20 46 69 6c 65 5f 68 65 61 64 65 72 3a 3a 73 69 7a 65 20 7d 3b 0a size.-.1.+.File_header::size.};.
4ad40 20 20 75 69 6e 74 38 5f 74 20 62 75 66 66 65 72 5b 62 75 66 66 65 72 5f 73 69 7a 65 5d 3b 0a 20 ..uint8_t.buffer[buffer_size];..
4ad60 20 69 66 28 20 70 6f 73 20 3c 20 6d 69 6e 5f 6d 65 6d 62 65 72 5f 73 69 7a 65 20 29 20 72 65 74 .if(.pos.<.min_member_size.).ret
4ad80 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 69 6e 74 20 62 73 69 7a 65 20 3d 20 70 6f 73 20 25 20 62 urn.false;...int.bsize.=.pos.%.b
4ada0 6c 6f 63 6b 5f 73 69 7a 65 3b 09 09 09 2f 2f 20 74 6f 74 61 6c 20 62 79 74 65 73 20 69 6e 20 62 lock_size;...//.total.bytes.in.b
4adc0 75 66 66 65 72 0a 20 20 69 66 28 20 62 73 69 7a 65 20 3c 3d 20 62 75 66 66 65 72 5f 73 69 7a 65 uffer...if(.bsize.<=.buffer_size
4ade0 20 2d 20 62 6c 6f 63 6b 5f 73 69 7a 65 20 29 20 62 73 69 7a 65 20 2b 3d 20 62 6c 6f 63 6b 5f 73 .-.block_size.).bsize.+=.block_s
4ae00 69 7a 65 3b 0a 20 20 69 6e 74 20 73 65 61 72 63 68 5f 73 69 7a 65 20 3d 20 62 73 69 7a 65 3b 09 ize;...int.search_size.=.bsize;.
4ae20 09 09 2f 2f 20 62 79 74 65 73 20 74 6f 20 73 65 61 72 63 68 20 66 6f 72 20 74 72 61 69 6c 65 72 ..//.bytes.to.search.for.trailer
4ae40 0a 20 20 69 6e 74 20 72 64 5f 73 69 7a 65 20 3d 20 62 73 69 7a 65 3b 09 09 09 09 2f 2f 20 62 79 ...int.rd_size.=.bsize;....//.by
4ae60 74 65 73 20 74 6f 20 72 65 61 64 20 66 72 6f 6d 20 66 69 6c 65 0a 20 20 75 6e 73 69 67 6e 65 64 tes.to.read.from.file...unsigned
4ae80 20 6c 6f 6e 67 20 6c 6f 6e 67 20 69 70 6f 73 20 3d 20 70 6f 73 20 2d 20 72 64 5f 73 69 7a 65 3b .long.long.ipos.=.pos.-.rd_size;
4aea0 09 2f 2f 20 61 6c 69 67 6e 65 64 20 74 6f 20 62 6c 6f 63 6b 5f 73 69 7a 65 0a 0a 20 20 77 68 69 .//.aligned.to.block_size....whi
4aec0 6c 65 28 20 74 72 75 65 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 73 65 65 6b 5f 72 65 le(.true.).....{.....if(.seek_re
4aee0 61 64 28 20 66 64 2c 20 62 75 66 66 65 72 2c 20 72 64 5f 73 69 7a 65 2c 20 69 70 6f 73 20 29 20 ad(.fd,.buffer,.rd_size,.ipos.).
4af00 21 3d 20 72 64 5f 73 69 7a 65 20 29 0a 20 20 20 20 20 20 7b 20 73 65 74 5f 65 72 72 6e 6f 5f 65 !=.rd_size.).......{.set_errno_e
4af20 72 72 6f 72 28 20 22 45 72 72 6f 72 20 73 65 65 6b 69 6e 67 20 6d 65 6d 62 65 72 20 74 72 61 69 rror(."Error.seeking.member.trai
4af40 6c 65 72 3a 20 22 20 29 3b 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 20 7d 0a 20 20 20 20 63 6f ler:.".);.return.false;.}.....co
4af60 6e 73 74 20 75 69 6e 74 38 5f 74 20 6d 61 78 5f 6d 73 62 20 3d 20 28 20 69 70 6f 73 20 2b 20 73 nst.uint8_t.max_msb.=.(.ipos.+.s
4af80 65 61 72 63 68 5f 73 69 7a 65 20 29 20 3e 3e 20 35 36 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 earch_size.).>>.56;.....for(.int
4afa0 20 69 20 3d 20 73 65 61 72 63 68 5f 73 69 7a 65 3b 20 69 20 3e 3d 20 46 69 6c 65 5f 74 72 61 69 .i.=.search_size;.i.>=.File_trai
4afc0 6c 65 72 3a 3a 73 69 7a 65 3b 20 2d 2d 69 20 29 0a 20 20 20 20 20 20 69 66 28 20 62 75 66 66 65 ler::size;.--i.).......if(.buffe
4afe0 72 5b 69 2d 31 5d 20 3c 3d 20 6d 61 78 5f 6d 73 62 20 29 09 2f 2f 20 6d 6f 73 74 20 73 69 67 6e r[i-1].<=.max_msb.).//.most.sign
4b000 69 66 69 63 61 6e 74 20 62 79 74 65 20 6f 66 20 6d 65 6d 62 65 72 5f 73 69 7a 65 0a 20 20 20 20 ificant.byte.of.member_size.....
4b020 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 46 69 6c 65 5f 74 72 61 69 6c 65 72 20 26 20 74 72 61 ....{.........File_trailer.&.tra
4b040 69 6c 65 72 20 3d 0a 20 20 20 20 20 20 20 20 20 20 2a 28 46 69 6c 65 5f 74 72 61 69 6c 65 72 20 iler.=...........*(File_trailer.
4b060 2a 29 28 20 62 75 66 66 65 72 20 2b 20 69 20 2d 20 46 69 6c 65 5f 74 72 61 69 6c 65 72 3a 3a 73 *)(.buffer.+.i.-.File_trailer::s
4b080 69 7a 65 20 29 3b 0a 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f ize.);.........const.unsigned.lo
4b0a0 6e 67 20 6c 6f 6e 67 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 3d 20 74 72 61 69 6c 65 72 2e 6d 65 ng.long.member_size.=.trailer.me
4b0c0 6d 62 65 72 5f 73 69 7a 65 28 29 3b 0a 20 20 20 20 20 20 20 20 69 66 28 20 6d 65 6d 62 65 72 5f mber_size();.........if(.member_
4b0e0 73 69 7a 65 20 3d 3d 20 30 20 29 0a 20 20 20 20 20 20 20 20 20 20 7b 20 77 68 69 6c 65 28 20 69 size.==.0.)...........{.while(.i
4b100 20 3e 20 46 69 6c 65 5f 74 72 61 69 6c 65 72 3a 3a 73 69 7a 65 20 26 26 20 62 75 66 66 65 72 5b .>.File_trailer::size.&&.buffer[
4b120 69 2d 39 5d 20 3d 3d 20 30 20 29 20 2d 2d 69 3b 20 63 6f 6e 74 69 6e 75 65 3b 20 7d 0a 20 20 20 i-9].==.0.).--i;.continue;.}....
4b140 20 20 20 20 20 69 66 28 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 3c 20 6d 69 6e 5f 6d 65 6d 62 65 .....if(.member_size.<.min_membe
4b160 72 5f 73 69 7a 65 20 7c 7c 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 3e 20 69 70 6f 73 20 2b 20 69 r_size.||.member_size.>.ipos.+.i
4b180 20 29 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 20 20 20 20 20 46 .)...........continue;.........F
4b1a0 69 6c 65 5f 68 65 61 64 65 72 20 68 65 61 64 65 72 3b 0a 20 20 20 20 20 20 20 20 69 66 28 20 73 ile_header.header;.........if(.s
4b1c0 65 65 6b 5f 72 65 61 64 28 20 66 64 2c 20 68 65 61 64 65 72 2e 64 61 74 61 2c 20 46 69 6c 65 5f eek_read(.fd,.header.data,.File_
4b1e0 68 65 61 64 65 72 3a 3a 73 69 7a 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 header::size,...................
4b200 20 20 20 20 20 69 70 6f 73 20 2b 20 69 20 2d 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 29 20 21 3d .....ipos.+.i.-.member_size.).!=
4b220 20 46 69 6c 65 5f 68 65 61 64 65 72 3a 3a 73 69 7a 65 20 29 0a 20 20 20 20 20 20 20 20 20 20 7b .File_header::size.)...........{
4b240 20 73 65 74 5f 65 72 72 6e 6f 5f 65 72 72 6f 72 28 20 22 45 72 72 6f 72 20 72 65 61 64 69 6e 67 .set_errno_error(."Error.reading
4b260 20 6d 65 6d 62 65 72 20 68 65 61 64 65 72 3a 20 22 20 29 3b 20 72 65 74 75 72 6e 20 66 61 6c 73 .member.header:.".);.return.fals
4b280 65 3b 20 7d 0a 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 64 69 63 74 e;.}.........const.unsigned.dict
4b2a0 69 6f 6e 61 72 79 5f 73 69 7a 65 20 3d 20 68 65 61 64 65 72 2e 64 69 63 74 69 6f 6e 61 72 79 5f ionary_size.=.header.dictionary_
4b2c0 73 69 7a 65 28 29 3b 0a 20 20 20 20 20 20 20 20 69 66 28 20 21 68 65 61 64 65 72 2e 76 65 72 69 size();.........if(.!header.veri
4b2e0 66 79 5f 6d 61 67 69 63 28 29 20 7c 7c 20 21 68 65 61 64 65 72 2e 76 65 72 69 66 79 5f 76 65 72 fy_magic().||.!header.verify_ver
4b300 73 69 6f 6e 28 29 20 7c 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 21 69 73 76 61 6c 69 64 5f 64 sion().||.............!isvalid_d
4b320 73 28 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 20 29 20 63 6f 6e 74 69 6e 75 65 3b s(.dictionary_size.).).continue;
4b340 0a 20 20 20 20 20 20 20 20 69 66 28 20 28 2a 28 46 69 6c 65 5f 68 65 61 64 65 72 20 2a 29 28 20 .........if(.(*(File_header.*)(.
4b360 62 75 66 66 65 72 20 2b 20 69 20 29 29 2e 76 65 72 69 66 79 5f 70 72 65 66 69 78 28 20 62 73 69 buffer.+.i.)).verify_prefix(.bsi
4b380 7a 65 20 2d 20 69 20 29 20 29 0a 20 20 20 20 20 20 20 20 20 20 7b 20 65 72 72 6f 72 5f 20 3d 20 ze.-.i.).)...........{.error_.=.
4b3a0 22 4c 61 73 74 20 6d 65 6d 62 65 72 20 69 6e 20 69 6e 70 75 74 20 66 69 6c 65 20 69 73 20 74 72 "Last.member.in.input.file.is.tr
4b3c0 75 6e 63 61 74 65 64 20 6f 72 20 63 6f 72 72 75 70 74 2e 22 3b 0a 20 20 20 20 20 20 20 20 20 20 uncated.or.corrupt.";...........
4b3e0 20 20 72 65 74 76 61 6c 5f 20 3d 20 32 3b 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 20 7d 0a 20 ..retval_.=.2;.return.false;.}..
4b400 20 20 20 20 20 20 20 69 66 28 20 21 6c 6f 6f 73 65 5f 74 72 61 69 6c 69 6e 67 20 26 26 20 62 73 .......if(.!loose_trailing.&&.bs
4b420 69 7a 65 20 2d 20 69 20 3e 3d 20 46 69 6c 65 5f 68 65 61 64 65 72 3a 3a 73 69 7a 65 20 26 26 0a ize.-.i.>=.File_header::size.&&.
4b440 20 20 20 20 20 20 20 20 20 20 20 20 28 2a 28 46 69 6c 65 5f 68 65 61 64 65 72 20 2a 29 28 20 62 ............(*(File_header.*)(.b
4b460 75 66 66 65 72 20 2b 20 69 20 29 29 2e 76 65 72 69 66 79 5f 63 6f 72 72 75 70 74 28 29 20 29 0a uffer.+.i.)).verify_corrupt().).
4b480 20 20 20 20 20 20 20 20 20 20 7b 20 65 72 72 6f 72 5f 20 3d 20 63 6f 72 72 75 70 74 5f 6d 6d 5f ..........{.error_.=.corrupt_mm_
4b4a0 6d 73 67 3b 20 72 65 74 76 61 6c 5f 20 3d 20 32 3b 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 20 msg;.retval_.=.2;.return.false;.
4b4c0 7d 0a 20 20 20 20 20 20 20 20 69 66 28 20 21 69 67 6e 6f 72 65 5f 74 72 61 69 6c 69 6e 67 20 29 }.........if(.!ignore_trailing.)
4b4e0 0a 20 20 20 20 20 20 20 20 20 20 7b 20 65 72 72 6f 72 5f 20 3d 20 74 72 61 69 6c 69 6e 67 5f 6d ...........{.error_.=.trailing_m
4b500 73 67 3b 20 72 65 74 76 61 6c 5f 20 3d 20 32 3b 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 20 7d sg;.retval_.=.2;.return.false;.}
4b520 0a 20 20 20 20 20 20 20 20 70 6f 73 20 3d 20 69 70 6f 73 20 2b 20 69 20 2d 20 6d 65 6d 62 65 72 .........pos.=.ipos.+.i.-.member
4b540 5f 73 69 7a 65 3b 0a 20 20 20 20 20 20 20 20 6d 65 6d 62 65 72 5f 76 65 63 74 6f 72 2e 70 75 73 _size;.........member_vector.pus
4b560 68 5f 62 61 63 6b 28 20 4d 65 6d 62 65 72 28 20 30 2c 20 74 72 61 69 6c 65 72 2e 64 61 74 61 5f h_back(.Member(.0,.trailer.data_
4b580 73 69 7a 65 28 29 2c 20 70 6f 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 size(),.pos,....................
4b5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 6d 62 65 72 5f 73 69 7a ......................member_siz
4b5c0 65 2c 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 20 29 3b 0a 20 20 20 20 20 20 20 20 e,.dictionary_size.).);.........
4b5e0 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 69 66 28 20 69 return.true;.........}.....if(.i
4b600 70 6f 73 20 3c 3d 20 30 20 29 0a 20 20 20 20 20 20 7b 20 73 65 74 5f 6e 75 6d 5f 65 72 72 6f 72 pos.<=.0.).......{.set_num_error
4b620 28 20 22 4d 65 6d 62 65 72 20 73 69 7a 65 20 69 6e 20 74 72 61 69 6c 65 72 20 69 73 20 63 6f 72 (."Member.size.in.trailer.is.cor
4b640 72 75 70 74 20 61 74 20 70 6f 73 20 22 2c 20 70 6f 73 20 2d 20 38 20 29 3b 0a 20 20 20 20 20 20 rupt.at.pos.",.pos.-.8.);.......
4b660 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 20 7d 0a 20 20 20 20 62 73 69 7a 65 20 3d 20 62 75 ..return.false;.}.....bsize.=.bu
4b680 66 66 65 72 5f 73 69 7a 65 3b 0a 20 20 20 20 73 65 61 72 63 68 5f 73 69 7a 65 20 3d 20 62 73 69 ffer_size;.....search_size.=.bsi
4b6a0 7a 65 20 2d 20 46 69 6c 65 5f 68 65 61 64 65 72 3a 3a 73 69 7a 65 3b 0a 20 20 20 20 72 64 5f 73 ze.-.File_header::size;.....rd_s
4b6c0 69 7a 65 20 3d 20 62 6c 6f 63 6b 5f 73 69 7a 65 3b 0a 20 20 20 20 69 70 6f 73 20 2d 3d 20 72 64 ize.=.block_size;.....ipos.-=.rd
4b6e0 5f 73 69 7a 65 3b 0a 20 20 20 20 73 74 64 3a 3a 6d 65 6d 63 70 79 28 20 62 75 66 66 65 72 20 2b _size;.....std::memcpy(.buffer.+
4b700 20 72 64 5f 73 69 7a 65 2c 20 62 75 66 66 65 72 2c 20 62 75 66 66 65 72 5f 73 69 7a 65 20 2d 20 .rd_size,.buffer,.buffer_size.-.
4b720 72 64 5f 73 69 7a 65 20 29 3b 0a 20 20 20 20 7d 0a 20 20 7d 0a 0a 0a 46 69 6c 65 5f 69 6e 64 65 rd_size.);.....}...}...File_inde
4b740 78 3a 3a 46 69 6c 65 5f 69 6e 64 65 78 28 20 63 6f 6e 73 74 20 69 6e 74 20 69 6e 66 64 2c 20 63 x::File_index(.const.int.infd,.c
4b760 6f 6e 73 74 20 62 6f 6f 6c 20 69 67 6e 6f 72 65 5f 74 72 61 69 6c 69 6e 67 2c 0a 20 20 20 20 20 onst.bool.ignore_trailing,......
4b780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 6c 6f ...................const.bool.lo
4b7a0 6f 73 65 5f 74 72 61 69 6c 69 6e 67 20 29 0a 20 20 3a 20 69 73 69 7a 65 28 20 6c 73 65 65 6b 28 ose_trailing.)...:.isize(.lseek(
4b7c0 20 69 6e 66 64 2c 20 30 2c 20 53 45 45 4b 5f 45 4e 44 20 29 20 29 2c 20 72 65 74 76 61 6c 5f 28 .infd,.0,.SEEK_END.).),.retval_(
4b7e0 20 30 20 29 0a 20 20 7b 0a 20 20 69 66 28 20 69 73 69 7a 65 20 3c 20 30 20 29 0a 20 20 20 20 7b .0.)...{...if(.isize.<.0.).....{
4b800 20 73 65 74 5f 65 72 72 6e 6f 5f 65 72 72 6f 72 28 20 22 49 6e 70 75 74 20 66 69 6c 65 20 69 73 .set_errno_error(."Input.file.is
4b820 20 6e 6f 74 20 73 65 65 6b 61 62 6c 65 3a 20 22 20 29 3b 20 72 65 74 75 72 6e 3b 20 7d 0a 20 20 .not.seekable:.".);.return;.}...
4b840 69 66 28 20 69 73 69 7a 65 20 3c 20 6d 69 6e 5f 6d 65 6d 62 65 72 5f 73 69 7a 65 20 29 0a 20 20 if(.isize.<.min_member_size.)...
4b860 20 20 7b 20 65 72 72 6f 72 5f 20 3d 20 22 49 6e 70 75 74 20 66 69 6c 65 20 69 73 20 74 6f 6f 20 ..{.error_.=."Input.file.is.too.
4b880 73 68 6f 72 74 2e 22 3b 20 72 65 74 76 61 6c 5f 20 3d 20 32 3b 20 72 65 74 75 72 6e 3b 20 7d 0a short.";.retval_.=.2;.return;.}.
4b8a0 20 20 69 66 28 20 69 73 69 7a 65 20 3e 20 49 4e 54 36 34 5f 4d 41 58 20 29 0a 20 20 20 20 7b 20 ..if(.isize.>.INT64_MAX.).....{.
4b8c0 65 72 72 6f 72 5f 20 3d 20 22 49 6e 70 75 74 20 66 69 6c 65 20 69 73 20 74 6f 6f 20 6c 6f 6e 67 error_.=."Input.file.is.too.long
4b8e0 20 28 32 5e 36 33 20 62 79 74 65 73 20 6f 72 20 6d 6f 72 65 29 2e 22 3b 0a 20 20 20 20 20 20 72 .(2^63.bytes.or.more).";.......r
4b900 65 74 76 61 6c 5f 20 3d 20 32 3b 20 72 65 74 75 72 6e 3b 20 7d 0a 0a 20 20 46 69 6c 65 5f 68 65 etval_.=.2;.return;.}....File_he
4b920 61 64 65 72 20 68 65 61 64 65 72 3b 0a 20 20 69 66 28 20 73 65 65 6b 5f 72 65 61 64 28 20 69 6e ader.header;...if(.seek_read(.in
4b940 66 64 2c 20 68 65 61 64 65 72 2e 64 61 74 61 2c 20 46 69 6c 65 5f 68 65 61 64 65 72 3a 3a 73 69 fd,.header.data,.File_header::si
4b960 7a 65 2c 20 30 20 29 20 21 3d 20 46 69 6c 65 5f 68 65 61 64 65 72 3a 3a 73 69 7a 65 20 29 0a 20 ze,.0.).!=.File_header::size.)..
4b980 20 20 20 7b 20 73 65 74 5f 65 72 72 6e 6f 5f 65 72 72 6f 72 28 20 22 45 72 72 6f 72 20 72 65 61 ...{.set_errno_error(."Error.rea
4b9a0 64 69 6e 67 20 6d 65 6d 62 65 72 20 68 65 61 64 65 72 3a 20 22 20 29 3b 20 72 65 74 75 72 6e 3b ding.member.header:.".);.return;
4b9c0 20 7d 0a 20 20 69 66 28 20 21 68 65 61 64 65 72 2e 76 65 72 69 66 79 5f 6d 61 67 69 63 28 29 20 .}...if(.!header.verify_magic().
4b9e0 29 0a 20 20 20 20 7b 20 65 72 72 6f 72 5f 20 3d 20 62 61 64 5f 6d 61 67 69 63 5f 6d 73 67 3b 20 ).....{.error_.=.bad_magic_msg;.
4ba00 72 65 74 76 61 6c 5f 20 3d 20 32 3b 20 72 65 74 75 72 6e 3b 20 7d 0a 20 20 69 66 28 20 21 68 65 retval_.=.2;.return;.}...if(.!he
4ba20 61 64 65 72 2e 76 65 72 69 66 79 5f 76 65 72 73 69 6f 6e 28 29 20 29 0a 20 20 20 20 7b 20 65 72 ader.verify_version().).....{.er
4ba40 72 6f 72 5f 20 3d 20 62 61 64 5f 76 65 72 73 69 6f 6e 28 20 68 65 61 64 65 72 2e 76 65 72 73 69 ror_.=.bad_version(.header.versi
4ba60 6f 6e 28 29 20 29 3b 20 72 65 74 76 61 6c 5f 20 3d 20 32 3b 20 72 65 74 75 72 6e 3b 20 7d 0a 20 on().);.retval_.=.2;.return;.}..
4ba80 20 69 66 28 20 21 69 73 76 61 6c 69 64 5f 64 73 28 20 68 65 61 64 65 72 2e 64 69 63 74 69 6f 6e .if(.!isvalid_ds(.header.diction
4baa0 61 72 79 5f 73 69 7a 65 28 29 20 29 20 29 0a 20 20 20 20 7b 20 65 72 72 6f 72 5f 20 3d 20 62 61 ary_size().).).....{.error_.=.ba
4bac0 64 5f 64 69 63 74 5f 6d 73 67 3b 20 72 65 74 76 61 6c 5f 20 3d 20 32 3b 20 72 65 74 75 72 6e 3b d_dict_msg;.retval_.=.2;.return;
4bae0 20 7d 0a 0a 20 20 6c 6f 6e 67 20 6c 6f 6e 67 20 70 6f 73 20 3d 20 69 73 69 7a 65 3b 09 2f 2f 20 .}....long.long.pos.=.isize;.//.
4bb00 61 6c 77 61 79 73 20 70 6f 69 6e 74 73 20 74 6f 20 61 20 68 65 61 64 65 72 20 6f 72 20 74 6f 20 always.points.to.a.header.or.to.
4bb20 45 4f 46 0a 20 20 77 68 69 6c 65 28 20 70 6f 73 20 3e 3d 20 6d 69 6e 5f 6d 65 6d 62 65 72 5f 73 EOF...while(.pos.>=.min_member_s
4bb40 69 7a 65 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 46 69 6c 65 5f 74 72 61 69 6c 65 72 20 74 72 61 ize.).....{.....File_trailer.tra
4bb60 69 6c 65 72 3b 0a 20 20 20 20 69 66 28 20 73 65 65 6b 5f 72 65 61 64 28 20 69 6e 66 64 2c 20 74 iler;.....if(.seek_read(.infd,.t
4bb80 72 61 69 6c 65 72 2e 64 61 74 61 2c 20 46 69 6c 65 5f 74 72 61 69 6c 65 72 3a 3a 73 69 7a 65 2c railer.data,.File_trailer::size,
4bba0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 73 20 2d 20 46 69 6c 65 5f 74 ....................pos.-.File_t
4bbc0 72 61 69 6c 65 72 3a 3a 73 69 7a 65 20 29 20 21 3d 20 46 69 6c 65 5f 74 72 61 69 6c 65 72 3a 3a railer::size.).!=.File_trailer::
4bbe0 73 69 7a 65 20 29 0a 20 20 20 20 20 20 7b 20 73 65 74 5f 65 72 72 6e 6f 5f 65 72 72 6f 72 28 20 size.).......{.set_errno_error(.
4bc00 22 45 72 72 6f 72 20 72 65 61 64 69 6e 67 20 6d 65 6d 62 65 72 20 74 72 61 69 6c 65 72 3a 20 22 "Error.reading.member.trailer:."
4bc20 20 29 3b 20 62 72 65 61 6b 3b 20 7d 0a 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 .);.break;.}.....const.unsigned.
4bc40 6c 6f 6e 67 20 6c 6f 6e 67 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 3d 20 74 72 61 69 6c 65 72 2e long.long.member_size.=.trailer.
4bc60 6d 65 6d 62 65 72 5f 73 69 7a 65 28 29 3b 0a 20 20 20 20 69 66 28 20 6d 65 6d 62 65 72 5f 73 69 member_size();.....if(.member_si
4bc80 7a 65 20 3c 20 6d 69 6e 5f 6d 65 6d 62 65 72 5f 73 69 7a 65 20 7c 7c 20 6d 65 6d 62 65 72 5f 73 ze.<.min_member_size.||.member_s
4bca0 69 7a 65 20 3e 20 28 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 29 70 6f 73 20 29 0a ize.>.(unsigned.long.long)pos.).
4bcc0 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 69 66 28 20 6d 65 6d 62 65 72 5f 76 65 63 74 6f 72 2e ......{.......if(.member_vector.
4bce0 65 6d 70 74 79 28 29 20 29 0a 20 20 20 20 20 20 20 20 7b 20 69 66 28 20 73 6b 69 70 5f 74 72 61 empty().).........{.if(.skip_tra
4bd00 69 6c 69 6e 67 5f 64 61 74 61 28 20 69 6e 66 64 2c 20 70 6f 73 2c 20 69 67 6e 6f 72 65 5f 74 72 iling_data(.infd,.pos,.ignore_tr
4bd20 61 69 6c 69 6e 67 2c 20 6c 6f 6f 73 65 5f 74 72 61 69 6c 69 6e 67 20 29 20 29 0a 20 20 20 20 20 ailing,.loose_trailing.).)......
4bd40 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 20 65 6c 73 65 20 72 65 74 75 72 6e 3b 20 7d 0a .......continue;.else.return;.}.
4bd60 20 20 20 20 20 20 73 65 74 5f 6e 75 6d 5f 65 72 72 6f 72 28 20 22 4d 65 6d 62 65 72 20 73 69 7a ......set_num_error(."Member.siz
4bd80 65 20 69 6e 20 74 72 61 69 6c 65 72 20 69 73 20 63 6f 72 72 75 70 74 20 61 74 20 70 6f 73 20 22 e.in.trailer.is.corrupt.at.pos."
4bda0 2c 20 70 6f 73 20 2d 20 38 20 29 3b 0a 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 ,.pos.-.8.);.......break;.......
4bdc0 7d 0a 20 20 20 20 69 66 28 20 73 65 65 6b 5f 72 65 61 64 28 20 69 6e 66 64 2c 20 68 65 61 64 65 }.....if(.seek_read(.infd,.heade
4bde0 72 2e 64 61 74 61 2c 20 46 69 6c 65 5f 68 65 61 64 65 72 3a 3a 73 69 7a 65 2c 0a 20 20 20 20 20 r.data,.File_header::size,......
4be00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 73 20 2d 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 ..............pos.-.member_size.
4be20 29 20 21 3d 20 46 69 6c 65 5f 68 65 61 64 65 72 3a 3a 73 69 7a 65 20 29 0a 20 20 20 20 20 20 7b ).!=.File_header::size.).......{
4be40 20 73 65 74 5f 65 72 72 6e 6f 5f 65 72 72 6f 72 28 20 22 45 72 72 6f 72 20 72 65 61 64 69 6e 67 .set_errno_error(."Error.reading
4be60 20 6d 65 6d 62 65 72 20 68 65 61 64 65 72 3a 20 22 20 29 3b 20 62 72 65 61 6b 3b 20 7d 0a 20 20 .member.header:.".);.break;.}...
4be80 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 ..const.unsigned.dictionary_size
4bea0 20 3d 20 68 65 61 64 65 72 2e 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 28 29 3b 0a 20 20 20 .=.header.dictionary_size();....
4bec0 20 69 66 28 20 21 68 65 61 64 65 72 2e 76 65 72 69 66 79 5f 6d 61 67 69 63 28 29 20 7c 7c 20 21 .if(.!header.verify_magic().||.!
4bee0 68 65 61 64 65 72 2e 76 65 72 69 66 79 5f 76 65 72 73 69 6f 6e 28 29 20 7c 7c 0a 20 20 20 20 20 header.verify_version().||......
4bf00 20 20 20 21 69 73 76 61 6c 69 64 5f 64 73 28 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 ...!isvalid_ds(.dictionary_size.
4bf20 29 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 69 66 28 20 6d 65 6d 62 65 72 5f 76 65 63 ).).......{.......if(.member_vec
4bf40 74 6f 72 2e 65 6d 70 74 79 28 29 20 29 0a 20 20 20 20 20 20 20 20 7b 20 69 66 28 20 73 6b 69 70 tor.empty().).........{.if(.skip
4bf60 5f 74 72 61 69 6c 69 6e 67 5f 64 61 74 61 28 20 69 6e 66 64 2c 20 70 6f 73 2c 20 69 67 6e 6f 72 _trailing_data(.infd,.pos,.ignor
4bf80 65 5f 74 72 61 69 6c 69 6e 67 2c 20 6c 6f 6f 73 65 5f 74 72 61 69 6c 69 6e 67 20 29 20 29 0a 20 e_trailing,.loose_trailing.).)..
4bfa0 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 20 65 6c 73 65 20 72 65 74 75 72 6e ...........continue;.else.return
4bfc0 3b 20 7d 0a 20 20 20 20 20 20 73 65 74 5f 6e 75 6d 5f 65 72 72 6f 72 28 20 22 42 61 64 20 68 65 ;.}.......set_num_error(."Bad.he
4bfe0 61 64 65 72 20 61 74 20 70 6f 73 20 22 2c 20 70 6f 73 20 2d 20 6d 65 6d 62 65 72 5f 73 69 7a 65 ader.at.pos.",.pos.-.member_size
4c000 20 29 3b 0a 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 70 6f 73 .);.......break;.......}.....pos
4c020 20 2d 3d 20 6d 65 6d 62 65 72 5f 73 69 7a 65 3b 0a 20 20 20 20 6d 65 6d 62 65 72 5f 76 65 63 74 .-=.member_size;.....member_vect
4c040 6f 72 2e 70 75 73 68 5f 62 61 63 6b 28 20 4d 65 6d 62 65 72 28 20 30 2c 20 74 72 61 69 6c 65 72 or.push_back(.Member(.0,.trailer
4c060 2e 64 61 74 61 5f 73 69 7a 65 28 29 2c 20 70 6f 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .data_size(),.pos,..............
4c080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 6d 62 65 72 5f 73 ........................member_s
4c0a0 69 7a 65 2c 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 20 29 3b 0a 20 20 20 20 7d 0a ize,.dictionary_size.).);.....}.
4c0c0 20 20 69 66 28 20 70 6f 73 20 21 3d 20 30 20 7c 7c 20 6d 65 6d 62 65 72 5f 76 65 63 74 6f 72 2e ..if(.pos.!=.0.||.member_vector.
4c0e0 65 6d 70 74 79 28 29 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 6d 65 6d 62 65 72 5f 76 65 63 74 6f empty().).....{.....member_vecto
4c100 72 2e 63 6c 65 61 72 28 29 3b 0a 20 20 20 20 69 66 28 20 72 65 74 76 61 6c 5f 20 3d 3d 20 30 20 r.clear();.....if(.retval_.==.0.
4c120 29 20 7b 20 65 72 72 6f 72 5f 20 3d 20 22 43 61 6e 27 74 20 63 72 65 61 74 65 20 66 69 6c 65 20 ).{.error_.=."Can't.create.file.
4c140 69 6e 64 65 78 2e 22 3b 20 72 65 74 76 61 6c 5f 20 3d 20 32 3b 20 7d 0a 20 20 20 20 72 65 74 75 index.";.retval_.=.2;.}.....retu
4c160 72 6e 3b 0a 20 20 20 20 7d 0a 20 20 73 74 64 3a 3a 72 65 76 65 72 73 65 28 20 6d 65 6d 62 65 72 rn;.....}...std::reverse(.member
4c180 5f 76 65 63 74 6f 72 2e 62 65 67 69 6e 28 29 2c 20 6d 65 6d 62 65 72 5f 76 65 63 74 6f 72 2e 65 _vector.begin(),.member_vector.e
4c1a0 6e 64 28 29 20 29 3b 0a 20 20 66 6f 72 28 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 69 20 3d nd().);...for(.unsigned.long.i.=
4c1c0 20 30 3b 20 69 20 3c 20 6d 65 6d 62 65 72 5f 76 65 63 74 6f 72 2e 73 69 7a 65 28 29 20 2d 20 31 .0;.i.<.member_vector.size().-.1
4c1e0 3b 20 2b 2b 69 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 6c 6f 6e 67 20 6c 6f 6e ;.++i.).....{.....const.long.lon
4c200 67 20 65 6e 64 20 3d 20 6d 65 6d 62 65 72 5f 76 65 63 74 6f 72 5b 69 5d 2e 64 62 6c 6f 63 6b 2e g.end.=.member_vector[i].dblock.
4c220 65 6e 64 28 29 3b 0a 20 20 20 20 69 66 28 20 65 6e 64 20 3c 20 30 20 7c 7c 20 65 6e 64 20 3e 20 end();.....if(.end.<.0.||.end.>.
4c240 49 4e 54 36 34 5f 4d 41 58 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 6d 65 6d 62 65 72 INT64_MAX.).......{.......member
4c260 5f 76 65 63 74 6f 72 2e 63 6c 65 61 72 28 29 3b 0a 20 20 20 20 20 20 65 72 72 6f 72 5f 20 3d 20 _vector.clear();.......error_.=.
4c280 22 44 61 74 61 20 69 6e 20 69 6e 70 75 74 20 66 69 6c 65 20 69 73 20 74 6f 6f 20 6c 6f 6e 67 20 "Data.in.input.file.is.too.long.
4c2a0 28 32 5e 36 33 20 62 79 74 65 73 20 6f 72 20 6d 6f 72 65 29 2e 22 3b 0a 20 20 20 20 20 20 72 65 (2^63.bytes.or.more).";.......re
4c2c0 74 76 61 6c 5f 20 3d 20 32 3b 20 72 65 74 75 72 6e 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 6d tval_.=.2;.return;.......}.....m
4c2e0 65 6d 62 65 72 5f 76 65 63 74 6f 72 5b 69 2b 31 5d 2e 64 62 6c 6f 63 6b 2e 70 6f 73 28 20 65 6e ember_vector[i+1].dblock.pos(.en
4c300 64 20 29 3b 0a 20 20 20 20 7d 0a 20 20 7d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 d.);.....}...}..................
4c320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c400 6c 7a 69 70 2d 31 2e 32 30 2f 65 6e 63 6f 64 65 72 5f 62 61 73 65 2e 63 63 00 00 00 00 00 00 00 lzip-1.20/encoder_base.cc.......
4c420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
4c480 30 30 31 34 30 36 36 00 31 33 36 36 34 37 33 36 35 34 35 00 30 31 35 35 31 34 00 20 30 00 00 00 0014066.13664736545.015514..0...
4c4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c500 00 75 73 74 61 72 20 20 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...mohammad...............
4c520 00 00 00 00 00 00 00 00 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........mohammad...............
4c540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c600 2f 2a 20 20 4c 7a 69 70 20 2d 20 4c 5a 4d 41 20 6c 6f 73 73 6c 65 73 73 20 64 61 74 61 20 63 6f /*..Lzip.-.LZMA.lossless.data.co
4c620 6d 70 72 65 73 73 6f 72 0a 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d mpressor.....Copyright.(C).2008-
4c640 32 30 31 38 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 20 54 68 69 2018.Antonio.Diaz.Diaz.......Thi
4c660 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 s.program.is.free.software:.you.
4c680 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 can.redistribute.it.and/or.modif
4c6a0 79 0a 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 y.....it.under.the.terms.of.the.
4c6c0 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 GNU.General.Public.License.as.pu
4c6e0 62 6c 69 73 68 65 64 20 62 79 0a 20 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 blished.by.....the.Free.Software
4c700 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 .Foundation,.either.version.2.of
4c720 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 .the.License,.or.....(at.your.op
4c740 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 20 54 68 tion).any.later.version.......Th
4c760 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 is.program.is.distributed.in.the
4c780 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 20 .hope.that.it.will.be.useful,...
4c7a0 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 ..but.WITHOUT.ANY.WARRANTY;.with
4c7c0 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 out.even.the.implied.warranty.of
4c7e0 0a 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 .....MERCHANTABILITY.or.FITNESS.
4c800 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 FOR.A.PARTICULAR.PURPOSE...See.t
4c820 68 65 0a 20 20 20 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 he.....GNU.General.Public.Licens
4c840 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 20 59 6f 75 20 73 68 6f e.for.more.details.......You.sho
4c860 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 uld.have.received.a.copy.of.the.
4c880 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 20 61 GNU.General.Public.License.....a
4c8a0 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c long.with.this.program...If.not,
4c8c0 20 73 65 65 20 3c 68 74 74 70 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 .see.<http://www.gnu.org/license
4c8e0 73 2f 3e 2e 0a 2a 2f 0a 0a 23 64 65 66 69 6e 65 20 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 s/>..*/..#define._FILE_OFFSET_BI
4c900 54 53 20 36 34 0a 0a 23 69 6e 63 6c 75 64 65 20 3c 61 6c 67 6f 72 69 74 68 6d 3e 0a 23 69 6e 63 TS.64..#include.<algorithm>.#inc
4c920 6c 75 64 65 20 3c 63 65 72 72 6e 6f 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 63 73 74 64 6c 69 62 3e lude.<cerrno>.#include.<cstdlib>
4c940 0a 23 69 6e 63 6c 75 64 65 20 3c 63 73 74 72 69 6e 67 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 73 74 .#include.<cstring>.#include.<st
4c960 72 69 6e 67 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 76 65 63 74 6f 72 3e 0a 23 69 6e 63 6c 75 64 65 ring>.#include.<vector>.#include
4c980 20 3c 73 74 64 69 6e 74 2e 68 3e 0a 0a 23 69 6e 63 6c 75 64 65 20 22 6c 7a 69 70 2e 68 22 0a 23 .<stdint.h>..#include."lzip.h".#
4c9a0 69 6e 63 6c 75 64 65 20 22 65 6e 63 6f 64 65 72 5f 62 61 73 65 2e 68 22 0a 0a 0a 44 69 73 5f 73 include."encoder_base.h"...Dis_s
4c9c0 6c 6f 74 73 20 64 69 73 5f 73 6c 6f 74 73 3b 0a 50 72 6f 62 5f 70 72 69 63 65 73 20 70 72 6f 62 lots.dis_slots;.Prob_prices.prob
4c9e0 5f 70 72 69 63 65 73 3b 0a 0a 0a 62 6f 6f 6c 20 4d 61 74 63 68 66 69 6e 64 65 72 5f 62 61 73 65 _prices;...bool.Matchfinder_base
4ca00 3a 3a 72 65 61 64 5f 62 6c 6f 63 6b 28 29 0a 20 20 7b 0a 20 20 69 66 28 20 21 61 74 5f 73 74 72 ::read_block()...{...if(.!at_str
4ca20 65 61 6d 5f 65 6e 64 20 26 26 20 73 74 72 65 61 6d 5f 70 6f 73 20 3c 20 62 75 66 66 65 72 5f 73 eam_end.&&.stream_pos.<.buffer_s
4ca40 69 7a 65 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 73 69 7a 65 20 3d ize.).....{.....const.int.size.=
4ca60 20 62 75 66 66 65 72 5f 73 69 7a 65 20 2d 20 73 74 72 65 61 6d 5f 70 6f 73 3b 0a 20 20 20 20 63 .buffer_size.-.stream_pos;.....c
4ca80 6f 6e 73 74 20 69 6e 74 20 72 64 20 3d 20 72 65 61 64 62 6c 6f 63 6b 28 20 69 6e 66 64 2c 20 62 onst.int.rd.=.readblock(.infd,.b
4caa0 75 66 66 65 72 20 2b 20 73 74 72 65 61 6d 5f 70 6f 73 2c 20 73 69 7a 65 20 29 3b 0a 20 20 20 20 uffer.+.stream_pos,.size.);.....
4cac0 73 74 72 65 61 6d 5f 70 6f 73 20 2b 3d 20 72 64 3b 0a 20 20 20 20 69 66 28 20 72 64 20 21 3d 20 stream_pos.+=.rd;.....if(.rd.!=.
4cae0 73 69 7a 65 20 26 26 20 65 72 72 6e 6f 20 29 20 74 68 72 6f 77 20 45 72 72 6f 72 28 20 22 52 65 size.&&.errno.).throw.Error(."Re
4cb00 61 64 20 65 72 72 6f 72 22 20 29 3b 0a 20 20 20 20 69 66 28 20 72 64 20 3c 20 73 69 7a 65 20 29 ad.error".);.....if(.rd.<.size.)
4cb20 20 7b 20 61 74 5f 73 74 72 65 61 6d 5f 65 6e 64 20 3d 20 74 72 75 65 3b 20 70 6f 73 5f 6c 69 6d .{.at_stream_end.=.true;.pos_lim
4cb40 69 74 20 3d 20 62 75 66 66 65 72 5f 73 69 7a 65 3b 20 7d 0a 20 20 20 20 7d 0a 20 20 72 65 74 75 it.=.buffer_size;.}.....}...retu
4cb60 72 6e 20 70 6f 73 20 3c 20 73 74 72 65 61 6d 5f 70 6f 73 3b 0a 20 20 7d 0a 0a 0a 76 6f 69 64 20 rn.pos.<.stream_pos;...}...void.
4cb80 4d 61 74 63 68 66 69 6e 64 65 72 5f 62 61 73 65 3a 3a 6e 6f 72 6d 61 6c 69 7a 65 5f 70 6f 73 28 Matchfinder_base::normalize_pos(
4cba0 29 0a 20 20 7b 0a 20 20 69 66 28 20 70 6f 73 20 3e 20 73 74 72 65 61 6d 5f 70 6f 73 20 29 0a 20 )...{...if(.pos.>.stream_pos.)..
4cbc0 20 20 20 69 6e 74 65 72 6e 61 6c 5f 65 72 72 6f 72 28 20 22 70 6f 73 20 3e 20 73 74 72 65 61 6d ...internal_error(."pos.>.stream
4cbe0 5f 70 6f 73 20 69 6e 20 4d 61 74 63 68 66 69 6e 64 65 72 5f 62 61 73 65 3a 3a 6e 6f 72 6d 61 6c _pos.in.Matchfinder_base::normal
4cc00 69 7a 65 5f 70 6f 73 2e 22 20 29 3b 0a 20 20 69 66 28 20 21 61 74 5f 73 74 72 65 61 6d 5f 65 6e ize_pos.".);...if(.!at_stream_en
4cc20 64 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 6f 66 66 73 65 74 20 3d d.).....{.....const.int.offset.=
4cc40 20 70 6f 73 20 2d 20 62 65 66 6f 72 65 5f 73 69 7a 65 20 2d 20 64 69 63 74 69 6f 6e 61 72 79 5f .pos.-.before_size.-.dictionary_
4cc60 73 69 7a 65 3b 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 73 69 7a 65 20 3d 20 73 74 72 65 61 size;.....const.int.size.=.strea
4cc80 6d 5f 70 6f 73 20 2d 20 6f 66 66 73 65 74 3b 0a 20 20 20 20 73 74 64 3a 3a 6d 65 6d 6d 6f 76 65 m_pos.-.offset;.....std::memmove
4cca0 28 20 62 75 66 66 65 72 2c 20 62 75 66 66 65 72 20 2b 20 6f 66 66 73 65 74 2c 20 73 69 7a 65 20 (.buffer,.buffer.+.offset,.size.
4ccc0 29 3b 0a 20 20 20 20 70 61 72 74 69 61 6c 5f 64 61 74 61 5f 70 6f 73 20 2b 3d 20 6f 66 66 73 65 );.....partial_data_pos.+=.offse
4cce0 74 3b 0a 20 20 20 20 70 6f 73 20 2d 3d 20 6f 66 66 73 65 74 3b 09 09 2f 2f 20 70 6f 73 20 3d 20 t;.....pos.-=.offset;..//.pos.=.
4cd00 62 65 66 6f 72 65 5f 73 69 7a 65 20 2b 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 0a 20 20 before_size.+.dictionary_size...
4cd20 20 20 73 74 72 65 61 6d 5f 70 6f 73 20 2d 3d 20 6f 66 66 73 65 74 3b 0a 20 20 20 20 66 6f 72 28 ..stream_pos.-=.offset;.....for(
4cd40 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 69 74 69 6f .int.i.=.0;.i.<.num_prev_positio
4cd60 6e 73 3b 20 2b 2b 69 20 29 0a 20 20 20 20 20 20 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 5b 69 ns;.++i.).......prev_positions[i
4cd80 5d 20 2d 3d 20 73 74 64 3a 3a 6d 69 6e 28 20 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 5b 69 5d ].-=.std::min(.prev_positions[i]
4cda0 2c 20 6f 66 66 73 65 74 20 29 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 ,.offset.);.....for(.int.i.=.0;.
4cdc0 69 20 3c 20 70 6f 73 5f 61 72 72 61 79 5f 73 69 7a 65 3b 20 2b 2b 69 20 29 0a 20 20 20 20 20 20 i.<.pos_array_size;.++i.).......
4cde0 70 6f 73 5f 61 72 72 61 79 5b 69 5d 20 2d 3d 20 73 74 64 3a 3a 6d 69 6e 28 20 70 6f 73 5f 61 72 pos_array[i].-=.std::min(.pos_ar
4ce00 72 61 79 5b 69 5d 2c 20 6f 66 66 73 65 74 20 29 3b 0a 20 20 20 20 72 65 61 64 5f 62 6c 6f 63 6b ray[i],.offset.);.....read_block
4ce20 28 29 3b 0a 20 20 20 20 7d 0a 20 20 7d 0a 0a 0a 4d 61 74 63 68 66 69 6e 64 65 72 5f 62 61 73 65 ();.....}...}...Matchfinder_base
4ce40 3a 3a 4d 61 74 63 68 66 69 6e 64 65 72 5f 62 61 73 65 28 20 63 6f 6e 73 74 20 69 6e 74 20 62 65 ::Matchfinder_base(.const.int.be
4ce60 66 6f 72 65 5f 73 69 7a 65 5f 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 fore_size_,.....................
4ce80 63 6f 6e 73 74 20 69 6e 74 20 64 69 63 74 5f 73 69 7a 65 2c 20 63 6f 6e 73 74 20 69 6e 74 20 61 const.int.dict_size,.const.int.a
4cea0 66 74 65 72 5f 73 69 7a 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 fter_size,.....................c
4cec0 6f 6e 73 74 20 69 6e 74 20 64 69 63 74 5f 66 61 63 74 6f 72 2c 20 63 6f 6e 73 74 20 69 6e 74 20 onst.int.dict_factor,.const.int.
4cee0 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 32 33 5f 2c 0a 20 20 20 20 20 20 20 20 20 num_prev_positions23_,..........
4cf00 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 70 6f 73 5f 61 72 72 61 79 5f 66 ...........const.int.pos_array_f
4cf20 61 63 74 6f 72 2c 20 63 6f 6e 73 74 20 69 6e 74 20 69 66 64 20 29 0a 20 20 3a 0a 20 20 70 61 72 actor,.const.int.ifd.)...:...par
4cf40 74 69 61 6c 5f 64 61 74 61 5f 70 6f 73 28 20 30 20 29 2c 0a 20 20 62 65 66 6f 72 65 5f 73 69 7a tial_data_pos(.0.),...before_siz
4cf60 65 28 20 62 65 66 6f 72 65 5f 73 69 7a 65 5f 20 29 2c 0a 20 20 70 6f 73 28 20 30 20 29 2c 0a 20 e(.before_size_.),...pos(.0.),..
4cf80 20 63 79 63 6c 69 63 5f 70 6f 73 28 20 30 20 29 2c 0a 20 20 73 74 72 65 61 6d 5f 70 6f 73 28 20 .cyclic_pos(.0.),...stream_pos(.
4cfa0 30 20 29 2c 0a 20 20 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 32 33 28 20 6e 75 6d 0.),...num_prev_positions23(.num
4cfc0 5f 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 32 33 5f 20 29 2c 0a 20 20 69 6e 66 64 28 20 69 66 _prev_positions23_.),...infd(.if
4cfe0 64 20 29 2c 0a 20 20 61 74 5f 73 74 72 65 61 6d 5f 65 6e 64 28 20 66 61 6c 73 65 20 29 0a 20 20 d.),...at_stream_end(.false.)...
4d000 7b 0a 20 20 63 6f 6e 73 74 20 69 6e 74 20 62 75 66 66 65 72 5f 73 69 7a 65 5f 6c 69 6d 69 74 20 {...const.int.buffer_size_limit.
4d020 3d 0a 20 20 20 20 28 20 64 69 63 74 5f 66 61 63 74 6f 72 20 2a 20 64 69 63 74 5f 73 69 7a 65 20 =.....(.dict_factor.*.dict_size.
4d040 29 20 2b 20 62 65 66 6f 72 65 5f 73 69 7a 65 20 2b 20 61 66 74 65 72 5f 73 69 7a 65 3b 0a 20 20 ).+.before_size.+.after_size;...
4d060 62 75 66 66 65 72 5f 73 69 7a 65 20 3d 20 73 74 64 3a 3a 6d 61 78 28 20 36 35 35 33 36 2c 20 64 buffer_size.=.std::max(.65536,.d
4d080 69 63 74 5f 73 69 7a 65 20 29 3b 0a 20 20 62 75 66 66 65 72 20 3d 20 28 75 69 6e 74 38 5f 74 20 ict_size.);...buffer.=.(uint8_t.
4d0a0 2a 29 73 74 64 3a 3a 6d 61 6c 6c 6f 63 28 20 62 75 66 66 65 72 5f 73 69 7a 65 20 29 3b 0a 20 20 *)std::malloc(.buffer_size.);...
4d0c0 69 66 28 20 21 62 75 66 66 65 72 20 29 20 74 68 72 6f 77 20 73 74 64 3a 3a 62 61 64 5f 61 6c 6c if(.!buffer.).throw.std::bad_all
4d0e0 6f 63 28 29 3b 0a 20 20 69 66 28 20 72 65 61 64 5f 62 6c 6f 63 6b 28 29 20 26 26 20 21 61 74 5f oc();...if(.read_block().&&.!at_
4d100 73 74 72 65 61 6d 5f 65 6e 64 20 26 26 20 62 75 66 66 65 72 5f 73 69 7a 65 20 3c 20 62 75 66 66 stream_end.&&.buffer_size.<.buff
4d120 65 72 5f 73 69 7a 65 5f 6c 69 6d 69 74 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 62 75 66 66 65 72 er_size_limit.).....{.....buffer
4d140 5f 73 69 7a 65 20 3d 20 62 75 66 66 65 72 5f 73 69 7a 65 5f 6c 69 6d 69 74 3b 0a 20 20 20 20 75 _size.=.buffer_size_limit;.....u
4d160 69 6e 74 38 5f 74 20 2a 20 63 6f 6e 73 74 20 74 6d 70 20 3d 20 28 75 69 6e 74 38 5f 74 20 2a 29 int8_t.*.const.tmp.=.(uint8_t.*)
4d180 73 74 64 3a 3a 72 65 61 6c 6c 6f 63 28 20 62 75 66 66 65 72 2c 20 62 75 66 66 65 72 5f 73 69 7a std::realloc(.buffer,.buffer_siz
4d1a0 65 20 29 3b 0a 20 20 20 20 69 66 28 20 21 74 6d 70 20 29 20 7b 20 73 74 64 3a 3a 66 72 65 65 28 e.);.....if(.!tmp.).{.std::free(
4d1c0 20 62 75 66 66 65 72 20 29 3b 20 74 68 72 6f 77 20 73 74 64 3a 3a 62 61 64 5f 61 6c 6c 6f 63 28 .buffer.);.throw.std::bad_alloc(
4d1e0 29 3b 20 7d 0a 20 20 20 20 62 75 66 66 65 72 20 3d 20 74 6d 70 3b 0a 20 20 20 20 72 65 61 64 5f );.}.....buffer.=.tmp;.....read_
4d200 62 6c 6f 63 6b 28 29 3b 0a 20 20 20 20 7d 0a 20 20 69 66 28 20 61 74 5f 73 74 72 65 61 6d 5f 65 block();.....}...if(.at_stream_e
4d220 6e 64 20 26 26 20 73 74 72 65 61 6d 5f 70 6f 73 20 3c 20 64 69 63 74 5f 73 69 7a 65 20 29 0a 20 nd.&&.stream_pos.<.dict_size.)..
4d240 20 20 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 3d 20 73 74 64 3a 3a 6d 61 78 28 20 28 ...dictionary_size.=.std::max(.(
4d260 69 6e 74 29 6d 69 6e 5f 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 2c 20 73 74 72 65 61 6d 5f int)min_dictionary_size,.stream_
4d280 70 6f 73 20 29 3b 0a 20 20 65 6c 73 65 0a 20 20 20 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a pos.);...else.....dictionary_siz
4d2a0 65 20 3d 20 64 69 63 74 5f 73 69 7a 65 3b 0a 20 20 70 6f 73 5f 6c 69 6d 69 74 20 3d 20 62 75 66 e.=.dict_size;...pos_limit.=.buf
4d2c0 66 65 72 5f 73 69 7a 65 3b 0a 20 20 69 66 28 20 21 61 74 5f 73 74 72 65 61 6d 5f 65 6e 64 20 29 fer_size;...if(.!at_stream_end.)
4d2e0 20 70 6f 73 5f 6c 69 6d 69 74 20 2d 3d 20 61 66 74 65 72 5f 73 69 7a 65 3b 0a 20 20 75 6e 73 69 .pos_limit.-=.after_size;...unsi
4d300 67 6e 65 64 20 73 69 7a 65 20 3d 20 31 20 3c 3c 20 73 74 64 3a 3a 6d 61 78 28 20 31 36 2c 20 72 gned.size.=.1.<<.std::max(.16,.r
4d320 65 61 6c 5f 62 69 74 73 28 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 2d 20 31 20 29 20 eal_bits(.dictionary_size.-.1.).
4d340 2d 20 32 20 29 3b 0a 20 20 69 66 28 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 3e 20 31 -.2.);...if(.dictionary_size.>.1
4d360 20 3c 3c 20 32 36 20 29 09 09 2f 2f 20 36 34 20 4d 69 42 0a 20 20 20 20 73 69 7a 65 20 3e 3e 3d .<<.26.)..//.64.MiB.....size.>>=
4d380 20 31 3b 0a 20 20 6b 65 79 34 5f 6d 61 73 6b 20 3d 20 73 69 7a 65 20 2d 20 31 3b 0a 20 20 73 69 .1;...key4_mask.=.size.-.1;...si
4d3a0 7a 65 20 2b 3d 20 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 32 33 3b 0a 20 20 6e 75 ze.+=.num_prev_positions23;...nu
4d3c0 6d 5f 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 20 3d 20 73 69 7a 65 3b 0a 0a 20 20 70 6f 73 5f m_prev_positions.=.size;....pos_
4d3e0 61 72 72 61 79 5f 73 69 7a 65 20 3d 20 70 6f 73 5f 61 72 72 61 79 5f 66 61 63 74 6f 72 20 2a 20 array_size.=.pos_array_factor.*.
4d400 28 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 2b 20 31 20 29 3b 0a 20 20 73 69 7a 65 20 (.dictionary_size.+.1.);...size.
4d420 2b 3d 20 70 6f 73 5f 61 72 72 61 79 5f 73 69 7a 65 3b 0a 20 20 69 66 28 20 73 69 7a 65 20 2a 20 +=.pos_array_size;...if(.size.*.
4d440 73 69 7a 65 6f 66 20 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 5b 30 5d 20 3c 3d 20 73 69 7a 65 sizeof.prev_positions[0].<=.size
4d460 20 29 20 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 20 3d 20 30 3b 0a 20 20 65 6c 73 65 20 70 72 .).prev_positions.=.0;...else.pr
4d480 65 76 5f 70 6f 73 69 74 69 6f 6e 73 20 3d 20 6e 65 77 28 20 73 74 64 3a 3a 6e 6f 74 68 72 6f 77 ev_positions.=.new(.std::nothrow
4d4a0 20 29 20 69 6e 74 33 32 5f 74 5b 73 69 7a 65 5d 3b 0a 20 20 69 66 28 20 21 70 72 65 76 5f 70 6f .).int32_t[size];...if(.!prev_po
4d4c0 73 69 74 69 6f 6e 73 20 29 20 7b 20 73 74 64 3a 3a 66 72 65 65 28 20 62 75 66 66 65 72 20 29 3b sitions.).{.std::free(.buffer.);
4d4e0 20 74 68 72 6f 77 20 73 74 64 3a 3a 62 61 64 5f 61 6c 6c 6f 63 28 29 3b 20 7d 0a 20 20 70 6f 73 .throw.std::bad_alloc();.}...pos
4d500 5f 61 72 72 61 79 20 3d 20 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 20 2b 20 6e 75 6d 5f 70 72 _array.=.prev_positions.+.num_pr
4d520 65 76 5f 70 6f 73 69 74 69 6f 6e 73 3b 0a 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 ev_positions;...for(.int.i.=.0;.
4d540 69 20 3c 20 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 3b 20 2b 2b 69 20 29 20 70 72 i.<.num_prev_positions;.++i.).pr
4d560 65 76 5f 70 6f 73 69 74 69 6f 6e 73 5b 69 5d 20 3d 20 30 3b 0a 20 20 7d 0a 0a 0a 76 6f 69 64 20 ev_positions[i].=.0;...}...void.
4d580 4d 61 74 63 68 66 69 6e 64 65 72 5f 62 61 73 65 3a 3a 72 65 73 65 74 28 29 0a 20 20 7b 0a 20 20 Matchfinder_base::reset()...{...
4d5a0 69 66 28 20 73 74 72 65 61 6d 5f 70 6f 73 20 3e 20 70 6f 73 20 29 0a 20 20 20 20 73 74 64 3a 3a if(.stream_pos.>.pos.).....std::
4d5c0 6d 65 6d 6d 6f 76 65 28 20 62 75 66 66 65 72 2c 20 62 75 66 66 65 72 20 2b 20 70 6f 73 2c 20 73 memmove(.buffer,.buffer.+.pos,.s
4d5e0 74 72 65 61 6d 5f 70 6f 73 20 2d 20 70 6f 73 20 29 3b 0a 20 20 70 61 72 74 69 61 6c 5f 64 61 74 tream_pos.-.pos.);...partial_dat
4d600 61 5f 70 6f 73 20 3d 20 30 3b 0a 20 20 73 74 72 65 61 6d 5f 70 6f 73 20 2d 3d 20 70 6f 73 3b 0a a_pos.=.0;...stream_pos.-=.pos;.
4d620 20 20 70 6f 73 20 3d 20 30 3b 0a 20 20 63 79 63 6c 69 63 5f 70 6f 73 20 3d 20 30 3b 0a 20 20 72 ..pos.=.0;...cyclic_pos.=.0;...r
4d640 65 61 64 5f 62 6c 6f 63 6b 28 29 3b 0a 20 20 69 66 28 20 61 74 5f 73 74 72 65 61 6d 5f 65 6e 64 ead_block();...if(.at_stream_end
4d660 20 26 26 20 73 74 72 65 61 6d 5f 70 6f 73 20 3c 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 .&&.stream_pos.<.dictionary_size
4d680 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 3d 20 73 .).....{.....dictionary_size.=.s
4d6a0 74 64 3a 3a 6d 61 78 28 20 28 69 6e 74 29 6d 69 6e 5f 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a td::max(.(int)min_dictionary_siz
4d6c0 65 2c 20 73 74 72 65 61 6d 5f 70 6f 73 20 29 3b 0a 20 20 20 20 69 6e 74 20 73 69 7a 65 20 3d 20 e,.stream_pos.);.....int.size.=.
4d6e0 31 20 3c 3c 20 73 74 64 3a 3a 6d 61 78 28 20 31 36 2c 20 72 65 61 6c 5f 62 69 74 73 28 20 64 69 1.<<.std::max(.16,.real_bits(.di
4d700 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 2d 20 31 20 29 20 2d 20 32 20 29 3b 0a 20 20 20 20 69 ctionary_size.-.1.).-.2.);.....i
4d720 66 28 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 3e 20 31 20 3c 3c 20 32 36 20 29 09 09 f(.dictionary_size.>.1.<<.26.)..
4d740 2f 2f 20 36 34 20 4d 69 42 0a 20 20 20 20 20 20 73 69 7a 65 20 3e 3e 3d 20 31 3b 0a 20 20 20 20 //.64.MiB.......size.>>=.1;.....
4d760 6b 65 79 34 5f 6d 61 73 6b 20 3d 20 73 69 7a 65 20 2d 20 31 3b 0a 20 20 20 20 73 69 7a 65 20 2b key4_mask.=.size.-.1;.....size.+
4d780 3d 20 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 32 33 3b 0a 20 20 20 20 6e 75 6d 5f =.num_prev_positions23;.....num_
4d7a0 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 20 3d 20 73 69 7a 65 3b 0a 20 20 20 20 70 6f 73 5f 61 prev_positions.=.size;.....pos_a
4d7c0 72 72 61 79 20 3d 20 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 20 2b 20 6e 75 6d 5f 70 72 65 76 rray.=.prev_positions.+.num_prev
4d7e0 5f 70 6f 73 69 74 69 6f 6e 73 3b 0a 20 20 20 20 7d 0a 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d _positions;.....}...for(.int.i.=
4d800 20 30 3b 20 69 20 3c 20 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 3b 20 2b 2b 69 20 .0;.i.<.num_prev_positions;.++i.
4d820 29 20 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 5b 69 5d 20 3d 20 30 3b 0a 20 20 7d 0a 0a 0a 76 ).prev_positions[i].=.0;...}...v
4d840 6f 69 64 20 52 61 6e 67 65 5f 65 6e 63 6f 64 65 72 3a 3a 66 6c 75 73 68 5f 64 61 74 61 28 29 0a oid.Range_encoder::flush_data().
4d860 20 20 7b 0a 20 20 69 66 28 20 70 6f 73 20 3e 20 30 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 ..{...if(.pos.>.0.).....{.....if
4d880 28 20 6f 75 74 66 64 20 3e 3d 20 30 20 26 26 20 77 72 69 74 65 62 6c 6f 63 6b 28 20 6f 75 74 66 (.outfd.>=.0.&&.writeblock(.outf
4d8a0 64 2c 20 62 75 66 66 65 72 2c 20 70 6f 73 20 29 20 21 3d 20 70 6f 73 20 29 0a 20 20 20 20 20 20 d,.buffer,.pos.).!=.pos.).......
4d8c0 74 68 72 6f 77 20 45 72 72 6f 72 28 20 22 57 72 69 74 65 20 65 72 72 6f 72 22 20 29 3b 0a 20 20 throw.Error(."Write.error".);...
4d8e0 20 20 70 61 72 74 69 61 6c 5f 6d 65 6d 62 65 72 5f 70 6f 73 20 2b 3d 20 70 6f 73 3b 0a 20 20 20 ..partial_member_pos.+=.pos;....
4d900 20 70 6f 73 20 3d 20 30 3b 0a 20 20 20 20 73 68 6f 77 5f 63 70 72 6f 67 72 65 73 73 28 29 3b 0a .pos.=.0;.....show_cprogress();.
4d920 20 20 20 20 7d 0a 20 20 7d 0a 0a 0a 20 20 20 20 20 2f 2f 20 45 6e 64 20 4f 66 20 53 74 72 65 61 ....}...}........//.End.Of.Strea
4d940 6d 20 6d 61 72 6b 20 3d 3e 20 28 64 69 73 20 3d 3d 20 30 78 46 46 46 46 46 46 46 46 55 2c 20 6c m.mark.=>.(dis.==.0xFFFFFFFFU,.l
4d960 65 6e 20 3d 3d 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 29 0a 76 6f 69 64 20 4c 5a 5f 65 6e 63 en.==.min_match_len).void.LZ_enc
4d980 6f 64 65 72 5f 62 61 73 65 3a 3a 66 75 6c 6c 5f 66 6c 75 73 68 28 20 63 6f 6e 73 74 20 53 74 61 oder_base::full_flush(.const.Sta
4d9a0 74 65 20 73 74 61 74 65 20 29 0a 20 20 7b 0a 20 20 63 6f 6e 73 74 20 69 6e 74 20 70 6f 73 5f 73 te.state.)...{...const.int.pos_s
4d9c0 74 61 74 65 20 3d 20 64 61 74 61 5f 70 6f 73 69 74 69 6f 6e 28 29 20 26 20 70 6f 73 5f 73 74 61 tate.=.data_position().&.pos_sta
4d9e0 74 65 5f 6d 61 73 6b 3b 0a 20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f 6d te_mask;...renc.encode_bit(.bm_m
4da00 61 74 63 68 5b 73 74 61 74 65 28 29 5d 5b 70 6f 73 5f 73 74 61 74 65 5d 2c 20 31 20 29 3b 0a 20 atch[state()][pos_state],.1.);..
4da20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f 72 65 70 5b 73 74 61 74 65 28 29 .renc.encode_bit(.bm_rep[state()
4da40 5d 2c 20 30 20 29 3b 0a 20 20 65 6e 63 6f 64 65 5f 70 61 69 72 28 20 30 78 46 46 46 46 46 46 46 ],.0.);...encode_pair(.0xFFFFFFF
4da60 46 55 2c 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 2c 20 70 6f 73 5f 73 74 61 74 65 20 29 3b 0a FU,.min_match_len,.pos_state.);.
4da80 20 20 72 65 6e 63 2e 66 6c 75 73 68 28 29 3b 0a 20 20 46 69 6c 65 5f 74 72 61 69 6c 65 72 20 74 ..renc.flush();...File_trailer.t
4daa0 72 61 69 6c 65 72 3b 0a 20 20 74 72 61 69 6c 65 72 2e 64 61 74 61 5f 63 72 63 28 20 63 72 63 28 railer;...trailer.data_crc(.crc(
4dac0 29 20 29 3b 0a 20 20 74 72 61 69 6c 65 72 2e 64 61 74 61 5f 73 69 7a 65 28 20 64 61 74 61 5f 70 ).);...trailer.data_size(.data_p
4dae0 6f 73 69 74 69 6f 6e 28 29 20 29 3b 0a 20 20 74 72 61 69 6c 65 72 2e 6d 65 6d 62 65 72 5f 73 69 osition().);...trailer.member_si
4db00 7a 65 28 20 72 65 6e 63 2e 6d 65 6d 62 65 72 5f 70 6f 73 69 74 69 6f 6e 28 29 20 2b 20 46 69 6c ze(.renc.member_position().+.Fil
4db20 65 5f 74 72 61 69 6c 65 72 3a 3a 73 69 7a 65 20 29 3b 0a 20 20 66 6f 72 28 20 69 6e 74 20 69 20 e_trailer::size.);...for(.int.i.
4db40 3d 20 30 3b 20 69 20 3c 20 46 69 6c 65 5f 74 72 61 69 6c 65 72 3a 3a 73 69 7a 65 3b 20 2b 2b 69 =.0;.i.<.File_trailer::size;.++i
4db60 20 29 0a 20 20 20 20 72 65 6e 63 2e 70 75 74 5f 62 79 74 65 28 20 74 72 61 69 6c 65 72 2e 64 61 .).....renc.put_byte(.trailer.da
4db80 74 61 5b 69 5d 20 29 3b 0a 20 20 72 65 6e 63 2e 66 6c 75 73 68 5f 64 61 74 61 28 29 3b 0a 20 20 ta[i].);...renc.flush_data();...
4dba0 7d 0a 0a 0a 76 6f 69 64 20 4c 5a 5f 65 6e 63 6f 64 65 72 5f 62 61 73 65 3a 3a 72 65 73 65 74 28 }...void.LZ_encoder_base::reset(
4dbc0 29 0a 20 20 7b 0a 20 20 4d 61 74 63 68 66 69 6e 64 65 72 5f 62 61 73 65 3a 3a 72 65 73 65 74 28 )...{...Matchfinder_base::reset(
4dbe0 29 3b 0a 20 20 63 72 63 5f 20 3d 20 30 78 46 46 46 46 46 46 46 46 55 3b 0a 20 20 62 6d 5f 6c 69 );...crc_.=.0xFFFFFFFFU;...bm_li
4dc00 74 65 72 61 6c 5b 30 5d 5b 30 5d 2e 72 65 73 65 74 28 20 28 20 31 20 3c 3c 20 6c 69 74 65 72 61 teral[0][0].reset(.(.1.<<.litera
4dc20 6c 5f 63 6f 6e 74 65 78 74 5f 62 69 74 73 20 29 20 2a 20 30 78 33 30 30 20 29 3b 0a 20 20 62 6d l_context_bits.).*.0x300.);...bm
4dc40 5f 6d 61 74 63 68 5b 30 5d 5b 30 5d 2e 72 65 73 65 74 28 20 53 74 61 74 65 3a 3a 73 74 61 74 65 _match[0][0].reset(.State::state
4dc60 73 20 2a 20 70 6f 73 5f 73 74 61 74 65 73 20 29 3b 0a 20 20 62 6d 5f 72 65 70 5b 30 5d 2e 72 65 s.*.pos_states.);...bm_rep[0].re
4dc80 73 65 74 28 20 53 74 61 74 65 3a 3a 73 74 61 74 65 73 20 29 3b 0a 20 20 62 6d 5f 72 65 70 30 5b set(.State::states.);...bm_rep0[
4dca0 30 5d 2e 72 65 73 65 74 28 20 53 74 61 74 65 3a 3a 73 74 61 74 65 73 20 29 3b 0a 20 20 62 6d 5f 0].reset(.State::states.);...bm_
4dcc0 72 65 70 31 5b 30 5d 2e 72 65 73 65 74 28 20 53 74 61 74 65 3a 3a 73 74 61 74 65 73 20 29 3b 0a rep1[0].reset(.State::states.);.
4dce0 20 20 62 6d 5f 72 65 70 32 5b 30 5d 2e 72 65 73 65 74 28 20 53 74 61 74 65 3a 3a 73 74 61 74 65 ..bm_rep2[0].reset(.State::state
4dd00 73 20 29 3b 0a 20 20 62 6d 5f 6c 65 6e 5b 30 5d 5b 30 5d 2e 72 65 73 65 74 28 20 53 74 61 74 65 s.);...bm_len[0][0].reset(.State
4dd20 3a 3a 73 74 61 74 65 73 20 2a 20 70 6f 73 5f 73 74 61 74 65 73 20 29 3b 0a 20 20 62 6d 5f 64 69 ::states.*.pos_states.);...bm_di
4dd40 73 5f 73 6c 6f 74 5b 30 5d 5b 30 5d 2e 72 65 73 65 74 28 20 6c 65 6e 5f 73 74 61 74 65 73 20 2a s_slot[0][0].reset(.len_states.*
4dd60 20 28 31 20 3c 3c 20 64 69 73 5f 73 6c 6f 74 5f 62 69 74 73 20 29 20 29 3b 0a 20 20 62 6d 5f 64 .(1.<<.dis_slot_bits.).);...bm_d
4dd80 69 73 5b 30 5d 2e 72 65 73 65 74 28 20 6d 6f 64 65 6c 65 64 5f 64 69 73 74 61 6e 63 65 73 20 2d is[0].reset(.modeled_distances.-
4dda0 20 65 6e 64 5f 64 69 73 5f 6d 6f 64 65 6c 20 2b 20 31 20 29 3b 0a 20 20 62 6d 5f 61 6c 69 67 6e .end_dis_model.+.1.);...bm_align
4ddc0 5b 30 5d 2e 72 65 73 65 74 28 20 64 69 73 5f 61 6c 69 67 6e 5f 73 69 7a 65 20 29 3b 0a 20 20 6d [0].reset(.dis_align_size.);...m
4dde0 61 74 63 68 5f 6c 65 6e 5f 6d 6f 64 65 6c 2e 72 65 73 65 74 28 29 3b 0a 20 20 72 65 70 5f 6c 65 atch_len_model.reset();...rep_le
4de00 6e 5f 6d 6f 64 65 6c 2e 72 65 73 65 74 28 29 3b 0a 20 20 72 65 6e 63 2e 72 65 73 65 74 28 20 64 n_model.reset();...renc.reset(.d
4de20 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 3b 0a 20 20 7d 0a 00 00 00 00 00 00 00 00 00 00 ictionary_size.);...}...........
4de40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4de60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4de80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4dea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4dec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4dee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4df00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4df20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4df40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4df60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4df80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4dfa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4dfc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4dfe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e000 6c 7a 69 70 2d 31 2e 32 30 2f 64 65 63 6f 64 65 72 2e 63 63 00 00 00 00 00 00 00 00 00 00 00 00 lzip-1.20/decoder.cc............
4e020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
4e080 30 30 32 31 32 30 31 00 31 33 36 36 34 37 33 36 35 34 35 00 30 31 34 34 37 35 00 20 30 00 00 00 0021201.13664736545.014475..0...
4e0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e100 00 75 73 74 61 72 20 20 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...mohammad...............
4e120 00 00 00 00 00 00 00 00 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........mohammad...............
4e140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e200 2f 2a 20 20 4c 7a 69 70 20 2d 20 4c 5a 4d 41 20 6c 6f 73 73 6c 65 73 73 20 64 61 74 61 20 63 6f /*..Lzip.-.LZMA.lossless.data.co
4e220 6d 70 72 65 73 73 6f 72 0a 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d mpressor.....Copyright.(C).2008-
4e240 32 30 31 38 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 20 54 68 69 2018.Antonio.Diaz.Diaz.......Thi
4e260 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 s.program.is.free.software:.you.
4e280 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 can.redistribute.it.and/or.modif
4e2a0 79 0a 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 y.....it.under.the.terms.of.the.
4e2c0 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 GNU.General.Public.License.as.pu
4e2e0 62 6c 69 73 68 65 64 20 62 79 0a 20 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 blished.by.....the.Free.Software
4e300 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 .Foundation,.either.version.2.of
4e320 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 .the.License,.or.....(at.your.op
4e340 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 20 54 68 tion).any.later.version.......Th
4e360 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 is.program.is.distributed.in.the
4e380 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 20 .hope.that.it.will.be.useful,...
4e3a0 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 ..but.WITHOUT.ANY.WARRANTY;.with
4e3c0 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 out.even.the.implied.warranty.of
4e3e0 0a 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 .....MERCHANTABILITY.or.FITNESS.
4e400 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 FOR.A.PARTICULAR.PURPOSE...See.t
4e420 68 65 0a 20 20 20 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 he.....GNU.General.Public.Licens
4e440 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 20 59 6f 75 20 73 68 6f e.for.more.details.......You.sho
4e460 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 uld.have.received.a.copy.of.the.
4e480 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 20 61 GNU.General.Public.License.....a
4e4a0 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c long.with.this.program...If.not,
4e4c0 20 73 65 65 20 3c 68 74 74 70 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 .see.<http://www.gnu.org/license
4e4e0 73 2f 3e 2e 0a 2a 2f 0a 0a 23 64 65 66 69 6e 65 20 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 s/>..*/..#define._FILE_OFFSET_BI
4e500 54 53 20 36 34 0a 0a 23 69 6e 63 6c 75 64 65 20 3c 61 6c 67 6f 72 69 74 68 6d 3e 0a 23 69 6e 63 TS.64..#include.<algorithm>.#inc
4e520 6c 75 64 65 20 3c 63 65 72 72 6e 6f 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 63 73 74 64 69 6f 3e 0a lude.<cerrno>.#include.<cstdio>.
4e540 23 69 6e 63 6c 75 64 65 20 3c 63 73 74 64 6c 69 62 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 63 73 74 #include.<cstdlib>.#include.<cst
4e560 72 69 6e 67 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 73 74 72 69 6e 67 3e 0a 23 69 6e 63 6c 75 64 65 ring>.#include.<string>.#include
4e580 20 3c 76 65 63 74 6f 72 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6e 74 2e 68 3e 0a 23 69 .<vector>.#include.<stdint.h>.#i
4e5a0 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 64 2e 68 3e 0a 0a 23 69 6e 63 6c 75 64 65 20 22 6c 7a 69 nclude.<unistd.h>..#include."lzi
4e5c0 70 2e 68 22 0a 23 69 6e 63 6c 75 64 65 20 22 64 65 63 6f 64 65 72 2e 68 22 0a 0a 0a 2f 2a 20 52 p.h".#include."decoder.h".../*.R
4e5e0 65 74 75 72 6e 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 72 65 61 6c 6c eturns.the.number.of.bytes.reall
4e600 79 20 72 65 61 64 2e 0a 20 20 20 49 66 20 28 72 65 74 75 72 6e 65 64 20 76 61 6c 75 65 20 3c 20 y.read.....If.(returned.value.<.
4e620 73 69 7a 65 29 20 61 6e 64 20 28 65 72 72 6e 6f 20 3d 3d 20 30 29 2c 20 6d 65 61 6e 73 20 45 4f size).and.(errno.==.0),.means.EO
4e640 46 20 77 61 73 20 72 65 61 63 68 65 64 2e 0a 2a 2f 0a 69 6e 74 20 72 65 61 64 62 6c 6f 63 6b 28 F.was.reached..*/.int.readblock(
4e660 20 63 6f 6e 73 74 20 69 6e 74 20 66 64 2c 20 75 69 6e 74 38 5f 74 20 2a 20 63 6f 6e 73 74 20 62 .const.int.fd,.uint8_t.*.const.b
4e680 75 66 2c 20 63 6f 6e 73 74 20 69 6e 74 20 73 69 7a 65 20 29 0a 20 20 7b 0a 20 20 69 6e 74 20 73 uf,.const.int.size.)...{...int.s
4e6a0 7a 20 3d 20 30 3b 0a 20 20 65 72 72 6e 6f 20 3d 20 30 3b 0a 20 20 77 68 69 6c 65 28 20 73 7a 20 z.=.0;...errno.=.0;...while(.sz.
4e6c0 3c 20 73 69 7a 65 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 6e 20 3d <.size.).....{.....const.int.n.=
4e6e0 20 72 65 61 64 28 20 66 64 2c 20 62 75 66 20 2b 20 73 7a 2c 20 73 69 7a 65 20 2d 20 73 7a 20 29 .read(.fd,.buf.+.sz,.size.-.sz.)
4e700 3b 0a 20 20 20 20 69 66 28 20 6e 20 3e 20 30 20 29 20 73 7a 20 2b 3d 20 6e 3b 0a 20 20 20 20 65 ;.....if(.n.>.0.).sz.+=.n;.....e
4e720 6c 73 65 20 69 66 28 20 6e 20 3d 3d 20 30 20 29 20 62 72 65 61 6b 3b 09 09 09 09 2f 2f 20 45 4f lse.if(.n.==.0.).break;....//.EO
4e740 46 0a 20 20 20 20 65 6c 73 65 20 69 66 28 20 65 72 72 6e 6f 20 21 3d 20 45 49 4e 54 52 20 29 20 F.....else.if(.errno.!=.EINTR.).
4e760 62 72 65 61 6b 3b 0a 20 20 20 20 65 72 72 6e 6f 20 3d 20 30 3b 0a 20 20 20 20 7d 0a 20 20 72 65 break;.....errno.=.0;.....}...re
4e780 74 75 72 6e 20 73 7a 3b 0a 20 20 7d 0a 0a 0a 2f 2a 20 52 65 74 75 72 6e 73 20 74 68 65 20 6e 75 turn.sz;...}.../*.Returns.the.nu
4e7a0 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 72 65 61 6c 6c 79 20 77 72 69 74 74 65 6e 2e 0a 20 20 mber.of.bytes.really.written....
4e7c0 20 49 66 20 28 72 65 74 75 72 6e 65 64 20 76 61 6c 75 65 20 3c 20 73 69 7a 65 29 2c 20 69 74 20 .If.(returned.value.<.size),.it.
4e7e0 69 73 20 61 6c 77 61 79 73 20 61 6e 20 65 72 72 6f 72 2e 0a 2a 2f 0a 69 6e 74 20 77 72 69 74 65 is.always.an.error..*/.int.write
4e800 62 6c 6f 63 6b 28 20 63 6f 6e 73 74 20 69 6e 74 20 66 64 2c 20 63 6f 6e 73 74 20 75 69 6e 74 38 block(.const.int.fd,.const.uint8
4e820 5f 74 20 2a 20 63 6f 6e 73 74 20 62 75 66 2c 20 63 6f 6e 73 74 20 69 6e 74 20 73 69 7a 65 20 29 _t.*.const.buf,.const.int.size.)
4e840 0a 20 20 7b 0a 20 20 69 6e 74 20 73 7a 20 3d 20 30 3b 0a 20 20 65 72 72 6e 6f 20 3d 20 30 3b 0a ...{...int.sz.=.0;...errno.=.0;.
4e860 20 20 77 68 69 6c 65 28 20 73 7a 20 3c 20 73 69 7a 65 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 63 ..while(.sz.<.size.).....{.....c
4e880 6f 6e 73 74 20 69 6e 74 20 6e 20 3d 20 77 72 69 74 65 28 20 66 64 2c 20 62 75 66 20 2b 20 73 7a onst.int.n.=.write(.fd,.buf.+.sz
4e8a0 2c 20 73 69 7a 65 20 2d 20 73 7a 20 29 3b 0a 20 20 20 20 69 66 28 20 6e 20 3e 20 30 20 29 20 73 ,.size.-.sz.);.....if(.n.>.0.).s
4e8c0 7a 20 2b 3d 20 6e 3b 0a 20 20 20 20 65 6c 73 65 20 69 66 28 20 6e 20 3c 20 30 20 26 26 20 65 72 z.+=.n;.....else.if(.n.<.0.&&.er
4e8e0 72 6e 6f 20 21 3d 20 45 49 4e 54 52 20 29 20 62 72 65 61 6b 3b 0a 20 20 20 20 65 72 72 6e 6f 20 rno.!=.EINTR.).break;.....errno.
4e900 3d 20 30 3b 0a 20 20 20 20 7d 0a 20 20 72 65 74 75 72 6e 20 73 7a 3b 0a 20 20 7d 0a 0a 0a 62 6f =.0;.....}...return.sz;...}...bo
4e920 6f 6c 20 52 61 6e 67 65 5f 64 65 63 6f 64 65 72 3a 3a 72 65 61 64 5f 62 6c 6f 63 6b 28 29 0a 20 ol.Range_decoder::read_block()..
4e940 20 7b 0a 20 20 69 66 28 20 21 61 74 5f 73 74 72 65 61 6d 5f 65 6e 64 20 29 0a 20 20 20 20 7b 0a .{...if(.!at_stream_end.).....{.
4e960 20 20 20 20 73 74 72 65 61 6d 5f 70 6f 73 20 3d 20 72 65 61 64 62 6c 6f 63 6b 28 20 69 6e 66 64 ....stream_pos.=.readblock(.infd
4e980 2c 20 62 75 66 66 65 72 2c 20 62 75 66 66 65 72 5f 73 69 7a 65 20 29 3b 0a 20 20 20 20 69 66 28 ,.buffer,.buffer_size.);.....if(
4e9a0 20 73 74 72 65 61 6d 5f 70 6f 73 20 21 3d 20 62 75 66 66 65 72 5f 73 69 7a 65 20 26 26 20 65 72 .stream_pos.!=.buffer_size.&&.er
4e9c0 72 6e 6f 20 29 20 74 68 72 6f 77 20 45 72 72 6f 72 28 20 22 52 65 61 64 20 65 72 72 6f 72 22 20 rno.).throw.Error(."Read.error".
4e9e0 29 3b 0a 20 20 20 20 61 74 5f 73 74 72 65 61 6d 5f 65 6e 64 20 3d 20 28 20 73 74 72 65 61 6d 5f );.....at_stream_end.=.(.stream_
4ea00 70 6f 73 20 3c 20 62 75 66 66 65 72 5f 73 69 7a 65 20 29 3b 0a 20 20 20 20 70 61 72 74 69 61 6c pos.<.buffer_size.);.....partial
4ea20 5f 6d 65 6d 62 65 72 5f 70 6f 73 20 2b 3d 20 70 6f 73 3b 0a 20 20 20 20 70 6f 73 20 3d 20 30 3b _member_pos.+=.pos;.....pos.=.0;
4ea40 0a 20 20 20 20 73 68 6f 77 5f 64 70 72 6f 67 72 65 73 73 28 29 3b 0a 20 20 20 20 7d 0a 20 20 72 .....show_dprogress();.....}...r
4ea60 65 74 75 72 6e 20 70 6f 73 20 3c 20 73 74 72 65 61 6d 5f 70 6f 73 3b 0a 20 20 7d 0a 0a 0a 76 6f eturn.pos.<.stream_pos;...}...vo
4ea80 69 64 20 4c 5a 5f 64 65 63 6f 64 65 72 3a 3a 66 6c 75 73 68 5f 64 61 74 61 28 29 0a 20 20 7b 0a id.LZ_decoder::flush_data()...{.
4eaa0 20 20 69 66 28 20 70 6f 73 20 3e 20 73 74 72 65 61 6d 5f 70 6f 73 20 29 0a 20 20 20 20 7b 0a 20 ..if(.pos.>.stream_pos.).....{..
4eac0 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 73 69 7a 65 20 3d 20 70 6f 73 20 2d 20 73 74 72 65 61 6d ...const.int.size.=.pos.-.stream
4eae0 5f 70 6f 73 3b 0a 20 20 20 20 63 72 63 33 32 2e 75 70 64 61 74 65 5f 62 75 66 28 20 63 72 63 5f _pos;.....crc32.update_buf(.crc_
4eb00 2c 20 62 75 66 66 65 72 20 2b 20 73 74 72 65 61 6d 5f 70 6f 73 2c 20 73 69 7a 65 20 29 3b 0a 20 ,.buffer.+.stream_pos,.size.);..
4eb20 20 20 20 69 66 28 20 6f 75 74 66 64 20 3e 3d 20 30 20 26 26 20 77 72 69 74 65 62 6c 6f 63 6b 28 ...if(.outfd.>=.0.&&.writeblock(
4eb40 20 6f 75 74 66 64 2c 20 62 75 66 66 65 72 20 2b 20 73 74 72 65 61 6d 5f 70 6f 73 2c 20 73 69 7a .outfd,.buffer.+.stream_pos,.siz
4eb60 65 20 29 20 21 3d 20 73 69 7a 65 20 29 0a 20 20 20 20 20 20 74 68 72 6f 77 20 45 72 72 6f 72 28 e.).!=.size.).......throw.Error(
4eb80 20 22 57 72 69 74 65 20 65 72 72 6f 72 22 20 29 3b 0a 20 20 20 20 69 66 28 20 70 6f 73 20 3e 3d ."Write.error".);.....if(.pos.>=
4eba0 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 0a 20 20 20 20 20 20 7b 20 70 61 72 74 69 .dictionary_size.).......{.parti
4ebc0 61 6c 5f 64 61 74 61 5f 70 6f 73 20 2b 3d 20 70 6f 73 3b 20 70 6f 73 20 3d 20 30 3b 20 70 6f 73 al_data_pos.+=.pos;.pos.=.0;.pos
4ebe0 5f 77 72 61 70 70 65 64 20 3d 20 74 72 75 65 3b 20 7d 0a 20 20 20 20 73 74 72 65 61 6d 5f 70 6f _wrapped.=.true;.}.....stream_po
4ec00 73 20 3d 20 70 6f 73 3b 0a 20 20 20 20 7d 0a 20 20 7d 0a 0a 0a 62 6f 6f 6c 20 4c 5a 5f 64 65 63 s.=.pos;.....}...}...bool.LZ_dec
4ec20 6f 64 65 72 3a 3a 76 65 72 69 66 79 5f 74 72 61 69 6c 65 72 28 20 63 6f 6e 73 74 20 50 72 65 74 oder::verify_trailer(.const.Pret
4ec40 74 79 5f 70 72 69 6e 74 20 26 20 70 70 20 29 20 63 6f 6e 73 74 0a 20 20 7b 0a 20 20 46 69 6c 65 ty_print.&.pp.).const...{...File
4ec60 5f 74 72 61 69 6c 65 72 20 74 72 61 69 6c 65 72 3b 0a 20 20 69 6e 74 20 73 69 7a 65 20 3d 20 72 _trailer.trailer;...int.size.=.r
4ec80 64 65 63 2e 72 65 61 64 5f 64 61 74 61 28 20 74 72 61 69 6c 65 72 2e 64 61 74 61 2c 20 46 69 6c dec.read_data(.trailer.data,.Fil
4eca0 65 5f 74 72 61 69 6c 65 72 3a 3a 73 69 7a 65 20 29 3b 0a 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 e_trailer::size.);...const.unsig
4ecc0 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 64 61 74 61 5f 73 69 7a 65 20 3d 20 64 61 74 61 5f 70 ned.long.long.data_size.=.data_p
4ece0 6f 73 69 74 69 6f 6e 28 29 3b 0a 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 osition();...const.unsigned.long
4ed00 20 6c 6f 6e 67 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 3d 20 72 64 65 63 2e 6d 65 6d 62 65 72 5f .long.member_size.=.rdec.member_
4ed20 70 6f 73 69 74 69 6f 6e 28 29 3b 0a 20 20 62 6f 6f 6c 20 65 72 72 6f 72 20 3d 20 66 61 6c 73 65 position();...bool.error.=.false
4ed40 3b 0a 0a 20 20 69 66 28 20 73 69 7a 65 20 3c 20 46 69 6c 65 5f 74 72 61 69 6c 65 72 3a 3a 73 69 ;....if(.size.<.File_trailer::si
4ed60 7a 65 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 65 72 72 6f 72 20 3d 20 74 72 75 65 3b 0a 20 20 20 ze.).....{.....error.=.true;....
4ed80 20 69 66 28 20 76 65 72 62 6f 73 69 74 79 20 3e 3d 20 30 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 .if(.verbosity.>=.0.).......{...
4eda0 20 20 20 20 70 70 28 29 3b 0a 20 20 20 20 20 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 ....pp();.......std::fprintf(.st
4edc0 64 65 72 72 2c 20 22 54 72 61 69 6c 65 72 20 74 72 75 6e 63 61 74 65 64 20 61 74 20 74 72 61 69 derr,."Trailer.truncated.at.trai
4ede0 6c 65 72 20 70 6f 73 69 74 69 6f 6e 20 25 64 3b 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ler.position.%d;"...............
4ee00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 73 6f 6d 65 20 63 68 65 63 6b 73 20 6d 61 79 20 ..............".some.checks.may.
4ee20 66 61 69 6c 2e 5c 6e 22 2c 20 73 69 7a 65 20 29 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 77 68 fail.\n",.size.);.......}.....wh
4ee40 69 6c 65 28 20 73 69 7a 65 20 3c 20 46 69 6c 65 5f 74 72 61 69 6c 65 72 3a 3a 73 69 7a 65 20 29 ile(.size.<.File_trailer::size.)
4ee60 20 74 72 61 69 6c 65 72 2e 64 61 74 61 5b 73 69 7a 65 2b 2b 5d 20 3d 20 30 3b 0a 20 20 20 20 7d .trailer.data[size++].=.0;.....}
4ee80 0a 0a 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 74 64 5f 63 72 63 20 3d 20 74 72 61 69 ....const.unsigned.td_crc.=.trai
4eea0 6c 65 72 2e 64 61 74 61 5f 63 72 63 28 29 3b 0a 20 20 69 66 28 20 74 64 5f 63 72 63 20 21 3d 20 ler.data_crc();...if(.td_crc.!=.
4eec0 63 72 63 28 29 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 65 72 72 6f 72 20 3d 20 74 72 75 65 3b 0a crc().).....{.....error.=.true;.
4eee0 20 20 20 20 69 66 28 20 76 65 72 62 6f 73 69 74 79 20 3e 3d 20 30 20 29 0a 20 20 20 20 20 20 7b ....if(.verbosity.>=.0.).......{
4ef00 0a 20 20 20 20 20 20 70 70 28 29 3b 0a 20 20 20 20 20 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 28 .......pp();.......std::fprintf(
4ef20 20 73 74 64 65 72 72 2c 20 22 43 52 43 20 6d 69 73 6d 61 74 63 68 3b 20 73 74 6f 72 65 64 20 25 .stderr,."CRC.mismatch;.stored.%
4ef40 30 38 58 2c 20 63 6f 6d 70 75 74 65 64 20 25 30 38 58 5c 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 08X,.computed.%08X\n",..........
4ef60 20 20 20 20 20 20 20 20 20 20 20 74 64 5f 63 72 63 2c 20 63 72 63 28 29 20 29 3b 0a 20 20 20 20 ...........td_crc,.crc().);.....
4ef80 20 20 7d 0a 20 20 20 20 7d 0a 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 ..}.....}...const.unsigned.long.
4efa0 6c 6f 6e 67 20 74 64 5f 73 69 7a 65 20 3d 20 74 72 61 69 6c 65 72 2e 64 61 74 61 5f 73 69 7a 65 long.td_size.=.trailer.data_size
4efc0 28 29 3b 0a 20 20 69 66 28 20 74 64 5f 73 69 7a 65 20 21 3d 20 64 61 74 61 5f 73 69 7a 65 20 29 ();...if(.td_size.!=.data_size.)
4efe0 0a 20 20 20 20 7b 0a 20 20 20 20 65 72 72 6f 72 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 69 66 28 .....{.....error.=.true;.....if(
4f000 20 76 65 72 62 6f 73 69 74 79 20 3e 3d 20 30 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 .verbosity.>=.0.).......{.......
4f020 70 70 28 29 3b 0a 20 20 20 20 20 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 65 72 72 pp();.......std::fprintf(.stderr
4f040 2c 20 22 44 61 74 61 20 73 69 7a 65 20 6d 69 73 6d 61 74 63 68 3b 20 73 74 6f 72 65 64 20 25 6c ,."Data.size.mismatch;.stored.%l
4f060 6c 75 20 28 30 78 25 6c 6c 58 29 2c 20 63 6f 6d 70 75 74 65 64 20 25 6c 6c 75 20 28 30 78 25 6c lu.(0x%llX),.computed.%llu.(0x%l
4f080 6c 58 29 5c 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 64 5f 73 lX)\n",.....................td_s
4f0a0 69 7a 65 2c 20 74 64 5f 73 69 7a 65 2c 20 64 61 74 61 5f 73 69 7a 65 2c 20 64 61 74 61 5f 73 69 ize,.td_size,.data_size,.data_si
4f0c0 7a 65 20 29 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 63 6f 6e 73 74 20 75 6e 73 69 ze.);.......}.....}...const.unsi
4f0e0 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 74 6d 5f 73 69 7a 65 20 3d 20 74 72 61 69 6c 65 72 gned.long.long.tm_size.=.trailer
4f100 2e 6d 65 6d 62 65 72 5f 73 69 7a 65 28 29 3b 0a 20 20 69 66 28 20 74 6d 5f 73 69 7a 65 20 21 3d .member_size();...if(.tm_size.!=
4f120 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 65 72 72 6f 72 20 3d .member_size.).....{.....error.=
4f140 20 74 72 75 65 3b 0a 20 20 20 20 69 66 28 20 76 65 72 62 6f 73 69 74 79 20 3e 3d 20 30 20 29 0a .true;.....if(.verbosity.>=.0.).
4f160 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 70 70 28 29 3b 0a 20 20 20 20 20 20 73 74 64 3a 3a 66 ......{.......pp();.......std::f
4f180 70 72 69 6e 74 66 28 20 73 74 64 65 72 72 2c 20 22 4d 65 6d 62 65 72 20 73 69 7a 65 20 6d 69 73 printf(.stderr,."Member.size.mis
4f1a0 6d 61 74 63 68 3b 20 73 74 6f 72 65 64 20 25 6c 6c 75 20 28 30 78 25 6c 6c 58 29 2c 20 63 6f 6d match;.stored.%llu.(0x%llX),.com
4f1c0 70 75 74 65 64 20 25 6c 6c 75 20 28 30 78 25 6c 6c 58 29 5c 6e 22 2c 0a 20 20 20 20 20 20 20 20 puted.%llu.(0x%llX)\n",.........
4f1e0 20 20 20 20 20 20 20 20 20 20 20 20 74 6d 5f 73 69 7a 65 2c 20 74 6d 5f 73 69 7a 65 2c 20 6d 65 ............tm_size,.tm_size,.me
4f200 6d 62 65 72 5f 73 69 7a 65 2c 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 29 3b 0a 20 20 20 20 20 20 mber_size,.member_size.);.......
4f220 7d 0a 20 20 20 20 7d 0a 20 20 69 66 28 20 65 72 72 6f 72 20 29 20 72 65 74 75 72 6e 20 66 61 6c }.....}...if(.error.).return.fal
4f240 73 65 3b 0a 20 20 69 66 28 20 76 65 72 62 6f 73 69 74 79 20 3e 3d 20 32 20 29 0a 20 20 20 20 7b se;...if(.verbosity.>=.2.).....{
4f260 0a 20 20 20 20 69 66 28 20 76 65 72 62 6f 73 69 74 79 20 3e 3d 20 34 20 29 20 73 68 6f 77 5f 68 .....if(.verbosity.>=.4.).show_h
4f280 65 61 64 65 72 28 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 3b 0a 20 20 20 20 69 66 eader(.dictionary_size.);.....if
4f2a0 28 20 64 61 74 61 5f 73 69 7a 65 20 3d 3d 20 30 20 7c 7c 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 (.data_size.==.0.||.member_size.
4f2c0 3d 3d 20 30 20 29 0a 20 20 20 20 20 20 73 74 64 3a 3a 66 70 75 74 73 28 20 22 6e 6f 20 64 61 74 ==.0.).......std::fputs(."no.dat
4f2e0 61 20 63 6f 6d 70 72 65 73 73 65 64 2e 20 20 22 2c 20 73 74 64 65 72 72 20 29 3b 0a 20 20 20 20 a.compressed...",.stderr.);.....
4f300 65 6c 73 65 0a 20 20 20 20 20 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 65 72 72 2c else.......std::fprintf(.stderr,
4f320 20 22 25 36 2e 33 66 3a 31 2c 20 25 35 2e 32 66 25 25 20 72 61 74 69 6f 2c 20 25 35 2e 32 66 25 ."%6.3f:1,.%5.2f%%.ratio,.%5.2f%
4f340 25 20 73 61 76 65 64 2e 20 20 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 %.saved...",....................
4f360 20 28 64 6f 75 62 6c 65 29 64 61 74 61 5f 73 69 7a 65 20 2f 20 6d 65 6d 62 65 72 5f 73 69 7a 65 .(double)data_size./.member_size
4f380 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 20 31 30 30 2e 30 20 2a 20 ,.....................(.100.0.*.
4f3a0 6d 65 6d 62 65 72 5f 73 69 7a 65 20 29 20 2f 20 64 61 74 61 5f 73 69 7a 65 2c 0a 20 20 20 20 20 member_size.)./.data_size,......
4f3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31 30 30 2e 30 20 2d 20 28 20 28 20 31 30 30 2e 30 ...............100.0.-.(.(.100.0
4f3e0 20 2a 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 29 20 2f 20 64 61 74 61 5f 73 69 7a 65 20 29 20 29 .*.member_size.)./.data_size.).)
4f400 3b 0a 20 20 20 20 69 66 28 20 76 65 72 62 6f 73 69 74 79 20 3e 3d 20 34 20 29 20 73 74 64 3a 3a ;.....if(.verbosity.>=.4.).std::
4f420 66 70 72 69 6e 74 66 28 20 73 74 64 65 72 72 2c 20 22 43 52 43 20 25 30 38 58 2c 20 22 2c 20 74 fprintf(.stderr,."CRC.%08X,.",.t
4f440 64 5f 63 72 63 20 29 3b 0a 20 20 20 20 69 66 28 20 76 65 72 62 6f 73 69 74 79 20 3e 3d 20 33 20 d_crc.);.....if(.verbosity.>=.3.
4f460 29 0a 20 20 20 20 20 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 65 72 72 2c 20 22 64 ).......std::fprintf(.stderr,."d
4f480 65 63 6f 6d 70 72 65 73 73 65 64 20 25 39 6c 6c 75 2c 20 63 6f 6d 70 72 65 73 73 65 64 20 25 38 ecompressed.%9llu,.compressed.%8
4f4a0 6c 6c 75 2e 20 20 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 llu...",.....................dat
4f4c0 61 5f 73 69 7a 65 2c 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 29 3b 0a 20 20 20 20 7d 0a 20 20 72 a_size,.member_size.);.....}...r
4f4e0 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 7d 0a 0a 0a 2f 2a 20 52 65 74 75 72 6e 20 76 61 6c 75 eturn.true;...}.../*.Return.valu
4f500 65 3a 20 30 20 3d 20 4f 4b 2c 20 31 20 3d 20 64 65 63 6f 64 65 72 20 65 72 72 6f 72 2c 20 32 20 e:.0.=.OK,.1.=.decoder.error,.2.
4f520 3d 20 75 6e 65 78 70 65 63 74 65 64 20 45 4f 46 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 =.unexpected.EOF,...............
4f540 20 20 20 33 20 3d 20 74 72 61 69 6c 65 72 20 65 72 72 6f 72 2c 20 34 20 3d 20 75 6e 6b 6e 6f 77 ...3.=.trailer.error,.4.=.unknow
4f560 6e 20 6d 61 72 6b 65 72 20 66 6f 75 6e 64 2e 20 2a 2f 0a 69 6e 74 20 4c 5a 5f 64 65 63 6f 64 65 n.marker.found..*/.int.LZ_decode
4f580 72 3a 3a 64 65 63 6f 64 65 5f 6d 65 6d 62 65 72 28 20 63 6f 6e 73 74 20 50 72 65 74 74 79 5f 70 r::decode_member(.const.Pretty_p
4f5a0 72 69 6e 74 20 26 20 70 70 20 29 0a 20 20 7b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 6c rint.&.pp.)...{...Bit_model.bm_l
4f5c0 69 74 65 72 61 6c 5b 31 3c 3c 6c 69 74 65 72 61 6c 5f 63 6f 6e 74 65 78 74 5f 62 69 74 73 5d 5b iteral[1<<literal_context_bits][
4f5e0 30 78 33 30 30 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 6d 61 74 63 68 5b 53 74 61 0x300];...Bit_model.bm_match[Sta
4f600 74 65 3a 3a 73 74 61 74 65 73 5d 5b 70 6f 73 5f 73 74 61 74 65 73 5d 3b 0a 20 20 42 69 74 5f 6d te::states][pos_states];...Bit_m
4f620 6f 64 65 6c 20 62 6d 5f 72 65 70 5b 53 74 61 74 65 3a 3a 73 74 61 74 65 73 5d 3b 0a 20 20 42 69 odel.bm_rep[State::states];...Bi
4f640 74 5f 6d 6f 64 65 6c 20 62 6d 5f 72 65 70 30 5b 53 74 61 74 65 3a 3a 73 74 61 74 65 73 5d 3b 0a t_model.bm_rep0[State::states];.
4f660 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 72 65 70 31 5b 53 74 61 74 65 3a 3a 73 74 61 74 65 ..Bit_model.bm_rep1[State::state
4f680 73 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 72 65 70 32 5b 53 74 61 74 65 3a 3a 73 s];...Bit_model.bm_rep2[State::s
4f6a0 74 61 74 65 73 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 6c 65 6e 5b 53 74 61 74 65 tates];...Bit_model.bm_len[State
4f6c0 3a 3a 73 74 61 74 65 73 5d 5b 70 6f 73 5f 73 74 61 74 65 73 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 ::states][pos_states];...Bit_mod
4f6e0 65 6c 20 62 6d 5f 64 69 73 5f 73 6c 6f 74 5b 6c 65 6e 5f 73 74 61 74 65 73 5d 5b 31 3c 3c 64 69 el.bm_dis_slot[len_states][1<<di
4f700 73 5f 73 6c 6f 74 5f 62 69 74 73 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 64 69 73 s_slot_bits];...Bit_model.bm_dis
4f720 5b 6d 6f 64 65 6c 65 64 5f 64 69 73 74 61 6e 63 65 73 2d 65 6e 64 5f 64 69 73 5f 6d 6f 64 65 6c [modeled_distances-end_dis_model
4f740 2b 31 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 61 6c 69 67 6e 5b 64 69 73 5f 61 6c +1];...Bit_model.bm_align[dis_al
4f760 69 67 6e 5f 73 69 7a 65 5d 3b 0a 20 20 4c 65 6e 5f 6d 6f 64 65 6c 20 6d 61 74 63 68 5f 6c 65 6e ign_size];...Len_model.match_len
4f780 5f 6d 6f 64 65 6c 3b 0a 20 20 4c 65 6e 5f 6d 6f 64 65 6c 20 72 65 70 5f 6c 65 6e 5f 6d 6f 64 65 _model;...Len_model.rep_len_mode
4f7a0 6c 3b 0a 20 20 75 6e 73 69 67 6e 65 64 20 72 65 70 30 20 3d 20 30 3b 09 09 2f 2f 20 72 65 70 5b l;...unsigned.rep0.=.0;..//.rep[
4f7c0 30 2d 33 5d 20 6c 61 74 65 73 74 20 66 6f 75 72 20 64 69 73 74 61 6e 63 65 73 0a 20 20 75 6e 73 0-3].latest.four.distances...uns
4f7e0 69 67 6e 65 64 20 72 65 70 31 20 3d 20 30 3b 09 09 2f 2f 20 75 73 65 64 20 66 6f 72 20 65 66 66 igned.rep1.=.0;..//.used.for.eff
4f800 69 63 69 65 6e 74 20 63 6f 64 69 6e 67 20 6f 66 0a 20 20 75 6e 73 69 67 6e 65 64 20 72 65 70 32 icient.coding.of...unsigned.rep2
4f820 20 3d 20 30 3b 09 09 2f 2f 20 72 65 70 65 61 74 65 64 20 64 69 73 74 61 6e 63 65 73 0a 20 20 75 .=.0;..//.repeated.distances...u
4f840 6e 73 69 67 6e 65 64 20 72 65 70 33 20 3d 20 30 3b 0a 20 20 53 74 61 74 65 20 73 74 61 74 65 3b nsigned.rep3.=.0;...State.state;
4f860 0a 0a 20 20 72 64 65 63 2e 6c 6f 61 64 28 29 3b 0a 20 20 77 68 69 6c 65 28 20 21 72 64 65 63 2e ....rdec.load();...while(.!rdec.
4f880 66 69 6e 69 73 68 65 64 28 29 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 finished().).....{.....const.int
4f8a0 20 70 6f 73 5f 73 74 61 74 65 20 3d 20 64 61 74 61 5f 70 6f 73 69 74 69 6f 6e 28 29 20 26 20 70 .pos_state.=.data_position().&.p
4f8c0 6f 73 5f 73 74 61 74 65 5f 6d 61 73 6b 3b 0a 20 20 20 20 69 66 28 20 72 64 65 63 2e 64 65 63 6f os_state_mask;.....if(.rdec.deco
4f8e0 64 65 5f 62 69 74 28 20 62 6d 5f 6d 61 74 63 68 5b 73 74 61 74 65 28 29 5d 5b 70 6f 73 5f 73 74 de_bit(.bm_match[state()][pos_st
4f900 61 74 65 5d 20 29 20 3d 3d 20 30 20 29 09 2f 2f 20 31 73 74 20 62 69 74 0a 20 20 20 20 20 20 7b ate].).==.0.).//.1st.bit.......{
4f920 0a 20 20 20 20 20 20 42 69 74 5f 6d 6f 64 65 6c 20 2a 20 63 6f 6e 73 74 20 62 6d 20 3d 20 62 6d .......Bit_model.*.const.bm.=.bm
4f940 5f 6c 69 74 65 72 61 6c 5b 67 65 74 5f 6c 69 74 5f 73 74 61 74 65 28 70 65 65 6b 5f 70 72 65 76 _literal[get_lit_state(peek_prev
4f960 28 29 29 5d 3b 0a 20 20 20 20 20 20 69 66 28 20 73 74 61 74 65 2e 69 73 5f 63 68 61 72 5f 73 65 ())];.......if(.state.is_char_se
4f980 74 5f 63 68 61 72 28 29 20 29 0a 20 20 20 20 20 20 20 20 70 75 74 5f 62 79 74 65 28 20 72 64 65 t_char().).........put_byte(.rde
4f9a0 63 2e 64 65 63 6f 64 65 5f 74 72 65 65 38 28 20 62 6d 20 29 20 29 3b 0a 20 20 20 20 20 20 65 6c c.decode_tree8(.bm.).);.......el
4f9c0 73 65 0a 20 20 20 20 20 20 20 20 70 75 74 5f 62 79 74 65 28 20 72 64 65 63 2e 64 65 63 6f 64 65 se.........put_byte(.rdec.decode
4f9e0 5f 6d 61 74 63 68 65 64 28 20 62 6d 2c 20 70 65 65 6b 28 20 72 65 70 30 20 29 20 29 20 29 3b 0a _matched(.bm,.peek(.rep0.).).);.
4fa00 20 20 20 20 20 20 7d 0a 20 20 20 20 65 6c 73 65 09 09 09 09 09 2f 2f 20 6d 61 74 63 68 20 6f 72 ......}.....else.....//.match.or
4fa20 20 72 65 70 65 61 74 65 64 20 6d 61 74 63 68 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 69 6e .repeated.match.......{.......in
4fa40 74 20 6c 65 6e 3b 0a 20 20 20 20 20 20 69 66 28 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 62 69 74 t.len;.......if(.rdec.decode_bit
4fa60 28 20 62 6d 5f 72 65 70 5b 73 74 61 74 65 28 29 5d 20 29 20 21 3d 20 30 20 29 09 09 2f 2f 20 32 (.bm_rep[state()].).!=.0.)..//.2
4fa80 6e 64 20 62 69 74 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 28 20 72 64 65 nd.bit.........{.........if(.rde
4faa0 63 2e 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f 72 65 70 30 5b 73 74 61 74 65 28 29 5d 20 29 c.decode_bit(.bm_rep0[state()].)
4fac0 20 3d 3d 20 30 20 29 09 09 2f 2f 20 33 72 64 20 62 69 74 0a 20 20 20 20 20 20 20 20 20 20 7b 0a .==.0.)..//.3rd.bit...........{.
4fae0 20 20 20 20 20 20 20 20 20 20 69 66 28 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 62 69 74 28 20 62 ..........if(.rdec.decode_bit(.b
4fb00 6d 5f 6c 65 6e 5b 73 74 61 74 65 28 29 5d 5b 70 6f 73 5f 73 74 61 74 65 5d 20 29 20 3d 3d 20 30 m_len[state()][pos_state].).==.0
4fb20 20 29 20 2f 2f 20 34 74 68 20 62 69 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 73 74 61 74 .).//.4th.bit.............{.stat
4fb40 65 2e 73 65 74 5f 73 68 6f 72 74 5f 72 65 70 28 29 3b 20 70 75 74 5f 62 79 74 65 28 20 70 65 65 e.set_short_rep();.put_byte(.pee
4fb60 6b 28 20 72 65 70 30 20 29 20 29 3b 20 63 6f 6e 74 69 6e 75 65 3b 20 7d 0a 20 20 20 20 20 20 20 k(.rep0.).);.continue;.}........
4fb80 20 20 20 7d 0a 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 ...}.........else...........{...
4fba0 20 20 20 20 20 20 20 20 75 6e 73 69 67 6e 65 64 20 64 69 73 74 61 6e 63 65 3b 0a 20 20 20 20 20 ........unsigned.distance;......
4fbc0 20 20 20 20 20 69 66 28 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f 72 65 70 .....if(.rdec.decode_bit(.bm_rep
4fbe0 31 5b 73 74 61 74 65 28 29 5d 20 29 20 3d 3d 20 30 20 29 09 2f 2f 20 34 74 68 20 62 69 74 0a 20 1[state()].).==.0.).//.4th.bit..
4fc00 20 20 20 20 20 20 20 20 20 20 20 64 69 73 74 61 6e 63 65 20 3d 20 72 65 70 31 3b 0a 20 20 20 20 ...........distance.=.rep1;.....
4fc20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 ......else.............{........
4fc40 20 20 20 20 20 69 66 28 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f 72 65 70 .....if(.rdec.decode_bit(.bm_rep
4fc60 32 5b 73 74 61 74 65 28 29 5d 20 29 20 3d 3d 20 30 20 29 09 2f 2f 20 35 74 68 20 62 69 74 0a 20 2[state()].).==.0.).//.5th.bit..
4fc80 20 20 20 20 20 20 20 20 20 20 20 20 20 64 69 73 74 61 6e 63 65 20 3d 20 72 65 70 32 3b 0a 20 20 .............distance.=.rep2;...
4fca0 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 64 ..........else...............{.d
4fcc0 69 73 74 61 6e 63 65 20 3d 20 72 65 70 33 3b 20 72 65 70 33 20 3d 20 72 65 70 32 3b 20 7d 0a 20 istance.=.rep3;.rep3.=.rep2;.}..
4fce0 20 20 20 20 20 20 20 20 20 20 20 72 65 70 32 20 3d 20 72 65 70 31 3b 0a 20 20 20 20 20 20 20 20 ...........rep2.=.rep1;.........
4fd00 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 72 65 70 31 20 3d 20 72 65 70 30 3b 0a 20 20 20 ....}...........rep1.=.rep0;....
4fd20 20 20 20 20 20 20 20 72 65 70 30 20 3d 20 64 69 73 74 61 6e 63 65 3b 0a 20 20 20 20 20 20 20 20 .......rep0.=.distance;.........
4fd40 20 20 7d 0a 20 20 20 20 20 20 20 20 73 74 61 74 65 2e 73 65 74 5f 72 65 70 28 29 3b 0a 20 20 20 ..}.........state.set_rep();....
4fd60 20 20 20 20 20 6c 65 6e 20 3d 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 20 2b 20 72 64 65 63 2e .....len.=.min_match_len.+.rdec.
4fd80 64 65 63 6f 64 65 5f 6c 65 6e 28 20 72 65 70 5f 6c 65 6e 5f 6d 6f 64 65 6c 2c 20 70 6f 73 5f 73 decode_len(.rep_len_model,.pos_s
4fda0 74 61 74 65 20 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 65 6c 73 65 09 09 09 09 tate.);.........}.......else....
4fdc0 09 2f 2f 20 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 6c 65 6e 20 .//.match.........{.........len.
4fde0 3d 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 20 2b 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 6c 65 =.min_match_len.+.rdec.decode_le
4fe00 6e 28 20 6d 61 74 63 68 5f 6c 65 6e 5f 6d 6f 64 65 6c 2c 20 70 6f 73 5f 73 74 61 74 65 20 29 3b n(.match_len_model,.pos_state.);
4fe20 0a 20 20 20 20 20 20 20 20 75 6e 73 69 67 6e 65 64 20 64 69 73 74 61 6e 63 65 20 3d 20 72 64 65 .........unsigned.distance.=.rde
4fe40 63 2e 64 65 63 6f 64 65 5f 74 72 65 65 36 28 20 62 6d 5f 64 69 73 5f 73 6c 6f 74 5b 67 65 74 5f c.decode_tree6(.bm_dis_slot[get_
4fe60 6c 65 6e 5f 73 74 61 74 65 28 6c 65 6e 29 5d 20 29 3b 0a 20 20 20 20 20 20 20 20 69 66 28 20 64 len_state(len)].);.........if(.d
4fe80 69 73 74 61 6e 63 65 20 3e 3d 20 73 74 61 72 74 5f 64 69 73 5f 6d 6f 64 65 6c 20 29 0a 20 20 20 istance.>=.start_dis_model.)....
4fea0 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 .......{...........const.unsigne
4fec0 64 20 64 69 73 5f 73 6c 6f 74 20 3d 20 64 69 73 74 61 6e 63 65 3b 0a 20 20 20 20 20 20 20 20 20 d.dis_slot.=.distance;..........
4fee0 20 63 6f 6e 73 74 20 69 6e 74 20 64 69 72 65 63 74 5f 62 69 74 73 20 3d 20 28 20 64 69 73 5f 73 .const.int.direct_bits.=.(.dis_s
4ff00 6c 6f 74 20 3e 3e 20 31 20 29 20 2d 20 31 3b 0a 20 20 20 20 20 20 20 20 20 20 64 69 73 74 61 6e lot.>>.1.).-.1;...........distan
4ff20 63 65 20 3d 20 28 20 32 20 7c 20 28 20 64 69 73 5f 73 6c 6f 74 20 26 20 31 20 29 20 29 20 3c 3c ce.=.(.2.|.(.dis_slot.&.1.).).<<
4ff40 20 64 69 72 65 63 74 5f 62 69 74 73 3b 0a 20 20 20 20 20 20 20 20 20 20 69 66 28 20 64 69 73 5f .direct_bits;...........if(.dis_
4ff60 73 6c 6f 74 20 3c 20 65 6e 64 5f 64 69 73 5f 6d 6f 64 65 6c 20 29 0a 20 20 20 20 20 20 20 20 20 slot.<.end_dis_model.)..........
4ff80 20 20 20 64 69 73 74 61 6e 63 65 20 2b 3d 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 74 72 65 65 5f ...distance.+=.rdec.decode_tree_
4ffa0 72 65 76 65 72 73 65 64 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 reversed(.......................
4ffc0 20 20 62 6d 5f 64 69 73 20 2b 20 28 20 64 69 73 74 61 6e 63 65 20 2d 20 64 69 73 5f 73 6c 6f 74 ..bm_dis.+.(.distance.-.dis_slot
4ffe0 20 29 2c 20 64 69 72 65 63 74 5f 62 69 74 73 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 65 6c 73 .),.direct_bits.);...........els
50000 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 69 73 74 e.............{.............dist
50020 61 6e 63 65 20 2b 3d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 64 65 63 2e 64 65 63 6f 64 ance.+=...............rdec.decod
50040 65 28 20 64 69 72 65 63 74 5f 62 69 74 73 20 2d 20 64 69 73 5f 61 6c 69 67 6e 5f 62 69 74 73 20 e(.direct_bits.-.dis_align_bits.
50060 29 20 3c 3c 20 64 69 73 5f 61 6c 69 67 6e 5f 62 69 74 73 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ).<<.dis_align_bits;............
50080 20 64 69 73 74 61 6e 63 65 20 2b 3d 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 74 72 65 65 5f 72 65 .distance.+=.rdec.decode_tree_re
500a0 76 65 72 73 65 64 34 28 20 62 6d 5f 61 6c 69 67 6e 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 versed4(.bm_align.);............
500c0 20 69 66 28 20 64 69 73 74 61 6e 63 65 20 3d 3d 20 30 78 46 46 46 46 46 46 46 46 55 20 29 09 09 .if(.distance.==.0xFFFFFFFFU.)..
500e0 2f 2f 20 6d 61 72 6b 65 72 20 66 6f 75 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a //.marker.found...............{.
50100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 64 65 63 2e 6e 6f 72 6d 61 6c 69 7a 65 28 29 3b 0a ..............rdec.normalize();.
50120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6c 75 73 68 5f 64 61 74 61 28 29 3b 0a 20 20 20 20 ..............flush_data();.....
50140 20 20 20 20 20 20 20 20 20 20 69 66 28 20 6c 65 6e 20 3d 3d 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c ..........if(.len.==.min_match_l
50160 65 6e 20 29 09 2f 2f 20 45 6e 64 20 4f 66 20 53 74 72 65 61 6d 20 6d 61 72 6b 65 72 0a 20 20 20 en.).//.End.Of.Stream.marker....
50180 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 .............{.................i
501a0 66 28 20 76 65 72 69 66 79 5f 74 72 61 69 6c 65 72 28 20 70 70 20 29 20 29 20 72 65 74 75 72 6e f(.verify_trailer(.pp.).).return
501c0 20 30 3b 20 65 6c 73 65 20 72 65 74 75 72 6e 20 33 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .0;.else.return.3;..............
501e0 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 28 20 6c 65 6e 20 3d 3d 20 6d 69 ...}...............if(.len.==.mi
50200 6e 5f 6d 61 74 63 68 5f 6c 65 6e 20 2b 20 31 20 29 09 2f 2f 20 53 79 6e 63 20 46 6c 75 73 68 20 n_match_len.+.1.).//.Sync.Flush.
50220 6d 61 72 6b 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 marker.................{........
50240 20 20 20 20 20 20 20 20 20 72 64 65 63 2e 6c 6f 61 64 28 29 3b 20 63 6f 6e 74 69 6e 75 65 3b 0a .........rdec.load();.continue;.
50260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................}...............
50280 69 66 28 20 76 65 72 62 6f 73 69 74 79 20 3e 3d 20 30 20 29 0a 20 20 20 20 20 20 20 20 20 20 20 if(.verbosity.>=.0.)............
502a0 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 70 28 29 3b 0a 20 20 20 .....{.................pp();....
502c0 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 65 72 .............std::fprintf(.stder
502e0 72 2c 20 22 55 6e 73 75 70 70 6f 72 74 65 64 20 6d 61 72 6b 65 72 20 63 6f 64 65 20 27 25 64 27 r,."Unsupported.marker.code.'%d'
50300 5c 6e 22 2c 20 6c 65 6e 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 \n",.len.);.................}...
50320 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 34 3b 0a 20 20 20 20 20 20 20 20 20 20 ............return.4;...........
50340 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 7d 0a ....}.............}...........}.
50360 20 20 20 20 20 20 20 20 72 65 70 33 20 3d 20 72 65 70 32 3b 20 72 65 70 32 20 3d 20 72 65 70 31 ........rep3.=.rep2;.rep2.=.rep1
50380 3b 20 72 65 70 31 20 3d 20 72 65 70 30 3b 20 72 65 70 30 20 3d 20 64 69 73 74 61 6e 63 65 3b 0a ;.rep1.=.rep0;.rep0.=.distance;.
503a0 20 20 20 20 20 20 20 20 73 74 61 74 65 2e 73 65 74 5f 6d 61 74 63 68 28 29 3b 0a 20 20 20 20 20 ........state.set_match();......
503c0 20 20 20 69 66 28 20 72 65 70 30 20 3e 3d 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 7c ...if(.rep0.>=.dictionary_size.|
503e0 7c 20 28 20 72 65 70 30 20 3e 3d 20 70 6f 73 20 26 26 20 21 70 6f 73 5f 77 72 61 70 70 65 64 20 |.(.rep0.>=.pos.&&.!pos_wrapped.
50400 29 20 29 0a 20 20 20 20 20 20 20 20 20 20 7b 20 66 6c 75 73 68 5f 64 61 74 61 28 29 3b 20 72 65 ).)...........{.flush_data();.re
50420 74 75 72 6e 20 31 3b 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 63 6f 70 79 5f 62 turn.1;.}.........}.......copy_b
50440 6c 6f 63 6b 28 20 72 65 70 30 2c 20 6c 65 6e 20 29 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d lock(.rep0,.len.);.......}.....}
50460 0a 20 20 66 6c 75 73 68 5f 64 61 74 61 28 29 3b 0a 20 20 72 65 74 75 72 6e 20 32 3b 0a 20 20 7d ...flush_data();...return.2;...}
50480 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
504a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
504c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
504e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
505a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
505c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
505e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50600 6c 7a 69 70 2d 31 2e 32 30 2f 65 6e 63 6f 64 65 72 2e 68 00 00 00 00 00 00 00 00 00 00 00 00 00 lzip-1.20/encoder.h.............
50620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
50680 30 30 32 31 36 36 31 00 31 33 36 36 34 37 33 36 35 34 35 00 30 31 34 33 36 33 00 20 30 00 00 00 0021661.13664736545.014363..0...
506a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
506c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
506e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50700 00 75 73 74 61 72 20 20 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...mohammad...............
50720 00 00 00 00 00 00 00 00 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........mohammad...............
50740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
507a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
507c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
507e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50800 2f 2a 20 20 4c 7a 69 70 20 2d 20 4c 5a 4d 41 20 6c 6f 73 73 6c 65 73 73 20 64 61 74 61 20 63 6f /*..Lzip.-.LZMA.lossless.data.co
50820 6d 70 72 65 73 73 6f 72 0a 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d mpressor.....Copyright.(C).2008-
50840 32 30 31 38 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 20 54 68 69 2018.Antonio.Diaz.Diaz.......Thi
50860 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 s.program.is.free.software:.you.
50880 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 can.redistribute.it.and/or.modif
508a0 79 0a 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 y.....it.under.the.terms.of.the.
508c0 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 GNU.General.Public.License.as.pu
508e0 62 6c 69 73 68 65 64 20 62 79 0a 20 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 blished.by.....the.Free.Software
50900 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 .Foundation,.either.version.2.of
50920 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 .the.License,.or.....(at.your.op
50940 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 20 54 68 tion).any.later.version.......Th
50960 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 is.program.is.distributed.in.the
50980 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 20 .hope.that.it.will.be.useful,...
509a0 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 ..but.WITHOUT.ANY.WARRANTY;.with
509c0 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 out.even.the.implied.warranty.of
509e0 0a 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 .....MERCHANTABILITY.or.FITNESS.
50a00 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 FOR.A.PARTICULAR.PURPOSE...See.t
50a20 68 65 0a 20 20 20 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 he.....GNU.General.Public.Licens
50a40 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 20 59 6f 75 20 73 68 6f e.for.more.details.......You.sho
50a60 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 uld.have.received.a.copy.of.the.
50a80 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 20 61 GNU.General.Public.License.....a
50aa0 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c long.with.this.program...If.not,
50ac0 20 73 65 65 20 3c 68 74 74 70 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 .see.<http://www.gnu.org/license
50ae0 73 2f 3e 2e 0a 2a 2f 0a 0a 63 6c 61 73 73 20 4c 65 6e 5f 70 72 69 63 65 73 0a 20 20 7b 0a 20 20 s/>..*/..class.Len_prices...{...
50b00 63 6f 6e 73 74 20 4c 65 6e 5f 6d 6f 64 65 6c 20 26 20 6c 6d 3b 0a 20 20 63 6f 6e 73 74 20 69 6e const.Len_model.&.lm;...const.in
50b20 74 20 6c 65 6e 5f 73 79 6d 62 6f 6c 73 3b 0a 20 20 63 6f 6e 73 74 20 69 6e 74 20 63 6f 75 6e 74 t.len_symbols;...const.int.count
50b40 3b 0a 20 20 69 6e 74 20 70 72 69 63 65 73 5b 70 6f 73 5f 73 74 61 74 65 73 5d 5b 6d 61 78 5f 6c ;...int.prices[pos_states][max_l
50b60 65 6e 5f 73 79 6d 62 6f 6c 73 5d 3b 0a 20 20 69 6e 74 20 63 6f 75 6e 74 65 72 73 5b 70 6f 73 5f en_symbols];...int.counters[pos_
50b80 73 74 61 74 65 73 5d 3b 09 09 09 2f 2f 20 6d 61 79 20 64 65 63 72 65 6d 65 6e 74 20 62 65 6c 6f states];...//.may.decrement.belo
50ba0 77 20 30 0a 0a 20 20 76 6f 69 64 20 75 70 64 61 74 65 5f 6c 6f 77 5f 6d 69 64 5f 70 72 69 63 65 w.0....void.update_low_mid_price
50bc0 73 28 20 63 6f 6e 73 74 20 69 6e 74 20 70 6f 73 5f 73 74 61 74 65 20 29 0a 20 20 20 20 7b 0a 20 s(.const.int.pos_state.).....{..
50be0 20 20 20 69 6e 74 20 2a 20 63 6f 6e 73 74 20 70 70 73 20 3d 20 70 72 69 63 65 73 5b 70 6f 73 5f ...int.*.const.pps.=.prices[pos_
50c00 73 74 61 74 65 5d 3b 0a 20 20 20 20 69 6e 74 20 74 6d 70 20 3d 20 70 72 69 63 65 30 28 20 6c 6d state];.....int.tmp.=.price0(.lm
50c20 2e 63 68 6f 69 63 65 31 20 29 3b 0a 20 20 20 20 69 6e 74 20 6c 65 6e 20 3d 20 30 3b 0a 20 20 20 .choice1.);.....int.len.=.0;....
50c40 20 66 6f 72 28 20 3b 20 6c 65 6e 20 3c 20 6c 65 6e 5f 6c 6f 77 5f 73 79 6d 62 6f 6c 73 20 26 26 .for(.;.len.<.len_low_symbols.&&
50c60 20 6c 65 6e 20 3c 20 6c 65 6e 5f 73 79 6d 62 6f 6c 73 3b 20 2b 2b 6c 65 6e 20 29 0a 20 20 20 20 .len.<.len_symbols;.++len.).....
50c80 20 20 70 70 73 5b 6c 65 6e 5d 20 3d 20 74 6d 70 20 2b 20 70 72 69 63 65 5f 73 79 6d 62 6f 6c 33 ..pps[len].=.tmp.+.price_symbol3
50ca0 28 20 6c 6d 2e 62 6d 5f 6c 6f 77 5b 70 6f 73 5f 73 74 61 74 65 5d 2c 20 6c 65 6e 20 29 3b 0a 20 (.lm.bm_low[pos_state],.len.);..
50cc0 20 20 20 69 66 28 20 6c 65 6e 20 3e 3d 20 6c 65 6e 5f 73 79 6d 62 6f 6c 73 20 29 20 72 65 74 75 ...if(.len.>=.len_symbols.).retu
50ce0 72 6e 3b 0a 20 20 20 20 74 6d 70 20 3d 20 70 72 69 63 65 31 28 20 6c 6d 2e 63 68 6f 69 63 65 31 rn;.....tmp.=.price1(.lm.choice1
50d00 20 29 20 2b 20 70 72 69 63 65 30 28 20 6c 6d 2e 63 68 6f 69 63 65 32 20 29 3b 0a 20 20 20 20 66 .).+.price0(.lm.choice2.);.....f
50d20 6f 72 28 20 3b 20 6c 65 6e 20 3c 20 6c 65 6e 5f 6c 6f 77 5f 73 79 6d 62 6f 6c 73 20 2b 20 6c 65 or(.;.len.<.len_low_symbols.+.le
50d40 6e 5f 6d 69 64 5f 73 79 6d 62 6f 6c 73 20 26 26 20 6c 65 6e 20 3c 20 6c 65 6e 5f 73 79 6d 62 6f n_mid_symbols.&&.len.<.len_symbo
50d60 6c 73 3b 20 2b 2b 6c 65 6e 20 29 0a 20 20 20 20 20 20 70 70 73 5b 6c 65 6e 5d 20 3d 20 74 6d 70 ls;.++len.).......pps[len].=.tmp
50d80 20 2b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 63 65 5f 73 79 6d 62 6f 6c .+..................price_symbol
50da0 33 28 20 6c 6d 2e 62 6d 5f 6d 69 64 5b 70 6f 73 5f 73 74 61 74 65 5d 2c 20 6c 65 6e 20 2d 20 6c 3(.lm.bm_mid[pos_state],.len.-.l
50dc0 65 6e 5f 6c 6f 77 5f 73 79 6d 62 6f 6c 73 20 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 76 6f 69 64 20 en_low_symbols.);.....}....void.
50de0 75 70 64 61 74 65 5f 68 69 67 68 5f 70 72 69 63 65 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 63 update_high_prices().....{.....c
50e00 6f 6e 73 74 20 69 6e 74 20 74 6d 70 20 3d 20 70 72 69 63 65 31 28 20 6c 6d 2e 63 68 6f 69 63 65 onst.int.tmp.=.price1(.lm.choice
50e20 31 20 29 20 2b 20 70 72 69 63 65 31 28 20 6c 6d 2e 63 68 6f 69 63 65 32 20 29 3b 0a 20 20 20 20 1.).+.price1(.lm.choice2.);.....
50e40 66 6f 72 28 20 69 6e 74 20 6c 65 6e 20 3d 20 6c 65 6e 5f 6c 6f 77 5f 73 79 6d 62 6f 6c 73 20 2b for(.int.len.=.len_low_symbols.+
50e60 20 6c 65 6e 5f 6d 69 64 5f 73 79 6d 62 6f 6c 73 3b 20 6c 65 6e 20 3c 20 6c 65 6e 5f 73 79 6d 62 .len_mid_symbols;.len.<.len_symb
50e80 6f 6c 73 3b 20 2b 2b 6c 65 6e 20 29 0a 20 20 20 20 20 20 2f 2f 20 75 73 69 6e 67 20 34 20 73 6c ols;.++len.).......//.using.4.sl
50ea0 6f 74 73 20 70 65 72 20 76 61 6c 75 65 20 6d 61 6b 65 73 20 22 70 72 69 63 65 22 20 66 61 73 74 ots.per.value.makes."price".fast
50ec0 65 72 0a 20 20 20 20 20 20 70 72 69 63 65 73 5b 33 5d 5b 6c 65 6e 5d 20 3d 20 70 72 69 63 65 73 er.......prices[3][len].=.prices
50ee0 5b 32 5d 5b 6c 65 6e 5d 20 3d 20 70 72 69 63 65 73 5b 31 5d 5b 6c 65 6e 5d 20 3d 20 70 72 69 63 [2][len].=.prices[1][len].=.pric
50f00 65 73 5b 30 5d 5b 6c 65 6e 5d 20 3d 20 74 6d 70 20 2b 0a 20 20 20 20 20 20 20 20 70 72 69 63 65 es[0][len].=.tmp.+.........price
50f20 5f 73 79 6d 62 6f 6c 38 28 20 6c 6d 2e 62 6d 5f 68 69 67 68 2c 20 6c 65 6e 20 2d 20 6c 65 6e 5f _symbol8(.lm.bm_high,.len.-.len_
50f40 6c 6f 77 5f 73 79 6d 62 6f 6c 73 20 2d 20 6c 65 6e 5f 6d 69 64 5f 73 79 6d 62 6f 6c 73 20 29 3b low_symbols.-.len_mid_symbols.);
50f60 0a 20 20 20 20 7d 0a 0a 70 75 62 6c 69 63 3a 0a 20 20 76 6f 69 64 20 72 65 73 65 74 28 29 20 7b .....}..public:...void.reset().{
50f80 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 70 6f 73 5f 73 74 61 74 65 73 3b .for(.int.i.=.0;.i.<.pos_states;
50fa0 20 2b 2b 69 20 29 20 63 6f 75 6e 74 65 72 73 5b 69 5d 20 3d 20 30 3b 20 7d 0a 0a 20 20 4c 65 6e .++i.).counters[i].=.0;.}....Len
50fc0 5f 70 72 69 63 65 73 28 20 63 6f 6e 73 74 20 4c 65 6e 5f 6d 6f 64 65 6c 20 26 20 6d 2c 20 63 6f _prices(.const.Len_model.&.m,.co
50fe0 6e 73 74 20 69 6e 74 20 6d 61 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 74 20 29 0a 20 20 20 20 3a 0a nst.int.match_len_limit.).....:.
51000 20 20 20 20 6c 6d 28 20 6d 20 29 2c 0a 20 20 20 20 6c 65 6e 5f 73 79 6d 62 6f 6c 73 28 20 6d 61 ....lm(.m.),.....len_symbols(.ma
51020 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 74 20 2b 20 31 20 2d 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 tch_len_limit.+.1.-.min_match_le
51040 6e 20 29 2c 0a 20 20 20 20 63 6f 75 6e 74 28 20 28 20 6d 61 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 n.),.....count(.(.match_len_limi
51060 74 20 3e 20 31 32 20 29 20 3f 20 31 20 3a 20 6c 65 6e 5f 73 79 6d 62 6f 6c 73 20 29 0a 20 20 20 t.>.12.).?.1.:.len_symbols.)....
51080 20 7b 20 72 65 73 65 74 28 29 3b 20 7d 0a 0a 20 20 76 6f 69 64 20 64 65 63 72 65 6d 65 6e 74 5f .{.reset();.}....void.decrement_
510a0 63 6f 75 6e 74 65 72 28 20 63 6f 6e 73 74 20 69 6e 74 20 70 6f 73 5f 73 74 61 74 65 20 29 20 7b counter(.const.int.pos_state.).{
510c0 20 2d 2d 63 6f 75 6e 74 65 72 73 5b 70 6f 73 5f 73 74 61 74 65 5d 3b 20 7d 0a 0a 20 20 76 6f 69 .--counters[pos_state];.}....voi
510e0 64 20 75 70 64 61 74 65 5f 70 72 69 63 65 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 62 6f 6f 6c d.update_prices().....{.....bool
51100 20 68 69 67 68 5f 70 65 6e 64 69 6e 67 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 66 6f 72 28 20 .high_pending.=.false;.....for(.
51120 69 6e 74 20 70 6f 73 5f 73 74 61 74 65 20 3d 20 30 3b 20 70 6f 73 5f 73 74 61 74 65 20 3c 20 70 int.pos_state.=.0;.pos_state.<.p
51140 6f 73 5f 73 74 61 74 65 73 3b 20 2b 2b 70 6f 73 5f 73 74 61 74 65 20 29 0a 20 20 20 20 20 20 69 os_states;.++pos_state.).......i
51160 66 28 20 63 6f 75 6e 74 65 72 73 5b 70 6f 73 5f 73 74 61 74 65 5d 20 3c 3d 20 30 20 29 0a 20 20 f(.counters[pos_state].<=.0.)...
51180 20 20 20 20 20 20 7b 20 63 6f 75 6e 74 65 72 73 5b 70 6f 73 5f 73 74 61 74 65 5d 20 3d 20 63 6f ......{.counters[pos_state].=.co
511a0 75 6e 74 3b 0a 20 20 20 20 20 20 20 20 20 20 75 70 64 61 74 65 5f 6c 6f 77 5f 6d 69 64 5f 70 72 unt;...........update_low_mid_pr
511c0 69 63 65 73 28 20 70 6f 73 5f 73 74 61 74 65 20 29 3b 20 68 69 67 68 5f 70 65 6e 64 69 6e 67 20 ices(.pos_state.);.high_pending.
511e0 3d 20 74 72 75 65 3b 20 7d 0a 20 20 20 20 69 66 28 20 68 69 67 68 5f 70 65 6e 64 69 6e 67 20 26 =.true;.}.....if(.high_pending.&
51200 26 20 6c 65 6e 5f 73 79 6d 62 6f 6c 73 20 3e 20 6c 65 6e 5f 6c 6f 77 5f 73 79 6d 62 6f 6c 73 20 &.len_symbols.>.len_low_symbols.
51220 2b 20 6c 65 6e 5f 6d 69 64 5f 73 79 6d 62 6f 6c 73 20 29 0a 20 20 20 20 20 20 75 70 64 61 74 65 +.len_mid_symbols.).......update
51240 5f 68 69 67 68 5f 70 72 69 63 65 73 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 69 6e 74 20 70 72 69 _high_prices();.....}....int.pri
51260 63 65 28 20 63 6f 6e 73 74 20 69 6e 74 20 6c 65 6e 2c 20 63 6f 6e 73 74 20 69 6e 74 20 70 6f 73 ce(.const.int.len,.const.int.pos
51280 5f 73 74 61 74 65 20 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 20 72 65 74 75 72 6e 20 70 72 69 63 _state.).const.....{.return.pric
512a0 65 73 5b 70 6f 73 5f 73 74 61 74 65 5d 5b 6c 65 6e 20 2d 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 es[pos_state][len.-.min_match_le
512c0 6e 5d 3b 20 7d 0a 20 20 7d 3b 0a 0a 0a 63 6c 61 73 73 20 4c 5a 5f 65 6e 63 6f 64 65 72 20 3a 20 n];.}...};...class.LZ_encoder.:.
512e0 70 75 62 6c 69 63 20 4c 5a 5f 65 6e 63 6f 64 65 72 5f 62 61 73 65 0a 20 20 7b 0a 20 20 73 74 72 public.LZ_encoder_base...{...str
51300 75 63 74 20 50 61 69 72 09 09 09 2f 2f 20 64 69 73 74 61 6e 63 65 2d 6c 65 6e 67 74 68 20 70 61 uct.Pair...//.distance-length.pa
51320 69 72 0a 20 20 20 20 7b 0a 20 20 20 20 69 6e 74 20 64 69 73 3b 0a 20 20 20 20 69 6e 74 20 6c 65 ir.....{.....int.dis;.....int.le
51340 6e 3b 0a 20 20 20 20 7d 3b 0a 0a 20 20 65 6e 75 6d 20 7b 20 69 6e 66 69 6e 69 74 65 5f 70 72 69 n;.....};....enum.{.infinite_pri
51360 63 65 20 3d 20 30 78 30 46 46 46 46 46 46 46 2c 0a 20 20 20 20 20 20 20 20 20 6d 61 78 5f 6e 75 ce.=.0x0FFFFFFF,..........max_nu
51380 6d 5f 74 72 69 61 6c 73 20 3d 20 31 20 3c 3c 20 31 33 2c 0a 20 20 20 20 20 20 20 20 20 73 69 6e m_trials.=.1.<<.13,..........sin
513a0 67 6c 65 5f 73 74 65 70 5f 74 72 69 61 6c 20 3d 20 2d 32 2c 0a 20 20 20 20 20 20 20 20 20 64 75 gle_step_trial.=.-2,..........du
513c0 61 6c 5f 73 74 65 70 5f 74 72 69 61 6c 20 3d 20 2d 31 20 7d 3b 0a 0a 20 20 73 74 72 75 63 74 20 al_step_trial.=.-1.};....struct.
513e0 54 72 69 61 6c 0a 20 20 20 20 7b 0a 20 20 20 20 53 74 61 74 65 20 73 74 61 74 65 3b 0a 20 20 20 Trial.....{.....State.state;....
51400 20 69 6e 74 20 70 72 69 63 65 3b 09 09 2f 2f 20 64 75 61 6c 20 75 73 65 20 76 61 72 3b 20 63 75 .int.price;..//.dual.use.var;.cu
51420 6d 75 6c 61 74 69 76 65 20 70 72 69 63 65 2c 20 6d 61 74 63 68 20 6c 65 6e 67 74 68 0a 20 20 20 mulative.price,.match.length....
51440 20 69 6e 74 20 64 69 73 34 3b 09 09 2f 2f 20 2d 31 20 66 6f 72 20 6c 69 74 65 72 61 6c 2c 20 6f .int.dis4;..//.-1.for.literal,.o
51460 72 20 72 65 70 2c 20 6f 72 20 6d 61 74 63 68 20 64 69 73 74 61 6e 63 65 20 2b 20 34 0a 20 20 20 r.rep,.or.match.distance.+.4....
51480 20 69 6e 74 20 70 72 65 76 5f 69 6e 64 65 78 3b 09 2f 2f 20 69 6e 64 65 78 20 6f 66 20 70 72 65 .int.prev_index;.//.index.of.pre
514a0 76 20 74 72 69 61 6c 20 69 6e 20 74 72 69 61 6c 73 5b 5d 0a 20 20 20 20 69 6e 74 20 70 72 65 76 v.trial.in.trials[].....int.prev
514c0 5f 69 6e 64 65 78 32 3b 09 2f 2f 20 20 20 2d 32 20 20 74 72 69 61 6c 20 69 73 20 73 69 6e 67 6c _index2;.//...-2..trial.is.singl
514e0 65 20 73 74 65 70 0a 09 09 09 2f 2f 20 20 20 2d 31 20 20 6c 69 74 65 72 61 6c 20 2b 20 72 65 70 e.step....//...-1..literal.+.rep
51500 30 0a 09 09 09 2f 2f 20 3e 3d 20 30 20 20 28 20 72 65 70 20 6f 72 20 6d 61 74 63 68 20 29 20 2b 0....//.>=.0..(.rep.or.match.).+
51520 20 6c 69 74 65 72 61 6c 20 2b 20 72 65 70 30 0a 20 20 20 20 69 6e 74 20 72 65 70 73 5b 6e 75 6d .literal.+.rep0.....int.reps[num
51540 5f 72 65 70 5f 64 69 73 74 61 6e 63 65 73 5d 3b 0a 0a 20 20 20 20 76 6f 69 64 20 75 70 64 61 74 _rep_distances];......void.updat
51560 65 28 20 63 6f 6e 73 74 20 69 6e 74 20 70 72 2c 20 63 6f 6e 73 74 20 69 6e 74 20 64 69 73 74 61 e(.const.int.pr,.const.int.dista
51580 6e 63 65 34 2c 20 63 6f 6e 73 74 20 69 6e 74 20 70 5f 69 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 nce4,.const.int.p_i.).......{...
515a0 20 20 20 20 69 66 28 20 70 72 20 3c 20 70 72 69 63 65 20 29 0a 20 20 20 20 20 20 20 20 7b 20 70 ....if(.pr.<.price.).........{.p
515c0 72 69 63 65 20 3d 20 70 72 3b 20 64 69 73 34 20 3d 20 64 69 73 74 61 6e 63 65 34 3b 20 70 72 65 rice.=.pr;.dis4.=.distance4;.pre
515e0 76 5f 69 6e 64 65 78 20 3d 20 70 5f 69 3b 0a 20 20 20 20 20 20 20 20 20 20 70 72 65 76 5f 69 6e v_index.=.p_i;...........prev_in
51600 64 65 78 32 20 3d 20 73 69 6e 67 6c 65 5f 73 74 65 70 5f 74 72 69 61 6c 3b 20 7d 0a 20 20 20 20 dex2.=.single_step_trial;.}.....
51620 20 20 7d 0a 0a 20 20 20 20 76 6f 69 64 20 75 70 64 61 74 65 32 28 20 63 6f 6e 73 74 20 69 6e 74 ..}......void.update2(.const.int
51640 20 70 72 2c 20 63 6f 6e 73 74 20 69 6e 74 20 70 5f 69 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 .pr,.const.int.p_i.).......{....
51660 20 20 20 69 66 28 20 70 72 20 3c 20 70 72 69 63 65 20 29 0a 20 20 20 20 20 20 20 20 7b 20 70 72 ...if(.pr.<.price.).........{.pr
51680 69 63 65 20 3d 20 70 72 3b 20 64 69 73 34 20 3d 20 30 3b 20 70 72 65 76 5f 69 6e 64 65 78 20 3d ice.=.pr;.dis4.=.0;.prev_index.=
516a0 20 70 5f 69 3b 0a 20 20 20 20 20 20 20 20 20 20 70 72 65 76 5f 69 6e 64 65 78 32 20 3d 20 64 75 .p_i;...........prev_index2.=.du
516c0 61 6c 5f 73 74 65 70 5f 74 72 69 61 6c 3b 20 7d 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 76 6f al_step_trial;.}.......}......vo
516e0 69 64 20 75 70 64 61 74 65 33 28 20 63 6f 6e 73 74 20 69 6e 74 20 70 72 2c 20 63 6f 6e 73 74 20 id.update3(.const.int.pr,.const.
51700 69 6e 74 20 64 69 73 74 61 6e 63 65 34 2c 20 63 6f 6e 73 74 20 69 6e 74 20 70 5f 69 2c 0a 20 20 int.distance4,.const.int.p_i,...
51720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 70 5f 69 32 20 29 ................const.int.p_i2.)
51740 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 69 66 28 20 70 72 20 3c 20 70 72 69 63 65 20 29 0a .......{.......if(.pr.<.price.).
51760 20 20 20 20 20 20 20 20 7b 20 70 72 69 63 65 20 3d 20 70 72 3b 20 64 69 73 34 20 3d 20 64 69 73 ........{.price.=.pr;.dis4.=.dis
51780 74 61 6e 63 65 34 3b 20 70 72 65 76 5f 69 6e 64 65 78 20 3d 20 70 5f 69 3b 0a 20 20 20 20 20 20 tance4;.prev_index.=.p_i;.......
517a0 20 20 20 20 70 72 65 76 5f 69 6e 64 65 78 32 20 3d 20 70 5f 69 32 3b 20 7d 0a 20 20 20 20 20 20 ....prev_index2.=.p_i2;.}.......
517c0 7d 0a 20 20 20 20 7d 3b 0a 0a 20 20 63 6f 6e 73 74 20 69 6e 74 20 63 79 63 6c 65 73 3b 0a 20 20 }.....};....const.int.cycles;...
517e0 63 6f 6e 73 74 20 69 6e 74 20 6d 61 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 74 3b 0a 20 20 4c 65 6e const.int.match_len_limit;...Len
51800 5f 70 72 69 63 65 73 20 6d 61 74 63 68 5f 6c 65 6e 5f 70 72 69 63 65 73 3b 0a 20 20 4c 65 6e 5f _prices.match_len_prices;...Len_
51820 70 72 69 63 65 73 20 72 65 70 5f 6c 65 6e 5f 70 72 69 63 65 73 3b 0a 20 20 69 6e 74 20 70 65 6e prices.rep_len_prices;...int.pen
51840 64 69 6e 67 5f 6e 75 6d 5f 70 61 69 72 73 3b 0a 20 20 50 61 69 72 20 70 61 69 72 73 5b 6d 61 78 ding_num_pairs;...Pair.pairs[max
51860 5f 6d 61 74 63 68 5f 6c 65 6e 2b 31 5d 3b 0a 20 20 54 72 69 61 6c 20 74 72 69 61 6c 73 5b 6d 61 _match_len+1];...Trial.trials[ma
51880 78 5f 6e 75 6d 5f 74 72 69 61 6c 73 5d 3b 0a 0a 20 20 69 6e 74 20 64 69 73 5f 73 6c 6f 74 5f 70 x_num_trials];....int.dis_slot_p
518a0 72 69 63 65 73 5b 6c 65 6e 5f 73 74 61 74 65 73 5d 5b 32 2a 6d 61 78 5f 64 69 63 74 69 6f 6e 61 rices[len_states][2*max_dictiona
518c0 72 79 5f 62 69 74 73 5d 3b 0a 20 20 69 6e 74 20 64 69 73 5f 70 72 69 63 65 73 5b 6c 65 6e 5f 73 ry_bits];...int.dis_prices[len_s
518e0 74 61 74 65 73 5d 5b 6d 6f 64 65 6c 65 64 5f 64 69 73 74 61 6e 63 65 73 5d 3b 0a 20 20 69 6e 74 tates][modeled_distances];...int
51900 20 61 6c 69 67 6e 5f 70 72 69 63 65 73 5b 64 69 73 5f 61 6c 69 67 6e 5f 73 69 7a 65 5d 3b 0a 20 .align_prices[dis_align_size];..
51920 20 63 6f 6e 73 74 20 69 6e 74 20 6e 75 6d 5f 64 69 73 5f 73 6c 6f 74 73 3b 0a 0a 20 20 62 6f 6f .const.int.num_dis_slots;....boo
51940 6c 20 64 65 63 5f 70 6f 73 28 20 63 6f 6e 73 74 20 69 6e 74 20 61 68 65 61 64 20 29 0a 20 20 20 l.dec_pos(.const.int.ahead.)....
51960 20 7b 0a 20 20 20 20 69 66 28 20 61 68 65 61 64 20 3c 20 30 20 7c 7c 20 70 6f 73 20 3c 20 61 68 .{.....if(.ahead.<.0.||.pos.<.ah
51980 65 61 64 20 29 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 70 6f 73 20 2d 3d 20 61 ead.).return.false;.....pos.-=.a
519a0 68 65 61 64 3b 0a 20 20 20 20 69 66 28 20 63 79 63 6c 69 63 5f 70 6f 73 20 3c 20 61 68 65 61 64 head;.....if(.cyclic_pos.<.ahead
519c0 20 29 20 63 79 63 6c 69 63 5f 70 6f 73 20 2b 3d 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 .).cyclic_pos.+=.dictionary_size
519e0 20 2b 20 31 3b 0a 20 20 20 20 63 79 63 6c 69 63 5f 70 6f 73 20 2d 3d 20 61 68 65 61 64 3b 0a 20 .+.1;.....cyclic_pos.-=.ahead;..
51a00 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 69 6e 74 20 67 65 74 ...return.true;.....}....int.get
51a20 5f 6d 61 74 63 68 5f 70 61 69 72 73 28 20 50 61 69 72 20 2a 20 70 61 69 72 73 20 3d 20 30 20 29 _match_pairs(.Pair.*.pairs.=.0.)
51a40 3b 0a 20 20 76 6f 69 64 20 75 70 64 61 74 65 5f 64 69 73 74 61 6e 63 65 5f 70 72 69 63 65 73 28 ;...void.update_distance_prices(
51a60 29 3b 0a 0a 20 20 20 20 20 20 20 2f 2f 20 6d 6f 76 65 2d 74 6f 2d 66 72 6f 6e 74 20 64 69 73 20 );.........//.move-to-front.dis.
51a80 69 6e 2f 69 6e 74 6f 20 72 65 70 73 3b 20 64 6f 20 6e 6f 74 68 69 6e 67 20 69 66 28 20 64 69 73 in/into.reps;.do.nothing.if(.dis
51aa0 34 20 3c 3d 20 30 20 29 0a 20 20 73 74 61 74 69 63 20 76 6f 69 64 20 6d 74 66 5f 72 65 70 73 28 4.<=.0.)...static.void.mtf_reps(
51ac0 20 63 6f 6e 73 74 20 69 6e 74 20 64 69 73 34 2c 20 69 6e 74 20 72 65 70 73 5b 6e 75 6d 5f 72 65 .const.int.dis4,.int.reps[num_re
51ae0 70 5f 64 69 73 74 61 6e 63 65 73 5d 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 64 69 73 p_distances].).....{.....if(.dis
51b00 34 20 3e 3d 20 6e 75 6d 5f 72 65 70 5f 64 69 73 74 61 6e 63 65 73 20 29 09 09 09 2f 2f 20 6d 61 4.>=.num_rep_distances.)...//.ma
51b20 74 63 68 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 72 65 70 73 5b 33 5d 20 3d 20 72 65 70 73 tch.......{.......reps[3].=.reps
51b40 5b 32 5d 3b 20 72 65 70 73 5b 32 5d 20 3d 20 72 65 70 73 5b 31 5d 3b 20 72 65 70 73 5b 31 5d 20 [2];.reps[2].=.reps[1];.reps[1].
51b60 3d 20 72 65 70 73 5b 30 5d 3b 0a 20 20 20 20 20 20 72 65 70 73 5b 30 5d 20 3d 20 64 69 73 34 20 =.reps[0];.......reps[0].=.dis4.
51b80 2d 20 6e 75 6d 5f 72 65 70 5f 64 69 73 74 61 6e 63 65 73 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 -.num_rep_distances;.......}....
51ba0 20 65 6c 73 65 20 69 66 28 20 64 69 73 34 20 3e 20 30 20 29 09 09 09 09 2f 2f 20 72 65 70 65 61 .else.if(.dis4.>.0.)....//.repea
51bc0 74 65 64 20 6d 61 74 63 68 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e ted.match.......{.......const.in
51be0 74 20 64 69 73 74 61 6e 63 65 20 3d 20 72 65 70 73 5b 64 69 73 34 5d 3b 0a 20 20 20 20 20 20 66 t.distance.=.reps[dis4];.......f
51c00 6f 72 28 20 69 6e 74 20 69 20 3d 20 64 69 73 34 3b 20 69 20 3e 20 30 3b 20 2d 2d 69 20 29 20 72 or(.int.i.=.dis4;.i.>.0;.--i.).r
51c20 65 70 73 5b 69 5d 20 3d 20 72 65 70 73 5b 69 2d 31 5d 3b 0a 20 20 20 20 20 20 72 65 70 73 5b 30 eps[i].=.reps[i-1];.......reps[0
51c40 5d 20 3d 20 64 69 73 74 61 6e 63 65 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 69 ].=.distance;.......}.....}....i
51c60 6e 74 20 70 72 69 63 65 5f 73 68 6f 72 74 72 65 70 28 20 63 6f 6e 73 74 20 53 74 61 74 65 20 73 nt.price_shortrep(.const.State.s
51c80 74 61 74 65 2c 20 63 6f 6e 73 74 20 69 6e 74 20 70 6f 73 5f 73 74 61 74 65 20 29 20 63 6f 6e 73 tate,.const.int.pos_state.).cons
51ca0 74 0a 20 20 20 20 7b 0a 20 20 20 20 72 65 74 75 72 6e 20 70 72 69 63 65 30 28 20 62 6d 5f 72 65 t.....{.....return.price0(.bm_re
51cc0 70 30 5b 73 74 61 74 65 28 29 5d 20 29 20 2b 20 70 72 69 63 65 30 28 20 62 6d 5f 6c 65 6e 5b 73 p0[state()].).+.price0(.bm_len[s
51ce0 74 61 74 65 28 29 5d 5b 70 6f 73 5f 73 74 61 74 65 5d 20 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 69 tate()][pos_state].);.....}....i
51d00 6e 74 20 70 72 69 63 65 5f 72 65 70 28 20 63 6f 6e 73 74 20 69 6e 74 20 72 65 70 2c 20 63 6f 6e nt.price_rep(.const.int.rep,.con
51d20 73 74 20 53 74 61 74 65 20 73 74 61 74 65 2c 20 63 6f 6e 73 74 20 69 6e 74 20 70 6f 73 5f 73 74 st.State.state,.const.int.pos_st
51d40 61 74 65 20 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 72 65 70 20 3d 3d ate.).const.....{.....if(.rep.==
51d60 20 30 20 29 20 72 65 74 75 72 6e 20 70 72 69 63 65 30 28 20 62 6d 5f 72 65 70 30 5b 73 74 61 74 .0.).return.price0(.bm_rep0[stat
51d80 65 28 29 5d 20 29 20 2b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e()].).+........................
51da0 20 20 20 70 72 69 63 65 31 28 20 62 6d 5f 6c 65 6e 5b 73 74 61 74 65 28 29 5d 5b 70 6f 73 5f 73 ...price1(.bm_len[state()][pos_s
51dc0 74 61 74 65 5d 20 29 3b 0a 20 20 20 20 69 6e 74 20 70 72 69 63 65 20 3d 20 70 72 69 63 65 31 28 tate].);.....int.price.=.price1(
51de0 20 62 6d 5f 72 65 70 30 5b 73 74 61 74 65 28 29 5d 20 29 3b 0a 20 20 20 20 69 66 28 20 72 65 70 .bm_rep0[state()].);.....if(.rep
51e00 20 3d 3d 20 31 20 29 0a 20 20 20 20 20 20 70 72 69 63 65 20 2b 3d 20 70 72 69 63 65 30 28 20 62 .==.1.).......price.+=.price0(.b
51e20 6d 5f 72 65 70 31 5b 73 74 61 74 65 28 29 5d 20 29 3b 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 m_rep1[state()].);.....else.....
51e40 20 20 7b 0a 20 20 20 20 20 20 70 72 69 63 65 20 2b 3d 20 70 72 69 63 65 31 28 20 62 6d 5f 72 65 ..{.......price.+=.price1(.bm_re
51e60 70 31 5b 73 74 61 74 65 28 29 5d 20 29 3b 0a 20 20 20 20 20 20 70 72 69 63 65 20 2b 3d 20 70 72 p1[state()].);.......price.+=.pr
51e80 69 63 65 5f 62 69 74 28 20 62 6d 5f 72 65 70 32 5b 73 74 61 74 65 28 29 5d 2c 20 72 65 70 20 2d ice_bit(.bm_rep2[state()],.rep.-
51ea0 20 32 20 29 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 72 65 74 75 72 6e 20 70 72 69 63 65 3b 0a .2.);.......}.....return.price;.
51ec0 20 20 20 20 7d 0a 0a 20 20 69 6e 74 20 70 72 69 63 65 5f 72 65 70 30 5f 6c 65 6e 28 20 63 6f 6e ....}....int.price_rep0_len(.con
51ee0 73 74 20 69 6e 74 20 6c 65 6e 2c 20 63 6f 6e 73 74 20 53 74 61 74 65 20 73 74 61 74 65 2c 20 63 st.int.len,.const.State.state,.c
51f00 6f 6e 73 74 20 69 6e 74 20 70 6f 73 5f 73 74 61 74 65 20 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b onst.int.pos_state.).const.....{
51f20 0a 20 20 20 20 72 65 74 75 72 6e 20 70 72 69 63 65 5f 72 65 70 28 20 30 2c 20 73 74 61 74 65 2c .....return.price_rep(.0,.state,
51f40 20 70 6f 73 5f 73 74 61 74 65 20 29 20 2b 0a 20 20 20 20 20 20 20 20 20 20 20 72 65 70 5f 6c 65 .pos_state.).+............rep_le
51f60 6e 5f 70 72 69 63 65 73 2e 70 72 69 63 65 28 20 6c 65 6e 2c 20 70 6f 73 5f 73 74 61 74 65 20 29 n_prices.price(.len,.pos_state.)
51f80 3b 0a 20 20 20 20 7d 0a 0a 20 20 69 6e 74 20 70 72 69 63 65 5f 70 61 69 72 28 20 63 6f 6e 73 74 ;.....}....int.price_pair(.const
51fa0 20 69 6e 74 20 64 69 73 2c 20 63 6f 6e 73 74 20 69 6e 74 20 6c 65 6e 2c 20 63 6f 6e 73 74 20 69 .int.dis,.const.int.len,.const.i
51fc0 6e 74 20 70 6f 73 5f 73 74 61 74 65 20 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 0a 20 20 20 20 63 nt.pos_state.).const.....{.....c
51fe0 6f 6e 73 74 20 69 6e 74 20 70 72 69 63 65 20 3d 20 6d 61 74 63 68 5f 6c 65 6e 5f 70 72 69 63 65 onst.int.price.=.match_len_price
52000 73 2e 70 72 69 63 65 28 20 6c 65 6e 2c 20 70 6f 73 5f 73 74 61 74 65 20 29 3b 0a 20 20 20 20 63 s.price(.len,.pos_state.);.....c
52020 6f 6e 73 74 20 69 6e 74 20 6c 65 6e 5f 73 74 61 74 65 20 3d 20 67 65 74 5f 6c 65 6e 5f 73 74 61 onst.int.len_state.=.get_len_sta
52040 74 65 28 20 6c 65 6e 20 29 3b 0a 20 20 20 20 69 66 28 20 64 69 73 20 3c 20 6d 6f 64 65 6c 65 64 te(.len.);.....if(.dis.<.modeled
52060 5f 64 69 73 74 61 6e 63 65 73 20 29 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 70 72 69 63 65 20 _distances.).......return.price.
52080 2b 20 64 69 73 5f 70 72 69 63 65 73 5b 6c 65 6e 5f 73 74 61 74 65 5d 5b 64 69 73 5d 3b 0a 20 20 +.dis_prices[len_state][dis];...
520a0 20 20 65 6c 73 65 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 70 72 69 63 65 20 2b 20 64 69 73 5f ..else.......return.price.+.dis_
520c0 73 6c 6f 74 5f 70 72 69 63 65 73 5b 6c 65 6e 5f 73 74 61 74 65 5d 5b 67 65 74 5f 73 6c 6f 74 28 slot_prices[len_state][get_slot(
520e0 20 64 69 73 20 29 5d 20 2b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6c 69 67 6e 5f 70 72 69 .dis.)].+..............align_pri
52100 63 65 73 5b 64 69 73 20 26 20 28 64 69 73 5f 61 6c 69 67 6e 5f 73 69 7a 65 20 2d 20 31 29 5d 3b ces[dis.&.(dis_align_size.-.1)];
52120 0a 20 20 20 20 7d 0a 0a 20 20 69 6e 74 20 72 65 61 64 5f 6d 61 74 63 68 5f 64 69 73 74 61 6e 63 .....}....int.read_match_distanc
52140 65 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 6e 75 6d 5f 70 61 69 es().....{.....const.int.num_pai
52160 72 73 20 3d 20 67 65 74 5f 6d 61 74 63 68 5f 70 61 69 72 73 28 20 70 61 69 72 73 20 29 3b 0a 20 rs.=.get_match_pairs(.pairs.);..
52180 20 20 20 69 66 28 20 6e 75 6d 5f 70 61 69 72 73 20 3e 20 30 20 29 0a 20 20 20 20 20 20 7b 0a 20 ...if(.num_pairs.>.0.).......{..
521a0 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 6c 65 6e 20 3d 20 70 61 69 72 73 5b 6e 75 6d 5f 70 .....const.int.len.=.pairs[num_p
521c0 61 69 72 73 2d 31 5d 2e 6c 65 6e 3b 0a 20 20 20 20 20 20 69 66 28 20 6c 65 6e 20 3d 3d 20 6d 61 airs-1].len;.......if(.len.==.ma
521e0 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 74 20 26 26 20 6c 65 6e 20 3c 20 6d 61 78 5f 6d 61 74 63 68 tch_len_limit.&&.len.<.max_match
52200 5f 6c 65 6e 20 29 0a 20 20 20 20 20 20 20 20 70 61 69 72 73 5b 6e 75 6d 5f 70 61 69 72 73 2d 31 _len.).........pairs[num_pairs-1
52220 5d 2e 6c 65 6e 20 3d 0a 20 20 20 20 20 20 20 20 20 20 74 72 75 65 5f 6d 61 74 63 68 5f 6c 65 6e ].len.=...........true_match_len
52240 28 20 6c 65 6e 2c 20 70 61 69 72 73 5b 6e 75 6d 5f 70 61 69 72 73 2d 31 5d 2e 64 69 73 20 2b 20 (.len,.pairs[num_pairs-1].dis.+.
52260 31 20 29 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 72 65 74 75 72 6e 20 6e 75 6d 5f 70 61 69 72 1.);.......}.....return.num_pair
52280 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 76 6f 69 64 20 6d 6f 76 65 5f 61 6e 64 5f 75 70 64 61 74 65 s;.....}....void.move_and_update
522a0 28 20 69 6e 74 20 6e 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 77 68 69 6c 65 28 20 74 72 75 65 20 (.int.n.).....{.....while(.true.
522c0 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 6d 6f 76 65 5f 70 6f 73 28 29 3b 0a 20 20 20 20 ).......{.......move_pos();.....
522e0 20 20 69 66 28 20 2d 2d 6e 20 3c 3d 20 30 20 29 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 67 65 ..if(.--n.<=.0.).break;.......ge
52300 74 5f 6d 61 74 63 68 5f 70 61 69 72 73 28 29 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a t_match_pairs();.......}.....}..
52320 20 20 76 6f 69 64 20 62 61 63 6b 77 61 72 64 28 20 69 6e 74 20 63 75 72 20 29 0a 20 20 20 20 7b ..void.backward(.int.cur.).....{
52340 0a 20 20 20 20 69 6e 74 20 64 69 73 34 20 3d 20 74 72 69 61 6c 73 5b 63 75 72 5d 2e 64 69 73 34 .....int.dis4.=.trials[cur].dis4
52360 3b 0a 20 20 20 20 77 68 69 6c 65 28 20 63 75 72 20 3e 20 30 20 29 0a 20 20 20 20 20 20 7b 0a 20 ;.....while(.cur.>.0.).......{..
52380 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 70 72 65 76 5f 69 6e 64 65 78 20 3d 20 74 72 69 61 .....const.int.prev_index.=.tria
523a0 6c 73 5b 63 75 72 5d 2e 70 72 65 76 5f 69 6e 64 65 78 3b 0a 20 20 20 20 20 20 54 72 69 61 6c 20 ls[cur].prev_index;.......Trial.
523c0 26 20 70 72 65 76 5f 74 72 69 61 6c 20 3d 20 74 72 69 61 6c 73 5b 70 72 65 76 5f 69 6e 64 65 78 &.prev_trial.=.trials[prev_index
523e0 5d 3b 0a 0a 20 20 20 20 20 20 69 66 28 20 74 72 69 61 6c 73 5b 63 75 72 5d 2e 70 72 65 76 5f 69 ];........if(.trials[cur].prev_i
52400 6e 64 65 78 32 20 21 3d 20 73 69 6e 67 6c 65 5f 73 74 65 70 5f 74 72 69 61 6c 20 29 0a 20 20 20 ndex2.!=.single_step_trial.)....
52420 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 70 72 65 76 5f 74 72 69 61 6c 2e 64 69 73 34 20 3d .....{.........prev_trial.dis4.=
52440 20 2d 31 3b 09 09 09 09 09 2f 2f 20 6c 69 74 65 72 61 6c 0a 20 20 20 20 20 20 20 20 70 72 65 76 .-1;.....//.literal.........prev
52460 5f 74 72 69 61 6c 2e 70 72 65 76 5f 69 6e 64 65 78 20 3d 20 70 72 65 76 5f 69 6e 64 65 78 20 2d _trial.prev_index.=.prev_index.-
52480 20 31 3b 0a 20 20 20 20 20 20 20 20 70 72 65 76 5f 74 72 69 61 6c 2e 70 72 65 76 5f 69 6e 64 65 .1;.........prev_trial.prev_inde
524a0 78 32 20 3d 20 73 69 6e 67 6c 65 5f 73 74 65 70 5f 74 72 69 61 6c 3b 0a 20 20 20 20 20 20 20 20 x2.=.single_step_trial;.........
524c0 69 66 28 20 74 72 69 61 6c 73 5b 63 75 72 5d 2e 70 72 65 76 5f 69 6e 64 65 78 32 20 3e 3d 20 30 if(.trials[cur].prev_index2.>=.0
524e0 20 29 0a 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 54 72 69 61 6c 20 26 .)...........{...........Trial.&
52500 20 70 72 65 76 5f 74 72 69 61 6c 32 20 3d 20 74 72 69 61 6c 73 5b 70 72 65 76 5f 69 6e 64 65 78 .prev_trial2.=.trials[prev_index
52520 2d 31 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 70 72 65 76 5f 74 72 69 61 6c 32 2e 64 69 73 34 20 -1];...........prev_trial2.dis4.
52540 3d 20 64 69 73 34 3b 20 64 69 73 34 20 3d 20 30 3b 09 09 09 2f 2f 20 72 65 70 30 0a 20 20 20 20 =.dis4;.dis4.=.0;...//.rep0.....
52560 20 20 20 20 20 20 70 72 65 76 5f 74 72 69 61 6c 32 2e 70 72 65 76 5f 69 6e 64 65 78 20 3d 20 74 ......prev_trial2.prev_index.=.t
52580 72 69 61 6c 73 5b 63 75 72 5d 2e 70 72 65 76 5f 69 6e 64 65 78 32 3b 0a 20 20 20 20 20 20 20 20 rials[cur].prev_index2;.........
525a0 20 20 70 72 65 76 5f 74 72 69 61 6c 32 2e 70 72 65 76 5f 69 6e 64 65 78 32 20 3d 20 73 69 6e 67 ..prev_trial2.prev_index2.=.sing
525c0 6c 65 5f 73 74 65 70 5f 74 72 69 61 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 le_step_trial;...........}......
525e0 20 20 20 7d 0a 20 20 20 20 20 20 70 72 65 76 5f 74 72 69 61 6c 2e 70 72 69 63 65 20 3d 20 63 75 ...}.......prev_trial.price.=.cu
52600 72 20 2d 20 70 72 65 76 5f 69 6e 64 65 78 3b 09 09 09 2f 2f 20 6c 65 6e 0a 20 20 20 20 20 20 63 r.-.prev_index;...//.len.......c
52620 75 72 20 3d 20 64 69 73 34 3b 20 64 69 73 34 20 3d 20 70 72 65 76 5f 74 72 69 61 6c 2e 64 69 73 ur.=.dis4;.dis4.=.prev_trial.dis
52640 34 3b 20 70 72 65 76 5f 74 72 69 61 6c 2e 64 69 73 34 20 3d 20 63 75 72 3b 0a 20 20 20 20 20 20 4;.prev_trial.dis4.=.cur;.......
52660 63 75 72 20 3d 20 70 72 65 76 5f 69 6e 64 65 78 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a cur.=.prev_index;.......}.....}.
52680 0a 20 20 69 6e 74 20 73 65 71 75 65 6e 63 65 5f 6f 70 74 69 6d 69 7a 65 72 28 20 63 6f 6e 73 74 ...int.sequence_optimizer(.const
526a0 20 69 6e 74 20 72 65 70 73 5b 6e 75 6d 5f 72 65 70 5f 64 69 73 74 61 6e 63 65 73 5d 2c 0a 20 20 .int.reps[num_rep_distances],...
526c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 53 74 ........................const.St
526e0 61 74 65 20 73 74 61 74 65 20 29 3b 0a 0a 20 20 65 6e 75 6d 20 7b 20 62 65 66 6f 72 65 5f 73 69 ate.state.);....enum.{.before_si
52700 7a 65 20 3d 20 6d 61 78 5f 6e 75 6d 5f 74 72 69 61 6c 73 2c 0a 20 20 20 20 20 20 20 20 20 2f 2f ze.=.max_num_trials,..........//
52720 20 62 79 74 65 73 20 74 6f 20 6b 65 65 70 20 69 6e 20 62 75 66 66 65 72 20 61 66 74 65 72 20 70 .bytes.to.keep.in.buffer.after.p
52740 6f 73 0a 20 20 20 20 20 20 20 20 20 61 66 74 65 72 5f 73 69 7a 65 20 3d 20 28 20 32 20 2a 20 6d os..........after_size.=.(.2.*.m
52760 61 78 5f 6d 61 74 63 68 5f 6c 65 6e 20 29 20 2b 20 31 2c 0a 20 20 20 20 20 20 20 20 20 64 69 63 ax_match_len.).+.1,..........dic
52780 74 5f 66 61 63 74 6f 72 20 3d 20 32 2c 0a 20 20 20 20 20 20 20 20 20 6e 75 6d 5f 70 72 65 76 5f t_factor.=.2,..........num_prev_
527a0 70 6f 73 69 74 69 6f 6e 73 33 20 3d 20 31 20 3c 3c 20 31 36 2c 0a 20 20 20 20 20 20 20 20 20 6e positions3.=.1.<<.16,..........n
527c0 75 6d 5f 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 32 20 3d 20 31 20 3c 3c 20 31 30 2c 0a 20 20 um_prev_positions2.=.1.<<.10,...
527e0 20 20 20 20 20 20 20 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 32 33 20 3d 20 6e 75 .......num_prev_positions23.=.nu
52800 6d 5f 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 32 20 2b 20 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 m_prev_positions2.+.num_prev_pos
52820 69 74 69 6f 6e 73 33 2c 0a 20 20 20 20 20 20 20 20 20 70 6f 73 5f 61 72 72 61 79 5f 66 61 63 74 itions3,..........pos_array_fact
52840 6f 72 20 3d 20 32 20 7d 3b 0a 0a 70 75 62 6c 69 63 3a 0a 20 20 4c 5a 5f 65 6e 63 6f 64 65 72 28 or.=.2.};..public:...LZ_encoder(
52860 20 63 6f 6e 73 74 20 69 6e 74 20 64 69 63 74 5f 73 69 7a 65 2c 20 63 6f 6e 73 74 20 69 6e 74 20 .const.int.dict_size,.const.int.
52880 6c 65 6e 5f 6c 69 6d 69 74 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 69 len_limit,...............const.i
528a0 6e 74 20 69 66 64 2c 20 63 6f 6e 73 74 20 69 6e 74 20 6f 75 74 66 64 20 29 0a 20 20 20 20 3a 0a nt.ifd,.const.int.outfd.).....:.
528c0 20 20 20 20 4c 5a 5f 65 6e 63 6f 64 65 72 5f 62 61 73 65 28 20 62 65 66 6f 72 65 5f 73 69 7a 65 ....LZ_encoder_base(.before_size
528e0 2c 20 64 69 63 74 5f 73 69 7a 65 2c 20 61 66 74 65 72 5f 73 69 7a 65 2c 20 64 69 63 74 5f 66 61 ,.dict_size,.after_size,.dict_fa
52900 63 74 6f 72 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 75 6d 5f 70 ctor,......................num_p
52920 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 32 33 2c 20 70 6f 73 5f 61 72 72 61 79 5f 66 61 63 74 6f rev_positions23,.pos_array_facto
52940 72 2c 20 69 66 64 2c 20 6f 75 74 66 64 20 29 2c 0a 20 20 20 20 63 79 63 6c 65 73 28 20 28 20 6c r,.ifd,.outfd.),.....cycles(.(.l
52960 65 6e 5f 6c 69 6d 69 74 20 3c 20 6d 61 78 5f 6d 61 74 63 68 5f 6c 65 6e 20 29 20 3f 20 31 36 20 en_limit.<.max_match_len.).?.16.
52980 2b 20 28 20 6c 65 6e 5f 6c 69 6d 69 74 20 2f 20 32 20 29 20 3a 20 32 35 36 20 29 2c 0a 20 20 20 +.(.len_limit./.2.).:.256.),....
529a0 20 6d 61 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 74 28 20 6c 65 6e 5f 6c 69 6d 69 74 20 29 2c 0a 20 .match_len_limit(.len_limit.),..
529c0 20 20 20 6d 61 74 63 68 5f 6c 65 6e 5f 70 72 69 63 65 73 28 20 6d 61 74 63 68 5f 6c 65 6e 5f 6d ...match_len_prices(.match_len_m
529e0 6f 64 65 6c 2c 20 6d 61 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 74 20 29 2c 0a 20 20 20 20 72 65 70 odel,.match_len_limit.),.....rep
52a00 5f 6c 65 6e 5f 70 72 69 63 65 73 28 20 72 65 70 5f 6c 65 6e 5f 6d 6f 64 65 6c 2c 20 6d 61 74 63 _len_prices(.rep_len_model,.matc
52a20 68 5f 6c 65 6e 5f 6c 69 6d 69 74 20 29 2c 0a 20 20 20 20 70 65 6e 64 69 6e 67 5f 6e 75 6d 5f 70 h_len_limit.),.....pending_num_p
52a40 61 69 72 73 28 20 30 20 29 2c 0a 20 20 20 20 6e 75 6d 5f 64 69 73 5f 73 6c 6f 74 73 28 20 32 20 airs(.0.),.....num_dis_slots(.2.
52a60 2a 20 72 65 61 6c 5f 62 69 74 73 28 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 2d 20 31 *.real_bits(.dictionary_size.-.1
52a80 20 29 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 74 72 69 61 6c 73 5b 31 5d 2e 70 72 65 76 5f 69 6e .).).....{.....trials[1].prev_in
52aa0 64 65 78 20 3d 20 30 3b 0a 20 20 20 20 74 72 69 61 6c 73 5b 31 5d 2e 70 72 65 76 5f 69 6e 64 65 dex.=.0;.....trials[1].prev_inde
52ac0 78 32 20 3d 20 73 69 6e 67 6c 65 5f 73 74 65 70 5f 74 72 69 61 6c 3b 0a 20 20 20 20 7d 0a 0a 20 x2.=.single_step_trial;.....}...
52ae0 20 76 6f 69 64 20 72 65 73 65 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 4c 5a 5f 65 6e 63 6f 64 .void.reset().....{.....LZ_encod
52b00 65 72 5f 62 61 73 65 3a 3a 72 65 73 65 74 28 29 3b 0a 20 20 20 20 6d 61 74 63 68 5f 6c 65 6e 5f er_base::reset();.....match_len_
52b20 70 72 69 63 65 73 2e 72 65 73 65 74 28 29 3b 0a 20 20 20 20 72 65 70 5f 6c 65 6e 5f 70 72 69 63 prices.reset();.....rep_len_pric
52b40 65 73 2e 72 65 73 65 74 28 29 3b 0a 20 20 20 20 70 65 6e 64 69 6e 67 5f 6e 75 6d 5f 70 61 69 72 es.reset();.....pending_num_pair
52b60 73 20 3d 20 30 3b 0a 20 20 20 20 7d 0a 0a 20 20 62 6f 6f 6c 20 65 6e 63 6f 64 65 5f 6d 65 6d 62 s.=.0;.....}....bool.encode_memb
52b80 65 72 28 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6d 65 6d er(.const.unsigned.long.long.mem
52ba0 62 65 72 5f 73 69 7a 65 20 29 3b 0a 20 20 7d 3b 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ber_size.);...};................
52bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52c00 6c 7a 69 70 2d 31 2e 32 30 2f 74 65 73 74 73 75 69 74 65 2f 00 00 00 00 00 00 00 00 00 00 00 00 lzip-1.20/testsuite/............
52c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52c60 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000755.0001750.0001750.0000
52c80 30 30 30 30 30 30 30 00 31 33 36 36 34 37 33 36 35 34 35 00 30 31 34 36 31 36 00 20 35 00 00 00 0000000.13664736545.014616..5...
52ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52d00 00 75 73 74 61 72 20 20 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...mohammad...............
52d20 00 00 00 00 00 00 00 00 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........mohammad...............
52d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52e00 6c 7a 69 70 2d 31 2e 32 30 2f 74 65 73 74 73 75 69 74 65 2f 74 65 73 74 2e 74 78 74 2e 6c 7a 00 lzip-1.20/testsuite/test.txt.lz.
52e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52e60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
52e80 30 30 31 36 33 32 30 00 31 33 36 36 34 37 33 36 35 34 35 00 30 31 36 37 36 34 00 20 30 00 00 00 0016320.13664736545.016764..0...
52ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52f00 00 75 73 74 61 72 20 20 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...mohammad...............
52f20 00 00 00 00 00 00 00 00 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........mohammad...............
52f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53000 4c 5a 49 50 01 ef 00 10 6d fe 47 27 15 f8 22 27 f9 79 a3 cb c0 53 0a 54 9d ea 93 0e b0 93 c5 dc LZIP....m.G'.."'.y...S.T........
53020 d1 40 07 48 0b 56 e2 30 e0 39 47 7d 7f 1f 3d 90 99 92 56 05 f0 22 d3 7d b9 bb 81 c1 08 2e 0a cc .@.H.V.0.9G}..=...V..".}........
53040 e4 a6 a6 70 49 49 cd 53 ab bf c5 50 60 0b cb 53 34 f9 82 9c 00 ba df b6 cb 16 e0 4c 16 5e d7 e7 ...pII.S...P`..S4..........L.^..
53060 1c 56 f6 36 1e f0 f4 99 06 e2 54 97 c8 a1 c2 40 67 f6 7d 13 06 2a 0d c5 a0 e4 64 d5 14 8d 04 9a .V.6......T....@g.}..*....d.....
53080 88 99 90 d1 95 c1 67 ca b4 d5 30 76 7f 21 c7 6a 22 c4 11 f4 b6 1f 36 90 84 0a f8 ae 19 f5 64 1a ......g...0v.!.j".....6.......d.
530a0 f2 f3 d9 a4 eb 9b a0 72 33 26 08 6b 73 91 1f 0d d7 2f 5e 5e 8e c3 7c 57 2c 5a 2a ab 8c 80 6b ef .......r3&.ks..../^^..|W,Z*...k.
530c0 44 5a 82 bf 65 c5 99 77 28 e5 23 91 ba 13 d8 dd 49 1a 3c dd ab 81 e4 9c cb 01 02 03 12 d6 71 f1 DZ..e..w(.#.....I.<...........q.
530e0 3f 0c 69 56 22 af 77 78 43 a4 3b 4f 9c 77 a7 3d 0e b8 fd 68 4a 17 80 0f 70 c2 bf 65 29 74 ba 3f ?.iV".wxC.;O.w.=...hJ...p..e)t.?
53100 71 c5 35 29 7d 84 a5 fa 9f 43 d8 90 d8 cb 99 1c b7 9a 34 6e f9 32 87 bf 58 95 4c f8 10 52 25 71 q.5)}....C........4n.2..X.L..R%q
53120 1d 95 27 36 f6 eb ca 8e 29 01 75 c2 aa de 76 2f cc d3 b2 7e 0c 4c 91 98 85 ae 8e 65 99 6e 98 0b ..'6....).u...v/...~.L.....e.n..
53140 4b 3c fa 93 ee 1e 2b 42 c3 ab 86 7a 3a a9 47 b7 c2 f7 ef 30 59 02 c4 28 2d a5 fb 43 7e c2 f3 e3 K<....+B...z:.G....0Y..(-..C~...
53160 95 15 04 38 8d 6a 85 57 a5 89 79 0f ac 13 bd 7f 4c 3e 85 a1 44 d3 29 20 2f a3 4f 9e 83 33 b8 fe ...8.j.W..y.....L>..D.)./.O..3..
53180 ca 89 bd d7 42 07 eb 03 2f a3 e0 6b be 32 89 ef 4d 17 82 db 1d 87 9b f2 e6 57 ad d3 fa 23 1d 59 ....B.../..k.2..M........W...#.Y
531a0 c6 b7 90 c3 8a 63 19 80 2f 53 d7 1a 4e ca fc aa a0 b2 ac 88 03 00 3f 79 cb 96 f0 39 bb e5 eb 58 .....c../S..N.........?y...9...X
531c0 75 79 f1 d3 a2 e2 43 1d 62 3d 85 39 fb f3 54 ab 72 5e 3e 3b 53 cb 83 83 ba b0 d7 e1 3e a3 b6 4a uy....C.b=.9..T.r^>;S.......>..J
531e0 53 35 20 e6 60 e2 96 d7 b1 fd fb fc c0 f2 5b c8 e6 86 fe 78 ef 7d d6 84 4a 1e 82 76 6e 88 ba fa S5..`.........[....x.}..J..vn...
53200 58 f2 fe ed f8 6a 62 c1 37 22 2f 25 83 58 30 53 3a 31 43 fd 0e 72 0a ee dc 78 2e fe b0 c6 47 25 X....jb.7"/%.X0S:1C..r...x....G%
53220 89 10 fc fd 77 96 85 8d f5 a7 82 70 2a 1c eb 6e 78 4b 55 21 1b c5 b1 07 fa 3d d3 5f e0 43 e9 ad ....w......p*..nxKU!.....=._.C..
53240 30 8c 08 2a fc d4 25 1a 39 dc 8f 4a 65 db a8 e2 9b 78 17 27 51 d3 cd 03 f8 1d 11 bd cd 2e 12 aa 0..*..%.9..Je....x.'Q...........
53260 b8 74 a8 2c 50 94 08 fe ee 78 af c2 b8 33 f1 31 86 b9 b4 3d cc da 33 cc 1c ea 26 2e 73 bf 0b 13 .t.,P....x...3.1...=..3...&.s...
53280 64 fc cb e3 68 15 9c b5 65 7b a6 3a 35 09 80 2a 78 38 52 3a e5 3c 70 f5 2c 27 82 b2 3c f7 d0 16 d...h...e{.:5..*x8R:.<p.,'..<...
532a0 24 80 68 c8 40 43 b7 72 04 35 e7 cf 4e df f4 7b c0 71 e5 f4 ad 02 77 4d 03 64 79 5f 62 fc a1 1e $.h.@C.r.5..N..{.q....wM.dy_b...
532c0 3a 25 78 e8 78 90 90 db 09 ad 71 1f 73 c8 e5 6a 2a 6e ef 19 06 dc 28 00 fc a4 15 e0 b4 20 d5 64 :%x.x.....q.s..j*n....(........d
532e0 c2 37 eb 79 6a b1 d4 25 9d 87 57 4b 4a a0 a0 3a 34 28 9a 33 20 f9 c5 fc f6 9a 0a 5f 3c e0 f8 b1 .7.yj..%..WKJ..:4(.3......._<...
53300 5c 0c bb 65 58 a3 73 76 84 c9 ef 88 d7 ea 77 eb 59 3e dc 37 04 2c 75 b5 bb 28 5f 46 69 25 d0 8e \..eX.sv......w.Y>.7.,u..(_Fi%..
53320 51 cb 72 4c 8e fd 5f 1c 16 bc 1e c2 c9 31 56 51 fc 74 e5 dd 7e 31 94 2c da 5a 41 be e3 a1 6d 91 Q.rL.._......1VQ.t..~1.,.ZA...m.
53340 53 57 03 10 7a a7 01 b6 7c 69 4d 96 b9 65 49 e1 4f 35 c7 05 0f 04 62 24 5b 88 e3 e4 8a 1f cb b6 SW..z...|iM..eI.O5....b$[.......
53360 87 a5 44 18 00 46 80 5d 39 27 f1 e1 9c dd 58 f8 b0 a4 f5 c5 29 4d 0c 88 bf 74 4f 78 11 b8 fe ef ..D..F.]9'....X.....)M...tOx....
53380 21 80 c9 f3 f7 14 ba 01 a1 3c ec 54 1e 14 4f b9 54 db c7 e9 a1 e3 5d 46 2b 68 9b 4f 0d 40 92 ab !........<.T..O.T.....]F+h.O.@..
533a0 f6 cb 64 f9 8f e9 a3 f9 60 cf 08 ab 8e 03 ba 0a d1 44 bf 79 e9 3e 7b 8e 42 97 c6 89 0d 01 1f 8a ..d.....`........D.y.>{.B.......
533c0 00 ab 79 e5 37 ad e5 79 42 3f bd 2a f6 16 d7 01 65 18 15 68 c1 53 b8 4d 95 ec d2 97 90 3b 77 58 ..y.7..yB?.*....e..h.S.M.....;wX
533e0 fc 44 8d fe d1 e9 73 5e 48 2f f6 75 eb b4 49 1c e9 73 29 3b ee 67 72 e1 ee 48 de af 08 d7 8d dd .D....s^H/.u..I..s);.gr..H......
53400 67 ca de d3 d7 df a8 13 06 1c d1 c8 91 c4 c0 ef 3d c9 c5 7b 72 df 6a 18 5d d3 e0 d5 1c e9 70 4b g...............=..{r.j.].....pK
53420 40 7b 87 96 41 a7 3a c3 fb 82 43 d1 74 1c 48 18 1a 94 6f ce b7 de 92 da 7a 64 6e 31 3e 1e bf 05 @{..A.:...C.t.H...o.....zdn1>...
53440 9a 79 10 00 26 53 c3 f1 8e 2a 81 a9 81 54 3f 27 3e e5 25 71 4c cd e3 9e 55 cc ee 9c 69 73 19 e1 .y..&S...*...T?'>.%qL...U...is..
53460 46 a3 27 ae 19 60 3b 2a 71 09 32 c4 6c 8a 59 33 23 80 f5 2c e4 9a fc 51 b5 fe cf 04 80 93 15 77 F.'..`;*q.2.l.Y3#..,...Q.......w
53480 44 58 88 f9 3c 76 0d 26 23 b0 fd 87 b7 77 69 71 3e 0d 96 c9 27 77 80 36 65 23 d6 f6 39 a3 12 8d DX..<v.&#....wiq>...'w.6e#..9...
534a0 84 06 45 63 5d 39 83 90 88 29 1e 31 d8 b8 59 d1 3a 65 6a a5 f7 81 2e 2a ca b9 b0 76 1e e8 46 47 ..Ec]9...).1..Y.:ej....*...v..FG
534c0 e2 04 e0 3a e0 2f 64 02 a6 78 98 65 f8 34 0f 3f 19 ac 31 8f 50 0d 3d b3 8a fd 34 88 9b bd 33 81 ...:./d..x.e.4.?..1.P.=...4...3.
534e0 89 d1 c6 6e 6c 49 0a c7 03 40 47 7a 69 19 7c 0d c9 03 b2 10 62 27 88 c4 61 06 62 b9 99 cb 59 54 ...nlI...@Gzi.|.....b'..a.b...YT
53500 a3 24 44 e7 e5 c7 d7 85 29 83 06 14 3e 8b 6b 23 f4 6e 0c 6a 90 de a2 13 b2 dc 73 11 d0 f9 ba 09 .$D.....)...>.k#.n.j......s.....
53520 6d 62 60 2c 60 76 34 2e 93 c4 6e 91 c5 3c 8e 94 14 f7 57 c9 c3 97 0c 3c cb de f1 ca 10 b5 73 16 mb`,`v4...n..<....W....<......s.
53540 0f 2c fa 8a 7a 29 ce 23 91 c4 72 47 01 18 09 84 1a e8 c0 8b 04 00 3b 6c fc 04 fc ae 57 bb cb ee .,..z).#..rG..........;l....W...
53560 f1 7f d1 b5 91 3c 61 b8 68 bd 65 54 95 72 24 31 2f e1 a1 56 d7 da 1e f2 ae 72 92 6b 0c 2c d3 c4 .....<a.h.eT.r$1/..V.....r.k.,..
53580 d7 42 ad c7 06 f2 c0 a9 58 57 6d 92 85 89 c9 07 e1 b8 3f dc cb 8d 71 3c 3c 53 81 27 e8 8d ce df .B......XWm.......?...q<<S.'....
535a0 5e 80 39 35 cc 26 2b 7d 8e 19 b6 aa 32 53 8f 81 ce 7d dc f8 8a 69 36 94 a3 ca 0e a2 d1 8b bd 7c ^.95.&+}....2S...}...i6........|
535c0 4d cb 3e 02 89 94 04 51 b0 fe b4 82 3b 24 ec b1 82 34 4a ac 08 db 79 a7 b0 76 15 12 6b af b7 41 M.>....Q....;$...4J...y..v..k..A
535e0 cb a5 4c ad 31 f4 88 d1 e1 a0 d4 b8 77 9f 3e bb 40 29 46 7e 43 83 46 7d 57 ef 72 00 2d 48 00 a1 ..L.1.......w.>.@)F~C.F}W.r.-H..
53600 f2 77 fb 51 94 a0 e2 c2 0d 51 b8 36 31 c7 61 7a 1f 3c 75 6c cd a6 f1 e0 ed 9f 48 b2 16 2e 6e d9 .w.Q.....Q.61.az.<ul......H...n.
53620 f1 95 33 d7 c3 c5 2c f9 22 40 06 19 d8 86 e3 e2 55 a7 de 54 a4 ea 22 aa ec db 9e 46 4f 13 c8 29 ..3...,."@......U..T.."....FO..)
53640 74 48 d6 e6 f8 23 50 cd 2e bd 26 9c 2c 0f 73 a1 33 bf 6d 3a 03 d9 90 b9 28 31 94 21 96 8d fa e2 tH...#P...&.,.s.3.m:....(1.!....
53660 79 a9 6f 23 70 76 48 0c d9 c0 6d 5a 54 0b 76 ba d7 c7 c2 7a ef ac 4f 84 e6 75 71 ab aa 55 d7 5a y.o#pvH...mZT.v....z..O..uq..U.Z
53680 ec 49 a3 81 b6 7c a9 b9 c0 a1 b4 67 e7 30 e4 23 56 08 6b d3 04 98 1a db 4d 27 f0 2c 39 f5 9b 5a .I...|.....g.0.#V.k.....M'.,9..Z
536a0 c9 16 f8 24 8b ef ef a2 86 78 e9 7a 2a c4 0f 36 90 be b2 8a 2c b8 f0 42 c4 bf a0 6e 18 f6 5d 53 ...$.....x.z*..6....,..B...n..]S
536c0 46 29 5b 10 11 42 c5 1a a7 10 ba 2b d1 a1 9f e0 f1 21 72 06 46 4e 46 45 40 08 4e fa bd b9 1a cb F)[..B.....+.....!r.FNFE@.N.....
536e0 ed 61 c2 c3 71 27 e1 5e 75 64 83 b5 52 3f 8a 5c a8 7c ee 8e 83 50 9f 20 b2 9d 50 22 5b 10 49 27 .a..q'.^ud..R?.\.|...P....P"[.I'
53700 65 10 ac 1e 80 44 07 ce 35 d8 82 b7 96 6b a7 e5 b7 c2 b7 ab d8 c0 aa de 67 79 69 05 e1 cf 0d 02 e....D..5....k..........gyi.....
53720 6f 4c b7 98 f1 bd b8 f2 72 91 ee 7d e4 3e 9b ed e7 fe cc ed 99 d0 e1 b4 4f 9d 50 cb 71 b0 25 06 oL......r..}.>..........O.P.q.%.
53740 66 c8 61 6a 53 73 0a 90 36 45 33 44 67 c2 09 b5 5b f6 58 bc ea 0f ff 8f c1 c4 8c 78 17 4d 94 a8 f.ajSs..6E3Dg...[.X........x.M..
53760 97 89 15 95 d6 b9 9a 92 aa 52 40 3c 77 f5 4a a4 f8 d9 2f 58 d4 4b c9 55 db b0 1b 5b c3 89 f9 74 .........R@<w.J.../X.K.U...[...t
53780 51 d3 de d8 c7 67 48 04 7b 30 62 e5 f8 8d 48 4e 32 9b 71 00 7e e4 d9 59 24 33 78 6d 6a 7d d9 6a Q....gH.{0b...HN2.q.~..Y$3xmj}.j
537a0 e2 31 ee 2a f4 de c1 2c 15 7e 9b 61 65 61 34 bc 51 b5 b8 ea 9a 3c 94 2b 90 26 3c 67 c5 0a 3c 53 .1.*...,.~.aea4.Q....<.+.&<g..<S
537c0 9f 6f 6a 55 24 9a 6c be 6d ac 0c 8f dd 9b fa 1f 6e 91 de 14 ec 5c d2 86 e7 06 8e 0c d3 ab 69 20 .ojU$.l.m.......n....\........i.
537e0 93 58 f7 09 39 18 b9 42 97 dd 7b 81 51 49 27 c6 14 15 71 d8 a1 f4 ed d6 ee 0d 6a 83 48 0a f3 19 .X..9..B..{.QI'...q.......j.H...
53800 ea 11 d8 43 f2 12 58 9a d8 d5 f8 cb 77 2e c8 a5 e1 b3 74 a1 9e 43 f1 5a e1 c7 bd ed d6 6d eb 96 ...C..X.....w.....t..C.Z.....m..
53820 d5 25 92 a7 2e 96 e2 d7 a6 90 0e 08 10 32 58 d5 cd 23 0e 7b ee ec 8d 8f d5 65 00 e0 0a e2 a4 c1 .%...........2X..#.{.....e......
53840 1e f7 8b 4e ee bd 6c 15 19 92 87 99 7b b0 2b 59 65 3f 29 27 5d 1c e0 49 db 5d d7 a3 6a 6a 4d 84 ...N..l.....{.+Ye?)']..I.]..jjM.
53860 ea 59 c5 a5 52 3b fc 48 1f 56 cf 38 b6 7d b7 fe f5 ce 60 39 c9 52 11 c3 3a cf b5 fc f0 7b f8 8e .Y..R;.H.V.8.}....`9.R..:....{..
53880 89 eb b0 12 9a 0f 52 6f f7 ba da b0 9a cf 48 1f a3 81 20 7d f7 b5 2c 2c 36 fe e1 6b 8d fa 6f 16 ......Ro......H....}..,,6..k..o.
538a0 28 b8 bf 7c cc 16 0f 70 2b 5d b3 90 7e c4 fb be a9 83 b5 15 52 a3 04 f6 f4 85 07 51 35 f4 27 0b (..|...p+]..~.......R......Q5.'.
538c0 ee 23 86 e4 fa ca 74 87 21 9d 97 fa 4f 9f 40 0d fc a3 5b c4 59 cb 10 fb 70 54 1c b7 16 c8 35 5d .#....t.!...O.@...[.Y...pT....5]
538e0 f3 a8 ab 3d fb e9 08 c8 ce 07 b9 99 8f e4 f0 81 ad 7c 22 71 8a 7b 9d c1 39 57 ee ab dd b4 a7 7b ...=.............|"q.{..9W.....{
53900 fa ab 49 88 0a 7c 22 2d fa 5d 8e c2 89 0e 2c d1 3b f2 56 93 b2 9d 68 11 f0 f6 a0 19 65 08 2b 83 ..I..|"-.]....,.;.V...h.....e.+.
53920 f8 b5 80 fc 35 cf 1f fd 53 f1 20 6b a4 d3 d2 5c 0a 07 d3 62 3b 12 23 91 39 c1 5f 9d 47 26 84 6c ....5...S..k...\...b;.#.9._.G&.l
53940 bf a1 59 45 a9 4c aa c5 bb 37 22 80 ad 55 c0 13 e7 45 d3 18 c0 2b d8 b2 f6 cc 79 e8 ba 63 32 92 ..YE.L...7"..U...E...+....y..c2.
53960 77 e8 b9 01 4c bb 05 9a d5 68 d4 b7 56 bd b0 b9 de 0d 6e a6 d1 b2 ed d4 00 26 50 75 cc 38 e4 ff w...L....h..V.....n......&Pu.8..
53980 9d 88 75 9c 1b a8 0c 89 08 8e 10 30 c9 4f 58 71 a5 aa 2d 16 14 20 33 67 0f d0 a7 58 bc 72 6f e6 ..u........0.OXq..-...3g...X.ro.
539a0 57 19 4b 5c 6c 26 44 3d 57 04 48 ea 10 d6 3a 01 28 4e ec f2 c3 56 59 11 50 32 a9 98 b0 81 2e 77 W.K\l&D=W.H...:.(N...VY.P2.....w
539c0 d7 d0 32 6c 56 4f 44 be bf 45 40 dd 6b 39 e8 9e 21 c5 0c d9 73 2f c1 a3 b8 85 3b 22 42 a9 18 ec ..2lVOD..E@.k9..!...s/....;"B...
539e0 09 2f cd fe fd d8 34 f9 2e 06 ab 6c e4 77 f2 5a d1 57 42 3c c7 83 65 9e 58 91 eb 28 1f 09 1c 77 ./....4....l.w.Z.WB<..e.X..(...w
53a00 55 43 34 82 1c 4e 88 39 47 f4 55 8f 56 63 2e e8 55 fe b8 ad d4 0e 2a 4d d0 9a 4c 0c 95 cd c8 5d UC4..N.9G.U.Vc..U.....*M..L....]
53a20 57 a2 e7 7c 2a f4 68 ea 02 41 e2 64 e7 01 a8 3e d9 73 44 a0 b1 17 fd e7 34 e8 45 bc 63 2a c5 28 W..|*.h..A.d...>.sD.....4.E.c*.(
53a40 59 bf 9c 20 45 64 54 c8 51 31 48 88 01 3f ba e3 a2 71 92 55 50 6a 79 b1 05 13 9a fb 0b 42 28 01 Y...EdT.Q1H..?...q.UPjy......B(.
53a60 37 83 64 27 12 c6 b0 10 84 17 e5 11 86 b3 63 52 41 a6 a8 52 1a af 00 04 ac 1d 8a 8c 48 b5 f4 50 7.d'..........cRA..R........H..P
53a80 93 f7 42 60 ee 08 af f1 a0 3e 11 9d 69 39 b4 cc 32 a4 92 15 b7 7d ca c7 14 d3 75 d6 39 b5 0d 84 ..B`.....>..i9..2....}....u.9...
53aa0 0d 5f 56 b2 15 33 19 f9 69 82 4b fa af 5e f8 a7 37 09 fb aa 64 f2 c9 f5 f1 07 53 33 7a b9 e6 ac ._V..3..i.K..^..7...d.....S3z...
53ac0 1a ad cf 41 65 36 00 29 4a d4 fc 77 a2 59 05 75 e3 21 52 f2 39 dd ef f6 6b 8b 2f 01 a4 76 e8 af ...Ae6.)J..w.Y.u.!R.9...k./..v..
53ae0 66 f2 d6 b0 21 18 e3 c8 53 53 c1 d5 8b cc 0f 5a 99 cf b3 ba 15 f7 fa 92 e0 bb 29 9f e8 2f e7 80 f...!...SS.....Z..........)../..
53b00 9d 11 76 1d de 4f 71 6c 4d 63 4a 8f b6 54 cb 37 a9 48 5c 57 ca a0 4c f4 bc 9f 0b 58 ec 19 27 a7 ..v..OqlMcJ..T.7.H\W..L....X..'.
53b20 40 de 9f f1 59 55 1c de 8f 0f 87 97 56 4c d9 b9 d5 0f 2a d4 74 f3 c2 1a b2 a4 58 68 a8 46 aa 22 @...YU......VL....*.t.....Xh.F."
53b40 82 35 52 36 9b 5a e5 2b d7 1e 4e 2a 29 c2 b9 c5 d9 82 69 b9 28 b8 fe 34 0c 0a f7 84 06 50 bb a0 .5R6.Z.+..N*).....i.(..4.....P..
53b60 ad 9f 7d 73 0b d2 8b e1 74 c6 9b c0 f1 f2 19 b8 3f 40 59 e1 29 2d 4a a1 65 a1 f9 ab cd 9b eb da ..}s....t.......?@Y.)-J.e.......
53b80 30 26 a7 16 36 2f 7a bb 94 9c 25 06 4d 5a 8d e4 11 82 a3 4c d5 74 90 d6 4f e3 3a 8a 2e 1f 15 47 0&..6/z...%.MZ.....L.t..O.:....G
53ba0 bf 0b 00 d3 75 d6 69 ad 90 1d ee a5 51 8b 68 5f 39 4d de 2b a4 ae 1c c0 a2 b4 ce 65 d0 a6 90 b8 ....u.i.....Q.h_9M.+.......e....
53bc0 90 52 8c 8c 27 63 31 76 81 88 21 7a 67 75 f1 cf 5b 94 dc 3f fc 69 73 9e 21 36 9e 59 76 1f 9a 3c .R..'c1v..!zgu..[..?.is.!6.Yv..<
53be0 d0 76 d9 2e a4 23 07 2c da c5 df 4c dc 41 fa ef 18 4c 21 ce b8 f4 73 23 96 2b 78 b9 5f 23 f0 a8 .v...#.,...L.A...L!...s#.+x._#..
53c00 6d b6 ba fa 5a 53 aa ea 5d e3 c6 21 f4 d0 88 0e 04 c2 9f f4 28 4a 42 fb 87 23 f3 91 5e 82 3d 84 m...ZS..]..!........(JB..#..^.=.
53c20 ec f0 dc a9 0c 9d b8 ee 85 3b 58 c4 b8 19 34 28 01 47 a2 d6 3b cf fd fb 18 fd 8d 78 11 44 7f 04 .........;X...4(.G..;......x.D..
53c40 6d aa 66 57 32 bc 1a 39 c4 97 ba 9e 74 6c 9f 5c 60 a5 b6 92 f3 89 72 27 d4 f0 18 aa cd f2 b9 8f m.fW2..9....tl.\`.....r'........
53c60 30 8e d1 f6 a0 ac 69 a0 67 b3 5d 90 88 90 ec 66 76 74 f7 c6 a7 53 8f 47 fb 98 e6 14 c8 a1 1b 36 0.....i.g.]....fvt...S.G.......6
53c80 e2 58 bc b8 5d 87 ab f7 3c 16 63 b9 db 13 55 16 9e 88 f3 a3 2f 5c 03 5c 97 0d b2 e0 61 9d 73 83 .X..]...<.c...U...../\.\....a.s.
53ca0 7d 4b 89 41 fd 60 b7 23 91 0f 5b e3 46 93 9d 69 61 38 cb a5 1f 18 f0 8b 60 5a 4d 92 a6 4b c4 dd }K.A.`.#..[.F..ia8......`ZM..K..
53cc0 3d 01 5b c8 8c 3d 69 76 ed 07 ac 3c 86 fb af ef 11 13 d9 ad 63 2c 1b b2 8f bc b0 97 97 e4 b8 c7 =.[..=iv...<........c,..........
53ce0 f3 05 5a d1 c0 68 e5 3a fe 3f 78 e5 ad ca 5d 10 bf 1a 8b 82 4a 10 8c 4a f0 f3 4e db 3f 43 0d 35 ..Z..h.:.?x...].....J..J..N.?C.5
53d00 60 19 39 f1 9b 5e 65 f5 fc 97 ce 79 42 ee 57 cb c1 2b 49 42 ee 7e 00 f1 b3 ba 2e d3 fc d0 26 14 `.9..^e....yB.W..+IB.~........&.
53d20 dc 71 7f 1a 2c 10 4c ef 91 c6 ef 7d 60 d8 2f 16 19 34 2d 78 88 62 bd c1 30 21 fc 1d 10 11 8d 47 .q..,.L....}`./..4-x.b..0!.....G
53d40 5a 51 83 52 fb 56 26 57 f8 b7 fb 98 c8 8f 79 f8 ef ce d6 86 5a c0 b6 6e 8d 09 b8 1d 74 12 91 8b ZQ.R.V&W......y.....Z..n....t...
53d60 a2 e2 ea e0 31 e4 e6 fc c5 5f b8 b8 da 41 aa 59 17 b3 ca 67 40 a7 7c 2b dc ee 20 3e 3a e8 1a d2 ....1...._...A.Y...g@.|+...>:...
53d80 10 2e c7 3d e8 ef 03 05 53 d7 05 f8 72 27 f4 a0 54 c8 75 4f ba 32 44 54 09 9b 30 80 b1 22 f6 a3 ...=....S...r'..T.uO.2DT..0.."..
53da0 a5 85 e2 5f e2 37 0d 32 63 e6 98 5a 0b 27 4e c6 f7 0e 78 7d 0c 82 72 87 e7 73 8e f9 95 73 2a 67 ..._.7.2c..Z.'N...x}..r..s...s*g
53dc0 21 8f 2e d5 d2 ad 09 a7 52 20 9f 31 a1 f3 1e ca 81 fa 14 21 92 bc ad 38 d4 c0 e2 4c e1 d9 3e de !.......R..1.......!...8...L..>.
53de0 51 af c2 ed 30 15 47 fc 51 6c bd 08 74 2d 22 17 2d 7c d4 75 a7 e9 3f 3f e0 7f b3 09 ae f1 c9 1b Q...0.G.Ql..t-".-|.u..??........
53e00 2c ad 79 e0 a9 73 d7 27 22 f9 df b9 17 05 ec 99 c6 11 94 ef 01 61 ac 48 80 8b 8f d9 b9 f6 65 a7 ,.y..s.'"............a.H......e.
53e20 18 1a 23 21 e5 75 f8 e2 7f 60 30 ee 27 eb f3 94 c5 4d 8b b5 96 bf c8 05 bf 22 4a 4f 54 ed 6c 30 ..#!.u...`0.'....M......."JOT.l0
53e40 ab 7d dd 5d 9e a9 12 bd df 56 69 e5 55 c4 5f 66 b2 d0 e0 07 3b fb 30 ec c0 ba 5a 22 7a 41 cf 53 .}.].....Vi.U._f....;.0...Z"zA.S
53e60 6d 1e 2f 16 7f d8 1a f4 55 27 b3 62 df e2 d9 c8 e9 d0 da 6f ce 87 3f f9 f5 79 9b 1b 09 d0 94 36 m./.....U'.b.......o..?..y.....6
53e80 81 eb ac 1e ea 84 32 6f cf 0a cb 6d f7 eb 09 8b 9e 5c ac 92 8d c8 a5 d9 7c 3f ca 91 38 e0 9b 4c ......2o...m.....\......|?..8..L
53ea0 8d b7 0d 27 c6 e6 ed 41 09 7b 94 0f 83 de eb 57 11 fa 91 9c 6b 25 05 7f 3e 0d b1 cb df d8 66 10 ...'...A.{.....W....k%..>.....f.
53ec0 79 00 e1 bf 55 3e b5 07 4b f2 f2 3a a6 17 4c 16 63 9d 46 3c 5c 1b a3 06 5c b9 83 91 ce e8 c7 3d y...U>..K..:..L.c.F<\...\......=
53ee0 2a ae 19 1b f6 c2 a9 14 d3 24 7b de e6 07 7b 23 86 bb f8 13 52 98 b3 df 61 ad 71 a0 2f 2e 61 f2 *........${...{#....R...a.q./.a.
53f00 37 39 c1 e1 c8 8d e3 c2 db 34 b7 53 5c 72 60 46 7a e9 a7 91 56 74 f3 be ac 70 a3 61 e4 a2 ab 79 79.......4.S\r`Fz...Vt...p.a...y
53f20 00 b2 e3 46 91 a3 a4 16 81 a0 cb 55 7a f1 f5 9b c9 0d 44 97 53 2e c5 86 a2 56 ce 11 fc 7f 37 33 ...F.......Uz.....D.S....V....73
53f40 68 08 33 ff 5d 58 d8 00 d9 9e 6a b3 d1 65 ec b9 7d 1d 57 36 fa 31 15 77 43 af a5 6d e5 08 10 3d h.3.]X....j..e..}.W6.1.wC..m...=
53f60 0d d9 3d e8 81 3c 54 d5 d4 0b b7 41 ea 00 56 2e b1 74 aa 14 93 d3 c4 29 d9 7a ea b5 15 77 db c3 ..=..<T....A..V..t.....).z...w..
53f80 17 64 44 42 56 e5 39 b5 db be 69 b7 5a 9c b3 eb 64 19 a6 34 48 7f 05 63 4f fa e1 b1 17 9d 61 ed .dDBV.9...i.Z...d..4H..cO.....a.
53fa0 4a e7 f0 05 26 a8 59 2b e9 e5 4a 33 d2 8f 88 37 ba 3b 58 0a 1d 08 29 03 17 fd 83 db 55 46 e3 82 J...&.Y+..J3...7.;X...).....UF..
53fc0 54 36 41 ad 27 07 cc b5 e2 a3 e1 03 2b bb 1e c6 c1 c4 82 d1 ef 22 85 25 92 bd 3b f7 ab d1 0f 0e T6A.'.......+........".%..;.....
53fe0 f5 d5 8e bc 88 33 33 f6 d7 53 1d e5 dd 36 bb 70 cc 90 2d 2a 0a 4d 72 37 2e f7 4d c7 28 70 b8 48 .....33..S...6.p..-*.Mr7..M.(p.H
54000 73 3a c3 e7 3b 47 f1 cb df 9b c6 26 19 78 77 77 cb a1 e3 bb ae b3 c5 76 77 4e 5e 87 80 ea ca 48 s:..;G.....&.xww.......vwN^....H
54020 25 03 f8 13 8c bc 92 c9 a7 cb a0 0c 57 30 82 3d d2 f0 a1 1f 13 a8 de a4 66 5b d6 76 aa 51 04 74 %...........W0.=........f[.v.Q.t
54040 dc 7c 8b ae 9e 32 66 a4 e7 83 b5 2e 17 1f f9 18 69 3f cd 04 15 68 30 c0 0f f4 b1 bd a5 6c d8 e9 .|...2f.........i?...h0......l..
54060 2d c9 bf cc 29 f4 23 de 4d c0 0c 3a 8f 21 b4 29 89 04 e4 99 f5 e0 71 c7 85 76 84 d0 e2 ef 8d 56 -...).#.M..:.!.)......q..v.....V
54080 73 6c 5e 6b 49 57 f7 8e e1 61 6c 51 dc 11 c5 bb e6 c6 ed 55 17 95 d7 b3 db e6 27 b0 16 4b a8 23 sl^kIW...alQ.......U......'..K.#
540a0 5c 7e 41 64 d9 aa e9 29 de e4 49 35 97 df 96 b8 dd 83 65 83 d3 cd 9c 14 df f1 b5 7e 4e 69 fe d0 \~Ad...)..I5......e........~Ni..
540c0 fa 4b 15 84 ab 09 a2 1d ea a8 aa cf e0 21 73 ba 45 91 65 5c 98 a0 d3 59 58 3a 1d e1 5f a7 69 8e .K...........!s.E.e\...YX:.._.i.
540e0 d0 57 f3 fc bb c9 dd 6c df 1c 1f 19 25 05 5f fa 81 85 f4 7f 1c 5b 1c e5 be c5 9b b3 8b b5 3a 21 .W.....l....%._......[........:!
54100 b8 c7 58 7b 44 56 c8 c1 f0 ad ef 3a 77 47 4b 55 43 b9 fc 9a 0d c5 8c ef 8f 7e e7 b5 57 45 04 e5 ..X{DV.....:wGKUC........~..WE..
54120 45 8e 60 d5 fe 6a ab 03 68 8c ad da 7e 1b b0 aa 88 90 92 09 e0 3b e6 4d 31 c6 f7 d6 fd d5 af a1 E.`..j..h...~........;.M1.......
54140 ae 72 4e 54 be b9 8e 03 12 38 f2 ce 2d 3c ea bc b4 29 e2 90 17 73 77 6a e6 fd ef 2a 4c ab 72 87 .rNT.....8..-<...)...swj...*L.r.
54160 b4 7d bc 01 d5 59 bb 03 b3 b1 6a ef 50 14 e5 7a c1 63 16 7b 53 8b 6d d1 a1 20 e7 50 2b 63 b4 1e .}...Y....j.P..z.c.{S.m....P+c..
54180 41 d1 a7 b6 08 0e 14 81 24 1f 8f 23 01 3a d1 bb 47 fc 2e b6 81 f0 fe 30 78 3d 05 bc 73 b0 b7 16 A.......$..#.:..G......0x=..s...
541a0 2d 1b c0 c2 7d 9c e9 2b f5 55 d7 88 29 2f a2 a5 96 50 1c f1 22 1e f2 cf 82 84 c8 61 12 e3 60 eb -...}..+.U..)/...P.."......a..`.
541c0 9e d0 09 a7 98 79 08 cc 0b f9 19 fa 9c 82 87 e6 6d 68 37 cb 6e 30 00 20 bd 78 12 2b d0 27 1f 76 .....y..........mh7.n0...x.+.'.v
541e0 ee 59 5b 9f 0c cf 40 11 71 b1 74 c7 41 3f 63 9f 00 a7 0a 31 0d c9 56 99 67 88 42 d7 4e 17 0a 4d .Y[...@.q.t.A?c....1..V.g.B.N..M
54200 01 d4 a1 cb 12 8f e9 ac 34 b2 23 76 11 8c 4d f8 55 ba 3f 32 f9 07 21 7a ae 91 be ba 97 98 ac 33 ........4.#v..M.U.?2..!z.......3
54220 fe 65 89 74 ed 75 33 31 05 79 e0 d1 dd 7c e4 8f 69 a1 35 18 40 44 86 34 0e 6b 54 72 07 cb 2e bd .e.t.u31.y...|..i.5.@D.4.kTr....
54240 e1 8c 7e 96 bf 60 66 1d d5 23 65 0f 59 1e 8c 03 be 78 b3 1e d2 dd 86 ec 03 2d f8 88 d6 3f 24 3a ..~..`f..#e.Y....x.......-...?$:
54260 ce 91 e7 ba 4a 27 c5 e5 b9 91 5c 35 aa 23 15 7b dc d0 ab 9d f6 5d bb 98 70 14 de 90 1a 44 c0 41 ....J'....\5.#.{.....]..p....D.A
54280 59 eb e2 26 7a 85 79 be 56 80 7c dd 15 25 f9 9d 05 f7 af dc fb 8b cc a7 0c a5 d3 ba f5 0e 35 02 Y..&z.y.V.|..%................5.
542a0 00 49 35 68 ca 51 82 d0 6b 68 15 ce 9c c9 bc 16 88 3c 47 78 a6 4c 29 2f d9 c6 ee 5d 57 7f 9e b6 .I5h.Q..kh.......<Gx.L)/...]W...
542c0 57 17 6a 8e 12 70 11 c8 13 1d 3d 58 92 81 23 06 96 2b ea 93 55 ff 92 c9 3f e5 1e bf 2b 30 21 f3 W.j..p....=X..#..+..U...?...+0!.
542e0 48 72 0f a8 fc 26 51 73 c9 47 63 16 4d 15 09 50 f6 4b dd e5 8d 0f 28 32 e8 8b a2 c4 17 8e e7 06 Hr...&Qs.Gc.M..P.K....(2........
54300 43 6a ee f1 f8 d0 0f a3 8b ea 17 9a e8 6d b3 7e 7f 59 28 bd 91 64 a9 7e 39 35 fa 55 f3 d7 6c 4d Cj...........m.~.Y(..d.~95.U..lM
54320 79 a9 ae 99 9b 8f f7 60 fa c5 91 ba 72 10 8f c0 6d 0e b4 34 b3 a7 44 78 13 73 33 5d 19 71 66 e2 y......`....r...m..4..Dx.s3].qf.
54340 ed f7 1e da 19 2a dc 9e 5d 53 87 21 b7 ab 90 7d 14 b4 5d 24 4f c6 23 67 45 d0 07 e2 10 b2 4e 05 .....*..]S.!...}..]$O.#gE.....N.
54360 1a 05 3a 8a ec d7 db 3a d4 92 de 45 95 4c 34 32 29 05 d2 45 a9 07 02 25 f4 a5 03 e8 7e ae 8c 60 ..:....:...E.L42)..E...%....~..`
54380 e5 90 b6 95 19 f6 b7 2e 3f 48 0e e1 98 63 41 da ae 6e 2e 9d 08 5c a4 eb cc 08 c2 20 b5 75 03 3a ........?H...cA..n...\.......u.:
543a0 55 7f 1b 9a da 08 2f bf 70 f0 81 4b 5d 32 df 0b 68 ed ce cd ab c5 73 02 bb 9b 8f 91 fc 8c 2a 90 U...../.p..K]2..h.....s.......*.
543c0 b9 27 0c 4e c2 bf c7 34 a7 99 12 8b 10 a6 77 2b 3e 61 37 f6 23 b3 07 3b 91 18 b4 69 48 e0 18 95 .'.N...4......w+>a7.#..;...iH...
543e0 01 1f 3f da 4a d6 c2 6c e1 b6 d8 48 77 3f 37 77 8d ef af a0 0e 45 d2 c2 e3 8c 14 f9 9f b8 80 32 ..?.J..l...Hw?7w.....E.........2
54400 77 e6 fe 2c 5c 53 5e ef 90 60 ac dc c0 45 c4 15 6b bd e4 4c 8f f5 63 79 89 7b 47 7a 95 96 1c 06 w..,\S^..`...E..k..L..cy.{Gz....
54420 12 c8 52 86 49 ba 1c 76 1b d3 57 ff 16 55 34 0c a4 90 4b ae eb 39 c4 ec c7 56 8b 6a 7d d0 3a e3 ..R.I..v..W..U4...K..9...V.j}.:.
54440 f3 d3 77 cf c2 b9 22 ef e4 55 b7 90 bb 37 a3 f1 3a 60 32 65 33 b2 71 21 7f 6d c9 48 8b 4c 97 64 ..w..."..U...7..:`2e3.q!.m.H.L.d
54460 ac 84 bd ea 2c 1f 78 98 d1 1f ae f0 8c a1 2a fc 8a 16 56 4f 86 9e 23 66 35 b8 9c c9 ef 66 ef b9 ....,.x.......*...VO..#f5....f..
54480 06 1d 8d 9e da 74 2a ef c9 39 b2 13 14 1a 4e 98 27 9c 0e b8 d1 be 41 85 4a 12 32 6f 5d 38 09 8a .....t*..9....N.'.....A.J.2o]8..
544a0 20 ca c0 e1 de 75 4f 22 0e c0 48 61 5c bb 91 69 7c 73 6f 48 d8 d5 c2 a0 dc b0 8c 72 b3 33 7e 2b .....uO"..Ha\..i|soH.......r.3~+
544c0 d3 6f 0c af 94 7c 30 1a bf ff c4 24 ac 20 2c 97 72 ee 0f 32 27 3b b8 a3 db 8d 15 58 f1 c8 cf 83 .o...|0....$..,.r..2';.....X....
544e0 3a 33 39 36 08 39 0b 17 9b e9 b0 f3 09 35 4e ed 9d bb b7 e0 be e0 f5 b4 ab a1 32 30 dc 57 d7 d8 :396.9.......5N...........20.W..
54500 21 9e 11 ce aa fc 1d e0 72 64 e2 f8 50 ea 9b c9 ca b3 52 54 0e cb c9 11 0c c6 5e a0 26 ff 86 fb !.......rd..P.....RT......^.&...
54520 b4 93 b1 bb bd c2 db d1 f7 f2 80 6d bb 1a 37 e7 2c c2 8c cc 8e d6 7d 5f a7 dc 1b e6 43 53 0a 25 ...........m..7.,.....}_....CS.%
54540 48 f0 21 ff 59 47 39 b3 b8 49 97 50 32 31 de b7 68 f9 5f e3 09 2e b6 3f 0c a1 4d 48 53 dc 79 fa H.!.YG9..I.P21..h._....?..MHS.y.
54560 5a 3c 8e 1e 0d eb 9d 09 14 5a e7 f0 99 44 f6 5c e7 97 cf ea 55 95 66 9f ed 77 d6 b1 ca 25 df 29 Z<.......Z...D.\....U.f..w...%.)
54580 5b 08 ba a2 f4 e2 bc 04 94 71 f9 6e d7 da 82 ee e9 32 b1 87 98 a7 4a b5 c6 fb 4e 67 70 6c 07 c0 [........q.n.....2....J...Ngpl..
545a0 47 f2 37 22 80 48 dc c9 59 b5 64 cd c6 54 5c 6c 27 22 4c f5 ba 6e b8 cc ff 23 50 2a 02 69 15 b9 G.7".H..Y.d..T\l'"L..n...#P*.i..
545c0 97 9d 8f bb b7 cc 2a c2 52 9c 77 d3 78 c0 ff 4e d8 ab d9 f1 ba ff 4a 5f 27 38 02 63 ab 37 bd 6f ......*.R.w.x..N......J_'8.c.7.o
545e0 54 0e 86 b5 ae 33 fd 2c 74 4a 42 4f 57 e1 1c ca 1e a8 20 5d a5 f1 33 3d c8 86 04 1f f9 4e ec 0f T....3.,tJBOW......]..3=.....N..
54600 ec 9b f3 86 52 67 39 d3 c3 0a 4b 8a 80 9f 5c 5f 2c c4 d4 b2 be e9 36 45 4a 4b 58 24 cd 2e 7d 90 ....Rg9...K...\_,.....6EJKX$..}.
54620 d4 33 92 00 8c 34 b5 13 7f b3 cc 70 f4 61 50 fc 9f e4 7a 38 fe 50 ae c0 87 a6 75 8e aa fd 9c 94 .3...4.....p.aP...z8.P....u.....
54640 80 75 47 50 6d dc 0d 7b 7e ff 37 b8 ec 39 68 2f a1 3d bd 78 96 5b 13 8a 2f 93 65 64 ea 6a 3c fc .uGPm..{~.7..9h/.=.x.[../.ed.j<.
54660 6b 64 03 c5 2f 81 5c 28 44 74 b3 c5 27 2d 56 5f 7a a8 13 ea cc 16 21 80 31 a2 4f 1c 92 4d 1c f6 kd../.\(Dt..'-V_z.....!.1.O..M..
54680 d6 92 20 a1 0a de 90 8c e2 f4 e4 10 c1 26 96 0f 05 c6 96 ff b5 1f f7 84 82 d7 85 4a 77 dd ce e2 .............&.............Jw...
546a0 b8 ec 6f 94 b2 fb 04 15 34 b6 88 04 ee bf 5e c1 b2 c2 b4 b1 47 72 f8 41 89 c0 1a ba bc 70 87 85 ..o.....4.....^.....Gr.A.....p..
546c0 38 82 7f bd bf b4 e1 2f b0 f4 5d b4 47 bc fb fa 32 28 f5 57 78 e9 a5 a8 01 96 84 b5 96 36 58 36 8....../..].G...2(.Wx........6X6
546e0 54 75 25 2b 6a a5 2b 61 40 dd 7b 22 06 47 ed cc d1 28 18 5a 0d 8f af 4b 35 63 31 47 93 a6 b4 6b Tu%+j.+a@.{".G...(.Z...K5c1G...k
54700 78 21 f3 ed 7e 07 ed 0c 3e 13 2c 77 9b d5 c4 0e f0 fe 58 d2 ad e6 33 98 4c b2 0d ca 1a 35 3e ba x!..~...>.,w......X...3.L....5>.
54720 3f 90 f2 ba d2 91 d5 f7 09 46 f7 56 05 bf 6e 8a 5d 88 7d ed 3b 4d b9 eb cf 53 ea e6 6c 44 21 72 ?........F.V..n.].}.;M...S..lD!r
54740 96 45 71 b5 b6 0b 26 2a 0d 64 cf ab bc 07 ed 9b f2 e7 c0 6e b6 31 8f 49 ec 7d 73 0c 2a 23 60 19 .Eq...&*.d.........n.1.I.}s.*#`.
54760 07 45 e7 87 37 fd 2d d6 49 17 0f cf e8 38 2a 4b 59 a1 d7 07 87 a2 e9 65 fe 20 ef 52 11 d7 7b bb .E..7.-.I....8*KY......e...R..{.
54780 92 4c a8 14 a8 70 d5 13 8a 34 58 64 0b f7 21 d9 a8 d7 2e fd 2f 22 07 90 4f 2b c7 c5 5c fd 11 9a .L...p...4Xd..!...../"..O+..\...
547a0 97 2b 02 ff c9 10 f3 5b 3a 89 3a 0c 13 45 ff 7b 04 59 cb bf 22 04 72 43 c4 e9 62 52 bc 3a 8b 44 .+.....[:.:..E.{.Y..".rC..bR.:.D
547c0 79 f6 6f c2 6c f0 96 b0 04 b3 02 21 80 d6 c7 f7 23 de 1a 73 9a ec ff 7e ca 0b 6a ad b5 35 16 4c y.o.l......!....#..s...~..j..5.L
547e0 dc 2b b5 2e 80 4b 05 1b 4e b9 e3 27 c5 17 37 eb db 3e de 2d 35 d7 3b e9 88 4f 21 e6 8d fa b1 ff .+...K..N..'..7..>.-5.;..O!.....
54800 f8 62 d0 ae ea 5f 80 79 a0 1a a0 b4 a3 d3 ae 99 19 2f 7b 42 e8 72 58 60 31 5c 7c ec 49 15 b4 80 .b..._.y........./{B.rX`1\|.I...
54820 39 0c 06 14 1a 32 64 df 94 9e b6 b0 9d db f0 d9 a6 31 5f a6 46 8d 38 2c 9b 67 9f ff 12 81 3d 5a 9....2d..........1_.F.8,.g....=Z
54840 62 df 95 8d f1 53 a9 81 88 aa 99 80 c2 8d af 9a 36 77 7c 8a 20 38 24 b4 9c cf 05 16 a7 fc 2b 91 b....S..........6w|..8$.......+.
54860 e3 4e 9c 69 61 14 f0 d2 d6 9f 5a f4 8d ab 1f 2c 2d 05 10 0b 68 42 84 9e 59 6e 2e 6c 47 0b 00 6e .N.ia.....Z....,-...hB..Yn.lG..n
54880 ce d4 a5 fa 32 6b cd 7b 02 de 37 db cf 78 11 16 20 f3 b4 78 64 b6 da de fc 58 cd 61 b2 ac d7 ce ....2k.{..7..x.....xd....X.a....
548a0 03 83 6f 44 c1 78 91 21 0e 02 68 a8 9f 54 73 a5 1f 61 5b f3 31 cc 3a 0e 52 86 42 bc 02 79 dd 98 ..oD.x.!..h..Ts..a[.1.:.R.B..y..
548c0 cc f0 38 32 f8 2a 32 3c 85 3a a1 c2 aa b7 7e 31 e4 b1 f7 0a c1 8c 0d 1f 1f 2f fc a9 56 ba ff 4e ..82.*2<.:....~1........./..V..N
548e0 5c ef b5 e0 4a 3a d7 62 ec 91 bb 49 90 4c 1b 31 e1 43 54 25 1d 58 a8 73 61 45 83 7a 04 5f b2 e0 \...J:.b...I.L.1.CT%.X.saE.z._..
54900 ee c4 d7 09 8a 00 82 af 6c 33 57 d9 a1 ab 51 0a fb 43 f0 a8 4c e9 95 ec 9d f6 75 1e 6f bd 79 dc ........l3W...Q..C..L.....u.o.y.
54920 c2 eb 4f 45 bd 71 84 aa f5 9f 16 86 4b 4b 2c 0a 17 1a 65 d2 c2 09 47 48 2d 76 7f 8b 89 1a 18 49 ..OE.q......KK,...e...GH-v.....I
54940 1b 39 ac 21 83 91 e9 b8 17 04 95 bb e6 ef 53 83 a2 a8 ad 9d 42 7a 7f e0 1d 07 0c 92 10 4b 46 85 .9.!..........S.....Bz.......KF.
54960 04 48 b3 82 65 73 5e 4e 8d 15 2d 7a 92 8a 53 83 22 67 20 6b ad b5 73 f9 58 0f fa 36 db a5 89 28 .H..es^N..-z..S."g.k..s.X..6...(
54980 cf ed 4c 75 f0 cf 9e 93 68 ae d7 a3 d4 4c 31 68 06 29 07 67 46 70 4b c8 b1 62 5d e7 0d 26 78 68 ..Lu....h....L1h.).gFpK..b]..&xh
549a0 93 4a 09 a7 9a ec b4 6b c6 41 ba 7a 73 9f 02 59 54 00 25 e1 73 7c a5 3d ba a5 46 6d 35 54 ba 4e .J.....k.A.zs..YT.%.s|.=..Fm5T.N
549c0 70 e3 a6 99 8a 33 c7 d1 67 f7 3f 10 cf 43 19 34 96 e2 c4 08 b9 6d 26 ba 07 d5 d9 c1 e2 70 e0 69 p....3..g.?..C.4.....m&......p.i
549e0 63 41 9c 5f c3 4d 62 52 5a 20 7b 02 d5 e9 f0 4a 30 41 85 98 fa 8c ab 7c 9a 27 dc 65 65 48 95 dc cA._.MbRZ.{....J0A.....|.'.eeH..
54a00 0c 98 58 08 d1 65 44 31 91 bc be 18 32 d7 ad d8 26 1d 1d a8 4a e6 a4 56 62 ec 24 29 5d bd 31 e6 ..X..eD1....2...&...J..Vb.$)].1.
54a20 fc 58 eb 53 2b d8 97 c0 89 54 ea 35 0c 2a 60 52 ff fb b6 f8 9d e4 5f 80 74 0c 84 73 98 73 c3 90 .X.S+....T.5.*`R......_.t..s.s..
54a40 e3 41 43 28 fe 23 0a 01 cd 31 f7 25 5a 6c 78 4d a5 be 0b bd 10 8b 56 4b 90 b6 a3 5e 8a b5 78 ee .AC(.#...1.%ZlxM......VK...^..x.
54a60 32 0c fb 5b 84 2d cc b0 d6 01 d3 8a 2b 02 70 9a e8 f0 bd 13 7a bd 80 40 66 cd bc 9c a7 59 c5 8f 2..[.-......+.p.....z..@f....Y..
54a80 b9 df ab ff b5 99 ec ae 90 fd 60 6f e4 63 b6 48 ef 20 a8 ae 15 2e b9 40 86 04 0e 27 bd c2 b8 07 ..........`o.c.H.......@...'....
54aa0 49 6e 6e 78 52 1a 60 4f 59 33 71 4e 17 53 54 e7 82 2c 21 02 7e 12 82 af a7 0b 9f 4d fd bc 7b ec InnxR.`OY3qN.ST..,!.~......M..{.
54ac0 e2 3c b1 01 de 7b c6 ca 4f 10 b5 c4 3b 36 a4 3e 3e 0b 26 33 b5 e7 3b 85 7d 74 98 bf e6 45 91 f8 .<...{..O...;6.>>.&3..;.}t...E..
54ae0 ac 5d a8 76 ac 59 5e 19 6b cd 4d 26 bd bb 15 c2 99 a8 37 e8 74 e2 1f 54 a7 40 16 74 4b d1 19 6b .].v.Y^.k.M&......7.t..T.@.tK..k
54b00 32 46 d2 24 9c 96 50 f3 c4 b1 b5 40 79 fc 92 24 86 ea f2 d2 b7 80 86 94 d0 be 3d 97 e6 45 62 8d 2F.$..P....@y..$..........=..Eb.
54b20 f9 70 9a 60 b8 7b a2 69 b5 62 fe 24 c0 93 ef 77 1f 6c d6 ae 02 66 4d ee 72 90 af c9 5e 96 57 83 .p.`.{.i.b.$...w.l...fM.r...^.W.
54b40 70 03 f4 cf 51 65 e9 c2 bd 7a 44 75 22 58 e1 17 53 f0 6e 92 1d c9 b8 5b 8b 3f 67 3b 04 d4 d2 e5 p...Qe...zDu"X..S.n....[.?g;....
54b60 56 a6 53 db 98 18 30 56 f7 a8 7e ff db 89 51 5c d8 c4 4f a2 91 00 b3 6b 2b 55 40 10 31 9e f1 c3 V.S...0V..~...Q\..O....k+U@.1...
54b80 f0 5e f3 f0 c4 23 eb a5 93 2c 4d c2 bc 1e 93 e4 0f 72 46 6a c9 b7 64 a2 cf 14 c6 1b a9 5b 75 de .^...#...,M......rFj..d......[u.
54ba0 52 bb cc a5 f5 70 95 b8 d7 c3 4f 09 b0 9e 3c 7b 51 24 59 de 49 35 b0 05 65 23 ab 82 ae 63 1f 64 R....p....O...<{Q$Y.I5..e#...c.d
54bc0 21 41 1e 72 75 2c 94 a9 16 24 d6 9a 1a 37 ca 80 83 3c 35 cd e0 51 8b 2e b0 f1 f2 d7 ee 60 b5 38 !A.ru,...$...7...<5..Q.......`.8
54be0 60 69 d6 23 b1 00 7a 27 13 3e ec fe 23 87 e3 d2 c2 bc 81 2f e6 26 2f c3 02 a6 79 18 65 74 6b 2b `i.#..z'.>..#....../.&/...y.etk+
54c00 ac aa 3e e7 90 40 31 12 8c d9 e7 62 71 82 81 42 2a 59 3c 4e 40 87 16 0c 8b 7a e2 79 d4 f5 03 08 ..>..@1....bq..B*Y<N@....z.y....
54c20 c5 a6 4b 0d a9 21 d9 19 a8 0b 55 02 bf 86 ee df b0 e6 b7 6b 15 79 70 c6 e8 d3 c7 2e ad 3a c0 4b ..K..!....U........k.yp......:.K
54c40 3b 56 2d 7e db df a7 02 05 c7 8a 41 43 a0 fa 2d 10 90 94 e6 f2 b9 51 9b f4 10 47 d8 70 1b d7 ec ;V-~.......AC..-......Q...G.p...
54c60 26 27 88 d5 14 8b 1f 3d 06 96 80 46 bb 24 b4 e8 97 07 dd b6 2d 7a 1e 82 b7 58 e2 9f 09 f4 12 2c &'.....=...F.$......-z...X.....,
54c80 af 33 1a 6e 87 f7 3c f4 ad 38 28 d6 95 bb b8 6b 35 90 98 f3 4b a7 36 59 c1 ac 4a f5 69 9b 21 43 .3.n..<..8(....k5...K.6Y..J.i.!C
54ca0 e1 de b1 55 98 25 05 53 91 6f c2 c4 c4 fc 01 e9 7b 33 a4 0e 3f 36 d0 0e fd 80 81 21 54 0e 93 a2 ...U.%.S.o......{3..?6.....!T...
54cc0 24 8e 00 00 00 00 00 00 d0 1c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 $...............................
54ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54e00 6c 7a 69 70 2d 31 2e 32 30 2f 74 65 73 74 73 75 69 74 65 2f 63 68 65 63 6b 2e 73 68 00 00 00 00 lzip-1.20/testsuite/check.sh....
54e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54e60 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000755.0001750.0001750.0000
54e80 30 30 32 36 33 32 34 00 31 33 36 36 34 37 33 36 35 34 35 00 30 31 36 32 34 31 00 20 30 00 00 00 0026324.13664736545.016241..0...
54ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54f00 00 75 73 74 61 72 20 20 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...mohammad...............
54f20 00 00 00 00 00 00 00 00 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........mohammad...............
54f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55000 23 21 20 2f 62 69 6e 2f 73 68 0a 23 20 63 68 65 63 6b 20 73 63 72 69 70 74 20 66 6f 72 20 4c 7a #!./bin/sh.#.check.script.for.Lz
55020 69 70 20 2d 20 4c 5a 4d 41 20 6c 6f 73 73 6c 65 73 73 20 64 61 74 61 20 63 6f 6d 70 72 65 73 73 ip.-.LZMA.lossless.data.compress
55040 6f 72 0a 23 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d 32 30 31 38 20 41 6e 74 or.#.Copyright.(C).2008-2018.Ant
55060 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 23 0a 23 20 54 68 69 73 20 73 63 72 69 70 74 20 onio.Diaz.Diaz..#.#.This.script.
55080 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 68 61 76 65 20 75 6e 6c 69 6d is.free.software:.you.have.unlim
550a0 69 74 65 64 20 70 65 72 6d 69 73 73 69 6f 6e 0a 23 20 74 6f 20 63 6f 70 79 2c 20 64 69 73 74 72 ited.permission.#.to.copy,.distr
550c0 69 62 75 74 65 20 61 6e 64 20 6d 6f 64 69 66 79 20 69 74 2e 0a 0a 4c 43 5f 41 4c 4c 3d 43 0a 65 ibute.and.modify.it...LC_ALL=C.e
550e0 78 70 6f 72 74 20 4c 43 5f 41 4c 4c 0a 6f 62 6a 64 69 72 3d 60 70 77 64 60 0a 74 65 73 74 64 69 xport.LC_ALL.objdir=`pwd`.testdi
55100 72 3d 60 63 64 20 22 24 31 22 20 3b 20 70 77 64 60 0a 4c 5a 49 50 3d 22 24 7b 6f 62 6a 64 69 72 r=`cd."$1".;.pwd`.LZIP="${objdir
55120 7d 22 2f 6c 7a 69 70 0a 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 28 29 20 7b 20 65 63 }"/lzip.framework_failure().{.ec
55140 68 6f 20 22 66 61 69 6c 75 72 65 20 69 6e 20 74 65 73 74 69 6e 67 20 66 72 61 6d 65 77 6f 72 6b ho."failure.in.testing.framework
55160 22 20 3b 20 65 78 69 74 20 31 20 3b 20 7d 0a 0a 69 66 20 5b 20 21 20 2d 66 20 22 24 7b 4c 5a 49 ".;.exit.1.;.}..if.[.!.-f."${LZI
55180 50 7d 22 20 5d 20 7c 7c 20 5b 20 21 20 2d 78 20 22 24 7b 4c 5a 49 50 7d 22 20 5d 20 3b 20 74 68 P}".].||.[.!.-x."${LZIP}".].;.th
551a0 65 6e 0a 09 65 63 68 6f 20 22 24 7b 4c 5a 49 50 7d 3a 20 63 61 6e 6e 6f 74 20 65 78 65 63 75 74 en..echo."${LZIP}:.cannot.execut
551c0 65 22 0a 09 65 78 69 74 20 31 0a 66 69 0a 0a 5b 20 2d 65 20 22 24 7b 4c 5a 49 50 7d 22 20 5d 20 e"..exit.1.fi..[.-e."${LZIP}".].
551e0 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c 20 7c 7c 0a 09 7b 0a 09 65 63 68 6f 20 22 24 30 3a 20 61 20 2>./dev/null.||..{..echo."$0:.a.
55200 50 4f 53 49 58 20 73 68 65 6c 6c 20 69 73 20 72 65 71 75 69 72 65 64 20 74 6f 20 72 75 6e 20 74 POSIX.shell.is.required.to.run.t
55220 68 65 20 74 65 73 74 73 22 0a 09 65 63 68 6f 20 22 54 72 79 20 62 61 73 68 20 2d 63 20 5c 22 24 he.tests"..echo."Try.bash.-c.\"$
55240 30 20 24 31 20 24 32 5c 22 22 0a 09 65 78 69 74 20 31 0a 09 7d 0a 0a 69 66 20 5b 20 2d 64 20 74 0.$1.$2\""..exit.1..}..if.[.-d.t
55260 6d 70 20 5d 20 3b 20 74 68 65 6e 20 72 6d 20 2d 72 66 20 74 6d 70 20 3b 20 66 69 0a 6d 6b 64 69 mp.].;.then.rm.-rf.tmp.;.fi.mkdi
55280 72 20 74 6d 70 0a 63 64 20 22 24 7b 6f 62 6a 64 69 72 7d 22 2f 74 6d 70 20 7c 7c 20 66 72 61 6d r.tmp.cd."${objdir}"/tmp.||.fram
552a0 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 0a 63 61 74 20 22 24 7b 74 65 73 74 64 69 72 7d 22 2f ework_failure..cat."${testdir}"/
552c0 74 65 73 74 2e 74 78 74 20 3e 20 69 6e 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 test.txt.>.in.||.framework_failu
552e0 72 65 0a 69 6e 5f 6c 7a 3d 22 24 7b 74 65 73 74 64 69 72 7d 22 2f 74 65 73 74 2e 74 78 74 2e 6c re.in_lz="${testdir}"/test.txt.l
55300 7a 0a 66 61 69 6c 3d 30 0a 74 65 73 74 5f 66 61 69 6c 65 64 28 29 20 7b 20 66 61 69 6c 3d 31 20 z.fail=0.test_failed().{.fail=1.
55320 3b 20 70 72 69 6e 74 66 20 22 20 24 31 22 20 3b 20 5b 20 2d 7a 20 22 24 32 22 20 5d 20 7c 7c 20 ;.printf.".$1".;.[.-z."$2".].||.
55340 70 72 69 6e 74 66 20 22 28 24 32 29 22 20 3b 20 7d 0a 0a 70 72 69 6e 74 66 20 22 74 65 73 74 69 printf."($2)".;.}..printf."testi
55360 6e 67 20 6c 7a 69 70 2d 25 73 2e 2e 2e 22 20 22 24 32 22 0a 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d ng.lzip-%s..."."$2".."${LZIP}".-
55380 66 6b 71 6d 34 20 69 6e 0a 7b 20 5b 20 24 3f 20 3d 20 31 20 5d 20 26 26 20 5b 20 21 20 2d 65 20 fkqm4.in.{.[.$?.=.1.].&&.[.!.-e.
553a0 69 6e 2e 6c 7a 20 5d 20 3b 20 7d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 in.lz.].;.}.||.test_failed.$LINE
553c0 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 66 6b 71 6d 32 37 34 20 69 6e 0a 7b 20 5b 20 24 3f 20 NO."${LZIP}".-fkqm274.in.{.[.$?.
553e0 3d 20 31 20 5d 20 26 26 20 5b 20 21 20 2d 65 20 69 6e 2e 6c 7a 20 5d 20 3b 20 7d 20 7c 7c 20 74 =.1.].&&.[.!.-e.in.lz.].;.}.||.t
55400 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 66 6f 72 20 69 20 69 6e 20 62 61 64 5f est_failed.$LINENO.for.i.in.bad_
55420 73 69 7a 65 20 2d 31 20 30 20 34 30 39 35 20 35 31 33 4d 69 42 20 31 47 20 31 54 20 31 50 20 31 size.-1.0.4095.513MiB.1G.1T.1P.1
55440 45 20 31 5a 20 31 59 20 31 30 4b 42 20 3b 20 64 6f 0a 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 66 6b E.1Z.1Y.10KB.;.do.."${LZIP}".-fk
55460 71 73 20 24 69 20 69 6e 0a 09 7b 20 5b 20 24 3f 20 3d 20 31 20 5d 20 26 26 20 5b 20 21 20 2d 65 qs.$i.in..{.[.$?.=.1.].&&.[.!.-e
55480 20 69 6e 2e 6c 7a 20 5d 20 3b 20 7d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e .in.lz.].;.}.||.test_failed.$LIN
554a0 45 4e 4f 20 24 69 0a 64 6f 6e 65 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 6c 71 20 69 6e 0a 5b 20 24 ENO.$i.done."${LZIP}".-lq.in.[.$
554c0 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 ?.=.2.].||.test_failed.$LINENO."
554e0 24 7b 4c 5a 49 50 7d 22 20 2d 74 71 20 69 6e 0a 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 ${LZIP}".-tq.in.[.$?.=.2.].||.te
55500 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 71 20 st_failed.$LINENO."${LZIP}".-tq.
55520 3c 20 69 6e 0a 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 <.in.[.$?.=.2.].||.test_failed.$
55540 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 64 71 20 69 6e 0a 5b 20 24 3f 20 3d 20 LINENO."${LZIP}".-cdq.in.[.$?.=.
55560 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 2.].||.test_failed.$LINENO."${LZ
55580 49 50 7d 22 20 2d 63 64 71 20 3c 20 69 6e 0a 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 IP}".-cdq.<.in.[.$?.=.2.].||.tes
555a0 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 64 71 20 2d t_failed.$LINENO."${LZIP}".-dq.-
555c0 6f 20 69 6e 20 3c 20 22 24 7b 69 6e 5f 6c 7a 7d 22 0a 5b 20 24 3f 20 3d 20 31 20 5d 20 7c 7c 20 o.in.<."${in_lz}".[.$?.=.1.].||.
555e0 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 23 20 74 68 65 73 65 20 61 72 65 20 test_failed.$LINENO.#.these.are.
55600 66 6f 72 20 63 6f 64 65 20 63 6f 76 65 72 61 67 65 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 6c 74 20 for.code.coverage."${LZIP}".-lt.
55620 22 24 7b 69 6e 5f 6c 7a 7d 22 20 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c 0a 5b 20 24 3f 20 3d 20 31 "${in_lz}".2>./dev/null.[.$?.=.1
55640 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 .].||.test_failed.$LINENO."${LZI
55660 50 7d 22 20 2d 63 64 6c 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 3e 20 6f 75 74 20 32 3e 20 2f 64 65 P}".-cdl."${in_lz}".>.out.2>./de
55680 76 2f 6e 75 6c 6c 0a 5b 20 24 3f 20 3d 20 31 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 v/null.[.$?.=.1.].||.test_failed
556a0 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 64 74 20 22 24 7b 69 6e 5f 6c 7a .$LINENO."${LZIP}".-cdt."${in_lz
556c0 7d 22 20 3e 20 6f 75 74 20 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c 0a 5b 20 24 3f 20 3d 20 31 20 5d }".>.out.2>./dev/null.[.$?.=.1.]
556e0 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d .||.test_failed.$LINENO."${LZIP}
55700 22 20 2d 74 20 2d 2d 20 6e 78 5f 66 69 6c 65 20 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c 0a 5b 20 24 ".-t.--.nx_file.2>./dev/null.[.$
55720 3f 20 3d 20 31 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 ?.=.1.].||.test_failed.$LINENO."
55740 24 7b 4c 5a 49 50 7d 22 20 2d 2d 68 65 6c 70 20 3e 20 2f 64 65 76 2f 6e 75 6c 6c 20 7c 7c 20 74 ${LZIP}".--help.>./dev/null.||.t
55760 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 6e 31 est_failed.$LINENO."${LZIP}".-n1
55780 20 2d 56 20 3e 20 2f 64 65 76 2f 6e 75 6c 6c 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 .-V.>./dev/null.||.test_failed.$
557a0 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 6d 20 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c LINENO."${LZIP}".-m.2>./dev/null
557c0 0a 5b 20 24 3f 20 3d 20 31 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 .[.$?.=.1.].||.test_failed.$LINE
557e0 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 7a 20 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c 0a 5b 20 24 NO."${LZIP}".-z.2>./dev/null.[.$
55800 3f 20 3d 20 31 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 ?.=.1.].||.test_failed.$LINENO."
55820 24 7b 4c 5a 49 50 7d 22 20 2d 2d 62 61 64 5f 6f 70 74 69 6f 6e 20 32 3e 20 2f 64 65 76 2f 6e 75 ${LZIP}".--bad_option.2>./dev/nu
55840 6c 6c 0a 5b 20 24 3f 20 3d 20 31 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 ll.[.$?.=.1.].||.test_failed.$LI
55860 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 2d 74 20 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c 0a NENO."${LZIP}".--t.2>./dev/null.
55880 5b 20 24 3f 20 3d 20 31 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e [.$?.=.1.].||.test_failed.$LINEN
558a0 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 2d 74 65 73 74 3d 32 20 32 3e 20 2f 64 65 76 2f 6e 75 6c O."${LZIP}".--test=2.2>./dev/nul
558c0 6c 0a 5b 20 24 3f 20 3d 20 31 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e l.[.$?.=.1.].||.test_failed.$LIN
558e0 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 2d 6f 75 74 70 75 74 3d 20 32 3e 20 2f 64 65 76 2f ENO."${LZIP}".--output=.2>./dev/
55900 6e 75 6c 6c 0a 5b 20 24 3f 20 3d 20 31 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 null.[.$?.=.1.].||.test_failed.$
55920 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 2d 6f 75 74 70 75 74 20 32 3e 20 2f 64 65 LINENO."${LZIP}".--output.2>./de
55940 76 2f 6e 75 6c 6c 0a 5b 20 24 3f 20 3d 20 31 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 v/null.[.$?.=.1.].||.test_failed
55960 20 24 4c 49 4e 45 4e 4f 0a 70 72 69 6e 74 66 20 22 4c 5a 49 50 5c 30 30 31 2d 2e 2e 2e 2e 2e 2e .$LINENO.printf."LZIP\001-......
55980 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 22 20 7c 20 22 24 7b 4c ........................".|."${L
559a0 5a 49 50 7d 22 20 2d 74 20 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c 0a 70 72 69 6e 74 66 20 22 4c 5a ZIP}".-t.2>./dev/null.printf."LZ
559c0 49 50 5c 30 30 32 2d 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e IP\002-.........................
559e0 2e 2e 2e 2e 2e 22 20 7c 20 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 20 32 3e 20 2f 64 65 76 2f 6e 75 .....".|."${LZIP}".-t.2>./dev/nu
55a00 6c 6c 0a 70 72 69 6e 74 66 20 22 4c 5a 49 50 5c 30 30 31 2b 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e ll.printf."LZIP\001+............
55a20 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 22 20 7c 20 22 24 7b 4c 5a 49 50 7d 22 20 ..................".|."${LZIP}".
55a40 2d 74 20 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c 0a 0a 70 72 69 6e 74 66 20 22 5c 6e 74 65 73 74 69 -t.2>./dev/null..printf."\ntesti
55a60 6e 67 20 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 2e 2e 2e 22 0a 0a 22 24 7b 4c 5a 49 50 7d 22 20 ng.decompression...".."${LZIP}".
55a80 2d 6c 71 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c -lq."${in_lz}".||.test_failed.$L
55aa0 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 7c 7c INENO."${LZIP}".-t."${in_lz}".||
55ac0 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d .test_failed.$LINENO."${LZIP}".-
55ae0 63 64 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 3e 20 63 6f 70 79 20 7c 7c 20 74 65 73 74 5f 66 61 69 cd."${in_lz}".>.copy.||.test_fai
55b00 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 63 6d 70 20 69 6e 20 63 6f 70 79 20 7c 7c 20 74 65 73 74 5f led.$LINENO.cmp.in.copy.||.test_
55b20 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 0a 72 6d 20 2d 66 20 63 6f 70 79 0a 63 61 74 20 22 failed.$LINENO..rm.-f.copy.cat."
55b40 24 7b 69 6e 5f 6c 7a 7d 22 20 3e 20 63 6f 70 79 2e 6c 7a 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b ${in_lz}".>.copy.lz.||.framework
55b60 5f 66 61 69 6c 75 72 65 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 64 6b 20 63 6f 70 79 2e 6c 7a 20 7c _failure."${LZIP}".-dk.copy.lz.|
55b80 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 63 6d 70 20 69 6e 20 63 6f 70 |.test_failed.$LINENO.cmp.in.cop
55ba0 79 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 70 72 69 6e 74 66 20 y.||.test_failed.$LINENO.printf.
55bc0 22 74 6f 20 62 65 20 6f 76 65 72 77 72 69 74 74 65 6e 22 20 3e 20 63 6f 70 79 20 7c 7c 20 66 72 "to.be.overwritten".>.copy.||.fr
55be0 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 64 20 63 6f 70 amework_failure."${LZIP}".-d.cop
55c00 79 2e 6c 7a 20 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c 0a 5b 20 24 3f 20 3d 20 31 20 5d 20 7c 7c 20 y.lz.2>./dev/null.[.$?.=.1.].||.
55c20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 64 test_failed.$LINENO."${LZIP}".-d
55c40 66 20 63 6f 70 79 2e 6c 7a 0a 7b 20 5b 20 24 3f 20 3d 20 30 20 5d 20 26 26 20 5b 20 21 20 2d 65 f.copy.lz.{.[.$?.=.0.].&&.[.!.-e
55c60 20 63 6f 70 79 2e 6c 7a 20 5d 20 26 26 20 63 6d 70 20 69 6e 20 63 6f 70 79 20 3b 20 7d 20 7c 7c .copy.lz.].&&.cmp.in.copy.;.}.||
55c80 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 0a 72 6d 20 2d 66 20 63 6f 70 79 .test_failed.$LINENO..rm.-f.copy
55ca0 0a 63 61 74 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 3e 20 63 6f 70 79 2e 6c 7a 20 7c 7c 20 66 72 61 .cat."${in_lz}".>.copy.lz.||.fra
55cc0 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 64 20 2d 53 31 30 mework_failure."${LZIP}".-d.-S10
55ce0 30 6b 20 63 6f 70 79 2e 6c 7a 0a 7b 20 5b 20 24 3f 20 3d 20 30 20 5d 20 26 26 20 5b 20 21 20 2d 0k.copy.lz.{.[.$?.=.0.].&&.[.!.-
55d00 65 20 63 6f 70 79 2e 6c 7a 20 5d 20 26 26 20 63 6d 70 20 69 6e 20 63 6f 70 79 20 3b 20 7d 20 7c e.copy.lz.].&&.cmp.in.copy.;.}.|
55d20 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 0a 70 72 69 6e 74 66 20 22 74 |.test_failed.$LINENO..printf."t
55d40 6f 20 62 65 20 6f 76 65 72 77 72 69 74 74 65 6e 22 20 3e 20 63 6f 70 79 20 7c 7c 20 66 72 61 6d o.be.overwritten".>.copy.||.fram
55d60 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 64 66 20 2d 6f 20 63 ework_failure."${LZIP}".-df.-o.c
55d80 6f 70 79 20 3c 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 opy.<."${in_lz}".||.test_failed.
55da0 24 4c 49 4e 45 4e 4f 0a 63 6d 70 20 69 6e 20 63 6f 70 79 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c $LINENO.cmp.in.copy.||.test_fail
55dc0 65 64 20 24 4c 49 4e 45 4e 4f 0a 0a 72 6d 20 2d 66 20 63 6f 70 79 0a 22 24 7b 4c 5a 49 50 7d 22 ed.$LINENO..rm.-f.copy."${LZIP}"
55de0 20 3c 20 69 6e 20 3e 20 61 6e 79 6f 74 68 65 72 6e 61 6d 65 20 7c 7c 20 74 65 73 74 5f 66 61 69 .<.in.>.anyothername.||.test_fai
55e00 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 64 76 20 2d 2d 6f 75 74 70 led.$LINENO."${LZIP}".-dv.--outp
55e20 75 74 20 63 6f 70 79 20 2d 20 61 6e 79 6f 74 68 65 72 6e 61 6d 65 20 2d 20 3c 20 22 24 7b 69 6e ut.copy.-.anyothername.-.<."${in
55e40 5f 6c 7a 7d 22 20 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c 0a 7b 20 5b 20 24 3f 20 3d 20 30 20 5d 20 _lz}".2>./dev/null.{.[.$?.=.0.].
55e60 26 26 20 63 6d 70 20 69 6e 20 63 6f 70 79 20 26 26 20 63 6d 70 20 69 6e 20 61 6e 79 6f 74 68 65 &&.cmp.in.copy.&&.cmp.in.anyothe
55e80 72 6e 61 6d 65 2e 6f 75 74 20 3b 20 7d 20 7c 7c 0a 09 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c rname.out.;.}.||..test_failed.$L
55ea0 49 4e 45 4e 4f 0a 72 6d 20 2d 66 20 63 6f 70 79 20 61 6e 79 6f 74 68 65 72 6e 61 6d 65 2e 6f 75 INENO.rm.-f.copy.anyothername.ou
55ec0 74 0a 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 6c 71 20 69 6e 20 22 24 7b 69 6e 5f 6c 7a 7d 22 0a 5b t.."${LZIP}".-lq.in."${in_lz}".[
55ee0 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f .$?.=.2.].||.test_failed.$LINENO
55f00 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 6c 71 20 6e 78 5f 66 69 6c 65 2e 6c 7a 20 22 24 7b 69 6e 5f ."${LZIP}".-lq.nx_file.lz."${in_
55f20 6c 7a 7d 22 0a 5b 20 24 3f 20 3d 20 31 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 lz}".[.$?.=.1.].||.test_failed.$
55f40 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 71 20 69 6e 20 22 24 7b 69 6e 5f 6c 7a LINENO."${LZIP}".-tq.in."${in_lz
55f60 7d 22 0a 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 }".[.$?.=.2.].||.test_failed.$LI
55f80 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 71 20 6e 78 5f 66 69 6c 65 2e 6c 7a 20 22 24 NENO."${LZIP}".-tq.nx_file.lz."$
55fa0 7b 69 6e 5f 6c 7a 7d 22 0a 5b 20 24 3f 20 3d 20 31 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c {in_lz}".[.$?.=.1.].||.test_fail
55fc0 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 64 71 20 69 6e 20 22 24 7b ed.$LINENO."${LZIP}".-cdq.in."${
55fe0 69 6e 5f 6c 7a 7d 22 20 3e 20 63 6f 70 79 0a 7b 20 5b 20 24 3f 20 3d 20 32 20 5d 20 26 26 20 63 in_lz}".>.copy.{.[.$?.=.2.].&&.c
56000 61 74 20 63 6f 70 79 20 69 6e 20 7c 20 63 6d 70 20 69 6e 20 2d 20 3b 20 7d 20 7c 7c 20 74 65 73 at.copy.in.|.cmp.in.-.;.}.||.tes
56020 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 64 71 20 t_failed.$LINENO."${LZIP}".-cdq.
56040 6e 78 5f 66 69 6c 65 2e 6c 7a 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 3e 20 63 6f 70 79 0a 7b 20 5b nx_file.lz."${in_lz}".>.copy.{.[
56060 20 24 3f 20 3d 20 31 20 5d 20 26 26 20 63 6d 70 20 69 6e 20 63 6f 70 79 20 3b 20 7d 20 7c 7c 20 .$?.=.1.].&&.cmp.in.copy.;.}.||.
56080 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 72 6d 20 2d 66 20 63 6f 70 79 0a 63 test_failed.$LINENO.rm.-f.copy.c
560a0 61 74 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 3e 20 63 6f 70 79 2e 6c 7a 20 7c 7c 20 66 72 61 6d 65 at."${in_lz}".>.copy.lz.||.frame
560c0 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 66 6f 72 20 69 20 69 6e 20 31 20 32 20 33 20 34 20 35 20 work_failure.for.i.in.1.2.3.4.5.
560e0 36 20 37 20 3b 20 64 6f 0a 09 70 72 69 6e 74 66 20 22 67 22 20 3e 3e 20 63 6f 70 79 2e 6c 7a 20 6.7.;.do..printf."g".>>.copy.lz.
56100 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 09 22 24 7b 4c 5a 49 50 7d 22 20 ||.framework_failure.."${LZIP}".
56120 2d 61 6c 76 76 20 63 6f 70 79 2e 6c 7a 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 3e 20 2f 64 65 76 2f -alvv.copy.lz."${in_lz}".>./dev/
56140 6e 75 6c 6c 20 32 3e 26 31 0a 09 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 null.2>&1..[.$?.=.2.].||.test_fa
56160 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 69 0a 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 61 74 76 76 iled.$LINENO.$i.."${LZIP}".-atvv
56180 76 76 20 63 6f 70 79 2e 6c 7a 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 32 3e 20 2f 64 65 76 2f 6e 75 vv.copy.lz."${in_lz}".2>./dev/nu
561a0 6c 6c 0a 09 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c ll..[.$?.=.2.].||.test_failed.$L
561c0 49 4e 45 4e 4f 20 24 69 0a 64 6f 6e 65 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 64 71 20 69 6e 20 63 INENO.$i.done."${LZIP}".-dq.in.c
561e0 6f 70 79 2e 6c 7a 0a 7b 20 5b 20 24 3f 20 3d 20 32 20 5d 20 26 26 20 5b 20 2d 65 20 63 6f 70 79 opy.lz.{.[.$?.=.2.].&&.[.-e.copy
56200 2e 6c 7a 20 5d 20 26 26 20 5b 20 21 20 2d 65 20 63 6f 70 79 20 5d 20 26 26 20 5b 20 21 20 2d 65 .lz.].&&.[.!.-e.copy.].&&.[.!.-e
56220 20 69 6e 2e 6f 75 74 20 5d 20 3b 20 7d 20 7c 7c 0a 09 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c .in.out.].;.}.||..test_failed.$L
56240 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 64 71 20 6e 78 5f 66 69 6c 65 2e 6c 7a 20 63 INENO."${LZIP}".-dq.nx_file.lz.c
56260 6f 70 79 2e 6c 7a 0a 7b 20 5b 20 24 3f 20 3d 20 31 20 5d 20 26 26 20 5b 20 21 20 2d 65 20 63 6f opy.lz.{.[.$?.=.1.].&&.[.!.-e.co
56280 70 79 2e 6c 7a 20 5d 20 26 26 20 5b 20 21 20 2d 65 20 6e 78 5f 66 69 6c 65 20 5d 20 26 26 20 63 py.lz.].&&.[.!.-e.nx_file.].&&.c
562a0 6d 70 20 69 6e 20 63 6f 70 79 20 3b 20 7d 20 7c 7c 0a 09 74 65 73 74 5f 66 61 69 6c 65 64 20 24 mp.in.copy.;.}.||..test_failed.$
562c0 4c 49 4e 45 4e 4f 0a 0a 63 61 74 20 69 6e 20 69 6e 20 3e 20 69 6e 32 20 7c 7c 20 66 72 61 6d 65 LINENO..cat.in.in.>.in2.||.frame
562e0 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 63 61 74 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 22 24 7b 69 work_failure.cat."${in_lz}"."${i
56300 6e 5f 6c 7a 7d 22 20 3e 20 69 6e 32 2e 6c 7a 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 n_lz}".>.in2.lz.||.framework_fai
56320 6c 75 72 65 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 6c 71 20 69 6e 32 2e 6c 7a 20 7c 7c 20 74 65 73 lure."${LZIP}".-lq.in2.lz.||.tes
56340 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 20 69 6e t_failed.$LINENO."${LZIP}".-t.in
56360 32 2e 6c 7a 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 2.lz.||.test_failed.$LINENO."${L
56380 5a 49 50 7d 22 20 2d 63 64 20 69 6e 32 2e 6c 7a 20 3e 20 63 6f 70 79 32 20 7c 7c 20 74 65 73 74 ZIP}".-cd.in2.lz.>.copy2.||.test
563a0 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 63 6d 70 20 69 6e 32 20 63 6f 70 79 32 20 7c 7c _failed.$LINENO.cmp.in2.copy2.||
563c0 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 0a 22 24 7b 4c 5a 49 50 7d 22 20 .test_failed.$LINENO.."${LZIP}".
563e0 2d 2d 6f 75 74 70 75 74 3d 63 6f 70 79 32 2e 6c 7a 20 3c 20 69 6e 32 20 7c 7c 20 74 65 73 74 5f --output=copy2.lz.<.in2.||.test_
56400 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 6c 71 20 63 6f 70 failed.$LINENO."${LZIP}".-lq.cop
56420 79 32 2e 6c 7a 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b y2.lz.||.test_failed.$LINENO."${
56440 4c 5a 49 50 7d 22 20 2d 74 20 63 6f 70 79 32 2e 6c 7a 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 LZIP}".-t.copy2.lz.||.test_faile
56460 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 64 20 63 6f 70 79 32 2e 6c 7a d.$LINENO."${LZIP}".-cd.copy2.lz
56480 20 3e 20 63 6f 70 79 32 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a .>.copy2.||.test_failed.$LINENO.
564a0 63 6d 70 20 69 6e 32 20 63 6f 70 79 32 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 cmp.in2.copy2.||.test_failed.$LI
564c0 4e 45 4e 4f 0a 0a 70 72 69 6e 74 66 20 22 5c 6e 67 61 72 62 61 67 65 22 20 3e 3e 20 63 6f 70 79 NENO..printf."\ngarbage".>>.copy
564e0 32 2e 6c 7a 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 22 24 7b 4c 5a 49 2.lz.||.framework_failure."${LZI
56500 50 7d 22 20 2d 74 76 76 76 76 20 63 6f 70 79 32 2e 6c 7a 20 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c P}".-tvvvv.copy2.lz.2>./dev/null
56520 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 72 6d 20 2d 66 20 63 6f .||.test_failed.$LINENO.rm.-f.co
56540 70 79 32 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 61 6c 71 20 63 6f 70 79 32 2e 6c 7a 0a 5b 20 24 3f py2."${LZIP}".-alq.copy2.lz.[.$?
56560 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 .=.2.].||.test_failed.$LINENO."$
56580 7b 4c 5a 49 50 7d 22 20 2d 61 74 71 20 63 6f 70 79 32 2e 6c 7a 0a 5b 20 24 3f 20 3d 20 32 20 5d {LZIP}".-atq.copy2.lz.[.$?.=.2.]
565a0 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d .||.test_failed.$LINENO."${LZIP}
565c0 22 20 2d 61 74 71 20 3c 20 63 6f 70 79 32 2e 6c 7a 0a 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 ".-atq.<.copy2.lz.[.$?.=.2.].||.
565e0 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 61 test_failed.$LINENO."${LZIP}".-a
56600 64 6b 71 20 63 6f 70 79 32 2e 6c 7a 0a 7b 20 5b 20 24 3f 20 3d 20 32 20 5d 20 26 26 20 5b 20 21 dkq.copy2.lz.{.[.$?.=.2.].&&.[.!
56620 20 2d 65 20 63 6f 70 79 32 20 5d 20 3b 20 7d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 .-e.copy2.].;.}.||.test_failed.$
56640 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 61 64 6b 71 20 2d 6f 20 63 6f 70 79 32 20 LINENO."${LZIP}".-adkq.-o.copy2.
56660 3c 20 63 6f 70 79 32 2e 6c 7a 0a 7b 20 5b 20 24 3f 20 3d 20 32 20 5d 20 26 26 20 5b 20 21 20 2d <.copy2.lz.{.[.$?.=.2.].&&.[.!.-
56680 65 20 63 6f 70 79 32 20 5d 20 3b 20 7d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 e.copy2.].;.}.||.test_failed.$LI
566a0 4e 45 4e 4f 0a 70 72 69 6e 74 66 20 22 74 6f 20 62 65 20 6f 76 65 72 77 72 69 74 74 65 6e 22 20 NENO.printf."to.be.overwritten".
566c0 3e 20 63 6f 70 79 32 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 22 24 7b >.copy2.||.framework_failure."${
566e0 4c 5a 49 50 7d 22 20 2d 64 66 20 63 6f 70 79 32 2e 6c 7a 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c LZIP}".-df.copy2.lz.||.test_fail
56700 65 64 20 24 4c 49 4e 45 4e 4f 0a 63 6d 70 20 69 6e 32 20 63 6f 70 79 32 20 7c 7c 20 74 65 73 74 ed.$LINENO.cmp.in2.copy2.||.test
56720 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 0a 70 72 69 6e 74 66 20 22 5c 6e 74 65 73 74 69 _failed.$LINENO..printf."\ntesti
56740 6e 67 20 20 20 63 6f 6d 70 72 65 73 73 69 6f 6e 2e 2e 2e 22 0a 0a 22 24 7b 4c 5a 49 50 7d 22 20 ng...compression...".."${LZIP}".
56760 2d 63 66 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 3e 20 6f 75 74 20 32 3e 20 2f 64 65 76 2f 6e 75 6c -cf."${in_lz}".>.out.2>./dev/nul
56780 6c 09 23 20 2f 64 65 76 2f 6e 75 6c 6c 20 69 73 20 61 20 74 74 79 20 6f 6e 20 4f 53 2f 32 0a 5b l.#./dev/null.is.a.tty.on.OS/2.[
567a0 20 24 3f 20 3d 20 31 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f .$?.=.1.].||.test_failed.$LINENO
567c0 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 46 76 76 6d 33 36 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 3e ."${LZIP}".-cFvvm36."${in_lz}".>
567e0 20 6f 75 74 20 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 .out.2>./dev/null.||.test_failed
56800 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 64 20 6f 75 74 20 7c 20 22 24 7b .$LINENO."${LZIP}".-cd.out.|."${
56820 4c 5a 49 50 7d 22 20 2d 64 20 3e 20 63 6f 70 79 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 LZIP}".-d.>.copy.||.test_failed.
56840 24 4c 49 4e 45 4e 4f 0a 63 6d 70 20 69 6e 20 63 6f 70 79 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c $LINENO.cmp.in.copy.||.test_fail
56860 65 64 20 24 4c 49 4e 45 4e 4f 0a 0a 66 6f 72 20 69 20 69 6e 20 73 34 4b 69 20 30 20 31 20 32 20 ed.$LINENO..for.i.in.s4Ki.0.1.2.
56880 33 20 34 20 35 20 36 20 37 20 38 20 39 20 3b 20 64 6f 0a 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 6b 3.4.5.6.7.8.9.;.do.."${LZIP}".-k
568a0 20 2d 24 69 20 69 6e 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 .-$i.in.||.test_failed.$LINENO.$
568c0 69 0a 09 6d 76 20 2d 66 20 69 6e 2e 6c 7a 20 63 6f 70 79 2e 6c 7a 20 7c 7c 20 74 65 73 74 5f 66 i..mv.-f.in.lz.copy.lz.||.test_f
568e0 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 69 0a 09 70 72 69 6e 74 66 20 22 67 61 72 62 61 67 ailed.$LINENO.$i..printf."garbag
56900 65 22 20 3e 3e 20 63 6f 70 79 2e 6c 7a 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 e".>>.copy.lz.||.framework_failu
56920 72 65 0a 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 64 66 20 63 6f 70 79 2e 6c 7a 20 7c 7c 20 74 65 73 re.."${LZIP}".-df.copy.lz.||.tes
56940 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 69 0a 09 63 6d 70 20 69 6e 20 63 6f 70 79 t_failed.$LINENO.$i..cmp.in.copy
56960 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 69 0a 64 6f 6e 65 0a .||.test_failed.$LINENO.$i.done.
56980 0a 66 6f 72 20 69 20 69 6e 20 73 34 4b 69 20 30 20 31 20 32 20 33 20 34 20 35 20 36 20 37 20 38 .for.i.in.s4Ki.0.1.2.3.4.5.6.7.8
569a0 20 39 20 3b 20 64 6f 0a 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 20 2d 24 69 20 69 6e 20 3e 20 6f .9.;.do.."${LZIP}".-c.-$i.in.>.o
569c0 75 74 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 69 0a 09 70 72 ut.||.test_failed.$LINENO.$i..pr
569e0 69 6e 74 66 20 22 67 22 20 3e 3e 20 6f 75 74 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 intf."g".>>.out.||.framework_fai
56a00 6c 75 72 65 0a 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 64 20 6f 75 74 20 3e 20 63 6f 70 79 20 7c lure.."${LZIP}".-cd.out.>.copy.|
56a20 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 69 0a 09 63 6d 70 20 69 6e |.test_failed.$LINENO.$i..cmp.in
56a40 20 63 6f 70 79 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 69 0a .copy.||.test_failed.$LINENO.$i.
56a60 64 6f 6e 65 0a 0a 66 6f 72 20 69 20 69 6e 20 73 34 4b 69 20 30 20 31 20 32 20 33 20 34 20 35 20 done..for.i.in.s4Ki.0.1.2.3.4.5.
56a80 36 20 37 20 38 20 39 20 3b 20 64 6f 0a 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 24 69 20 3c 20 69 6e 6.7.8.9.;.do.."${LZIP}".-$i.<.in
56aa0 20 3e 20 6f 75 74 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 69 .>.out.||.test_failed.$LINENO.$i
56ac0 0a 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 64 20 3c 20 6f 75 74 20 3e 20 63 6f 70 79 20 7c 7c 20 74 .."${LZIP}".-d.<.out.>.copy.||.t
56ae0 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 69 0a 09 63 6d 70 20 69 6e 20 63 6f est_failed.$LINENO.$i..cmp.in.co
56b00 70 79 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 69 0a 64 6f 6e py.||.test_failed.$LINENO.$i.don
56b20 65 0a 0a 66 6f 72 20 69 20 69 6e 20 73 34 4b 69 20 30 20 31 20 32 20 33 20 34 20 35 20 36 20 37 e..for.i.in.s4Ki.0.1.2.3.4.5.6.7
56b40 20 38 20 39 20 3b 20 64 6f 0a 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 66 20 2d 24 69 20 2d 6f 20 6f .8.9.;.do.."${LZIP}".-f.-$i.-o.o
56b60 75 74 20 3c 20 69 6e 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 ut.<.in.||.test_failed.$LINENO.$
56b80 69 0a 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 64 66 20 2d 6f 20 63 6f 70 79 20 3c 20 6f 75 74 2e 6c i.."${LZIP}".-df.-o.copy.<.out.l
56ba0 7a 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 69 0a 09 63 6d 70 z.||.test_failed.$LINENO.$i..cmp
56bc0 20 69 6e 20 63 6f 70 79 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 .in.copy.||.test_failed.$LINENO.
56be0 24 69 0a 64 6f 6e 65 0a 0a 63 61 74 20 69 6e 20 69 6e 20 69 6e 20 69 6e 20 69 6e 20 69 6e 20 69 $i.done..cat.in.in.in.in.in.in.i
56c00 6e 20 69 6e 20 3e 20 69 6e 38 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a n.in.>.in8.||.framework_failure.
56c20 22 24 7b 4c 5a 49 50 7d 22 20 2d 31 73 31 32 20 2d 53 31 30 30 6b 20 69 6e 38 20 7c 7c 20 74 65 "${LZIP}".-1s12.-S100k.in8.||.te
56c40 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 20 69 st_failed.$LINENO."${LZIP}".-t.i
56c60 6e 38 30 30 30 30 31 2e 6c 7a 20 69 6e 38 30 30 30 30 32 2e 6c 7a 20 7c 7c 20 74 65 73 74 5f 66 n800001.lz.in800002.lz.||.test_f
56c80 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 64 20 69 6e 38 30 ailed.$LINENO."${LZIP}".-cd.in80
56ca0 30 30 30 31 2e 6c 7a 20 69 6e 38 30 30 30 30 32 2e 6c 7a 20 7c 20 63 6d 70 20 69 6e 38 20 2d 20 0001.lz.in800002.lz.|.cmp.in8.-.
56cc0 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 72 6d 20 2d 66 20 69 6e 38 ||.test_failed.$LINENO.rm.-f.in8
56ce0 30 30 30 30 31 2e 6c 7a 20 69 6e 38 30 30 30 30 32 2e 6c 7a 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 00001.lz.in800002.lz."${LZIP}".-
56d00 31 73 31 32 20 2d 53 31 30 30 6b 20 2d 6f 20 6f 75 74 2e 6c 7a 20 3c 20 69 6e 38 20 7c 7c 20 74 1s12.-S100k.-o.out.lz.<.in8.||.t
56d20 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 20 est_failed.$LINENO."${LZIP}".-t.
56d40 6f 75 74 2e 6c 7a 30 30 30 30 31 2e 6c 7a 20 6f 75 74 2e 6c 7a 30 30 30 30 32 2e 6c 7a 20 7c 7c out.lz00001.lz.out.lz00002.lz.||
56d60 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d .test_failed.$LINENO."${LZIP}".-
56d80 63 64 20 6f 75 74 2e 6c 7a 30 30 30 30 31 2e 6c 7a 20 6f 75 74 2e 6c 7a 30 30 30 30 32 2e 6c 7a cd.out.lz00001.lz.out.lz00002.lz
56da0 20 7c 20 63 6d 70 20 69 6e 38 20 2d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e .|.cmp.in8.-.||.test_failed.$LIN
56dc0 45 4e 4f 0a 72 6d 20 2d 66 20 6f 75 74 2e 6c 7a 30 30 30 30 31 2e 6c 7a 20 6f 75 74 2e 6c 7a 30 ENO.rm.-f.out.lz00001.lz.out.lz0
56de0 30 30 30 32 2e 6c 7a 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 31 6b 73 34 4b 69 20 2d 62 31 30 30 30 0002.lz."${LZIP}".-1ks4Ki.-b1000
56e00 30 30 20 69 6e 38 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 00.in8.||.test_failed.$LINENO."$
56e20 7b 4c 5a 49 50 7d 22 20 2d 74 20 69 6e 38 2e 6c 7a 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 {LZIP}".-t.in8.lz.||.test_failed
56e40 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 64 20 69 6e 38 2e 6c 7a 20 7c 20 .$LINENO."${LZIP}".-cd.in8.lz.|.
56e60 63 6d 70 20 69 6e 38 20 2d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f cmp.in8.-.||.test_failed.$LINENO
56e80 0a 72 6d 20 2d 66 20 69 6e 38 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 30 20 2d 53 31 30 30 6b 20 2d .rm.-f.in8."${LZIP}".-0.-S100k.-
56ea0 6f 20 6f 75 74 20 3c 20 69 6e 38 2e 6c 7a 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c o.out.<.in8.lz.||.test_failed.$L
56ec0 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 20 6f 75 74 30 30 30 30 31 2e 6c 7a 20 6f INENO."${LZIP}".-t.out00001.lz.o
56ee0 75 74 30 30 30 30 32 2e 6c 7a 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e ut00002.lz.||.test_failed.$LINEN
56f00 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 64 20 6f 75 74 30 30 30 30 31 2e 6c 7a 20 6f 75 74 30 O."${LZIP}".-cd.out00001.lz.out0
56f20 30 30 30 32 2e 6c 7a 20 7c 20 63 6d 70 20 69 6e 38 2e 6c 7a 20 2d 20 7c 7c 20 74 65 73 74 5f 66 0002.lz.|.cmp.in8.lz.-.||.test_f
56f40 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 72 6d 20 2d 66 20 6f 75 74 30 30 30 30 31 2e 6c 7a 0a ailed.$LINENO.rm.-f.out00001.lz.
56f60 22 24 7b 4c 5a 49 50 7d 22 20 2d 31 20 2d 53 31 30 30 6b 20 2d 6f 20 6f 75 74 20 3c 20 69 6e 38 "${LZIP}".-1.-S100k.-o.out.<.in8
56f80 2e 6c 7a 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a .lz.||.test_failed.$LINENO."${LZ
56fa0 49 50 7d 22 20 2d 74 20 6f 75 74 30 30 30 30 31 2e 6c 7a 20 6f 75 74 30 30 30 30 32 2e 6c 7a 20 IP}".-t.out00001.lz.out00002.lz.
56fc0 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 ||.test_failed.$LINENO."${LZIP}"
56fe0 20 2d 63 64 20 6f 75 74 30 30 30 30 31 2e 6c 7a 20 6f 75 74 30 30 30 30 32 2e 6c 7a 20 7c 20 63 .-cd.out00001.lz.out00002.lz.|.c
57000 6d 70 20 69 6e 38 2e 6c 7a 20 2d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 mp.in8.lz.-.||.test_failed.$LINE
57020 4e 4f 0a 72 6d 20 2d 66 20 6f 75 74 30 30 30 30 31 2e 6c 7a 20 6f 75 74 30 30 30 30 32 2e 6c 7a NO.rm.-f.out00001.lz.out00002.lz
57040 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 30 20 2d 46 20 2d 53 31 30 30 6b 20 69 6e 38 2e 6c 7a 20 7c ."${LZIP}".-0.-F.-S100k.in8.lz.|
57060 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 |.test_failed.$LINENO."${LZIP}".
57080 2d 74 20 69 6e 38 2e 6c 7a 30 30 30 30 31 2e 6c 7a 20 69 6e 38 2e 6c 7a 30 30 30 30 32 2e 6c 7a -t.in8.lz00001.lz.in8.lz00002.lz
570a0 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d .||.test_failed.$LINENO."${LZIP}
570c0 22 20 2d 63 64 20 69 6e 38 2e 6c 7a 30 30 30 30 31 2e 6c 7a 20 69 6e 38 2e 6c 7a 30 30 30 30 32 ".-cd.in8.lz00001.lz.in8.lz00002
570e0 2e 6c 7a 20 7c 20 63 6d 70 20 69 6e 38 2e 6c 7a 20 2d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 .lz.|.cmp.in8.lz.-.||.test_faile
57100 64 20 24 4c 49 4e 45 4e 4f 0a 72 6d 20 2d 66 20 69 6e 38 2e 6c 7a 30 30 30 30 31 2e 6c 7a 20 69 d.$LINENO.rm.-f.in8.lz00001.lz.i
57120 6e 38 2e 6c 7a 30 30 30 30 32 2e 6c 7a 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 30 6b 46 20 2d 62 31 n8.lz00002.lz."${LZIP}".-0kF.-b1
57140 30 30 6b 20 69 6e 38 2e 6c 7a 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 00k.in8.lz.||.test_failed.$LINEN
57160 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 20 69 6e 38 2e 6c 7a 2e 6c 7a 20 7c 7c 20 74 65 73 74 O."${LZIP}".-t.in8.lz.lz.||.test
57180 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 64 20 69 6e _failed.$LINENO."${LZIP}".-cd.in
571a0 38 2e 6c 7a 2e 6c 7a 20 7c 20 63 6d 70 20 69 6e 38 2e 6c 7a 20 2d 20 7c 7c 20 74 65 73 74 5f 66 8.lz.lz.|.cmp.in8.lz.-.||.test_f
571c0 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 72 6d 20 2d 66 20 69 6e 38 2e 6c 7a 20 69 6e 38 2e 6c ailed.$LINENO.rm.-f.in8.lz.in8.l
571e0 7a 2e 6c 7a 0a 0a 70 72 69 6e 74 66 20 22 5c 6e 74 65 73 74 69 6e 67 20 62 61 64 20 69 6e 70 75 z.lz..printf."\ntesting.bad.inpu
57200 74 2e 2e 2e 22 0a 0a 68 65 61 64 65 72 73 3d 27 4c 5a 49 70 20 4c 5a 69 50 20 4c 5a 69 70 20 4c t..."..headers='LZIp.LZiP.LZip.L
57220 7a 49 50 20 4c 7a 49 70 20 4c 7a 69 50 20 6c 5a 49 50 20 6c 5a 49 70 20 6c 5a 69 50 20 6c 7a 49 zIP.LzIp.LziP.lZIP.lZIp.lZiP.lzI
57240 50 27 0a 62 6f 64 79 3d 27 5c 30 30 31 5c 30 31 34 5c 30 30 30 5c 32 30 33 5c 33 37 37 5c 33 37 P'.body='\001\014\000\203\377\37
57260 33 5c 33 37 37 5c 33 37 37 5c 33 30 30 5c 30 30 30 5c 30 30 30 5c 30 30 30 5c 30 30 30 5c 30 30 3\377\377\300\000\000\000\000\00
57280 30 5c 30 30 30 5c 30 30 30 5c 30 30 30 5c 30 30 30 5c 30 30 30 5c 30 30 30 5c 30 30 30 5c 30 30 0\000\000\000\000\000\000\000\00
572a0 30 5c 30 30 30 5c 30 30 30 24 5c 30 30 30 5c 30 30 30 5c 30 30 30 5c 30 30 30 5c 30 30 30 5c 30 0\000\000$\000\000\000\000\000\0
572c0 30 30 5c 30 30 30 27 0a 63 61 74 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 3e 20 69 6e 30 2e 6c 7a 0a 00\000'.cat."${in_lz}".>.in0.lz.
572e0 70 72 69 6e 74 66 20 22 4c 5a 49 50 24 7b 62 6f 64 79 7d 22 20 3e 3e 20 69 6e 30 2e 6c 7a 0a 69 printf."LZIP${body}".>>.in0.lz.i
57300 66 20 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 71 20 69 6e 30 2e 6c 7a 20 3b 20 74 68 65 6e 0a 09 66 f."${LZIP}".-tq.in0.lz.;.then..f
57320 6f 72 20 68 65 61 64 65 72 20 69 6e 20 24 7b 68 65 61 64 65 72 73 7d 20 3b 20 64 6f 0a 09 09 70 or.header.in.${headers}.;.do...p
57340 72 69 6e 74 66 20 22 24 7b 68 65 61 64 65 72 7d 24 7b 62 6f 64 79 7d 22 20 3e 20 69 6e 30 2e 6c rintf."${header}${body}".>.in0.l
57360 7a 09 23 20 66 69 72 73 74 20 6d 65 6d 62 65 72 0a 09 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 6c 71 z.#.first.member..."${LZIP}".-lq
57380 20 69 6e 30 2e 6c 7a 0a 09 09 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 .in0.lz...[.$?.=.2.].||.test_fai
573a0 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 7b 68 65 61 64 65 72 7d 0a 09 09 22 24 7b 4c 5a 49 50 7d led.$LINENO.${header}..."${LZIP}
573c0 22 20 2d 74 71 20 69 6e 30 2e 6c 7a 0a 09 09 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 ".-tq.in0.lz...[.$?.=.2.].||.tes
573e0 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 7b 68 65 61 64 65 72 7d 0a 09 09 22 24 7b t_failed.$LINENO.${header}..."${
57400 4c 5a 49 50 7d 22 20 2d 6c 71 20 2d 2d 6c 6f 6f 73 65 2d 74 72 61 69 6c 69 6e 67 20 69 6e 30 2e LZIP}".-lq.--loose-trailing.in0.
57420 6c 7a 0a 09 09 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 lz...[.$?.=.2.].||.test_failed.$
57440 4c 49 4e 45 4e 4f 20 24 7b 68 65 61 64 65 72 7d 0a 09 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 71 LINENO.${header}..."${LZIP}".-tq
57460 20 2d 2d 6c 6f 6f 73 65 2d 74 72 61 69 6c 69 6e 67 20 69 6e 30 2e 6c 7a 0a 09 09 5b 20 24 3f 20 .--loose-trailing.in0.lz...[.$?.
57480 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 7b 68 =.2.].||.test_failed.$LINENO.${h
574a0 65 61 64 65 72 7d 0a 09 09 63 61 74 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 3e 20 69 6e 30 2e 6c 7a eader}...cat."${in_lz}".>.in0.lz
574c0 0a 09 09 70 72 69 6e 74 66 20 22 24 7b 68 65 61 64 65 72 7d 24 7b 62 6f 64 79 7d 22 20 3e 3e 20 ...printf."${header}${body}".>>.
574e0 69 6e 30 2e 6c 7a 09 23 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 0a 09 09 22 24 7b 4c 5a 49 50 in0.lz.#.trailing.data..."${LZIP
57500 7d 22 20 2d 6c 71 20 69 6e 30 2e 6c 7a 0a 09 09 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 }".-lq.in0.lz...[.$?.=.2.].||.te
57520 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 7b 68 65 61 64 65 72 7d 0a 09 09 22 24 st_failed.$LINENO.${header}..."$
57540 7b 4c 5a 49 50 7d 22 20 2d 74 71 20 69 6e 30 2e 6c 7a 0a 09 09 5b 20 24 3f 20 3d 20 32 20 5d 20 {LZIP}".-tq.in0.lz...[.$?.=.2.].
57560 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 7b 68 65 61 64 65 72 7d ||.test_failed.$LINENO.${header}
57580 0a 09 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 6c 71 20 2d 2d 6c 6f 6f 73 65 2d 74 72 61 69 6c 69 6e ..."${LZIP}".-lq.--loose-trailin
575a0 67 20 69 6e 30 2e 6c 7a 0a 09 09 5b 20 24 3f 20 3d 20 30 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 g.in0.lz...[.$?.=.0.].||.test_fa
575c0 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 7b 68 65 61 64 65 72 7d 0a 09 09 22 24 7b 4c 5a 49 50 iled.$LINENO.${header}..."${LZIP
575e0 7d 22 20 2d 74 20 2d 2d 6c 6f 6f 73 65 2d 74 72 61 69 6c 69 6e 67 20 69 6e 30 2e 6c 7a 0a 09 09 }".-t.--loose-trailing.in0.lz...
57600 5b 20 24 3f 20 3d 20 30 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e [.$?.=.0.].||.test_failed.$LINEN
57620 4f 20 24 7b 68 65 61 64 65 72 7d 0a 09 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 6c 71 20 2d 2d 6c 6f O.${header}..."${LZIP}".-lq.--lo
57640 6f 73 65 2d 74 72 61 69 6c 69 6e 67 20 2d 2d 74 72 61 69 6c 69 6e 67 2d 65 72 72 6f 72 20 69 6e ose-trailing.--trailing-error.in
57660 30 2e 6c 7a 0a 09 09 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 0.lz...[.$?.=.2.].||.test_failed
57680 20 24 4c 49 4e 45 4e 4f 20 24 7b 68 65 61 64 65 72 7d 0a 09 09 22 24 7b 4c 5a 49 50 7d 22 20 2d .$LINENO.${header}..."${LZIP}".-
576a0 74 71 20 2d 2d 6c 6f 6f 73 65 2d 74 72 61 69 6c 69 6e 67 20 2d 2d 74 72 61 69 6c 69 6e 67 2d 65 tq.--loose-trailing.--trailing-e
576c0 72 72 6f 72 20 69 6e 30 2e 6c 7a 0a 09 09 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 rror.in0.lz...[.$?.=.2.].||.test
576e0 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 7b 68 65 61 64 65 72 7d 0a 09 64 6f 6e 65 0a _failed.$LINENO.${header}..done.
57700 65 6c 73 65 0a 09 70 72 69 6e 74 66 20 22 5c 6e 77 61 72 6e 69 6e 67 3a 20 73 6b 69 70 70 69 6e else..printf."\nwarning:.skippin
57720 67 20 68 65 61 64 65 72 20 74 65 73 74 3a 20 27 70 72 69 6e 74 66 27 20 64 6f 65 73 20 6e 6f 74 g.header.test:.'printf'.does.not
57740 20 77 6f 72 6b 20 6f 6e 20 79 6f 75 72 20 73 79 73 74 65 6d 2e 22 0a 66 69 0a 72 6d 20 2d 66 20 .work.on.your.system.".fi.rm.-f.
57760 69 6e 30 2e 6c 7a 0a 0a 63 61 74 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 22 24 7b 69 6e 5f 6c 7a 7d in0.lz..cat."${in_lz}"."${in_lz}
57780 22 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 3e 20 69 6e 33 2e 6c 7a 20 7c 7c 20 66 72 61 6d 65 77 6f "."${in_lz}".>.in3.lz.||.framewo
577a0 72 6b 5f 66 61 69 6c 75 72 65 0a 69 66 20 64 64 20 69 66 3d 69 6e 33 2e 6c 7a 20 6f 66 3d 74 72 rk_failure.if.dd.if=in3.lz.of=tr
577c0 75 6e 63 2e 6c 7a 20 62 73 3d 31 34 37 35 32 20 63 6f 75 6e 74 3d 31 20 32 3e 20 2f 64 65 76 2f unc.lz.bs=14752.count=1.2>./dev/
577e0 6e 75 6c 6c 20 26 26 0a 20 20 20 5b 20 2d 65 20 74 72 75 6e 63 2e 6c 7a 20 5d 20 26 26 20 63 6d null.&&....[.-e.trunc.lz.].&&.cm
57800 70 20 69 6e 32 2e 6c 7a 20 74 72 75 6e 63 2e 6c 7a 20 3e 20 2f 64 65 76 2f 6e 75 6c 6c 20 32 3e p.in2.lz.trunc.lz.>./dev/null.2>
57820 26 31 20 3b 20 74 68 65 6e 0a 09 66 6f 72 20 69 20 69 6e 20 36 20 32 30 20 31 34 37 33 34 20 31 &1.;.then..for.i.in.6.20.14734.1
57840 34 37 35 33 20 31 34 37 35 34 20 31 34 37 35 35 20 31 34 37 35 36 20 31 34 37 35 37 20 31 34 37 4753.14754.14755.14756.14757.147
57860 35 38 20 3b 20 64 6f 0a 09 09 64 64 20 69 66 3d 69 6e 33 2e 6c 7a 20 6f 66 3d 74 72 75 6e 63 2e 58.;.do...dd.if=in3.lz.of=trunc.
57880 6c 7a 20 62 73 3d 24 69 20 63 6f 75 6e 74 3d 31 20 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c 0a 09 09 lz.bs=$i.count=1.2>./dev/null...
578a0 22 24 7b 4c 5a 49 50 7d 22 20 2d 6c 71 20 74 72 75 6e 63 2e 6c 7a 0a 09 09 5b 20 24 3f 20 3d 20 "${LZIP}".-lq.trunc.lz...[.$?.=.
578c0 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 69 0a 09 09 2.].||.test_failed.$LINENO.$i...
578e0 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 71 20 74 72 75 6e 63 2e 6c 7a 0a 09 09 5b 20 24 3f 20 3d 20 "${LZIP}".-tq.trunc.lz...[.$?.=.
57900 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 69 0a 09 09 2.].||.test_failed.$LINENO.$i...
57920 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 71 20 3c 20 74 72 75 6e 63 2e 6c 7a 0a 09 09 5b 20 24 3f 20 "${LZIP}".-tq.<.trunc.lz...[.$?.
57940 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 69 0a =.2.].||.test_failed.$LINENO.$i.
57960 09 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 64 71 20 74 72 75 6e 63 2e 6c 7a 20 3e 20 6f 75 74 0a .."${LZIP}".-cdq.trunc.lz.>.out.
57980 09 09 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e ..[.$?.=.2.].||.test_failed.$LIN
579a0 45 4e 4f 20 24 69 0a 09 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 64 71 20 3c 20 74 72 75 6e 63 2e 6c ENO.$i..."${LZIP}".-dq.<.trunc.l
579c0 7a 20 3e 20 6f 75 74 0a 09 09 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 z.>.out...[.$?.=.2.].||.test_fai
579e0 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 69 0a 09 64 6f 6e 65 0a 65 6c 73 65 0a 09 70 72 69 6e 74 led.$LINENO.$i..done.else..print
57a00 66 20 22 5c 6e 77 61 72 6e 69 6e 67 3a 20 73 6b 69 70 70 69 6e 67 20 74 72 75 6e 63 61 74 69 6f f."\nwarning:.skipping.truncatio
57a20 6e 20 74 65 73 74 3a 20 27 64 64 27 20 64 6f 65 73 20 6e 6f 74 20 77 6f 72 6b 20 6f 6e 20 79 6f n.test:.'dd'.does.not.work.on.yo
57a40 75 72 20 73 79 73 74 65 6d 2e 22 0a 66 69 0a 72 6d 20 2d 66 20 69 6e 33 2e 6c 7a 20 74 72 75 6e ur.system.".fi.rm.-f.in3.lz.trun
57a60 63 2e 6c 7a 0a 0a 63 61 74 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 3e 20 69 6e 67 69 6e 2e 6c 7a 20 c.lz..cat."${in_lz}".>.ingin.lz.
57a80 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 70 72 69 6e 74 66 20 22 67 22 20 ||.framework_failure.printf."g".
57aa0 3e 3e 20 69 6e 67 69 6e 2e 6c 7a 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 >>.ingin.lz.||.framework_failure
57ac0 0a 63 61 74 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 3e 3e 20 69 6e 67 69 6e 2e 6c 7a 20 7c 7c 20 66 .cat."${in_lz}".>>.ingin.lz.||.f
57ae0 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 6c 71 20 69 ramework_failure."${LZIP}".-lq.i
57b00 6e 67 69 6e 2e 6c 7a 0a 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 ngin.lz.[.$?.=.2.].||.test_faile
57b20 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 20 69 6e 67 69 6e 2e 6c 7a 20 d.$LINENO."${LZIP}".-t.ingin.lz.
57b40 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 ||.test_failed.$LINENO."${LZIP}"
57b60 20 2d 63 64 20 69 6e 67 69 6e 2e 6c 7a 20 3e 20 63 6f 70 79 20 7c 7c 20 74 65 73 74 5f 66 61 69 .-cd.ingin.lz.>.copy.||.test_fai
57b80 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 63 6d 70 20 69 6e 20 63 6f 70 79 20 7c 7c 20 74 65 73 74 5f led.$LINENO.cmp.in.copy.||.test_
57ba0 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 20 3c 20 69 6e failed.$LINENO."${LZIP}".-t.<.in
57bc0 67 69 6e 2e 6c 7a 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 gin.lz.||.test_failed.$LINENO."$
57be0 7b 4c 5a 49 50 7d 22 20 2d 64 20 3c 20 69 6e 67 69 6e 2e 6c 7a 20 3e 20 63 6f 70 79 20 7c 7c 20 {LZIP}".-d.<.ingin.lz.>.copy.||.
57c00 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 63 6d 70 20 69 6e 20 63 6f 70 79 20 test_failed.$LINENO.cmp.in.copy.
57c20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 72 6d 20 2d 66 20 69 6e 67 ||.test_failed.$LINENO.rm.-f.ing
57c40 69 6e 2e 6c 7a 0a 0a 65 63 68 6f 0a 69 66 20 5b 20 24 7b 66 61 69 6c 7d 20 3d 20 30 20 5d 20 3b in.lz..echo.if.[.${fail}.=.0.].;
57c60 20 74 68 65 6e 0a 09 65 63 68 6f 20 22 74 65 73 74 73 20 63 6f 6d 70 6c 65 74 65 64 20 73 75 63 .then..echo."tests.completed.suc
57c80 63 65 73 73 66 75 6c 6c 79 2e 22 0a 09 63 64 20 22 24 7b 6f 62 6a 64 69 72 7d 22 20 26 26 20 72 cessfully."..cd."${objdir}".&&.r
57ca0 6d 20 2d 72 20 74 6d 70 0a 65 6c 73 65 0a 09 65 63 68 6f 20 22 74 65 73 74 73 20 66 61 69 6c 65 m.-r.tmp.else..echo."tests.faile
57cc0 64 2e 22 0a 66 69 0a 65 78 69 74 20 24 7b 66 61 69 6c 7d 0a 00 00 00 00 00 00 00 00 00 00 00 00 d.".fi.exit.${fail}.............
57ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57e00 6c 7a 69 70 2d 31 2e 32 30 2f 74 65 73 74 73 75 69 74 65 2f 74 65 73 74 2e 74 78 74 00 00 00 00 lzip-1.20/testsuite/test.txt....
57e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57e60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
57e80 30 31 30 37 30 34 34 00 31 33 36 36 34 37 33 36 35 34 35 00 30 31 36 33 34 34 00 20 30 00 00 00 0107044.13664736545.016344..0...
57ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57f00 00 75 73 74 61 72 20 20 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...mohammad...............
57f20 00 00 00 00 00 00 00 00 00 6d 6f 68 61 6d 6d 61 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........mohammad...............
57f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 47 4e 55 20 47 45 4e 45 52 41 4c 20 ....................GNU.GENERAL.
58020 50 55 42 4c 49 43 20 4c 49 43 45 4e 53 45 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 PUBLIC.LICENSE..................
58040 20 20 20 20 20 20 56 65 72 73 69 6f 6e 20 32 2c 20 4a 75 6e 65 20 31 39 39 31 0a 0a 20 43 6f 70 ......Version.2,.June.1991...Cop
58060 79 72 69 67 68 74 20 28 43 29 20 31 39 38 39 2c 20 31 39 39 31 20 46 72 65 65 20 53 6f 66 74 77 yright.(C).1989,.1991.Free.Softw
58080 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 2c 0a 20 35 31 20 46 72 61 6e 6b 6c are.Foundation,.Inc.,..51.Frankl
580a0 69 6e 20 53 74 72 65 65 74 2c 20 46 69 66 74 68 20 46 6c 6f 6f 72 2c 20 42 6f 73 74 6f 6e 2c 20 in.Street,.Fifth.Floor,.Boston,.
580c0 4d 41 20 30 32 31 31 30 2d 31 33 30 31 20 55 53 41 0a 20 45 76 65 72 79 6f 6e 65 20 69 73 20 70 MA.02110-1301.USA..Everyone.is.p
580e0 65 72 6d 69 74 74 65 64 20 74 6f 20 63 6f 70 79 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 ermitted.to.copy.and.distribute.
58100 76 65 72 62 61 74 69 6d 20 63 6f 70 69 65 73 0a 20 6f 66 20 74 68 69 73 20 6c 69 63 65 6e 73 65 verbatim.copies..of.this.license
58120 20 64 6f 63 75 6d 65 6e 74 2c 20 62 75 74 20 63 68 61 6e 67 69 6e 67 20 69 74 20 69 73 20 6e 6f .document,.but.changing.it.is.no
58140 74 20 61 6c 6c 6f 77 65 64 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.allowed.......................
58160 20 20 20 20 20 20 20 20 50 72 65 61 6d 62 6c 65 0a 0a 20 20 54 68 65 20 6c 69 63 65 6e 73 65 73 ........Preamble....The.licenses
58180 20 66 6f 72 20 6d 6f 73 74 20 73 6f 66 74 77 61 72 65 20 61 72 65 20 64 65 73 69 67 6e 65 64 20 .for.most.software.are.designed.
581a0 74 6f 20 74 61 6b 65 20 61 77 61 79 20 79 6f 75 72 0a 66 72 65 65 64 6f 6d 20 74 6f 20 73 68 61 to.take.away.your.freedom.to.sha
581c0 72 65 20 61 6e 64 20 63 68 61 6e 67 65 20 69 74 2e 20 20 42 79 20 63 6f 6e 74 72 61 73 74 2c 20 re.and.change.it...By.contrast,.
581e0 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 0a 4c 69 63 65 6e 73 65 20 69 the.GNU.General.Public.License.i
58200 73 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 67 75 61 72 61 6e 74 65 65 20 79 6f 75 72 20 66 72 65 s.intended.to.guarantee.your.fre
58220 65 64 6f 6d 20 74 6f 20 73 68 61 72 65 20 61 6e 64 20 63 68 61 6e 67 65 20 66 72 65 65 0a 73 6f edom.to.share.and.change.free.so
58240 66 74 77 61 72 65 2d 2d 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 74 68 65 20 73 6f 66 74 77 61 72 ftware--to.make.sure.the.softwar
58260 65 20 69 73 20 66 72 65 65 20 66 6f 72 20 61 6c 6c 20 69 74 73 20 75 73 65 72 73 2e 20 20 54 68 e.is.free.for.all.its.users...Th
58280 69 73 0a 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 70 70 6c 69 65 is.General.Public.License.applie
582a0 73 20 74 6f 20 6d 6f 73 74 20 6f 66 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 0a 46 s.to.most.of.the.Free.Software.F
582c0 6f 75 6e 64 61 74 69 6f 6e 27 73 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 74 6f 20 61 6e 79 20 oundation's.software.and.to.any.
582e0 6f 74 68 65 72 20 70 72 6f 67 72 61 6d 20 77 68 6f 73 65 20 61 75 74 68 6f 72 73 20 63 6f 6d 6d other.program.whose.authors.comm
58300 69 74 20 74 6f 0a 75 73 69 6e 67 20 69 74 2e 20 20 28 53 6f 6d 65 20 6f 74 68 65 72 20 46 72 65 it.to.using.it...(Some.other.Fre
58320 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 20 73 6f 66 74 77 61 72 65 20 69 e.Software.Foundation.software.i
58340 73 20 63 6f 76 65 72 65 64 20 62 79 0a 74 68 65 20 47 4e 55 20 4c 65 73 73 65 72 20 47 65 6e 65 s.covered.by.the.GNU.Lesser.Gene
58360 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 69 6e 73 74 65 61 64 2e 29 20 20 59 6f ral.Public.License.instead.)..Yo
58380 75 20 63 61 6e 20 61 70 70 6c 79 20 69 74 20 74 6f 0a 79 6f 75 72 20 70 72 6f 67 72 61 6d 73 2c u.can.apply.it.to.your.programs,
583a0 20 74 6f 6f 2e 0a 0a 20 20 57 68 65 6e 20 77 65 20 73 70 65 61 6b 20 6f 66 20 66 72 65 65 20 73 .too.....When.we.speak.of.free.s
583c0 6f 66 74 77 61 72 65 2c 20 77 65 20 61 72 65 20 72 65 66 65 72 72 69 6e 67 20 74 6f 20 66 72 65 oftware,.we.are.referring.to.fre
583e0 65 64 6f 6d 2c 20 6e 6f 74 0a 70 72 69 63 65 2e 20 20 4f 75 72 20 47 65 6e 65 72 61 6c 20 50 75 edom,.not.price...Our.General.Pu
58400 62 6c 69 63 20 4c 69 63 65 6e 73 65 73 20 61 72 65 20 64 65 73 69 67 6e 65 64 20 74 6f 20 6d 61 blic.Licenses.are.designed.to.ma
58420 6b 65 20 73 75 72 65 20 74 68 61 74 20 79 6f 75 0a 68 61 76 65 20 74 68 65 20 66 72 65 65 64 6f ke.sure.that.you.have.the.freedo
58440 6d 20 74 6f 20 64 69 73 74 72 69 62 75 74 65 20 63 6f 70 69 65 73 20 6f 66 20 66 72 65 65 20 73 m.to.distribute.copies.of.free.s
58460 6f 66 74 77 61 72 65 20 28 61 6e 64 20 63 68 61 72 67 65 20 66 6f 72 0a 74 68 69 73 20 73 65 72 oftware.(and.charge.for.this.ser
58480 76 69 63 65 20 69 66 20 79 6f 75 20 77 69 73 68 29 2c 20 74 68 61 74 20 79 6f 75 20 72 65 63 65 vice.if.you.wish),.that.you.rece
584a0 69 76 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 6f 72 20 63 61 6e 20 67 65 74 20 69 74 0a 69 66 ive.source.code.or.can.get.it.if
584c0 20 79 6f 75 20 77 61 6e 74 20 69 74 2c 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 63 68 61 6e 67 .you.want.it,.that.you.can.chang
584e0 65 20 74 68 65 20 73 6f 66 74 77 61 72 65 20 6f 72 20 75 73 65 20 70 69 65 63 65 73 20 6f 66 20 e.the.software.or.use.pieces.of.
58500 69 74 0a 69 6e 20 6e 65 77 20 66 72 65 65 20 70 72 6f 67 72 61 6d 73 3b 20 61 6e 64 20 74 68 61 it.in.new.free.programs;.and.tha
58520 74 20 79 6f 75 20 6b 6e 6f 77 20 79 6f 75 20 63 61 6e 20 64 6f 20 74 68 65 73 65 20 74 68 69 6e t.you.know.you.can.do.these.thin
58540 67 73 2e 0a 0a 20 20 54 6f 20 70 72 6f 74 65 63 74 20 79 6f 75 72 20 72 69 67 68 74 73 2c 20 77 gs.....To.protect.your.rights,.w
58560 65 20 6e 65 65 64 20 74 6f 20 6d 61 6b 65 20 72 65 73 74 72 69 63 74 69 6f 6e 73 20 74 68 61 74 e.need.to.make.restrictions.that
58580 20 66 6f 72 62 69 64 0a 61 6e 79 6f 6e 65 20 74 6f 20 64 65 6e 79 20 79 6f 75 20 74 68 65 73 65 .forbid.anyone.to.deny.you.these
585a0 20 72 69 67 68 74 73 20 6f 72 20 74 6f 20 61 73 6b 20 79 6f 75 20 74 6f 20 73 75 72 72 65 6e 64 .rights.or.to.ask.you.to.surrend
585c0 65 72 20 74 68 65 20 72 69 67 68 74 73 2e 0a 54 68 65 73 65 20 72 65 73 74 72 69 63 74 69 6f 6e er.the.rights..These.restriction
585e0 73 20 74 72 61 6e 73 6c 61 74 65 20 74 6f 20 63 65 72 74 61 69 6e 20 72 65 73 70 6f 6e 73 69 62 s.translate.to.certain.responsib
58600 69 6c 69 74 69 65 73 20 66 6f 72 20 79 6f 75 20 69 66 20 79 6f 75 0a 64 69 73 74 72 69 62 75 74 ilities.for.you.if.you.distribut
58620 65 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 73 6f 66 74 77 61 72 65 2c 20 6f 72 20 69 66 20 e.copies.of.the.software,.or.if.
58640 79 6f 75 20 6d 6f 64 69 66 79 20 69 74 2e 0a 0a 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 69 you.modify.it.....For.example,.i
58660 66 20 79 6f 75 20 64 69 73 74 72 69 62 75 74 65 20 63 6f 70 69 65 73 20 6f 66 20 73 75 63 68 20 f.you.distribute.copies.of.such.
58680 61 20 70 72 6f 67 72 61 6d 2c 20 77 68 65 74 68 65 72 0a 67 72 61 74 69 73 20 6f 72 20 66 6f 72 a.program,.whether.gratis.or.for
586a0 20 61 20 66 65 65 2c 20 79 6f 75 20 6d 75 73 74 20 67 69 76 65 20 74 68 65 20 72 65 63 69 70 69 .a.fee,.you.must.give.the.recipi
586c0 65 6e 74 73 20 61 6c 6c 20 74 68 65 20 72 69 67 68 74 73 20 74 68 61 74 0a 79 6f 75 20 68 61 76 ents.all.the.rights.that.you.hav
586e0 65 2e 20 20 59 6f 75 20 6d 75 73 74 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 20 74 68 65 79 e...You.must.make.sure.that.they
58700 2c 20 74 6f 6f 2c 20 72 65 63 65 69 76 65 20 6f 72 20 63 61 6e 20 67 65 74 20 74 68 65 0a 73 6f ,.too,.receive.or.can.get.the.so
58720 75 72 63 65 20 63 6f 64 65 2e 20 20 41 6e 64 20 79 6f 75 20 6d 75 73 74 20 73 68 6f 77 20 74 68 urce.code...And.you.must.show.th
58740 65 6d 20 74 68 65 73 65 20 74 65 72 6d 73 20 73 6f 20 74 68 65 79 20 6b 6e 6f 77 20 74 68 65 69 em.these.terms.so.they.know.thei
58760 72 0a 72 69 67 68 74 73 2e 0a 0a 20 20 57 65 20 70 72 6f 74 65 63 74 20 79 6f 75 72 20 72 69 67 r.rights.....We.protect.your.rig
58780 68 74 73 20 77 69 74 68 20 74 77 6f 20 73 74 65 70 73 3a 20 28 31 29 20 63 6f 70 79 72 69 67 68 hts.with.two.steps:.(1).copyrigh
587a0 74 20 74 68 65 20 73 6f 66 74 77 61 72 65 2c 20 61 6e 64 0a 28 32 29 20 6f 66 66 65 72 20 79 6f t.the.software,.and.(2).offer.yo
587c0 75 20 74 68 69 73 20 6c 69 63 65 6e 73 65 20 77 68 69 63 68 20 67 69 76 65 73 20 79 6f 75 20 6c u.this.license.which.gives.you.l
587e0 65 67 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 63 6f 70 79 2c 0a 64 69 73 74 72 69 62 egal.permission.to.copy,.distrib
58800 75 74 65 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 20 74 68 65 20 73 6f 66 74 77 61 72 65 2e 0a ute.and/or.modify.the.software..
58820 0a 20 20 41 6c 73 6f 2c 20 66 6f 72 20 65 61 63 68 20 61 75 74 68 6f 72 27 73 20 70 72 6f 74 65 ...Also,.for.each.author's.prote
58840 63 74 69 6f 6e 20 61 6e 64 20 6f 75 72 73 2c 20 77 65 20 77 61 6e 74 20 74 6f 20 6d 61 6b 65 20 ction.and.ours,.we.want.to.make.
58860 63 65 72 74 61 69 6e 0a 74 68 61 74 20 65 76 65 72 79 6f 6e 65 20 75 6e 64 65 72 73 74 61 6e 64 certain.that.everyone.understand
58880 73 20 74 68 61 74 20 74 68 65 72 65 20 69 73 20 6e 6f 20 77 61 72 72 61 6e 74 79 20 66 6f 72 20 s.that.there.is.no.warranty.for.
588a0 74 68 69 73 20 66 72 65 65 0a 73 6f 66 74 77 61 72 65 2e 20 20 49 66 20 74 68 65 20 73 6f 66 74 this.free.software...If.the.soft
588c0 77 61 72 65 20 69 73 20 6d 6f 64 69 66 69 65 64 20 62 79 20 73 6f 6d 65 6f 6e 65 20 65 6c 73 65 ware.is.modified.by.someone.else
588e0 20 61 6e 64 20 70 61 73 73 65 64 20 6f 6e 2c 20 77 65 0a 77 61 6e 74 20 69 74 73 20 72 65 63 69 .and.passed.on,.we.want.its.reci
58900 70 69 65 6e 74 73 20 74 6f 20 6b 6e 6f 77 20 74 68 61 74 20 77 68 61 74 20 74 68 65 79 20 68 61 pients.to.know.that.what.they.ha
58920 76 65 20 69 73 20 6e 6f 74 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 2c 20 73 6f 0a 74 68 61 74 20 ve.is.not.the.original,.so.that.
58940 61 6e 79 20 70 72 6f 62 6c 65 6d 73 20 69 6e 74 72 6f 64 75 63 65 64 20 62 79 20 6f 74 68 65 72 any.problems.introduced.by.other
58960 73 20 77 69 6c 6c 20 6e 6f 74 20 72 65 66 6c 65 63 74 20 6f 6e 20 74 68 65 20 6f 72 69 67 69 6e s.will.not.reflect.on.the.origin
58980 61 6c 0a 61 75 74 68 6f 72 73 27 20 72 65 70 75 74 61 74 69 6f 6e 73 2e 0a 0a 20 20 46 69 6e 61 al.authors'.reputations.....Fina
589a0 6c 6c 79 2c 20 61 6e 79 20 66 72 65 65 20 70 72 6f 67 72 61 6d 20 69 73 20 74 68 72 65 61 74 65 lly,.any.free.program.is.threate
589c0 6e 65 64 20 63 6f 6e 73 74 61 6e 74 6c 79 20 62 79 20 73 6f 66 74 77 61 72 65 0a 70 61 74 65 6e ned.constantly.by.software.paten
589e0 74 73 2e 20 20 57 65 20 77 69 73 68 20 74 6f 20 61 76 6f 69 64 20 74 68 65 20 64 61 6e 67 65 72 ts...We.wish.to.avoid.the.danger
58a00 20 74 68 61 74 20 72 65 64 69 73 74 72 69 62 75 74 6f 72 73 20 6f 66 20 61 20 66 72 65 65 0a 70 .that.redistributors.of.a.free.p
58a20 72 6f 67 72 61 6d 20 77 69 6c 6c 20 69 6e 64 69 76 69 64 75 61 6c 6c 79 20 6f 62 74 61 69 6e 20 rogram.will.individually.obtain.
58a40 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 73 2c 20 69 6e 20 65 66 66 65 63 74 20 6d 61 6b 69 6e patent.licenses,.in.effect.makin
58a60 67 20 74 68 65 0a 70 72 6f 67 72 61 6d 20 70 72 6f 70 72 69 65 74 61 72 79 2e 20 20 54 6f 20 70 g.the.program.proprietary...To.p
58a80 72 65 76 65 6e 74 20 74 68 69 73 2c 20 77 65 20 68 61 76 65 20 6d 61 64 65 20 69 74 20 63 6c 65 revent.this,.we.have.made.it.cle
58aa0 61 72 20 74 68 61 74 20 61 6e 79 0a 70 61 74 65 6e 74 20 6d 75 73 74 20 62 65 20 6c 69 63 65 6e ar.that.any.patent.must.be.licen
58ac0 73 65 64 20 66 6f 72 20 65 76 65 72 79 6f 6e 65 27 73 20 66 72 65 65 20 75 73 65 20 6f 72 20 6e sed.for.everyone's.free.use.or.n
58ae0 6f 74 20 6c 69 63 65 6e 73 65 64 20 61 74 20 61 6c 6c 2e 0a 0a 20 20 54 68 65 20 70 72 65 63 69 ot.licensed.at.all.....The.preci
58b00 73 65 20 74 65 72 6d 73 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 73 20 66 6f 72 20 63 6f 70 79 se.terms.and.conditions.for.copy
58b20 69 6e 67 2c 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 61 6e 64 0a 6d 6f 64 69 66 69 63 61 74 69 ing,.distribution.and.modificati
58b40 6f 6e 20 66 6f 6c 6c 6f 77 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 on.follow.......................
58b60 47 4e 55 20 47 45 4e 45 52 41 4c 20 50 55 42 4c 49 43 20 4c 49 43 45 4e 53 45 0a 20 20 20 54 45 GNU.GENERAL.PUBLIC.LICENSE....TE
58b80 52 4d 53 20 41 4e 44 20 43 4f 4e 44 49 54 49 4f 4e 53 20 46 4f 52 20 43 4f 50 59 49 4e 47 2c 20 RMS.AND.CONDITIONS.FOR.COPYING,.
58ba0 44 49 53 54 52 49 42 55 54 49 4f 4e 20 41 4e 44 20 4d 4f 44 49 46 49 43 41 54 49 4f 4e 0a 0a 20 DISTRIBUTION.AND.MODIFICATION...
58bc0 20 30 2e 20 54 68 69 73 20 4c 69 63 65 6e 73 65 20 61 70 70 6c 69 65 73 20 74 6f 20 61 6e 79 20 .0..This.License.applies.to.any.
58be0 70 72 6f 67 72 61 6d 20 6f 72 20 6f 74 68 65 72 20 77 6f 72 6b 20 77 68 69 63 68 20 63 6f 6e 74 program.or.other.work.which.cont
58c00 61 69 6e 73 0a 61 20 6e 6f 74 69 63 65 20 70 6c 61 63 65 64 20 62 79 20 74 68 65 20 63 6f 70 79 ains.a.notice.placed.by.the.copy
58c20 72 69 67 68 74 20 68 6f 6c 64 65 72 20 73 61 79 69 6e 67 20 69 74 20 6d 61 79 20 62 65 20 64 69 right.holder.saying.it.may.be.di
58c40 73 74 72 69 62 75 74 65 64 0a 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 69 stributed.under.the.terms.of.thi
58c60 73 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2e 20 20 54 68 65 20 22 s.General.Public.License...The."
58c80 50 72 6f 67 72 61 6d 22 2c 20 62 65 6c 6f 77 2c 0a 72 65 66 65 72 73 20 74 6f 20 61 6e 79 20 73 Program",.below,.refers.to.any.s
58ca0 75 63 68 20 70 72 6f 67 72 61 6d 20 6f 72 20 77 6f 72 6b 2c 20 61 6e 64 20 61 20 22 77 6f 72 6b uch.program.or.work,.and.a."work
58cc0 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 22 0a 6d 65 61 6e 73 20 65 69 74 .based.on.the.Program".means.eit
58ce0 68 65 72 20 74 68 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 61 6e 79 20 64 65 72 69 76 61 74 69 76 her.the.Program.or.any.derivativ
58d00 65 20 77 6f 72 6b 20 75 6e 64 65 72 20 63 6f 70 79 72 69 67 68 74 20 6c 61 77 3a 0a 74 68 61 74 e.work.under.copyright.law:.that
58d20 20 69 73 20 74 6f 20 73 61 79 2c 20 61 20 77 6f 72 6b 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 .is.to.say,.a.work.containing.th
58d40 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 61 20 70 6f 72 74 69 6f 6e 20 6f 66 20 69 74 2c 0a 65 69 e.Program.or.a.portion.of.it,.ei
58d60 74 68 65 72 20 76 65 72 62 61 74 69 6d 20 6f 72 20 77 69 74 68 20 6d 6f 64 69 66 69 63 61 74 69 ther.verbatim.or.with.modificati
58d80 6f 6e 73 20 61 6e 64 2f 6f 72 20 74 72 61 6e 73 6c 61 74 65 64 20 69 6e 74 6f 20 61 6e 6f 74 68 ons.and/or.translated.into.anoth
58da0 65 72 0a 6c 61 6e 67 75 61 67 65 2e 20 20 28 48 65 72 65 69 6e 61 66 74 65 72 2c 20 74 72 61 6e er.language...(Hereinafter,.tran
58dc0 73 6c 61 74 69 6f 6e 20 69 73 20 69 6e 63 6c 75 64 65 64 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 slation.is.included.without.limi
58de0 74 61 74 69 6f 6e 20 69 6e 0a 74 68 65 20 74 65 72 6d 20 22 6d 6f 64 69 66 69 63 61 74 69 6f 6e tation.in.the.term."modification
58e00 22 2e 29 20 20 45 61 63 68 20 6c 69 63 65 6e 73 65 65 20 69 73 20 61 64 64 72 65 73 73 65 64 20 ".)..Each.licensee.is.addressed.
58e20 61 73 20 22 79 6f 75 22 2e 0a 0a 41 63 74 69 76 69 74 69 65 73 20 6f 74 68 65 72 20 74 68 61 6e as."you"...Activities.other.than
58e40 20 63 6f 70 79 69 6e 67 2c 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 61 6e 64 20 6d 6f 64 69 66 .copying,.distribution.and.modif
58e60 69 63 61 74 69 6f 6e 20 61 72 65 20 6e 6f 74 0a 63 6f 76 65 72 65 64 20 62 79 20 74 68 69 73 20 ication.are.not.covered.by.this.
58e80 4c 69 63 65 6e 73 65 3b 20 74 68 65 79 20 61 72 65 20 6f 75 74 73 69 64 65 20 69 74 73 20 73 63 License;.they.are.outside.its.sc
58ea0 6f 70 65 2e 20 20 54 68 65 20 61 63 74 20 6f 66 0a 72 75 6e 6e 69 6e 67 20 74 68 65 20 50 72 6f ope...The.act.of.running.the.Pro
58ec0 67 72 61 6d 20 69 73 20 6e 6f 74 20 72 65 73 74 72 69 63 74 65 64 2c 20 61 6e 64 20 74 68 65 20 gram.is.not.restricted,.and.the.
58ee0 6f 75 74 70 75 74 20 66 72 6f 6d 20 74 68 65 20 50 72 6f 67 72 61 6d 0a 69 73 20 63 6f 76 65 72 output.from.the.Program.is.cover
58f00 65 64 20 6f 6e 6c 79 20 69 66 20 69 74 73 20 63 6f 6e 74 65 6e 74 73 20 63 6f 6e 73 74 69 74 75 ed.only.if.its.contents.constitu
58f20 74 65 20 61 20 77 6f 72 6b 20 62 61 73 65 64 20 6f 6e 20 74 68 65 0a 50 72 6f 67 72 61 6d 20 28 te.a.work.based.on.the.Program.(
58f40 69 6e 64 65 70 65 6e 64 65 6e 74 20 6f 66 20 68 61 76 69 6e 67 20 62 65 65 6e 20 6d 61 64 65 20 independent.of.having.been.made.
58f60 62 79 20 72 75 6e 6e 69 6e 67 20 74 68 65 20 50 72 6f 67 72 61 6d 29 2e 0a 57 68 65 74 68 65 72 by.running.the.Program)..Whether
58f80 20 74 68 61 74 20 69 73 20 74 72 75 65 20 64 65 70 65 6e 64 73 20 6f 6e 20 77 68 61 74 20 74 68 .that.is.true.depends.on.what.th
58fa0 65 20 50 72 6f 67 72 61 6d 20 64 6f 65 73 2e 0a 0a 20 20 31 2e 20 59 6f 75 20 6d 61 79 20 63 6f e.Program.does.....1..You.may.co
58fc0 70 79 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 76 65 72 62 61 74 69 6d 20 63 6f 70 69 65 py.and.distribute.verbatim.copie
58fe0 73 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 27 73 0a 73 6f 75 72 63 65 20 63 6f 64 65 20 61 s.of.the.Program's.source.code.a
59000 73 20 79 6f 75 20 72 65 63 65 69 76 65 20 69 74 2c 20 69 6e 20 61 6e 79 20 6d 65 64 69 75 6d 2c s.you.receive.it,.in.any.medium,
59020 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 0a 63 6f 6e 73 70 69 63 75 6f 75 73 6c 79 .provided.that.you.conspicuously
59040 20 61 6e 64 20 61 70 70 72 6f 70 72 69 61 74 65 6c 79 20 70 75 62 6c 69 73 68 20 6f 6e 20 65 61 .and.appropriately.publish.on.ea
59060 63 68 20 63 6f 70 79 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65 0a 63 6f 70 79 72 69 67 68 74 ch.copy.an.appropriate.copyright
59080 20 6e 6f 74 69 63 65 20 61 6e 64 20 64 69 73 63 6c 61 69 6d 65 72 20 6f 66 20 77 61 72 72 61 6e .notice.and.disclaimer.of.warran
590a0 74 79 3b 20 6b 65 65 70 20 69 6e 74 61 63 74 20 61 6c 6c 20 74 68 65 0a 6e 6f 74 69 63 65 73 20 ty;.keep.intact.all.the.notices.
590c0 74 68 61 74 20 72 65 66 65 72 20 74 6f 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 6e 64 20 74 that.refer.to.this.License.and.t
590e0 6f 20 74 68 65 20 61 62 73 65 6e 63 65 20 6f 66 20 61 6e 79 20 77 61 72 72 61 6e 74 79 3b 0a 61 o.the.absence.of.any.warranty;.a
59100 6e 64 20 67 69 76 65 20 61 6e 79 20 6f 74 68 65 72 20 72 65 63 69 70 69 65 6e 74 73 20 6f 66 20 nd.give.any.other.recipients.of.
59120 74 68 65 20 50 72 6f 67 72 61 6d 20 61 20 63 6f 70 79 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e the.Program.a.copy.of.this.Licen
59140 73 65 0a 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a 59 6f 75 20 se.along.with.the.Program...You.
59160 6d 61 79 20 63 68 61 72 67 65 20 61 20 66 65 65 20 66 6f 72 20 74 68 65 20 70 68 79 73 69 63 61 may.charge.a.fee.for.the.physica
59180 6c 20 61 63 74 20 6f 66 20 74 72 61 6e 73 66 65 72 72 69 6e 67 20 61 20 63 6f 70 79 2c 20 61 6e l.act.of.transferring.a.copy,.an
591a0 64 0a 79 6f 75 20 6d 61 79 20 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 20 6f 66 66 65 72 20 77 d.you.may.at.your.option.offer.w
591c0 61 72 72 61 6e 74 79 20 70 72 6f 74 65 63 74 69 6f 6e 20 69 6e 20 65 78 63 68 61 6e 67 65 20 66 arranty.protection.in.exchange.f
591e0 6f 72 20 61 20 66 65 65 2e 0a 0a 20 20 32 2e 20 59 6f 75 20 6d 61 79 20 6d 6f 64 69 66 79 20 79 or.a.fee.....2..You.may.modify.y
59200 6f 75 72 20 63 6f 70 79 20 6f 72 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 our.copy.or.copies.of.the.Progra
59220 6d 20 6f 72 20 61 6e 79 20 70 6f 72 74 69 6f 6e 0a 6f 66 20 69 74 2c 20 74 68 75 73 20 66 6f 72 m.or.any.portion.of.it,.thus.for
59240 6d 69 6e 67 20 61 20 77 6f 72 6b 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d ming.a.work.based.on.the.Program
59260 2c 20 61 6e 64 20 63 6f 70 79 20 61 6e 64 0a 64 69 73 74 72 69 62 75 74 65 20 73 75 63 68 20 6d ,.and.copy.and.distribute.such.m
59280 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 6f 72 20 77 6f 72 6b 20 75 6e 64 65 72 20 74 68 65 20 74 odifications.or.work.under.the.t
592a0 65 72 6d 73 20 6f 66 20 53 65 63 74 69 6f 6e 20 31 0a 61 62 6f 76 65 2c 20 70 72 6f 76 69 64 65 erms.of.Section.1.above,.provide
592c0 64 20 74 68 61 74 20 79 6f 75 20 61 6c 73 6f 20 6d 65 65 74 20 61 6c 6c 20 6f 66 20 74 68 65 73 d.that.you.also.meet.all.of.thes
592e0 65 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 20 20 20 20 61 29 20 59 6f 75 20 6d 75 73 74 20 63 e.conditions:......a).You.must.c
59300 61 75 73 65 20 74 68 65 20 6d 6f 64 69 66 69 65 64 20 66 69 6c 65 73 20 74 6f 20 63 61 72 72 79 ause.the.modified.files.to.carry
59320 20 70 72 6f 6d 69 6e 65 6e 74 20 6e 6f 74 69 63 65 73 0a 20 20 20 20 73 74 61 74 69 6e 67 20 74 .prominent.notices.....stating.t
59340 68 61 74 20 79 6f 75 20 63 68 61 6e 67 65 64 20 74 68 65 20 66 69 6c 65 73 20 61 6e 64 20 74 68 hat.you.changed.the.files.and.th
59360 65 20 64 61 74 65 20 6f 66 20 61 6e 79 20 63 68 61 6e 67 65 2e 0a 0a 20 20 20 20 62 29 20 59 6f e.date.of.any.change.......b).Yo
59380 75 20 6d 75 73 74 20 63 61 75 73 65 20 61 6e 79 20 77 6f 72 6b 20 74 68 61 74 20 79 6f 75 20 64 u.must.cause.any.work.that.you.d
593a0 69 73 74 72 69 62 75 74 65 20 6f 72 20 70 75 62 6c 69 73 68 2c 20 74 68 61 74 20 69 6e 0a 20 20 istribute.or.publish,.that.in...
593c0 20 20 77 68 6f 6c 65 20 6f 72 20 69 6e 20 70 61 72 74 20 63 6f 6e 74 61 69 6e 73 20 6f 72 20 69 ..whole.or.in.part.contains.or.i
593e0 73 20 64 65 72 69 76 65 64 20 66 72 6f 6d 20 74 68 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 61 6e s.derived.from.the.Program.or.an
59400 79 0a 20 20 20 20 70 61 72 74 20 74 68 65 72 65 6f 66 2c 20 74 6f 20 62 65 20 6c 69 63 65 6e 73 y.....part.thereof,.to.be.licens
59420 65 64 20 61 73 20 61 20 77 68 6f 6c 65 20 61 74 20 6e 6f 20 63 68 61 72 67 65 20 74 6f 20 61 6c ed.as.a.whole.at.no.charge.to.al
59440 6c 20 74 68 69 72 64 0a 20 20 20 20 70 61 72 74 69 65 73 20 75 6e 64 65 72 20 74 68 65 20 74 65 l.third.....parties.under.the.te
59460 72 6d 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 20 20 63 29 20 49 66 20 rms.of.this.License.......c).If.
59480 74 68 65 20 6d 6f 64 69 66 69 65 64 20 70 72 6f 67 72 61 6d 20 6e 6f 72 6d 61 6c 6c 79 20 72 65 the.modified.program.normally.re
594a0 61 64 73 20 63 6f 6d 6d 61 6e 64 73 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 0a 20 20 20 20 77 ads.commands.interactively.....w
594c0 68 65 6e 20 72 75 6e 2c 20 79 6f 75 20 6d 75 73 74 20 63 61 75 73 65 20 69 74 2c 20 77 68 65 6e hen.run,.you.must.cause.it,.when
594e0 20 73 74 61 72 74 65 64 20 72 75 6e 6e 69 6e 67 20 66 6f 72 20 73 75 63 68 0a 20 20 20 20 69 6e .started.running.for.such.....in
59500 74 65 72 61 63 74 69 76 65 20 75 73 65 20 69 6e 20 74 68 65 20 6d 6f 73 74 20 6f 72 64 69 6e 61 teractive.use.in.the.most.ordina
59520 72 79 20 77 61 79 2c 20 74 6f 20 70 72 69 6e 74 20 6f 72 20 64 69 73 70 6c 61 79 20 61 6e 0a 20 ry.way,.to.print.or.display.an..
59540 20 20 20 61 6e 6e 6f 75 6e 63 65 6d 65 6e 74 20 69 6e 63 6c 75 64 69 6e 67 20 61 6e 20 61 70 70 ...announcement.including.an.app
59560 72 6f 70 72 69 61 74 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 61 0a ropriate.copyright.notice.and.a.
59580 20 20 20 20 6e 6f 74 69 63 65 20 74 68 61 74 20 74 68 65 72 65 20 69 73 20 6e 6f 20 77 61 72 72 ....notice.that.there.is.no.warr
595a0 61 6e 74 79 20 28 6f 72 20 65 6c 73 65 2c 20 73 61 79 69 6e 67 20 74 68 61 74 20 79 6f 75 20 70 anty.(or.else,.saying.that.you.p
595c0 72 6f 76 69 64 65 0a 20 20 20 20 61 20 77 61 72 72 61 6e 74 79 29 20 61 6e 64 20 74 68 61 74 20 rovide.....a.warranty).and.that.
595e0 75 73 65 72 73 20 6d 61 79 20 72 65 64 69 73 74 72 69 62 75 74 65 20 74 68 65 20 70 72 6f 67 72 users.may.redistribute.the.progr
59600 61 6d 20 75 6e 64 65 72 0a 20 20 20 20 74 68 65 73 65 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 20 61 am.under.....these.conditions,.a
59620 6e 64 20 74 65 6c 6c 69 6e 67 20 74 68 65 20 75 73 65 72 20 68 6f 77 20 74 6f 20 76 69 65 77 20 nd.telling.the.user.how.to.view.
59640 61 20 63 6f 70 79 20 6f 66 20 74 68 69 73 0a 20 20 20 20 4c 69 63 65 6e 73 65 2e 20 20 28 45 78 a.copy.of.this.....License...(Ex
59660 63 65 70 74 69 6f 6e 3a 20 69 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 69 74 73 65 6c 66 20 69 ception:.if.the.Program.itself.i
59680 73 20 69 6e 74 65 72 61 63 74 69 76 65 20 62 75 74 0a 20 20 20 20 64 6f 65 73 20 6e 6f 74 20 6e s.interactive.but.....does.not.n
596a0 6f 72 6d 61 6c 6c 79 20 70 72 69 6e 74 20 73 75 63 68 20 61 6e 20 61 6e 6e 6f 75 6e 63 65 6d 65 ormally.print.such.an.announceme
596c0 6e 74 2c 20 79 6f 75 72 20 77 6f 72 6b 20 62 61 73 65 64 20 6f 6e 0a 20 20 20 20 74 68 65 20 50 nt,.your.work.based.on.....the.P
596e0 72 6f 67 72 61 6d 20 69 73 20 6e 6f 74 20 72 65 71 75 69 72 65 64 20 74 6f 20 70 72 69 6e 74 20 rogram.is.not.required.to.print.
59700 61 6e 20 61 6e 6e 6f 75 6e 63 65 6d 65 6e 74 2e 29 0a 0a 54 68 65 73 65 20 72 65 71 75 69 72 65 an.announcement.)..These.require
59720 6d 65 6e 74 73 20 61 70 70 6c 79 20 74 6f 20 74 68 65 20 6d 6f 64 69 66 69 65 64 20 77 6f 72 6b ments.apply.to.the.modified.work
59740 20 61 73 20 61 20 77 68 6f 6c 65 2e 20 20 49 66 0a 69 64 65 6e 74 69 66 69 61 62 6c 65 20 73 65 .as.a.whole...If.identifiable.se
59760 63 74 69 6f 6e 73 20 6f 66 20 74 68 61 74 20 77 6f 72 6b 20 61 72 65 20 6e 6f 74 20 64 65 72 69 ctions.of.that.work.are.not.deri
59780 76 65 64 20 66 72 6f 6d 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 0a 61 6e 64 20 63 61 6e 20 62 65 ved.from.the.Program,.and.can.be
597a0 20 72 65 61 73 6f 6e 61 62 6c 79 20 63 6f 6e 73 69 64 65 72 65 64 20 69 6e 64 65 70 65 6e 64 65 .reasonably.considered.independe
597c0 6e 74 20 61 6e 64 20 73 65 70 61 72 61 74 65 20 77 6f 72 6b 73 20 69 6e 0a 74 68 65 6d 73 65 6c nt.and.separate.works.in.themsel
597e0 76 65 73 2c 20 74 68 65 6e 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 61 6e 64 20 69 74 73 20 ves,.then.this.License,.and.its.
59800 74 65 72 6d 73 2c 20 64 6f 20 6e 6f 74 20 61 70 70 6c 79 20 74 6f 20 74 68 6f 73 65 0a 73 65 63 terms,.do.not.apply.to.those.sec
59820 74 69 6f 6e 73 20 77 68 65 6e 20 79 6f 75 20 64 69 73 74 72 69 62 75 74 65 20 74 68 65 6d 20 61 tions.when.you.distribute.them.a
59840 73 20 73 65 70 61 72 61 74 65 20 77 6f 72 6b 73 2e 20 20 42 75 74 20 77 68 65 6e 20 79 6f 75 0a s.separate.works...But.when.you.
59860 64 69 73 74 72 69 62 75 74 65 20 74 68 65 20 73 61 6d 65 20 73 65 63 74 69 6f 6e 73 20 61 73 20 distribute.the.same.sections.as.
59880 70 61 72 74 20 6f 66 20 61 20 77 68 6f 6c 65 20 77 68 69 63 68 20 69 73 20 61 20 77 6f 72 6b 20 part.of.a.whole.which.is.a.work.
598a0 62 61 73 65 64 0a 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 20 74 68 65 20 64 69 73 74 72 69 based.on.the.Program,.the.distri
598c0 62 75 74 69 6f 6e 20 6f 66 20 74 68 65 20 77 68 6f 6c 65 20 6d 75 73 74 20 62 65 20 6f 6e 20 74 bution.of.the.whole.must.be.on.t
598e0 68 65 20 74 65 72 6d 73 20 6f 66 0a 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 77 68 6f 73 65 20 he.terms.of.this.License,.whose.
59900 70 65 72 6d 69 73 73 69 6f 6e 73 20 66 6f 72 20 6f 74 68 65 72 20 6c 69 63 65 6e 73 65 65 73 20 permissions.for.other.licensees.
59920 65 78 74 65 6e 64 20 74 6f 20 74 68 65 0a 65 6e 74 69 72 65 20 77 68 6f 6c 65 2c 20 61 6e 64 20 extend.to.the.entire.whole,.and.
59940 74 68 75 73 20 74 6f 20 65 61 63 68 20 61 6e 64 20 65 76 65 72 79 20 70 61 72 74 20 72 65 67 61 thus.to.each.and.every.part.rega
59960 72 64 6c 65 73 73 20 6f 66 20 77 68 6f 20 77 72 6f 74 65 20 69 74 2e 0a 0a 54 68 75 73 2c 20 69 rdless.of.who.wrote.it...Thus,.i
59980 74 20 69 73 20 6e 6f 74 20 74 68 65 20 69 6e 74 65 6e 74 20 6f 66 20 74 68 69 73 20 73 65 63 74 t.is.not.the.intent.of.this.sect
599a0 69 6f 6e 20 74 6f 20 63 6c 61 69 6d 20 72 69 67 68 74 73 20 6f 72 20 63 6f 6e 74 65 73 74 0a 79 ion.to.claim.rights.or.contest.y
599c0 6f 75 72 20 72 69 67 68 74 73 20 74 6f 20 77 6f 72 6b 20 77 72 69 74 74 65 6e 20 65 6e 74 69 72 our.rights.to.work.written.entir
599e0 65 6c 79 20 62 79 20 79 6f 75 3b 20 72 61 74 68 65 72 2c 20 74 68 65 20 69 6e 74 65 6e 74 20 69 ely.by.you;.rather,.the.intent.i
59a00 73 20 74 6f 0a 65 78 65 72 63 69 73 65 20 74 68 65 20 72 69 67 68 74 20 74 6f 20 63 6f 6e 74 72 s.to.exercise.the.right.to.contr
59a20 6f 6c 20 74 68 65 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6f 66 20 64 65 72 69 76 61 74 69 76 ol.the.distribution.of.derivativ
59a40 65 20 6f 72 0a 63 6f 6c 6c 65 63 74 69 76 65 20 77 6f 72 6b 73 20 62 61 73 65 64 20 6f 6e 20 74 e.or.collective.works.based.on.t
59a60 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a 49 6e 20 61 64 64 69 74 69 6f 6e 2c 20 6d 65 72 65 20 61 he.Program...In.addition,.mere.a
59a80 67 67 72 65 67 61 74 69 6f 6e 20 6f 66 20 61 6e 6f 74 68 65 72 20 77 6f 72 6b 20 6e 6f 74 20 62 ggregation.of.another.work.not.b
59aa0 61 73 65 64 20 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 0a 77 69 74 68 20 74 68 65 20 50 72 6f ased.on.the.Program.with.the.Pro
59ac0 67 72 61 6d 20 28 6f 72 20 77 69 74 68 20 61 20 77 6f 72 6b 20 62 61 73 65 64 20 6f 6e 20 74 68 gram.(or.with.a.work.based.on.th
59ae0 65 20 50 72 6f 67 72 61 6d 29 20 6f 6e 20 61 20 76 6f 6c 75 6d 65 20 6f 66 0a 61 20 73 74 6f 72 e.Program).on.a.volume.of.a.stor
59b00 61 67 65 20 6f 72 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6d 65 64 69 75 6d 20 64 6f 65 73 20 age.or.distribution.medium.does.
59b20 6e 6f 74 20 62 72 69 6e 67 20 74 68 65 20 6f 74 68 65 72 20 77 6f 72 6b 20 75 6e 64 65 72 0a 74 not.bring.the.other.work.under.t
59b40 68 65 20 73 63 6f 70 65 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 33 2e 20 he.scope.of.this.License.....3..
59b60 59 6f 75 20 6d 61 79 20 63 6f 70 79 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 74 68 65 20 You.may.copy.and.distribute.the.
59b80 50 72 6f 67 72 61 6d 20 28 6f 72 20 61 20 77 6f 72 6b 20 62 61 73 65 64 20 6f 6e 20 69 74 2c 0a Program.(or.a.work.based.on.it,.
59ba0 75 6e 64 65 72 20 53 65 63 74 69 6f 6e 20 32 29 20 69 6e 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 under.Section.2).in.object.code.
59bc0 6f 72 20 65 78 65 63 75 74 61 62 6c 65 20 66 6f 72 6d 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 or.executable.form.under.the.ter
59be0 6d 73 20 6f 66 0a 53 65 63 74 69 6f 6e 73 20 31 20 61 6e 64 20 32 20 61 62 6f 76 65 20 70 72 6f ms.of.Sections.1.and.2.above.pro
59c00 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 61 6c 73 6f 20 64 6f 20 6f 6e 65 20 6f 66 20 74 68 vided.that.you.also.do.one.of.th
59c20 65 20 66 6f 6c 6c 6f 77 69 6e 67 3a 0a 0a 20 20 20 20 61 29 20 41 63 63 6f 6d 70 61 6e 79 20 69 e.following:......a).Accompany.i
59c40 74 20 77 69 74 68 20 74 68 65 20 63 6f 6d 70 6c 65 74 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e t.with.the.complete.correspondin
59c60 67 20 6d 61 63 68 69 6e 65 2d 72 65 61 64 61 62 6c 65 0a 20 20 20 20 73 6f 75 72 63 65 20 63 6f g.machine-readable.....source.co
59c80 64 65 2c 20 77 68 69 63 68 20 6d 75 73 74 20 62 65 20 64 69 73 74 72 69 62 75 74 65 64 20 75 6e de,.which.must.be.distributed.un
59ca0 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 53 65 63 74 69 6f 6e 73 0a 20 20 20 20 31 20 der.the.terms.of.Sections.....1.
59cc0 61 6e 64 20 32 20 61 62 6f 76 65 20 6f 6e 20 61 20 6d 65 64 69 75 6d 20 63 75 73 74 6f 6d 61 72 and.2.above.on.a.medium.customar
59ce0 69 6c 79 20 75 73 65 64 20 66 6f 72 20 73 6f 66 74 77 61 72 65 20 69 6e 74 65 72 63 68 61 6e 67 ily.used.for.software.interchang
59d00 65 3b 20 6f 72 2c 0a 0a 20 20 20 20 62 29 20 41 63 63 6f 6d 70 61 6e 79 20 69 74 20 77 69 74 68 e;.or,......b).Accompany.it.with
59d20 20 61 20 77 72 69 74 74 65 6e 20 6f 66 66 65 72 2c 20 76 61 6c 69 64 20 66 6f 72 20 61 74 20 6c .a.written.offer,.valid.for.at.l
59d40 65 61 73 74 20 74 68 72 65 65 0a 20 20 20 20 79 65 61 72 73 2c 20 74 6f 20 67 69 76 65 20 61 6e east.three.....years,.to.give.an
59d60 79 20 74 68 69 72 64 20 70 61 72 74 79 2c 20 66 6f 72 20 61 20 63 68 61 72 67 65 20 6e 6f 20 6d y.third.party,.for.a.charge.no.m
59d80 6f 72 65 20 74 68 61 6e 20 79 6f 75 72 0a 20 20 20 20 63 6f 73 74 20 6f 66 20 70 68 79 73 69 63 ore.than.your.....cost.of.physic
59da0 61 6c 6c 79 20 70 65 72 66 6f 72 6d 69 6e 67 20 73 6f 75 72 63 65 20 64 69 73 74 72 69 62 75 74 ally.performing.source.distribut
59dc0 69 6f 6e 2c 20 61 20 63 6f 6d 70 6c 65 74 65 0a 20 20 20 20 6d 61 63 68 69 6e 65 2d 72 65 61 64 ion,.a.complete.....machine-read
59de0 61 62 6c 65 20 63 6f 70 79 20 6f 66 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 73 able.copy.of.the.corresponding.s
59e00 6f 75 72 63 65 20 63 6f 64 65 2c 20 74 6f 20 62 65 0a 20 20 20 20 64 69 73 74 72 69 62 75 74 65 ource.code,.to.be.....distribute
59e20 64 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 53 65 63 74 69 6f 6e 73 20 31 20 d.under.the.terms.of.Sections.1.
59e40 61 6e 64 20 32 20 61 62 6f 76 65 20 6f 6e 20 61 20 6d 65 64 69 75 6d 0a 20 20 20 20 63 75 73 74 and.2.above.on.a.medium.....cust
59e60 6f 6d 61 72 69 6c 79 20 75 73 65 64 20 66 6f 72 20 73 6f 66 74 77 61 72 65 20 69 6e 74 65 72 63 omarily.used.for.software.interc
59e80 68 61 6e 67 65 3b 20 6f 72 2c 0a 0a 20 20 20 20 63 29 20 41 63 63 6f 6d 70 61 6e 79 20 69 74 20 hange;.or,......c).Accompany.it.
59ea0 77 69 74 68 20 74 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 79 6f 75 20 72 65 63 65 69 76 65 with.the.information.you.receive
59ec0 64 20 61 73 20 74 6f 20 74 68 65 20 6f 66 66 65 72 0a 20 20 20 20 74 6f 20 64 69 73 74 72 69 62 d.as.to.the.offer.....to.distrib
59ee0 75 74 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 20 20 ute.corresponding.source.code...
59f00 28 54 68 69 73 20 61 6c 74 65 72 6e 61 74 69 76 65 20 69 73 0a 20 20 20 20 61 6c 6c 6f 77 65 64 (This.alternative.is.....allowed
59f20 20 6f 6e 6c 79 20 66 6f 72 20 6e 6f 6e 63 6f 6d 6d 65 72 63 69 61 6c 20 64 69 73 74 72 69 62 75 .only.for.noncommercial.distribu
59f40 74 69 6f 6e 20 61 6e 64 20 6f 6e 6c 79 20 69 66 20 79 6f 75 0a 20 20 20 20 72 65 63 65 69 76 65 tion.and.only.if.you.....receive
59f60 64 20 74 68 65 20 70 72 6f 67 72 61 6d 20 69 6e 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 6f 72 20 d.the.program.in.object.code.or.
59f80 65 78 65 63 75 74 61 62 6c 65 20 66 6f 72 6d 20 77 69 74 68 20 73 75 63 68 0a 20 20 20 20 61 6e executable.form.with.such.....an
59fa0 20 6f 66 66 65 72 2c 20 69 6e 20 61 63 63 6f 72 64 20 77 69 74 68 20 53 75 62 73 65 63 74 69 6f .offer,.in.accord.with.Subsectio
59fc0 6e 20 62 20 61 62 6f 76 65 2e 29 0a 0a 54 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 6f 72 n.b.above.)..The.source.code.for
59fe0 20 61 20 77 6f 72 6b 20 6d 65 61 6e 73 20 74 68 65 20 70 72 65 66 65 72 72 65 64 20 66 6f 72 6d .a.work.means.the.preferred.form
5a000 20 6f 66 20 74 68 65 20 77 6f 72 6b 20 66 6f 72 0a 6d 61 6b 69 6e 67 20 6d 6f 64 69 66 69 63 61 .of.the.work.for.making.modifica
5a020 74 69 6f 6e 73 20 74 6f 20 69 74 2e 20 20 46 6f 72 20 61 6e 20 65 78 65 63 75 74 61 62 6c 65 20 tions.to.it...For.an.executable.
5a040 77 6f 72 6b 2c 20 63 6f 6d 70 6c 65 74 65 20 73 6f 75 72 63 65 0a 63 6f 64 65 20 6d 65 61 6e 73 work,.complete.source.code.means
5a060 20 61 6c 6c 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 6f 72 20 61 6c 6c 20 6d 6f 64 .all.the.source.code.for.all.mod
5a080 75 6c 65 73 20 69 74 20 63 6f 6e 74 61 69 6e 73 2c 20 70 6c 75 73 20 61 6e 79 0a 61 73 73 6f 63 ules.it.contains,.plus.any.assoc
5a0a0 69 61 74 65 64 20 69 6e 74 65 72 66 61 63 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 69 6c 65 73 iated.interface.definition.files
5a0c0 2c 20 70 6c 75 73 20 74 68 65 20 73 63 72 69 70 74 73 20 75 73 65 64 20 74 6f 0a 63 6f 6e 74 72 ,.plus.the.scripts.used.to.contr
5a0e0 6f 6c 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 61 6e 64 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 ol.compilation.and.installation.
5a100 6f 66 20 74 68 65 20 65 78 65 63 75 74 61 62 6c 65 2e 20 20 48 6f 77 65 76 65 72 2c 20 61 73 20 of.the.executable...However,.as.
5a120 61 0a 73 70 65 63 69 61 6c 20 65 78 63 65 70 74 69 6f 6e 2c 20 74 68 65 20 73 6f 75 72 63 65 20 a.special.exception,.the.source.
5a140 63 6f 64 65 20 64 69 73 74 72 69 62 75 74 65 64 20 6e 65 65 64 20 6e 6f 74 20 69 6e 63 6c 75 64 code.distributed.need.not.includ
5a160 65 0a 61 6e 79 74 68 69 6e 67 20 74 68 61 74 20 69 73 20 6e 6f 72 6d 61 6c 6c 79 20 64 69 73 74 e.anything.that.is.normally.dist
5a180 72 69 62 75 74 65 64 20 28 69 6e 20 65 69 74 68 65 72 20 73 6f 75 72 63 65 20 6f 72 20 62 69 6e ributed.(in.either.source.or.bin
5a1a0 61 72 79 0a 66 6f 72 6d 29 20 77 69 74 68 20 74 68 65 20 6d 61 6a 6f 72 20 63 6f 6d 70 6f 6e 65 ary.form).with.the.major.compone
5a1c0 6e 74 73 20 28 63 6f 6d 70 69 6c 65 72 2c 20 6b 65 72 6e 65 6c 2c 20 61 6e 64 20 73 6f 20 6f 6e nts.(compiler,.kernel,.and.so.on
5a1e0 29 20 6f 66 20 74 68 65 0a 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 20 6f 6e 20 77 68 69 ).of.the.operating.system.on.whi
5a200 63 68 20 74 68 65 20 65 78 65 63 75 74 61 62 6c 65 20 72 75 6e 73 2c 20 75 6e 6c 65 73 73 20 74 ch.the.executable.runs,.unless.t
5a220 68 61 74 20 63 6f 6d 70 6f 6e 65 6e 74 0a 69 74 73 65 6c 66 20 61 63 63 6f 6d 70 61 6e 69 65 73 hat.component.itself.accompanies
5a240 20 74 68 65 20 65 78 65 63 75 74 61 62 6c 65 2e 0a 0a 49 66 20 64 69 73 74 72 69 62 75 74 69 6f .the.executable...If.distributio
5a260 6e 20 6f 66 20 65 78 65 63 75 74 61 62 6c 65 20 6f 72 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 69 n.of.executable.or.object.code.i
5a280 73 20 6d 61 64 65 20 62 79 20 6f 66 66 65 72 69 6e 67 0a 61 63 63 65 73 73 20 74 6f 20 63 6f 70 s.made.by.offering.access.to.cop
5a2a0 79 20 66 72 6f 6d 20 61 20 64 65 73 69 67 6e 61 74 65 64 20 70 6c 61 63 65 2c 20 74 68 65 6e 20 y.from.a.designated.place,.then.
5a2c0 6f 66 66 65 72 69 6e 67 20 65 71 75 69 76 61 6c 65 6e 74 0a 61 63 63 65 73 73 20 74 6f 20 63 6f offering.equivalent.access.to.co
5a2e0 70 79 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 72 6f 6d 20 74 68 65 20 73 61 6d 65 py.the.source.code.from.the.same
5a300 20 70 6c 61 63 65 20 63 6f 75 6e 74 73 20 61 73 0a 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6f 66 .place.counts.as.distribution.of
5a320 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 2c 20 65 76 65 6e 20 74 68 6f 75 67 68 20 74 68 .the.source.code,.even.though.th
5a340 69 72 64 20 70 61 72 74 69 65 73 20 61 72 65 20 6e 6f 74 0a 63 6f 6d 70 65 6c 6c 65 64 20 74 6f ird.parties.are.not.compelled.to
5a360 20 63 6f 70 79 20 74 68 65 20 73 6f 75 72 63 65 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 65 20 .copy.the.source.along.with.the.
5a380 6f 62 6a 65 63 74 20 63 6f 64 65 2e 0a 0a 20 20 34 2e 20 59 6f 75 20 6d 61 79 20 6e 6f 74 20 63 object.code.....4..You.may.not.c
5a3a0 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 6f 72 20 64 69 73 74 opy,.modify,.sublicense,.or.dist
5a3c0 72 69 62 75 74 65 20 74 68 65 20 50 72 6f 67 72 61 6d 0a 65 78 63 65 70 74 20 61 73 20 65 78 70 ribute.the.Program.except.as.exp
5a3e0 72 65 73 73 6c 79 20 70 72 6f 76 69 64 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e ressly.provided.under.this.Licen
5a400 73 65 2e 20 20 41 6e 79 20 61 74 74 65 6d 70 74 0a 6f 74 68 65 72 77 69 73 65 20 74 6f 20 63 6f se...Any.attempt.otherwise.to.co
5a420 70 79 2c 20 6d 6f 64 69 66 79 2c 20 73 75 62 6c 69 63 65 6e 73 65 20 6f 72 20 64 69 73 74 72 69 py,.modify,.sublicense.or.distri
5a440 62 75 74 65 20 74 68 65 20 50 72 6f 67 72 61 6d 20 69 73 0a 76 6f 69 64 2c 20 61 6e 64 20 77 69 bute.the.Program.is.void,.and.wi
5a460 6c 6c 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 74 65 72 6d 69 6e 61 74 65 20 79 6f 75 72 20 ll.automatically.terminate.your.
5a480 72 69 67 68 74 73 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 48 6f 77 65 76 rights.under.this.License..Howev
5a4a0 65 72 2c 20 70 61 72 74 69 65 73 20 77 68 6f 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 63 6f er,.parties.who.have.received.co
5a4c0 70 69 65 73 2c 20 6f 72 20 72 69 67 68 74 73 2c 20 66 72 6f 6d 20 79 6f 75 20 75 6e 64 65 72 0a pies,.or.rights,.from.you.under.
5a4e0 74 68 69 73 20 4c 69 63 65 6e 73 65 20 77 69 6c 6c 20 6e 6f 74 20 68 61 76 65 20 74 68 65 69 72 this.License.will.not.have.their
5a500 20 6c 69 63 65 6e 73 65 73 20 74 65 72 6d 69 6e 61 74 65 64 20 73 6f 20 6c 6f 6e 67 20 61 73 20 .licenses.terminated.so.long.as.
5a520 73 75 63 68 0a 70 61 72 74 69 65 73 20 72 65 6d 61 69 6e 20 69 6e 20 66 75 6c 6c 20 63 6f 6d 70 such.parties.remain.in.full.comp
5a540 6c 69 61 6e 63 65 2e 0a 0a 20 20 35 2e 20 59 6f 75 20 61 72 65 20 6e 6f 74 20 72 65 71 75 69 72 liance.....5..You.are.not.requir
5a560 65 64 20 74 6f 20 61 63 63 65 70 74 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 73 69 6e 63 65 ed.to.accept.this.License,.since
5a580 20 79 6f 75 20 68 61 76 65 20 6e 6f 74 0a 73 69 67 6e 65 64 20 69 74 2e 20 20 48 6f 77 65 76 65 .you.have.not.signed.it...Howeve
5a5a0 72 2c 20 6e 6f 74 68 69 6e 67 20 65 6c 73 65 20 67 72 61 6e 74 73 20 79 6f 75 20 70 65 72 6d 69 r,.nothing.else.grants.you.permi
5a5c0 73 73 69 6f 6e 20 74 6f 20 6d 6f 64 69 66 79 20 6f 72 0a 64 69 73 74 72 69 62 75 74 65 20 74 68 ssion.to.modify.or.distribute.th
5a5e0 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 69 74 73 20 64 65 72 69 76 61 74 69 76 65 20 77 6f 72 6b e.Program.or.its.derivative.work
5a600 73 2e 20 20 54 68 65 73 65 20 61 63 74 69 6f 6e 73 20 61 72 65 0a 70 72 6f 68 69 62 69 74 65 64 s...These.actions.are.prohibited
5a620 20 62 79 20 6c 61 77 20 69 66 20 79 6f 75 20 64 6f 20 6e 6f 74 20 61 63 63 65 70 74 20 74 68 69 .by.law.if.you.do.not.accept.thi
5a640 73 20 4c 69 63 65 6e 73 65 2e 20 20 54 68 65 72 65 66 6f 72 65 2c 20 62 79 0a 6d 6f 64 69 66 79 s.License...Therefore,.by.modify
5a660 69 6e 67 20 6f 72 20 64 69 73 74 72 69 62 75 74 69 6e 67 20 74 68 65 20 50 72 6f 67 72 61 6d 20 ing.or.distributing.the.Program.
5a680 28 6f 72 20 61 6e 79 20 77 6f 72 6b 20 62 61 73 65 64 20 6f 6e 20 74 68 65 0a 50 72 6f 67 72 61 (or.any.work.based.on.the.Progra
5a6a0 6d 29 2c 20 79 6f 75 20 69 6e 64 69 63 61 74 65 20 79 6f 75 72 20 61 63 63 65 70 74 61 6e 63 65 m),.you.indicate.your.acceptance
5a6c0 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 74 6f 20 64 6f 20 73 6f 2c 20 61 6e 64 0a 61 .of.this.License.to.do.so,.and.a
5a6e0 6c 6c 20 69 74 73 20 74 65 72 6d 73 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 73 20 66 6f 72 20 ll.its.terms.and.conditions.for.
5a700 63 6f 70 79 69 6e 67 2c 20 64 69 73 74 72 69 62 75 74 69 6e 67 20 6f 72 20 6d 6f 64 69 66 79 69 copying,.distributing.or.modifyi
5a720 6e 67 0a 74 68 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 77 6f 72 6b 73 20 62 61 73 65 64 20 6f 6e ng.the.Program.or.works.based.on
5a740 20 69 74 2e 0a 0a 20 20 36 2e 20 45 61 63 68 20 74 69 6d 65 20 79 6f 75 20 72 65 64 69 73 74 72 .it.....6..Each.time.you.redistr
5a760 69 62 75 74 65 20 74 68 65 20 50 72 6f 67 72 61 6d 20 28 6f 72 20 61 6e 79 20 77 6f 72 6b 20 62 ibute.the.Program.(or.any.work.b
5a780 61 73 65 64 20 6f 6e 20 74 68 65 0a 50 72 6f 67 72 61 6d 29 2c 20 74 68 65 20 72 65 63 69 70 69 ased.on.the.Program),.the.recipi
5a7a0 65 6e 74 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 72 65 63 65 69 76 65 73 20 61 20 6c 69 63 ent.automatically.receives.a.lic
5a7c0 65 6e 73 65 20 66 72 6f 6d 20 74 68 65 0a 6f 72 69 67 69 6e 61 6c 20 6c 69 63 65 6e 73 6f 72 20 ense.from.the.original.licensor.
5a7e0 74 6f 20 63 6f 70 79 2c 20 64 69 73 74 72 69 62 75 74 65 20 6f 72 20 6d 6f 64 69 66 79 20 74 68 to.copy,.distribute.or.modify.th
5a800 65 20 50 72 6f 67 72 61 6d 20 73 75 62 6a 65 63 74 20 74 6f 0a 74 68 65 73 65 20 74 65 72 6d 73 e.Program.subject.to.these.terms
5a820 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 20 20 59 6f 75 20 6d 61 79 20 6e 6f 74 20 69 6d .and.conditions...You.may.not.im
5a840 70 6f 73 65 20 61 6e 79 20 66 75 72 74 68 65 72 0a 72 65 73 74 72 69 63 74 69 6f 6e 73 20 6f 6e pose.any.further.restrictions.on
5a860 20 74 68 65 20 72 65 63 69 70 69 65 6e 74 73 27 20 65 78 65 72 63 69 73 65 20 6f 66 20 74 68 65 .the.recipients'.exercise.of.the
5a880 20 72 69 67 68 74 73 20 67 72 61 6e 74 65 64 20 68 65 72 65 69 6e 2e 0a 59 6f 75 20 61 72 65 20 .rights.granted.herein..You.are.
5a8a0 6e 6f 74 20 72 65 73 70 6f 6e 73 69 62 6c 65 20 66 6f 72 20 65 6e 66 6f 72 63 69 6e 67 20 63 6f not.responsible.for.enforcing.co
5a8c0 6d 70 6c 69 61 6e 63 65 20 62 79 20 74 68 69 72 64 20 70 61 72 74 69 65 73 20 74 6f 0a 74 68 69 mpliance.by.third.parties.to.thi
5a8e0 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 37 2e 20 49 66 2c 20 61 73 20 61 20 63 6f 6e 73 65 71 s.License.....7..If,.as.a.conseq
5a900 75 65 6e 63 65 20 6f 66 20 61 20 63 6f 75 72 74 20 6a 75 64 67 6d 65 6e 74 20 6f 72 20 61 6c 6c uence.of.a.court.judgment.or.all
5a920 65 67 61 74 69 6f 6e 20 6f 66 20 70 61 74 65 6e 74 0a 69 6e 66 72 69 6e 67 65 6d 65 6e 74 20 6f egation.of.patent.infringement.o
5a940 72 20 66 6f 72 20 61 6e 79 20 6f 74 68 65 72 20 72 65 61 73 6f 6e 20 28 6e 6f 74 20 6c 69 6d 69 r.for.any.other.reason.(not.limi
5a960 74 65 64 20 74 6f 20 70 61 74 65 6e 74 20 69 73 73 75 65 73 29 2c 0a 63 6f 6e 64 69 74 69 6f 6e ted.to.patent.issues),.condition
5a980 73 20 61 72 65 20 69 6d 70 6f 73 65 64 20 6f 6e 20 79 6f 75 20 28 77 68 65 74 68 65 72 20 62 79 s.are.imposed.on.you.(whether.by
5a9a0 20 63 6f 75 72 74 20 6f 72 64 65 72 2c 20 61 67 72 65 65 6d 65 6e 74 20 6f 72 0a 6f 74 68 65 72 .court.order,.agreement.or.other
5a9c0 77 69 73 65 29 20 74 68 61 74 20 63 6f 6e 74 72 61 64 69 63 74 20 74 68 65 20 63 6f 6e 64 69 74 wise).that.contradict.the.condit
5a9e0 69 6f 6e 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 74 68 65 79 20 64 6f 20 6e 6f ions.of.this.License,.they.do.no
5aa00 74 0a 65 78 63 75 73 65 20 79 6f 75 20 66 72 6f 6d 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 t.excuse.you.from.the.conditions
5aa20 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 49 66 20 79 6f 75 20 63 61 6e 6e 6f 74 .of.this.License...If.you.cannot
5aa40 0a 64 69 73 74 72 69 62 75 74 65 20 73 6f 20 61 73 20 74 6f 20 73 61 74 69 73 66 79 20 73 69 6d .distribute.so.as.to.satisfy.sim
5aa60 75 6c 74 61 6e 65 6f 75 73 6c 79 20 79 6f 75 72 20 6f 62 6c 69 67 61 74 69 6f 6e 73 20 75 6e 64 ultaneously.your.obligations.und
5aa80 65 72 20 74 68 69 73 0a 4c 69 63 65 6e 73 65 20 61 6e 64 20 61 6e 79 20 6f 74 68 65 72 20 70 65 er.this.License.and.any.other.pe
5aaa0 72 74 69 6e 65 6e 74 20 6f 62 6c 69 67 61 74 69 6f 6e 73 2c 20 74 68 65 6e 20 61 73 20 61 20 63 rtinent.obligations,.then.as.a.c
5aac0 6f 6e 73 65 71 75 65 6e 63 65 20 79 6f 75 0a 6d 61 79 20 6e 6f 74 20 64 69 73 74 72 69 62 75 74 onsequence.you.may.not.distribut
5aae0 65 20 74 68 65 20 50 72 6f 67 72 61 6d 20 61 74 20 61 6c 6c 2e 20 20 46 6f 72 20 65 78 61 6d 70 e.the.Program.at.all...For.examp
5ab00 6c 65 2c 20 69 66 20 61 20 70 61 74 65 6e 74 0a 6c 69 63 65 6e 73 65 20 77 6f 75 6c 64 20 6e 6f le,.if.a.patent.license.would.no
5ab20 74 20 70 65 72 6d 69 74 20 72 6f 79 61 6c 74 79 2d 66 72 65 65 20 72 65 64 69 73 74 72 69 62 75 t.permit.royalty-free.redistribu
5ab40 74 69 6f 6e 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 62 79 0a 61 6c 6c 20 74 68 6f 73 65 tion.of.the.Program.by.all.those
5ab60 20 77 68 6f 20 72 65 63 65 69 76 65 20 63 6f 70 69 65 73 20 64 69 72 65 63 74 6c 79 20 6f 72 20 .who.receive.copies.directly.or.
5ab80 69 6e 64 69 72 65 63 74 6c 79 20 74 68 72 6f 75 67 68 20 79 6f 75 2c 20 74 68 65 6e 0a 74 68 65 indirectly.through.you,.then.the
5aba0 20 6f 6e 6c 79 20 77 61 79 20 79 6f 75 20 63 6f 75 6c 64 20 73 61 74 69 73 66 79 20 62 6f 74 68 .only.way.you.could.satisfy.both
5abc0 20 69 74 20 61 6e 64 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 77 6f 75 6c 64 20 62 65 20 74 6f .it.and.this.License.would.be.to
5abe0 0a 72 65 66 72 61 69 6e 20 65 6e 74 69 72 65 6c 79 20 66 72 6f 6d 20 64 69 73 74 72 69 62 75 74 .refrain.entirely.from.distribut
5ac00 69 6f 6e 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a 49 66 20 61 6e 79 20 70 6f 72 74 ion.of.the.Program...If.any.port
5ac20 69 6f 6e 20 6f 66 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 69 73 20 68 65 6c 64 20 69 6e 76 61 ion.of.this.section.is.held.inva
5ac40 6c 69 64 20 6f 72 20 75 6e 65 6e 66 6f 72 63 65 61 62 6c 65 20 75 6e 64 65 72 0a 61 6e 79 20 70 lid.or.unenforceable.under.any.p
5ac60 61 72 74 69 63 75 6c 61 72 20 63 69 72 63 75 6d 73 74 61 6e 63 65 2c 20 74 68 65 20 62 61 6c 61 articular.circumstance,.the.bala
5ac80 6e 63 65 20 6f 66 20 74 68 65 20 73 65 63 74 69 6f 6e 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74 nce.of.the.section.is.intended.t
5aca0 6f 0a 61 70 70 6c 79 20 61 6e 64 20 74 68 65 20 73 65 63 74 69 6f 6e 20 61 73 20 61 20 77 68 6f o.apply.and.the.section.as.a.who
5acc0 6c 65 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 61 70 70 6c 79 20 69 6e 20 6f 74 68 65 72 le.is.intended.to.apply.in.other
5ace0 0a 63 69 72 63 75 6d 73 74 61 6e 63 65 73 2e 0a 0a 49 74 20 69 73 20 6e 6f 74 20 74 68 65 20 70 .circumstances...It.is.not.the.p
5ad00 75 72 70 6f 73 65 20 6f 66 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 74 6f 20 69 6e 64 75 63 65 urpose.of.this.section.to.induce
5ad20 20 79 6f 75 20 74 6f 20 69 6e 66 72 69 6e 67 65 20 61 6e 79 0a 70 61 74 65 6e 74 73 20 6f 72 20 .you.to.infringe.any.patents.or.
5ad40 6f 74 68 65 72 20 70 72 6f 70 65 72 74 79 20 72 69 67 68 74 20 63 6c 61 69 6d 73 20 6f 72 20 74 other.property.right.claims.or.t
5ad60 6f 20 63 6f 6e 74 65 73 74 20 76 61 6c 69 64 69 74 79 20 6f 66 20 61 6e 79 0a 73 75 63 68 20 63 o.contest.validity.of.any.such.c
5ad80 6c 61 69 6d 73 3b 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 68 61 73 20 74 68 65 20 73 6f 6c 65 laims;.this.section.has.the.sole
5ada0 20 70 75 72 70 6f 73 65 20 6f 66 20 70 72 6f 74 65 63 74 69 6e 67 20 74 68 65 0a 69 6e 74 65 67 .purpose.of.protecting.the.integ
5adc0 72 69 74 79 20 6f 66 20 74 68 65 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 20 64 69 73 74 72 69 rity.of.the.free.software.distri
5ade0 62 75 74 69 6f 6e 20 73 79 73 74 65 6d 2c 20 77 68 69 63 68 20 69 73 0a 69 6d 70 6c 65 6d 65 6e bution.system,.which.is.implemen
5ae00 74 65 64 20 62 79 20 70 75 62 6c 69 63 20 6c 69 63 65 6e 73 65 20 70 72 61 63 74 69 63 65 73 2e ted.by.public.license.practices.
5ae20 20 20 4d 61 6e 79 20 70 65 6f 70 6c 65 20 68 61 76 65 20 6d 61 64 65 0a 67 65 6e 65 72 6f 75 73 ..Many.people.have.made.generous
5ae40 20 63 6f 6e 74 72 69 62 75 74 69 6f 6e 73 20 74 6f 20 74 68 65 20 77 69 64 65 20 72 61 6e 67 65 .contributions.to.the.wide.range
5ae60 20 6f 66 20 73 6f 66 74 77 61 72 65 20 64 69 73 74 72 69 62 75 74 65 64 0a 74 68 72 6f 75 67 68 .of.software.distributed.through
5ae80 20 74 68 61 74 20 73 79 73 74 65 6d 20 69 6e 20 72 65 6c 69 61 6e 63 65 20 6f 6e 20 63 6f 6e 73 .that.system.in.reliance.on.cons
5aea0 69 73 74 65 6e 74 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 6f 66 20 74 68 61 74 0a 73 79 73 74 65 istent.application.of.that.syste
5aec0 6d 3b 20 69 74 20 69 73 20 75 70 20 74 6f 20 74 68 65 20 61 75 74 68 6f 72 2f 64 6f 6e 6f 72 20 m;.it.is.up.to.the.author/donor.
5aee0 74 6f 20 64 65 63 69 64 65 20 69 66 20 68 65 20 6f 72 20 73 68 65 20 69 73 20 77 69 6c 6c 69 6e to.decide.if.he.or.she.is.willin
5af00 67 0a 74 6f 20 64 69 73 74 72 69 62 75 74 65 20 73 6f 66 74 77 61 72 65 20 74 68 72 6f 75 67 68 g.to.distribute.software.through
5af20 20 61 6e 79 20 6f 74 68 65 72 20 73 79 73 74 65 6d 20 61 6e 64 20 61 20 6c 69 63 65 6e 73 65 65 .any.other.system.and.a.licensee
5af40 20 63 61 6e 6e 6f 74 0a 69 6d 70 6f 73 65 20 74 68 61 74 20 63 68 6f 69 63 65 2e 0a 0a 54 68 69 .cannot.impose.that.choice...Thi
5af60 73 20 73 65 63 74 69 6f 6e 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 6d 61 6b 65 20 74 68 s.section.is.intended.to.make.th
5af80 6f 72 6f 75 67 68 6c 79 20 63 6c 65 61 72 20 77 68 61 74 20 69 73 20 62 65 6c 69 65 76 65 64 20 oroughly.clear.what.is.believed.
5afa0 74 6f 0a 62 65 20 61 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 6f 66 20 74 68 65 20 72 65 73 74 20 to.be.a.consequence.of.the.rest.
5afc0 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 38 2e 20 49 66 20 74 68 65 20 64 69 of.this.License.....8..If.the.di
5afe0 73 74 72 69 62 75 74 69 6f 6e 20 61 6e 64 2f 6f 72 20 75 73 65 20 6f 66 20 74 68 65 20 50 72 6f stribution.and/or.use.of.the.Pro
5b000 67 72 61 6d 20 69 73 20 72 65 73 74 72 69 63 74 65 64 20 69 6e 0a 63 65 72 74 61 69 6e 20 63 6f gram.is.restricted.in.certain.co
5b020 75 6e 74 72 69 65 73 20 65 69 74 68 65 72 20 62 79 20 70 61 74 65 6e 74 73 20 6f 72 20 62 79 20 untries.either.by.patents.or.by.
5b040 63 6f 70 79 72 69 67 68 74 65 64 20 69 6e 74 65 72 66 61 63 65 73 2c 20 74 68 65 0a 6f 72 69 67 copyrighted.interfaces,.the.orig
5b060 69 6e 61 6c 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 77 68 6f 20 70 6c 61 63 65 73 inal.copyright.holder.who.places
5b080 20 74 68 65 20 50 72 6f 67 72 61 6d 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 0a .the.Program.under.this.License.
5b0a0 6d 61 79 20 61 64 64 20 61 6e 20 65 78 70 6c 69 63 69 74 20 67 65 6f 67 72 61 70 68 69 63 61 6c may.add.an.explicit.geographical
5b0c0 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6c 69 6d 69 74 61 74 69 6f 6e 20 65 78 63 6c 75 64 69 .distribution.limitation.excludi
5b0e0 6e 67 0a 74 68 6f 73 65 20 63 6f 75 6e 74 72 69 65 73 2c 20 73 6f 20 74 68 61 74 20 64 69 73 74 ng.those.countries,.so.that.dist
5b100 72 69 62 75 74 69 6f 6e 20 69 73 20 70 65 72 6d 69 74 74 65 64 20 6f 6e 6c 79 20 69 6e 20 6f 72 ribution.is.permitted.only.in.or
5b120 20 61 6d 6f 6e 67 0a 63 6f 75 6e 74 72 69 65 73 20 6e 6f 74 20 74 68 75 73 20 65 78 63 6c 75 64 .among.countries.not.thus.exclud
5b140 65 64 2e 20 20 49 6e 20 73 75 63 68 20 63 61 73 65 2c 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 ed...In.such.case,.this.License.
5b160 69 6e 63 6f 72 70 6f 72 61 74 65 73 0a 74 68 65 20 6c 69 6d 69 74 61 74 69 6f 6e 20 61 73 20 69 incorporates.the.limitation.as.i
5b180 66 20 77 72 69 74 74 65 6e 20 69 6e 20 74 68 65 20 62 6f 64 79 20 6f 66 20 74 68 69 73 20 4c 69 f.written.in.the.body.of.this.Li
5b1a0 63 65 6e 73 65 2e 0a 0a 20 20 39 2e 20 54 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 cense.....9..The.Free.Software.F
5b1c0 6f 75 6e 64 61 74 69 6f 6e 20 6d 61 79 20 70 75 62 6c 69 73 68 20 72 65 76 69 73 65 64 20 61 6e oundation.may.publish.revised.an
5b1e0 64 2f 6f 72 20 6e 65 77 20 76 65 72 73 69 6f 6e 73 0a 6f 66 20 74 68 65 20 47 65 6e 65 72 61 6c d/or.new.versions.of.the.General
5b200 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 72 6f 6d 20 74 69 6d 65 20 74 6f 20 74 69 6d .Public.License.from.time.to.tim
5b220 65 2e 20 20 53 75 63 68 20 6e 65 77 20 76 65 72 73 69 6f 6e 73 20 77 69 6c 6c 0a 62 65 20 73 69 e...Such.new.versions.will.be.si
5b240 6d 69 6c 61 72 20 69 6e 20 73 70 69 72 69 74 20 74 6f 20 74 68 65 20 70 72 65 73 65 6e 74 20 76 milar.in.spirit.to.the.present.v
5b260 65 72 73 69 6f 6e 2c 20 62 75 74 20 6d 61 79 20 64 69 66 66 65 72 20 69 6e 20 64 65 74 61 69 6c ersion,.but.may.differ.in.detail
5b280 20 74 6f 0a 61 64 64 72 65 73 73 20 6e 65 77 20 70 72 6f 62 6c 65 6d 73 20 6f 72 20 63 6f 6e 63 .to.address.new.problems.or.conc
5b2a0 65 72 6e 73 2e 0a 0a 45 61 63 68 20 76 65 72 73 69 6f 6e 20 69 73 20 67 69 76 65 6e 20 61 20 64 erns...Each.version.is.given.a.d
5b2c0 69 73 74 69 6e 67 75 69 73 68 69 6e 67 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 2e 20 20 49 istinguishing.version.number...I
5b2e0 66 20 74 68 65 20 50 72 6f 67 72 61 6d 0a 73 70 65 63 69 66 69 65 73 20 61 20 76 65 72 73 69 6f f.the.Program.specifies.a.versio
5b300 6e 20 6e 75 6d 62 65 72 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 77 68 69 63 68 20 61 n.number.of.this.License.which.a
5b320 70 70 6c 69 65 73 20 74 6f 20 69 74 20 61 6e 64 20 22 61 6e 79 0a 6c 61 74 65 72 20 76 65 72 73 pplies.to.it.and."any.later.vers
5b340 69 6f 6e 22 2c 20 79 6f 75 20 68 61 76 65 20 74 68 65 20 6f 70 74 69 6f 6e 20 6f 66 20 66 6f 6c ion",.you.have.the.option.of.fol
5b360 6c 6f 77 69 6e 67 20 74 68 65 20 74 65 72 6d 73 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 73 0a lowing.the.terms.and.conditions.
5b380 65 69 74 68 65 72 20 6f 66 20 74 68 61 74 20 76 65 72 73 69 6f 6e 20 6f 72 20 6f 66 20 61 6e 79 either.of.that.version.or.of.any
5b3a0 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 20 70 75 62 6c 69 73 68 65 64 20 62 79 20 74 68 65 20 .later.version.published.by.the.
5b3c0 46 72 65 65 0a 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2e 20 20 49 66 20 74 68 Free.Software.Foundation...If.th
5b3e0 65 20 50 72 6f 67 72 61 6d 20 64 6f 65 73 20 6e 6f 74 20 73 70 65 63 69 66 79 20 61 20 76 65 72 e.Program.does.not.specify.a.ver
5b400 73 69 6f 6e 20 6e 75 6d 62 65 72 20 6f 66 0a 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 79 6f 75 sion.number.of.this.License,.you
5b420 20 6d 61 79 20 63 68 6f 6f 73 65 20 61 6e 79 20 76 65 72 73 69 6f 6e 20 65 76 65 72 20 70 75 62 .may.choose.any.version.ever.pub
5b440 6c 69 73 68 65 64 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 0a 46 6f 75 6e lished.by.the.Free.Software.Foun
5b460 64 61 74 69 6f 6e 2e 0a 0a 20 20 31 30 2e 20 49 66 20 79 6f 75 20 77 69 73 68 20 74 6f 20 69 6e dation.....10..If.you.wish.to.in
5b480 63 6f 72 70 6f 72 61 74 65 20 70 61 72 74 73 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 69 corporate.parts.of.the.Program.i
5b4a0 6e 74 6f 20 6f 74 68 65 72 20 66 72 65 65 0a 70 72 6f 67 72 61 6d 73 20 77 68 6f 73 65 20 64 69 nto.other.free.programs.whose.di
5b4c0 73 74 72 69 62 75 74 69 6f 6e 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 69 66 66 65 72 stribution.conditions.are.differ
5b4e0 65 6e 74 2c 20 77 72 69 74 65 20 74 6f 20 74 68 65 20 61 75 74 68 6f 72 0a 74 6f 20 61 73 6b 20 ent,.write.to.the.author.to.ask.
5b500 66 6f 72 20 70 65 72 6d 69 73 73 69 6f 6e 2e 20 20 46 6f 72 20 73 6f 66 74 77 61 72 65 20 77 68 for.permission...For.software.wh
5b520 69 63 68 20 69 73 20 63 6f 70 79 72 69 67 68 74 65 64 20 62 79 20 74 68 65 20 46 72 65 65 0a 53 ich.is.copyrighted.by.the.Free.S
5b540 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 77 72 69 74 65 20 74 6f 20 74 68 65 oftware.Foundation,.write.to.the
5b560 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 77 65 20 73 6f .Free.Software.Foundation;.we.so
5b580 6d 65 74 69 6d 65 73 0a 6d 61 6b 65 20 65 78 63 65 70 74 69 6f 6e 73 20 66 6f 72 20 74 68 69 73 metimes.make.exceptions.for.this
5b5a0 2e 20 20 4f 75 72 20 64 65 63 69 73 69 6f 6e 20 77 69 6c 6c 20 62 65 20 67 75 69 64 65 64 20 62 ...Our.decision.will.be.guided.b
5b5c0 79 20 74 68 65 20 74 77 6f 20 67 6f 61 6c 73 0a 6f 66 20 70 72 65 73 65 72 76 69 6e 67 20 74 68 y.the.two.goals.of.preserving.th
5b5e0 65 20 66 72 65 65 20 73 74 61 74 75 73 20 6f 66 20 61 6c 6c 20 64 65 72 69 76 61 74 69 76 65 73 e.free.status.of.all.derivatives
5b600 20 6f 66 20 6f 75 72 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 20 61 6e 64 0a 6f 66 20 70 72 6f .of.our.free.software.and.of.pro
5b620 6d 6f 74 69 6e 67 20 74 68 65 20 73 68 61 72 69 6e 67 20 61 6e 64 20 72 65 75 73 65 20 6f 66 20 moting.the.sharing.and.reuse.of.
5b640 73 6f 66 74 77 61 72 65 20 67 65 6e 65 72 61 6c 6c 79 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 software.generally..............
5b660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 4f 20 57 41 52 52 41 4e 54 59 0a 0a 20 20 .................NO.WARRANTY....
5b680 31 31 2e 20 42 45 43 41 55 53 45 20 54 48 45 20 50 52 4f 47 52 41 4d 20 49 53 20 4c 49 43 45 4e 11..BECAUSE.THE.PROGRAM.IS.LICEN
5b6a0 53 45 44 20 46 52 45 45 20 4f 46 20 43 48 41 52 47 45 2c 20 54 48 45 52 45 20 49 53 20 4e 4f 20 SED.FREE.OF.CHARGE,.THERE.IS.NO.
5b6c0 57 41 52 52 41 4e 54 59 0a 46 4f 52 20 54 48 45 20 50 52 4f 47 52 41 4d 2c 20 54 4f 20 54 48 45 WARRANTY.FOR.THE.PROGRAM,.TO.THE
5b6e0 20 45 58 54 45 4e 54 20 50 45 52 4d 49 54 54 45 44 20 42 59 20 41 50 50 4c 49 43 41 42 4c 45 20 .EXTENT.PERMITTED.BY.APPLICABLE.
5b700 4c 41 57 2e 20 20 45 58 43 45 50 54 20 57 48 45 4e 0a 4f 54 48 45 52 57 49 53 45 20 53 54 41 54 LAW...EXCEPT.WHEN.OTHERWISE.STAT
5b720 45 44 20 49 4e 20 57 52 49 54 49 4e 47 20 54 48 45 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 ED.IN.WRITING.THE.COPYRIGHT.HOLD
5b740 45 52 53 20 41 4e 44 2f 4f 52 20 4f 54 48 45 52 20 50 41 52 54 49 45 53 0a 50 52 4f 56 49 44 45 ERS.AND/OR.OTHER.PARTIES.PROVIDE
5b760 20 54 48 45 20 50 52 4f 47 52 41 4d 20 22 41 53 20 49 53 22 20 57 49 54 48 4f 55 54 20 57 41 52 .THE.PROGRAM."AS.IS".WITHOUT.WAR
5b780 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 49 54 48 45 52 20 45 58 50 52 45 53 RANTY.OF.ANY.KIND,.EITHER.EXPRES
5b7a0 53 45 44 0a 4f 52 20 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 2c 20 42 55 54 20 4e SED.OR.IMPLIED,.INCLUDING,.BUT.N
5b7c0 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 2c 20 54 48 45 20 49 4d 50 4c 49 45 44 20 57 41 52 52 41 OT.LIMITED.TO,.THE.IMPLIED.WARRA
5b7e0 4e 54 49 45 53 20 4f 46 0a 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 41 4e 44 20 46 49 54 NTIES.OF.MERCHANTABILITY.AND.FIT
5b800 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 NESS.FOR.A.PARTICULAR.PURPOSE...
5b820 54 48 45 20 45 4e 54 49 52 45 20 52 49 53 4b 20 41 53 0a 54 4f 20 54 48 45 20 51 55 41 4c 49 54 THE.ENTIRE.RISK.AS.TO.THE.QUALIT
5b840 59 20 41 4e 44 20 50 45 52 46 4f 52 4d 41 4e 43 45 20 4f 46 20 54 48 45 20 50 52 4f 47 52 41 4d Y.AND.PERFORMANCE.OF.THE.PROGRAM
5b860 20 49 53 20 57 49 54 48 20 59 4f 55 2e 20 20 53 48 4f 55 4c 44 20 54 48 45 0a 50 52 4f 47 52 41 .IS.WITH.YOU...SHOULD.THE.PROGRA
5b880 4d 20 50 52 4f 56 45 20 44 45 46 45 43 54 49 56 45 2c 20 59 4f 55 20 41 53 53 55 4d 45 20 54 48 M.PROVE.DEFECTIVE,.YOU.ASSUME.TH
5b8a0 45 20 43 4f 53 54 20 4f 46 20 41 4c 4c 20 4e 45 43 45 53 53 41 52 59 20 53 45 52 56 49 43 49 4e E.COST.OF.ALL.NECESSARY.SERVICIN
5b8c0 47 2c 0a 52 45 50 41 49 52 20 4f 52 20 43 4f 52 52 45 43 54 49 4f 4e 2e 0a 0a 20 20 31 32 2e 20 G,.REPAIR.OR.CORRECTION.....12..
5b8e0 49 4e 20 4e 4f 20 45 56 45 4e 54 20 55 4e 4c 45 53 53 20 52 45 51 55 49 52 45 44 20 42 59 20 41 IN.NO.EVENT.UNLESS.REQUIRED.BY.A
5b900 50 50 4c 49 43 41 42 4c 45 20 4c 41 57 20 4f 52 20 41 47 52 45 45 44 20 54 4f 20 49 4e 20 57 52 PPLICABLE.LAW.OR.AGREED.TO.IN.WR
5b920 49 54 49 4e 47 0a 57 49 4c 4c 20 41 4e 59 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 2c ITING.WILL.ANY.COPYRIGHT.HOLDER,
5b940 20 4f 52 20 41 4e 59 20 4f 54 48 45 52 20 50 41 52 54 59 20 57 48 4f 20 4d 41 59 20 4d 4f 44 49 .OR.ANY.OTHER.PARTY.WHO.MAY.MODI
5b960 46 59 20 41 4e 44 2f 4f 52 0a 52 45 44 49 53 54 52 49 42 55 54 45 20 54 48 45 20 50 52 4f 47 52 FY.AND/OR.REDISTRIBUTE.THE.PROGR
5b980 41 4d 20 41 53 20 50 45 52 4d 49 54 54 45 44 20 41 42 4f 56 45 2c 20 42 45 20 4c 49 41 42 4c 45 AM.AS.PERMITTED.ABOVE,.BE.LIABLE
5b9a0 20 54 4f 20 59 4f 55 20 46 4f 52 20 44 41 4d 41 47 45 53 2c 0a 49 4e 43 4c 55 44 49 4e 47 20 41 .TO.YOU.FOR.DAMAGES,.INCLUDING.A
5b9c0 4e 59 20 47 45 4e 45 52 41 4c 2c 20 53 50 45 43 49 41 4c 2c 20 49 4e 43 49 44 45 4e 54 41 4c 20 NY.GENERAL,.SPECIAL,.INCIDENTAL.
5b9e0 4f 52 20 43 4f 4e 53 45 51 55 45 4e 54 49 41 4c 20 44 41 4d 41 47 45 53 20 41 52 49 53 49 4e 47 OR.CONSEQUENTIAL.DAMAGES.ARISING
5ba00 0a 4f 55 54 20 4f 46 20 54 48 45 20 55 53 45 20 4f 52 20 49 4e 41 42 49 4c 49 54 59 20 54 4f 20 .OUT.OF.THE.USE.OR.INABILITY.TO.
5ba20 55 53 45 20 54 48 45 20 50 52 4f 47 52 41 4d 20 28 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e USE.THE.PROGRAM.(INCLUDING.BUT.N
5ba40 4f 54 20 4c 49 4d 49 54 45 44 0a 54 4f 20 4c 4f 53 53 20 4f 46 20 44 41 54 41 20 4f 52 20 44 41 OT.LIMITED.TO.LOSS.OF.DATA.OR.DA
5ba60 54 41 20 42 45 49 4e 47 20 52 45 4e 44 45 52 45 44 20 49 4e 41 43 43 55 52 41 54 45 20 4f 52 20 TA.BEING.RENDERED.INACCURATE.OR.
5ba80 4c 4f 53 53 45 53 20 53 55 53 54 41 49 4e 45 44 20 42 59 0a 59 4f 55 20 4f 52 20 54 48 49 52 44 LOSSES.SUSTAINED.BY.YOU.OR.THIRD
5baa0 20 50 41 52 54 49 45 53 20 4f 52 20 41 20 46 41 49 4c 55 52 45 20 4f 46 20 54 48 45 20 50 52 4f .PARTIES.OR.A.FAILURE.OF.THE.PRO
5bac0 47 52 41 4d 20 54 4f 20 4f 50 45 52 41 54 45 20 57 49 54 48 20 41 4e 59 20 4f 54 48 45 52 0a 50 GRAM.TO.OPERATE.WITH.ANY.OTHER.P
5bae0 52 4f 47 52 41 4d 53 29 2c 20 45 56 45 4e 20 49 46 20 53 55 43 48 20 48 4f 4c 44 45 52 20 4f 52 ROGRAMS),.EVEN.IF.SUCH.HOLDER.OR
5bb00 20 4f 54 48 45 52 20 50 41 52 54 59 20 48 41 53 20 42 45 45 4e 20 41 44 56 49 53 45 44 20 4f 46 .OTHER.PARTY.HAS.BEEN.ADVISED.OF
5bb20 20 54 48 45 0a 50 4f 53 53 49 42 49 4c 49 54 59 20 4f 46 20 53 55 43 48 20 44 41 4d 41 47 45 53 .THE.POSSIBILITY.OF.SUCH.DAMAGES
5bb40 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 4e 44 20 4f 46 20 54 ........................END.OF.T
5bb60 45 52 4d 53 20 41 4e 44 20 43 4f 4e 44 49 54 49 4f 4e 53 0a 0a 20 20 20 20 20 20 20 20 20 20 20 ERMS.AND.CONDITIONS.............
5bb80 20 48 6f 77 20 74 6f 20 41 70 70 6c 79 20 54 68 65 73 65 20 54 65 72 6d 73 20 74 6f 20 59 6f 75 .How.to.Apply.These.Terms.to.You
5bba0 72 20 4e 65 77 20 50 72 6f 67 72 61 6d 73 0a 0a 20 20 49 66 20 79 6f 75 20 64 65 76 65 6c 6f 70 r.New.Programs....If.you.develop
5bbc0 20 61 20 6e 65 77 20 70 72 6f 67 72 61 6d 2c 20 61 6e 64 20 79 6f 75 20 77 61 6e 74 20 69 74 20 .a.new.program,.and.you.want.it.
5bbe0 74 6f 20 62 65 20 6f 66 20 74 68 65 20 67 72 65 61 74 65 73 74 0a 70 6f 73 73 69 62 6c 65 20 75 to.be.of.the.greatest.possible.u
5bc00 73 65 20 74 6f 20 74 68 65 20 70 75 62 6c 69 63 2c 20 74 68 65 20 62 65 73 74 20 77 61 79 20 74 se.to.the.public,.the.best.way.t
5bc20 6f 20 61 63 68 69 65 76 65 20 74 68 69 73 20 69 73 20 74 6f 20 6d 61 6b 65 20 69 74 0a 66 72 65 o.achieve.this.is.to.make.it.fre
5bc40 65 20 73 6f 66 74 77 61 72 65 20 77 68 69 63 68 20 65 76 65 72 79 6f 6e 65 20 63 61 6e 20 72 65 e.software.which.everyone.can.re
5bc60 64 69 73 74 72 69 62 75 74 65 20 61 6e 64 20 63 68 61 6e 67 65 20 75 6e 64 65 72 20 74 68 65 73 distribute.and.change.under.thes
5bc80 65 20 74 65 72 6d 73 2e 0a 0a 20 20 54 6f 20 64 6f 20 73 6f 2c 20 61 74 74 61 63 68 20 74 68 65 e.terms.....To.do.so,.attach.the
5bca0 20 66 6f 6c 6c 6f 77 69 6e 67 20 6e 6f 74 69 63 65 73 20 74 6f 20 74 68 65 20 70 72 6f 67 72 61 .following.notices.to.the.progra
5bcc0 6d 2e 20 20 49 74 20 69 73 20 73 61 66 65 73 74 0a 74 6f 20 61 74 74 61 63 68 20 74 68 65 6d 20 m...It.is.safest.to.attach.them.
5bce0 74 6f 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 65 61 63 68 20 73 6f 75 72 63 65 20 66 69 6c 65 to.the.start.of.each.source.file
5bd00 20 74 6f 20 6d 6f 73 74 20 65 66 66 65 63 74 69 76 65 6c 79 0a 63 6f 6e 76 65 79 20 74 68 65 20 .to.most.effectively.convey.the.
5bd20 65 78 63 6c 75 73 69 6f 6e 20 6f 66 20 77 61 72 72 61 6e 74 79 3b 20 61 6e 64 20 65 61 63 68 20 exclusion.of.warranty;.and.each.
5bd40 66 69 6c 65 20 73 68 6f 75 6c 64 20 68 61 76 65 20 61 74 20 6c 65 61 73 74 0a 74 68 65 20 22 63 file.should.have.at.least.the."c
5bd60 6f 70 79 72 69 67 68 74 22 20 6c 69 6e 65 20 61 6e 64 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 opyright".line.and.a.pointer.to.
5bd80 77 68 65 72 65 20 74 68 65 20 66 75 6c 6c 20 6e 6f 74 69 63 65 20 69 73 20 66 6f 75 6e 64 2e 0a where.the.full.notice.is.found..
5bda0 0a 20 20 20 20 3c 6f 6e 65 20 6c 69 6e 65 20 74 6f 20 67 69 76 65 20 74 68 65 20 70 72 6f 67 72 .....<one.line.to.give.the.progr
5bdc0 61 6d 27 73 20 6e 61 6d 65 20 61 6e 64 20 61 20 62 72 69 65 66 20 69 64 65 61 20 6f 66 20 77 68 am's.name.and.a.brief.idea.of.wh
5bde0 61 74 20 69 74 20 64 6f 65 73 2e 3e 0a 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 3c at.it.does.>.....Copyright.(C).<
5be00 79 65 61 72 3e 20 20 3c 6e 61 6d 65 20 6f 66 20 61 75 74 68 6f 72 3e 0a 0a 20 20 20 20 54 68 69 year>..<name.of.author>......Thi
5be20 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 s.program.is.free.software:.you.
5be40 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 can.redistribute.it.and/or.modif
5be60 79 0a 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 y.....it.under.the.terms.of.the.
5be80 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 GNU.General.Public.License.as.pu
5bea0 62 6c 69 73 68 65 64 20 62 79 0a 20 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 blished.by.....the.Free.Software
5bec0 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 .Foundation,.either.version.2.of
5bee0 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 .the.License,.or.....(at.your.op
5bf00 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 20 54 68 tion).any.later.version.......Th
5bf20 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 is.program.is.distributed.in.the
5bf40 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 20 .hope.that.it.will.be.useful,...
5bf60 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 ..but.WITHOUT.ANY.WARRANTY;.with
5bf80 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 out.even.the.implied.warranty.of
5bfa0 0a 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 .....MERCHANTABILITY.or.FITNESS.
5bfc0 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 FOR.A.PARTICULAR.PURPOSE...See.t
5bfe0 68 65 0a 20 20 20 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 he.....GNU.General.Public.Licens
5c000 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 20 59 6f 75 20 73 68 6f e.for.more.details.......You.sho
5c020 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 uld.have.received.a.copy.of.the.
5c040 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 20 61 GNU.General.Public.License.....a
5c060 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c long.with.this.program...If.not,
5c080 20 73 65 65 20 3c 68 74 74 70 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 .see.<http://www.gnu.org/license
5c0a0 73 2f 3e 2e 0a 0a 41 6c 73 6f 20 61 64 64 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 68 6f s/>...Also.add.information.on.ho
5c0c0 77 20 74 6f 20 63 6f 6e 74 61 63 74 20 79 6f 75 20 62 79 20 65 6c 65 63 74 72 6f 6e 69 63 20 61 w.to.contact.you.by.electronic.a
5c0e0 6e 64 20 70 61 70 65 72 20 6d 61 69 6c 2e 0a 0a 49 66 20 74 68 65 20 70 72 6f 67 72 61 6d 20 69 nd.paper.mail...If.the.program.i
5c100 73 20 69 6e 74 65 72 61 63 74 69 76 65 2c 20 6d 61 6b 65 20 69 74 20 6f 75 74 70 75 74 20 61 20 s.interactive,.make.it.output.a.
5c120 73 68 6f 72 74 20 6e 6f 74 69 63 65 20 6c 69 6b 65 20 74 68 69 73 0a 77 68 65 6e 20 69 74 20 73 short.notice.like.this.when.it.s
5c140 74 61 72 74 73 20 69 6e 20 61 6e 20 69 6e 74 65 72 61 63 74 69 76 65 20 6d 6f 64 65 3a 0a 0a 20 tarts.in.an.interactive.mode:...
5c160 20 20 20 47 6e 6f 6d 6f 76 69 73 69 6f 6e 20 76 65 72 73 69 6f 6e 20 36 39 2c 20 43 6f 70 79 72 ...Gnomovision.version.69,.Copyr
5c180 69 67 68 74 20 28 43 29 20 3c 79 65 61 72 3e 20 20 3c 6e 61 6d 65 20 6f 66 20 61 75 74 68 6f 72 ight.(C).<year>..<name.of.author
5c1a0 3e 0a 20 20 20 20 47 6e 6f 6d 6f 76 69 73 69 6f 6e 20 63 6f 6d 65 73 20 77 69 74 68 20 41 42 53 >.....Gnomovision.comes.with.ABS
5c1c0 4f 4c 55 54 45 4c 59 20 4e 4f 20 57 41 52 52 41 4e 54 59 3b 20 66 6f 72 20 64 65 74 61 69 6c 73 OLUTELY.NO.WARRANTY;.for.details
5c1e0 20 74 79 70 65 20 60 73 68 6f 77 20 77 27 2e 0a 20 20 20 20 54 68 69 73 20 69 73 20 66 72 65 65 .type.`show.w'......This.is.free
5c200 20 73 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 79 6f 75 20 61 72 65 20 77 65 6c 63 6f 6d 65 20 74 .software,.and.you.are.welcome.t
5c220 6f 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 0a 20 20 20 20 75 6e 64 65 72 20 63 65 72 74 o.redistribute.it.....under.cert
5c240 61 69 6e 20 63 6f 6e 64 69 74 69 6f 6e 73 3b 20 74 79 70 65 20 60 73 68 6f 77 20 63 27 20 66 6f ain.conditions;.type.`show.c'.fo
5c260 72 20 64 65 74 61 69 6c 73 2e 0a 0a 54 68 65 20 68 79 70 6f 74 68 65 74 69 63 61 6c 20 63 6f 6d r.details...The.hypothetical.com
5c280 6d 61 6e 64 73 20 60 73 68 6f 77 20 77 27 20 61 6e 64 20 60 73 68 6f 77 20 63 27 20 73 68 6f 75 mands.`show.w'.and.`show.c'.shou
5c2a0 6c 64 20 73 68 6f 77 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 0a 70 61 72 74 73 20 6f 66 ld.show.the.appropriate.parts.of
5c2c0 20 74 68 65 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2e 20 20 4f 66 .the.General.Public.License...Of
5c2e0 20 63 6f 75 72 73 65 2c 20 74 68 65 20 63 6f 6d 6d 61 6e 64 73 20 79 6f 75 20 75 73 65 20 6d 61 .course,.the.commands.you.use.ma
5c300 79 0a 62 65 20 63 61 6c 6c 65 64 20 73 6f 6d 65 74 68 69 6e 67 20 6f 74 68 65 72 20 74 68 61 6e y.be.called.something.other.than
5c320 20 60 73 68 6f 77 20 77 27 20 61 6e 64 20 60 73 68 6f 77 20 63 27 3b 20 74 68 65 79 20 63 6f 75 .`show.w'.and.`show.c';.they.cou
5c340 6c 64 20 65 76 65 6e 20 62 65 0a 6d 6f 75 73 65 2d 63 6c 69 63 6b 73 20 6f 72 20 6d 65 6e 75 20 ld.even.be.mouse-clicks.or.menu.
5c360 69 74 65 6d 73 2d 2d 77 68 61 74 65 76 65 72 20 73 75 69 74 73 20 79 6f 75 72 20 70 72 6f 67 72 items--whatever.suits.your.progr
5c380 61 6d 2e 0a 0a 59 6f 75 20 73 68 6f 75 6c 64 20 61 6c 73 6f 20 67 65 74 20 79 6f 75 72 20 65 6d am...You.should.also.get.your.em
5c3a0 70 6c 6f 79 65 72 20 28 69 66 20 79 6f 75 20 77 6f 72 6b 20 61 73 20 61 20 70 72 6f 67 72 61 6d ployer.(if.you.work.as.a.program
5c3c0 6d 65 72 29 20 6f 72 20 79 6f 75 72 0a 73 63 68 6f 6f 6c 2c 20 69 66 20 61 6e 79 2c 20 74 6f 20 mer).or.your.school,.if.any,.to.
5c3e0 73 69 67 6e 20 61 20 22 63 6f 70 79 72 69 67 68 74 20 64 69 73 63 6c 61 69 6d 65 72 22 20 66 6f sign.a."copyright.disclaimer".fo
5c400 72 20 74 68 65 20 70 72 6f 67 72 61 6d 2c 20 69 66 0a 6e 65 63 65 73 73 61 72 79 2e 20 20 48 65 r.the.program,.if.necessary...He
5c420 72 65 20 69 73 20 61 20 73 61 6d 70 6c 65 3b 20 61 6c 74 65 72 20 74 68 65 20 6e 61 6d 65 73 3a re.is.a.sample;.alter.the.names:
5c440 0a 0a 20 20 59 6f 79 6f 64 79 6e 65 2c 20 49 6e 63 2e 2c 20 68 65 72 65 62 79 20 64 69 73 63 6c ....Yoyodyne,.Inc.,.hereby.discl
5c460 61 69 6d 73 20 61 6c 6c 20 63 6f 70 79 72 69 67 68 74 20 69 6e 74 65 72 65 73 74 20 69 6e 20 74 aims.all.copyright.interest.in.t
5c480 68 65 20 70 72 6f 67 72 61 6d 0a 20 20 60 47 6e 6f 6d 6f 76 69 73 69 6f 6e 27 20 28 77 68 69 63 he.program...`Gnomovision'.(whic
5c4a0 68 20 6d 61 6b 65 73 20 70 61 73 73 65 73 20 61 74 20 63 6f 6d 70 69 6c 65 72 73 29 20 77 72 69 h.makes.passes.at.compilers).wri
5c4c0 74 74 65 6e 20 62 79 20 4a 61 6d 65 73 20 48 61 63 6b 65 72 2e 0a 0a 20 20 3c 73 69 67 6e 61 74 tten.by.James.Hacker.....<signat
5c4e0 75 72 65 20 6f 66 20 54 79 20 43 6f 6f 6e 3e 2c 20 31 20 41 70 72 69 6c 20 31 39 38 39 0a 20 20 ure.of.Ty.Coon>,.1.April.1989...
5c500 54 79 20 43 6f 6f 6e 2c 20 50 72 65 73 69 64 65 6e 74 20 6f 66 20 56 69 63 65 0a 0a 54 68 69 73 Ty.Coon,.President.of.Vice..This
5c520 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 64 6f 65 73 20 6e 6f 74 .General.Public.License.does.not
5c540 20 70 65 72 6d 69 74 20 69 6e 63 6f 72 70 6f 72 61 74 69 6e 67 20 79 6f 75 72 20 70 72 6f 67 72 .permit.incorporating.your.progr
5c560 61 6d 20 69 6e 74 6f 0a 70 72 6f 70 72 69 65 74 61 72 79 20 70 72 6f 67 72 61 6d 73 2e 20 20 49 am.into.proprietary.programs...I
5c580 66 20 79 6f 75 72 20 70 72 6f 67 72 61 6d 20 69 73 20 61 20 73 75 62 72 6f 75 74 69 6e 65 20 6c f.your.program.is.a.subroutine.l
5c5a0 69 62 72 61 72 79 2c 20 79 6f 75 20 6d 61 79 0a 63 6f 6e 73 69 64 65 72 20 69 74 20 6d 6f 72 65 ibrary,.you.may.consider.it.more
5c5c0 20 75 73 65 66 75 6c 20 74 6f 20 70 65 72 6d 69 74 20 6c 69 6e 6b 69 6e 67 20 70 72 6f 70 72 69 .useful.to.permit.linking.propri
5c5e0 65 74 61 72 79 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 77 69 74 68 20 74 68 65 0a 6c 69 62 72 etary.applications.with.the.libr
5c600 61 72 79 2e 20 20 49 66 20 74 68 69 73 20 69 73 20 77 68 61 74 20 79 6f 75 20 77 61 6e 74 20 74 ary...If.this.is.what.you.want.t
5c620 6f 20 64 6f 2c 20 75 73 65 20 74 68 65 20 47 4e 55 20 4c 65 73 73 65 72 20 47 65 6e 65 72 61 6c o.do,.use.the.GNU.Lesser.General
5c640 0a 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 69 73 20 .Public.License.instead.of.this.
5c660 4c 69 63 65 6e 73 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 47 4e 55 License......................GNU
5c680 20 47 45 4e 45 52 41 4c 20 50 55 42 4c 49 43 20 4c 49 43 45 4e 53 45 0d 0a 20 20 20 20 20 20 20 .GENERAL.PUBLIC.LICENSE.........
5c6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 56 65 72 73 69 6f 6e 20 32 2c 20 4a 75 6e 65 20 ................Version.2,.June.
5c6c0 31 39 39 31 0d 0a 0d 0a 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 31 39 38 39 2c 20 31 39 39 1991.....Copyright.(C).1989,.199
5c6e0 31 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 1.Free.Software.Foundation,.Inc.
5c700 2c 0d 0a 20 35 31 20 46 72 61 6e 6b 6c 69 6e 20 53 74 72 65 65 74 2c 20 46 69 66 74 68 20 46 6c ,...51.Franklin.Street,.Fifth.Fl
5c720 6f 6f 72 2c 20 42 6f 73 74 6f 6e 2c 20 4d 41 20 30 32 31 31 30 2d 31 33 30 31 20 55 53 41 0d 0a oor,.Boston,.MA.02110-1301.USA..
5c740 20 45 76 65 72 79 6f 6e 65 20 69 73 20 70 65 72 6d 69 74 74 65 64 20 74 6f 20 63 6f 70 79 20 61 .Everyone.is.permitted.to.copy.a
5c760 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 76 65 72 62 61 74 69 6d 20 63 6f 70 69 65 73 0d 0a 20 nd.distribute.verbatim.copies...
5c780 6f 66 20 74 68 69 73 20 6c 69 63 65 6e 73 65 20 64 6f 63 75 6d 65 6e 74 2c 20 62 75 74 20 63 68 of.this.license.document,.but.ch
5c7a0 61 6e 67 69 6e 67 20 69 74 20 69 73 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 2e 0d 0a 0d 0a 20 20 20 anging.it.is.not.allowed........
5c7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 72 65 61 6d 62 6c .........................Preambl
5c7e0 65 0d 0a 0d 0a 20 20 54 68 65 20 6c 69 63 65 6e 73 65 73 20 66 6f 72 20 6d 6f 73 74 20 73 6f 66 e......The.licenses.for.most.sof
5c800 74 77 61 72 65 20 61 72 65 20 64 65 73 69 67 6e 65 64 20 74 6f 20 74 61 6b 65 20 61 77 61 79 20 tware.are.designed.to.take.away.
5c820 79 6f 75 72 0d 0a 66 72 65 65 64 6f 6d 20 74 6f 20 73 68 61 72 65 20 61 6e 64 20 63 68 61 6e 67 your..freedom.to.share.and.chang
5c840 65 20 69 74 2e 20 20 42 79 20 63 6f 6e 74 72 61 73 74 2c 20 74 68 65 20 47 4e 55 20 47 65 6e 65 e.it...By.contrast,.the.GNU.Gene
5c860 72 61 6c 20 50 75 62 6c 69 63 0d 0a 4c 69 63 65 6e 73 65 20 69 73 20 69 6e 74 65 6e 64 65 64 20 ral.Public..License.is.intended.
5c880 74 6f 20 67 75 61 72 61 6e 74 65 65 20 79 6f 75 72 20 66 72 65 65 64 6f 6d 20 74 6f 20 73 68 61 to.guarantee.your.freedom.to.sha
5c8a0 72 65 20 61 6e 64 20 63 68 61 6e 67 65 20 66 72 65 65 0d 0a 73 6f 66 74 77 61 72 65 2d 2d 74 6f re.and.change.free..software--to
5c8c0 20 6d 61 6b 65 20 73 75 72 65 20 74 68 65 20 73 6f 66 74 77 61 72 65 20 69 73 20 66 72 65 65 20 .make.sure.the.software.is.free.
5c8e0 66 6f 72 20 61 6c 6c 20 69 74 73 20 75 73 65 72 73 2e 20 20 54 68 69 73 0d 0a 47 65 6e 65 72 61 for.all.its.users...This..Genera
5c900 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 70 70 6c 69 65 73 20 74 6f 20 6d 6f 73 74 l.Public.License.applies.to.most
5c920 20 6f 66 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 0d 0a 46 6f 75 6e 64 61 74 69 6f .of.the.Free.Software..Foundatio
5c940 6e 27 73 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 74 6f 20 61 6e 79 20 6f 74 68 65 72 20 70 72 n's.software.and.to.any.other.pr
5c960 6f 67 72 61 6d 20 77 68 6f 73 65 20 61 75 74 68 6f 72 73 20 63 6f 6d 6d 69 74 20 74 6f 0d 0a 75 ogram.whose.authors.commit.to..u
5c980 73 69 6e 67 20 69 74 2e 20 20 28 53 6f 6d 65 20 6f 74 68 65 72 20 46 72 65 65 20 53 6f 66 74 77 sing.it...(Some.other.Free.Softw
5c9a0 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 20 73 6f 66 74 77 61 72 65 20 69 73 20 63 6f 76 65 72 are.Foundation.software.is.cover
5c9c0 65 64 20 62 79 0d 0a 74 68 65 20 47 4e 55 20 4c 65 73 73 65 72 20 47 65 6e 65 72 61 6c 20 50 75 ed.by..the.GNU.Lesser.General.Pu
5c9e0 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 69 6e 73 74 65 61 64 2e 29 20 20 59 6f 75 20 63 61 6e 20 blic.License.instead.)..You.can.
5ca00 61 70 70 6c 79 20 69 74 20 74 6f 0d 0a 79 6f 75 72 20 70 72 6f 67 72 61 6d 73 2c 20 74 6f 6f 2e apply.it.to..your.programs,.too.
5ca20 0d 0a 0d 0a 20 20 57 68 65 6e 20 77 65 20 73 70 65 61 6b 20 6f 66 20 66 72 65 65 20 73 6f 66 74 ......When.we.speak.of.free.soft
5ca40 77 61 72 65 2c 20 77 65 20 61 72 65 20 72 65 66 65 72 72 69 6e 67 20 74 6f 20 66 72 65 65 64 6f ware,.we.are.referring.to.freedo
5ca60 6d 2c 20 6e 6f 74 0d 0a 70 72 69 63 65 2e 20 20 4f 75 72 20 47 65 6e 65 72 61 6c 20 50 75 62 6c m,.not..price...Our.General.Publ
5ca80 69 63 20 4c 69 63 65 6e 73 65 73 20 61 72 65 20 64 65 73 69 67 6e 65 64 20 74 6f 20 6d 61 6b 65 ic.Licenses.are.designed.to.make
5caa0 20 73 75 72 65 20 74 68 61 74 20 79 6f 75 0d 0a 68 61 76 65 20 74 68 65 20 66 72 65 65 64 6f 6d .sure.that.you..have.the.freedom
5cac0 20 74 6f 20 64 69 73 74 72 69 62 75 74 65 20 63 6f 70 69 65 73 20 6f 66 20 66 72 65 65 20 73 6f .to.distribute.copies.of.free.so
5cae0 66 74 77 61 72 65 20 28 61 6e 64 20 63 68 61 72 67 65 20 66 6f 72 0d 0a 74 68 69 73 20 73 65 72 ftware.(and.charge.for..this.ser
5cb00 76 69 63 65 20 69 66 20 79 6f 75 20 77 69 73 68 29 2c 20 74 68 61 74 20 79 6f 75 20 72 65 63 65 vice.if.you.wish),.that.you.rece
5cb20 69 76 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 6f 72 20 63 61 6e 20 67 65 74 20 69 74 0d 0a 69 ive.source.code.or.can.get.it..i
5cb40 66 20 79 6f 75 20 77 61 6e 74 20 69 74 2c 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 63 68 61 6e f.you.want.it,.that.you.can.chan
5cb60 67 65 20 74 68 65 20 73 6f 66 74 77 61 72 65 20 6f 72 20 75 73 65 20 70 69 65 63 65 73 20 6f 66 ge.the.software.or.use.pieces.of
5cb80 20 69 74 0d 0a 69 6e 20 6e 65 77 20 66 72 65 65 20 70 72 6f 67 72 61 6d 73 3b 20 61 6e 64 20 74 .it..in.new.free.programs;.and.t
5cba0 68 61 74 20 79 6f 75 20 6b 6e 6f 77 20 79 6f 75 20 63 61 6e 20 64 6f 20 74 68 65 73 65 20 74 68 hat.you.know.you.can.do.these.th
5cbc0 69 6e 67 73 2e 0d 0a 0d 0a 20 20 54 6f 20 70 72 6f 74 65 63 74 20 79 6f 75 72 20 72 69 67 68 74 ings.......To.protect.your.right
5cbe0 73 2c 20 77 65 20 6e 65 65 64 20 74 6f 20 6d 61 6b 65 20 72 65 73 74 72 69 63 74 69 6f 6e 73 20 s,.we.need.to.make.restrictions.
5cc00 74 68 61 74 20 66 6f 72 62 69 64 0d 0a 61 6e 79 6f 6e 65 20 74 6f 20 64 65 6e 79 20 79 6f 75 20 that.forbid..anyone.to.deny.you.
5cc20 74 68 65 73 65 20 72 69 67 68 74 73 20 6f 72 20 74 6f 20 61 73 6b 20 79 6f 75 20 74 6f 20 73 75 these.rights.or.to.ask.you.to.su
5cc40 72 72 65 6e 64 65 72 20 74 68 65 20 72 69 67 68 74 73 2e 0d 0a 54 68 65 73 65 20 72 65 73 74 72 rrender.the.rights...These.restr
5cc60 69 63 74 69 6f 6e 73 20 74 72 61 6e 73 6c 61 74 65 20 74 6f 20 63 65 72 74 61 69 6e 20 72 65 73 ictions.translate.to.certain.res
5cc80 70 6f 6e 73 69 62 69 6c 69 74 69 65 73 20 66 6f 72 20 79 6f 75 20 69 66 20 79 6f 75 0d 0a 64 69 ponsibilities.for.you.if.you..di
5cca0 73 74 72 69 62 75 74 65 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 73 6f 66 74 77 61 72 65 2c stribute.copies.of.the.software,
5ccc0 20 6f 72 20 69 66 20 79 6f 75 20 6d 6f 64 69 66 79 20 69 74 2e 0d 0a 0d 0a 20 20 46 6f 72 20 65 .or.if.you.modify.it.......For.e
5cce0 78 61 6d 70 6c 65 2c 20 69 66 20 79 6f 75 20 64 69 73 74 72 69 62 75 74 65 20 63 6f 70 69 65 73 xample,.if.you.distribute.copies
5cd00 20 6f 66 20 73 75 63 68 20 61 20 70 72 6f 67 72 61 6d 2c 20 77 68 65 74 68 65 72 0d 0a 67 72 61 .of.such.a.program,.whether..gra
5cd20 74 69 73 20 6f 72 20 66 6f 72 20 61 20 66 65 65 2c 20 79 6f 75 20 6d 75 73 74 20 67 69 76 65 20 tis.or.for.a.fee,.you.must.give.
5cd40 74 68 65 20 72 65 63 69 70 69 65 6e 74 73 20 61 6c 6c 20 74 68 65 20 72 69 67 68 74 73 20 74 68 the.recipients.all.the.rights.th
5cd60 61 74 0d 0a 79 6f 75 20 68 61 76 65 2e 20 20 59 6f 75 20 6d 75 73 74 20 6d 61 6b 65 20 73 75 72 at..you.have...You.must.make.sur
5cd80 65 20 74 68 61 74 20 74 68 65 79 2c 20 74 6f 6f 2c 20 72 65 63 65 69 76 65 20 6f 72 20 63 61 6e e.that.they,.too,.receive.or.can
5cda0 20 67 65 74 20 74 68 65 0d 0a 73 6f 75 72 63 65 20 63 6f 64 65 2e 20 20 41 6e 64 20 79 6f 75 20 .get.the..source.code...And.you.
5cdc0 6d 75 73 74 20 73 68 6f 77 20 74 68 65 6d 20 74 68 65 73 65 20 74 65 72 6d 73 20 73 6f 20 74 68 must.show.them.these.terms.so.th
5cde0 65 79 20 6b 6e 6f 77 20 74 68 65 69 72 0d 0a 72 69 67 68 74 73 2e 0d 0a 0d 0a 20 20 57 65 20 70 ey.know.their..rights.......We.p
5ce00 72 6f 74 65 63 74 20 79 6f 75 72 20 72 69 67 68 74 73 20 77 69 74 68 20 74 77 6f 20 73 74 65 70 rotect.your.rights.with.two.step
5ce20 73 3a 20 28 31 29 20 63 6f 70 79 72 69 67 68 74 20 74 68 65 20 73 6f 66 74 77 61 72 65 2c 20 61 s:.(1).copyright.the.software,.a
5ce40 6e 64 0d 0a 28 32 29 20 6f 66 66 65 72 20 79 6f 75 20 74 68 69 73 20 6c 69 63 65 6e 73 65 20 77 nd..(2).offer.you.this.license.w
5ce60 68 69 63 68 20 67 69 76 65 73 20 79 6f 75 20 6c 65 67 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 20 hich.gives.you.legal.permission.
5ce80 74 6f 20 63 6f 70 79 2c 0d 0a 64 69 73 74 72 69 62 75 74 65 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 to.copy,..distribute.and/or.modi
5cea0 66 79 20 74 68 65 20 73 6f 66 74 77 61 72 65 2e 0d 0a 0d 0a 20 20 41 6c 73 6f 2c 20 66 6f 72 20 fy.the.software.......Also,.for.
5cec0 65 61 63 68 20 61 75 74 68 6f 72 27 73 20 70 72 6f 74 65 63 74 69 6f 6e 20 61 6e 64 20 6f 75 72 each.author's.protection.and.our
5cee0 73 2c 20 77 65 20 77 61 6e 74 20 74 6f 20 6d 61 6b 65 20 63 65 72 74 61 69 6e 0d 0a 74 68 61 74 s,.we.want.to.make.certain..that
5cf00 20 65 76 65 72 79 6f 6e 65 20 75 6e 64 65 72 73 74 61 6e 64 73 20 74 68 61 74 20 74 68 65 72 65 .everyone.understands.that.there
5cf20 20 69 73 20 6e 6f 20 77 61 72 72 61 6e 74 79 20 66 6f 72 20 74 68 69 73 20 66 72 65 65 0d 0a 73 .is.no.warranty.for.this.free..s
5cf40 6f 66 74 77 61 72 65 2e 20 20 49 66 20 74 68 65 20 73 6f 66 74 77 61 72 65 20 69 73 20 6d 6f 64 oftware...If.the.software.is.mod
5cf60 69 66 69 65 64 20 62 79 20 73 6f 6d 65 6f 6e 65 20 65 6c 73 65 20 61 6e 64 20 70 61 73 73 65 64 ified.by.someone.else.and.passed
5cf80 20 6f 6e 2c 20 77 65 0d 0a 77 61 6e 74 20 69 74 73 20 72 65 63 69 70 69 65 6e 74 73 20 74 6f 20 .on,.we..want.its.recipients.to.
5cfa0 6b 6e 6f 77 20 74 68 61 74 20 77 68 61 74 20 74 68 65 79 20 68 61 76 65 20 69 73 20 6e 6f 74 20 know.that.what.they.have.is.not.
5cfc0 74 68 65 20 6f 72 69 67 69 6e 61 6c 2c 20 73 6f 0d 0a 74 68 61 74 20 61 6e 79 20 70 72 6f 62 6c the.original,.so..that.any.probl
5cfe0 65 6d 73 20 69 6e 74 72 6f 64 75 63 65 64 20 62 79 20 6f 74 68 65 72 73 20 77 69 6c 6c 20 6e 6f ems.introduced.by.others.will.no
5d000 74 20 72 65 66 6c 65 63 74 20 6f 6e 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 0d 0a 61 75 74 68 6f t.reflect.on.the.original..autho
5d020 72 73 27 20 72 65 70 75 74 61 74 69 6f 6e 73 2e 0d 0a 0d 0a 20 20 46 69 6e 61 6c 6c 79 2c 20 61 rs'.reputations.......Finally,.a
5d040 6e 79 20 66 72 65 65 20 70 72 6f 67 72 61 6d 20 69 73 20 74 68 72 65 61 74 65 6e 65 64 20 63 6f ny.free.program.is.threatened.co
5d060 6e 73 74 61 6e 74 6c 79 20 62 79 20 73 6f 66 74 77 61 72 65 0d 0a 70 61 74 65 6e 74 73 2e 20 20 nstantly.by.software..patents...
5d080 57 65 20 77 69 73 68 20 74 6f 20 61 76 6f 69 64 20 74 68 65 20 64 61 6e 67 65 72 20 74 68 61 74 We.wish.to.avoid.the.danger.that
5d0a0 20 72 65 64 69 73 74 72 69 62 75 74 6f 72 73 20 6f 66 20 61 20 66 72 65 65 0d 0a 70 72 6f 67 72 .redistributors.of.a.free..progr
5d0c0 61 6d 20 77 69 6c 6c 20 69 6e 64 69 76 69 64 75 61 6c 6c 79 20 6f 62 74 61 69 6e 20 70 61 74 65 am.will.individually.obtain.pate
5d0e0 6e 74 20 6c 69 63 65 6e 73 65 73 2c 20 69 6e 20 65 66 66 65 63 74 20 6d 61 6b 69 6e 67 20 74 68 nt.licenses,.in.effect.making.th
5d100 65 0d 0a 70 72 6f 67 72 61 6d 20 70 72 6f 70 72 69 65 74 61 72 79 2e 20 20 54 6f 20 70 72 65 76 e..program.proprietary...To.prev
5d120 65 6e 74 20 74 68 69 73 2c 20 77 65 20 68 61 76 65 20 6d 61 64 65 20 69 74 20 63 6c 65 61 72 20 ent.this,.we.have.made.it.clear.
5d140 74 68 61 74 20 61 6e 79 0d 0a 70 61 74 65 6e 74 20 6d 75 73 74 20 62 65 20 6c 69 63 65 6e 73 65 that.any..patent.must.be.license
5d160 64 20 66 6f 72 20 65 76 65 72 79 6f 6e 65 27 73 20 66 72 65 65 20 75 73 65 20 6f 72 20 6e 6f 74 d.for.everyone's.free.use.or.not
5d180 20 6c 69 63 65 6e 73 65 64 20 61 74 20 61 6c 6c 2e 0d 0a 0d 0a 20 20 54 68 65 20 70 72 65 63 69 .licensed.at.all.......The.preci
5d1a0 73 65 20 74 65 72 6d 73 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 73 20 66 6f 72 20 63 6f 70 79 se.terms.and.conditions.for.copy
5d1c0 69 6e 67 2c 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 61 6e 64 0d 0a 6d 6f 64 69 66 69 63 61 74 ing,.distribution.and..modificat
5d1e0 69 6f 6e 20 66 6f 6c 6c 6f 77 2e 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ion.follow......................
5d200 20 20 20 47 4e 55 20 47 45 4e 45 52 41 4c 20 50 55 42 4c 49 43 20 4c 49 43 45 4e 53 45 0d 0a 20 ...GNU.GENERAL.PUBLIC.LICENSE...
5d220 20 20 54 45 52 4d 53 20 41 4e 44 20 43 4f 4e 44 49 54 49 4f 4e 53 20 46 4f 52 20 43 4f 50 59 49 ..TERMS.AND.CONDITIONS.FOR.COPYI
5d240 4e 47 2c 20 44 49 53 54 52 49 42 55 54 49 4f 4e 20 41 4e 44 20 4d 4f 44 49 46 49 43 41 54 49 4f NG,.DISTRIBUTION.AND.MODIFICATIO
5d260 4e 0d 0a 0d 0a 20 20 30 2e 20 54 68 69 73 20 4c 69 63 65 6e 73 65 20 61 70 70 6c 69 65 73 20 74 N......0..This.License.applies.t
5d280 6f 20 61 6e 79 20 70 72 6f 67 72 61 6d 20 6f 72 20 6f 74 68 65 72 20 77 6f 72 6b 20 77 68 69 63 o.any.program.or.other.work.whic
5d2a0 68 20 63 6f 6e 74 61 69 6e 73 0d 0a 61 20 6e 6f 74 69 63 65 20 70 6c 61 63 65 64 20 62 79 20 74 h.contains..a.notice.placed.by.t
5d2c0 68 65 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 73 61 79 69 6e 67 20 69 74 20 6d 61 he.copyright.holder.saying.it.ma
5d2e0 79 20 62 65 20 64 69 73 74 72 69 62 75 74 65 64 0d 0a 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d y.be.distributed..under.the.term
5d300 73 20 6f 66 20 74 68 69 73 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 s.of.this.General.Public.License
5d320 2e 20 20 54 68 65 20 22 50 72 6f 67 72 61 6d 22 2c 20 62 65 6c 6f 77 2c 0d 0a 72 65 66 65 72 73 ...The."Program",.below,..refers
5d340 20 74 6f 20 61 6e 79 20 73 75 63 68 20 70 72 6f 67 72 61 6d 20 6f 72 20 77 6f 72 6b 2c 20 61 6e .to.any.such.program.or.work,.an
5d360 64 20 61 20 22 77 6f 72 6b 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 22 0d d.a."work.based.on.the.Program".
5d380 0a 6d 65 61 6e 73 20 65 69 74 68 65 72 20 74 68 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 61 6e 79 .means.either.the.Program.or.any
5d3a0 20 64 65 72 69 76 61 74 69 76 65 20 77 6f 72 6b 20 75 6e 64 65 72 20 63 6f 70 79 72 69 67 68 74 .derivative.work.under.copyright
5d3c0 20 6c 61 77 3a 0d 0a 74 68 61 74 20 69 73 20 74 6f 20 73 61 79 2c 20 61 20 77 6f 72 6b 20 63 6f .law:..that.is.to.say,.a.work.co
5d3e0 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 61 20 70 6f 72 74 69 6f ntaining.the.Program.or.a.portio
5d400 6e 20 6f 66 20 69 74 2c 0d 0a 65 69 74 68 65 72 20 76 65 72 62 61 74 69 6d 20 6f 72 20 77 69 74 n.of.it,..either.verbatim.or.wit
5d420 68 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 61 6e 64 2f 6f 72 20 74 72 61 6e 73 6c 61 74 65 h.modifications.and/or.translate
5d440 64 20 69 6e 74 6f 20 61 6e 6f 74 68 65 72 0d 0a 6c 61 6e 67 75 61 67 65 2e 20 20 28 48 65 72 65 d.into.another..language...(Here
5d460 69 6e 61 66 74 65 72 2c 20 74 72 61 6e 73 6c 61 74 69 6f 6e 20 69 73 20 69 6e 63 6c 75 64 65 64 inafter,.translation.is.included
5d480 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 69 6f 6e 20 69 6e 0d 0a 74 68 65 20 74 65 72 6d .without.limitation.in..the.term
5d4a0 20 22 6d 6f 64 69 66 69 63 61 74 69 6f 6e 22 2e 29 20 20 45 61 63 68 20 6c 69 63 65 6e 73 65 65 ."modification".)..Each.licensee
5d4c0 20 69 73 20 61 64 64 72 65 73 73 65 64 20 61 73 20 22 79 6f 75 22 2e 0d 0a 0d 0a 41 63 74 69 76 .is.addressed.as."you".....Activ
5d4e0 69 74 69 65 73 20 6f 74 68 65 72 20 74 68 61 6e 20 63 6f 70 79 69 6e 67 2c 20 64 69 73 74 72 69 ities.other.than.copying,.distri
5d500 62 75 74 69 6f 6e 20 61 6e 64 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 61 72 65 20 6e 6f 74 0d bution.and.modification.are.not.
5d520 0a 63 6f 76 65 72 65 64 20 62 79 20 74 68 69 73 20 4c 69 63 65 6e 73 65 3b 20 74 68 65 79 20 61 .covered.by.this.License;.they.a
5d540 72 65 20 6f 75 74 73 69 64 65 20 69 74 73 20 73 63 6f 70 65 2e 20 20 54 68 65 20 61 63 74 20 6f re.outside.its.scope...The.act.o
5d560 66 0d 0a 72 75 6e 6e 69 6e 67 20 74 68 65 20 50 72 6f 67 72 61 6d 20 69 73 20 6e 6f 74 20 72 65 f..running.the.Program.is.not.re
5d580 73 74 72 69 63 74 65 64 2c 20 61 6e 64 20 74 68 65 20 6f 75 74 70 75 74 20 66 72 6f 6d 20 74 68 stricted,.and.the.output.from.th
5d5a0 65 20 50 72 6f 67 72 61 6d 0d 0a 69 73 20 63 6f 76 65 72 65 64 20 6f 6e 6c 79 20 69 66 20 69 74 e.Program..is.covered.only.if.it
5d5c0 73 20 63 6f 6e 74 65 6e 74 73 20 63 6f 6e 73 74 69 74 75 74 65 20 61 20 77 6f 72 6b 20 62 61 73 s.contents.constitute.a.work.bas
5d5e0 65 64 20 6f 6e 20 74 68 65 0d 0a 50 72 6f 67 72 61 6d 20 28 69 6e 64 65 70 65 6e 64 65 6e 74 20 ed.on.the..Program.(independent.
5d600 6f 66 20 68 61 76 69 6e 67 20 62 65 65 6e 20 6d 61 64 65 20 62 79 20 72 75 6e 6e 69 6e 67 20 74 of.having.been.made.by.running.t
5d620 68 65 20 50 72 6f 67 72 61 6d 29 2e 0d 0a 57 68 65 74 68 65 72 20 74 68 61 74 20 69 73 20 74 72 he.Program)...Whether.that.is.tr
5d640 75 65 20 64 65 70 65 6e 64 73 20 6f 6e 20 77 68 61 74 20 74 68 65 20 50 72 6f 67 72 61 6d 20 64 ue.depends.on.what.the.Program.d
5d660 6f 65 73 2e 0d 0a 0d 0a 20 20 31 2e 20 59 6f 75 20 6d 61 79 20 63 6f 70 79 20 61 6e 64 20 64 69 oes.......1..You.may.copy.and.di
5d680 73 74 72 69 62 75 74 65 20 76 65 72 62 61 74 69 6d 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 stribute.verbatim.copies.of.the.
5d6a0 50 72 6f 67 72 61 6d 27 73 0d 0a 73 6f 75 72 63 65 20 63 6f 64 65 20 61 73 20 79 6f 75 20 72 65 Program's..source.code.as.you.re
5d6c0 63 65 69 76 65 20 69 74 2c 20 69 6e 20 61 6e 79 20 6d 65 64 69 75 6d 2c 20 70 72 6f 76 69 64 65 ceive.it,.in.any.medium,.provide
5d6e0 64 20 74 68 61 74 20 79 6f 75 0d 0a 63 6f 6e 73 70 69 63 75 6f 75 73 6c 79 20 61 6e 64 20 61 70 d.that.you..conspicuously.and.ap
5d700 70 72 6f 70 72 69 61 74 65 6c 79 20 70 75 62 6c 69 73 68 20 6f 6e 20 65 61 63 68 20 63 6f 70 79 propriately.publish.on.each.copy
5d720 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65 0d 0a 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 .an.appropriate..copyright.notic
5d740 65 20 61 6e 64 20 64 69 73 63 6c 61 69 6d 65 72 20 6f 66 20 77 61 72 72 61 6e 74 79 3b 20 6b 65 e.and.disclaimer.of.warranty;.ke
5d760 65 70 20 69 6e 74 61 63 74 20 61 6c 6c 20 74 68 65 0d 0a 6e 6f 74 69 63 65 73 20 74 68 61 74 20 ep.intact.all.the..notices.that.
5d780 72 65 66 65 72 20 74 6f 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 6e 64 20 74 6f 20 74 68 65 refer.to.this.License.and.to.the
5d7a0 20 61 62 73 65 6e 63 65 20 6f 66 20 61 6e 79 20 77 61 72 72 61 6e 74 79 3b 0d 0a 61 6e 64 20 67 .absence.of.any.warranty;..and.g
5d7c0 69 76 65 20 61 6e 79 20 6f 74 68 65 72 20 72 65 63 69 70 69 65 6e 74 73 20 6f 66 20 74 68 65 20 ive.any.other.recipients.of.the.
5d7e0 50 72 6f 67 72 61 6d 20 61 20 63 6f 70 79 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 0d 0a Program.a.copy.of.this.License..
5d800 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 0d 0a 0d 0a 59 6f 75 20 6d along.with.the.Program.....You.m
5d820 61 79 20 63 68 61 72 67 65 20 61 20 66 65 65 20 66 6f 72 20 74 68 65 20 70 68 79 73 69 63 61 6c ay.charge.a.fee.for.the.physical
5d840 20 61 63 74 20 6f 66 20 74 72 61 6e 73 66 65 72 72 69 6e 67 20 61 20 63 6f 70 79 2c 20 61 6e 64 .act.of.transferring.a.copy,.and
5d860 0d 0a 79 6f 75 20 6d 61 79 20 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 20 6f 66 66 65 72 20 77 ..you.may.at.your.option.offer.w
5d880 61 72 72 61 6e 74 79 20 70 72 6f 74 65 63 74 69 6f 6e 20 69 6e 20 65 78 63 68 61 6e 67 65 20 66 arranty.protection.in.exchange.f
5d8a0 6f 72 20 61 20 66 65 65 2e 0d 0a 0d 0a 20 20 32 2e 20 59 6f 75 20 6d 61 79 20 6d 6f 64 69 66 79 or.a.fee.......2..You.may.modify
5d8c0 20 79 6f 75 72 20 63 6f 70 79 20 6f 72 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 50 72 6f 67 .your.copy.or.copies.of.the.Prog
5d8e0 72 61 6d 20 6f 72 20 61 6e 79 20 70 6f 72 74 69 6f 6e 0d 0a 6f 66 20 69 74 2c 20 74 68 75 73 20 ram.or.any.portion..of.it,.thus.
5d900 66 6f 72 6d 69 6e 67 20 61 20 77 6f 72 6b 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 50 72 6f 67 forming.a.work.based.on.the.Prog
5d920 72 61 6d 2c 20 61 6e 64 20 63 6f 70 79 20 61 6e 64 0d 0a 64 69 73 74 72 69 62 75 74 65 20 73 75 ram,.and.copy.and..distribute.su
5d940 63 68 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 6f 72 20 77 6f 72 6b 20 75 6e 64 65 72 20 74 ch.modifications.or.work.under.t
5d960 68 65 20 74 65 72 6d 73 20 6f 66 20 53 65 63 74 69 6f 6e 20 31 0d 0a 61 62 6f 76 65 2c 20 70 72 he.terms.of.Section.1..above,.pr
5d980 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 61 6c 73 6f 20 6d 65 65 74 20 61 6c 6c 20 6f 66 ovided.that.you.also.meet.all.of
5d9a0 20 74 68 65 73 65 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0d 0a 0d 0a 20 20 20 20 61 29 20 59 6f 75 .these.conditions:........a).You
5d9c0 20 6d 75 73 74 20 63 61 75 73 65 20 74 68 65 20 6d 6f 64 69 66 69 65 64 20 66 69 6c 65 73 20 74 .must.cause.the.modified.files.t
5d9e0 6f 20 63 61 72 72 79 20 70 72 6f 6d 69 6e 65 6e 74 20 6e 6f 74 69 63 65 73 0d 0a 20 20 20 20 73 o.carry.prominent.notices......s
5da00 74 61 74 69 6e 67 20 74 68 61 74 20 79 6f 75 20 63 68 61 6e 67 65 64 20 74 68 65 20 66 69 6c 65 tating.that.you.changed.the.file
5da20 73 20 61 6e 64 20 74 68 65 20 64 61 74 65 20 6f 66 20 61 6e 79 20 63 68 61 6e 67 65 2e 0d 0a 0d s.and.the.date.of.any.change....
5da40 0a 20 20 20 20 62 29 20 59 6f 75 20 6d 75 73 74 20 63 61 75 73 65 20 61 6e 79 20 77 6f 72 6b 20 .....b).You.must.cause.any.work.
5da60 74 68 61 74 20 79 6f 75 20 64 69 73 74 72 69 62 75 74 65 20 6f 72 20 70 75 62 6c 69 73 68 2c 20 that.you.distribute.or.publish,.
5da80 74 68 61 74 20 69 6e 0d 0a 20 20 20 20 77 68 6f 6c 65 20 6f 72 20 69 6e 20 70 61 72 74 20 63 6f that.in......whole.or.in.part.co
5daa0 6e 74 61 69 6e 73 20 6f 72 20 69 73 20 64 65 72 69 76 65 64 20 66 72 6f 6d 20 74 68 65 20 50 72 ntains.or.is.derived.from.the.Pr
5dac0 6f 67 72 61 6d 20 6f 72 20 61 6e 79 0d 0a 20 20 20 20 70 61 72 74 20 74 68 65 72 65 6f 66 2c 20 ogram.or.any......part.thereof,.
5dae0 74 6f 20 62 65 20 6c 69 63 65 6e 73 65 64 20 61 73 20 61 20 77 68 6f 6c 65 20 61 74 20 6e 6f 20 to.be.licensed.as.a.whole.at.no.
5db00 63 68 61 72 67 65 20 74 6f 20 61 6c 6c 20 74 68 69 72 64 0d 0a 20 20 20 20 70 61 72 74 69 65 73 charge.to.all.third......parties
5db20 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 .under.the.terms.of.this.License
5db40 2e 0d 0a 0d 0a 20 20 20 20 63 29 20 49 66 20 74 68 65 20 6d 6f 64 69 66 69 65 64 20 70 72 6f 67 .........c).If.the.modified.prog
5db60 72 61 6d 20 6e 6f 72 6d 61 6c 6c 79 20 72 65 61 64 73 20 63 6f 6d 6d 61 6e 64 73 20 69 6e 74 65 ram.normally.reads.commands.inte
5db80 72 61 63 74 69 76 65 6c 79 0d 0a 20 20 20 20 77 68 65 6e 20 72 75 6e 2c 20 79 6f 75 20 6d 75 73 ractively......when.run,.you.mus
5dba0 74 20 63 61 75 73 65 20 69 74 2c 20 77 68 65 6e 20 73 74 61 72 74 65 64 20 72 75 6e 6e 69 6e 67 t.cause.it,.when.started.running
5dbc0 20 66 6f 72 20 73 75 63 68 0d 0a 20 20 20 20 69 6e 74 65 72 61 63 74 69 76 65 20 75 73 65 20 69 .for.such......interactive.use.i
5dbe0 6e 20 74 68 65 20 6d 6f 73 74 20 6f 72 64 69 6e 61 72 79 20 77 61 79 2c 20 74 6f 20 70 72 69 6e n.the.most.ordinary.way,.to.prin
5dc00 74 20 6f 72 20 64 69 73 70 6c 61 79 20 61 6e 0d 0a 20 20 20 20 61 6e 6e 6f 75 6e 63 65 6d 65 6e t.or.display.an......announcemen
5dc20 74 20 69 6e 63 6c 75 64 69 6e 67 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65 20 63 6f 70 79 72 t.including.an.appropriate.copyr
5dc40 69 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 61 0d 0a 20 20 20 20 6e 6f 74 69 63 65 20 74 68 ight.notice.and.a......notice.th
5dc60 61 74 20 74 68 65 72 65 20 69 73 20 6e 6f 20 77 61 72 72 61 6e 74 79 20 28 6f 72 20 65 6c 73 65 at.there.is.no.warranty.(or.else
5dc80 2c 20 73 61 79 69 6e 67 20 74 68 61 74 20 79 6f 75 20 70 72 6f 76 69 64 65 0d 0a 20 20 20 20 61 ,.saying.that.you.provide......a
5dca0 20 77 61 72 72 61 6e 74 79 29 20 61 6e 64 20 74 68 61 74 20 75 73 65 72 73 20 6d 61 79 20 72 65 .warranty).and.that.users.may.re
5dcc0 64 69 73 74 72 69 62 75 74 65 20 74 68 65 20 70 72 6f 67 72 61 6d 20 75 6e 64 65 72 0d 0a 20 20 distribute.the.program.under....
5dce0 20 20 74 68 65 73 65 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 20 61 6e 64 20 74 65 6c 6c 69 6e 67 20 ..these.conditions,.and.telling.
5dd00 74 68 65 20 75 73 65 72 20 68 6f 77 20 74 6f 20 76 69 65 77 20 61 20 63 6f 70 79 20 6f 66 20 74 the.user.how.to.view.a.copy.of.t
5dd20 68 69 73 0d 0a 20 20 20 20 4c 69 63 65 6e 73 65 2e 20 20 28 45 78 63 65 70 74 69 6f 6e 3a 20 69 his......License...(Exception:.i
5dd40 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 69 74 73 65 6c 66 20 69 73 20 69 6e 74 65 72 61 63 74 f.the.Program.itself.is.interact
5dd60 69 76 65 20 62 75 74 0d 0a 20 20 20 20 64 6f 65 73 20 6e 6f 74 20 6e 6f 72 6d 61 6c 6c 79 20 70 ive.but......does.not.normally.p
5dd80 72 69 6e 74 20 73 75 63 68 20 61 6e 20 61 6e 6e 6f 75 6e 63 65 6d 65 6e 74 2c 20 79 6f 75 72 20 rint.such.an.announcement,.your.
5dda0 77 6f 72 6b 20 62 61 73 65 64 20 6f 6e 0d 0a 20 20 20 20 74 68 65 20 50 72 6f 67 72 61 6d 20 69 work.based.on......the.Program.i
5ddc0 73 20 6e 6f 74 20 72 65 71 75 69 72 65 64 20 74 6f 20 70 72 69 6e 74 20 61 6e 20 61 6e 6e 6f 75 s.not.required.to.print.an.annou
5dde0 6e 63 65 6d 65 6e 74 2e 29 0d 0a 0d 0a 54 68 65 73 65 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 ncement.)....These.requirements.
5de00 61 70 70 6c 79 20 74 6f 20 74 68 65 20 6d 6f 64 69 66 69 65 64 20 77 6f 72 6b 20 61 73 20 61 20 apply.to.the.modified.work.as.a.
5de20 77 68 6f 6c 65 2e 20 20 49 66 0d 0a 69 64 65 6e 74 69 66 69 61 62 6c 65 20 73 65 63 74 69 6f 6e whole...If..identifiable.section
5de40 73 20 6f 66 20 74 68 61 74 20 77 6f 72 6b 20 61 72 65 20 6e 6f 74 20 64 65 72 69 76 65 64 20 66 s.of.that.work.are.not.derived.f
5de60 72 6f 6d 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 0d 0a 61 6e 64 20 63 61 6e 20 62 65 20 72 65 61 rom.the.Program,..and.can.be.rea
5de80 73 6f 6e 61 62 6c 79 20 63 6f 6e 73 69 64 65 72 65 64 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 61 sonably.considered.independent.a
5dea0 6e 64 20 73 65 70 61 72 61 74 65 20 77 6f 72 6b 73 20 69 6e 0d 0a 74 68 65 6d 73 65 6c 76 65 73 nd.separate.works.in..themselves
5dec0 2c 20 74 68 65 6e 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 61 6e 64 20 69 74 73 20 74 65 72 ,.then.this.License,.and.its.ter
5dee0 6d 73 2c 20 64 6f 20 6e 6f 74 20 61 70 70 6c 79 20 74 6f 20 74 68 6f 73 65 0d 0a 73 65 63 74 69 ms,.do.not.apply.to.those..secti
5df00 6f 6e 73 20 77 68 65 6e 20 79 6f 75 20 64 69 73 74 72 69 62 75 74 65 20 74 68 65 6d 20 61 73 20 ons.when.you.distribute.them.as.
5df20 73 65 70 61 72 61 74 65 20 77 6f 72 6b 73 2e 20 20 42 75 74 20 77 68 65 6e 20 79 6f 75 0d 0a 64 separate.works...But.when.you..d
5df40 69 73 74 72 69 62 75 74 65 20 74 68 65 20 73 61 6d 65 20 73 65 63 74 69 6f 6e 73 20 61 73 20 70 istribute.the.same.sections.as.p
5df60 61 72 74 20 6f 66 20 61 20 77 68 6f 6c 65 20 77 68 69 63 68 20 69 73 20 61 20 77 6f 72 6b 20 62 art.of.a.whole.which.is.a.work.b
5df80 61 73 65 64 0d 0a 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 20 74 68 65 20 64 69 73 74 72 69 ased..on.the.Program,.the.distri
5dfa0 62 75 74 69 6f 6e 20 6f 66 20 74 68 65 20 77 68 6f 6c 65 20 6d 75 73 74 20 62 65 20 6f 6e 20 74 bution.of.the.whole.must.be.on.t
5dfc0 68 65 20 74 65 72 6d 73 20 6f 66 0d 0a 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 77 68 6f 73 65 he.terms.of..this.License,.whose
5dfe0 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 66 6f 72 20 6f 74 68 65 72 20 6c 69 63 65 6e 73 65 65 73 .permissions.for.other.licensees
5e000 20 65 78 74 65 6e 64 20 74 6f 20 74 68 65 0d 0a 65 6e 74 69 72 65 20 77 68 6f 6c 65 2c 20 61 6e .extend.to.the..entire.whole,.an
5e020 64 20 74 68 75 73 20 74 6f 20 65 61 63 68 20 61 6e 64 20 65 76 65 72 79 20 70 61 72 74 20 72 65 d.thus.to.each.and.every.part.re
5e040 67 61 72 64 6c 65 73 73 20 6f 66 20 77 68 6f 20 77 72 6f 74 65 20 69 74 2e 0d 0a 0d 0a 54 68 75 gardless.of.who.wrote.it.....Thu
5e060 73 2c 20 69 74 20 69 73 20 6e 6f 74 20 74 68 65 20 69 6e 74 65 6e 74 20 6f 66 20 74 68 69 73 20 s,.it.is.not.the.intent.of.this.
5e080 73 65 63 74 69 6f 6e 20 74 6f 20 63 6c 61 69 6d 20 72 69 67 68 74 73 20 6f 72 20 63 6f 6e 74 65 section.to.claim.rights.or.conte
5e0a0 73 74 0d 0a 79 6f 75 72 20 72 69 67 68 74 73 20 74 6f 20 77 6f 72 6b 20 77 72 69 74 74 65 6e 20 st..your.rights.to.work.written.
5e0c0 65 6e 74 69 72 65 6c 79 20 62 79 20 79 6f 75 3b 20 72 61 74 68 65 72 2c 20 74 68 65 20 69 6e 74 entirely.by.you;.rather,.the.int
5e0e0 65 6e 74 20 69 73 20 74 6f 0d 0a 65 78 65 72 63 69 73 65 20 74 68 65 20 72 69 67 68 74 20 74 6f ent.is.to..exercise.the.right.to
5e100 20 63 6f 6e 74 72 6f 6c 20 74 68 65 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6f 66 20 64 65 72 .control.the.distribution.of.der
5e120 69 76 61 74 69 76 65 20 6f 72 0d 0a 63 6f 6c 6c 65 63 74 69 76 65 20 77 6f 72 6b 73 20 62 61 73 ivative.or..collective.works.bas
5e140 65 64 20 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 0d 0a 0d 0a 49 6e 20 61 64 64 69 74 69 6f ed.on.the.Program.....In.additio
5e160 6e 2c 20 6d 65 72 65 20 61 67 67 72 65 67 61 74 69 6f 6e 20 6f 66 20 61 6e 6f 74 68 65 72 20 77 n,.mere.aggregation.of.another.w
5e180 6f 72 6b 20 6e 6f 74 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 0d 0a 77 69 ork.not.based.on.the.Program..wi
5e1a0 74 68 20 74 68 65 20 50 72 6f 67 72 61 6d 20 28 6f 72 20 77 69 74 68 20 61 20 77 6f 72 6b 20 62 th.the.Program.(or.with.a.work.b
5e1c0 61 73 65 64 20 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 29 20 6f 6e 20 61 20 76 6f 6c 75 6d 65 ased.on.the.Program).on.a.volume
5e1e0 20 6f 66 0d 0a 61 20 73 74 6f 72 61 67 65 20 6f 72 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6d .of..a.storage.or.distribution.m
5e200 65 64 69 75 6d 20 64 6f 65 73 20 6e 6f 74 20 62 72 69 6e 67 20 74 68 65 20 6f 74 68 65 72 20 77 edium.does.not.bring.the.other.w
5e220 6f 72 6b 20 75 6e 64 65 72 0d 0a 74 68 65 20 73 63 6f 70 65 20 6f 66 20 74 68 69 73 20 4c 69 63 ork.under..the.scope.of.this.Lic
5e240 65 6e 73 65 2e 0d 0a 0d 0a 20 20 33 2e 20 59 6f 75 20 6d 61 79 20 63 6f 70 79 20 61 6e 64 20 64 ense.......3..You.may.copy.and.d
5e260 69 73 74 72 69 62 75 74 65 20 74 68 65 20 50 72 6f 67 72 61 6d 20 28 6f 72 20 61 20 77 6f 72 6b istribute.the.Program.(or.a.work
5e280 20 62 61 73 65 64 20 6f 6e 20 69 74 2c 0d 0a 75 6e 64 65 72 20 53 65 63 74 69 6f 6e 20 32 29 20 .based.on.it,..under.Section.2).
5e2a0 69 6e 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 6f 72 20 65 78 65 63 75 74 61 62 6c 65 20 66 6f 72 in.object.code.or.executable.for
5e2c0 6d 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 0d 0a 53 65 63 74 69 6f 6e 73 20 31 m.under.the.terms.of..Sections.1
5e2e0 20 61 6e 64 20 32 20 61 62 6f 76 65 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 61 .and.2.above.provided.that.you.a
5e300 6c 73 6f 20 64 6f 20 6f 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 3a 0d 0a 0d 0a lso.do.one.of.the.following:....
5e320 20 20 20 20 61 29 20 41 63 63 6f 6d 70 61 6e 79 20 69 74 20 77 69 74 68 20 74 68 65 20 63 6f 6d ....a).Accompany.it.with.the.com
5e340 70 6c 65 74 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 6d 61 63 68 69 6e 65 2d 72 65 61 64 plete.corresponding.machine-read
5e360 61 62 6c 65 0d 0a 20 20 20 20 73 6f 75 72 63 65 20 63 6f 64 65 2c 20 77 68 69 63 68 20 6d 75 73 able......source.code,.which.mus
5e380 74 20 62 65 20 64 69 73 74 72 69 62 75 74 65 64 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 t.be.distributed.under.the.terms
5e3a0 20 6f 66 20 53 65 63 74 69 6f 6e 73 0d 0a 20 20 20 20 31 20 61 6e 64 20 32 20 61 62 6f 76 65 20 .of.Sections......1.and.2.above.
5e3c0 6f 6e 20 61 20 6d 65 64 69 75 6d 20 63 75 73 74 6f 6d 61 72 69 6c 79 20 75 73 65 64 20 66 6f 72 on.a.medium.customarily.used.for
5e3e0 20 73 6f 66 74 77 61 72 65 20 69 6e 74 65 72 63 68 61 6e 67 65 3b 20 6f 72 2c 0d 0a 0d 0a 20 20 .software.interchange;.or,......
5e400 20 20 62 29 20 41 63 63 6f 6d 70 61 6e 79 20 69 74 20 77 69 74 68 20 61 20 77 72 69 74 74 65 6e ..b).Accompany.it.with.a.written
5e420 20 6f 66 66 65 72 2c 20 76 61 6c 69 64 20 66 6f 72 20 61 74 20 6c 65 61 73 74 20 74 68 72 65 65 .offer,.valid.for.at.least.three
5e440 0d 0a 20 20 20 20 79 65 61 72 73 2c 20 74 6f 20 67 69 76 65 20 61 6e 79 20 74 68 69 72 64 20 70 ......years,.to.give.any.third.p
5e460 61 72 74 79 2c 20 66 6f 72 20 61 20 63 68 61 72 67 65 20 6e 6f 20 6d 6f 72 65 20 74 68 61 6e 20 arty,.for.a.charge.no.more.than.
5e480 79 6f 75 72 0d 0a 20 20 20 20 63 6f 73 74 20 6f 66 20 70 68 79 73 69 63 61 6c 6c 79 20 70 65 72 your......cost.of.physically.per
5e4a0 66 6f 72 6d 69 6e 67 20 73 6f 75 72 63 65 20 64 69 73 74 72 69 62 75 74 69 6f 6e 2c 20 61 20 63 forming.source.distribution,.a.c
5e4c0 6f 6d 70 6c 65 74 65 0d 0a 20 20 20 20 6d 61 63 68 69 6e 65 2d 72 65 61 64 61 62 6c 65 20 63 6f omplete......machine-readable.co
5e4e0 70 79 20 6f 66 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 73 6f 75 72 63 65 20 63 py.of.the.corresponding.source.c
5e500 6f 64 65 2c 20 74 6f 20 62 65 0d 0a 20 20 20 20 64 69 73 74 72 69 62 75 74 65 64 20 75 6e 64 65 ode,.to.be......distributed.unde
5e520 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 53 65 63 74 69 6f 6e 73 20 31 20 61 6e 64 20 32 20 r.the.terms.of.Sections.1.and.2.
5e540 61 62 6f 76 65 20 6f 6e 20 61 20 6d 65 64 69 75 6d 0d 0a 20 20 20 20 63 75 73 74 6f 6d 61 72 69 above.on.a.medium......customari
5e560 6c 79 20 75 73 65 64 20 66 6f 72 20 73 6f 66 74 77 61 72 65 20 69 6e 74 65 72 63 68 61 6e 67 65 ly.used.for.software.interchange
5e580 3b 20 6f 72 2c 0d 0a 0d 0a 20 20 20 20 63 29 20 41 63 63 6f 6d 70 61 6e 79 20 69 74 20 77 69 74 ;.or,........c).Accompany.it.wit
5e5a0 68 20 74 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 79 6f 75 20 72 65 63 65 69 76 65 64 20 61 h.the.information.you.received.a
5e5c0 73 20 74 6f 20 74 68 65 20 6f 66 66 65 72 0d 0a 20 20 20 20 74 6f 20 64 69 73 74 72 69 62 75 74 s.to.the.offer......to.distribut
5e5e0 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 20 20 28 54 e.corresponding.source.code...(T
5e600 68 69 73 20 61 6c 74 65 72 6e 61 74 69 76 65 20 69 73 0d 0a 20 20 20 20 61 6c 6c 6f 77 65 64 20 his.alternative.is......allowed.
5e620 6f 6e 6c 79 20 66 6f 72 20 6e 6f 6e 63 6f 6d 6d 65 72 63 69 61 6c 20 64 69 73 74 72 69 62 75 74 only.for.noncommercial.distribut
5e640 69 6f 6e 20 61 6e 64 20 6f 6e 6c 79 20 69 66 20 79 6f 75 0d 0a 20 20 20 20 72 65 63 65 69 76 65 ion.and.only.if.you......receive
5e660 64 20 74 68 65 20 70 72 6f 67 72 61 6d 20 69 6e 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 6f 72 20 d.the.program.in.object.code.or.
5e680 65 78 65 63 75 74 61 62 6c 65 20 66 6f 72 6d 20 77 69 74 68 20 73 75 63 68 0d 0a 20 20 20 20 61 executable.form.with.such......a
5e6a0 6e 20 6f 66 66 65 72 2c 20 69 6e 20 61 63 63 6f 72 64 20 77 69 74 68 20 53 75 62 73 65 63 74 69 n.offer,.in.accord.with.Subsecti
5e6c0 6f 6e 20 62 20 61 62 6f 76 65 2e 29 0d 0a 0d 0a 54 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 on.b.above.)....The.source.code.
5e6e0 66 6f 72 20 61 20 77 6f 72 6b 20 6d 65 61 6e 73 20 74 68 65 20 70 72 65 66 65 72 72 65 64 20 66 for.a.work.means.the.preferred.f
5e700 6f 72 6d 20 6f 66 20 74 68 65 20 77 6f 72 6b 20 66 6f 72 0d 0a 6d 61 6b 69 6e 67 20 6d 6f 64 69 orm.of.the.work.for..making.modi
5e720 66 69 63 61 74 69 6f 6e 73 20 74 6f 20 69 74 2e 20 20 46 6f 72 20 61 6e 20 65 78 65 63 75 74 61 fications.to.it...For.an.executa
5e740 62 6c 65 20 77 6f 72 6b 2c 20 63 6f 6d 70 6c 65 74 65 20 73 6f 75 72 63 65 0d 0a 63 6f 64 65 20 ble.work,.complete.source..code.
5e760 6d 65 61 6e 73 20 61 6c 6c 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 6f 72 20 61 6c means.all.the.source.code.for.al
5e780 6c 20 6d 6f 64 75 6c 65 73 20 69 74 20 63 6f 6e 74 61 69 6e 73 2c 20 70 6c 75 73 20 61 6e 79 0d l.modules.it.contains,.plus.any.
5e7a0 0a 61 73 73 6f 63 69 61 74 65 64 20 69 6e 74 65 72 66 61 63 65 20 64 65 66 69 6e 69 74 69 6f 6e .associated.interface.definition
5e7c0 20 66 69 6c 65 73 2c 20 70 6c 75 73 20 74 68 65 20 73 63 72 69 70 74 73 20 75 73 65 64 20 74 6f .files,.plus.the.scripts.used.to
5e7e0 0d 0a 63 6f 6e 74 72 6f 6c 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 61 6e 64 20 69 6e 73 74 61 6c ..control.compilation.and.instal
5e800 6c 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 65 78 65 63 75 74 61 62 6c 65 2e 20 20 48 6f 77 65 76 lation.of.the.executable...Howev
5e820 65 72 2c 20 61 73 20 61 0d 0a 73 70 65 63 69 61 6c 20 65 78 63 65 70 74 69 6f 6e 2c 20 74 68 65 er,.as.a..special.exception,.the
5e840 20 73 6f 75 72 63 65 20 63 6f 64 65 20 64 69 73 74 72 69 62 75 74 65 64 20 6e 65 65 64 20 6e 6f .source.code.distributed.need.no
5e860 74 20 69 6e 63 6c 75 64 65 0d 0a 61 6e 79 74 68 69 6e 67 20 74 68 61 74 20 69 73 20 6e 6f 72 6d t.include..anything.that.is.norm
5e880 61 6c 6c 79 20 64 69 73 74 72 69 62 75 74 65 64 20 28 69 6e 20 65 69 74 68 65 72 20 73 6f 75 72 ally.distributed.(in.either.sour
5e8a0 63 65 20 6f 72 20 62 69 6e 61 72 79 0d 0a 66 6f 72 6d 29 20 77 69 74 68 20 74 68 65 20 6d 61 6a ce.or.binary..form).with.the.maj
5e8c0 6f 72 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 28 63 6f 6d 70 69 6c 65 72 2c 20 6b 65 72 6e 65 6c 2c or.components.(compiler,.kernel,
5e8e0 20 61 6e 64 20 73 6f 20 6f 6e 29 20 6f 66 20 74 68 65 0d 0a 6f 70 65 72 61 74 69 6e 67 20 73 79 .and.so.on).of.the..operating.sy
5e900 73 74 65 6d 20 6f 6e 20 77 68 69 63 68 20 74 68 65 20 65 78 65 63 75 74 61 62 6c 65 20 72 75 6e stem.on.which.the.executable.run
5e920 73 2c 20 75 6e 6c 65 73 73 20 74 68 61 74 20 63 6f 6d 70 6f 6e 65 6e 74 0d 0a 69 74 73 65 6c 66 s,.unless.that.component..itself
5e940 20 61 63 63 6f 6d 70 61 6e 69 65 73 20 74 68 65 20 65 78 65 63 75 74 61 62 6c 65 2e 0d 0a 0d 0a .accompanies.the.executable.....
5e960 49 66 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6f 66 20 65 78 65 63 75 74 61 62 6c 65 20 6f 72 If.distribution.of.executable.or
5e980 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 69 73 20 6d 61 64 65 20 62 79 20 6f 66 66 65 72 69 6e 67 .object.code.is.made.by.offering
5e9a0 0d 0a 61 63 63 65 73 73 20 74 6f 20 63 6f 70 79 20 66 72 6f 6d 20 61 20 64 65 73 69 67 6e 61 74 ..access.to.copy.from.a.designat
5e9c0 65 64 20 70 6c 61 63 65 2c 20 74 68 65 6e 20 6f 66 66 65 72 69 6e 67 20 65 71 75 69 76 61 6c 65 ed.place,.then.offering.equivale
5e9e0 6e 74 0d 0a 61 63 63 65 73 73 20 74 6f 20 63 6f 70 79 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f nt..access.to.copy.the.source.co
5ea00 64 65 20 66 72 6f 6d 20 74 68 65 20 73 61 6d 65 20 70 6c 61 63 65 20 63 6f 75 6e 74 73 20 61 73 de.from.the.same.place.counts.as
5ea20 0d 0a 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6f 66 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 ..distribution.of.the.source.cod
5ea40 65 2c 20 65 76 65 6e 20 74 68 6f 75 67 68 20 74 68 69 72 64 20 70 61 72 74 69 65 73 20 61 72 65 e,.even.though.third.parties.are
5ea60 20 6e 6f 74 0d 0a 63 6f 6d 70 65 6c 6c 65 64 20 74 6f 20 63 6f 70 79 20 74 68 65 20 73 6f 75 72 .not..compelled.to.copy.the.sour
5ea80 63 65 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 2e 0d 0a ce.along.with.the.object.code...
5eaa0 0d 0a 20 20 34 2e 20 59 6f 75 20 6d 61 79 20 6e 6f 74 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c ....4..You.may.not.copy,.modify,
5eac0 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 6f 72 20 64 69 73 74 72 69 62 75 74 65 20 74 68 65 20 50 .sublicense,.or.distribute.the.P
5eae0 72 6f 67 72 61 6d 0d 0a 65 78 63 65 70 74 20 61 73 20 65 78 70 72 65 73 73 6c 79 20 70 72 6f 76 rogram..except.as.expressly.prov
5eb00 69 64 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 41 6e 79 20 61 74 ided.under.this.License...Any.at
5eb20 74 65 6d 70 74 0d 0a 6f 74 68 65 72 77 69 73 65 20 74 6f 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 tempt..otherwise.to.copy,.modify
5eb40 2c 20 73 75 62 6c 69 63 65 6e 73 65 20 6f 72 20 64 69 73 74 72 69 62 75 74 65 20 74 68 65 20 50 ,.sublicense.or.distribute.the.P
5eb60 72 6f 67 72 61 6d 20 69 73 0d 0a 76 6f 69 64 2c 20 61 6e 64 20 77 69 6c 6c 20 61 75 74 6f 6d 61 rogram.is..void,.and.will.automa
5eb80 74 69 63 61 6c 6c 79 20 74 65 72 6d 69 6e 61 74 65 20 79 6f 75 72 20 72 69 67 68 74 73 20 75 6e tically.terminate.your.rights.un
5eba0 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0d 0a 48 6f 77 65 76 65 72 2c 20 70 61 72 74 der.this.License...However,.part
5ebc0 69 65 73 20 77 68 6f 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 63 6f 70 69 65 73 2c 20 6f 72 ies.who.have.received.copies,.or
5ebe0 20 72 69 67 68 74 73 2c 20 66 72 6f 6d 20 79 6f 75 20 75 6e 64 65 72 0d 0a 74 68 69 73 20 4c 69 .rights,.from.you.under..this.Li
5ec00 63 65 6e 73 65 20 77 69 6c 6c 20 6e 6f 74 20 68 61 76 65 20 74 68 65 69 72 20 6c 69 63 65 6e 73 cense.will.not.have.their.licens
5ec20 65 73 20 74 65 72 6d 69 6e 61 74 65 64 20 73 6f 20 6c 6f 6e 67 20 61 73 20 73 75 63 68 0d 0a 70 es.terminated.so.long.as.such..p
5ec40 61 72 74 69 65 73 20 72 65 6d 61 69 6e 20 69 6e 20 66 75 6c 6c 20 63 6f 6d 70 6c 69 61 6e 63 65 arties.remain.in.full.compliance
5ec60 2e 0d 0a 0d 0a 20 20 35 2e 20 59 6f 75 20 61 72 65 20 6e 6f 74 20 72 65 71 75 69 72 65 64 20 74 .......5..You.are.not.required.t
5ec80 6f 20 61 63 63 65 70 74 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 73 69 6e 63 65 20 79 6f 75 o.accept.this.License,.since.you
5eca0 20 68 61 76 65 20 6e 6f 74 0d 0a 73 69 67 6e 65 64 20 69 74 2e 20 20 48 6f 77 65 76 65 72 2c 20 .have.not..signed.it...However,.
5ecc0 6e 6f 74 68 69 6e 67 20 65 6c 73 65 20 67 72 61 6e 74 73 20 79 6f 75 20 70 65 72 6d 69 73 73 69 nothing.else.grants.you.permissi
5ece0 6f 6e 20 74 6f 20 6d 6f 64 69 66 79 20 6f 72 0d 0a 64 69 73 74 72 69 62 75 74 65 20 74 68 65 20 on.to.modify.or..distribute.the.
5ed00 50 72 6f 67 72 61 6d 20 6f 72 20 69 74 73 20 64 65 72 69 76 61 74 69 76 65 20 77 6f 72 6b 73 2e Program.or.its.derivative.works.
5ed20 20 20 54 68 65 73 65 20 61 63 74 69 6f 6e 73 20 61 72 65 0d 0a 70 72 6f 68 69 62 69 74 65 64 20 ..These.actions.are..prohibited.
5ed40 62 79 20 6c 61 77 20 69 66 20 79 6f 75 20 64 6f 20 6e 6f 74 20 61 63 63 65 70 74 20 74 68 69 73 by.law.if.you.do.not.accept.this
5ed60 20 4c 69 63 65 6e 73 65 2e 20 20 54 68 65 72 65 66 6f 72 65 2c 20 62 79 0d 0a 6d 6f 64 69 66 79 .License...Therefore,.by..modify
5ed80 69 6e 67 20 6f 72 20 64 69 73 74 72 69 62 75 74 69 6e 67 20 74 68 65 20 50 72 6f 67 72 61 6d 20 ing.or.distributing.the.Program.
5eda0 28 6f 72 20 61 6e 79 20 77 6f 72 6b 20 62 61 73 65 64 20 6f 6e 20 74 68 65 0d 0a 50 72 6f 67 72 (or.any.work.based.on.the..Progr
5edc0 61 6d 29 2c 20 79 6f 75 20 69 6e 64 69 63 61 74 65 20 79 6f 75 72 20 61 63 63 65 70 74 61 6e 63 am),.you.indicate.your.acceptanc
5ede0 65 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 74 6f 20 64 6f 20 73 6f 2c 20 61 6e 64 0d e.of.this.License.to.do.so,.and.
5ee00 0a 61 6c 6c 20 69 74 73 20 74 65 72 6d 73 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 73 20 66 6f .all.its.terms.and.conditions.fo
5ee20 72 20 63 6f 70 79 69 6e 67 2c 20 64 69 73 74 72 69 62 75 74 69 6e 67 20 6f 72 20 6d 6f 64 69 66 r.copying,.distributing.or.modif
5ee40 79 69 6e 67 0d 0a 74 68 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 77 6f 72 6b 73 20 62 61 73 65 64 ying..the.Program.or.works.based
5ee60 20 6f 6e 20 69 74 2e 0d 0a 0d 0a 20 20 36 2e 20 45 61 63 68 20 74 69 6d 65 20 79 6f 75 20 72 65 .on.it.......6..Each.time.you.re
5ee80 64 69 73 74 72 69 62 75 74 65 20 74 68 65 20 50 72 6f 67 72 61 6d 20 28 6f 72 20 61 6e 79 20 77 distribute.the.Program.(or.any.w
5eea0 6f 72 6b 20 62 61 73 65 64 20 6f 6e 20 74 68 65 0d 0a 50 72 6f 67 72 61 6d 29 2c 20 74 68 65 20 ork.based.on.the..Program),.the.
5eec0 72 65 63 69 70 69 65 6e 74 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 72 65 63 65 69 76 65 73 recipient.automatically.receives
5eee0 20 61 20 6c 69 63 65 6e 73 65 20 66 72 6f 6d 20 74 68 65 0d 0a 6f 72 69 67 69 6e 61 6c 20 6c 69 .a.license.from.the..original.li
5ef00 63 65 6e 73 6f 72 20 74 6f 20 63 6f 70 79 2c 20 64 69 73 74 72 69 62 75 74 65 20 6f 72 20 6d 6f censor.to.copy,.distribute.or.mo
5ef20 64 69 66 79 20 74 68 65 20 50 72 6f 67 72 61 6d 20 73 75 62 6a 65 63 74 20 74 6f 0d 0a 74 68 65 dify.the.Program.subject.to..the
5ef40 73 65 20 74 65 72 6d 73 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 20 20 59 6f 75 20 6d 61 se.terms.and.conditions...You.ma
5ef60 79 20 6e 6f 74 20 69 6d 70 6f 73 65 20 61 6e 79 20 66 75 72 74 68 65 72 0d 0a 72 65 73 74 72 69 y.not.impose.any.further..restri
5ef80 63 74 69 6f 6e 73 20 6f 6e 20 74 68 65 20 72 65 63 69 70 69 65 6e 74 73 27 20 65 78 65 72 63 69 ctions.on.the.recipients'.exerci
5efa0 73 65 20 6f 66 20 74 68 65 20 72 69 67 68 74 73 20 67 72 61 6e 74 65 64 20 68 65 72 65 69 6e 2e se.of.the.rights.granted.herein.
5efc0 0d 0a 59 6f 75 20 61 72 65 20 6e 6f 74 20 72 65 73 70 6f 6e 73 69 62 6c 65 20 66 6f 72 20 65 6e ..You.are.not.responsible.for.en
5efe0 66 6f 72 63 69 6e 67 20 63 6f 6d 70 6c 69 61 6e 63 65 20 62 79 20 74 68 69 72 64 20 70 61 72 74 forcing.compliance.by.third.part
5f000 69 65 73 20 74 6f 0d 0a 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0d 0a 0d 0a 20 20 37 2e 20 49 66 ies.to..this.License.......7..If
5f020 2c 20 61 73 20 61 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 6f 66 20 61 20 63 6f 75 72 74 20 6a 75 ,.as.a.consequence.of.a.court.ju
5f040 64 67 6d 65 6e 74 20 6f 72 20 61 6c 6c 65 67 61 74 69 6f 6e 20 6f 66 20 70 61 74 65 6e 74 0d 0a dgment.or.allegation.of.patent..
5f060 69 6e 66 72 69 6e 67 65 6d 65 6e 74 20 6f 72 20 66 6f 72 20 61 6e 79 20 6f 74 68 65 72 20 72 65 infringement.or.for.any.other.re
5f080 61 73 6f 6e 20 28 6e 6f 74 20 6c 69 6d 69 74 65 64 20 74 6f 20 70 61 74 65 6e 74 20 69 73 73 75 ason.(not.limited.to.patent.issu
5f0a0 65 73 29 2c 0d 0a 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 69 6d 70 6f 73 65 64 20 6f 6e 20 es),..conditions.are.imposed.on.
5f0c0 79 6f 75 20 28 77 68 65 74 68 65 72 20 62 79 20 63 6f 75 72 74 20 6f 72 64 65 72 2c 20 61 67 72 you.(whether.by.court.order,.agr
5f0e0 65 65 6d 65 6e 74 20 6f 72 0d 0a 6f 74 68 65 72 77 69 73 65 29 20 74 68 61 74 20 63 6f 6e 74 72 eement.or..otherwise).that.contr
5f100 61 64 69 63 74 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 6f 66 20 74 68 69 73 20 4c 69 63 adict.the.conditions.of.this.Lic
5f120 65 6e 73 65 2c 20 74 68 65 79 20 64 6f 20 6e 6f 74 0d 0a 65 78 63 75 73 65 20 79 6f 75 20 66 72 ense,.they.do.not..excuse.you.fr
5f140 6f 6d 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 om.the.conditions.of.this.Licens
5f160 65 2e 20 20 49 66 20 79 6f 75 20 63 61 6e 6e 6f 74 0d 0a 64 69 73 74 72 69 62 75 74 65 20 73 6f e...If.you.cannot..distribute.so
5f180 20 61 73 20 74 6f 20 73 61 74 69 73 66 79 20 73 69 6d 75 6c 74 61 6e 65 6f 75 73 6c 79 20 79 6f .as.to.satisfy.simultaneously.yo
5f1a0 75 72 20 6f 62 6c 69 67 61 74 69 6f 6e 73 20 75 6e 64 65 72 20 74 68 69 73 0d 0a 4c 69 63 65 6e ur.obligations.under.this..Licen
5f1c0 73 65 20 61 6e 64 20 61 6e 79 20 6f 74 68 65 72 20 70 65 72 74 69 6e 65 6e 74 20 6f 62 6c 69 67 se.and.any.other.pertinent.oblig
5f1e0 61 74 69 6f 6e 73 2c 20 74 68 65 6e 20 61 73 20 61 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 79 6f ations,.then.as.a.consequence.yo
5f200 75 0d 0a 6d 61 79 20 6e 6f 74 20 64 69 73 74 72 69 62 75 74 65 20 74 68 65 20 50 72 6f 67 72 61 u..may.not.distribute.the.Progra
5f220 6d 20 61 74 20 61 6c 6c 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 61 20 70 61 74 m.at.all...For.example,.if.a.pat
5f240 65 6e 74 0d 0a 6c 69 63 65 6e 73 65 20 77 6f 75 6c 64 20 6e 6f 74 20 70 65 72 6d 69 74 20 72 6f ent..license.would.not.permit.ro
5f260 79 61 6c 74 79 2d 66 72 65 65 20 72 65 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6f 66 20 74 68 65 yalty-free.redistribution.of.the
5f280 20 50 72 6f 67 72 61 6d 20 62 79 0d 0a 61 6c 6c 20 74 68 6f 73 65 20 77 68 6f 20 72 65 63 65 69 .Program.by..all.those.who.recei
5f2a0 76 65 20 63 6f 70 69 65 73 20 64 69 72 65 63 74 6c 79 20 6f 72 20 69 6e 64 69 72 65 63 74 6c 79 ve.copies.directly.or.indirectly
5f2c0 20 74 68 72 6f 75 67 68 20 79 6f 75 2c 20 74 68 65 6e 0d 0a 74 68 65 20 6f 6e 6c 79 20 77 61 79 .through.you,.then..the.only.way
5f2e0 20 79 6f 75 20 63 6f 75 6c 64 20 73 61 74 69 73 66 79 20 62 6f 74 68 20 69 74 20 61 6e 64 20 74 .you.could.satisfy.both.it.and.t
5f300 68 69 73 20 4c 69 63 65 6e 73 65 20 77 6f 75 6c 64 20 62 65 20 74 6f 0d 0a 72 65 66 72 61 69 6e his.License.would.be.to..refrain
5f320 20 65 6e 74 69 72 65 6c 79 20 66 72 6f 6d 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6f 66 20 74 .entirely.from.distribution.of.t
5f340 68 65 20 50 72 6f 67 72 61 6d 2e 0d 0a 0d 0a 49 66 20 61 6e 79 20 70 6f 72 74 69 6f 6e 20 6f 66 he.Program.....If.any.portion.of
5f360 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 69 73 20 68 65 6c 64 20 69 6e 76 61 6c 69 64 20 6f 72 .this.section.is.held.invalid.or
5f380 20 75 6e 65 6e 66 6f 72 63 65 61 62 6c 65 20 75 6e 64 65 72 0d 0a 61 6e 79 20 70 61 72 74 69 63 .unenforceable.under..any.partic
5f3a0 75 6c 61 72 20 63 69 72 63 75 6d 73 74 61 6e 63 65 2c 20 74 68 65 20 62 61 6c 61 6e 63 65 20 6f ular.circumstance,.the.balance.o
5f3c0 66 20 74 68 65 20 73 65 63 74 69 6f 6e 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74 6f 0d 0a 61 70 f.the.section.is.intended.to..ap
5f3e0 70 6c 79 20 61 6e 64 20 74 68 65 20 73 65 63 74 69 6f 6e 20 61 73 20 61 20 77 68 6f 6c 65 20 69 ply.and.the.section.as.a.whole.i
5f400 73 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 61 70 70 6c 79 20 69 6e 20 6f 74 68 65 72 0d 0a 63 69 s.intended.to.apply.in.other..ci
5f420 72 63 75 6d 73 74 61 6e 63 65 73 2e 0d 0a 0d 0a 49 74 20 69 73 20 6e 6f 74 20 74 68 65 20 70 75 rcumstances.....It.is.not.the.pu
5f440 72 70 6f 73 65 20 6f 66 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 74 6f 20 69 6e 64 75 63 65 20 rpose.of.this.section.to.induce.
5f460 79 6f 75 20 74 6f 20 69 6e 66 72 69 6e 67 65 20 61 6e 79 0d 0a 70 61 74 65 6e 74 73 20 6f 72 20 you.to.infringe.any..patents.or.
5f480 6f 74 68 65 72 20 70 72 6f 70 65 72 74 79 20 72 69 67 68 74 20 63 6c 61 69 6d 73 20 6f 72 20 74 other.property.right.claims.or.t
5f4a0 6f 20 63 6f 6e 74 65 73 74 20 76 61 6c 69 64 69 74 79 20 6f 66 20 61 6e 79 0d 0a 73 75 63 68 20 o.contest.validity.of.any..such.
5f4c0 63 6c 61 69 6d 73 3b 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 68 61 73 20 74 68 65 20 73 6f 6c claims;.this.section.has.the.sol
5f4e0 65 20 70 75 72 70 6f 73 65 20 6f 66 20 70 72 6f 74 65 63 74 69 6e 67 20 74 68 65 0d 0a 69 6e 74 e.purpose.of.protecting.the..int
5f500 65 67 72 69 74 79 20 6f 66 20 74 68 65 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 20 64 69 73 74 egrity.of.the.free.software.dist
5f520 72 69 62 75 74 69 6f 6e 20 73 79 73 74 65 6d 2c 20 77 68 69 63 68 20 69 73 0d 0a 69 6d 70 6c 65 ribution.system,.which.is..imple
5f540 6d 65 6e 74 65 64 20 62 79 20 70 75 62 6c 69 63 20 6c 69 63 65 6e 73 65 20 70 72 61 63 74 69 63 mented.by.public.license.practic
5f560 65 73 2e 20 20 4d 61 6e 79 20 70 65 6f 70 6c 65 20 68 61 76 65 20 6d 61 64 65 0d 0a 67 65 6e 65 es...Many.people.have.made..gene
5f580 72 6f 75 73 20 63 6f 6e 74 72 69 62 75 74 69 6f 6e 73 20 74 6f 20 74 68 65 20 77 69 64 65 20 72 rous.contributions.to.the.wide.r
5f5a0 61 6e 67 65 20 6f 66 20 73 6f 66 74 77 61 72 65 20 64 69 73 74 72 69 62 75 74 65 64 0d 0a 74 68 ange.of.software.distributed..th
5f5c0 72 6f 75 67 68 20 74 68 61 74 20 73 79 73 74 65 6d 20 69 6e 20 72 65 6c 69 61 6e 63 65 20 6f 6e rough.that.system.in.reliance.on
5f5e0 20 63 6f 6e 73 69 73 74 65 6e 74 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 6f 66 20 74 68 61 74 0d .consistent.application.of.that.
5f600 0a 73 79 73 74 65 6d 3b 20 69 74 20 69 73 20 75 70 20 74 6f 20 74 68 65 20 61 75 74 68 6f 72 2f .system;.it.is.up.to.the.author/
5f620 64 6f 6e 6f 72 20 74 6f 20 64 65 63 69 64 65 20 69 66 20 68 65 20 6f 72 20 73 68 65 20 69 73 20 donor.to.decide.if.he.or.she.is.
5f640 77 69 6c 6c 69 6e 67 0d 0a 74 6f 20 64 69 73 74 72 69 62 75 74 65 20 73 6f 66 74 77 61 72 65 20 willing..to.distribute.software.
5f660 74 68 72 6f 75 67 68 20 61 6e 79 20 6f 74 68 65 72 20 73 79 73 74 65 6d 20 61 6e 64 20 61 20 6c through.any.other.system.and.a.l
5f680 69 63 65 6e 73 65 65 20 63 61 6e 6e 6f 74 0d 0a 69 6d 70 6f 73 65 20 74 68 61 74 20 63 68 6f 69 icensee.cannot..impose.that.choi
5f6a0 63 65 2e 0d 0a 0d 0a 54 68 69 73 20 73 65 63 74 69 6f 6e 20 69 73 20 69 6e 74 65 6e 64 65 64 20 ce.....This.section.is.intended.
5f6c0 74 6f 20 6d 61 6b 65 20 74 68 6f 72 6f 75 67 68 6c 79 20 63 6c 65 61 72 20 77 68 61 74 20 69 73 to.make.thoroughly.clear.what.is
5f6e0 20 62 65 6c 69 65 76 65 64 20 74 6f 0d 0a 62 65 20 61 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 6f .believed.to..be.a.consequence.o
5f700 66 20 74 68 65 20 72 65 73 74 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0d 0a 0d 0a 20 f.the.rest.of.this.License......
5f720 20 38 2e 20 49 66 20 74 68 65 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 61 6e 64 2f 6f 72 20 75 .8..If.the.distribution.and/or.u
5f740 73 65 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 69 73 20 72 65 73 74 72 69 63 74 65 64 20 se.of.the.Program.is.restricted.
5f760 69 6e 0d 0a 63 65 72 74 61 69 6e 20 63 6f 75 6e 74 72 69 65 73 20 65 69 74 68 65 72 20 62 79 20 in..certain.countries.either.by.
5f780 70 61 74 65 6e 74 73 20 6f 72 20 62 79 20 63 6f 70 79 72 69 67 68 74 65 64 20 69 6e 74 65 72 66 patents.or.by.copyrighted.interf
5f7a0 61 63 65 73 2c 20 74 68 65 0d 0a 6f 72 69 67 69 6e 61 6c 20 63 6f 70 79 72 69 67 68 74 20 68 6f aces,.the..original.copyright.ho
5f7c0 6c 64 65 72 20 77 68 6f 20 70 6c 61 63 65 73 20 74 68 65 20 50 72 6f 67 72 61 6d 20 75 6e 64 65 lder.who.places.the.Program.unde
5f7e0 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 0d 0a 6d 61 79 20 61 64 64 20 61 6e 20 65 78 70 6c 69 r.this.License..may.add.an.expli
5f800 63 69 74 20 67 65 6f 67 72 61 70 68 69 63 61 6c 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6c 69 cit.geographical.distribution.li
5f820 6d 69 74 61 74 69 6f 6e 20 65 78 63 6c 75 64 69 6e 67 0d 0a 74 68 6f 73 65 20 63 6f 75 6e 74 72 mitation.excluding..those.countr
5f840 69 65 73 2c 20 73 6f 20 74 68 61 74 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 69 73 20 70 65 72 ies,.so.that.distribution.is.per
5f860 6d 69 74 74 65 64 20 6f 6e 6c 79 20 69 6e 20 6f 72 20 61 6d 6f 6e 67 0d 0a 63 6f 75 6e 74 72 69 mitted.only.in.or.among..countri
5f880 65 73 20 6e 6f 74 20 74 68 75 73 20 65 78 63 6c 75 64 65 64 2e 20 20 49 6e 20 73 75 63 68 20 63 es.not.thus.excluded...In.such.c
5f8a0 61 73 65 2c 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 69 6e 63 6f 72 70 6f 72 61 74 65 73 0d 0a ase,.this.License.incorporates..
5f8c0 74 68 65 20 6c 69 6d 69 74 61 74 69 6f 6e 20 61 73 20 69 66 20 77 72 69 74 74 65 6e 20 69 6e 20 the.limitation.as.if.written.in.
5f8e0 74 68 65 20 62 6f 64 79 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0d 0a 0d 0a 20 20 39 the.body.of.this.License.......9
5f900 2e 20 54 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 20 6d ..The.Free.Software.Foundation.m
5f920 61 79 20 70 75 62 6c 69 73 68 20 72 65 76 69 73 65 64 20 61 6e 64 2f 6f 72 20 6e 65 77 20 76 65 ay.publish.revised.and/or.new.ve
5f940 72 73 69 6f 6e 73 0d 0a 6f 66 20 74 68 65 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 rsions..of.the.General.Public.Li
5f960 63 65 6e 73 65 20 66 72 6f 6d 20 74 69 6d 65 20 74 6f 20 74 69 6d 65 2e 20 20 53 75 63 68 20 6e cense.from.time.to.time...Such.n
5f980 65 77 20 76 65 72 73 69 6f 6e 73 20 77 69 6c 6c 0d 0a 62 65 20 73 69 6d 69 6c 61 72 20 69 6e 20 ew.versions.will..be.similar.in.
5f9a0 73 70 69 72 69 74 20 74 6f 20 74 68 65 20 70 72 65 73 65 6e 74 20 76 65 72 73 69 6f 6e 2c 20 62 spirit.to.the.present.version,.b
5f9c0 75 74 20 6d 61 79 20 64 69 66 66 65 72 20 69 6e 20 64 65 74 61 69 6c 20 74 6f 0d 0a 61 64 64 72 ut.may.differ.in.detail.to..addr
5f9e0 65 73 73 20 6e 65 77 20 70 72 6f 62 6c 65 6d 73 20 6f 72 20 63 6f 6e 63 65 72 6e 73 2e 0d 0a 0d ess.new.problems.or.concerns....
5fa00 0a 45 61 63 68 20 76 65 72 73 69 6f 6e 20 69 73 20 67 69 76 65 6e 20 61 20 64 69 73 74 69 6e 67 .Each.version.is.given.a.disting
5fa20 75 69 73 68 69 6e 67 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 2e 20 20 49 66 20 74 68 65 20 uishing.version.number...If.the.
5fa40 50 72 6f 67 72 61 6d 0d 0a 73 70 65 63 69 66 69 65 73 20 61 20 76 65 72 73 69 6f 6e 20 6e 75 6d Program..specifies.a.version.num
5fa60 62 65 72 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 77 68 69 63 68 20 61 70 70 6c 69 65 ber.of.this.License.which.applie
5fa80 73 20 74 6f 20 69 74 20 61 6e 64 20 22 61 6e 79 0d 0a 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 22 s.to.it.and."any..later.version"
5faa0 2c 20 79 6f 75 20 68 61 76 65 20 74 68 65 20 6f 70 74 69 6f 6e 20 6f 66 20 66 6f 6c 6c 6f 77 69 ,.you.have.the.option.of.followi
5fac0 6e 67 20 74 68 65 20 74 65 72 6d 73 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 73 0d 0a 65 69 74 ng.the.terms.and.conditions..eit
5fae0 68 65 72 20 6f 66 20 74 68 61 74 20 76 65 72 73 69 6f 6e 20 6f 72 20 6f 66 20 61 6e 79 20 6c 61 her.of.that.version.or.of.any.la
5fb00 74 65 72 20 76 65 72 73 69 6f 6e 20 70 75 62 6c 69 73 68 65 64 20 62 79 20 74 68 65 20 46 72 65 ter.version.published.by.the.Fre
5fb20 65 0d 0a 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2e 20 20 49 66 20 74 68 65 20 e..Software.Foundation...If.the.
5fb40 50 72 6f 67 72 61 6d 20 64 6f 65 73 20 6e 6f 74 20 73 70 65 63 69 66 79 20 61 20 76 65 72 73 69 Program.does.not.specify.a.versi
5fb60 6f 6e 20 6e 75 6d 62 65 72 20 6f 66 0d 0a 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 79 6f 75 20 on.number.of..this.License,.you.
5fb80 6d 61 79 20 63 68 6f 6f 73 65 20 61 6e 79 20 76 65 72 73 69 6f 6e 20 65 76 65 72 20 70 75 62 6c may.choose.any.version.ever.publ
5fba0 69 73 68 65 64 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 0d 0a 46 6f 75 6e ished.by.the.Free.Software..Foun
5fbc0 64 61 74 69 6f 6e 2e 0d 0a 0d 0a 20 20 31 30 2e 20 49 66 20 79 6f 75 20 77 69 73 68 20 74 6f 20 dation.......10..If.you.wish.to.
5fbe0 69 6e 63 6f 72 70 6f 72 61 74 65 20 70 61 72 74 73 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d incorporate.parts.of.the.Program
5fc00 20 69 6e 74 6f 20 6f 74 68 65 72 20 66 72 65 65 0d 0a 70 72 6f 67 72 61 6d 73 20 77 68 6f 73 65 .into.other.free..programs.whose
5fc20 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 69 66 .distribution.conditions.are.dif
5fc40 66 65 72 65 6e 74 2c 20 77 72 69 74 65 20 74 6f 20 74 68 65 20 61 75 74 68 6f 72 0d 0a 74 6f 20 ferent,.write.to.the.author..to.
5fc60 61 73 6b 20 66 6f 72 20 70 65 72 6d 69 73 73 69 6f 6e 2e 20 20 46 6f 72 20 73 6f 66 74 77 61 72 ask.for.permission...For.softwar
5fc80 65 20 77 68 69 63 68 20 69 73 20 63 6f 70 79 72 69 67 68 74 65 64 20 62 79 20 74 68 65 20 46 72 e.which.is.copyrighted.by.the.Fr
5fca0 65 65 0d 0a 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 77 72 69 74 65 20 74 ee..Software.Foundation,.write.t
5fcc0 6f 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 o.the.Free.Software.Foundation;.
5fce0 77 65 20 73 6f 6d 65 74 69 6d 65 73 0d 0a 6d 61 6b 65 20 65 78 63 65 70 74 69 6f 6e 73 20 66 6f we.sometimes..make.exceptions.fo
5fd00 72 20 74 68 69 73 2e 20 20 4f 75 72 20 64 65 63 69 73 69 6f 6e 20 77 69 6c 6c 20 62 65 20 67 75 r.this...Our.decision.will.be.gu
5fd20 69 64 65 64 20 62 79 20 74 68 65 20 74 77 6f 20 67 6f 61 6c 73 0d 0a 6f 66 20 70 72 65 73 65 72 ided.by.the.two.goals..of.preser
5fd40 76 69 6e 67 20 74 68 65 20 66 72 65 65 20 73 74 61 74 75 73 20 6f 66 20 61 6c 6c 20 64 65 72 69 ving.the.free.status.of.all.deri
5fd60 76 61 74 69 76 65 73 20 6f 66 20 6f 75 72 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 20 61 6e 64 vatives.of.our.free.software.and
5fd80 0d 0a 6f 66 20 70 72 6f 6d 6f 74 69 6e 67 20 74 68 65 20 73 68 61 72 69 6e 67 20 61 6e 64 20 72 ..of.promoting.the.sharing.and.r
5fda0 65 75 73 65 20 6f 66 20 73 6f 66 74 77 61 72 65 20 67 65 6e 65 72 61 6c 6c 79 2e 0d 0a 0d 0a 20 euse.of.software.generally......
5fdc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 4f 20 57 41 ...........................NO.WA
5fde0 52 52 41 4e 54 59 0d 0a 0d 0a 20 20 31 31 2e 20 42 45 43 41 55 53 45 20 54 48 45 20 50 52 4f 47 RRANTY......11..BECAUSE.THE.PROG
5fe00 52 41 4d 20 49 53 20 4c 49 43 45 4e 53 45 44 20 46 52 45 45 20 4f 46 20 43 48 41 52 47 45 2c 20 RAM.IS.LICENSED.FREE.OF.CHARGE,.
5fe20 54 48 45 52 45 20 49 53 20 4e 4f 20 57 41 52 52 41 4e 54 59 0d 0a 46 4f 52 20 54 48 45 20 50 52 THERE.IS.NO.WARRANTY..FOR.THE.PR
5fe40 4f 47 52 41 4d 2c 20 54 4f 20 54 48 45 20 45 58 54 45 4e 54 20 50 45 52 4d 49 54 54 45 44 20 42 OGRAM,.TO.THE.EXTENT.PERMITTED.B
5fe60 59 20 41 50 50 4c 49 43 41 42 4c 45 20 4c 41 57 2e 20 20 45 58 43 45 50 54 20 57 48 45 4e 0d 0a Y.APPLICABLE.LAW...EXCEPT.WHEN..
5fe80 4f 54 48 45 52 57 49 53 45 20 53 54 41 54 45 44 20 49 4e 20 57 52 49 54 49 4e 47 20 54 48 45 20 OTHERWISE.STATED.IN.WRITING.THE.
5fea0 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 53 20 41 4e 44 2f 4f 52 20 4f 54 48 45 52 20 50 COPYRIGHT.HOLDERS.AND/OR.OTHER.P
5fec0 41 52 54 49 45 53 0d 0a 50 52 4f 56 49 44 45 20 54 48 45 20 50 52 4f 47 52 41 4d 20 22 41 53 20 ARTIES..PROVIDE.THE.PROGRAM."AS.
5fee0 49 53 22 20 57 49 54 48 4f 55 54 20 57 41 52 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 IS".WITHOUT.WARRANTY.OF.ANY.KIND
5ff00 2c 20 45 49 54 48 45 52 20 45 58 50 52 45 53 53 45 44 0d 0a 4f 52 20 49 4d 50 4c 49 45 44 2c 20 ,.EITHER.EXPRESSED..OR.IMPLIED,.
5ff20 49 4e 43 4c 55 44 49 4e 47 2c 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 2c 20 54 INCLUDING,.BUT.NOT.LIMITED.TO,.T
5ff40 48 45 20 49 4d 50 4c 49 45 44 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 0d 0a 4d 45 52 43 48 41 HE.IMPLIED.WARRANTIES.OF..MERCHA
5ff60 4e 54 41 42 49 4c 49 54 59 20 41 4e 44 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 NTABILITY.AND.FITNESS.FOR.A.PART
5ff80 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 54 48 45 20 45 4e 54 49 52 45 20 52 49 53 4b ICULAR.PURPOSE...THE.ENTIRE.RISK
5ffa0 20 41 53 0d 0a 54 4f 20 54 48 45 20 51 55 41 4c 49 54 59 20 41 4e 44 20 50 45 52 46 4f 52 4d 41 .AS..TO.THE.QUALITY.AND.PERFORMA
5ffc0 4e 43 45 20 4f 46 20 54 48 45 20 50 52 4f 47 52 41 4d 20 49 53 20 57 49 54 48 20 59 4f 55 2e 20 NCE.OF.THE.PROGRAM.IS.WITH.YOU..
5ffe0 20 53 48 4f 55 4c 44 20 54 48 45 0d 0a 50 52 4f 47 52 41 4d 20 50 52 4f 56 45 20 44 45 46 45 43 .SHOULD.THE..PROGRAM.PROVE.DEFEC
60000 54 49 56 45 2c 20 59 4f 55 20 41 53 53 55 4d 45 20 54 48 45 20 43 4f 53 54 20 4f 46 20 41 4c 4c TIVE,.YOU.ASSUME.THE.COST.OF.ALL
60020 20 4e 45 43 45 53 53 41 52 59 20 53 45 52 56 49 43 49 4e 47 2c 0d 0a 52 45 50 41 49 52 20 4f 52 .NECESSARY.SERVICING,..REPAIR.OR
60040 20 43 4f 52 52 45 43 54 49 4f 4e 2e 0d 0a 0d 0a 20 20 31 32 2e 20 49 4e 20 4e 4f 20 45 56 45 4e .CORRECTION.......12..IN.NO.EVEN
60060 54 20 55 4e 4c 45 53 53 20 52 45 51 55 49 52 45 44 20 42 59 20 41 50 50 4c 49 43 41 42 4c 45 20 T.UNLESS.REQUIRED.BY.APPLICABLE.
60080 4c 41 57 20 4f 52 20 41 47 52 45 45 44 20 54 4f 20 49 4e 20 57 52 49 54 49 4e 47 0d 0a 57 49 4c LAW.OR.AGREED.TO.IN.WRITING..WIL
600a0 4c 20 41 4e 59 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 2c 20 4f 52 20 41 4e 59 20 4f L.ANY.COPYRIGHT.HOLDER,.OR.ANY.O
600c0 54 48 45 52 20 50 41 52 54 59 20 57 48 4f 20 4d 41 59 20 4d 4f 44 49 46 59 20 41 4e 44 2f 4f 52 THER.PARTY.WHO.MAY.MODIFY.AND/OR
600e0 0d 0a 52 45 44 49 53 54 52 49 42 55 54 45 20 54 48 45 20 50 52 4f 47 52 41 4d 20 41 53 20 50 45 ..REDISTRIBUTE.THE.PROGRAM.AS.PE
60100 52 4d 49 54 54 45 44 20 41 42 4f 56 45 2c 20 42 45 20 4c 49 41 42 4c 45 20 54 4f 20 59 4f 55 20 RMITTED.ABOVE,.BE.LIABLE.TO.YOU.
60120 46 4f 52 20 44 41 4d 41 47 45 53 2c 0d 0a 49 4e 43 4c 55 44 49 4e 47 20 41 4e 59 20 47 45 4e 45 FOR.DAMAGES,..INCLUDING.ANY.GENE
60140 52 41 4c 2c 20 53 50 45 43 49 41 4c 2c 20 49 4e 43 49 44 45 4e 54 41 4c 20 4f 52 20 43 4f 4e 53 RAL,.SPECIAL,.INCIDENTAL.OR.CONS
60160 45 51 55 45 4e 54 49 41 4c 20 44 41 4d 41 47 45 53 20 41 52 49 53 49 4e 47 0d 0a 4f 55 54 20 4f EQUENTIAL.DAMAGES.ARISING..OUT.O
60180 46 20 54 48 45 20 55 53 45 20 4f 52 20 49 4e 41 42 49 4c 49 54 59 20 54 4f 20 55 53 45 20 54 48 F.THE.USE.OR.INABILITY.TO.USE.TH
601a0 45 20 50 52 4f 47 52 41 4d 20 28 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 4d E.PROGRAM.(INCLUDING.BUT.NOT.LIM
601c0 49 54 45 44 0d 0a 54 4f 20 4c 4f 53 53 20 4f 46 20 44 41 54 41 20 4f 52 20 44 41 54 41 20 42 45 ITED..TO.LOSS.OF.DATA.OR.DATA.BE
601e0 49 4e 47 20 52 45 4e 44 45 52 45 44 20 49 4e 41 43 43 55 52 41 54 45 20 4f 52 20 4c 4f 53 53 45 ING.RENDERED.INACCURATE.OR.LOSSE
60200 53 20 53 55 53 54 41 49 4e 45 44 20 42 59 0d 0a 59 4f 55 20 4f 52 20 54 48 49 52 44 20 50 41 52 S.SUSTAINED.BY..YOU.OR.THIRD.PAR
60220 54 49 45 53 20 4f 52 20 41 20 46 41 49 4c 55 52 45 20 4f 46 20 54 48 45 20 50 52 4f 47 52 41 4d TIES.OR.A.FAILURE.OF.THE.PROGRAM
60240 20 54 4f 20 4f 50 45 52 41 54 45 20 57 49 54 48 20 41 4e 59 20 4f 54 48 45 52 0d 0a 50 52 4f 47 .TO.OPERATE.WITH.ANY.OTHER..PROG
60260 52 41 4d 53 29 2c 20 45 56 45 4e 20 49 46 20 53 55 43 48 20 48 4f 4c 44 45 52 20 4f 52 20 4f 54 RAMS),.EVEN.IF.SUCH.HOLDER.OR.OT
60280 48 45 52 20 50 41 52 54 59 20 48 41 53 20 42 45 45 4e 20 41 44 56 49 53 45 44 20 4f 46 20 54 48 HER.PARTY.HAS.BEEN.ADVISED.OF.TH
602a0 45 0d 0a 50 4f 53 53 49 42 49 4c 49 54 59 20 4f 46 20 53 55 43 48 20 44 41 4d 41 47 45 53 2e 0d E..POSSIBILITY.OF.SUCH.DAMAGES..
602c0 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 4e 44 20 4f 46 20 54 ........................END.OF.T
602e0 45 52 4d 53 20 41 4e 44 20 43 4f 4e 44 49 54 49 4f 4e 53 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 ERMS.AND.CONDITIONS.............
60300 20 20 20 48 6f 77 20 74 6f 20 41 70 70 6c 79 20 54 68 65 73 65 20 54 65 72 6d 73 20 74 6f 20 59 ...How.to.Apply.These.Terms.to.Y
60320 6f 75 72 20 4e 65 77 20 50 72 6f 67 72 61 6d 73 0d 0a 0d 0a 20 20 49 66 20 79 6f 75 20 64 65 76 our.New.Programs......If.you.dev
60340 65 6c 6f 70 20 61 20 6e 65 77 20 70 72 6f 67 72 61 6d 2c 20 61 6e 64 20 79 6f 75 20 77 61 6e 74 elop.a.new.program,.and.you.want
60360 20 69 74 20 74 6f 20 62 65 20 6f 66 20 74 68 65 20 67 72 65 61 74 65 73 74 0d 0a 70 6f 73 73 69 .it.to.be.of.the.greatest..possi
60380 62 6c 65 20 75 73 65 20 74 6f 20 74 68 65 20 70 75 62 6c 69 63 2c 20 74 68 65 20 62 65 73 74 20 ble.use.to.the.public,.the.best.
603a0 77 61 79 20 74 6f 20 61 63 68 69 65 76 65 20 74 68 69 73 20 69 73 20 74 6f 20 6d 61 6b 65 20 69 way.to.achieve.this.is.to.make.i
603c0 74 0d 0a 66 72 65 65 20 73 6f 66 74 77 61 72 65 20 77 68 69 63 68 20 65 76 65 72 79 6f 6e 65 20 t..free.software.which.everyone.
603e0 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 61 6e 64 20 63 68 61 6e 67 65 20 75 6e 64 65 can.redistribute.and.change.unde
60400 72 20 74 68 65 73 65 20 74 65 72 6d 73 2e 0d 0a 0d 0a 20 20 54 6f 20 64 6f 20 73 6f 2c 20 61 74 r.these.terms.......To.do.so,.at
60420 74 61 63 68 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6e 6f 74 69 63 65 73 20 74 6f 20 74 68 tach.the.following.notices.to.th
60440 65 20 70 72 6f 67 72 61 6d 2e 20 20 49 74 20 69 73 20 73 61 66 65 73 74 0d 0a 74 6f 20 61 74 74 e.program...It.is.safest..to.att
60460 61 63 68 20 74 68 65 6d 20 74 6f 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 65 61 63 68 20 73 6f ach.them.to.the.start.of.each.so
60480 75 72 63 65 20 66 69 6c 65 20 74 6f 20 6d 6f 73 74 20 65 66 66 65 63 74 69 76 65 6c 79 0d 0a 63 urce.file.to.most.effectively..c
604a0 6f 6e 76 65 79 20 74 68 65 20 65 78 63 6c 75 73 69 6f 6e 20 6f 66 20 77 61 72 72 61 6e 74 79 3b onvey.the.exclusion.of.warranty;
604c0 20 61 6e 64 20 65 61 63 68 20 66 69 6c 65 20 73 68 6f 75 6c 64 20 68 61 76 65 20 61 74 20 6c 65 .and.each.file.should.have.at.le
604e0 61 73 74 0d 0a 74 68 65 20 22 63 6f 70 79 72 69 67 68 74 22 20 6c 69 6e 65 20 61 6e 64 20 61 20 ast..the."copyright".line.and.a.
60500 70 6f 69 6e 74 65 72 20 74 6f 20 77 68 65 72 65 20 74 68 65 20 66 75 6c 6c 20 6e 6f 74 69 63 65 pointer.to.where.the.full.notice
60520 20 69 73 20 66 6f 75 6e 64 2e 0d 0a 0d 0a 20 20 20 20 3c 6f 6e 65 20 6c 69 6e 65 20 74 6f 20 67 .is.found.........<one.line.to.g
60540 69 76 65 20 74 68 65 20 70 72 6f 67 72 61 6d 27 73 20 6e 61 6d 65 20 61 6e 64 20 61 20 62 72 69 ive.the.program's.name.and.a.bri
60560 65 66 20 69 64 65 61 20 6f 66 20 77 68 61 74 20 69 74 20 64 6f 65 73 2e 3e 0d 0a 20 20 20 20 43 ef.idea.of.what.it.does.>......C
60580 6f 70 79 72 69 67 68 74 20 28 43 29 20 3c 79 65 61 72 3e 20 20 3c 6e 61 6d 65 20 6f 66 20 61 75 opyright.(C).<year>..<name.of.au
605a0 74 68 6f 72 3e 0d 0a 0d 0a 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 thor>........This.program.is.fre
605c0 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 e.software:.you.can.redistribute
605e0 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0d 0a 20 20 20 20 69 74 20 75 6e 64 65 72 20 .it.and/or.modify......it.under.
60600 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 the.terms.of.the.GNU.General.Pub
60620 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0d 0a 20 20 20 lic.License.as.published.by.....
60640 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 .the.Free.Software.Foundation,.e
60660 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 ither.version.2.of.the.License,.
60680 6f 72 0d 0a 20 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 or......(at.your.option).any.lat
606a0 65 72 20 76 65 72 73 69 6f 6e 2e 0d 0a 0d 0a 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 er.version.........This.program.
606c0 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 is.distributed.in.the.hope.that.
606e0 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0d 0a 20 20 20 20 62 75 74 20 57 49 54 48 it.will.be.useful,......but.WITH
60700 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 OUT.ANY.WARRANTY;.without.even.t
60720 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0d 0a 20 20 20 20 4d 45 52 43 he.implied.warranty.of......MERC
60740 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 HANTABILITY.or.FITNESS.FOR.A.PAR
60760 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0d 0a 20 20 20 20 47 TICULAR.PURPOSE...See.the......G
60780 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f NU.General.Public.License.for.mo
607a0 72 65 20 64 65 74 61 69 6c 73 2e 0d 0a 0d 0a 20 20 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 re.details.........You.should.ha
607c0 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 ve.received.a.copy.of.the.GNU.Ge
607e0 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0d 0a 20 20 20 20 61 6c 6f 6e 67 20 neral.Public.License......along.
60800 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 with.this.program...If.not,.see.
60820 3c 68 74 74 70 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0d <http://www.gnu.org/licenses/>..
60840 0a 0d 0a 41 6c 73 6f 20 61 64 64 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 68 6f 77 20 74 ...Also.add.information.on.how.t
60860 6f 20 63 6f 6e 74 61 63 74 20 79 6f 75 20 62 79 20 65 6c 65 63 74 72 6f 6e 69 63 20 61 6e 64 20 o.contact.you.by.electronic.and.
60880 70 61 70 65 72 20 6d 61 69 6c 2e 0d 0a 0d 0a 49 66 20 74 68 65 20 70 72 6f 67 72 61 6d 20 69 73 paper.mail.....If.the.program.is
608a0 20 69 6e 74 65 72 61 63 74 69 76 65 2c 20 6d 61 6b 65 20 69 74 20 6f 75 74 70 75 74 20 61 20 73 .interactive,.make.it.output.a.s
608c0 68 6f 72 74 20 6e 6f 74 69 63 65 20 6c 69 6b 65 20 74 68 69 73 0d 0a 77 68 65 6e 20 69 74 20 73 hort.notice.like.this..when.it.s
608e0 74 61 72 74 73 20 69 6e 20 61 6e 20 69 6e 74 65 72 61 63 74 69 76 65 20 6d 6f 64 65 3a 0d 0a 0d tarts.in.an.interactive.mode:...
60900 0a 20 20 20 20 47 6e 6f 6d 6f 76 69 73 69 6f 6e 20 76 65 72 73 69 6f 6e 20 36 39 2c 20 43 6f 70 .....Gnomovision.version.69,.Cop
60920 79 72 69 67 68 74 20 28 43 29 20 3c 79 65 61 72 3e 20 20 3c 6e 61 6d 65 20 6f 66 20 61 75 74 68 yright.(C).<year>..<name.of.auth
60940 6f 72 3e 0d 0a 20 20 20 20 47 6e 6f 6d 6f 76 69 73 69 6f 6e 20 63 6f 6d 65 73 20 77 69 74 68 20 or>......Gnomovision.comes.with.
60960 41 42 53 4f 4c 55 54 45 4c 59 20 4e 4f 20 57 41 52 52 41 4e 54 59 3b 20 66 6f 72 20 64 65 74 61 ABSOLUTELY.NO.WARRANTY;.for.deta
60980 69 6c 73 20 74 79 70 65 20 60 73 68 6f 77 20 77 27 2e 0d 0a 20 20 20 20 54 68 69 73 20 69 73 20 ils.type.`show.w'.......This.is.
609a0 66 72 65 65 20 73 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 79 6f 75 20 61 72 65 20 77 65 6c 63 6f free.software,.and.you.are.welco
609c0 6d 65 20 74 6f 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 0d 0a 20 20 20 20 75 6e 64 65 72 me.to.redistribute.it......under
609e0 20 63 65 72 74 61 69 6e 20 63 6f 6e 64 69 74 69 6f 6e 73 3b 20 74 79 70 65 20 60 73 68 6f 77 20 .certain.conditions;.type.`show.
60a00 63 27 20 66 6f 72 20 64 65 74 61 69 6c 73 2e 0d 0a 0d 0a 54 68 65 20 68 79 70 6f 74 68 65 74 69 c'.for.details.....The.hypotheti
60a20 63 61 6c 20 63 6f 6d 6d 61 6e 64 73 20 60 73 68 6f 77 20 77 27 20 61 6e 64 20 60 73 68 6f 77 20 cal.commands.`show.w'.and.`show.
60a40 63 27 20 73 68 6f 75 6c 64 20 73 68 6f 77 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 0d 0a c'.should.show.the.appropriate..
60a60 70 61 72 74 73 20 6f 66 20 74 68 65 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 parts.of.the.General.Public.Lice
60a80 6e 73 65 2e 20 20 4f 66 20 63 6f 75 72 73 65 2c 20 74 68 65 20 63 6f 6d 6d 61 6e 64 73 20 79 6f nse...Of.course,.the.commands.yo
60aa0 75 20 75 73 65 20 6d 61 79 0d 0a 62 65 20 63 61 6c 6c 65 64 20 73 6f 6d 65 74 68 69 6e 67 20 6f u.use.may..be.called.something.o
60ac0 74 68 65 72 20 74 68 61 6e 20 60 73 68 6f 77 20 77 27 20 61 6e 64 20 60 73 68 6f 77 20 63 27 3b ther.than.`show.w'.and.`show.c';
60ae0 20 74 68 65 79 20 63 6f 75 6c 64 20 65 76 65 6e 20 62 65 0d 0a 6d 6f 75 73 65 2d 63 6c 69 63 6b .they.could.even.be..mouse-click
60b00 73 20 6f 72 20 6d 65 6e 75 20 69 74 65 6d 73 2d 2d 77 68 61 74 65 76 65 72 20 73 75 69 74 73 20 s.or.menu.items--whatever.suits.
60b20 79 6f 75 72 20 70 72 6f 67 72 61 6d 2e 0d 0a 0d 0a 59 6f 75 20 73 68 6f 75 6c 64 20 61 6c 73 6f your.program.....You.should.also
60b40 20 67 65 74 20 79 6f 75 72 20 65 6d 70 6c 6f 79 65 72 20 28 69 66 20 79 6f 75 20 77 6f 72 6b 20 .get.your.employer.(if.you.work.
60b60 61 73 20 61 20 70 72 6f 67 72 61 6d 6d 65 72 29 20 6f 72 20 79 6f 75 72 0d 0a 73 63 68 6f 6f 6c as.a.programmer).or.your..school
60b80 2c 20 69 66 20 61 6e 79 2c 20 74 6f 20 73 69 67 6e 20 61 20 22 63 6f 70 79 72 69 67 68 74 20 64 ,.if.any,.to.sign.a."copyright.d
60ba0 69 73 63 6c 61 69 6d 65 72 22 20 66 6f 72 20 74 68 65 20 70 72 6f 67 72 61 6d 2c 20 69 66 0d 0a isclaimer".for.the.program,.if..
60bc0 6e 65 63 65 73 73 61 72 79 2e 20 20 48 65 72 65 20 69 73 20 61 20 73 61 6d 70 6c 65 3b 20 61 6c necessary...Here.is.a.sample;.al
60be0 74 65 72 20 74 68 65 20 6e 61 6d 65 73 3a 0d 0a 0d 0a 20 20 59 6f 79 6f 64 79 6e 65 2c 20 49 6e ter.the.names:......Yoyodyne,.In
60c00 63 2e 2c 20 68 65 72 65 62 79 20 64 69 73 63 6c 61 69 6d 73 20 61 6c 6c 20 63 6f 70 79 72 69 67 c.,.hereby.disclaims.all.copyrig
60c20 68 74 20 69 6e 74 65 72 65 73 74 20 69 6e 20 74 68 65 20 70 72 6f 67 72 61 6d 0d 0a 20 20 60 47 ht.interest.in.the.program....`G
60c40 6e 6f 6d 6f 76 69 73 69 6f 6e 27 20 28 77 68 69 63 68 20 6d 61 6b 65 73 20 70 61 73 73 65 73 20 nomovision'.(which.makes.passes.
60c60 61 74 20 63 6f 6d 70 69 6c 65 72 73 29 20 77 72 69 74 74 65 6e 20 62 79 20 4a 61 6d 65 73 20 48 at.compilers).written.by.James.H
60c80 61 63 6b 65 72 2e 0d 0a 0d 0a 20 20 3c 73 69 67 6e 61 74 75 72 65 20 6f 66 20 54 79 20 43 6f 6f acker.......<signature.of.Ty.Coo
60ca0 6e 3e 2c 20 31 20 41 70 72 69 6c 20 31 39 38 39 0d 0a 20 20 54 79 20 43 6f 6f 6e 2c 20 50 72 65 n>,.1.April.1989....Ty.Coon,.Pre
60cc0 73 69 64 65 6e 74 20 6f 66 20 56 69 63 65 0d 0a 0d 0a 54 68 69 73 20 47 65 6e 65 72 61 6c 20 50 sident.of.Vice....This.General.P
60ce0 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 64 6f 65 73 20 6e 6f 74 20 70 65 72 6d 69 74 20 69 6e ublic.License.does.not.permit.in
60d00 63 6f 72 70 6f 72 61 74 69 6e 67 20 79 6f 75 72 20 70 72 6f 67 72 61 6d 20 69 6e 74 6f 0d 0a 70 corporating.your.program.into..p
60d20 72 6f 70 72 69 65 74 61 72 79 20 70 72 6f 67 72 61 6d 73 2e 20 20 49 66 20 79 6f 75 72 20 70 72 roprietary.programs...If.your.pr
60d40 6f 67 72 61 6d 20 69 73 20 61 20 73 75 62 72 6f 75 74 69 6e 65 20 6c 69 62 72 61 72 79 2c 20 79 ogram.is.a.subroutine.library,.y
60d60 6f 75 20 6d 61 79 0d 0a 63 6f 6e 73 69 64 65 72 20 69 74 20 6d 6f 72 65 20 75 73 65 66 75 6c 20 ou.may..consider.it.more.useful.
60d80 74 6f 20 70 65 72 6d 69 74 20 6c 69 6e 6b 69 6e 67 20 70 72 6f 70 72 69 65 74 61 72 79 20 61 70 to.permit.linking.proprietary.ap
60da0 70 6c 69 63 61 74 69 6f 6e 73 20 77 69 74 68 20 74 68 65 0d 0a 6c 69 62 72 61 72 79 2e 20 20 49 plications.with.the..library...I
60dc0 66 20 74 68 69 73 20 69 73 20 77 68 61 74 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 64 6f 2c 20 75 f.this.is.what.you.want.to.do,.u
60de0 73 65 20 74 68 65 20 47 4e 55 20 4c 65 73 73 65 72 20 47 65 6e 65 72 61 6c 0d 0a 50 75 62 6c 69 se.the.GNU.Lesser.General..Publi
60e00 63 20 4c 69 63 65 6e 73 65 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 c.License.instead.of.this.Licens
60e20 65 2e 0d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e...............................
60e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
610a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
610c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
610e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
611a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
611c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
611e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
612a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
612c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
612e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
613a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
613c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
613e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
614a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
614c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
614e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
615a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
615c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
615e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
616a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
616c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
616e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
617a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
617c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
617e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................