aboutsummaryrefslogtreecommitdiff
path: root/lzip-1.23.tar
blob: 2c96ffe40f662a61962e5ecb86777d81fdd83552 (plain)
ofshex dumpascii
0000 6c 7a 69 70 2d 31 2e 32 33 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.23/......................
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 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
0080 30 30 30 30 30 30 30 00 31 34 32 35 30 34 35 36 33 32 35 00 30 31 32 34 32 31 00 20 35 00 00 00 0000000.14250456325.012421..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 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
0120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0140 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
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 33 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.23/lzip.h................
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 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
0280 30 30 32 35 32 37 35 00 31 34 31 37 32 36 34 35 36 32 35 00 30 31 33 35 37 31 00 20 30 00 00 00 0025275.14172645625.013571..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 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
0320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0340 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
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 2f 2a 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 /*.Lzip.-.LZMA.lossless.data.com
0420 70 72 65 73 73 6f 72 0a 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d 32 30 pressor....Copyright.(C).2008-20
0440 32 32 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 54 68 69 73 20 70 22.Antonio.Diaz.Diaz......This.p
0460 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 63 61 6e rogram.is.free.software:.you.can
0480 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 79 0a 20 .redistribute.it.and/or.modify..
04a0 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 47 4e 55 20 ..it.under.the.terms.of.the.GNU.
04c0 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 62 6c 69 73 General.Public.License.as.publis
04e0 68 65 64 20 62 79 0a 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e hed.by....the.Free.Software.Foun
0500 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 20 74 68 65 20 dation,.either.version.2.of.the.
0520 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 License,.or....(at.your.option).
0540 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 54 68 69 73 20 70 72 6f 67 any.later.version......This.prog
0560 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 70 65 20 74 ram.is.distributed.in.the.hope.t
0580 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 62 75 74 20 57 49 hat.it.will.be.useful,....but.WI
05a0 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 65 76 65 6e THOUT.ANY.WARRANTY;.without.even
05c0 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 4d 45 52 43 .the.implied.warranty.of....MERC
05e0 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
0600 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 0a 20 20 20 47 4e 55 TICULAR.PURPOSE...See.the....GNU
0620 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 72 65 .General.Public.License.for.more
0640 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 .details......You.should.have.re
0660 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 6e 65 72 61 6c ceived.a.copy.of.the.GNU.General
0680 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 .Public.License....along.with.th
06a0 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 3c 68 74 74 70 3a 2f is.program...If.not,.see.<http:/
06c0 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 2a 2f 0a 0a 63 6c 61 /www.gnu.org/licenses/>..*/..cla
06e0 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 69 63 3a 0a ss.State...{...int.st;..public:.
0700 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 61 74 65 28 ..enum.{.states.=.12.};...State(
0720 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 72 28 29 28 ).:.st(.0.).{}...int.operator()(
0740 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 6c 20 69 73 ).const.{.return.st;.}...bool.is
0760 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 37 3b 20 7d _char().const.{.return.st.<.7;.}
0780 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 20 20 73 74 ....void.set_char().....{.....st
07a0 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 3d 20 7b 20 atic.const.int.next[states].=.{.
07c0 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 2c 20 34 2c 0,.0,.0,.0,.1,.2,.3,.4,.5,.6,.4,
07e0 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 20 7d 0a 20 .5.};.....st.=.next[st];.....}..
0800 20 62 6f 6f 6c 20 69 73 5f 63 68 61 72 5f 73 65 74 5f 63 68 61 72 28 29 20 7b 20 73 65 74 5f 63 .bool.is_char_set_char().{.set_c
0820 68 61 72 28 29 3b 20 72 65 74 75 72 6e 20 73 74 20 3c 20 34 3b 20 7d 0a 20 20 76 6f 69 64 20 73 har();.return.st.<.4;.}...void.s
0840 65 74 5f 63 68 61 72 5f 72 65 70 28 29 20 20 7b 20 73 74 20 3d 20 38 3b 20 7d 0a 20 20 76 6f 69 et_char_rep()..{.st.=.8;.}...voi
0860 64 20 73 65 74 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 d.set_match().....{.st.=.(.st.<.
0880 37 20 29 20 3f 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 7.).?.7.:.10;.}...void.set_rep()
08a0 20 20 20 20 20 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 .......{.st.=.(.st.<.7.).?.8.:.1
08c0 31 3b 20 7d 0a 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 1;.}...void.set_short_rep().{.st
08e0 20 3d 20 28 20 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 .=.(.st.<.7.).?.9.:.11;.}...};..
0900 0a 65 6e 75 6d 20 7b 0a 20 20 6d 69 6e 5f 64 69 63 74 69 6f 6e 61 72 79 5f 62 69 74 73 20 3d 20 .enum.{...min_dictionary_bits.=.
0920 31 32 2c 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 12,...min_dictionary_size.=.1.<<
0940 20 6d 69 6e 5f 64 69 63 74 69 6f 6e 61 72 79 5f 62 69 74 73 2c 09 2f 2f 20 3e 3d 20 6d 6f 64 65 .min_dictionary_bits,.//.>=.mode
0960 6c 65 64 5f 64 69 73 74 61 6e 63 65 73 0a 20 20 6d 61 78 5f 64 69 63 74 69 6f 6e 61 72 79 5f 62 led_distances...max_dictionary_b
0980 69 74 73 20 3d 20 32 39 2c 0a 20 20 6d 61 78 5f 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 its.=.29,...max_dictionary_size.
09a0 3d 20 31 20 3c 3c 20 6d 61 78 5f 64 69 63 74 69 6f 6e 61 72 79 5f 62 69 74 73 2c 0a 20 20 6d 69 =.1.<<.max_dictionary_bits,...mi
09c0 6e 5f 6d 65 6d 62 65 72 5f 73 69 7a 65 20 3d 20 33 36 2c 0a 20 20 6c 69 74 65 72 61 6c 5f 63 6f n_member_size.=.36,...literal_co
09e0 6e 74 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 ntext_bits.=.3,...literal_pos_st
0a00 61 74 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 ate_bits.=.0,....//.not.used...p
0a20 6f 73 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 os_state_bits.=.2,...pos_states.
0a40 3d 20 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 =.1.<<.pos_state_bits,...pos_sta
0a60 74 65 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 te_mask.=.pos_states.-.1,....len
0a80 5f 73 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 _states.=.4,...dis_slot_bits.=.6
0aa0 2c 0a 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 ,...start_dis_model.=.4,...end_d
0ac0 69 73 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 is_model.=.14,...modeled_distanc
0ae0 65 73 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 es.=.1.<<.(end_dis_model./.2),..
0b00 2f 2f 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 //.128...dis_align_bits.=.4,...d
0b20 69 73 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 is_align_size.=.1.<<.dis_align_b
0b40 69 74 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 its,....len_low_bits.=.3,...len_
0b60 6d 69 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 mid_bits.=.3,...len_high_bits.=.
0b80 38 2c 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 8,...len_low_symbols.=.1.<<.len_
0ba0 6c 6f 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 low_bits,...len_mid_symbols.=.1.
0bc0 3c 3c 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 <<.len_mid_bits,...len_high_symb
0be0 6f 6c 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 ols.=.1.<<.len_high_bits,...max_
0c00 6c 65 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 len_symbols.=.len_low_symbols.+.
0c20 6c 65 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 len_mid_symbols.+.len_high_symbo
0c40 6c 73 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 ls,....min_match_len.=.2,.....//
0c60 20 6d 75 73 74 20 62 65 20 32 0a 20 20 6d 61 78 5f 6d 61 74 63 68 5f 6c 65 6e 20 3d 20 6d 69 6e .must.be.2...max_match_len.=.min
0c80 5f 6d 61 74 63 68 5f 6c 65 6e 20 2b 20 6d 61 78 5f 6c 65 6e 5f 73 79 6d 62 6f 6c 73 20 2d 20 31 _match_len.+.max_len_symbols.-.1
0ca0 2c 09 2f 2f 20 32 37 33 0a 20 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 74 20 3d ,.//.273...min_match_len_limit.=
0cc0 20 35 20 7d 3b 0a 0a 69 6e 6c 69 6e 65 20 69 6e 74 20 67 65 74 5f 6c 65 6e 5f 73 74 61 74 65 28 .5.};..inline.int.get_len_state(
0ce0 20 63 6f 6e 73 74 20 69 6e 74 20 6c 65 6e 20 29 0a 20 20 7b 20 72 65 74 75 72 6e 20 73 74 64 3a .const.int.len.)...{.return.std:
0d00 3a 6d 69 6e 28 20 6c 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 :min(.len.-.min_match_len,.len_s
0d20 74 61 74 65 73 20 2d 20 31 20 29 3b 20 7d 0a 0a 69 6e 6c 69 6e 65 20 69 6e 74 20 67 65 74 5f 6c tates.-.1.);.}..inline.int.get_l
0d40 69 74 5f 73 74 61 74 65 28 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 70 72 65 76 5f 62 79 74 it_state(.const.uint8_t.prev_byt
0d60 65 20 29 0a 20 20 7b 20 72 65 74 75 72 6e 20 70 72 65 76 5f 62 79 74 65 20 3e 3e 20 28 20 38 20 e.)...{.return.prev_byte.>>.(.8.
0d80 2d 20 6c 69 74 65 72 61 6c 5f 63 6f 6e 74 65 78 74 5f 62 69 74 73 20 29 3b 20 7d 0a 0a 0a 65 6e -.literal_context_bits.);.}...en
0da0 75 6d 20 7b 20 62 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 um.{.bit_model_move_bits.=.5,...
0dc0 20 20 20 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 2c 0a .....bit_model_total_bits.=.11,.
0de0 20 20 20 20 20 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 .......bit_model_total.=.1.<<.bi
0e00 74 5f 6d 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 t_model_total_bits.};..struct.Bi
0e20 74 5f 6d 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 t_model...{...int.probability;..
0e40 20 76 6f 69 64 20 72 65 73 65 74 28 29 20 7b 20 70 72 6f 62 61 62 69 6c 69 74 79 20 3d 20 62 69 .void.reset().{.probability.=.bi
0e60 74 5f 6d 6f 64 65 6c 5f 74 6f 74 61 6c 20 2f 20 32 3b 20 7d 0a 20 20 76 6f 69 64 20 72 65 73 65 t_model_total./.2;.}...void.rese
0e80 74 28 20 63 6f 6e 73 74 20 69 6e 74 20 73 69 7a 65 20 29 0a 20 20 20 20 7b 20 66 6f 72 28 20 69 t(.const.int.size.).....{.for(.i
0ea0 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 73 69 7a 65 3b 20 2b 2b 69 20 29 20 74 68 69 73 5b 69 nt.i.=.0;.i.<.size;.++i.).this[i
0ec0 5d 2e 72 65 73 65 74 28 29 3b 20 7d 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 28 29 20 7b 20 72 65 73 ].reset();.}...Bit_model().{.res
0ee0 65 74 28 29 3b 20 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 et();.}...};..struct.Len_model..
0f00 20 7b 0a 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 .{...Bit_model.choice1;...Bit_mo
0f20 64 65 6c 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 del.choice2;...Bit_model.bm_low[
0f40 70 6f 73 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 pos_states][len_low_symbols];...
0f60 42 69 74 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 Bit_model.bm_mid[pos_states][len
0f80 5f 6d 69 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 _mid_symbols];...Bit_model.bm_hi
0fa0 67 68 5b 6c 65 6e 5f 68 69 67 68 5f 73 79 6d 62 6f 6c 73 5d 3b 0a 0a 20 20 76 6f 69 64 20 72 65 gh[len_high_symbols];....void.re
0fc0 73 65 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 63 68 6f 69 63 65 31 2e 72 65 73 65 74 28 29 3b set().....{.....choice1.reset();
0fe0 0a 20 20 20 20 63 68 6f 69 63 65 32 2e 72 65 73 65 74 28 29 3b 0a 20 20 20 20 62 6d 5f 6c 6f 77 .....choice2.reset();.....bm_low
1000 5b 30 5d 5b 30 5d 2e 72 65 73 65 74 28 20 70 6f 73 5f 73 74 61 74 65 73 20 2a 20 6c 65 6e 5f 6c [0][0].reset(.pos_states.*.len_l
1020 6f 77 5f 73 79 6d 62 6f 6c 73 20 29 3b 0a 20 20 20 20 62 6d 5f 6d 69 64 5b 30 5d 5b 30 5d 2e 72 ow_symbols.);.....bm_mid[0][0].r
1040 65 73 65 74 28 20 70 6f 73 5f 73 74 61 74 65 73 20 2a 20 6c 65 6e 5f 6d 69 64 5f 73 79 6d 62 6f eset(.pos_states.*.len_mid_symbo
1060 6c 73 20 29 3b 0a 20 20 20 20 62 6d 5f 68 69 67 68 5b 30 5d 2e 72 65 73 65 74 28 20 6c 65 6e 5f ls.);.....bm_high[0].reset(.len_
1080 68 69 67 68 5f 73 79 6d 62 6f 6c 73 20 29 3b 0a 20 20 20 20 7d 0a 20 20 7d 3b 0a 0a 0a 2f 2f 20 high_symbols.);.....}...};...//.
10a0 64 65 66 69 6e 65 64 20 69 6e 20 6d 61 69 6e 2e 63 63 0a 65 78 74 65 72 6e 20 69 6e 74 20 76 65 defined.in.main.cc.extern.int.ve
10c0 72 62 6f 73 69 74 79 3b 0a 0a 63 6c 61 73 73 20 50 72 65 74 74 79 5f 70 72 69 6e 74 09 09 2f 2f rbosity;..class.Pretty_print..//
10e0 20 72 65 71 75 69 72 65 73 20 67 6c 6f 62 61 6c 20 76 61 72 20 27 69 6e 74 20 76 65 72 62 6f 73 .requires.global.var.'int.verbos
1100 69 74 79 27 0a 20 20 7b 0a 20 20 73 74 64 3a 3a 73 74 72 69 6e 67 20 6e 61 6d 65 5f 3b 0a 20 20 ity'...{...std::string.name_;...
1120 73 74 64 3a 3a 73 74 72 69 6e 67 20 70 61 64 64 65 64 5f 6e 61 6d 65 3b 0a 20 20 63 6f 6e 73 74 std::string.padded_name;...const
1140 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 73 74 64 69 6e 5f 6e 61 6d 65 3b 0a 20 20 75 6e 73 69 .char.*.const.stdin_name;...unsi
1160 67 6e 65 64 20 6c 6f 6e 67 65 73 74 5f 6e 61 6d 65 3b 0a 20 20 6d 75 74 61 62 6c 65 20 62 6f 6f gned.longest_name;...mutable.boo
1180 6c 20 66 69 72 73 74 5f 70 6f 73 74 3b 0a 0a 70 75 62 6c 69 63 3a 0a 20 20 50 72 65 74 74 79 5f l.first_post;..public:...Pretty_
11a0 70 72 69 6e 74 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 print(.const.std::vector<.std::s
11c0 74 72 69 6e 67 20 3e 20 26 20 66 69 6c 65 6e 61 6d 65 73 20 29 0a 20 20 20 20 3a 20 73 74 64 69 tring.>.&.filenames.).....:.stdi
11e0 6e 5f 6e 61 6d 65 28 20 22 28 73 74 64 69 6e 29 22 20 29 2c 20 6c 6f 6e 67 65 73 74 5f 6e 61 6d n_name(."(stdin)".),.longest_nam
1200 65 28 20 30 20 29 2c 20 66 69 72 73 74 5f 70 6f 73 74 28 20 66 61 6c 73 65 20 29 0a 20 20 20 20 e(.0.),.first_post(.false.).....
1220 7b 0a 20 20 20 20 69 66 28 20 76 65 72 62 6f 73 69 74 79 20 3c 3d 20 30 20 29 20 72 65 74 75 72 {.....if(.verbosity.<=.0.).retur
1240 6e 3b 0a 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 73 74 64 69 6e 5f 6e 61 6d 65 n;.....const.unsigned.stdin_name
1260 5f 6c 65 6e 20 3d 20 73 74 64 3a 3a 73 74 72 6c 65 6e 28 20 73 74 64 69 6e 5f 6e 61 6d 65 20 29 _len.=.std::strlen(.stdin_name.)
1280 3b 0a 20 20 20 20 66 6f 72 28 20 75 6e 73 69 67 6e 65 64 20 69 20 3d 20 30 3b 20 69 20 3c 20 66 ;.....for(.unsigned.i.=.0;.i.<.f
12a0 69 6c 65 6e 61 6d 65 73 2e 73 69 7a 65 28 29 3b 20 2b 2b 69 20 29 0a 20 20 20 20 20 20 7b 0a 20 ilenames.size();.++i.).......{..
12c0 20 20 20 20 20 63 6f 6e 73 74 20 73 74 64 3a 3a 73 74 72 69 6e 67 20 26 20 73 20 3d 20 66 69 6c .....const.std::string.&.s.=.fil
12e0 65 6e 61 6d 65 73 5b 69 5d 3b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 enames[i];.......const.unsigned.
1300 6c 65 6e 20 3d 20 28 20 73 20 3d 3d 20 22 2d 22 20 29 20 3f 20 73 74 64 69 6e 5f 6e 61 6d 65 5f len.=.(.s.==."-".).?.stdin_name_
1320 6c 65 6e 20 3a 20 73 2e 73 69 7a 65 28 29 3b 0a 20 20 20 20 20 20 69 66 28 20 6c 6f 6e 67 65 73 len.:.s.size();.......if(.longes
1340 74 5f 6e 61 6d 65 20 3c 20 6c 65 6e 20 29 20 6c 6f 6e 67 65 73 74 5f 6e 61 6d 65 20 3d 20 6c 65 t_name.<.len.).longest_name.=.le
1360 6e 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 69 66 28 20 6c 6f 6e 67 65 73 74 5f 6e 61 6d 65 20 n;.......}.....if(.longest_name.
1380 3d 3d 20 30 20 29 20 6c 6f 6e 67 65 73 74 5f 6e 61 6d 65 20 3d 20 73 74 64 69 6e 5f 6e 61 6d 65 ==.0.).longest_name.=.stdin_name
13a0 5f 6c 65 6e 3b 0a 20 20 20 20 7d 0a 0a 20 20 76 6f 69 64 20 73 65 74 5f 6e 61 6d 65 28 20 63 6f _len;.....}....void.set_name(.co
13c0 6e 73 74 20 73 74 64 3a 3a 73 74 72 69 6e 67 20 26 20 66 69 6c 65 6e 61 6d 65 20 29 0a 20 20 20 nst.std::string.&.filename.)....
13e0 20 7b 0a 20 20 20 20 69 66 28 20 66 69 6c 65 6e 61 6d 65 2e 73 69 7a 65 28 29 20 26 26 20 66 69 .{.....if(.filename.size().&&.fi
1400 6c 65 6e 61 6d 65 20 21 3d 20 22 2d 22 20 29 20 6e 61 6d 65 5f 20 3d 20 66 69 6c 65 6e 61 6d 65 lename.!=."-".).name_.=.filename
1420 3b 0a 20 20 20 20 65 6c 73 65 20 6e 61 6d 65 5f 20 3d 20 73 74 64 69 6e 5f 6e 61 6d 65 3b 0a 20 ;.....else.name_.=.stdin_name;..
1440 20 20 20 70 61 64 64 65 64 5f 6e 61 6d 65 20 3d 20 22 20 20 22 3b 20 70 61 64 64 65 64 5f 6e 61 ...padded_name.=."..";.padded_na
1460 6d 65 20 2b 3d 20 6e 61 6d 65 5f 3b 20 70 61 64 64 65 64 5f 6e 61 6d 65 20 2b 3d 20 22 3a 20 22 me.+=.name_;.padded_name.+=.":."
1480 3b 0a 20 20 20 20 69 66 28 20 6c 6f 6e 67 65 73 74 5f 6e 61 6d 65 20 3e 20 6e 61 6d 65 5f 2e 73 ;.....if(.longest_name.>.name_.s
14a0 69 7a 65 28 29 20 29 0a 20 20 20 20 20 20 70 61 64 64 65 64 5f 6e 61 6d 65 2e 61 70 70 65 6e 64 ize().).......padded_name.append
14c0 28 20 6c 6f 6e 67 65 73 74 5f 6e 61 6d 65 20 2d 20 6e 61 6d 65 5f 2e 73 69 7a 65 28 29 2c 20 27 (.longest_name.-.name_.size(),.'
14e0 20 27 20 29 3b 0a 20 20 20 20 66 69 72 73 74 5f 70 6f 73 74 20 3d 20 74 72 75 65 3b 0a 20 20 20 .'.);.....first_post.=.true;....
1500 20 7d 0a 0a 20 20 76 6f 69 64 20 72 65 73 65 74 28 29 20 63 6f 6e 73 74 20 7b 20 69 66 28 20 6e .}....void.reset().const.{.if(.n
1520 61 6d 65 5f 2e 73 69 7a 65 28 29 20 29 20 66 69 72 73 74 5f 70 6f 73 74 20 3d 20 74 72 75 65 3b ame_.size().).first_post.=.true;
1540 20 7d 0a 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 6e 61 6d 65 28 29 20 63 6f 6e 73 74 20 7b .}...const.char.*.name().const.{
1560 20 72 65 74 75 72 6e 20 6e 61 6d 65 5f 2e 63 5f 73 74 72 28 29 3b 20 7d 0a 20 20 76 6f 69 64 20 .return.name_.c_str();.}...void.
1580 6f 70 65 72 61 74 6f 72 28 29 28 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 6d operator()(.const.char.*.const.m
15a0 73 67 20 3d 20 30 20 29 20 63 6f 6e 73 74 3b 0a 20 20 7d 3b 0a 0a 0a 63 6c 61 73 73 20 43 52 43 sg.=.0.).const;...};...class.CRC
15c0 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 09 2f 2f 32...{...uint32_t.data[256];..//
15e0 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 65 73 73 .Table.of.CRCs.of.all.8-bit.mess
1600 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 7b 0a 20 ages...public:...CRC32().....{..
1620 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 35 36 3b ...for(.unsigned.n.=.0;.n.<.256;
1640 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 20 63 20 .++n.).......{.......unsigned.c.
1660 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 3c 20 38 =.n;.......for(.int.k.=.0;.k.<.8
1680 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 20 63 20 ;.++k.).........{.if(.c.&.1.).c.
16a0 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 6c 73 65 =.0xEDB88320U.^.(.c.>>.1.);.else
16c0 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 3b 0a 20 .c.>>=.1;.}.......data[n].=.c;..
16e0 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 75 69 6e 74 33 32 5f 74 20 6f 70 65 72 61 74 6f .....}.....}....uint32_t.operato
1700 72 5b 5d 28 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 62 79 74 65 20 29 20 63 6f 6e 73 74 20 r[](.const.uint8_t.byte.).const.
1720 7b 20 72 65 74 75 72 6e 20 64 61 74 61 5b 62 79 74 65 5d 3b 20 7d 0a 0a 20 20 76 6f 69 64 20 75 {.return.data[byte];.}....void.u
1740 70 64 61 74 65 5f 62 79 74 65 28 20 75 69 6e 74 33 32 5f 74 20 26 20 63 72 63 2c 20 63 6f 6e 73 pdate_byte(.uint32_t.&.crc,.cons
1760 74 20 75 69 6e 74 38 5f 74 20 62 79 74 65 20 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 20 63 72 63 t.uint8_t.byte.).const.....{.crc
1780 20 3d 20 64 61 74 61 5b 28 63 72 63 5e 62 79 74 65 29 26 30 78 46 46 5d 20 5e 20 28 20 63 72 63 .=.data[(crc^byte)&0xFF].^.(.crc
17a0 20 3e 3e 20 38 20 29 3b 20 7d 0a 0a 20 20 2f 2f 20 61 62 6f 75 74 20 61 73 20 66 61 73 74 20 61 .>>.8.);.}....//.about.as.fast.a
17c0 73 20 69 74 20 69 73 20 70 6f 73 73 69 62 6c 65 20 77 69 74 68 6f 75 74 20 6d 65 73 73 69 6e 67 s.it.is.possible.without.messing
17e0 20 77 69 74 68 20 65 6e 64 69 61 6e 6e 65 73 73 0a 20 20 76 6f 69 64 20 75 70 64 61 74 65 5f 62 .with.endianness...void.update_b
1800 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_
1820 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,...............
1840 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.....
1860 7b 0a 20 20 20 20 75 69 6e 74 33 32 5f 74 20 63 20 3d 20 63 72 63 3b 0a 20 20 20 20 66 6f 72 28 {.....uint32_t.c.=.crc;.....for(
1880 20 69 6e 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 .int.i.=.0;.i.<.size;.++i.).....
18a0 20 20 63 20 3d 20 64 61 74 61 5b 28 63 5e 62 75 66 66 65 72 5b 69 5d 29 26 30 78 46 46 5d 20 5e ..c.=.data[(c^buffer[i])&0xFF].^
18c0 20 28 20 63 20 3e 3e 20 38 20 29 3b 0a 20 20 20 20 63 72 63 20 3d 20 63 3b 0a 20 20 20 20 7d 0a .(.c.>>.8.);.....crc.=.c;.....}.
18e0 20 20 7d 3b 0a 0a 65 78 74 65 72 6e 20 63 6f 6e 73 74 20 43 52 43 33 32 20 63 72 63 33 32 3b 0a ..};..extern.const.CRC32.crc32;.
1900 0a 0a 69 6e 6c 69 6e 65 20 62 6f 6f 6c 20 69 73 76 61 6c 69 64 5f 64 73 28 20 63 6f 6e 73 74 20 ..inline.bool.isvalid_ds(.const.
1920 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 0a 20 20 7b 20 72 unsigned.dictionary_size.)...{.r
1940 65 74 75 72 6e 20 28 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 3e 3d 20 6d 69 6e 5f 64 eturn.(.dictionary_size.>=.min_d
1960 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 26 26 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 64 ictionary_size.&&..............d
1980 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 3c 3d 20 6d 61 78 5f 64 69 63 74 69 6f 6e 61 72 79 ictionary_size.<=.max_dictionary
19a0 5f 73 69 7a 65 20 29 3b 20 7d 0a 0a 0a 69 6e 6c 69 6e 65 20 69 6e 74 20 72 65 61 6c 5f 62 69 74 _size.);.}...inline.int.real_bit
19c0 73 28 20 75 6e 73 69 67 6e 65 64 20 76 61 6c 75 65 20 29 0a 20 20 7b 0a 20 20 69 6e 74 20 62 69 s(.unsigned.value.)...{...int.bi
19e0 74 73 20 3d 20 30 3b 0a 20 20 77 68 69 6c 65 28 20 76 61 6c 75 65 20 3e 20 30 20 29 20 7b 20 76 ts.=.0;...while(.value.>.0.).{.v
1a00 61 6c 75 65 20 3e 3e 3d 20 31 3b 20 2b 2b 62 69 74 73 3b 20 7d 0a 20 20 72 65 74 75 72 6e 20 62 alue.>>=.1;.++bits;.}...return.b
1a20 69 74 73 3b 0a 20 20 7d 0a 0a 0a 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 6c 7a 69 70 5f 6d 61 its;...}...const.uint8_t.lzip_ma
1a40 67 69 63 5b 34 5d 20 3d 20 7b 20 30 78 34 43 2c 20 30 78 35 41 2c 20 30 78 34 39 2c 20 30 78 35 gic[4].=.{.0x4C,.0x5A,.0x49,.0x5
1a60 30 20 7d 3b 09 2f 2f 20 22 4c 5a 49 50 22 0a 0a 73 74 72 75 63 74 20 4c 7a 69 70 5f 68 65 61 64 0.};.//."LZIP"..struct.Lzip_head
1a80 65 72 0a 20 20 7b 0a 20 20 75 69 6e 74 38 5f 74 20 64 61 74 61 5b 36 5d 3b 09 09 09 2f 2f 20 30 er...{...uint8_t.data[6];...//.0
1aa0 2d 33 20 6d 61 67 69 63 20 62 79 74 65 73 0a 09 09 09 09 09 2f 2f 20 20 20 34 20 76 65 72 73 69 -3.magic.bytes......//...4.versi
1ac0 6f 6e 0a 09 09 09 09 09 2f 2f 20 20 20 35 20 63 6f 64 65 64 20 64 69 63 74 69 6f 6e 61 72 79 20 on......//...5.coded.dictionary.
1ae0 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 0a 0a 20 20 76 6f 69 size...enum.{.size.=.6.};....voi
1b00 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 70 79 28 20 64 61 74 d.set_magic().{.std::memcpy(.dat
1b20 61 2c 20 6c 7a 69 70 5f 6d 61 67 69 63 2c 20 34 20 29 3b 20 64 61 74 61 5b 34 5d 20 3d 20 31 3b a,.lzip_magic,.4.);.data[4].=.1;
1b40 20 7d 0a 20 20 62 6f 6f 6c 20 76 65 72 69 66 79 5f 6d 61 67 69 63 28 29 20 63 6f 6e 73 74 0a 20 .}...bool.verify_magic().const..
1b60 20 20 20 7b 20 72 65 74 75 72 6e 20 28 20 73 74 64 3a 3a 6d 65 6d 63 6d 70 28 20 64 61 74 61 2c ...{.return.(.std::memcmp(.data,
1b80 20 6c 7a 69 70 5f 6d 61 67 69 63 2c 20 34 20 29 20 3d 3d 20 30 20 29 3b 20 7d 0a 0a 20 20 62 6f .lzip_magic,.4.).==.0.);.}....bo
1ba0 6f 6c 20 76 65 72 69 66 79 5f 70 72 65 66 69 78 28 20 63 6f 6e 73 74 20 69 6e 74 20 73 7a 20 29 ol.verify_prefix(.const.int.sz.)
1bc0 20 63 6f 6e 73 74 09 2f 2f 20 64 65 74 65 63 74 20 28 74 72 75 6e 63 61 74 65 64 29 20 68 65 61 .const.//.detect.(truncated).hea
1be0 64 65 72 0a 20 20 20 20 7b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 der.....{.....for(.int.i.=.0;.i.
1c00 3c 20 73 7a 20 26 26 20 69 20 3c 20 34 3b 20 2b 2b 69 20 29 0a 20 20 20 20 20 20 69 66 28 20 64 <.sz.&&.i.<.4;.++i.).......if(.d
1c20 61 74 61 5b 69 5d 20 21 3d 20 6c 7a 69 70 5f 6d 61 67 69 63 5b 69 5d 20 29 20 72 65 74 75 72 6e ata[i].!=.lzip_magic[i].).return
1c40 20 66 61 6c 73 65 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 28 20 73 7a 20 3e 20 30 20 29 3b 0a 20 .false;.....return.(.sz.>.0.);..
1c60 20 20 20 7d 0a 0a 20 20 62 6f 6f 6c 20 76 65 72 69 66 79 5f 63 6f 72 72 75 70 74 28 29 20 63 6f ...}....bool.verify_corrupt().co
1c80 6e 73 74 09 09 09 2f 2f 20 64 65 74 65 63 74 20 63 6f 72 72 75 70 74 20 68 65 61 64 65 72 0a 20 nst...//.detect.corrupt.header..
1ca0 20 20 20 7b 0a 20 20 20 20 69 6e 74 20 6d 61 74 63 68 65 73 20 3d 20 30 3b 0a 20 20 20 20 66 6f ...{.....int.matches.=.0;.....fo
1cc0 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 34 3b 20 2b 2b 69 20 29 0a 20 20 20 20 20 r(.int.i.=.0;.i.<.4;.++i.)......
1ce0 20 69 66 28 20 64 61 74 61 5b 69 5d 20 3d 3d 20 6c 7a 69 70 5f 6d 61 67 69 63 5b 69 5d 20 29 20 .if(.data[i].==.lzip_magic[i].).
1d00 2b 2b 6d 61 74 63 68 65 73 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 28 20 6d 61 74 63 68 65 73 20 ++matches;.....return.(.matches.
1d20 3e 20 31 20 26 26 20 6d 61 74 63 68 65 73 20 3c 20 34 20 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 75 >.1.&&.matches.<.4.);.....}....u
1d40 69 6e 74 38 5f 74 20 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 int8_t.version().const.{.return.
1d60 64 61 74 61 5b 34 5d 3b 20 7d 0a 20 20 62 6f 6f 6c 20 76 65 72 69 66 79 5f 76 65 72 73 69 6f 6e data[4];.}...bool.verify_version
1d80 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 28 20 64 61 74 61 5b 34 5d 20 3d 3d 20 31 ().const.{.return.(.data[4].==.1
1da0 20 29 3b 20 7d 0a 0a 20 20 75 6e 73 69 67 6e 65 64 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a .);.}....unsigned.dictionary_siz
1dc0 65 28 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 73 7a 20 e().const.....{.....unsigned.sz.
1de0 3d 20 28 20 31 20 3c 3c 20 28 20 64 61 74 61 5b 35 5d 20 26 20 30 78 31 46 20 29 20 29 3b 0a 20 =.(.1.<<.(.data[5].&.0x1F.).);..
1e00 20 20 20 69 66 28 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 ...if(.sz.>.min_dictionary_size.
1e20 29 0a 20 20 20 20 20 20 73 7a 20 2d 3d 20 28 20 73 7a 20 2f 20 31 36 20 29 20 2a 20 28 20 28 20 ).......sz.-=.(.sz./.16.).*.(.(.
1e40 64 61 74 61 5b 35 5d 20 3e 3e 20 35 20 29 20 26 20 37 20 29 3b 0a 20 20 20 20 72 65 74 75 72 6e data[5].>>.5.).&.7.);.....return
1e60 20 73 7a 3b 0a 20 20 20 20 7d 0a 0a 20 20 62 6f 6f 6c 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 .sz;.....}....bool.dictionary_si
1e80 7a 65 28 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 73 7a 20 29 0a 20 20 20 20 7b 0a 20 20 ze(.const.unsigned.sz.).....{...
1ea0 20 20 69 66 28 20 21 69 73 76 61 6c 69 64 5f 64 73 28 20 73 7a 20 29 20 29 20 72 65 74 75 72 6e ..if(.!isvalid_ds(.sz.).).return
1ec0 20 66 61 6c 73 65 3b 0a 20 20 20 20 64 61 74 61 5b 35 5d 20 3d 20 72 65 61 6c 5f 62 69 74 73 28 .false;.....data[5].=.real_bits(
1ee0 20 73 7a 20 2d 20 31 20 29 3b 0a 20 20 20 20 69 66 28 20 73 7a 20 3e 20 6d 69 6e 5f 64 69 63 74 .sz.-.1.);.....if(.sz.>.min_dict
1f00 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 63 6f 6e 73 ionary_size.).......{.......cons
1f20 74 20 75 6e 73 69 67 6e 65 64 20 62 61 73 65 5f 73 69 7a 65 20 3d 20 31 20 3c 3c 20 64 61 74 61 t.unsigned.base_size.=.1.<<.data
1f40 5b 35 5d 3b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 66 72 61 63 74 69 [5];.......const.unsigned.fracti
1f60 6f 6e 20 3d 20 62 61 73 65 5f 73 69 7a 65 20 2f 20 31 36 3b 0a 20 20 20 20 20 20 66 6f 72 28 20 on.=.base_size./.16;.......for(.
1f80 75 6e 73 69 67 6e 65 64 20 69 20 3d 20 37 3b 20 69 20 3e 3d 20 31 3b 20 2d 2d 69 20 29 0a 20 20 unsigned.i.=.7;.i.>=.1;.--i.)...
1fa0 20 20 20 20 20 20 69 66 28 20 62 61 73 65 5f 73 69 7a 65 20 2d 20 28 20 69 20 2a 20 66 72 61 63 ......if(.base_size.-.(.i.*.frac
1fc0 74 69 6f 6e 20 29 20 3e 3d 20 73 7a 20 29 0a 20 20 20 20 20 20 20 20 20 20 7b 20 64 61 74 61 5b tion.).>=.sz.)...........{.data[
1fe0 35 5d 20 7c 3d 20 28 20 69 20 3c 3c 20 35 20 29 3b 20 62 72 65 61 6b 3b 20 7d 0a 20 20 20 20 20 5].|=.(.i.<<.5.);.break;.}......
2000 20 7d 0a 20 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 62 6f 6f .}.....return.true;.....}....boo
2020 6c 20 76 65 72 69 66 79 28 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 20 72 65 74 75 72 6e 20 76 65 l.verify().const.....{.return.ve
2040 72 69 66 79 5f 6d 61 67 69 63 28 29 20 26 26 20 76 65 72 69 66 79 5f 76 65 72 73 69 6f 6e 28 29 rify_magic().&&.verify_version()
2060 20 26 26 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 69 73 76 61 6c 69 64 5f 64 73 28 20 64 69 63 .&&..............isvalid_ds(.dic
2080 74 69 6f 6e 61 72 79 5f 73 69 7a 65 28 29 20 29 3b 20 7d 0a 20 20 7d 3b 0a 0a 0a 73 74 72 75 63 tionary_size().);.}...};...struc
20a0 74 20 4c 7a 69 70 5f 74 72 61 69 6c 65 72 0a 20 20 7b 0a 20 20 75 69 6e 74 38 5f 74 20 64 61 74 t.Lzip_trailer...{...uint8_t.dat
20c0 61 5b 32 30 5d 3b 09 2f 2f 20 20 30 2d 33 20 20 43 52 43 33 32 20 6f 66 20 74 68 65 20 75 6e 63 a[20];.//..0-3..CRC32.of.the.unc
20e0 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 0a 09 09 09 2f 2f 20 20 34 2d 31 31 20 73 69 7a 65 20 ompressed.data....//..4-11.size.
2100 6f 66 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 31 of.the.uncompressed.data....//.1
2120 32 2d 31 39 20 6d 65 6d 62 65 72 20 73 69 7a 65 20 69 6e 63 6c 75 64 69 6e 67 20 68 65 61 64 65 2-19.member.size.including.heade
2140 72 20 61 6e 64 20 74 72 61 69 6c 65 72 0a 20 20 65 6e 75 6d 20 7b 20 73 69 7a 65 20 3d 20 32 30 r.and.trailer...enum.{.size.=.20
2160 20 7d 3b 0a 0a 20 20 75 6e 73 69 67 6e 65 64 20 64 61 74 61 5f 63 72 63 28 29 20 63 6f 6e 73 74 .};....unsigned.data_crc().const
2180 0a 20 20 20 20 7b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 74 6d 70 20 3d 20 30 3b 0a 20 20 20 .....{.....unsigned.tmp.=.0;....
21a0 20 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 .for(.int.i.=.3;.i.>=.0;.--i.).{
21c0 20 74 6d 70 20 3c 3c 3d 20 38 3b 20 74 6d 70 20 2b 3d 20 64 61 74 61 5b 69 5d 3b 20 7d 0a 20 20 .tmp.<<=.8;.tmp.+=.data[i];.}...
21e0 20 20 72 65 74 75 72 6e 20 74 6d 70 3b 0a 20 20 20 20 7d 0a 0a 20 20 76 6f 69 64 20 64 61 74 61 ..return.tmp;.....}....void.data
2200 5f 63 72 63 28 20 75 6e 73 69 67 6e 65 64 20 63 72 63 20 29 0a 20 20 20 20 7b 20 66 6f 72 28 20 _crc(.unsigned.crc.).....{.for(.
2220 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 3d 20 33 3b 20 2b 2b 69 20 29 20 7b 20 64 61 74 61 5b int.i.=.0;.i.<=.3;.++i.).{.data[
2240 69 5d 20 3d 20 28 75 69 6e 74 38 5f 74 29 63 72 63 3b 20 63 72 63 20 3e 3e 3d 20 38 3b 20 7d 20 i].=.(uint8_t)crc;.crc.>>=.8;.}.
2260 7d 0a 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 73 69 7a }....unsigned.long.long.data_siz
2280 65 28 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e e().const.....{.....unsigned.lon
22a0 67 20 6c 6f 6e 67 20 74 6d 70 20 3d 20 30 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d g.long.tmp.=.0;.....for(.int.i.=
22c0 20 31 31 3b 20 69 20 3e 3d 20 34 3b 20 2d 2d 69 20 29 20 7b 20 74 6d 70 20 3c 3c 3d 20 38 3b 20 .11;.i.>=.4;.--i.).{.tmp.<<=.8;.
22e0 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 70 tmp.+=.data[i];.}.....return.tmp
2300 3b 0a 20 20 20 20 7d 0a 0a 20 20 76 6f 69 64 20 64 61 74 61 5f 73 69 7a 65 28 20 75 6e 73 69 67 ;.....}....void.data_size(.unsig
2320 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 73 7a 20 29 0a 20 20 20 20 7b 20 66 6f 72 28 20 69 6e ned.long.long.sz.).....{.for(.in
2340 74 20 69 20 3d 20 34 3b 20 69 20 3c 3d 20 31 31 3b 20 2b 2b 69 20 29 20 7b 20 64 61 74 61 5b 69 t.i.=.4;.i.<=.11;.++i.).{.data[i
2360 5d 20 3d 20 28 75 69 6e 74 38 5f 74 29 73 7a 3b 20 73 7a 20 3e 3e 3d 20 38 3b 20 7d 20 7d 0a 0a ].=.(uint8_t)sz;.sz.>>=.8;.}.}..
2380 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 73 69 7a 65 ..unsigned.long.long.member_size
23a0 28 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 ().const.....{.....unsigned.long
23c0 20 6c 6f 6e 67 20 74 6d 70 20 3d 20 30 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 .long.tmp.=.0;.....for(.int.i.=.
23e0 31 39 3b 20 69 20 3e 3d 20 31 32 3b 20 2d 2d 69 20 29 20 7b 20 74 6d 70 20 3c 3c 3d 20 38 3b 20 19;.i.>=.12;.--i.).{.tmp.<<=.8;.
2400 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 70 tmp.+=.data[i];.}.....return.tmp
2420 3b 0a 20 20 20 20 7d 0a 0a 20 20 76 6f 69 64 20 6d 65 6d 62 65 72 5f 73 69 7a 65 28 20 75 6e 73 ;.....}....void.member_size(.uns
2440 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 73 7a 20 29 0a 20 20 20 20 7b 20 66 6f 72 28 20 igned.long.long.sz.).....{.for(.
2460 69 6e 74 20 69 20 3d 20 31 32 3b 20 69 20 3c 3d 20 31 39 3b 20 2b 2b 69 20 29 20 7b 20 64 61 74 int.i.=.12;.i.<=.19;.++i.).{.dat
2480 61 5b 69 5d 20 3d 20 28 75 69 6e 74 38 5f 74 29 73 7a 3b 20 73 7a 20 3e 3e 3d 20 38 3b 20 7d 20 a[i].=.(uint8_t)sz;.sz.>>=.8;.}.
24a0 7d 0a 0a 20 20 62 6f 6f 6c 20 76 65 72 69 66 79 5f 63 6f 6e 73 69 73 74 65 6e 63 79 28 29 20 63 }....bool.verify_consistency().c
24c0 6f 6e 73 74 09 2f 2f 20 63 68 65 63 6b 20 69 6e 74 65 72 6e 61 6c 20 63 6f 6e 73 69 73 74 65 6e onst.//.check.internal.consisten
24e0 63 79 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 72 63 20 cy.....{.....const.unsigned.crc.
2500 3d 20 64 61 74 61 5f 63 72 63 28 29 3b 0a 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 =.data_crc();.....const.unsigned
2520 20 6c 6f 6e 67 20 6c 6f 6e 67 20 64 73 69 7a 65 20 3d 20 64 61 74 61 5f 73 69 7a 65 28 29 3b 0a .long.long.dsize.=.data_size();.
2540 20 20 20 20 69 66 28 20 28 20 63 72 63 20 3d 3d 20 30 20 29 20 21 3d 20 28 20 64 73 69 7a 65 20 ....if(.(.crc.==.0.).!=.(.dsize.
2560 3d 3d 20 30 20 29 20 29 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 63 6f 6e 73 74 ==.0.).).return.false;.....const
2580 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6d 73 69 7a 65 20 3d 20 6d 65 6d 62 .unsigned.long.long.msize.=.memb
25a0 65 72 5f 73 69 7a 65 28 29 3b 0a 20 20 20 20 69 66 28 20 6d 73 69 7a 65 20 3c 20 6d 69 6e 5f 6d er_size();.....if(.msize.<.min_m
25c0 65 6d 62 65 72 5f 73 69 7a 65 20 29 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 63 ember_size.).return.false;.....c
25e0 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 6c 69 6d 69 74 20 3d onst.unsigned.long.long.mlimit.=
2600 20 28 20 39 20 2a 20 64 73 69 7a 65 20 2b 20 37 20 29 20 2f 20 38 20 2b 20 6d 69 6e 5f 6d 65 6d .(.9.*.dsize.+.7.)./.8.+.min_mem
2620 62 65 72 5f 73 69 7a 65 3b 0a 20 20 20 20 69 66 28 20 6d 6c 69 6d 69 74 20 3e 20 64 73 69 7a 65 ber_size;.....if(.mlimit.>.dsize
2640 20 26 26 20 6d 73 69 7a 65 20 3e 20 6d 6c 69 6d 69 74 20 29 20 72 65 74 75 72 6e 20 66 61 6c 73 .&&.msize.>.mlimit.).return.fals
2660 65 3b 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 6e 67 20 e;.....const.unsigned.long.long.
2680 64 6c 69 6d 69 74 20 3d 20 37 30 39 30 20 2a 20 28 20 6d 73 69 7a 65 20 2d 20 32 36 20 29 20 2d dlimit.=.7090.*.(.msize.-.26.).-
26a0 20 31 3b 0a 20 20 20 20 69 66 28 20 64 6c 69 6d 69 74 20 3e 20 6d 73 69 7a 65 20 26 26 20 64 73 .1;.....if(.dlimit.>.msize.&&.ds
26c0 69 7a 65 20 3e 20 64 6c 69 6d 69 74 20 29 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 ize.>.dlimit.).return.false;....
26e0 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 20 20 7d 0a 20 20 7d 3b 0a 0a 0a 73 74 72 75 63 .return.true;.....}...};...struc
2700 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 6e 73 74 t.Error...{...const.char.*.const
2720 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 20 63 68 .msg;...explicit.Error(.const.ch
2740 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 20 20 7d ar.*.const.s.).:.msg(.s.).{}...}
2760 3b 0a 0a 69 6e 6c 69 6e 65 20 76 6f 69 64 20 73 65 74 5f 72 65 74 76 61 6c 28 20 69 6e 74 20 26 ;..inline.void.set_retval(.int.&
2780 20 72 65 74 76 61 6c 2c 20 63 6f 6e 73 74 20 69 6e 74 20 6e 65 77 5f 76 61 6c 20 29 0a 20 20 7b .retval,.const.int.new_val.)...{
27a0 20 69 66 28 20 72 65 74 76 61 6c 20 3c 20 6e 65 77 5f 76 61 6c 20 29 20 72 65 74 76 61 6c 20 3d .if(.retval.<.new_val.).retval.=
27c0 20 6e 65 77 5f 76 61 6c 3b 20 7d 0a 0a 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 .new_val;.}..const.char.*.const.
27e0 62 61 64 5f 6d 61 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 bad_magic_msg.=."Bad.magic.numbe
2800 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 22 3b 0a 63 r.(file.not.in.lzip.format).";.c
2820 6f 6e 73 74 20 63 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 onst.char.*.const.bad_dict_msg.=
2840 20 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 ."Invalid.dictionary.size.in.mem
2860 62 65 72 20 68 65 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 ber.header.";.const.char.*.const
2880 20 63 6f 72 72 75 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 .corrupt_mm_msg.=."Corrupt.heade
28a0 72 20 69 6e 20 6d 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 r.in.multimember.file.";.const.c
28c0 68 61 72 20 2a 20 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 har.*.const.trailing_msg.=."Trai
28e0 6c 69 6e 67 20 64 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 ling.data.not.allowed.";..//.def
2900 69 6e 65 64 20 69 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 ined.in.decoder.cc.int.readblock
2920 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 63 6f 6e 73 74 20 (.const.int.fd,.uint8_t.*.const.
2940 62 75 66 2c 20 63 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 buf,.const.int.size.);.int.write
2960 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
2980 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.)
29a0 3b 0a 0a 2f 2f 20 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 ;..//.defined.in.list.cc.int.lis
29c0 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 3c 20 73 74 64 3a t_files(.const.std::vector<.std:
29e0 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 20 20 20 20 20 20 :string.>.&.filenames,..........
2a00 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 61 69 6c 69 6e .......const.bool.ignore_trailin
2a20 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 67 20 29 3b 0a g,.const.bool.loose_trailing.);.
2a40 0a 2f 2f 20 64 65 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 .//.defined.in.main.cc.struct.st
2a60 61 74 3b 0a 63 6f 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 at;.const.char.*.bad_version(.co
2a80 6e 73 74 20 75 6e 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 nst.unsigned.version.);.const.ch
2aa0 61 72 20 2a 20 66 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 ar.*.format_ds(.const.unsigned.d
2ac0 69 63 74 69 6f 6e 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 ictionary_size.);.void.show_head
2ae0 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 61 72 79 5f 73 69 er(.const.unsigned.dictionary_si
2b00 7a 65 20 29 3b 0a 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 ze.);.int.open_instream(.const.c
2b20 68 61 72 20 2a 20 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 har.*.const.name,.struct.stat.*.
2b40 63 6f 6e 73 74 20 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 const.in_statsp,................
2b60 20 20 20 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 6f 6e 65 5f 74 6f 5f 6f 6e 65 2c 20 63 6f 6e 73 74 ....const.bool.one_to_one,.const
2b80 20 62 6f 6f 6c 20 72 65 67 5f 6f 6e 6c 79 20 3d 20 66 61 6c 73 65 20 29 3b 0a 76 6f 69 64 20 73 .bool.reg_only.=.false.);.void.s
2ba0 68 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 how_error(.const.char.*.const.ms
2bc0 67 2c 20 63 6f 6e 73 74 20 69 6e 74 20 65 72 72 63 6f 64 65 20 3d 20 30 2c 0a 20 20 20 20 20 20 g,.const.int.errcode.=.0,.......
2be0 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 68 65 6c 70 20 3d 20 66 61 6c ...........const.bool.help.=.fal
2c00 73 65 20 29 3b 0a 76 6f 69 64 20 73 68 6f 77 5f 66 69 6c 65 5f 65 72 72 6f 72 28 20 63 6f 6e 73 se.);.void.show_file_error(.cons
2c20 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 66 69 6c 65 6e 61 6d 65 2c 20 63 6f 6e 73 74 20 63 t.char.*.const.filename,.const.c
2c40 68 61 72 20 2a 20 63 6f 6e 73 74 20 6d 73 67 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 har.*.const.msg,................
2c60 20 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 65 72 72 63 6f 64 65 20 3d 20 30 20 29 3b 0a .......const.int.errcode.=.0.);.
2c80 76 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 void.internal_error(.const.char.
2ca0 2a 20 63 6f 6e 73 74 20 6d 73 67 20 29 3b 0a 63 6c 61 73 73 20 4d 61 74 63 68 66 69 6e 64 65 72 *.const.msg.);.class.Matchfinder
2cc0 5f 62 61 73 65 3b 0a 76 6f 69 64 20 73 68 6f 77 5f 63 70 72 6f 67 72 65 73 73 28 20 63 6f 6e 73 _base;.void.show_cprogress(.cons
2ce0 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 69 7a 65 20 t.unsigned.long.long.cfile_size.
2d00 3d 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 =.0,......................const.
2d20 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 20 unsigned.long.long.partial_size.
2d40 3d 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 =.0,......................const.
2d60 4d 61 74 63 68 66 69 6e 64 65 72 5f 62 61 73 65 20 2a 20 63 6f 6e 73 74 20 6d 20 3d 20 30 2c 0a Matchfinder_base.*.const.m.=.0,.
2d80 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 50 72 65 74 74 .....................const.Prett
2da0 79 5f 70 72 69 6e 74 20 2a 20 63 6f 6e 73 74 20 70 20 3d 20 30 20 29 3b 0a 63 6c 61 73 73 20 52 y_print.*.const.p.=.0.);.class.R
2dc0 61 6e 67 65 5f 64 65 63 6f 64 65 72 3b 0a 76 6f 69 64 20 73 68 6f 77 5f 64 70 72 6f 67 72 65 73 ange_decoder;.void.show_dprogres
2de0 73 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 63 66 69 6c s(.const.unsigned.long.long.cfil
2e00 65 5f 73 69 7a 65 20 3d 20 30 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e_size.=.0,.....................
2e20 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 70 61 72 74 69 61 .const.unsigned.long.long.partia
2e40 6c 5f 73 69 7a 65 20 3d 20 30 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 l_size.=.0,.....................
2e60 20 63 6f 6e 73 74 20 52 61 6e 67 65 5f 64 65 63 6f 64 65 72 20 2a 20 63 6f 6e 73 74 20 64 20 3d .const.Range_decoder.*.const.d.=
2e80 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 50 .0,......................const.P
2ea0 72 65 74 74 79 5f 70 72 69 6e 74 20 2a 20 63 6f 6e 73 74 20 70 20 3d 20 30 20 29 3b 0a 00 00 00 retty_print.*.const.p.=.0.);....
2ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3000 6c 7a 69 70 2d 31 2e 32 33 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.23/INSTALL...............
3020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
3080 30 30 30 34 36 36 37 00 31 34 31 37 32 35 34 31 35 31 33 00 30 31 33 34 36 34 00 20 30 00 00 00 0004667.14172541513.013464..0...
30a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3100 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
3120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
3140 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
3160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3200 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
3220 6c 6c 20 6e 65 65 64 20 61 20 43 2b 2b 39 38 20 63 6f 6d 70 69 6c 65 72 20 77 69 74 68 20 73 75 ll.need.a.C++98.compiler.with.su
3240 70 6f 72 74 20 66 6f 72 20 27 6c 6f 6e 67 20 6c 6f 6e 67 27 2e 0a 28 67 63 63 20 33 2e 33 2e 36 port.for.'long.long'..(gcc.3.3.6
3260 20 6f 72 20 6e 65 77 65 72 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64 29 2e 0a 49 20 75 73 65 .or.newer.is.recommended)..I.use
3280 20 67 63 63 20 36 2e 31 2e 30 20 61 6e 64 20 33 2e 33 2e 36 2c 20 62 75 74 20 74 68 65 20 63 6f .gcc.6.1.0.and.3.3.6,.but.the.co
32a0 64 65 20 73 68 6f 75 6c 64 20 63 6f 6d 70 69 6c 65 20 77 69 74 68 20 61 6e 79 20 73 74 61 6e 64 de.should.compile.with.any.stand
32c0 61 72 64 73 0a 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 ards.compliant.compiler..Gcc.is.
32e0 61 76 61 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 available.at.http://gcc.gnu.org.
3300 0a 0a 54 68 65 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 20 6d 75 73 74 20 61 6c 6c 6f ..The.operating.system.must.allo
3320 77 20 73 69 67 6e 61 6c 20 68 61 6e 64 6c 65 72 73 20 72 65 61 64 20 61 63 63 65 73 73 20 74 6f w.signal.handlers.read.access.to
3340 20 6f 62 6a 65 63 74 73 20 77 69 74 68 0a 73 74 61 74 69 63 20 73 74 6f 72 61 67 65 20 64 75 72 .objects.with.static.storage.dur
3360 61 74 69 6f 6e 20 73 6f 20 74 68 61 74 20 74 68 65 20 63 6c 65 61 6e 75 70 20 68 61 6e 64 6c 65 ation.so.that.the.cleanup.handle
3380 72 20 66 6f 72 20 43 6f 6e 74 72 6f 6c 2d 43 20 63 61 6e 20 64 65 6c 65 74 65 0a 74 68 65 20 70 r.for.Control-C.can.delete.the.p
33a0 61 72 74 69 61 6c 20 6f 75 74 70 75 74 20 66 69 6c 65 2e 0a 0a 0a 50 72 6f 63 65 64 75 72 65 0a artial.output.file....Procedure.
33c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 31 2e 20 55 6e 70 61 63 6b 20 74 68 65 20 61 72 63 68 69 76 65 20 ---------.1..Unpack.the.archive.
33e0 69 66 20 79 6f 75 20 68 61 76 65 20 6e 6f 74 20 64 6f 6e 65 20 73 6f 20 61 6c 72 65 61 64 79 3a if.you.have.not.done.so.already:
3400 0a 0a 09 74 61 72 20 2d 78 66 20 6c 7a 69 70 5b 76 65 72 73 69 6f 6e 5d 2e 74 61 72 2e 6c 7a 0a ...tar.-xf.lzip[version].tar.lz.
3420 6f 72 0a 09 6c 7a 69 70 20 2d 63 64 20 6c 7a 69 70 5b 76 65 72 73 69 6f 6e 5d 2e 74 61 72 2e 6c or..lzip.-cd.lzip[version].tar.l
3440 7a 20 7c 20 74 61 72 20 2d 78 66 20 2d 0a 0a 54 68 69 73 20 63 72 65 61 74 65 73 20 74 68 65 20 z.|.tar.-xf.-..This.creates.the.
3460 64 69 72 65 63 74 6f 72 79 20 2e 2f 6c 7a 69 70 5b 76 65 72 73 69 6f 6e 5d 20 63 6f 6e 74 61 69 directory../lzip[version].contai
3480 6e 69 6e 67 20 74 68 65 20 73 6f 75 72 63 65 20 66 72 6f 6d 0a 74 68 65 20 6d 61 69 6e 20 61 72 ning.the.source.from.the.main.ar
34a0 63 68 69 76 65 2e 0a 0a 32 2e 20 43 68 61 6e 67 65 20 74 6f 20 6c 7a 69 70 20 64 69 72 65 63 74 chive...2..Change.to.lzip.direct
34c0 6f 72 79 20 61 6e 64 20 72 75 6e 20 63 6f 6e 66 69 67 75 72 65 2e 0a 20 20 20 28 54 72 79 20 27 ory.and.run.configure.....(Try.'
34e0 63 6f 6e 66 69 67 75 72 65 20 2d 2d 68 65 6c 70 27 20 66 6f 72 20 75 73 61 67 65 20 69 6e 73 74 configure.--help'.for.usage.inst
3500 72 75 63 74 69 6f 6e 73 29 2e 0a 0a 09 63 64 20 6c 7a 69 70 5b 76 65 72 73 69 6f 6e 5d 0a 09 2e ructions)....cd.lzip[version]...
3520 2f 63 6f 6e 66 69 67 75 72 65 0a 0a 20 20 20 49 66 20 79 6f 75 20 61 72 65 20 63 6f 6d 70 69 6c /configure.....If.you.are.compil
3540 69 6e 67 20 6f 6e 20 4d 69 6e 47 57 2c 20 75 73 65 3a 0a 0a 09 2e 2f 63 6f 6e 66 69 67 75 72 65 ing.on.MinGW,.use:..../configure
3560 20 43 58 58 46 4c 41 47 53 2b 3d 27 2d 44 20 5f 5f 55 53 45 5f 4d 49 4e 47 57 5f 41 4e 53 49 5f .CXXFLAGS+='-D.__USE_MINGW_ANSI_
3580 53 54 44 49 4f 27 0a 0a 33 2e 20 52 75 6e 20 6d 61 6b 65 2e 0a 0a 09 6d 61 6b 65 0a 0a 34 2e 20 STDIO'..3..Run.make....make..4..
35a0 4f 70 74 69 6f 6e 61 6c 6c 79 2c 20 74 79 70 65 20 27 6d 61 6b 65 20 63 68 65 63 6b 27 20 74 6f Optionally,.type.'make.check'.to
35c0 20 72 75 6e 20 74 68 65 20 74 65 73 74 73 20 74 68 61 74 20 63 6f 6d 65 20 77 69 74 68 20 6c 7a .run.the.tests.that.come.with.lz
35e0 69 70 2e 0a 0a 35 2e 20 54 79 70 65 20 27 6d 61 6b 65 20 69 6e 73 74 61 6c 6c 27 20 74 6f 20 69 ip...5..Type.'make.install'.to.i
3600 6e 73 74 61 6c 6c 20 74 68 65 20 70 72 6f 67 72 61 6d 20 61 6e 64 20 61 6e 79 20 64 61 74 61 20 nstall.the.program.and.any.data.
3620 66 69 6c 65 73 20 61 6e 64 0a 20 20 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a 0a 20 20 20 files.and....documentation......
3640 4f 72 20 74 79 70 65 20 27 6d 61 6b 65 20 69 6e 73 74 61 6c 6c 2d 63 6f 6d 70 72 65 73 73 27 2c Or.type.'make.install-compress',
3660 20 77 68 69 63 68 20 61 64 64 69 74 69 6f 6e 61 6c 6c 79 20 63 6f 6d 70 72 65 73 73 65 73 20 74 .which.additionally.compresses.t
3680 68 65 0a 20 20 20 69 6e 66 6f 20 6d 61 6e 75 61 6c 20 61 6e 64 20 74 68 65 20 6d 61 6e 20 70 61 he....info.manual.and.the.man.pa
36a0 67 65 20 61 66 74 65 72 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 2e 0a 20 20 20 28 49 6e 73 74 61 ge.after.installation.....(Insta
36c0 6c 6c 69 6e 67 20 63 6f 6d 70 72 65 73 73 65 64 20 64 6f 63 73 20 6d 61 79 20 62 65 63 6f 6d 65 lling.compressed.docs.may.become
36e0 20 74 68 65 20 64 65 66 61 75 6c 74 20 69 6e 20 74 68 65 20 66 75 74 75 72 65 29 2e 0a 0a 20 20 .the.default.in.the.future).....
3700 20 59 6f 75 20 63 61 6e 20 69 6e 73 74 61 6c 6c 20 6f 6e 6c 79 20 74 68 65 20 70 72 6f 67 72 61 .You.can.install.only.the.progra
3720 6d 2c 20 74 68 65 20 69 6e 66 6f 20 6d 61 6e 75 61 6c 2c 20 6f 72 20 74 68 65 20 6d 61 6e 20 70 m,.the.info.manual,.or.the.man.p
3740 61 67 65 20 62 79 0a 20 20 20 74 79 70 69 6e 67 20 27 6d 61 6b 65 20 69 6e 73 74 61 6c 6c 2d 62 age.by....typing.'make.install-b
3760 69 6e 27 2c 20 27 6d 61 6b 65 20 69 6e 73 74 61 6c 6c 2d 69 6e 66 6f 27 2c 20 6f 72 20 27 6d 61 in',.'make.install-info',.or.'ma
3780 6b 65 20 69 6e 73 74 61 6c 6c 2d 6d 61 6e 27 0a 20 20 20 72 65 73 70 65 63 74 69 76 65 6c 79 2e ke.install-man'....respectively.
37a0 0a 0a 0a 41 6e 6f 74 68 65 72 20 77 61 79 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 59 6f 75 20 63 ...Another.way.-----------.You.c
37c0 61 6e 20 61 6c 73 6f 20 63 6f 6d 70 69 6c 65 20 6c 7a 69 70 20 69 6e 74 6f 20 61 20 73 65 70 61 an.also.compile.lzip.into.a.sepa
37e0 72 61 74 65 20 64 69 72 65 63 74 6f 72 79 2e 0a 54 6f 20 64 6f 20 74 68 69 73 2c 20 79 6f 75 20 rate.directory..To.do.this,.you.
3800 6d 75 73 74 20 75 73 65 20 61 20 76 65 72 73 69 6f 6e 20 6f 66 20 27 6d 61 6b 65 27 20 74 68 61 must.use.a.version.of.'make'.tha
3820 74 20 73 75 70 70 6f 72 74 73 20 74 68 65 20 76 61 72 69 61 62 6c 65 0a 27 56 50 41 54 48 27 2c t.supports.the.variable.'VPATH',
3840 20 73 75 63 68 20 61 73 20 47 4e 55 20 27 6d 61 6b 65 27 2e 20 27 63 64 27 20 74 6f 20 74 68 65 .such.as.GNU.'make'..'cd'.to.the
3860 20 64 69 72 65 63 74 6f 72 79 20 77 68 65 72 65 20 79 6f 75 20 77 61 6e 74 20 74 68 65 0a 6f 62 .directory.where.you.want.the.ob
3880 6a 65 63 74 20 66 69 6c 65 73 20 61 6e 64 20 65 78 65 63 75 74 61 62 6c 65 73 20 74 6f 20 67 6f ject.files.and.executables.to.go
38a0 20 61 6e 64 20 72 75 6e 20 74 68 65 20 27 63 6f 6e 66 69 67 75 72 65 27 20 73 63 72 69 70 74 2e .and.run.the.'configure'.script.
38c0 0a 27 63 6f 6e 66 69 67 75 72 65 27 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 63 68 65 63 6b .'configure'.automatically.check
38e0 73 20 66 6f 72 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 69 6e 20 27 2e 27 2c 20 69 6e s.for.the.source.code.in.'.',.in
3900 20 27 2e 2e 27 2c 20 61 6e 64 0a 69 6e 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 74 68 61 74 .'..',.and.in.the.directory.that
3920 20 27 63 6f 6e 66 69 67 75 72 65 27 20 69 73 20 69 6e 2e 0a 0a 27 63 6f 6e 66 69 67 75 72 65 27 .'configure'.is.in...'configure'
3940 20 72 65 63 6f 67 6e 69 7a 65 73 20 74 68 65 20 6f 70 74 69 6f 6e 20 27 2d 2d 73 72 63 64 69 72 .recognizes.the.option.'--srcdir
3960 3d 44 49 52 27 20 74 6f 20 63 6f 6e 74 72 6f 6c 20 77 68 65 72 65 20 74 6f 0a 6c 6f 6f 6b 20 66 =DIR'.to.control.where.to.look.f
3980 6f 72 20 74 68 65 20 73 6f 75 72 63 65 73 2e 20 55 73 75 61 6c 6c 79 20 27 63 6f 6e 66 69 67 75 or.the.sources..Usually.'configu
39a0 72 65 27 20 63 61 6e 20 64 65 74 65 72 6d 69 6e 65 20 74 68 61 74 20 64 69 72 65 63 74 6f 72 79 re'.can.determine.that.directory
39c0 0a 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 2e 0a 0a 41 66 74 65 72 20 72 75 6e 6e 69 6e 67 20 27 .automatically...After.running.'
39e0 63 6f 6e 66 69 67 75 72 65 27 2c 20 79 6f 75 20 63 61 6e 20 72 75 6e 20 27 6d 61 6b 65 27 20 61 configure',.you.can.run.'make'.a
3a00 6e 64 20 27 6d 61 6b 65 20 69 6e 73 74 61 6c 6c 27 20 61 73 0a 65 78 70 6c 61 69 6e 65 64 20 61 nd.'make.install'.as.explained.a
3a20 62 6f 76 65 2e 0a 0a 0a 42 75 69 6c 64 69 6e 67 20 77 69 74 68 6f 75 74 20 27 6d 61 6b 65 27 0a bove....Building.without.'make'.
3a40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 49 66 20 79 6f 75 20 6e -----------------------.If.you.n
3a60 65 65 64 20 74 6f 20 62 75 69 6c 64 20 6c 7a 69 70 20 6f 6e 20 61 20 73 79 73 74 65 6d 20 6c 61 eed.to.build.lzip.on.a.system.la
3a80 63 6b 69 6e 67 20 61 20 27 6d 61 6b 65 27 20 70 72 6f 67 72 61 6d 2c 20 79 6f 75 20 63 61 6e 20 cking.a.'make'.program,.you.can.
3aa0 75 73 65 0a 27 63 6f 6e 66 69 67 75 72 65 27 20 74 6f 20 62 75 69 6c 64 2c 20 63 68 65 63 6b 2c use.'configure'.to.build,.check,
3ac0 20 61 6e 64 20 69 6e 73 74 61 6c 6c 20 74 68 65 20 6c 7a 69 70 20 65 78 65 63 75 74 61 62 6c 65 .and.install.the.lzip.executable
3ae0 20 6c 69 6b 65 20 74 68 69 73 3a 0a 0a 09 2e 2f 63 6f 6e 66 69 67 75 72 65 20 2d 2d 62 75 69 6c .like.this:..../configure.--buil
3b00 64 20 2d 2d 63 68 65 63 6b 20 2d 2d 69 6e 73 74 61 6c 6c 64 69 72 3d 2f 75 73 72 2f 6c 6f 63 61 d.--check.--installdir=/usr/loca
3b20 6c 2f 62 69 6e 0a 0a 0a 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d 32 30 32 32 20 l/bin...Copyright.(C).2008-2022.
3b40 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 66 69 6c 65 20 69 73 Antonio.Diaz.Diaz...This.file.is
3b60 20 66 72 65 65 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 .free.documentation:.you.have.un
3b80 6c 69 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 0a 64 69 73 74 limited.permission.to.copy,.dist
3ba0 72 69 62 75 74 65 2c 20 61 6e 64 20 6d 6f 64 69 66 79 20 69 74 2e 0a 00 00 00 00 00 00 00 00 00 ribute,.and.modify.it...........
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 6c 7a 69 70 2d 31 2e 32 33 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.23/decoder.h.............
3c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
3c80 30 30 32 33 31 31 30 00 31 34 31 37 32 36 34 35 36 32 35 00 30 31 34 32 30 32 00 20 30 00 00 00 0023110.14172645625.014202..0...
3ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3d00 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
3d20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
3d40 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
3d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e00 2f 2a 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 /*.Lzip.-.LZMA.lossless.data.com
3e20 70 72 65 73 73 6f 72 0a 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d 32 30 pressor....Copyright.(C).2008-20
3e40 32 32 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 54 68 69 73 20 70 22.Antonio.Diaz.Diaz......This.p
3e60 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 63 61 6e rogram.is.free.software:.you.can
3e80 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 79 0a 20 .redistribute.it.and/or.modify..
3ea0 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 47 4e 55 20 ..it.under.the.terms.of.the.GNU.
3ec0 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 62 6c 69 73 General.Public.License.as.publis
3ee0 68 65 64 20 62 79 0a 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e hed.by....the.Free.Software.Foun
3f00 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 20 74 68 65 20 dation,.either.version.2.of.the.
3f20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 License,.or....(at.your.option).
3f40 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 54 68 69 73 20 70 72 6f 67 any.later.version......This.prog
3f60 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 70 65 20 74 ram.is.distributed.in.the.hope.t
3f80 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 62 75 74 20 57 49 hat.it.will.be.useful,....but.WI
3fa0 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 65 76 65 6e THOUT.ANY.WARRANTY;.without.even
3fc0 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 4d 45 52 43 .the.implied.warranty.of....MERC
3fe0 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
4000 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 0a 20 20 20 47 4e 55 TICULAR.PURPOSE...See.the....GNU
4020 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 72 65 .General.Public.License.for.more
4040 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 .details......You.should.have.re
4060 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 6e 65 72 61 6c ceived.a.copy.of.the.GNU.General
4080 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 .Public.License....along.with.th
40a0 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 3c 68 74 74 70 3a 2f is.program...If.not,.see.<http:/
40c0 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 2a 2f 0a 0a 63 6c 61 /www.gnu.org/licenses/>..*/..cla
40e0 73 73 20 52 61 6e 67 65 5f 64 65 63 6f 64 65 72 0a 20 20 7b 0a 20 20 65 6e 75 6d 20 7b 20 62 75 ss.Range_decoder...{...enum.{.bu
4100 66 66 65 72 5f 73 69 7a 65 20 3d 20 31 36 33 38 34 20 7d 3b 0a 20 20 75 6e 73 69 67 6e 65 64 20 ffer_size.=.16384.};...unsigned.
4120 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;...
4140 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 69 6e 70 75 74 uint8_t.*.const.buffer;.//.input
4160 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 20 .buffer...int.pos;...//.current.
4180 70 6f 73 20 69 6e 20 62 75 66 66 65 72 0a 20 20 69 6e 74 20 73 74 72 65 61 6d 5f 70 6f 73 3b 09 pos.in.buffer...int.stream_pos;.
41a0 09 2f 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 .//.when.reached,.a.new.block.mu
41c0 73 74 20 62 65 20 72 65 61 64 0a 20 20 75 69 6e 74 33 32 5f 74 20 63 6f 64 65 3b 0a 20 20 75 69 st.be.read...uint32_t.code;...ui
41e0 6e 74 33 32 5f 74 20 72 61 6e 67 65 3b 0a 20 20 63 6f 6e 73 74 20 69 6e 74 20 69 6e 66 64 3b 09 nt32_t.range;...const.int.infd;.
4200 09 2f 2f 20 69 6e 70 75 74 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 0a 20 20 62 6f 6f 6c .//.input.file.descriptor...bool
4220 20 61 74 5f 73 74 72 65 61 6d 5f 65 6e 64 3b 0a 0a 20 20 62 6f 6f 6c 20 72 65 61 64 5f 62 6c 6f .at_stream_end;....bool.read_blo
4240 63 6b 28 29 3b 0a 0a 20 20 52 61 6e 67 65 5f 64 65 63 6f 64 65 72 28 20 63 6f 6e 73 74 20 52 61 ck();....Range_decoder(.const.Ra
4260 6e 67 65 5f 64 65 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 nge_decoder.&.);.//.declared.as.
4280 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 6e 73 74 20 private...void.operator=(.const.
42a0 52 61 6e 67 65 5f 64 65 63 6f 64 65 72 20 26 20 29 3b 09 2f 2f 20 64 65 63 6c 61 72 65 64 20 61 Range_decoder.&.);.//.declared.a
42c0 73 20 70 72 69 76 61 74 65 0a 0a 70 75 62 6c 69 63 3a 0a 20 20 65 78 70 6c 69 63 69 74 20 52 61 s.private..public:...explicit.Ra
42e0 6e 67 65 5f 64 65 63 6f 64 65 72 28 20 63 6f 6e 73 74 20 69 6e 74 20 69 66 64 20 29 0a 20 20 20 nge_decoder(.const.int.ifd.)....
4300 20 3a 0a 20 20 20 20 70 61 72 74 69 61 6c 5f 6d 65 6d 62 65 72 5f 70 6f 73 28 20 30 20 29 2c 0a .:.....partial_member_pos(.0.),.
4320 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
4340 69 7a 65 5d 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 ize].),.....pos(.0.),.....stream
4360 5f 70 6f 73 28 20 30 20 29 2c 0a 20 20 20 20 63 6f 64 65 28 20 30 20 29 2c 0a 20 20 20 20 72 61 _pos(.0.),.....code(.0.),.....ra
4380 6e 67 65 28 20 30 78 46 46 46 46 46 46 46 46 55 20 29 2c 0a 20 20 20 20 69 6e 66 64 28 20 69 66 nge(.0xFFFFFFFFU.),.....infd(.if
43a0 64 20 29 2c 0a 20 20 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 d.),.....at_stream_end(.false.).
43c0 20 20 20 20 7b 7d 0a 0a 20 20 7e 52 61 6e 67 65 5f 64 65 63 6f 64 65 72 28 29 20 7b 20 64 65 6c ....{}....~Range_decoder().{.del
43e0 65 74 65 5b 5d 20 62 75 66 66 65 72 3b 20 7d 0a 0a 20 20 62 6f 6f 6c 20 66 69 6e 69 73 68 65 64 ete[].buffer;.}....bool.finished
4400 28 29 20 7b 20 72 65 74 75 72 6e 20 70 6f 73 20 3e 3d 20 73 74 72 65 61 6d 5f 70 6f 73 20 26 26 ().{.return.pos.>=.stream_pos.&&
4420 20 21 72 65 61 64 5f 62 6c 6f 63 6b 28 29 3b 20 7d 0a 0a 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f .!read_block();.}....unsigned.lo
4440 6e 67 20 6c 6f 6e 67 20 6d 65 6d 62 65 72 5f 70 6f 73 69 74 69 6f 6e 28 29 20 63 6f 6e 73 74 0a ng.long.member_position().const.
4460 20 20 20 20 7b 20 72 65 74 75 72 6e 20 70 61 72 74 69 61 6c 5f 6d 65 6d 62 65 72 5f 70 6f 73 20 ....{.return.partial_member_pos.
4480 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 6d 62 65 72 5f 70 6f +.pos;.}....void.reset_member_po
44a0 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 6d 62 65 72 5f 70 6f sition().....{.partial_member_po
44c0 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 20 2d 3d 20 70 6f 73 s.=.0;.partial_member_pos.-=.pos
44e0 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 0a 20 20 20 20 7b 0a ;.}....uint8_t.get_byte().....{.
4500 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 72 20 65 72 72 6f 72 ....//.0xFF.avoids.decoder.error
4520 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 74 20 45 4f 53 20 6d .if.member.is.truncated.at.EOS.m
4540 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 29 20 72 65 74 75 72 arker.....if(.finished().).retur
4560 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 5b 70 6f 73 2b 2b 5d n.0xFF;.....return.buffer[pos++]
4580 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 20 75 69 6e 74 38 5f ;.....}....int.read_data(.uint8_
45a0 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 6e 74 20 73 69 7a 65 t.*.const.outbuf,.const.int.size
45c0 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 20 20 20 20 77 68 69 .).....{.....int.sz.=.0;.....whi
45e0 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 64 28 29 20 29 0a 20 le(.sz.<.size.&&.!finished().)..
4600 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 20 3d 20 73 74 64 3a .....{.......const.int.rd.=.std:
4620 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 6f 73 20 2d 20 70 6f :min(.size.-.sz,.stream_pos.-.po
4640 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 75 74 62 75 66 20 2b s.);.......std::memcpy(.outbuf.+
4660 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 20 20 20 20 20 20 70 .sz,.buffer.+.pos,.rd.);.......p
4680 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 0a 20 20 20 20 20 20 os.+=.rd;.......sz.+=.rd;.......
46a0 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 20 76 6f 69 64 20 6c }.....return.sz;.....}....void.l
46c0 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 0a 20 20 20 20 66 6f oad().....{.....code.=.0;.....fo
46e0 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 29 20 63 6f 64 65 20 r(.int.i.=.0;.i.<.5;.++i.).code.
4700 3d 20 28 20 63 6f 64 65 20 3c 3c 20 38 20 29 20 7c 20 67 65 74 5f 62 79 74 65 28 29 3b 0a 20 20 =.(.code.<<.8.).|.get_byte();...
4720 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 63 6f 64 65 20 ..range.=.0xFFFFFFFFU;.....code.
4740 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 74 20 66 69 72 &=.range;..//.make.sure.that.fir
4760 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 0a 20 20 76 6f st.byte.is.discarded.....}....vo
4780 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 28 20 72 61 6e id.normalize().....{.....if(.ran
47a0 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 20 72 61 6e 67 ge.<=.0x00FFFFFFU.).......{.rang
47c0 65 20 3c 3c 3d 20 38 3b 20 63 6f 64 65 20 3d 20 28 20 63 6f 64 65 20 3c 3c 20 38 20 29 20 7c 20 e.<<=.8;.code.=.(.code.<<.8.).|.
47e0 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 65 64 20 get_byte();.}.....}....unsigned.
4800 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 20 20 20 decode(.const.int.num_bits.)....
4820 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 20 20 20 .{.....unsigned.symbol.=.0;.....
4840 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 20 2d 2d for(.int.i.=.num_bits;.i.>.0;.--
4860 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 3b 0a 20 i.).......{.......normalize();..
4880 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 62 6f 6c .....range.>>=.1;.//......symbol
48a0 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 61 6e 67 .<<=.1;.//......if(.code.>=.rang
48c0 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 3d 20 31 e.).{.code.-=.range;.symbol.|=.1
48e0 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 63 6f 64 ;.}.......const.bool.bit.=.(.cod
4900 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 3c 3c 3d 20 31 e.>=.range.);.......symbol.<<=.1
4920 3b 20 73 79 6d 62 6f 6c 20 2b 3d 20 62 69 74 3b 0a 20 20 20 20 20 20 63 6f 64 65 20 2d 3d 20 72 ;.symbol.+=.bit;.......code.-=.r
4940 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 20 7d 0a 20 20 20 ange.&.(.0U.-.bit.);.......}....
4960 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 62 6f 6f 6c 20 64 65 .return.symbol;.....}....bool.de
4980 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 20 20 20 7b code_bit(.Bit_model.&.bm.).....{
49a0 0a 20 20 20 20 6e 6f 72 6d 61 6c 69 7a 65 28 29 3b 0a 20 20 20 20 63 6f 6e 73 74 20 75 69 6e 74 .....normalize();.....const.uint
49c0 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 6d 6f 64 65 32_t.bound.=.(.range.>>.bit_mode
49e0 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 69 74 79 3b l_total_bits.).*.bm.probability;
4a00 0a 20 20 20 20 69 66 28 20 63 6f 64 65 20 3c 20 62 6f 75 6e 64 20 29 0a 20 20 20 20 20 20 7b 0a .....if(.code.<.bound.).......{.
4a20 20 20 20 20 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 ......range.=.bound;.......bm.pr
4a40 6f 62 61 62 69 6c 69 74 79 20 2b 3d 0a 20 20 20 20 20 20 20 20 28 20 62 69 74 5f 6d 6f 64 65 6c obability.+=.........(.bit_model
4a60 5f 74 6f 74 61 6c 20 2d 20 62 6d 2e 70 72 6f 62 61 62 69 6c 69 74 79 20 29 20 3e 3e 20 62 69 74 _total.-.bm.probability.).>>.bit
4a80 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
4aa0 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.......{......
4ac0 20 63 6f 64 65 20 2d 3d 20 62 6f 75 6e 64 3b 0a 20 20 20 20 20 20 72 61 6e 67 65 20 2d 3d 20 62 .code.-=.bound;.......range.-=.b
4ae0 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
4b00 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
4b20 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;.......}....
4b40 20 7d 0a 0a 20 20 76 6f 69 64 20 64 65 63 6f 64 65 5f 73 79 6d 62 6f 6c 5f 62 69 74 28 20 42 69 .}....void.decode_symbol_bit(.Bi
4b60 74 5f 6d 6f 64 65 6c 20 26 20 62 6d 2c 20 75 6e 73 69 67 6e 65 64 20 26 20 73 79 6d 62 6f 6c 20 t_model.&.bm,.unsigned.&.symbol.
4b80 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 73 79 6d ).....{.....normalize();.....sym
4ba0 62 6f 6c 20 3c 3c 3d 20 31 3b 0a 20 20 20 20 63 6f 6e 73 74 20 75 69 6e 74 33 32 5f 74 20 62 6f bol.<<=.1;.....const.uint32_t.bo
4bc0 75 6e 64 20 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 und.=.(.range.>>.bit_model_total
4be0 5f 62 69 74 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 _bits.).*.bm.probability;.....if
4c00 28 20 63 6f 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 (.code.<.bound.).......{.......r
4c20 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 69 6c 69 ange.=.bound;.......bm.probabili
4c40 74 79 20 2b 3d 0a 20 20 20 20 20 20 20 20 28 20 62 69 74 5f 6d 6f 64 65 6c 5f 74 6f 74 61 6c 20 ty.+=.........(.bit_model_total.
4c60 2d 20 62 6d 2e 70 72 6f 62 61 62 69 6c 69 74 79 20 29 20 3e 3e 20 62 69 74 5f 6d 6f 64 65 6c 5f -.bm.probability.).>>.bit_model_
4c80 6d 6f 76 65 5f 62 69 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 move_bits;.......}.....else.....
4ca0 20 20 7b 0a 20 20 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 72 ..{.......code.-=.bound;.......r
4cc0 61 6e 67 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 61 62 69 6c ange.-=.bound;.......bm.probabil
4ce0 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 5f 6d 6f 64 ity.-=.bm.probability.>>.bit_mod
4d00 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 7c 3d 20 31 3b el_move_bits;.......symbol.|=.1;
4d20 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 76 6f 69 64 20 64 65 63 6f 64 65 5f 73 79 .......}.....}....void.decode_sy
4d40 6d 62 6f 6c 5f 62 69 74 5f 72 65 76 65 72 73 65 64 28 20 42 69 74 5f 6d 6f 64 65 6c 20 26 20 62 mbol_bit_reversed(.Bit_model.&.b
4d60 6d 2c 20 75 6e 73 69 67 6e 65 64 20 26 20 6d 6f 64 65 6c 2c 0a 20 20 20 20 20 20 20 20 20 20 20 m,.unsigned.&.model,............
4d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 6e 73 69 67 6e 65 64 ........................unsigned
4da0 20 26 20 73 79 6d 62 6f 6c 2c 20 63 6f 6e 73 74 20 69 6e 74 20 69 20 29 0a 20 20 20 20 7b 0a 20 .&.symbol,.const.int.i.).....{..
4dc0 20 20 20 6e 6f 72 6d 61 6c 69 7a 65 28 29 3b 0a 20 20 20 20 6d 6f 64 65 6c 20 3c 3c 3d 20 31 3b ...normalize();.....model.<<=.1;
4de0 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 3d 20 28 20 72 61 .....const.uint32_t.bound.=.(.ra
4e00 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 73 20 29 20 2a 20 nge.>>.bit_model_total_bits.).*.
4e20 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 64 65 20 3c 20 62 bm.probability;.....if(.code.<.b
4e40 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 20 3d 20 62 6f 75 ound.).......{.......range.=.bou
4e60 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 3d 0a 20 20 20 20 nd;.......bm.probability.+=.....
4e80 20 20 20 20 28 20 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 ....(.bit_model_total.-.bm.proba
4ea0 62 69 6c 69 74 79 20 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 bility.).>>.bit_model_move_bits;
4ec0 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 20 .......}.....else.......{.......
4ee0 63 6f 64 65 20 2d 3d 20 62 6f 75 6e 64 3b 0a 20 20 20 20 20 20 72 61 6e 67 65 20 2d 3d 20 62 6f code.-=.bound;.......range.-=.bo
4f00 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 2e und;.......bm.probability.-=.bm.
4f20 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 69 probability.>>.bit_model_move_bi
4f40 74 73 3b 0a 20 20 20 20 20 20 6d 6f 64 65 6c 20 7c 3d 20 31 3b 0a 20 20 20 20 20 20 73 79 6d 62 ts;.......model.|=.1;.......symb
4f60 6f 6c 20 7c 3d 20 31 20 3c 3c 20 69 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 75 ol.|=.1.<<.i;.......}.....}....u
4f80 6e 73 69 67 6e 65 64 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 nsigned.decode_tree6(.Bit_model.
4fa0 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 20 73 79 6d 62 6f 6c bm[].).....{.....unsigned.symbol
4fc0 20 3d 20 31 3b 0a 20 20 20 20 64 65 63 6f 64 65 5f 73 79 6d 62 6f 6c 5f 62 69 74 28 20 62 6d 5b .=.1;.....decode_symbol_bit(.bm[
4fe0 73 79 6d 62 6f 6c 5d 2c 20 73 79 6d 62 6f 6c 20 29 3b 0a 20 20 20 20 64 65 63 6f 64 65 5f 73 79 symbol],.symbol.);.....decode_sy
5000 6d 62 6f 6c 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 2c 20 73 79 6d 62 6f 6c 20 29 3b 0a mbol_bit(.bm[symbol],.symbol.);.
5020 20 20 20 20 64 65 63 6f 64 65 5f 73 79 6d 62 6f 6c 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c ....decode_symbol_bit(.bm[symbol
5040 5d 2c 20 73 79 6d 62 6f 6c 20 29 3b 0a 20 20 20 20 64 65 63 6f 64 65 5f 73 79 6d 62 6f 6c 5f 62 ],.symbol.);.....decode_symbol_b
5060 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 2c 20 73 79 6d 62 6f 6c 20 29 3b 0a 20 20 20 20 64 65 it(.bm[symbol],.symbol.);.....de
5080 63 6f 64 65 5f 73 79 6d 62 6f 6c 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 2c 20 73 79 6d code_symbol_bit(.bm[symbol],.sym
50a0 62 6f 6c 20 29 3b 0a 20 20 20 20 64 65 63 6f 64 65 5f 73 79 6d 62 6f 6c 5f 62 69 74 28 20 62 6d bol.);.....decode_symbol_bit(.bm
50c0 5b 73 79 6d 62 6f 6c 5d 2c 20 73 79 6d 62 6f 6c 20 29 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 73 [symbol],.symbol.);.....return.s
50e0 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 20 ymbol.&.0x3F;.....}....unsigned.
5100 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 20 decode_tree8(.Bit_model.bm[].)..
5120 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 20 ...{.....unsigned.symbol.=.1;...
5140 20 20 64 65 63 6f 64 65 5f 73 79 6d 62 6f 6c 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 2c ..decode_symbol_bit(.bm[symbol],
5160 20 73 79 6d 62 6f 6c 20 29 3b 0a 20 20 20 20 64 65 63 6f 64 65 5f 73 79 6d 62 6f 6c 5f 62 69 74 .symbol.);.....decode_symbol_bit
5180 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 2c 20 73 79 6d 62 6f 6c 20 29 3b 0a 20 20 20 20 64 65 63 6f (.bm[symbol],.symbol.);.....deco
51a0 64 65 5f 73 79 6d 62 6f 6c 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 2c 20 73 79 6d 62 6f de_symbol_bit(.bm[symbol],.symbo
51c0 6c 20 29 3b 0a 20 20 20 20 64 65 63 6f 64 65 5f 73 79 6d 62 6f 6c 5f 62 69 74 28 20 62 6d 5b 73 l.);.....decode_symbol_bit(.bm[s
51e0 79 6d 62 6f 6c 5d 2c 20 73 79 6d 62 6f 6c 20 29 3b 0a 20 20 20 20 64 65 63 6f 64 65 5f 73 79 6d ymbol],.symbol.);.....decode_sym
5200 62 6f 6c 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 2c 20 73 79 6d 62 6f 6c 20 29 3b 0a 20 bol_bit(.bm[symbol],.symbol.);..
5220 20 20 20 64 65 63 6f 64 65 5f 73 79 6d 62 6f 6c 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d ...decode_symbol_bit(.bm[symbol]
5240 2c 20 73 79 6d 62 6f 6c 20 29 3b 0a 20 20 20 20 64 65 63 6f 64 65 5f 73 79 6d 62 6f 6c 5f 62 69 ,.symbol.);.....decode_symbol_bi
5260 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 2c 20 73 79 6d 62 6f 6c 20 29 3b 0a 20 20 20 20 64 65 63 t(.bm[symbol],.symbol.);.....dec
5280 6f 64 65 5f 73 79 6d 62 6f 6c 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 2c 20 73 79 6d 62 ode_symbol_bit(.bm[symbol],.symb
52a0 6f 6c 20 29 3b 0a 20 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 ol.);.....return.symbol.&.0xFF;.
52c0 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 65 5f 72 65 ....}....unsigned.decode_tree_re
52e0 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 74 20 69 6e versed(.Bit_model.bm[],.const.in
5300 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 6e 65 64 20 t.num_bits.).....{.....unsigned.
5320 6d 6f 64 65 6c 20 3d 20 31 3b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 73 79 6d 62 6f 6c 20 3d model.=.1;.....unsigned.symbol.=
5340 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 6e 75 6d 5f .0;.....for(.int.i.=.0;.i.<.num_
5360 62 69 74 73 3b 20 2b 2b 69 20 29 0a 20 20 20 20 20 20 64 65 63 6f 64 65 5f 73 79 6d 62 6f 6c 5f bits;.++i.).......decode_symbol_
5380 62 69 74 5f 72 65 76 65 72 73 65 64 28 20 62 6d 5b 6d 6f 64 65 6c 5d 2c 20 6d 6f 64 65 6c 2c 20 bit_reversed(.bm[model],.model,.
53a0 73 79 6d 62 6f 6c 2c 20 69 20 29 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 73 79 6d 62 6f 6c 3b 0a symbol,.i.);.....return.symbol;.
53c0 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 65 5f 72 65 ....}....unsigned.decode_tree_re
53e0 76 65 72 73 65 64 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 versed4(.Bit_model.bm[].).....{.
5400 20 20 20 20 75 6e 73 69 67 6e 65 64 20 6d 6f 64 65 6c 20 3d 20 31 3b 0a 20 20 20 20 75 6e 73 69 ....unsigned.model.=.1;.....unsi
5420 67 6e 65 64 20 73 79 6d 62 6f 6c 20 3d 20 30 3b 0a 20 20 20 20 64 65 63 6f 64 65 5f 73 79 6d 62 gned.symbol.=.0;.....decode_symb
5440 6f 6c 5f 62 69 74 5f 72 65 76 65 72 73 65 64 28 20 62 6d 5b 6d 6f 64 65 6c 5d 2c 20 6d 6f 64 65 ol_bit_reversed(.bm[model],.mode
5460 6c 2c 20 73 79 6d 62 6f 6c 2c 20 30 20 29 3b 0a 20 20 20 20 64 65 63 6f 64 65 5f 73 79 6d 62 6f l,.symbol,.0.);.....decode_symbo
5480 6c 5f 62 69 74 5f 72 65 76 65 72 73 65 64 28 20 62 6d 5b 6d 6f 64 65 6c 5d 2c 20 6d 6f 64 65 6c l_bit_reversed(.bm[model],.model
54a0 2c 20 73 79 6d 62 6f 6c 2c 20 31 20 29 3b 0a 20 20 20 20 64 65 63 6f 64 65 5f 73 79 6d 62 6f 6c ,.symbol,.1.);.....decode_symbol
54c0 5f 62 69 74 5f 72 65 76 65 72 73 65 64 28 20 62 6d 5b 6d 6f 64 65 6c 5d 2c 20 6d 6f 64 65 6c 2c _bit_reversed(.bm[model],.model,
54e0 20 73 79 6d 62 6f 6c 2c 20 32 20 29 3b 0a 20 20 20 20 64 65 63 6f 64 65 5f 73 79 6d 62 6f 6c 5f .symbol,.2.);.....decode_symbol_
5500 62 69 74 5f 72 65 76 65 72 73 65 64 28 20 62 6d 5b 6d 6f 64 65 6c 5d 2c 20 6d 6f 64 65 6c 2c 20 bit_reversed(.bm[model],.model,.
5520 73 79 6d 62 6f 6c 2c 20 33 20 29 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 73 79 6d 62 6f 6c 3b 0a symbol,.3.);.....return.symbol;.
5540 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 63 68 65 64 ....}....unsigned.decode_matched
5560 28 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5b 5d 2c 20 75 6e 73 69 67 6e 65 64 20 6d 61 74 63 68 (.Bit_model.bm[],.unsigned.match
5580 5f 62 79 74 65 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 42 69 74 5f 6d 6f 64 65 6c 20 2a 20 63 6f _byte.).....{.....Bit_model.*.co
55a0 6e 73 74 20 62 6d 31 20 3d 20 62 6d 20 2b 20 30 78 31 30 30 3b 0a 20 20 20 20 75 6e 73 69 67 6e nst.bm1.=.bm.+.0x100;.....unsign
55c0 65 64 20 73 79 6d 62 6f 6c 20 3d 20 31 3b 0a 20 20 20 20 77 68 69 6c 65 28 20 73 79 6d 62 6f 6c ed.symbol.=.1;.....while(.symbol
55e0 20 3c 20 30 78 31 30 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 .<.0x100.).......{.......const.u
5600 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
5620 20 3c 3c 3d 20 31 20 29 20 26 20 30 78 31 30 30 3b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 62 6f .<<=.1.).&.0x100;.......const.bo
5640 6f 6c 20 62 69 74 20 3d 20 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 31 5b 73 79 6d 62 6f 6c 2b ol.bit.=.decode_bit(.bm1[symbol+
5660 6d 61 74 63 68 5f 62 69 74 5d 20 29 3b 0a 20 20 20 20 20 20 73 79 6d 62 6f 6c 20 3c 3c 3d 20 31 match_bit].);.......symbol.<<=.1
5680 3b 20 73 79 6d 62 6f 6c 20 7c 3d 20 62 69 74 3b 0a 20 20 20 20 20 20 69 66 28 20 6d 61 74 63 68 ;.symbol.|=.bit;.......if(.match
56a0 5f 62 69 74 20 3e 3e 20 38 20 21 3d 20 62 69 74 20 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 _bit.>>.8.!=.bit.).........{....
56c0 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 20 64 65 63 .....while(.symbol.<.0x100.).dec
56e0 6f 64 65 5f 73 79 6d 62 6f 6c 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 2c 20 73 79 6d 62 ode_symbol_bit(.bm[symbol],.symb
5700 6f 6c 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 20 20 7d 0a 20 ol.);.........break;.........}..
5720 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 30 78 46 46 3b .....}.....return.symbol.&.0xFF;
5740 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 65 6e 28 20 4c .....}....unsigned.decode_len(.L
5760 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 73 5f 73 74 61 en_model.&.lm,.const.int.pos_sta
5780 74 65 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 42 69 74 5f 6d 6f 64 65 6c 20 2a 20 62 6d 3b 0a 20 te.).....{.....Bit_model.*.bm;..
57a0 20 20 20 75 6e 73 69 67 6e 65 64 20 6d 61 73 6b 2c 20 6f 66 66 73 65 74 2c 20 73 79 6d 62 6f 6c ...unsigned.mask,.offset,.symbol
57c0 20 3d 20 31 3b 0a 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 .=.1;......if(.decode_bit(.lm.ch
57e0 6f 69 63 65 31 20 29 20 3d 3d 20 30 20 29 0a 20 20 20 20 20 20 7b 20 62 6d 20 3d 20 6c 6d 2e 62 oice1.).==.0.).......{.bm.=.lm.b
5800 6d 5f 6c 6f 77 5b 70 6f 73 5f 73 74 61 74 65 5d 3b 20 6d 61 73 6b 20 3d 20 37 3b 20 6f 66 66 73 m_low[pos_state];.mask.=.7;.offs
5820 65 74 20 3d 20 30 3b 20 67 6f 74 6f 20 6c 65 6e 33 3b 20 7d 0a 20 20 20 20 69 66 28 20 64 65 63 et.=.0;.goto.len3;.}.....if(.dec
5840 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 20 20 20 ode_bit(.lm.choice2.).==.0.)....
5860 20 20 20 7b 20 62 6d 20 3d 20 6c 6d 2e 62 6d 5f 6d 69 64 5b 70 6f 73 5f 73 74 61 74 65 5d 3b 20 ...{.bm.=.lm.bm_mid[pos_state];.
5880 6d 61 73 6b 20 3d 20 37 3b 20 6f 66 66 73 65 74 20 3d 20 6c 65 6e 5f 6c 6f 77 5f 73 79 6d 62 6f mask.=.7;.offset.=.len_low_symbo
58a0 6c 73 3b 20 67 6f 74 6f 20 6c 65 6e 33 3b 20 7d 0a 20 20 20 20 62 6d 20 3d 20 6c 6d 2e 62 6d 5f ls;.goto.len3;.}.....bm.=.lm.bm_
58c0 68 69 67 68 3b 20 6d 61 73 6b 20 3d 20 30 78 46 46 3b 20 6f 66 66 73 65 74 20 3d 20 6c 65 6e 5f high;.mask.=.0xFF;.offset.=.len_
58e0 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 3b 0a 20 low_symbols.+.len_mid_symbols;..
5900 20 20 20 64 65 63 6f 64 65 5f 73 79 6d 62 6f 6c 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d ...decode_symbol_bit(.bm[symbol]
5920 2c 20 73 79 6d 62 6f 6c 20 29 3b 0a 20 20 20 20 64 65 63 6f 64 65 5f 73 79 6d 62 6f 6c 5f 62 69 ,.symbol.);.....decode_symbol_bi
5940 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 2c 20 73 79 6d 62 6f 6c 20 29 3b 0a 20 20 20 20 64 65 63 t(.bm[symbol],.symbol.);.....dec
5960 6f 64 65 5f 73 79 6d 62 6f 6c 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 2c 20 73 79 6d 62 ode_symbol_bit(.bm[symbol],.symb
5980 6f 6c 20 29 3b 0a 20 20 20 20 64 65 63 6f 64 65 5f 73 79 6d 62 6f 6c 5f 62 69 74 28 20 62 6d 5b ol.);.....decode_symbol_bit(.bm[
59a0 73 79 6d 62 6f 6c 5d 2c 20 73 79 6d 62 6f 6c 20 29 3b 0a 20 20 20 20 64 65 63 6f 64 65 5f 73 79 symbol],.symbol.);.....decode_sy
59c0 6d 62 6f 6c 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 2c 20 73 79 6d 62 6f 6c 20 29 3b 0a mbol_bit(.bm[symbol],.symbol.);.
59e0 6c 65 6e 33 3a 0a 20 20 20 20 64 65 63 6f 64 65 5f 73 79 6d 62 6f 6c 5f 62 69 74 28 20 62 6d 5b len3:.....decode_symbol_bit(.bm[
5a00 73 79 6d 62 6f 6c 5d 2c 20 73 79 6d 62 6f 6c 20 29 3b 0a 20 20 20 20 64 65 63 6f 64 65 5f 73 79 symbol],.symbol.);.....decode_sy
5a20 6d 62 6f 6c 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 2c 20 73 79 6d 62 6f 6c 20 29 3b 0a mbol_bit(.bm[symbol],.symbol.);.
5a40 20 20 20 20 64 65 63 6f 64 65 5f 73 79 6d 62 6f 6c 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c ....decode_symbol_bit(.bm[symbol
5a60 5d 2c 20 73 79 6d 62 6f 6c 20 29 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 28 20 73 79 6d 62 6f 6c ],.symbol.);.....return.(.symbol
5a80 20 26 20 6d 61 73 6b 20 29 20 2b 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 20 2b 20 6f 66 66 73 .&.mask.).+.min_match_len.+.offs
5aa0 65 74 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 et;.....}...};...class.LZ_decode
5ac0 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 72 74 69 r...{...unsigned.long.long.parti
5ae0 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 26 20 72 al_data_pos;...Range_decoder.&.r
5b00 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 61 72 79 dec;...const.unsigned.dictionary
5b20 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 65 72 3b _size;...uint8_t.*.const.buffer;
5b40 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 70 6f 73 .//.output.buffer...unsigned.pos
5b60 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 20 20 75 ;...//.current.pos.in.buffer...u
5b80 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 20 62 79 nsigned.stream_pos;..//.first.by
5ba0 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 75 69 6e te.not.yet.written.to.file...uin
5bc0 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 3b 09 09 t32_t.crc_;...const.int.outfd;..
5be0 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 6f 6f 6c //.output.file.descriptor...bool
5c00 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 61 74 61 .pos_wrapped;....void.flush_data
5c20 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 6e 73 74 ();...bool.verify_trailer(.const
5c40 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 20 20 75 .Pretty_print.&.pp.).const;....u
5c60 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 7b 20 72 int8_t.peek_prev().const.....{.r
5c80 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 20 3a 20 eturn.buffer[((pos.>.0).?.pos.:.
5ca0 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 74 38 5f dictionary_size)-1];.}....uint8_
5cc0 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 63 65 20 t.peek(.const.unsigned.distance.
5ce0 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 6e 65 64 ).const.....{.....const.unsigned
5d00 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 20 3a 20 .i.=.(.(.pos.>.distance.).?.0.:.
5d20 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 20 20 20 dictionary_size.).+.............
5d40 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 3b 0a 20 ...........pos.-.distance.-.1;..
5d60 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 20 76 6f ...return.buffer[i];.....}....vo
5d80 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 29 0a 20 id.put_byte(.const.uint8_t.b.)..
5da0 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 20 69 66 ...{.....buffer[pos].=.b;.....if
5dc0 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 66 6c 75 (.++pos.>=.dictionary_size.).flu
5de0 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 5f 62 6c sh_data();.....}....void.copy_bl
5e00 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 20 75 6e ock(.const.unsigned.distance,.un
5e20 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 65 64 20 signed.len.).....{.....unsigned.
5e40 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 63 65 20 lpos.=.pos,.i.=.lpos.-.distance.
5e60 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 20 20 69 -.1;.....bool.fast,.fast2;.....i
5e80 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 20 20 20 f(.lpos.>.distance.).......{....
5ea0 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 73 69 7a ...fast.=.(.len.<.dictionary_siz
5ec0 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 61 73 74 e.-.lpos.);.......fast2.=.(.fast
5ee0 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 7d 0a 20 .&&.len.<=.lpos.-.i.);.......}..
5f00 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 63 74 69 ...else.......{.......i.+=.dicti
5f20 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 6e 20 3c onary_size;.......fast.=.(.len.<
5f40 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 20 3d 3d .dictionary_size.-.i.);.//.(i.==
5f60 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 3d 20 28 .pos).may.happen.......fast2.=.(
5f80 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 20 20 20 .fast.&&.len.<=.i.-.lpos.);.....
5fa0 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 77 72 61 ..}.....if(.fast.).....//.no.wra
5fc0 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 20 20 20 p.......{.......pos.+=.len;.....
5fe0 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 6e 6f 20 ..if(.fast2.)....//.no.wrap,.no.
6000 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 62 75 66 overlap.........std::memcpy(.buf
6020 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 3b 0a 20 fer.+.lpos,.buffer.+.i,.len.);..
6040 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 3e 20 30 .....else.........for(.;.len.>.0
6060 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 66 66 65 ;.--len.).buffer[lpos++].=.buffe
6080 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 20 3b 20 r[i++];.......}.....else.for(.;.
60a0 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 20 20 62 len.>.0;.--len.).......{.......b
60c0 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 20 69 66 uffer[pos].=.buffer[i];.......if
60e0 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 66 6c 75 (.++pos.>=.dictionary_size.).flu
6100 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 69 63 74 sh_data();.......if(.++i.>=.dict
6120 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 20 20 20 ionary_size.).i.=.0;.......}....
6140 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 63 6f 64 .}....LZ_decoder(.const.LZ_decod
6160 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 74 65 0a er.&.);..//.declared.as.private.
6180 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 63 6f 64 ..void.operator=(.const.LZ_decod
61a0 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 74 65 0a er.&.);..//.declared.as.private.
61c0 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 64 65 63 .public:...LZ_decoder(.Range_dec
61e0 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 63 74 5f oder.&.rde,.const.unsigned.dict_
6200 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 20 20 20 size,.const.int.ofd.).....:.....
6220 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 65 63 28 partial_data_pos(.0.),.....rdec(
6240 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 64 69 63 .rde.),.....dictionary_size(.dic
6260 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 5f t_size.),.....buffer(.new.uint8_
6280 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 30 t[dictionary_size].),.....pos(.0
62a0 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 63 .),.....stream_pos(.0.),.....crc
62c0 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 6f 66 64 _(.0xFFFFFFFFU.),.....outfd(.ofd
62e0 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 20 20 20 .),.....pos_wrapped(.false.)....
6300 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 61 6c 73 .//.prev_byte.of.first.byte;.als
6320 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 6c 65 0a o.for.peek(.0.).on.corrupt.file.
6340 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 31 5d 20 ....{.buffer[dictionary_size-1].
6360 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 65 74 65 =.0;.}....~LZ_decoder().{.delete
6380 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 29 20 63 [].buffer;.}....unsigned.crc().c
63a0 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 46 46 55 onst.{.return.crc_.^.0xFFFFFFFFU
63c0 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
63e0 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_
6400 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 64 65 5f data_pos.+.pos;.}....int.decode_
6420 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 70 70 20 member(.const.Pretty_print.&.pp.
6440 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 00 );...};.........................
6460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
64a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
64c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
64e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
65a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
65c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
65e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6600 6c 7a 69 70 2d 31 2e 32 33 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.23/encoder_base.cc.......
6620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
6680 30 30 31 34 31 36 35 00 31 34 31 37 32 36 34 35 36 32 35 00 30 31 35 33 35 36 00 20 30 00 00 00 0014165.14172645625.015356..0...
66a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
66c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
66e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6700 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
6720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
6740 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
6760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6800 2f 2a 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 /*.Lzip.-.LZMA.lossless.data.com
6820 70 72 65 73 73 6f 72 0a 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d 32 30 pressor....Copyright.(C).2008-20
6840 32 32 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 54 68 69 73 20 70 22.Antonio.Diaz.Diaz......This.p
6860 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 63 61 6e rogram.is.free.software:.you.can
6880 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 79 0a 20 .redistribute.it.and/or.modify..
68a0 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 47 4e 55 20 ..it.under.the.terms.of.the.GNU.
68c0 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 62 6c 69 73 General.Public.License.as.publis
68e0 68 65 64 20 62 79 0a 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e hed.by....the.Free.Software.Foun
6900 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 20 74 68 65 20 dation,.either.version.2.of.the.
6920 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 License,.or....(at.your.option).
6940 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 54 68 69 73 20 70 72 6f 67 any.later.version......This.prog
6960 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 70 65 20 74 ram.is.distributed.in.the.hope.t
6980 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 62 75 74 20 57 49 hat.it.will.be.useful,....but.WI
69a0 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 65 76 65 6e THOUT.ANY.WARRANTY;.without.even
69c0 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 4d 45 52 43 .the.implied.warranty.of....MERC
69e0 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
6a00 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 0a 20 20 20 47 4e 55 TICULAR.PURPOSE...See.the....GNU
6a20 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 72 65 .General.Public.License.for.more
6a40 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 .details......You.should.have.re
6a60 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 6e 65 72 61 6c ceived.a.copy.of.the.GNU.General
6a80 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 .Public.License....along.with.th
6aa0 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 3c 68 74 74 70 3a 2f is.program...If.not,.see.<http:/
6ac0 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 2a 2f 0a 0a 23 64 65 /www.gnu.org/licenses/>..*/..#de
6ae0 66 69 6e 65 20 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 36 34 0a 0a 23 69 6e 63 6c fine._FILE_OFFSET_BITS.64..#incl
6b00 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 65 72 72 6e 6f ude.<algorithm>.#include.<cerrno
6b20 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 65 20 3c 63 >.#include.<cstdlib>.#include.<c
6b40 73 74 72 69 6e 67 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 6e 65 77 3e 0a 23 69 6e 63 6c 75 64 65 20 string>.#include.<new>.#include.
6b60 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 3e 0a 23 69 6e 63 6c <string>.#include.<vector>.#incl
6b80 75 64 65 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 ude.<stdint.h>..#include."lzip.h
6ba0 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 0a 0a 44 69 ".#include."encoder_base.h"...Di
6bc0 73 5f 73 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 s_slots.dis_slots;.Prob_prices.p
6be0 72 6f 62 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 rob_prices;...bool.Matchfinder_b
6c00 61 73 65 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 ase::read_block()...{...if(.!at_
6c20 73 74 72 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 stream_end.&&.stream_pos.<.buffe
6c40 72 5f 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 73 69 7a r_size.).....{.....const.int.siz
6c60 65 20 3d 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 e.=.buffer_size.-.stream_pos;...
6c80 20 20 63 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 ..const.int.rd.=.readblock(.infd
6ca0 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.);..
6cc0 20 20 20 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 ...stream_pos.+=.rd;.....if(.rd.
6ce0 21 3d 20 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 !=.size.&&.errno.).throw.Error(.
6d00 22 52 65 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 "Read.error".);.....if(.rd.<.siz
6d20 65 20 29 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 e.).{.at_stream_end.=.true;.pos_
6d40 6c 69 6d 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 limit.=.buffer_size;.}.....}...r
6d60 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
6d80 69 64 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 69 7a 65 5f 70 id.Matchfinder_base::normalize_p
6da0 6f 73 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 70 6f 73 20 os()...{...if(.pos.>.stream_pos.
6dc0 29 0a 20 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 ).....internal_error(."pos.>.str
6de0 65 61 6d 5f 70 6f 73 20 69 6e 20 6e 6f 72 6d 61 6c 69 7a 65 5f 70 6f 73 2e 22 20 29 3b 0a 20 20 eam_pos.in.normalize_pos.".);...
6e00 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 20 20 20 20 2f if(.!at_stream_end.).....{...../
6e20 2f 20 6f 66 66 73 65 74 20 69 73 20 69 6e 74 33 32 5f 74 20 66 6f 72 20 74 68 65 20 73 74 64 3a /.offset.is.int32_t.for.the.std:
6e40 3a 6d 69 6e 20 62 65 6c 6f 77 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 33 32 5f 74 20 6f 66 66 :min.below.....const.int32_t.off
6e60 73 65 74 20 3d 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 set.=.pos.-.before_size.-.dictio
6e80 6e 61 72 79 5f 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 nary_size;.....const.int.size.=.
6ea0 73 74 72 65 61 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 stream_pos.-.offset;.....std::me
6ec0 6d 6d 6f 76 65 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 mmove(.buffer,.buffer.+.offset,.
6ee0 73 69 7a 65 20 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 size.);.....partial_data_pos.+=.
6f00 6f 66 66 73 65 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 offset;.....pos.-=.offset;..//.p
6f20 6f 73 20 3d 20 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 os.=.before_size.+.dictionary_si
6f40 7a 65 0a 20 20 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 ze.....stream_pos.-=.offset;....
6f60 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 70 72 65 76 5f 70 6f .for(.int.i.=.0;.i.<.num_prev_po
6f80 73 69 74 69 6f 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 sitions;.++i.).......prev_positi
6fa0 6f 6e 73 5b 69 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 ons[i].-=.std::min(.prev_positio
6fc0 6e 73 5b 69 5d 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 ns[i],.offset.);.....for(.int.i.
6fe0 3d 20 30 3b 20 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 =.0;.i.<.pos_array_size;.++i.)..
7000 20 20 20 20 20 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 .....pos_array[i].-=.std::min(.p
7020 6f 73 5f 61 72 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 os_array[i],.offset.);.....read_
7040 62 6c 6f 63 6b 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 block();.....}...}...Matchfinder
7060 5f 62 61 73 65 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 _base::Matchfinder_base(.const.i
7080 6e 74 20 62 65 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 nt.before_size_,................
70a0 20 20 20 20 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 .....const.int.dict_size,.const.
70c0 69 6e 74 20 61 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 int.after_size,.................
70e0 20 20 20 20 63 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 ....const.int.dict_factor,.const
7100 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 5f 2c 0a 20 20 20 20 .int.num_prev_positions23_,.....
7120 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 6f 73 5f 61 72 ................const.int.pos_ar
7140 72 61 79 5f 66 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 ray_factor,.const.int.ifd.)...:.
7160 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 62 65 66 6f 72 ..partial_data_pos(.0.),...befor
7180 65 5f 73 69 7a 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 e_size(.before_size_.),...pos(.0
71a0 20 29 2c 0a 20 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 .),...cyclic_pos(.0.),...stream_
71c0 70 6f 73 28 20 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 pos(.0.),...num_prev_positions23
71e0 28 20 6e 75 6d 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 (.num_prev_positions23_.),...inf
7200 64 28 20 69 66 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 d(.ifd.),...at_stream_end(.false
7220 20 29 0a 20 20 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 .)...{...const.int.buffer_size_l
7240 69 6d 69 74 20 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 imit.=.....(.dict_factor.*.dict_
7260 73 69 7a 65 20 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 size.).+.before_size.+.after_siz
7280 65 3b 0a 20 20 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 e;...buffer_size.=.std::max(.655
72a0 33 36 2c 20 64 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 36,.dict_size.);...buffer.=.(uin
72c0 74 38 5f 74 20 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 t8_t.*)std::malloc(.buffer_size.
72e0 29 3b 0a 20 20 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 );...if(.!buffer.).throw.std::ba
7300 64 5f 61 6c 6c 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 d_alloc();...if(.read_block().&&
7320 20 21 61 74 5f 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 .!at_stream_end.&&.buffer_size.<
7340 20 62 75 66 66 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 75 .buffer_size_limit.).....{.....u
7360 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.*)
7380 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
73a0 65 5f 6c 69 6d 69 74 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 e_limit.);.....if(.!tmp.).{.std:
73c0 3a 66 72 65 65 28 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 :free(.buffer.);.throw.std::bad_
73e0 61 6c 6c 6f 63 28 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 alloc();.}.....buffer.=.tmp;....
7400 20 62 75 66 66 65 72 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 .buffer_size.=.buffer_size_limit
7420 3b 0a 20 20 20 20 72 65 61 64 5f 62 6c 6f 63 6b 28 29 3b 0a 20 20 20 20 7d 0a 20 20 69 66 28 20 ;.....read_block();.....}...if(.
7440 61 74 5f 73 74 72 65 61 6d 5f 65 6e 64 20 26 26 20 73 74 72 65 61 6d 5f 70 6f 73 20 3c 20 64 69 at_stream_end.&&.stream_pos.<.di
7460 63 74 5f 73 69 7a 65 20 29 0a 20 20 20 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 3d 20 ct_size.).....dictionary_size.=.
7480 73 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 std::max(.(int)min_dictionary_si
74a0 7a 65 2c 20 73 74 72 65 61 6d 5f 70 6f 73 20 29 3b 0a 20 20 65 6c 73 65 0a 20 20 20 20 64 69 63 ze,.stream_pos.);...else.....dic
74c0 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 3d 20 64 69 63 74 5f 73 69 7a 65 3b 0a 20 20 70 6f 73 5f tionary_size.=.dict_size;...pos_
74e0 6c 69 6d 69 74 20 3d 20 62 75 66 66 65 72 5f 73 69 7a 65 3b 0a 20 20 69 66 28 20 21 61 74 5f 73 limit.=.buffer_size;...if(.!at_s
7500 74 72 65 61 6d 5f 65 6e 64 20 29 20 70 6f 73 5f 6c 69 6d 69 74 20 2d 3d 20 61 66 74 65 72 5f 73 tream_end.).pos_limit.-=.after_s
7520 69 7a 65 3b 0a 20 20 75 6e 73 69 67 6e 65 64 20 73 69 7a 65 20 3d 20 31 20 3c 3c 20 73 74 64 3a ize;...unsigned.size.=.1.<<.std:
7540 3a 6d 61 78 28 20 31 36 2c 20 72 65 61 6c 5f 62 69 74 73 28 20 64 69 63 74 69 6f 6e 61 72 79 5f :max(.16,.real_bits(.dictionary_
7560 73 69 7a 65 20 2d 20 31 20 29 20 2d 20 32 20 29 3b 0a 20 20 69 66 28 20 64 69 63 74 69 6f 6e 61 size.-.1.).-.2.);...if(.dictiona
7580 72 79 5f 73 69 7a 65 20 3e 20 31 20 3c 3c 20 32 36 20 29 20 73 69 7a 65 20 3e 3e 3d 20 31 3b 09 ry_size.>.1.<<.26.).size.>>=.1;.
75a0 09 2f 2f 20 36 34 20 4d 69 42 0a 20 20 6b 65 79 34 5f 6d 61 73 6b 20 3d 20 73 69 7a 65 20 2d 20 .//.64.MiB...key4_mask.=.size.-.
75c0 31 3b 09 09 09 2f 2f 20 69 6e 63 72 65 61 73 65 73 20 77 69 74 68 20 64 69 63 74 69 6f 6e 61 72 1;...//.increases.with.dictionar
75e0 79 20 73 69 7a 65 0a 20 20 73 69 7a 65 20 2b 3d 20 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 69 74 69 y.size...size.+=.num_prev_positi
7600 6f 6e 73 32 33 3b 0a 20 20 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 20 3d 20 73 69 ons23;...num_prev_positions.=.si
7620 7a 65 3b 0a 0a 20 20 70 6f 73 5f 61 72 72 61 79 5f 73 69 7a 65 20 3d 20 70 6f 73 5f 61 72 72 61 ze;....pos_array_size.=.pos_arra
7640 79 5f 66 61 63 74 6f 72 20 2a 20 28 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 2b 20 31 y_factor.*.(.dictionary_size.+.1
7660 20 29 3b 0a 20 20 73 69 7a 65 20 2b 3d 20 70 6f 73 5f 61 72 72 61 79 5f 73 69 7a 65 3b 0a 20 20 .);...size.+=.pos_array_size;...
7680 69 66 28 20 73 69 7a 65 20 2a 20 73 69 7a 65 6f 66 20 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 if(.size.*.sizeof.prev_positions
76a0 5b 30 5d 20 3c 3d 20 73 69 7a 65 20 29 20 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 20 3d 20 30 [0].<=.size.).prev_positions.=.0
76c0 3b 0a 20 20 65 6c 73 65 20 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 20 3d 20 6e 65 77 28 20 73 ;...else.prev_positions.=.new(.s
76e0 74 64 3a 3a 6e 6f 74 68 72 6f 77 20 29 20 69 6e 74 33 32 5f 74 5b 73 69 7a 65 5d 3b 0a 20 20 69 td::nothrow.).int32_t[size];...i
7700 66 28 20 21 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 20 29 20 7b 20 73 74 64 3a 3a 66 72 65 65 f(.!prev_positions.).{.std::free
7720 28 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 (.buffer.);.throw.std::bad_alloc
7740 28 29 3b 20 7d 0a 20 20 70 6f 73 5f 61 72 72 61 79 20 3d 20 70 72 65 76 5f 70 6f 73 69 74 69 6f ();.}...pos_array.=.prev_positio
7760 6e 73 20 2b 20 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 3b 0a 20 20 66 6f 72 28 20 ns.+.num_prev_positions;...for(.
7780 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 6e int.i.=.0;.i.<.num_prev_position
77a0 73 3b 20 2b 2b 69 20 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 s;.++i.).prev_positions[i].=.0;.
77c0 20 20 7d 0a 0a 0a 76 6f 69 64 20 4d 61 74 63 68 66 69 6e 64 65 72 5f 62 61 73 65 3a 3a 72 65 73 ..}...void.Matchfinder_base::res
77e0 65 74 28 29 0a 20 20 7b 0a 20 20 69 66 28 20 73 74 72 65 61 6d 5f 70 6f 73 20 3e 20 70 6f 73 20 et()...{...if(.stream_pos.>.pos.
7800 29 0a 20 20 20 20 73 74 64 3a 3a 6d 65 6d 6d 6f 76 65 28 20 62 75 66 66 65 72 2c 20 62 75 66 66 ).....std::memmove(.buffer,.buff
7820 65 72 20 2b 20 70 6f 73 2c 20 73 74 72 65 61 6d 5f 70 6f 73 20 2d 20 70 6f 73 20 29 3b 0a 20 20 er.+.pos,.stream_pos.-.pos.);...
7840 70 61 72 74 69 61 6c 5f 64 61 74 61 5f 70 6f 73 20 3d 20 30 3b 0a 20 20 73 74 72 65 61 6d 5f 70 partial_data_pos.=.0;...stream_p
7860 6f 73 20 2d 3d 20 70 6f 73 3b 0a 20 20 70 6f 73 20 3d 20 30 3b 0a 20 20 63 79 63 6c 69 63 5f 70 os.-=.pos;...pos.=.0;...cyclic_p
7880 6f 73 20 3d 20 30 3b 0a 20 20 72 65 61 64 5f 62 6c 6f 63 6b 28 29 3b 0a 20 20 69 66 28 20 61 74 os.=.0;...read_block();...if(.at
78a0 5f 73 74 72 65 61 6d 5f 65 6e 64 20 26 26 20 73 74 72 65 61 6d 5f 70 6f 73 20 3c 20 64 69 63 74 _stream_end.&&.stream_pos.<.dict
78c0 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 64 69 63 74 69 6f 6e 61 ionary_size.).....{.....dictiona
78e0 72 79 5f 73 69 7a 65 20 3d 20 73 74 64 3a 3a 6d 61 78 28 20 28 69 6e 74 29 6d 69 6e 5f 64 69 63 ry_size.=.std::max(.(int)min_dic
7900 74 69 6f 6e 61 72 79 5f 73 69 7a 65 2c 20 73 74 72 65 61 6d 5f 70 6f 73 20 29 3b 0a 20 20 20 20 tionary_size,.stream_pos.);.....
7920 69 6e 74 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 65 int.size.=.1.<<.std::max(.16,.re
7940 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 2d al_bits(.dictionary_size.-.1.).-
7960 20 32 20 29 3b 0a 20 20 20 20 69 66 28 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 3e 20 .2.);.....if(.dictionary_size.>.
7980 31 20 3c 3c 20 32 36 20 29 20 73 69 7a 65 20 3e 3e 3d 20 31 3b 09 09 2f 2f 20 36 34 20 4d 69 42 1.<<.26.).size.>>=.1;..//.64.MiB
79a0 0a 20 20 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 20 20 73 .....key4_mask.=.size.-.1;.....s
79c0 69 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 20 ize.+=.num_prev_positions23;....
79e0 20 6e 75 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 20 20 20 20 .num_prev_positions.=.size;.....
7a00 70 6f 73 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 pos_array.=.prev_positions.+.num
7a20 5f 70 72 65 76 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 _prev_positions;.....}...for(.in
7a40 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 6e 73 3b t.i.=.0;.i.<.num_prev_positions;
7a60 20 2b 2b 69 20 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 .++i.).prev_positions[i].=.0;...
7a80 7d 0a 0a 0a 76 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 }...void.Range_encoder::flush_da
7aa0 74 61 28 29 0a 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 ta()...{...if(.pos.>.0.).....{..
7ac0 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(
7ae0 20 6f 75 74 66 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 .outfd,.buffer,.pos.).!=.pos.)..
7b00 20 20 20 20 20 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 .....throw.Error(."Write.error".
7b20 29 3b 0a 20 20 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 );.....partial_member_pos.+=.pos
7b40 3b 0a 20 20 20 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 ;.....pos.=.0;.....show_cprogres
7b60 73 28 29 3b 0a 20 20 20 20 7d 0a 20 20 7d 0a 0a 0a 2f 2f 20 45 6e 64 20 4f 66 20 53 74 72 65 61 s();.....}...}...//.End.Of.Strea
7b80 6d 20 6d 61 72 6b 65 72 20 3d 3e 20 28 64 69 73 20 3d 3d 20 30 78 46 46 46 46 46 46 46 46 55 2c m.marker.=>.(dis.==.0xFFFFFFFFU,
7ba0 20 6c 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 .len.==.min_match_len).void.LZ_e
7bc0 6e 63 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 ncoder_base::full_flush(.const.S
7be0 74 61 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 tate.state.)...{...const.int.pos
7c00 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 6f 73 5f 73 _state.=.data_position().&.pos_s
7c20 74 61 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 tate_mask;...renc.encode_bit(.bm
7c40 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.);
7c60 0a 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 74 61 74 65 ...renc.encode_bit(.bm_rep[state
7c80 28 29 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 ()],.0.);...encode_pair(.0xFFFFF
7ca0 46 46 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 FFFU,.min_match_len,.pos_state.)
7cc0 3b 0a 20 20 72 65 6e 63 2e 66 6c 75 73 68 28 29 3b 0a 20 20 4c 7a 69 70 5f 74 72 61 69 6c 65 72 ;...renc.flush();...Lzip_trailer
7ce0 20 74 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 .trailer;...trailer.data_crc(.cr
7d00 63 28 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 c().);...trailer.data_size(.data
7d20 5f 70 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 _position().);...trailer.member_
7d40 73 69 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 4c size(.renc.member_position().+.L
7d60 7a 69 70 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 zip_trailer::size.);...for(.int.
7d80 69 20 3d 20 30 3b 20 69 20 3c 20 4c 7a 69 70 5f 74 72 61 69 6c 65 72 3a 3a 73 69 7a 65 3b 20 2b i.=.0;.i.<.Lzip_trailer::size;.+
7da0 2b 69 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 +i.).....renc.put_byte(.trailer.
7dc0 64 61 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 data[i].);...renc.flush_data();.
7de0 20 20 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 ..}...void.LZ_encoder_base::rese
7e00 74 28 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 t()...{...Matchfinder_base::rese
7e20 74 28 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 t();...crc_.=.0xFFFFFFFFU;...bm_
7e40 6c 69 74 65 72 61 6c 5b 30 5d 5b 30 5d 2e 72 65 73 65 74 28 20 28 31 20 3c 3c 20 6c 69 74 65 72 literal[0][0].reset(.(1.<<.liter
7e60 61 6c 5f 63 6f 6e 74 65 78 74 5f 62 69 74 73 29 20 2a 20 30 78 33 30 30 20 29 3b 0a 20 20 62 6d al_context_bits).*.0x300.);...bm
7e80 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
7ea0 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
7ec0 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[
7ee0 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_
7f00 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.);.
7f20 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
7f40 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
7f60 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
7f80 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.*
7fa0 20 28 31 20 3c 3c 20 64 69 73 5f 73 6c 6f 74 5f 62 69 74 73 29 20 29 3b 0a 20 20 62 6d 5f 64 69 .(1.<<.dis_slot_bits).);...bm_di
7fc0 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 20 s[0].reset(.modeled_distances.-.
7fe0 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 5b end_dis_model.+.1.);...bm_align[
8000 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 61 0].reset(.dis_align_size.);...ma
8020 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 6e tch_len_model.reset();...rep_len
8040 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 69 _model.reset();...renc.reset(.di
8060 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 00 ctionary_size.);...}............
8080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
80a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
80c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
80e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
81a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
81c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
81e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8200 6c 7a 69 70 2d 31 2e 32 33 2f 6c 7a 69 70 5f 69 6e 64 65 78 2e 68 00 00 00 00 00 00 00 00 00 00 lzip-1.23/lzip_index.h..........
8220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
8280 30 30 30 36 30 31 34 00 31 34 31 37 32 36 34 35 36 32 35 00 30 31 34 37 34 36 00 20 30 00 00 00 0006014.14172645625.014746..0...
82a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
82c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
82e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8300 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
8320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
8340 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
8360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
83a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
83c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
83e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8400 2f 2a 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 /*.Lzip.-.LZMA.lossless.data.com
8420 70 72 65 73 73 6f 72 0a 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d 32 30 pressor....Copyright.(C).2008-20
8440 32 32 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 54 68 69 73 20 70 22.Antonio.Diaz.Diaz......This.p
8460 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 63 61 6e rogram.is.free.software:.you.can
8480 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 79 0a 20 .redistribute.it.and/or.modify..
84a0 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 47 4e 55 20 ..it.under.the.terms.of.the.GNU.
84c0 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 62 6c 69 73 General.Public.License.as.publis
84e0 68 65 64 20 62 79 0a 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e hed.by....the.Free.Software.Foun
8500 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 20 74 68 65 20 dation,.either.version.2.of.the.
8520 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 License,.or....(at.your.option).
8540 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 54 68 69 73 20 70 72 6f 67 any.later.version......This.prog
8560 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 70 65 20 74 ram.is.distributed.in.the.hope.t
8580 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 62 75 74 20 57 49 hat.it.will.be.useful,....but.WI
85a0 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 65 76 65 6e THOUT.ANY.WARRANTY;.without.even
85c0 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 4d 45 52 43 .the.implied.warranty.of....MERC
85e0 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
8600 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 0a 20 20 20 47 4e 55 TICULAR.PURPOSE...See.the....GNU
8620 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 72 65 .General.Public.License.for.more
8640 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 .details......You.should.have.re
8660 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 6e 65 72 61 6c ceived.a.copy.of.the.GNU.General
8680 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 .Public.License....along.with.th
86a0 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 3c 68 74 74 70 3a 2f is.program...If.not,.see.<http:/
86c0 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 2a 2f 0a 0a 23 69 66 /www.gnu.org/licenses/>..*/..#if
86e0 6e 64 65 66 20 49 4e 54 36 34 5f 4d 41 58 0a 23 64 65 66 69 6e 65 20 49 4e 54 36 34 5f 4d 41 58 ndef.INT64_MAX.#define.INT64_MAX
8700 20 20 30 78 37 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 4c 4c 0a 23 65 6e 64 69 66 0a 0a 0a ..0x7FFFFFFFFFFFFFFFLL.#endif...
8720 63 6c 61 73 73 20 42 6c 6f 63 6b 0a 20 20 7b 0a 20 20 6c 6f 6e 67 20 6c 6f 6e 67 20 70 6f 73 5f class.Block...{...long.long.pos_
8740 2c 20 73 69 7a 65 5f 3b 09 09 2f 2f 20 70 6f 73 20 2b 20 73 69 7a 65 20 3c 3d 20 49 4e 54 36 34 ,.size_;..//.pos.+.size.<=.INT64
8760 5f 4d 41 58 0a 0a 70 75 62 6c 69 63 3a 0a 20 20 42 6c 6f 63 6b 28 20 63 6f 6e 73 74 20 6c 6f 6e _MAX..public:...Block(.const.lon
8780 67 20 6c 6f 6e 67 20 70 2c 20 63 6f 6e 73 74 20 6c 6f 6e 67 20 6c 6f 6e 67 20 73 20 29 20 3a 20 g.long.p,.const.long.long.s.).:.
87a0 70 6f 73 5f 28 20 70 20 29 2c 20 73 69 7a 65 5f 28 20 73 20 29 20 7b 7d 0a 0a 20 20 6c 6f 6e 67 pos_(.p.),.size_(.s.).{}....long
87c0 20 6c 6f 6e 67 20 70 6f 73 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 70 6f 73 5f 3b .long.pos().const.{.return.pos_;
87e0 20 7d 0a 20 20 6c 6f 6e 67 20 6c 6f 6e 67 20 73 69 7a 65 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 .}...long.long.size().const.{.re
8800 74 75 72 6e 20 73 69 7a 65 5f 3b 20 7d 0a 20 20 6c 6f 6e 67 20 6c 6f 6e 67 20 65 6e 64 28 29 20 turn.size_;.}...long.long.end().
8820 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 70 6f 73 5f 20 2b 20 73 69 7a 65 5f 3b 20 7d 0a 0a const.{.return.pos_.+.size_;.}..
8840 20 20 76 6f 69 64 20 70 6f 73 28 20 63 6f 6e 73 74 20 6c 6f 6e 67 20 6c 6f 6e 67 20 70 20 29 20 ..void.pos(.const.long.long.p.).
8860 7b 20 70 6f 73 5f 20 3d 20 70 3b 20 7d 0a 20 20 76 6f 69 64 20 73 69 7a 65 28 20 63 6f 6e 73 74 {.pos_.=.p;.}...void.size(.const
8880 20 6c 6f 6e 67 20 6c 6f 6e 67 20 73 20 29 20 7b 20 73 69 7a 65 5f 20 3d 20 73 3b 20 7d 0a 20 20 .long.long.s.).{.size_.=.s;.}...
88a0 7d 3b 0a 0a 0a 63 6c 61 73 73 20 4c 7a 69 70 5f 69 6e 64 65 78 0a 20 20 7b 0a 20 20 73 74 72 75 };...class.Lzip_index...{...stru
88c0 63 74 20 4d 65 6d 62 65 72 0a 20 20 20 20 7b 0a 20 20 20 20 42 6c 6f 63 6b 20 64 62 6c 6f 63 6b ct.Member.....{.....Block.dblock
88e0 2c 20 6d 62 6c 6f 63 6b 3b 09 09 2f 2f 20 64 61 74 61 20 62 6c 6f 63 6b 2c 20 6d 65 6d 62 65 72 ,.mblock;..//.data.block,.member
8900 20 62 6c 6f 63 6b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 .block.....unsigned.dictionary_s
8920 69 7a 65 3b 0a 0a 20 20 20 20 4d 65 6d 62 65 72 28 20 63 6f 6e 73 74 20 6c 6f 6e 67 20 6c 6f 6e ize;......Member(.const.long.lon
8940 67 20 64 70 2c 20 63 6f 6e 73 74 20 6c 6f 6e 67 20 6c 6f 6e 67 20 64 73 2c 0a 20 20 20 20 20 20 g.dp,.const.long.long.ds,.......
8960 20 20 20 20 20 20 63 6f 6e 73 74 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6d 70 2c 20 63 6f 6e 73 74 20 ......const.long.long.mp,.const.
8980 6c 6f 6e 67 20 6c 6f 6e 67 20 6d 73 2c 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 64 69 63 long.long.ms,.const.unsigned.dic
89a0 74 5f 73 69 7a 65 20 29 0a 20 20 20 20 20 20 3a 20 64 62 6c 6f 63 6b 28 20 64 70 2c 20 64 73 20 t_size.).......:.dblock(.dp,.ds.
89c0 29 2c 20 6d 62 6c 6f 63 6b 28 20 6d 70 2c 20 6d 73 20 29 2c 20 64 69 63 74 69 6f 6e 61 72 79 5f ),.mblock(.mp,.ms.),.dictionary_
89e0 73 69 7a 65 28 20 64 69 63 74 5f 73 69 7a 65 20 29 20 7b 7d 0a 20 20 20 20 7d 3b 0a 0a 20 20 73 size(.dict_size.).{}.....};....s
8a00 74 64 3a 3a 76 65 63 74 6f 72 3c 20 4d 65 6d 62 65 72 20 3e 20 6d 65 6d 62 65 72 5f 76 65 63 74 td::vector<.Member.>.member_vect
8a20 6f 72 3b 0a 20 20 73 74 64 3a 3a 73 74 72 69 6e 67 20 65 72 72 6f 72 5f 3b 0a 20 20 63 6f 6e 73 or;...std::string.error_;...cons
8a40 74 20 6c 6f 6e 67 20 6c 6f 6e 67 20 69 6e 73 69 7a 65 3b 0a 20 20 69 6e 74 20 72 65 74 76 61 6c t.long.long.insize;...int.retval
8a60 5f 3b 0a 20 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 5f 3b 09 _;...unsigned.dictionary_size_;.
8a80 2f 2f 20 6c 61 72 67 65 73 74 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 69 6e 20 74 68 //.largest.dictionary.size.in.th
8aa0 65 20 66 69 6c 65 0a 0a 20 20 62 6f 6f 6c 20 63 68 65 63 6b 5f 68 65 61 64 65 72 5f 65 72 72 6f e.file....bool.check_header_erro
8ac0 72 28 20 63 6f 6e 73 74 20 4c 7a 69 70 5f 68 65 61 64 65 72 20 26 20 68 65 61 64 65 72 20 29 3b r(.const.Lzip_header.&.header.);
8ae0 0a 20 20 76 6f 69 64 20 73 65 74 5f 65 72 72 6e 6f 5f 65 72 72 6f 72 28 20 63 6f 6e 73 74 20 63 ...void.set_errno_error(.const.c
8b00 68 61 72 20 2a 20 63 6f 6e 73 74 20 6d 73 67 20 29 3b 0a 20 20 76 6f 69 64 20 73 65 74 5f 6e 75 har.*.const.msg.);...void.set_nu
8b20 6d 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 2c m_error(.const.char.*.const.msg,
8b40 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6e 75 6d 20 29 3b 0a 20 20 62 6f 6f .unsigned.long.long.num.);...boo
8b60 6c 20 72 65 61 64 5f 68 65 61 64 65 72 28 20 63 6f 6e 73 74 20 69 6e 74 20 66 64 2c 20 4c 7a 69 l.read_header(.const.int.fd,.Lzi
8b80 70 5f 68 65 61 64 65 72 20 26 20 68 65 61 64 65 72 2c 20 63 6f 6e 73 74 20 6c 6f 6e 67 20 6c 6f p_header.&.header,.const.long.lo
8ba0 6e 67 20 70 6f 73 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 ng.pos.);...bool.skip_trailing_d
8bc0 61 74 61 28 20 63 6f 6e 73 74 20 69 6e 74 20 66 64 2c 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 ata(.const.int.fd,.unsigned.long
8be0 20 6c 6f 6e 67 20 26 20 70 6f 73 2c 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 62 6f 6f 6c .long.&.pos,..........const.bool
8c00 20 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 .ignore_trailing,.const.bool.loo
8c20 73 65 5f 74 72 61 69 6c 69 6e 67 20 29 3b 0a 0a 70 75 62 6c 69 63 3a 0a 20 20 4c 7a 69 70 5f 69 se_trailing.);..public:...Lzip_i
8c40 6e 64 65 78 28 20 63 6f 6e 73 74 20 69 6e 74 20 69 6e 66 64 2c 20 63 6f 6e 73 74 20 62 6f 6f 6c ndex(.const.int.infd,.const.bool
8c60 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 20 20 20 20 20 .ignore_trailing,...............
8c80 63 6f 6e 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 20 20 const.bool.loose_trailing.);....
8ca0 6c 6f 6e 67 20 6d 65 6d 62 65 72 73 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 6d 65 long.members().const.{.return.me
8cc0 6d 62 65 72 5f 76 65 63 74 6f 72 2e 73 69 7a 65 28 29 3b 20 7d 0a 20 20 63 6f 6e 73 74 20 73 74 mber_vector.size();.}...const.st
8ce0 64 3a 3a 73 74 72 69 6e 67 20 26 20 65 72 72 6f 72 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 d::string.&.error().const.{.retu
8d00 72 6e 20 65 72 72 6f 72 5f 3b 20 7d 0a 20 20 69 6e 74 20 72 65 74 76 61 6c 28 29 20 63 6f 6e 73 rn.error_;.}...int.retval().cons
8d20 74 20 7b 20 72 65 74 75 72 6e 20 72 65 74 76 61 6c 5f 3b 20 7d 0a 20 20 75 6e 73 69 67 6e 65 64 t.{.return.retval_;.}...unsigned
8d40 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 .dictionary_size().const.{.retur
8d60 6e 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 5f 3b 20 7d 0a 0a 20 20 6c 6f 6e 67 20 6c 6f n.dictionary_size_;.}....long.lo
8d80 6e 67 20 75 64 61 74 61 5f 73 69 7a 65 28 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 20 69 66 28 20 ng.udata_size().const.....{.if(.
8da0 6d 65 6d 62 65 72 5f 76 65 63 74 6f 72 2e 65 6d 70 74 79 28 29 20 29 20 72 65 74 75 72 6e 20 30 member_vector.empty().).return.0
8dc0 3b 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 65 6d 62 65 72 5f 76 65 63 74 6f 72 2e 62 61 63 ;.......return.member_vector.bac
8de0 6b 28 29 2e 64 62 6c 6f 63 6b 2e 65 6e 64 28 29 3b 20 7d 0a 0a 20 20 6c 6f 6e 67 20 6c 6f 6e 67 k().dblock.end();.}....long.long
8e00 20 63 64 61 74 61 5f 73 69 7a 65 28 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 20 69 66 28 20 6d 65 .cdata_size().const.....{.if(.me
8e20 6d 62 65 72 5f 76 65 63 74 6f 72 2e 65 6d 70 74 79 28 29 20 29 20 72 65 74 75 72 6e 20 30 3b 0a mber_vector.empty().).return.0;.
8e40 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 65 6d 62 65 72 5f 76 65 63 74 6f 72 2e 62 61 63 6b 28 ......return.member_vector.back(
8e60 29 2e 6d 62 6c 6f 63 6b 2e 65 6e 64 28 29 3b 20 7d 0a 0a 20 20 2f 2f 20 74 6f 74 61 6c 20 73 69 ).mblock.end();.}....//.total.si
8e80 7a 65 20 69 6e 63 6c 75 64 69 6e 67 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 20 28 69 66 20 61 ze.including.trailing.data.(if.a
8ea0 6e 79 29 0a 20 20 6c 6f 6e 67 20 6c 6f 6e 67 20 66 69 6c 65 5f 73 69 7a 65 28 29 20 63 6f 6e 73 ny)...long.long.file_size().cons
8ec0 74 0a 20 20 20 20 7b 20 69 66 28 20 69 6e 73 69 7a 65 20 3e 3d 20 30 20 29 20 72 65 74 75 72 6e t.....{.if(.insize.>=.0.).return
8ee0 20 69 6e 73 69 7a 65 3b 20 65 6c 73 65 20 72 65 74 75 72 6e 20 30 3b 20 7d 0a 0a 20 20 63 6f 6e .insize;.else.return.0;.}....con
8f00 73 74 20 42 6c 6f 63 6b 20 26 20 64 62 6c 6f 63 6b 28 20 63 6f 6e 73 74 20 6c 6f 6e 67 20 69 20 st.Block.&.dblock(.const.long.i.
8f20 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 63 74 ).const.....{.return.member_vect
8f40 6f 72 5b 69 5d 2e 64 62 6c 6f 63 6b 3b 20 7d 0a 20 20 63 6f 6e 73 74 20 42 6c 6f 63 6b 20 26 20 or[i].dblock;.}...const.Block.&.
8f60 6d 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 mblock(.const.long.i.).const....
8f80 20 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 6d 62 6c 6f 63 .{.return.member_vector[i].mbloc
8fa0 6b 3b 20 7d 0a 20 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 28 k;.}...unsigned.dictionary_size(
8fc0 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 7b 20 72 65 74 75 .const.long.i.).const.....{.retu
8fe0 72 6e 20 6d 65 6d 62 65 72 5f 76 65 63 74 6f 72 5b 69 5d 2e 64 69 63 74 69 6f 6e 61 72 79 5f 73 rn.member_vector[i].dictionary_s
9000 69 7a 65 3b 20 7d 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 ize;.}...};.....................
9020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
90a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
90c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
90e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
91a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
91c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
91e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9200 6c 7a 69 70 2d 31 2e 32 33 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.23/list.cc...............
9220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
9280 30 30 30 37 36 34 34 00 31 34 31 37 32 36 34 35 36 32 35 00 30 31 33 37 32 34 00 20 30 00 00 00 0007644.14172645625.013724..0...
92a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
92c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
92e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9300 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
9320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
9340 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
9360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
93a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
93c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
93e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9400 2f 2a 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 /*.Lzip.-.LZMA.lossless.data.com
9420 70 72 65 73 73 6f 72 0a 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d 32 30 pressor....Copyright.(C).2008-20
9440 32 32 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 54 68 69 73 20 70 22.Antonio.Diaz.Diaz......This.p
9460 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 63 61 6e rogram.is.free.software:.you.can
9480 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 79 0a 20 .redistribute.it.and/or.modify..
94a0 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 47 4e 55 20 ..it.under.the.terms.of.the.GNU.
94c0 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 62 6c 69 73 General.Public.License.as.publis
94e0 68 65 64 20 62 79 0a 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e hed.by....the.Free.Software.Foun
9500 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 20 74 68 65 20 dation,.either.version.2.of.the.
9520 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 License,.or....(at.your.option).
9540 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 54 68 69 73 20 70 72 6f 67 any.later.version......This.prog
9560 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 70 65 20 74 ram.is.distributed.in.the.hope.t
9580 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 62 75 74 20 57 49 hat.it.will.be.useful,....but.WI
95a0 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 65 76 65 6e THOUT.ANY.WARRANTY;.without.even
95c0 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 4d 45 52 43 .the.implied.warranty.of....MERC
95e0 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
9600 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 0a 20 20 20 47 4e 55 TICULAR.PURPOSE...See.the....GNU
9620 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 72 65 .General.Public.License.for.more
9640 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 .details......You.should.have.re
9660 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 6e 65 72 61 6c ceived.a.copy.of.the.GNU.General
9680 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 .Public.License....along.with.th
96a0 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 3c 68 74 74 70 3a 2f is.program...If.not,.see.<http:/
96c0 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 2a 2f 0a 0a 23 64 65 /www.gnu.org/licenses/>..*/..#de
96e0 66 69 6e 65 20 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 36 34 0a 0a 23 69 6e 63 6c fine._FILE_OFFSET_BITS.64..#incl
9700 75 64 65 20 3c 63 73 74 64 69 6f 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 63 73 74 72 69 6e 67 3e 0a ude.<cstdio>.#include.<cstring>.
9720 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 20 3c 76 65 63 74 #include.<string>.#include.<vect
9740 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 6e 63 6c 75 64 65 or>.#include.<stdint.h>.#include
9760 20 3c 75 6e 69 73 74 64 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 73 74 61 74 2e 68 .<unistd.h>.#include.<sys/stat.h
9780 3e 0a 0a 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 6c >..#include."lzip.h".#include."l
97a0 7a 69 70 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 76 6f 69 64 zip_index.h"...namespace.{..void
97c0 20 6c 69 73 74 5f 6c 69 6e 65 28 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 .list_line(.const.unsigned.long.
97e0 6c 6f 6e 67 20 75 6e 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 long.uncomp_size,...............
9800 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 63 6f 6d 70 5f ..const.unsigned.long.long.comp_
9820 73 69 7a 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 size,.................const.char
9840 20 2a 20 63 6f 6e 73 74 20 69 6e 70 75 74 5f 66 69 6c 65 6e 61 6d 65 20 29 0a 20 20 7b 0a 20 20 .*.const.input_filename.)...{...
9860 69 66 28 20 75 6e 63 6f 6d 70 5f 73 69 7a 65 20 3e 20 30 20 29 0a 20 20 20 20 73 74 64 3a 3a 70 if(.uncomp_size.>.0.).....std::p
9880 72 69 6e 74 66 28 20 22 25 31 34 6c 6c 75 20 25 31 34 6c 6c 75 20 25 36 2e 32 66 25 25 20 20 25 rintf(."%14llu.%14llu.%6.2f%%..%
98a0 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 0a 20 20 s\n",.uncomp_size,.comp_size,...
98c0 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 20 31 30 30 2e ................100.0.-.(.(.100.
98e0 30 20 2a 20 63 6f 6d 70 5f 73 69 7a 65 20 29 20 2f 20 75 6e 63 6f 6d 70 5f 73 69 7a 65 20 29 2c 0.*.comp_size.)./.uncomp_size.),
9900 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
9920 65 20 29 3b 0a 20 20 65 6c 73 65 0a 20 20 20 20 73 74 64 3a 3a 70 72 69 6e 74 66 28 20 22 25 31 e.);...else.....std::printf(."%1
9940 34 6c 6c 75 20 25 31 34 6c 6c 75 20 20 20 2d 49 4e 46 25 25 20 20 25 73 5c 6e 22 2c 20 75 6e 63 4llu.%14llu...-INF%%..%s\n",.unc
9960 6f 6d 70 5f 73 69 7a 65 2c 20 63 6f 6d 70 5f 73 69 7a 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 omp_size,.comp_size,............
9980 20 20 20 20 20 20 20 69 6e 70 75 74 5f 66 69 6c 65 6e 61 6d 65 20 29 3b 0a 20 20 7d 0a 0a 7d 20 .......input_filename.);...}..}.
99a0 2f 2f 20 65 6e 64 20 6e 61 6d 65 73 70 61 63 65 0a 0a 0a 69 6e 74 20 6c 69 73 74 5f 66 69 6c 65 //.end.namespace...int.list_file
99c0 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
99e0 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,................
9a00 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
9a20 73 74 20 62 6f 6f 6c 20 6c 6f 6f 73 65 5f 74 72 61 69 6c 69 6e 67 20 29 0a 20 20 7b 0a 20 20 75 st.bool.loose_trailing.)...{...u
9a40 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 74 6f 74 61 6c 5f 63 6f 6d 70 20 3d 20 30 nsigned.long.long.total_comp.=.0
9a60 2c 20 74 6f 74 61 6c 5f 75 6e 63 6f 6d 70 20 3d 20 30 3b 0a 20 20 69 6e 74 20 66 69 6c 65 73 20 ,.total_uncomp.=.0;...int.files.
9a80 3d 20 30 2c 20 72 65 74 76 61 6c 20 3d 20 30 3b 0a 20 20 62 6f 6f 6c 20 66 69 72 73 74 5f 70 6f =.0,.retval.=.0;...bool.first_po
9aa0 73 74 20 3d 20 74 72 75 65 3b 0a 20 20 62 6f 6f 6c 20 73 74 64 69 6e 5f 75 73 65 64 20 3d 20 66 st.=.true;...bool.stdin_used.=.f
9ac0 61 6c 73 65 3b 0a 20 20 66 6f 72 28 20 75 6e 73 69 67 6e 65 64 20 69 20 3d 20 30 3b 20 69 20 3c alse;...for(.unsigned.i.=.0;.i.<
9ae0 20 66 69 6c 65 6e 61 6d 65 73 2e 73 69 7a 65 28 29 3b 20 2b 2b 69 20 29 0a 20 20 20 20 7b 0a 20 .filenames.size();.++i.).....{..
9b00 20 20 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 66 72 6f 6d 5f 73 74 64 69 6e 20 3d 20 28 20 66 69 6c ...const.bool.from_stdin.=.(.fil
9b20 65 6e 61 6d 65 73 5b 69 5d 20 3d 3d 20 22 2d 22 20 29 3b 0a 20 20 20 20 69 66 28 20 66 72 6f 6d enames[i].==."-".);.....if(.from
9b40 5f 73 74 64 69 6e 20 29 20 7b 20 69 66 28 20 73 74 64 69 6e 5f 75 73 65 64 20 29 20 63 6f 6e 74 _stdin.).{.if(.stdin_used.).cont
9b60 69 6e 75 65 3b 20 65 6c 73 65 20 73 74 64 69 6e 5f 75 73 65 64 20 3d 20 74 72 75 65 3b 20 7d 0a inue;.else.stdin_used.=.true;.}.
9b80 20 20 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 ....const.char.*.const.input_fil
9ba0 65 6e 61 6d 65 20 3d 0a 20 20 20 20 20 20 66 72 6f 6d 5f 73 74 64 69 6e 20 3f 20 22 28 73 74 64 ename.=.......from_stdin.?."(std
9bc0 69 6e 29 22 20 3a 20 66 69 6c 65 6e 61 6d 65 73 5b 69 5d 2e 63 5f 73 74 72 28 29 3b 0a 20 20 20 in)".:.filenames[i].c_str();....
9be0 20 73 74 72 75 63 74 20 73 74 61 74 20 69 6e 5f 73 74 61 74 73 3b 09 09 09 09 2f 2f 20 6e 6f 74 .struct.stat.in_stats;....//.not
9c00 20 75 73 65 64 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 69 6e 66 64 20 3d 20 66 72 6f 6d 5f .used.....const.int.infd.=.from_
9c20 73 74 64 69 6e 20 3f 20 53 54 44 49 4e 5f 46 49 4c 45 4e 4f 20 3a 0a 20 20 20 20 20 20 6f 70 65 stdin.?.STDIN_FILENO.:.......ope
9c40 6e 5f 69 6e 73 74 72 65 61 6d 28 20 69 6e 70 75 74 5f 66 69 6c 65 6e 61 6d 65 2c 20 26 69 6e 5f n_instream(.input_filename,.&in_
9c60 73 74 61 74 73 2c 20 66 61 6c 73 65 2c 20 74 72 75 65 20 29 3b 0a 20 20 20 20 69 66 28 20 69 6e stats,.false,.true.);.....if(.in
9c80 66 64 20 3c 20 30 20 29 20 7b 20 73 65 74 5f 72 65 74 76 61 6c 28 20 72 65 74 76 61 6c 2c 20 31 fd.<.0.).{.set_retval(.retval,.1
9ca0 20 29 3b 20 63 6f 6e 74 69 6e 75 65 3b 20 7d 0a 0a 20 20 20 20 63 6f 6e 73 74 20 4c 7a 69 70 5f .);.continue;.}......const.Lzip_
9cc0 69 6e 64 65 78 20 6c 7a 69 70 5f 69 6e 64 65 78 28 20 69 6e 66 64 2c 20 69 67 6e 6f 72 65 5f 74 index.lzip_index(.infd,.ignore_t
9ce0 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 3b 0a 20 20 20 20 63 railing,.loose_trailing.);.....c
9d00 6c 6f 73 65 28 20 69 6e 66 64 20 29 3b 0a 20 20 20 20 69 66 28 20 6c 7a 69 70 5f 69 6e 64 65 78 lose(.infd.);.....if(.lzip_index
9d20 2e 72 65 74 76 61 6c 28 29 20 21 3d 20 30 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 73 .retval().!=.0.).......{.......s
9d40 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 6d 65 2c 20 how_file_error(.input_filename,.
9d60 6c 7a 69 70 5f 69 6e 64 65 78 2e 65 72 72 6f 72 28 29 2e 63 5f 73 74 72 28 29 20 29 3b 0a 20 20 lzip_index.error().c_str().);...
9d80 20 20 20 20 73 65 74 5f 72 65 74 76 61 6c 28 20 72 65 74 76 61 6c 2c 20 6c 7a 69 70 5f 69 6e 64 ....set_retval(.retval,.lzip_ind
9da0 65 78 2e 72 65 74 76 61 6c 28 29 20 29 3b 0a 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 ex.retval().);.......continue;..
9dc0 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 3c 20 30 20 29 20 63 .....}.....if(.verbosity.<.0.).c
9de0 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 ontinue;.....const.unsigned.long
9e00 20 6c 6f 6e 67 20 75 64 61 74 61 5f 73 69 7a 65 20 3d 20 6c 7a 69 70 5f 69 6e 64 65 78 2e 75 64 .long.udata_size.=.lzip_index.ud
9e20 61 74 61 5f 73 69 7a 65 28 29 3b 0a 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c ata_size();.....const.unsigned.l
9e40 6f 6e 67 20 6c 6f 6e 67 20 63 64 61 74 61 5f 73 69 7a 65 20 3d 20 6c 7a 69 70 5f 69 6e 64 65 78 ong.long.cdata_size.=.lzip_index
9e60 2e 63 64 61 74 61 5f 73 69 7a 65 28 29 3b 0a 20 20 20 20 74 6f 74 61 6c 5f 63 6f 6d 70 20 2b 3d .cdata_size();.....total_comp.+=
9e80 20 63 64 61 74 61 5f 73 69 7a 65 3b 20 74 6f 74 61 6c 5f 75 6e 63 6f 6d 70 20 2b 3d 20 75 64 61 .cdata_size;.total_uncomp.+=.uda
9ea0 74 61 5f 73 69 7a 65 3b 20 2b 2b 66 69 6c 65 73 3b 0a 20 20 20 20 63 6f 6e 73 74 20 6c 6f 6e 67 ta_size;.++files;.....const.long
9ec0 20 6d 65 6d 62 65 72 73 20 3d 20 6c 7a 69 70 5f 69 6e 64 65 78 2e 6d 65 6d 62 65 72 73 28 29 3b .members.=.lzip_index.members();
9ee0 0a 20 20 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 7b 0a 20 20 .....if(.first_post.).......{...
9f00 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 69 66 ....first_post.=.false;.......if
9f20 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 28 20 22 (.verbosity.>=.1.).std::fputs(."
9f40 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 75 74 20 ...dict...memb..trail.",.stdout.
9f60 29 3b 0a 20 20 20 20 20 20 73 74 64 3a 3a 66 70 75 74 73 28 20 22 20 20 75 6e 63 6f 6d 70 72 65 );.......std::fputs(."..uncompre
9f80 73 73 65 64 20 20 20 20 20 63 6f 6d 70 72 65 73 73 65 64 20 20 20 73 61 76 65 64 20 20 6e 61 6d ssed.....compressed...saved..nam
9fa0 65 5c 6e 22 2c 20 73 74 64 6f 75 74 20 29 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 69 66 28 20 e\n",.stdout.);.......}.....if(.
9fc0 76 65 72 62 6f 73 69 74 79 20 3e 3d 20 31 20 29 0a 20 20 20 20 20 20 73 74 64 3a 3a 70 72 69 6e verbosity.>=.1.).......std::prin
9fe0 74 66 28 20 22 25 73 20 25 35 6c 64 20 25 36 6c 6c 64 20 22 2c 20 66 6f 72 6d 61 74 5f 64 73 28 tf(."%s.%5ld.%6lld.",.format_ds(
a000 20 6c 7a 69 70 5f 69 6e 64 65 78 2e 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 28 29 20 29 2c .lzip_index.dictionary_size().),
a020 0a 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 73 2c 20 6c 7a 69 ....................members,.lzi
a040 70 5f 69 6e 64 65 78 2e 66 69 6c 65 5f 73 69 7a 65 28 29 20 2d 20 63 64 61 74 61 5f 73 69 7a 65 p_index.file_size().-.cdata_size
a060 20 29 3b 0a 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 63 .);.....list_line(.udata_size,.c
a080 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 20 data_size,.input_filename.);....
a0a0 20 20 69 66 28 20 76 65 72 62 6f 73 69 74 79 20 3e 3d 20 32 20 26 26 20 6d 65 6d 62 65 72 73 20 ..if(.verbosity.>=.2.&&.members.
a0c0 3e 20 31 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 73 74 64 3a 3a 66 70 75 74 73 28 20 >.1.).......{.......std::fputs(.
a0e0 22 20 6d 65 6d 62 65 72 20 20 20 20 20 20 64 61 74 61 5f 70 6f 73 20 20 20 20 20 20 64 61 74 61 ".member......data_pos......data
a100 5f 73 69 7a 65 20 20 20 20 20 6d 65 6d 62 65 72 5f 70 6f 73 20 20 20 20 6d 65 6d 62 65 72 5f 73 _size.....member_pos....member_s
a120 69 7a 65 5c 6e 22 2c 20 73 74 64 6f 75 74 20 29 3b 0a 20 20 20 20 20 20 66 6f 72 28 20 6c 6f 6e ize\n",.stdout.);.......for(.lon
a140 67 20 69 20 3d 20 30 3b 20 69 20 3c 20 6d 65 6d 62 65 72 73 3b 20 2b 2b 69 20 29 0a 20 20 20 20 g.i.=.0;.i.<.members;.++i.).....
a160 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 42 6c 6f 63 6b 20 26 20 64 62 20 3d ....{.........const.Block.&.db.=
a180 20 6c 7a 69 70 5f 69 6e 64 65 78 2e 64 62 6c 6f 63 6b 28 20 69 20 29 3b 0a 20 20 20 20 20 20 20 .lzip_index.dblock(.i.);........
a1a0 20 63 6f 6e 73 74 20 42 6c 6f 63 6b 20 26 20 6d 62 20 3d 20 6c 7a 69 70 5f 69 6e 64 65 78 2e 6d .const.Block.&.mb.=.lzip_index.m
a1c0 62 6c 6f 63 6b 28 20 69 20 29 3b 0a 20 20 20 20 20 20 20 20 73 74 64 3a 3a 70 72 69 6e 74 66 28 block(.i.);.........std::printf(
a1e0 20 22 25 36 6c 64 20 25 31 34 6c 6c 75 20 25 31 34 6c 6c 75 20 25 31 34 6c 6c 75 20 25 31 34 6c ."%6ld.%14llu.%14llu.%14llu.%14l
a200 6c 75 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 20 69 20 2b 20 lu\n",......................i.+.
a220 31 2c 20 64 62 2e 70 6f 73 28 29 2c 20 64 62 2e 73 69 7a 65 28 29 2c 20 6d 62 2e 70 6f 73 28 29 1,.db.pos(),.db.size(),.mb.pos()
a240 2c 20 6d 62 2e 73 69 7a 65 28 29 20 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 66 ,.mb.size().);.........}.......f
a260 69 72 73 74 5f 70 6f 73 74 20 3d 20 74 72 75 65 3b 09 2f 2f 20 72 65 70 72 69 6e 74 20 68 65 61 irst_post.=.true;.//.reprint.hea
a280 64 69 6e 67 20 61 66 74 65 72 20 6c 69 73 74 20 6f 66 20 6d 65 6d 62 65 72 73 0a 20 20 20 20 20 ding.after.list.of.members......
a2a0 20 7d 0a 20 20 20 20 73 74 64 3a 3a 66 66 6c 75 73 68 28 20 73 74 64 6f 75 74 20 29 3b 0a 20 20 .}.....std::fflush(.stdout.);...
a2c0 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
a2e0 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.
a300 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(."............
a320 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_
a340 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,.
a360 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
a380 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;.
a3a0 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 ..}.............................
a3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a400 6c 7a 69 70 2d 31 2e 32 33 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.23/encoder_base.h........
a420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
a480 30 30 33 35 30 35 33 00 31 34 31 37 32 36 34 35 36 32 35 00 30 31 35 32 31 37 00 20 30 00 00 00 0035053.14172645625.015217..0...
a4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a500 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
a520 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
a540 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
a560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a600 2f 2a 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 /*.Lzip.-.LZMA.lossless.data.com
a620 70 72 65 73 73 6f 72 0a 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d 32 30 pressor....Copyright.(C).2008-20
a640 32 32 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 54 68 69 73 20 70 22.Antonio.Diaz.Diaz......This.p
a660 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 63 61 6e rogram.is.free.software:.you.can
a680 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 79 0a 20 .redistribute.it.and/or.modify..
a6a0 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 47 4e 55 20 ..it.under.the.terms.of.the.GNU.
a6c0 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 62 6c 69 73 General.Public.License.as.publis
a6e0 68 65 64 20 62 79 0a 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e hed.by....the.Free.Software.Foun
a700 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 20 74 68 65 20 dation,.either.version.2.of.the.
a720 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 License,.or....(at.your.option).
a740 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 54 68 69 73 20 70 72 6f 67 any.later.version......This.prog
a760 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 70 65 20 74 ram.is.distributed.in.the.hope.t
a780 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 62 75 74 20 57 49 hat.it.will.be.useful,....but.WI
a7a0 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 65 76 65 6e THOUT.ANY.WARRANTY;.without.even
a7c0 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 4d 45 52 43 .the.implied.warranty.of....MERC
a7e0 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
a800 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 0a 20 20 20 47 4e 55 TICULAR.PURPOSE...See.the....GNU
a820 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 72 65 .General.Public.License.for.more
a840 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 .details......You.should.have.re
a860 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 6e 65 72 61 6c ceived.a.copy.of.the.GNU.General
a880 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 .Public.License....along.with.th
a8a0 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 3c 68 74 74 70 3a 2f is.program...If.not,.see.<http:/
a8c0 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 2a 2f 0a 0a 65 6e 75 /www.gnu.org/licenses/>..*/..enu
a8e0 6d 20 7b 20 70 72 69 63 65 5f 73 68 69 66 74 5f 62 69 74 73 20 3d 20 36 2c 0a 20 20 20 20 20 20 m.{.price_shift_bits.=.6,.......
a900 20 70 72 69 63 65 5f 73 74 65 70 5f 62 69 74 73 20 3d 20 32 2c 0a 20 20 20 20 20 20 20 70 72 69 .price_step_bits.=.2,........pri
a920 63 65 5f 73 74 65 70 20 3d 20 31 20 3c 3c 20 70 72 69 63 65 5f 73 74 65 70 5f 62 69 74 73 20 7d ce_step.=.1.<<.price_step_bits.}
a940 3b 0a 0a 63 6c 61 73 73 20 44 69 73 5f 73 6c 6f 74 73 0a 20 20 7b 0a 20 20 75 69 6e 74 38 5f 74 ;..class.Dis_slots...{...uint8_t
a960 20 64 61 74 61 5b 31 3c 3c 31 30 5d 3b 0a 0a 70 75 62 6c 69 63 3a 0a 20 20 76 6f 69 64 20 69 6e .data[1<<10];..public:...void.in
a980 69 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 73 6c 6f 74 20 3d 20 30 it().....{.....for(.int.slot.=.0
a9a0 3b 20 73 6c 6f 74 20 3c 20 34 3b 20 2b 2b 73 6c 6f 74 20 29 20 64 61 74 61 5b 73 6c 6f 74 5d 20 ;.slot.<.4;.++slot.).data[slot].
a9c0 3d 20 73 6c 6f 74 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 34 2c 20 73 69 7a 65 =.slot;.....for(.int.i.=.4,.size
a9e0 20 3d 20 32 2c 20 73 6c 6f 74 20 3d 20 34 3b 20 73 6c 6f 74 20 3c 20 32 30 3b 20 73 6c 6f 74 20 .=.2,.slot.=.4;.slot.<.20;.slot.
aa00 2b 3d 20 32 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 73 74 64 3a 3a 6d 65 6d 73 65 74 +=.2.).......{.......std::memset
aa20 28 20 26 64 61 74 61 5b 69 5d 2c 20 73 6c 6f 74 2c 20 73 69 7a 65 20 29 3b 0a 20 20 20 20 20 20 (.&data[i],.slot,.size.);.......
aa40 73 74 64 3a 3a 6d 65 6d 73 65 74 28 20 26 64 61 74 61 5b 69 2b 73 69 7a 65 5d 2c 20 73 6c 6f 74 std::memset(.&data[i+size],.slot
aa60 20 2b 20 31 2c 20 73 69 7a 65 20 29 3b 0a 20 20 20 20 20 20 73 69 7a 65 20 3c 3c 3d 20 31 3b 0a .+.1,.size.);.......size.<<=.1;.
aa80 20 20 20 20 20 20 69 20 2b 3d 20 73 69 7a 65 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a ......i.+=.size;.......}.....}..
aaa0 20 20 75 69 6e 74 38 5f 74 20 6f 70 65 72 61 74 6f 72 5b 5d 28 20 63 6f 6e 73 74 20 69 6e 74 20 ..uint8_t.operator[](.const.int.
aac0 64 69 73 20 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 64 61 74 61 5b 64 69 73 5d 3b 20 dis.).const.{.return.data[dis];.
aae0 7d 0a 20 20 7d 3b 0a 0a 65 78 74 65 72 6e 20 44 69 73 5f 73 6c 6f 74 73 20 64 69 73 5f 73 6c 6f }...};..extern.Dis_slots.dis_slo
ab00 74 73 3b 0a 0a 69 6e 6c 69 6e 65 20 75 69 6e 74 38 5f 74 20 67 65 74 5f 73 6c 6f 74 28 20 63 6f ts;..inline.uint8_t.get_slot(.co
ab20 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 64 69 73 20 29 0a 20 20 7b 0a 20 20 69 66 28 20 64 69 73 nst.unsigned.dis.)...{...if(.dis
ab40 20 3c 20 28 31 20 3c 3c 20 31 30 29 20 29 20 72 65 74 75 72 6e 20 64 69 73 5f 73 6c 6f 74 73 5b .<.(1.<<.10).).return.dis_slots[
ab60 64 69 73 5d 3b 0a 20 20 69 66 28 20 64 69 73 20 3c 20 28 31 20 3c 3c 20 31 39 29 20 29 20 72 65 dis];...if(.dis.<.(1.<<.19).).re
ab80 74 75 72 6e 20 64 69 73 5f 73 6c 6f 74 73 5b 64 69 73 3e 3e 20 39 5d 20 2b 20 31 38 3b 0a 20 20 turn.dis_slots[dis>>.9].+.18;...
aba0 69 66 28 20 64 69 73 20 3c 20 28 31 20 3c 3c 20 32 38 29 20 29 20 72 65 74 75 72 6e 20 64 69 73 if(.dis.<.(1.<<.28).).return.dis
abc0 5f 73 6c 6f 74 73 5b 64 69 73 3e 3e 31 38 5d 20 2b 20 33 36 3b 0a 20 20 72 65 74 75 72 6e 20 64 _slots[dis>>18].+.36;...return.d
abe0 69 73 5f 73 6c 6f 74 73 5b 64 69 73 3e 3e 32 37 5d 20 2b 20 35 34 3b 0a 20 20 7d 0a 0a 0a 63 6c is_slots[dis>>27].+.54;...}...cl
ac00 61 73 73 20 50 72 6f 62 5f 70 72 69 63 65 73 0a 20 20 7b 0a 20 20 73 68 6f 72 74 20 64 61 74 61 ass.Prob_prices...{...short.data
ac20 5b 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 73 74 65 70 5f 62 [bit_model_total.>>.price_step_b
ac40 69 74 73 5d 3b 0a 0a 70 75 62 6c 69 63 3a 0a 20 20 76 6f 69 64 20 69 6e 69 74 28 29 0a 20 20 20 its];..public:...void.init()....
ac60 20 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 62 69 74 5f 6d .{.....for(.int.i.=.0;.i.<.bit_m
ac80 6f 64 65 6c 5f 74 6f 74 61 6c 20 3e 3e 20 70 72 69 63 65 5f 73 74 65 70 5f 62 69 74 73 3b 20 2b odel_total.>>.price_step_bits;.+
aca0 2b 69 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 20 76 61 6c 20 +i.).......{.......unsigned.val.
acc0 3d 20 28 20 69 20 2a 20 70 72 69 63 65 5f 73 74 65 70 20 29 20 2b 20 28 20 70 72 69 63 65 5f 73 =.(.i.*.price_step.).+.(.price_s
ace0 74 65 70 20 2f 20 32 20 29 3b 0a 20 20 20 20 20 20 69 6e 74 20 62 69 74 73 20 3d 20 30 3b 09 09 tep./.2.);.......int.bits.=.0;..
ad00 09 09 2f 2f 20 62 61 73 65 20 32 20 6c 6f 67 61 72 69 74 68 6d 20 6f 66 20 76 61 6c 0a 20 20 20 ..//.base.2.logarithm.of.val....
ad20 20 20 20 66 6f 72 28 20 69 6e 74 20 6a 20 3d 20 30 3b 20 6a 20 3c 20 70 72 69 63 65 5f 73 68 69 ...for(.int.j.=.0;.j.<.price_shi
ad40 66 74 5f 62 69 74 73 3b 20 2b 2b 6a 20 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 ft_bits;.++j.).........{........
ad60 20 76 61 6c 20 3d 20 76 61 6c 20 2a 20 76 61 6c 3b 0a 20 20 20 20 20 20 20 20 62 69 74 73 20 3c .val.=.val.*.val;.........bits.<
ad80 3c 3d 20 31 3b 0a 20 20 20 20 20 20 20 20 77 68 69 6c 65 28 20 76 61 6c 20 3e 3d 20 31 20 3c 3c <=.1;.........while(.val.>=.1.<<
ada0 20 31 36 20 29 20 7b 20 76 61 6c 20 3e 3e 3d 20 31 3b 20 2b 2b 62 69 74 73 3b 20 7d 0a 20 20 20 .16.).{.val.>>=.1;.++bits;.}....
adc0 20 20 20 20 20 7d 0a 20 20 20 20 20 20 62 69 74 73 20 2b 3d 20 31 35 3b 09 09 09 09 2f 2f 20 72 .....}.......bits.+=.15;....//.r
ade0 65 6d 61 69 6e 69 6e 67 20 62 69 74 73 20 69 6e 20 76 61 6c 0a 20 20 20 20 20 20 64 61 74 61 5b emaining.bits.in.val.......data[
ae00 69 5d 20 3d 20 28 20 62 69 74 5f 6d 6f 64 65 6c 5f 74 6f 74 61 6c 5f 62 69 74 73 20 3c 3c 20 70 i].=.(.bit_model_total_bits.<<.p
ae20 72 69 63 65 5f 73 68 69 66 74 5f 62 69 74 73 20 29 20 2d 20 62 69 74 73 3b 0a 20 20 20 20 20 20 rice_shift_bits.).-.bits;.......
ae40 7d 0a 20 20 20 20 7d 0a 0a 20 20 69 6e 74 20 6f 70 65 72 61 74 6f 72 5b 5d 28 20 63 6f 6e 73 74 }.....}....int.operator[](.const
ae60 20 69 6e 74 20 70 72 6f 62 61 62 69 6c 69 74 79 20 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 20 72 .int.probability.).const.....{.r
ae80 65 74 75 72 6e 20 64 61 74 61 5b 70 72 6f 62 61 62 69 6c 69 74 79 20 3e 3e 20 70 72 69 63 65 5f eturn.data[probability.>>.price_
aea0 73 74 65 70 5f 62 69 74 73 5d 3b 20 7d 0a 20 20 7d 3b 0a 0a 65 78 74 65 72 6e 20 50 72 6f 62 5f step_bits];.}...};..extern.Prob_
aec0 70 72 69 63 65 73 20 70 72 6f 62 5f 70 72 69 63 65 73 3b 0a 0a 0a 69 6e 6c 69 6e 65 20 69 6e 74 prices.prob_prices;...inline.int
aee0 20 70 72 69 63 65 30 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 .price0(.const.Bit_model.bm.)...
af00 7b 20 72 65 74 75 72 6e 20 70 72 6f 62 5f 70 72 69 63 65 73 5b 62 6d 2e 70 72 6f 62 61 62 69 6c {.return.prob_prices[bm.probabil
af20 69 74 79 5d 3b 20 7d 0a 0a 69 6e 6c 69 6e 65 20 69 6e 74 20 70 72 69 63 65 31 28 20 63 6f 6e 73 ity];.}..inline.int.price1(.cons
af40 74 20 42 69 74 5f 6d 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 t.Bit_model.bm.)...{.return.prob
af60 5f 70 72 69 63 65 73 5b 62 69 74 5f 6d 6f 64 65 6c 5f 74 6f 74 61 6c 20 2d 20 62 6d 2e 70 72 6f _prices[bit_model_total.-.bm.pro
af80 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 70 72 69 63 65 5f 62 bability];.}..inline.int.price_b
afa0 69 74 28 20 63 6f 6e 73 74 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 2c 20 63 6f 6e 73 74 20 62 6f it(.const.Bit_model.bm,.const.bo
afc0 6f 6c 20 62 69 74 20 29 0a 20 20 7b 20 72 65 74 75 72 6e 20 28 20 62 69 74 20 3f 20 70 72 69 63 ol.bit.)...{.return.(.bit.?.pric
afe0 65 31 28 20 62 6d 20 29 20 3a 20 70 72 69 63 65 30 28 20 62 6d 20 29 20 29 3b 20 7d 0a 0a 0a 69 e1(.bm.).:.price0(.bm.).);.}...i
b000 6e 6c 69 6e 65 20 69 6e 74 20 70 72 69 63 65 5f 73 79 6d 62 6f 6c 33 28 20 63 6f 6e 73 74 20 42 nline.int.price_symbol3(.const.B
b020 69 74 5f 6d 6f 64 65 6c 20 62 6d 5b 5d 2c 20 69 6e 74 20 73 79 6d 62 6f 6c 20 29 0a 20 20 7b 0a it_model.bm[],.int.symbol.)...{.
b040 20 20 62 6f 6f 6c 20 62 69 74 20 3d 20 73 79 6d 62 6f 6c 20 26 20 31 3b 0a 20 20 73 79 6d 62 6f ..bool.bit.=.symbol.&.1;...symbo
b060 6c 20 7c 3d 20 38 3b 20 73 79 6d 62 6f 6c 20 3e 3e 3d 20 31 3b 0a 20 20 69 6e 74 20 70 72 69 63 l.|=.8;.symbol.>>=.1;...int.pric
b080 65 20 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 e.=.price_bit(.bm[symbol],.bit.)
b0a0 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.>>=
b0c0 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
b0e0 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 70 72 69 63 l],.bit.);...return.price.+.pric
b100 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 20 20 7d 0a e_bit(.bm[1],.symbol.&.1.);...}.
b120 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 36 28 20 63 6f 6e 73 ..inline.int.price_symbol6(.cons
b140 74 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5b 5d 2c 20 75 6e 73 69 67 6e 65 64 20 73 79 6d 62 6f t.Bit_model.bm[],.unsigned.symbo
b160 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 26 20 31 3b l.)...{...bool.bit.=.symbol.&.1;
b180 0a 20 20 73 79 6d 62 6f 6c 20 7c 3d 20 36 34 3b 20 73 79 6d 62 6f 6c 20 3e 3e 3d 20 31 3b 0a 20 ...symbol.|=.64;.symbol.>>=.1;..
b1a0 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 6d 62 6f .int.price.=.price_bit(.bm[symbo
b1c0 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
b1e0 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(
b200 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
b220 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
b240 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
b260 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
b280 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
b2a0 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
b2c0 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
b2e0 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.+.
b300 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.);.
b320 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 38 28 20 ..}...inline.int.price_symbol8(.
b340 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 79 6d 62 6f 6c const.Bit_model.bm[],.int.symbol
b360 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 26 20 31 3b 0a .)...{...bool.bit.=.symbol.&.1;.
b380 20 20 73 79 6d 62 6f 6c 20 7c 3d 20 30 78 31 30 30 3b 20 73 79 6d 62 6f 6c 20 3e 3e 3d 20 31 3b ..symbol.|=.0x100;.symbol.>>=.1;
b3a0 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 6d ...int.price.=.price_bit(.bm[sym
b3c0 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 3b bol],.bit.);...bit.=.symbol.&.1;
b3e0 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 69 .symbol.>>=.1;.price.+=.price_bi
b400 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 79 t(.bm[symbol],.bit.);...bit.=.sy
b420 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 3d mbol.&.1;.symbol.>>=.1;.price.+=
b440 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 20 .price_bit(.bm[symbol],.bit.);..
b460 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 3b .bit.=.symbol.&.1;.symbol.>>=.1;
b480 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 2c .price.+=.price_bit(.bm[symbol],
b4a0 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 62 .bit.);...bit.=.symbol.&.1;.symb
b4c0 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 6d ol.>>=.1;.price.+=.price_bit(.bm
b4e0 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 20 [symbol],.bit.);...bit.=.symbol.
b500 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 63 &.1;.symbol.>>=.1;.price.+=.pric
b520 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 69 74 20 e_bit(.bm[symbol],.bit.);...bit.
b540 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 72 69 63 =.symbol.&.1;.symbol.>>=.1;.pric
b560 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 69 74 20 e.+=.price_bit(.bm[symbol],.bit.
b580 29 3b 0a 20 20 72 65 74 75 72 6e 20 70 72 69 63 65 20 2b 20 70 72 69 63 65 5f 62 69 74 28 20 62 );...return.price.+.price_bit(.b
b5a0 6d 5b 31 5d 2c 20 73 79 6d 62 6f 6c 20 26 20 31 20 29 3b 0a 20 20 7d 0a 0a 0a 69 6e 6c 69 6e 65 m[1],.symbol.&.1.);...}...inline
b5c0 20 69 6e 74 20 70 72 69 63 65 5f 73 79 6d 62 6f 6c 5f 72 65 76 65 72 73 65 64 28 20 63 6f 6e 73 .int.price_symbol_reversed(.cons
b5e0 74 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5b 5d 2c 20 69 6e 74 20 73 79 6d 62 6f 6c 2c 0a 20 20 t.Bit_model.bm[],.int.symbol,...
b600 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 ................................
b620 63 6f 6e 73 74 20 69 6e 74 20 6e 75 6d 5f 62 69 74 73 20 29 0a 20 20 7b 0a 20 20 69 6e 74 20 70 const.int.num_bits.)...{...int.p
b640 72 69 63 65 20 3d 20 30 3b 0a 20 20 69 6e 74 20 6d 6f 64 65 6c 20 3d 20 31 3b 0a 20 20 66 6f 72 rice.=.0;...int.model.=.1;...for
b660 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 29 (.int.i.=.num_bits;.i.>.0;.--i.)
b680 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 62 69 74 20 3d 20 73 79 6d 62 .....{.....const.bool.bit.=.symb
b6a0 6f 6c 20 26 20 31 3b 0a 20 20 20 20 73 79 6d 62 6f 6c 20 3e 3e 3d 20 31 3b 0a 20 20 20 20 70 72 ol.&.1;.....symbol.>>=.1;.....pr
b6c0 69 63 65 20 2b 3d 20 70 72 69 63 65 5f 62 69 74 28 20 62 6d 5b 6d 6f 64 65 6c 5d 2c 20 62 69 74 ice.+=.price_bit(.bm[model],.bit
b6e0 20 29 3b 0a 20 20 20 20 6d 6f 64 65 6c 20 3c 3c 3d 20 31 3b 20 6d 6f 64 65 6c 20 7c 3d 20 62 69 .);.....model.<<=.1;.model.|=.bi
b700 74 3b 0a 20 20 20 20 7d 0a 20 20 72 65 74 75 72 6e 20 70 72 69 63 65 3b 0a 20 20 7d 0a 0a 0a 69 t;.....}...return.price;...}...i
b720 6e 6c 69 6e 65 20 69 6e 74 20 70 72 69 63 65 5f 6d 61 74 63 68 65 64 28 20 63 6f 6e 73 74 20 42 nline.int.price_matched(.const.B
b740 69 74 5f 6d 6f 64 65 6c 20 62 6d 5b 5d 2c 20 75 6e 73 69 67 6e 65 64 20 73 79 6d 62 6f 6c 2c 0a it_model.bm[],.unsigned.symbol,.
b760 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 75 6e 73 69 67 6e ..........................unsign
b780 65 64 20 6d 61 74 63 68 5f 62 79 74 65 20 29 0a 20 20 7b 0a 20 20 69 6e 74 20 70 72 69 63 65 20 ed.match_byte.)...{...int.price.
b7a0 3d 20 30 3b 0a 20 20 75 6e 73 69 67 6e 65 64 20 6d 61 73 6b 20 3d 20 30 78 31 30 30 3b 0a 20 20 =.0;...unsigned.mask.=.0x100;...
b7c0 73 79 6d 62 6f 6c 20 7c 3d 20 6d 61 73 6b 3b 0a 20 20 77 68 69 6c 65 28 20 74 72 75 65 20 29 0a symbol.|=.mask;...while(.true.).
b7e0 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 6d 61 74 63 68 5f 62 ....{.....const.unsigned.match_b
b800 69 74 20 3d 20 28 20 6d 61 74 63 68 5f 62 79 74 65 20 3c 3c 3d 20 31 20 29 20 26 20 6d 61 73 6b it.=.(.match_byte.<<=.1.).&.mask
b820 3b 0a 20 20 20 20 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 ;.....const.bool.bit.=.(.symbol.
b840 3c 3c 3d 20 31 20 29 20 26 20 30 78 31 30 30 3b 0a 20 20 20 20 70 72 69 63 65 20 2b 3d 20 70 72 <<=.1.).&.0x100;.....price.+=.pr
b860 69 63 65 5f 62 69 74 28 20 62 6d 5b 28 73 79 6d 62 6f 6c 3e 3e 39 29 2b 6d 61 74 63 68 5f 62 69 ice_bit(.bm[(symbol>>9)+match_bi
b880 74 2b 6d 61 73 6b 5d 2c 20 62 69 74 20 29 3b 0a 20 20 20 20 69 66 28 20 73 79 6d 62 6f 6c 20 3e t+mask],.bit.);.....if(.symbol.>
b8a0 3d 20 30 78 31 30 30 30 30 20 29 20 72 65 74 75 72 6e 20 70 72 69 63 65 3b 0a 20 20 20 20 6d 61 =.0x10000.).return.price;.....ma
b8c0 73 6b 20 26 3d 20 7e 28 6d 61 74 63 68 5f 62 69 74 20 5e 20 73 79 6d 62 6f 6c 29 3b 09 2f 2f 20 sk.&=.~(match_bit.^.symbol);.//.
b8e0 69 66 28 20 6d 61 74 63 68 5f 62 69 74 20 21 3d 20 62 69 74 20 29 20 6d 61 73 6b 20 3d 20 30 3b if(.match_bit.!=.bit.).mask.=.0;
b900 0a 20 20 20 20 7d 0a 20 20 7d 0a 0a 0a 63 6c 61 73 73 20 4d 61 74 63 68 66 69 6e 64 65 72 5f 62 .....}...}...class.Matchfinder_b
b920 61 73 65 0a 20 20 7b 0a 20 20 62 6f 6f 6c 20 72 65 61 64 5f 62 6c 6f 63 6b 28 29 3b 0a 20 20 76 ase...{...bool.read_block();...v
b940 6f 69 64 20 6e 6f 72 6d 61 6c 69 7a 65 5f 70 6f 73 28 29 3b 0a 0a 20 20 4d 61 74 63 68 66 69 6e oid.normalize_pos();....Matchfin
b960 64 65 72 5f 62 61 73 65 28 20 63 6f 6e 73 74 20 4d 61 74 63 68 66 69 6e 64 65 72 5f 62 61 73 65 der_base(.const.Matchfinder_base
b980 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 20 20 76 .&.);.//.declared.as.private...v
b9a0 6f 69 64 20 6f 70 65 72 61 74 6f 72 3d 28 20 63 6f 6e 73 74 20 4d 61 74 63 68 66 69 6e 64 65 72 oid.operator=(.const.Matchfinder
b9c0 5f 62 61 73 65 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 _base.&.);.//.declared.as.privat
b9e0 65 0a 0a 70 72 6f 74 65 63 74 65 64 3a 0a 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f e..protected:...unsigned.long.lo
ba00 6e 67 20 70 61 72 74 69 61 6c 5f 64 61 74 61 5f 70 6f 73 3b 0a 20 20 75 69 6e 74 38 5f 74 20 2a ng.partial_data_pos;...uint8_t.*
ba20 20 62 75 66 66 65 72 3b 09 09 2f 2f 20 69 6e 70 75 74 20 62 75 66 66 65 72 0a 20 20 69 6e 74 33 .buffer;..//.input.buffer...int3
ba40 32 5f 74 20 2a 20 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 3b 09 2f 2f 20 31 20 2b 20 6c 61 73 2_t.*.prev_positions;.//.1.+.las
ba60 74 20 73 65 65 6e 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 6b 65 79 2e 20 65 6c 73 65 20 30 0a 20 t.seen.position.of.key..else.0..
ba80 20 69 6e 74 33 32 5f 74 20 2a 20 70 6f 73 5f 61 72 72 61 79 3b 09 09 2f 2f 20 6d 61 79 20 62 65 .int32_t.*.pos_array;..//.may.be
baa0 20 74 72 65 65 20 6f 72 20 63 68 61 69 6e 0a 20 20 63 6f 6e 73 74 20 69 6e 74 20 62 65 66 6f 72 .tree.or.chain...const.int.befor
bac0 65 5f 73 69 7a 65 3b 09 2f 2f 20 62 79 74 65 73 20 74 6f 20 6b 65 65 70 20 69 6e 20 62 75 66 66 e_size;.//.bytes.to.keep.in.buff
bae0 65 72 20 62 65 66 6f 72 65 20 64 69 63 74 69 6f 6e 61 72 79 0a 20 20 69 6e 74 20 62 75 66 66 65 er.before.dictionary...int.buffe
bb00 72 5f 73 69 7a 65 3b 0a 20 20 69 6e 74 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 3b 09 09 r_size;...int.dictionary_size;..
bb20 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 20 62 65 66 6f 72 //.bytes.to.keep.in.buffer.befor
bb40 65 20 70 6f 73 0a 20 20 69 6e 74 20 70 6f 73 3b 09 09 09 2f 2f 20 63 75 72 72 65 6e 74 20 70 6f e.pos...int.pos;...//.current.po
bb60 73 20 69 6e 20 62 75 66 66 65 72 0a 20 20 69 6e 74 20 63 79 63 6c 69 63 5f 70 6f 73 3b 09 09 2f s.in.buffer...int.cyclic_pos;../
bb80 2f 20 63 79 63 6c 65 73 20 74 68 72 6f 75 67 68 20 5b 30 2c 20 64 69 63 74 69 6f 6e 61 72 79 5f /.cycles.through.[0,.dictionary_
bba0 73 69 7a 65 5d 0a 20 20 69 6e 74 20 73 74 72 65 61 6d 5f 70 6f 73 3b 09 09 2f 2f 20 66 69 72 73 size]...int.stream_pos;..//.firs
bbc0 74 20 62 79 74 65 20 6e 6f 74 20 79 65 74 20 72 65 61 64 20 66 72 6f 6d 20 66 69 6c 65 0a 20 20 t.byte.not.yet.read.from.file...
bbe0 69 6e 74 20 70 6f 73 5f 6c 69 6d 69 74 3b 09 09 2f 2f 20 77 68 65 6e 20 72 65 61 63 68 65 64 2c int.pos_limit;..//.when.reached,
bc00 20 61 20 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 69 6e 74 20 .a.new.block.must.be.read...int.
bc20 6b 65 79 34 5f 6d 61 73 6b 3b 0a 20 20 63 6f 6e 73 74 20 69 6e 74 20 6e 75 6d 5f 70 72 65 76 5f key4_mask;...const.int.num_prev_
bc40 70 6f 73 69 74 69 6f 6e 73 32 33 3b 0a 20 20 69 6e 74 20 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 69 positions23;...int.num_prev_posi
bc60 74 69 6f 6e 73 3b 09 2f 2f 20 73 69 7a 65 20 6f 66 20 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 tions;.//.size.of.prev_positions
bc80 0a 20 20 69 6e 74 20 70 6f 73 5f 61 72 72 61 79 5f 73 69 7a 65 3b 0a 20 20 63 6f 6e 73 74 20 69 ...int.pos_array_size;...const.i
bca0 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 69 70 74 nt.infd;..//.input.file.descript
bcc0 6f 72 0a 20 20 62 6f 6f 6c 20 61 74 5f 73 74 72 65 61 6d 5f 65 6e 64 3b 09 09 2f 2f 20 73 74 72 or...bool.at_stream_end;..//.str
bce0 65 61 6d 5f 70 6f 73 20 73 68 6f 77 73 20 72 65 61 6c 20 65 6e 64 20 6f 66 20 66 69 6c 65 0a 0a eam_pos.shows.real.end.of.file..
bd00 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 69 6e 74 20 62 65 ..Matchfinder_base(.const.int.be
bd20 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_,.....................
bd40 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
bd60 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
bd80 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.
bda0 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_,..........
bdc0 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
bde0 61 63 74 6f 72 2c 20 63 6f 6e 73 74 20 69 6e 74 20 69 66 64 20 29 3b 0a 0a 20 20 7e 4d 61 74 63 actor,.const.int.ifd.);....~Matc
be00 68 66 69 6e 64 65 72 5f 62 61 73 65 28 29 0a 20 20 20 20 7b 20 64 65 6c 65 74 65 5b 5d 20 70 72 hfinder_base().....{.delete[].pr
be20 65 76 5f 70 6f 73 69 74 69 6f 6e 73 3b 20 73 74 64 3a 3a 66 72 65 65 28 20 62 75 66 66 65 72 20 ev_positions;.std::free(.buffer.
be40 29 3b 20 7d 0a 0a 70 75 62 6c 69 63 3a 0a 20 20 75 69 6e 74 38 5f 74 20 70 65 65 6b 28 20 63 6f );.}..public:...uint8_t.peek(.co
be60 6e 73 74 20 69 6e 74 20 64 69 73 74 61 6e 63 65 20 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 nst.int.distance.).const.{.retur
be80 6e 20 62 75 66 66 65 72 5b 70 6f 73 2d 64 69 73 74 61 6e 63 65 5d 3b 20 7d 0a 20 20 69 6e 74 20 n.buffer[pos-distance];.}...int.
bea0 61 76 61 69 6c 61 62 6c 65 5f 62 79 74 65 73 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e available_bytes().const.{.return
bec0 20 73 74 72 65 61 6d 5f 70 6f 73 20 2d 20 70 6f 73 3b 20 7d 0a 20 20 75 6e 73 69 67 6e 65 64 20 .stream_pos.-.pos;.}...unsigned.
bee0 6c 6f 6e 67 20 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 long.long.data_position().const.
bf00 7b 20 72 65 74 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 {.return.partial_data_pos.+.pos;
bf20 20 7d 0a 20 20 62 6f 6f 6c 20 64 61 74 61 5f 66 69 6e 69 73 68 65 64 28 29 20 63 6f 6e 73 74 20 .}...bool.data_finished().const.
bf40 7b 20 72 65 74 75 72 6e 20 61 74 5f 73 74 72 65 61 6d 5f 65 6e 64 20 26 26 20 70 6f 73 20 3e 3d {.return.at_stream_end.&&.pos.>=
bf60 20 73 74 72 65 61 6d 5f 70 6f 73 3b 20 7d 0a 20 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 2a .stream_pos;.}...const.uint8_t.*
bf80 20 70 74 72 5f 74 6f 5f 63 75 72 72 65 6e 74 5f 70 6f 73 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 .ptr_to_current_pos().const.{.re
bfa0 74 75 72 6e 20 62 75 66 66 65 72 20 2b 20 70 6f 73 3b 20 7d 0a 0a 20 20 69 6e 74 20 74 72 75 65 turn.buffer.+.pos;.}....int.true
bfc0 5f 6d 61 74 63 68 5f 6c 65 6e 28 20 63 6f 6e 73 74 20 69 6e 74 20 69 6e 64 65 78 2c 20 63 6f 6e _match_len(.const.int.index,.con
bfe0 73 74 20 69 6e 74 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 20 st.int.distance.).const.....{...
c000 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 3d 20 62 ..const.uint8_t.*.const.data.=.b
c020 75 66 66 65 72 20 2b 20 70 6f 73 3b 0a 20 20 20 20 69 6e 74 20 69 20 3d 20 69 6e 64 65 78 3b 0a uffer.+.pos;.....int.i.=.index;.
c040 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 64 3a 3a 6d ....const.int.len_limit.=.std::m
c060 69 6e 28 20 61 76 61 69 6c 61 62 6c 65 5f 62 79 74 65 73 28 29 2c 20 28 69 6e 74 29 6d 61 78 5f in(.available_bytes(),.(int)max_
c080 6d 61 74 63 68 5f 6c 65 6e 20 29 3b 0a 20 20 20 20 77 68 69 6c 65 28 20 69 20 3c 20 6c 65 6e 5f match_len.);.....while(.i.<.len_
c0a0 6c 69 6d 69 74 20 26 26 20 64 61 74 61 5b 69 2d 64 69 73 74 61 6e 63 65 5d 20 3d 3d 20 64 61 74 limit.&&.data[i-distance].==.dat
c0c0 61 5b 69 5d 20 29 20 2b 2b 69 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 69 3b 0a 20 20 20 20 7d 0a a[i].).++i;.....return.i;.....}.
c0e0 0a 20 20 76 6f 69 64 20 6d 6f 76 65 5f 70 6f 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 ...void.move_pos().....{.....if(
c100 20 2b 2b 63 79 63 6c 69 63 5f 70 6f 73 20 3e 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 .++cyclic_pos.>.dictionary_size.
c120 29 20 63 79 63 6c 69 63 5f 70 6f 73 20 3d 20 30 3b 0a 20 20 20 20 69 66 28 20 2b 2b 70 6f 73 20 ).cyclic_pos.=.0;.....if(.++pos.
c140 3e 3d 20 70 6f 73 5f 6c 69 6d 69 74 20 29 20 6e 6f 72 6d 61 6c 69 7a 65 5f 70 6f 73 28 29 3b 0a >=.pos_limit.).normalize_pos();.
c160 20 20 20 20 7d 0a 0a 20 20 76 6f 69 64 20 72 65 73 65 74 28 29 3b 0a 20 20 7d 3b 0a 0a 0a 63 6c ....}....void.reset();...};...cl
c180 61 73 73 20 52 61 6e 67 65 5f 65 6e 63 6f 64 65 72 0a 20 20 7b 0a 20 20 65 6e 75 6d 20 7b 20 62 ass.Range_encoder...{...enum.{.b
c1a0 75 66 66 65 72 5f 73 69 7a 65 20 3d 20 36 35 35 33 36 20 7d 3b 0a 20 20 75 69 6e 74 36 34 5f 74 uffer_size.=.65536.};...uint64_t
c1c0 20 6c 6f 77 3b 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 .low;...unsigned.long.long.parti
c1e0 61 6c 5f 6d 65 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 al_member_pos;...uint8_t.*.const
c200 20 62 75 66 66 65 72 3b 09 2f 2f 20 6f 75 74 70 75 74 20 62 75 66 66 65 72 0a 20 20 69 6e 74 20 .buffer;.//.output.buffer...int.
c220 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.
c240 20 20 75 69 6e 74 33 32 5f 74 20 72 61 6e 67 65 3b 0a 20 20 75 6e 73 69 67 6e 65 64 20 66 66 5f ..uint32_t.range;...unsigned.ff_
c260 63 6f 75 6e 74 3b 0a 20 20 63 6f 6e 73 74 20 69 6e 74 20 6f 75 74 66 64 3b 09 09 2f 2f 20 6f 75 count;...const.int.outfd;..//.ou
c280 74 70 75 74 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 0a 20 20 75 69 6e 74 38 5f 74 20 63 tput.file.descriptor...uint8_t.c
c2a0 61 63 68 65 3b 0a 20 20 4c 7a 69 70 5f 68 65 61 64 65 72 20 68 65 61 64 65 72 3b 0a 0a 20 20 76 ache;...Lzip_header.header;....v
c2c0 6f 69 64 20 73 68 69 66 74 5f 6c 6f 77 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 6c 6f oid.shift_low().....{.....if(.lo
c2e0 77 20 3e 3e 20 32 34 20 21 3d 20 30 78 46 46 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 w.>>.24.!=.0xFF.).......{.......
c300 63 6f 6e 73 74 20 62 6f 6f 6c 20 63 61 72 72 79 20 3d 20 28 20 6c 6f 77 20 3e 20 30 78 46 46 46 const.bool.carry.=.(.low.>.0xFFF
c320 46 46 46 46 46 55 20 29 3b 0a 20 20 20 20 20 20 70 75 74 5f 62 79 74 65 28 20 63 61 63 68 65 20 FFFFFU.);.......put_byte(.cache.
c340 2b 20 63 61 72 72 79 20 29 3b 0a 20 20 20 20 20 20 66 6f 72 28 20 3b 20 66 66 5f 63 6f 75 6e 74 +.carry.);.......for(.;.ff_count
c360 20 3e 20 30 3b 20 2d 2d 66 66 5f 63 6f 75 6e 74 20 29 20 70 75 74 5f 62 79 74 65 28 20 30 78 46 .>.0;.--ff_count.).put_byte(.0xF
c380 46 20 2b 20 63 61 72 72 79 20 29 3b 0a 20 20 20 20 20 20 63 61 63 68 65 20 3d 20 6c 6f 77 20 3e F.+.carry.);.......cache.=.low.>
c3a0 3e 20 32 34 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 65 6c 73 65 20 2b 2b 66 66 5f 63 6f 75 6e >.24;.......}.....else.++ff_coun
c3c0 74 3b 0a 20 20 20 20 6c 6f 77 20 3d 20 28 20 6c 6f 77 20 26 20 30 78 30 30 46 46 46 46 46 46 55 t;.....low.=.(.low.&.0x00FFFFFFU
c3e0 20 29 20 3c 3c 20 38 3b 0a 20 20 20 20 7d 0a 0a 20 20 52 61 6e 67 65 5f 65 6e 63 6f 64 65 72 28 .).<<.8;.....}....Range_encoder(
c400 20 63 6f 6e 73 74 20 52 61 6e 67 65 5f 65 6e 63 6f 64 65 72 20 26 20 29 3b 09 2f 2f 20 64 65 63 .const.Range_encoder.&.);.//.dec
c420 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 74 6f 72 lared.as.private...void.operator
c440 3d 28 20 63 6f 6e 73 74 20 52 61 6e 67 65 5f 65 6e 63 6f 64 65 72 20 26 20 29 3b 09 2f 2f 20 64 =(.const.Range_encoder.&.);.//.d
c460 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 20 76 6f eclared.as.private..public:...vo
c480 69 64 20 72 65 73 65 74 28 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 64 69 63 74 69 6f 6e id.reset(.const.unsigned.diction
c4a0 61 72 79 5f 73 69 7a 65 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 6c 6f 77 20 3d 20 30 3b 0a 20 20 ary_size.).....{.....low.=.0;...
c4c0 20 20 70 61 72 74 69 61 6c 5f 6d 65 6d 62 65 72 5f 70 6f 73 20 3d 20 30 3b 0a 20 20 20 20 70 6f ..partial_member_pos.=.0;.....po
c4e0 73 20 3d 20 30 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 s.=.0;.....range.=.0xFFFFFFFFU;.
c500 20 20 20 20 66 66 5f 63 6f 75 6e 74 20 3d 20 30 3b 0a 20 20 20 20 63 61 63 68 65 20 3d 20 30 3b ....ff_count.=.0;.....cache.=.0;
c520 0a 20 20 20 20 68 65 61 64 65 72 2e 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 28 20 64 69 63 .....header.dictionary_size(.dic
c540 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d tionary_size.);.....for(.int.i.=
c560 20 30 3b 20 69 20 3c 20 4c 7a 69 70 5f 68 65 61 64 65 72 3a 3a 73 69 7a 65 3b 20 2b 2b 69 20 29 .0;.i.<.Lzip_header::size;.++i.)
c580 0a 20 20 20 20 20 20 70 75 74 5f 62 79 74 65 28 20 68 65 61 64 65 72 2e 64 61 74 61 5b 69 5d 20 .......put_byte(.header.data[i].
c5a0 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 52 61 6e 67 65 5f 65 6e 63 6f 64 65 72 28 20 63 6f 6e 73 74 );.....}....Range_encoder(.const
c5c0 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 2c 20 63 6f 6e 73 74 .unsigned.dictionary_size,.const
c5e0 20 69 6e 74 20 6f 66 64 20 29 0a 20 20 20 20 3a 0a 20 20 20 20 62 75 66 66 65 72 28 20 6e 65 77 .int.ofd.).....:.....buffer(.new
c600 20 75 69 6e 74 38 5f 74 5b 62 75 66 66 65 72 5f 73 69 7a 65 5d 20 29 2c 20 6f 75 74 66 64 28 20 .uint8_t[buffer_size].),.outfd(.
c620 6f 66 64 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 68 65 61 64 65 72 2e 73 65 74 5f 6d 61 67 69 63 ofd.).....{.....header.set_magic
c640 28 29 3b 0a 20 20 20 20 72 65 73 65 74 28 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 ();.....reset(.dictionary_size.)
c660 3b 0a 20 20 20 20 7d 0a 0a 20 20 7e 52 61 6e 67 65 5f 65 6e 63 6f 64 65 72 28 29 20 7b 20 64 65 ;.....}....~Range_encoder().{.de
c680 6c 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 6c 6f 6e lete[].buffer;.}....unsigned.lon
c6a0 67 20 6c 6f 6e 67 20 6d 65 6d 62 65 72 5f 70 6f 73 69 74 69 6f 6e 28 29 20 63 6f 6e 73 74 0a 20 g.long.member_position().const..
c6c0 20 20 20 7b 20 72 65 74 75 72 6e 20 70 61 72 74 69 61 6c 5f 6d 65 6d 62 65 72 5f 70 6f 73 20 2b ...{.return.partial_member_pos.+
c6e0 20 70 6f 73 20 2b 20 66 66 5f 63 6f 75 6e 74 3b 20 7d 0a 0a 20 20 76 6f 69 64 20 66 6c 75 73 68 .pos.+.ff_count;.}....void.flush
c700 28 29 20 7b 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.
c720 29 20 73 68 69 66 74 5f 6c 6f 77 28 29 3b 20 7d 0a 20 20 76 6f 69 64 20 66 6c 75 73 68 5f 64 61 ).shift_low();.}...void.flush_da
c740 74 61 28 29 3b 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 ta();....void.put_byte(.const.ui
c760 6e 74 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 nt8_t.b.).....{.....buffer[pos].
c780 3d 20 62 3b 0a 20 20 20 20 69 66 28 20 2b 2b 70 6f 73 20 3e 3d 20 62 75 66 66 65 72 5f 73 69 7a =.b;.....if(.++pos.>=.buffer_siz
c7a0 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 20 20 76 6f 69 64 20 e.).flush_data();.....}....void.
c7c0 65 6e 63 6f 64 65 28 20 63 6f 6e 73 74 20 69 6e 74 20 73 79 6d 62 6f 6c 2c 20 63 6f 6e 73 74 20 encode(.const.int.symbol,.const.
c7e0 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 66 6f 72 28 20 75 6e int.num_bits.).....{.....for(.un
c800 73 69 67 6e 65 64 20 6d 61 73 6b 20 3d 20 31 20 3c 3c 20 28 20 6e 75 6d 5f 62 69 74 73 20 2d 20 signed.mask.=.1.<<.(.num_bits.-.
c820 31 20 29 3b 20 6d 61 73 6b 20 3e 20 30 3b 20 6d 61 73 6b 20 3e 3e 3d 20 31 20 29 0a 20 20 20 20 1.);.mask.>.0;.mask.>>=.1.).....
c840 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 20 20 20 69 66 28 ..{.......range.>>=.1;.......if(
c860 20 73 79 6d 62 6f 6c 20 26 20 6d 61 73 6b 20 29 20 6c 6f 77 20 2b 3d 20 72 61 6e 67 65 3b 0a 20 .symbol.&.mask.).low.+=.range;..
c880 20 20 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 20 .....if(.range.<=.0x00FFFFFFU.).
c8a0 7b 20 72 61 6e 67 65 20 3c 3c 3d 20 38 3b 20 73 68 69 66 74 5f 6c 6f 77 28 29 3b 20 7d 0a 20 20 {.range.<<=.8;.shift_low();.}...
c8c0 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 76 6f 69 64 20 65 6e 63 6f 64 65 5f 62 69 74 28 20 ....}.....}....void.encode_bit(.
c8e0 42 69 74 5f 6d 6f 64 65 6c 20 26 20 62 6d 2c 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 62 69 74 20 29 Bit_model.&.bm,.const.bool.bit.)
c900 0a 20 20 20 20 7b 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 .....{.....const.uint32_t.bound.
c920 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
c940 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 21 62 s.).*.bm.probability;.....if(.!b
c960 69 74 20 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 it.).......{.......range.=.bound
c980 3b 0a 20 20 20 20 20 20 62 6d 2e 70 72 6f 62 61 62 69 6c 69 74 79 20 2b 3d 0a 20 20 20 20 20 20 ;.......bm.probability.+=.......
c9a0 20 20 28 20 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 ..(.bit_model_total.-.bm.probabi
c9c0 6c 69 74 79 20 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 lity.).>>.bit_model_move_bits;..
c9e0 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 20 6c 6f .....}.....else.......{.......lo
ca00 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 62 6f 75 6e 64 w.+=.bound;.......range.-=.bound
ca20 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 2e 70 72 6f ;.......bm.probability.-=.bm.pro
ca40 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 69 74 73 3b bability.>>.bit_model_move_bits;
ca60 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 30 46 46 .......}.....if(.range.<=.0x00FF
ca80 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 74 5f 6c 6f 77 FFFFU.).{.range.<<=.8;.shift_low
caa0 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 74 72 65 65 33 ();.}.....}....void.encode_tree3
cac0 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 73 79 6d 62 (.Bit_model.bm[],.const.int.symb
cae0 6f 6c 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 73 79 6d 62 ol.).....{.....bool.bit.=.(.symb
cb00 6f 6c 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 ol.>>.2.).&.1;.....encode_bit(.b
cb20 6d 5b 31 5d 2c 20 62 69 74 20 29 3b 0a 20 20 20 20 69 6e 74 20 6d 6f 64 65 6c 20 3d 20 32 20 7c m[1],.bit.);.....int.model.=.2.|
cb40 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 20 .bit;.....bit.=.(.symbol.>>.1.).
cb60 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 20 &.1;.....encode_bit(.bm[model],.
cb80 62 69 74 20 29 3b 20 6d 6f 64 65 6c 20 3c 3c 3d 20 31 3b 20 6d 6f 64 65 6c 20 7c 3d 20 62 69 74 bit.);.model.<<=.1;.model.|=.bit
cba0 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 20 73 79 6d ;.....encode_bit(.bm[model],.sym
cbc0 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 6f 64 65 5f bol.&.1.);.....}....void.encode_
cbe0 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 20 75 6e 73 tree6(.Bit_model.bm[],.const.uns
cc00 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 62 6f 6f 6c 20 62 69 igned.symbol.).....{.....bool.bi
cc20 74 20 3d 20 28 20 73 79 6d 62 6f 6c 20 3e 3e 20 35 20 29 20 26 20 31 3b 0a 20 20 20 20 65 6e 63 t.=.(.symbol.>>.5.).&.1;.....enc
cc40 6f 64 65 5f 62 69 74 28 20 62 6d 5b 31 5d 2c 20 62 69 74 20 29 3b 0a 20 20 20 20 69 6e 74 20 6d ode_bit(.bm[1],.bit.);.....int.m
cc60 6f 64 65 6c 20 3d 20 32 20 7c 20 62 69 74 3b 0a 20 20 20 20 62 69 74 20 3d 20 28 20 73 79 6d 62 odel.=.2.|.bit;.....bit.=.(.symb
cc80 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
cca0 6d 5b 6d 6f 64 65 6c 5d 2c 20 62 69 74 20 29 3b 20 6d 6f 64 65 6c 20 3c 3c 3d 20 31 3b 20 6d 6f m[model],.bit.);.model.<<=.1;.mo
ccc0 64 65 6c 20 7c 3d 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 del.|=.bit;.....bit.=.(.symbol.>
cce0 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 5b 6d 6f >.3.).&.1;.....encode_bit(.bm[mo
cd00 64 65 6c 5d 2c 20 62 69 74 20 29 3b 20 6d 6f 64 65 6c 20 3c 3c 3d 20 31 3b 20 6d 6f 64 65 6c 20 del],.bit.);.model.<<=.1;.model.
cd20 7c 3d 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 32 20 |=.bit;.....bit.=.(.symbol.>>.2.
cd40 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]
cd60 2c 20 62 69 74 20 29 3b 20 6d 6f 64 65 6c 20 3c 3c 3d 20 31 3b 20 6d 6f 64 65 6c 20 7c 3d 20 62 ,.bit.);.model.<<=.1;.model.|=.b
cd80 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 20 26 20 it;.....bit.=.(.symbol.>>.1.).&.
cda0 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 20 62 69 1;.....encode_bit(.bm[model],.bi
cdc0 74 20 29 3b 20 6d 6f 64 65 6c 20 3c 3c 3d 20 31 3b 20 6d 6f 64 65 6c 20 7c 3d 20 62 69 74 3b 0a t.);.model.<<=.1;.model.|=.bit;.
cde0 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 73 79 6d 62 6f ....encode_bit(.bm[model],.symbo
ce00 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 6f 64 65 5f 74 72 l.&.1.);.....}....void.encode_tr
ce20 65 65 38 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 73 ee8(.Bit_model.bm[],.const.int.s
ce40 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 31 3b ymbol.).....{.....int.model.=.1;
ce60 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 2d 2d 69 .....for(.int.i.=.7;.i.>=.0;.--i
ce80 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 6c 20 62 69 74 20 .).......{.......const.bool.bit.
cea0 3d 20 28 20 73 79 6d 62 6f 6c 20 3e 3e 20 69 20 29 20 26 20 31 3b 0a 20 20 20 20 20 20 65 6e 63 =.(.symbol.>>.i.).&.1;.......enc
cec0 6f 64 65 5f 62 69 74 28 20 62 6d 5b 6d 6f 64 65 6c 5d 2c 20 62 69 74 20 29 3b 0a 20 20 20 20 20 ode_bit(.bm[model],.bit.);......
cee0 20 6d 6f 64 65 6c 20 3c 3c 3d 20 31 3b 20 6d 6f 64 65 6c 20 7c 3d 20 62 69 74 3b 0a 20 20 20 20 .model.<<=.1;.model.|=.bit;.....
cf00 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 76 6f 69 64 20 65 6e 63 6f 64 65 5f 74 72 65 65 5f 72 65 ..}.....}....void.encode_tree_re
cf20 76 65 72 73 65 64 28 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5b 5d 2c 20 69 6e 74 20 73 79 6d 62 versed(.Bit_model.bm[],.int.symb
cf40 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 20 20 7b 0a 20 ol,.const.int.num_bits.).....{..
cf60 20 20 20 69 6e 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 ...int.model.=.1;.....for(.int.i
cf80 20 3d 20 6e 75 6d 5f 62 69 74 73 3b 20 69 20 3e 20 30 3b 20 2d 2d 69 20 29 0a 20 20 20 20 20 20 .=.num_bits;.i.>.0;.--i.).......
cfa0 7b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 62 69 74 20 3d 20 73 79 6d 62 6f 6c 20 {.......const.bool.bit.=.symbol.
cfc0 26 20 31 3b 0a 20 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 65 &.1;.......symbol.>>=.1;.......e
cfe0 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d 5b 6d 6f 64 65 6c 5d 2c 20 62 69 74 20 29 3b 0a 20 20 20 ncode_bit(.bm[model],.bit.);....
d000 20 20 20 6d 6f 64 65 6c 20 3c 3c 3d 20 31 3b 20 6d 6f 64 65 6c 20 7c 3d 20 62 69 74 3b 0a 20 20 ...model.<<=.1;.model.|=.bit;...
d020 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 76 6f 69 64 20 65 6e 63 6f 64 65 5f 6d 61 74 63 68 ....}.....}....void.encode_match
d040 65 64 28 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5b 5d 2c 20 75 6e 73 69 67 6e 65 64 20 73 79 6d ed(.Bit_model.bm[],.unsigned.sym
d060 62 6f 6c 2c 20 75 6e 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 bol,.unsigned.match_byte.).....{
d080 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 6d 61 73 6b 20 3d 20 30 78 31 30 30 3b 0a 20 20 20 20 .....unsigned.mask.=.0x100;.....
d0a0 73 79 6d 62 6f 6c 20 7c 3d 20 6d 61 73 6b 3b 0a 20 20 20 20 77 68 69 6c 65 28 20 74 72 75 65 20 symbol.|=.mask;.....while(.true.
d0c0 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 64 20 6d ).......{.......const.unsigned.m
d0e0 61 74 63 68 5f 62 69 74 20 3d 20 28 20 6d 61 74 63 68 5f 62 79 74 65 20 3c 3c 3d 20 31 20 29 20 atch_bit.=.(.match_byte.<<=.1.).
d100 26 20 6d 61 73 6b 3b 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 &.mask;.......const.bool.bit.=.(
d120 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 20 20 20 20 20 20 65 .symbol.<<=.1.).&.0x100;.......e
d140 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d 5b 28 73 79 6d 62 6f 6c 3e 3e 39 29 2b 6d 61 74 63 68 5f ncode_bit(.bm[(symbol>>9)+match_
d160 62 69 74 2b 6d 61 73 6b 5d 2c 20 62 69 74 20 29 3b 0a 20 20 20 20 20 20 69 66 28 20 73 79 6d 62 bit+mask],.bit.);.......if(.symb
d180 6f 6c 20 3e 3d 20 30 78 31 30 30 30 30 20 29 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 6d 61 73 ol.>=.0x10000.).break;.......mas
d1a0 6b 20 26 3d 20 7e 28 6d 61 74 63 68 5f 62 69 74 20 5e 20 73 79 6d 62 6f 6c 29 3b 09 2f 2f 20 69 k.&=.~(match_bit.^.symbol);.//.i
d1c0 66 28 20 6d 61 74 63 68 5f 62 69 74 20 21 3d 20 62 69 74 20 29 20 6d 61 73 6b 20 3d 20 30 3b 0a f(.match_bit.!=.bit.).mask.=.0;.
d1e0 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 76 6f 69 64 20 65 6e 63 6f 64 65 5f 6c 65 6e ......}.....}....void.encode_len
d200 28 20 4c 65 6e 5f 6d 6f 64 65 6c 20 26 20 6c 6d 2c 20 69 6e 74 20 73 79 6d 62 6f 6c 2c 20 63 6f (.Len_model.&.lm,.int.symbol,.co
d220 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 20 20 20 62 6f nst.int.pos_state.).....{.....bo
d240 6f 6c 20 62 69 74 20 3d 20 28 20 28 20 73 79 6d 62 6f 6c 20 2d 3d 20 6d 69 6e 5f 6d 61 74 63 68 ol.bit.=.(.(.symbol.-=.min_match
d260 5f 6c 65 6e 20 29 20 3e 3d 20 6c 65 6e 5f 6c 6f 77 5f 73 79 6d 62 6f 6c 73 20 29 3b 0a 20 20 20 _len.).>=.len_low_symbols.);....
d280 20 65 6e 63 6f 64 65 5f 62 69 74 28 20 6c 6d 2e 63 68 6f 69 63 65 31 2c 20 62 69 74 20 29 3b 0a .encode_bit(.lm.choice1,.bit.);.
d2a0 20 20 20 20 69 66 28 20 21 62 69 74 20 29 0a 20 20 20 20 20 20 65 6e 63 6f 64 65 5f 74 72 65 65 ....if(.!bit.).......encode_tree
d2c0 33 28 20 6c 6d 2e 62 6d 5f 6c 6f 77 5b 70 6f 73 5f 73 74 61 74 65 5d 2c 20 73 79 6d 62 6f 6c 20 3(.lm.bm_low[pos_state],.symbol.
d2e0 29 3b 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 62 69 74 20 3d 20 );.....else.......{.......bit.=.
d300 28 20 28 20 73 79 6d 62 6f 6c 20 2d 3d 20 6c 65 6e 5f 6c 6f 77 5f 73 79 6d 62 6f 6c 73 20 29 20 (.(.symbol.-=.len_low_symbols.).
d320 3e 3d 20 6c 65 6e 5f 6d 69 64 5f 73 79 6d 62 6f 6c 73 20 29 3b 0a 20 20 20 20 20 20 65 6e 63 6f >=.len_mid_symbols.);.......enco
d340 64 65 5f 62 69 74 28 20 6c 6d 2e 63 68 6f 69 63 65 32 2c 20 62 69 74 20 29 3b 0a 20 20 20 20 20 de_bit(.lm.choice2,.bit.);......
d360 20 69 66 28 20 21 62 69 74 20 29 0a 20 20 20 20 20 20 20 20 65 6e 63 6f 64 65 5f 74 72 65 65 33 .if(.!bit.).........encode_tree3
d380 28 20 6c 6d 2e 62 6d 5f 6d 69 64 5b 70 6f 73 5f 73 74 61 74 65 5d 2c 20 73 79 6d 62 6f 6c 20 29 (.lm.bm_mid[pos_state],.symbol.)
d3a0 3b 0a 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 65 6e 63 6f 64 65 5f 74 72 65 65 ;.......else.........encode_tree
d3c0 38 28 20 6c 6d 2e 62 6d 5f 68 69 67 68 2c 20 73 79 6d 62 6f 6c 20 2d 20 6c 65 6e 5f 6d 69 64 5f 8(.lm.bm_high,.symbol.-.len_mid_
d3e0 73 79 6d 62 6f 6c 73 20 29 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 7d 3b 0a 0a 0a symbols.);.......}.....}...};...
d400 63 6c 61 73 73 20 4c 5a 5f 65 6e 63 6f 64 65 72 5f 62 61 73 65 20 3a 20 70 75 62 6c 69 63 20 4d class.LZ_encoder_base.:.public.M
d420 61 74 63 68 66 69 6e 64 65 72 5f 62 61 73 65 0a 20 20 7b 0a 70 72 6f 74 65 63 74 65 64 3a 0a 20 atchfinder_base...{.protected:..
d440 20 65 6e 75 6d 20 7b 20 6d 61 78 5f 6d 61 72 6b 65 72 5f 73 69 7a 65 20 3d 20 31 36 2c 0a 20 20 .enum.{.max_marker_size.=.16,...
d460 20 20 20 20 20 20 20 6e 75 6d 5f 72 65 70 5f 64 69 73 74 61 6e 63 65 73 20 3d 20 34 20 7d 3b 09 .......num_rep_distances.=.4.};.
d480 2f 2f 20 6d 75 73 74 20 62 65 20 34 0a 0a 20 20 75 69 6e 74 33 32 5f 74 20 63 72 63 5f 3b 0a 0a //.must.be.4....uint32_t.crc_;..
d4a0 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 65 72 61 ..Bit_model.bm_literal[1<<litera
d4c0 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 5f 6d 6f l_context_bits][0x300];...Bit_mo
d4e0 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 6f 73 5f del.bm_match[State::states][pos_
d500 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 74 61 74 states];...Bit_model.bm_rep[Stat
d520 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 70 30 5b e::states];...Bit_model.bm_rep0[
d540 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 6d 5f 72 State::states];...Bit_model.bm_r
d560 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 65 6c 20 ep1[State::states];...Bit_model.
d580 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 5f 6d 6f bm_rep2[State::states];...Bit_mo
d5a0 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 5f 73 74 del.bm_len[State::states][pos_st
d5c0 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 74 5b 6c ates];...Bit_model.bm_dis_slot[l
d5e0 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 0a 20 20 en_states][1<<dis_slot_bits];...
d600 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 61 6e 63 Bit_model.bm_dis[modeled_distanc
d620 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 64 65 6c es-end_dis_model+1];...Bit_model
d640 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 4c 65 6e .bm_align[dis_align_size];...Len
d660 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 5f 6d 6f _model.match_len_model;...Len_mo
d680 64 65 6c 20 72 65 70 5f 6c 65 6e 5f 6d 6f 64 65 6c 3b 0a 20 20 52 61 6e 67 65 5f 65 6e 63 6f 64 del.rep_len_model;...Range_encod
d6a0 65 72 20 72 65 6e 63 3b 0a 0a 20 20 4c 5a 5f 65 6e 63 6f 64 65 72 5f 62 61 73 65 28 20 63 6f 6e er.renc;....LZ_encoder_base(.con
d6c0 73 74 20 69 6e 74 20 62 65 66 6f 72 65 5f 73 69 7a 65 2c 20 63 6f 6e 73 74 20 69 6e 74 20 64 69 st.int.before_size,.const.int.di
d6e0 63 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 63 6f 6e 73 ct_size,....................cons
d700 74 20 69 6e 74 20 61 66 74 65 72 5f 73 69 7a 65 2c 20 63 6f 6e 73 74 20 69 6e 74 20 64 69 63 74 t.int.after_size,.const.int.dict
d720 5f 66 61 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 63 6f 6e 73 _factor,....................cons
d740 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 2c 0a 20 20 20 20 t.int.num_prev_positions23,.....
d760 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 6f 73 5f 61 72 72 ...............const.int.pos_arr
d780 61 79 5f 66 61 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 63 6f ay_factor,....................co
d7a0 6e 73 74 20 69 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 nst.int.ifd,.const.int.outfd.)..
d7c0 20 20 20 3a 0a 20 20 20 20 4d 61 74 63 68 66 69 6e 64 65 72 5f 62 61 73 65 28 20 62 65 66 6f 72 ...:.....Matchfinder_base(.befor
d7e0 65 5f 73 69 7a 65 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 e_size,.dict_size,.after_size,.d
d800 69 63 74 5f 66 61 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 ict_factor,.....................
d820 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 6f 73 5f 61 72 72 61 ..num_prev_positions23,.pos_arra
d840 79 5f 66 61 63 74 6f 72 2c 20 69 66 64 20 29 2c 0a 20 20 20 20 63 72 63 5f 28 20 30 78 46 46 46 y_factor,.ifd.),.....crc_(.0xFFF
d860 46 46 46 46 46 55 20 29 2c 0a 20 20 20 20 72 65 6e 63 28 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 FFFFFU.),.....renc(.dictionary_s
d880 69 7a 65 2c 20 6f 75 74 66 64 20 29 0a 20 20 20 20 7b 7d 0a 0a 20 20 75 6e 73 69 67 6e 65 64 20 ize,.outfd.).....{}....unsigned.
d8a0 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 20 30 78 46 46 crc().const.{.return.crc_.^.0xFF
d8c0 46 46 46 46 46 46 55 3b 20 7d 0a 0a 20 20 69 6e 74 20 70 72 69 63 65 5f 6c 69 74 65 72 61 6c 28 FFFFFFU;.}....int.price_literal(
d8e0 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 73 74 20 .const.uint8_t.prev_byte,.const.
d900 75 69 6e 74 38 5f 74 20 73 79 6d 62 6f 6c 20 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 20 72 65 74 uint8_t.symbol.).const.....{.ret
d920 75 72 6e 20 70 72 69 63 65 5f 73 79 6d 62 6f 6c 38 28 20 62 6d 5f 6c 69 74 65 72 61 6c 5b 67 65 urn.price_symbol8(.bm_literal[ge
d940 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 20 t_lit_state(prev_byte)],.symbol.
d960 29 3b 20 7d 0a 0a 20 20 69 6e 74 20 70 72 69 63 65 5f 6d 61 74 63 68 65 64 28 20 63 6f 6e 73 74 );.}....int.price_matched(.const
d980 20 75 69 6e 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 .uint8_t.prev_byte,.const.uint8_
d9a0 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 63 t.symbol,......................c
d9c0 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 6d 61 74 63 68 5f 62 79 74 65 20 29 20 63 6f 6e 73 74 0a onst.uint8_t.match_byte.).const.
d9e0 20 20 20 20 7b 20 72 65 74 75 72 6e 20 3a 3a 70 72 69 63 65 5f 6d 61 74 63 68 65 64 28 20 62 6d ....{.return.::price_matched(.bm
da00 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 65 76 5f 62 79 74 65 _literal[get_lit_state(prev_byte
da20 29 5d 2c 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 )],.symbol,.....................
da40 20 20 20 20 20 20 20 20 20 20 6d 61 74 63 68 5f 62 79 74 65 20 29 3b 20 7d 0a 0a 20 20 76 6f 69 ..........match_byte.);.}....voi
da60 64 20 65 6e 63 6f 64 65 5f 6c 69 74 65 72 61 6c 28 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 d.encode_literal(.const.uint8_t.
da80 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 20 prev_byte,.const.uint8_t.symbol.
daa0 29 0a 20 20 20 20 7b 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f 74 72 65 65 38 28 20 62 6d 5f 6c 69 ).....{.renc.encode_tree8(.bm_li
dac0 74 65 72 61 6c 5b 67 65 74 5f 6c 69 74 5f 73 74 61 74 65 28 70 72 65 76 5f 62 79 74 65 29 5d 2c teral[get_lit_state(prev_byte)],
dae0 20 73 79 6d 62 6f 6c 20 29 3b 20 7d 0a 0a 20 20 76 6f 69 64 20 65 6e 63 6f 64 65 5f 6d 61 74 63 .symbol.);.}....void.encode_matc
db00 68 65 64 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 hed(.const.uint8_t.prev_byte,.co
db20 6e 73 74 20 75 69 6e 74 38 5f 74 20 73 79 6d 62 6f 6c 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 nst.uint8_t.symbol,.............
db40 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 61 74 63 68 5f 62 ...........const.uint8_t.match_b
db60 79 74 65 20 29 0a 20 20 20 20 7b 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f 6d 61 74 63 68 65 64 28 yte.).....{.renc.encode_matched(
db80 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 65 76 5f 62 .bm_literal[get_lit_state(prev_b
dba0 79 74 65 29 5d 2c 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 yte)],.symbol,..................
dbc0 20 20 20 20 20 20 20 20 20 20 6d 61 74 63 68 5f 62 79 74 65 20 29 3b 20 7d 0a 0a 20 20 76 6f 69 ..........match_byte.);.}....voi
dbe0 64 20 65 6e 63 6f 64 65 5f 70 61 69 72 28 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 64 69 d.encode_pair(.const.unsigned.di
dc00 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 6e 74 20 70 6f 73 5f s,.const.int.len,.const.int.pos_
dc20 73 74 61 74 65 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f 6c 65 state.).....{.....renc.encode_le
dc40 6e 28 20 6d 61 74 63 68 5f 6c 65 6e 5f 6d 6f 64 65 6c 2c 20 6c 65 6e 2c 20 70 6f 73 5f 73 74 61 n(.match_len_model,.len,.pos_sta
dc60 74 65 20 29 3b 0a 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 64 69 73 5f 73 6c 6f te.);.....const.unsigned.dis_slo
dc80 74 20 3d 20 67 65 74 5f 73 6c 6f 74 28 20 64 69 73 20 29 3b 0a 20 20 20 20 72 65 6e 63 2e 65 6e t.=.get_slot(.dis.);.....renc.en
dca0 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 6c 65 6e 5f code_tree6(.bm_dis_slot[get_len_
dcc0 73 74 61 74 65 28 6c 65 6e 29 5d 2c 20 64 69 73 5f 73 6c 6f 74 20 29 3b 0a 0a 20 20 20 20 69 66 state(len)],.dis_slot.);......if
dce0 28 20 64 69 73 5f 73 6c 6f 74 20 3e 3d 20 73 74 61 72 74 5f 64 69 73 5f 6d 6f 64 65 6c 20 29 0a (.dis_slot.>=.start_dis_model.).
dd00 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 69 72 65 63 74 5f 62 ......{.......const.int.direct_b
dd20 69 74 73 20 3d 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 its.=.(.dis_slot.>>.1.).-.1;....
dd40 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 62 61 73 65 20 3d 20 28 20 32 20 7c 20 28 ...const.unsigned.base.=.(.2.|.(
dd60 20 64 69 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 .dis_slot.&.1.).).<<.direct_bits
dd80 3b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 64 69 72 65 63 74 5f 64 69 ;.......const.unsigned.direct_di
dda0 73 20 3d 20 64 69 73 20 2d 20 62 61 73 65 3b 0a 0a 20 20 20 20 20 20 69 66 28 20 64 69 73 5f 73 s.=.dis.-.base;........if(.dis_s
ddc0 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 72 65 lot.<.end_dis_model.).........re
dde0 6e 63 2e 65 6e 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 nc.encode_tree_reversed(.bm_dis.
de00 2b 20 28 20 62 61 73 65 20 2d 20 64 69 73 5f 73 6c 6f 74 20 29 2c 0a 20 20 20 20 20 20 20 20 20 +.(.base.-.dis_slot.),..........
de20 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 72 65 63 74 ..........................direct
de40 5f 64 69 73 2c 20 64 69 72 65 63 74 5f 62 69 74 73 20 29 3b 0a 20 20 20 20 20 20 65 6c 73 65 0a _dis,.direct_bits.);.......else.
de60 20 20 20 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 28 20 64 ........{.........renc.encode(.d
de80 69 72 65 63 74 5f 64 69 73 20 3e 3e 20 64 69 73 5f 61 6c 69 67 6e 5f 62 69 74 73 2c 20 64 69 72 irect_dis.>>.dis_align_bits,.dir
dea0 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 29 3b 0a 20 20 20 ect_bits.-.dis_align_bits.);....
dec0 20 20 20 20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f 74 72 65 65 5f 72 65 76 65 72 73 65 64 28 20 .....renc.encode_tree_reversed(.
dee0 62 6d 5f 61 6c 69 67 6e 2c 20 64 69 72 65 63 74 5f 64 69 73 2c 20 64 69 73 5f 61 6c 69 67 6e 5f bm_align,.direct_dis,.dis_align_
df00 62 69 74 73 20 29 3b 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 bits.);.........}.......}.....}.
df20 0a 20 20 76 6f 69 64 20 66 75 6c 6c 5f 66 6c 75 73 68 28 20 63 6f 6e 73 74 20 53 74 61 74 65 20 ...void.full_flush(.const.State.
df40 73 74 61 74 65 20 29 3b 0a 0a 70 75 62 6c 69 63 3a 0a 20 20 76 69 72 74 75 61 6c 20 7e 4c 5a 5f state.);..public:...virtual.~LZ_
df60 65 6e 63 6f 64 65 72 5f 62 61 73 65 28 29 20 7b 7d 0a 0a 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f encoder_base().{}....unsigned.lo
df80 6e 67 20 6c 6f 6e 67 20 6d 65 6d 62 65 72 5f 70 6f 73 69 74 69 6f 6e 28 29 20 63 6f 6e 73 74 20 ng.long.member_position().const.
dfa0 7b 20 72 65 74 75 72 6e 20 72 65 6e 63 2e 6d 65 6d 62 65 72 5f 70 6f 73 69 74 69 6f 6e 28 29 3b {.return.renc.member_position();
dfc0 20 7d 0a 20 20 76 69 72 74 75 61 6c 20 76 6f 69 64 20 72 65 73 65 74 28 29 3b 0a 0a 20 20 76 69 .}...virtual.void.reset();....vi
dfe0 72 74 75 61 6c 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 74 20 rtual.bool.encode_member(.const.
e000 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 20 29 unsigned.long.long.member_size.)
e020 20 3d 20 30 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 .=.0;...};......................
e040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e200 6c 7a 69 70 2d 31 2e 32 33 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.23/NEWS..................
e220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
e280 30 30 30 30 37 31 30 00 31 34 31 36 37 30 36 34 33 32 31 00 30 31 33 31 31 34 00 20 30 00 00 00 0000710.14167064321.013114..0...
e2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e300 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
e320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
e340 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
e360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e400 43 68 61 6e 67 65 73 20 69 6e 20 76 65 72 73 69 6f 6e 20 31 2e 32 33 3a 0a 0a 44 65 63 6f 6d 70 Changes.in.version.1.23:..Decomp
e420 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
e440 20 35 2d 31 32 25 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 66 69 6c 65 2e 0a 0a 49 .5-12%.depending.on.the.file...I
e460 6e 20 63 61 73 65 20 6f 66 20 65 72 72 6f 72 20 69 6e 20 61 20 6e 75 6d 65 72 69 63 61 6c 20 61 n.case.of.error.in.a.numerical.a
e480 72 67 75 6d 65 6e 74 20 74 6f 20 61 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 6f 70 74 69 6f 6e rgument.to.a.command.line.option
e4a0 2c 20 6c 7a 69 70 0a 6e 6f 77 20 73 68 6f 77 73 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 ,.lzip.now.shows.the.name.of.the
e4c0 20 6f 70 74 69 6f 6e 20 61 6e 64 20 74 68 65 20 72 61 6e 67 65 20 6f 66 20 76 61 6c 69 64 20 76 .option.and.the.range.of.valid.v
e4e0 61 6c 75 65 73 2e 0a 0a 53 65 76 65 72 61 6c 20 64 65 73 63 72 69 70 74 69 6f 6e 73 20 68 61 76 alues...Several.descriptions.hav
e500 65 20 62 65 65 6e 20 69 6d 70 72 6f 76 65 64 20 69 6e 20 6d 61 6e 75 61 6c 2c 20 27 2d 2d 68 65 e.been.improved.in.manual,.'--he
e520 6c 70 27 2c 20 61 6e 64 20 6d 61 6e 20 70 61 67 65 2e 0a 0a 54 68 65 20 74 65 78 69 6e 66 6f 20 lp',.and.man.page...The.texinfo.
e540 63 61 74 65 67 6f 72 79 20 6f 66 20 74 68 65 20 6d 61 6e 75 61 6c 20 68 61 73 20 62 65 65 6e 20 category.of.the.manual.has.been.
e560 63 68 61 6e 67 65 64 20 66 72 6f 6d 20 27 44 61 74 61 20 43 6f 6d 70 72 65 73 73 69 6f 6e 27 0a changed.from.'Data.Compression'.
e580 74 6f 20 27 43 6f 6d 70 72 65 73 73 69 6f 6e 27 20 74 6f 20 6d 61 74 63 68 20 74 68 61 74 20 6f to.'Compression'.to.match.that.o
e5a0 66 20 67 7a 69 70 2e 20 28 52 65 70 6f 72 74 65 64 20 62 79 20 41 6c 66 72 65 64 20 4d 2e 20 53 f.gzip..(Reported.by.Alfred.M..S
e5c0 7a 6d 69 64 74 29 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 zmidt)..........................
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 33 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.23/decoder.cc............
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 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
e680 30 30 32 30 36 35 34 00 31 34 31 37 32 36 34 35 36 32 35 00 30 31 34 33 35 32 00 20 30 00 00 00 0020654.14172645625.014352..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 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
e720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
e740 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
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 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 /*.Lzip.-.LZMA.lossless.data.com
e820 70 72 65 73 73 6f 72 0a 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d 32 30 pressor....Copyright.(C).2008-20
e840 32 32 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 54 68 69 73 20 70 22.Antonio.Diaz.Diaz......This.p
e860 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 63 61 6e rogram.is.free.software:.you.can
e880 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 79 0a 20 .redistribute.it.and/or.modify..
e8a0 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 47 4e 55 20 ..it.under.the.terms.of.the.GNU.
e8c0 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 62 6c 69 73 General.Public.License.as.publis
e8e0 68 65 64 20 62 79 0a 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e hed.by....the.Free.Software.Foun
e900 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 20 74 68 65 20 dation,.either.version.2.of.the.
e920 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 License,.or....(at.your.option).
e940 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 54 68 69 73 20 70 72 6f 67 any.later.version......This.prog
e960 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 70 65 20 74 ram.is.distributed.in.the.hope.t
e980 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 62 75 74 20 57 49 hat.it.will.be.useful,....but.WI
e9a0 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 65 76 65 6e THOUT.ANY.WARRANTY;.without.even
e9c0 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 4d 45 52 43 .the.implied.warranty.of....MERC
e9e0 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
ea00 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 0a 20 20 20 47 4e 55 TICULAR.PURPOSE...See.the....GNU
ea20 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 72 65 .General.Public.License.for.more
ea40 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 .details......You.should.have.re
ea60 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 6e 65 72 61 6c ceived.a.copy.of.the.GNU.General
ea80 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 .Public.License....along.with.th
eaa0 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 3c 68 74 74 70 3a 2f is.program...If.not,.see.<http:/
eac0 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 2a 2f 0a 0a 23 64 65 /www.gnu.org/licenses/>..*/..#de
eae0 66 69 6e 65 20 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 36 34 0a 0a 23 69 6e 63 6c fine._FILE_OFFSET_BITS.64..#incl
eb00 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 65 72 72 6e 6f ude.<algorithm>.#include.<cerrno
eb20 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 20 3c 63 73 >.#include.<cstdio>.#include.<cs
eb40 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 6e 63 6c 75 tdlib>.#include.<cstring>.#inclu
eb60 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 3e 0a 23 69 de.<string>.#include.<vector>.#i
eb80 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 73 nclude.<stdint.h>.#include.<unis
eba0 74 64 2e 68 3e 0a 0a 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 td.h>..#include."lzip.h".#includ
ebc0 65 20 22 64 65 63 6f 64 65 72 2e 68 22 0a 0a 0a 2f 2a 20 52 65 74 75 72 6e 20 74 68 65 20 6e 75 e."decoder.h".../*.Return.the.nu
ebe0 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 72 65 61 6c 6c 79 20 72 65 61 64 2e 0a 20 20 20 49 66 mber.of.bytes.really.read.....If
ec00 20 28 76 61 6c 75 65 20 72 65 74 75 72 6e 65 64 20 3c 20 73 69 7a 65 29 20 61 6e 64 20 28 65 72 .(value.returned.<.size).and.(er
ec20 72 6e 6f 20 3d 3d 20 30 29 2c 20 6d 65 61 6e 73 20 45 4f 46 20 77 61 73 20 72 65 61 63 68 65 64 rno.==.0),.means.EOF.was.reached
ec40 2e 0a 2a 2f 0a 69 6e 74 20 72 65 61 64 62 6c 6f 63 6b 28 20 63 6f 6e 73 74 20 69 6e 74 20 66 64 ..*/.int.readblock(.const.int.fd
ec60 2c 20 75 69 6e 74 38 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 ,.uint8_t.*.const.buf,.const.int
ec80 20 73 69 7a 65 20 29 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 .size.)...{...int.sz.=.0;...errn
eca0 6f 20 3d 20 30 3b 0a 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 o.=.0;...while(.sz.<.size.).....
ecc0 7b 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 6e 20 3d 20 72 65 61 64 28 20 66 64 2c 20 62 75 {.....const.int.n.=.read(.fd,.bu
ece0 66 20 2b 20 73 7a 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 f.+.sz,.size.-.sz.);.....if(.n.>
ed00 20 30 20 29 20 73 7a 20 2b 3d 20 6e 3b 0a 20 20 20 20 65 6c 73 65 20 69 66 28 20 6e 20 3d 3d 20 .0.).sz.+=.n;.....else.if(.n.==.
ed20 30 20 29 20 62 72 65 61 6b 3b 09 09 09 09 2f 2f 20 45 4f 46 0a 20 20 20 20 65 6c 73 65 20 69 66 0.).break;....//.EOF.....else.if
ed40 28 20 65 72 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 (.errno.!=.EINTR.).break;.....er
ed60 72 6e 6f 20 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 rno.=.0;.....}...return.sz;...}.
ed80 0a 0a 2f 2a 20 52 65 74 75 72 6e 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 ../*.Return.the.number.of.bytes.
eda0 72 65 61 6c 6c 79 20 77 72 69 74 74 65 6e 2e 0a 20 20 20 49 66 20 28 76 61 6c 75 65 20 72 65 74 really.written.....If.(value.ret
edc0 75 72 6e 65 64 20 3c 20 73 69 7a 65 29 2c 20 69 74 20 69 73 20 61 6c 77 61 79 73 20 61 6e 20 65 urned.<.size),.it.is.always.an.e
ede0 72 72 6f 72 2e 0a 2a 2f 0a 69 6e 74 20 77 72 69 74 65 62 6c 6f 63 6b 28 20 63 6f 6e 73 74 20 69 rror..*/.int.writeblock(.const.i
ee00 6e 74 20 66 64 2c 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 nt.fd,.const.uint8_t.*.const.buf
ee20 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 7a 20 ,.const.int.size.)...{...int.sz.
ee40 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 3c 20 =.0;...errno.=.0;...while(.sz.<.
ee60 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 20 77 size.).....{.....const.int.n.=.w
ee80 72 69 74 65 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 3b rite(.fd,.buf.+.sz,.size.-.sz.);
eea0 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 6c .....if(.n.>.0.).sz.+=.n;.....el
eec0 73 65 20 69 66 28 20 6e 20 3c 20 30 20 26 26 20 65 72 72 6e 6f 20 21 3d 20 45 49 4e 54 52 20 29 se.if(.n.<.0.&&.errno.!=.EINTR.)
eee0 20 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 .break;.....errno.=.0;.....}...r
ef00 65 74 75 72 6e 20 73 7a 3b 0a 20 20 7d 0a 0a 0a 62 6f 6f 6c 20 52 61 6e 67 65 5f 64 65 63 6f 64 eturn.sz;...}...bool.Range_decod
ef20 65 72 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 er::read_block()...{...if(.!at_s
ef40 74 72 65 61 6d 5f 65 6e 64 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 73 74 72 65 61 6d 5f 70 6f 73 tream_end.).....{.....stream_pos
ef60 20 3d 20 72 65 61 64 62 6c 6f 63 6b 28 20 69 6e 66 64 2c 20 62 75 66 66 65 72 2c 20 62 75 66 66 .=.readblock(.infd,.buffer,.buff
ef80 65 72 5f 73 69 7a 65 20 29 3b 0a 20 20 20 20 69 66 28 20 73 74 72 65 61 6d 5f 70 6f 73 20 21 3d er_size.);.....if(.stream_pos.!=
efa0 20 62 75 66 66 65 72 5f 73 69 7a 65 20 26 26 20 65 72 72 6e 6f 20 29 20 74 68 72 6f 77 20 45 72 .buffer_size.&&.errno.).throw.Er
efc0 72 6f 72 28 20 22 52 65 61 64 20 65 72 72 6f 72 22 20 29 3b 0a 20 20 20 20 61 74 5f 73 74 72 65 ror(."Read.error".);.....at_stre
efe0 61 6d 5f 65 6e 64 20 3d 20 28 20 73 74 72 65 61 6d 5f 70 6f 73 20 3c 20 62 75 66 66 65 72 5f 73 am_end.=.(.stream_pos.<.buffer_s
f000 69 7a 65 20 29 3b 0a 20 20 20 20 70 61 72 74 69 61 6c 5f 6d 65 6d 62 65 72 5f 70 6f 73 20 2b 3d ize.);.....partial_member_pos.+=
f020 20 70 6f 73 3b 0a 20 20 20 20 70 6f 73 20 3d 20 30 3b 0a 20 20 20 20 73 68 6f 77 5f 64 70 72 6f .pos;.....pos.=.0;.....show_dpro
f040 67 72 65 73 73 28 29 3b 0a 20 20 20 20 7d 0a 20 20 72 65 74 75 72 6e 20 70 6f 73 20 3c 20 73 74 gress();.....}...return.pos.<.st
f060 72 65 61 6d 5f 70 6f 73 3b 0a 20 20 7d 0a 0a 0a 76 6f 69 64 20 4c 5a 5f 64 65 63 6f 64 65 72 3a ream_pos;...}...void.LZ_decoder:
f080 3a 66 6c 75 73 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 :flush_data()...{...if(.pos.>.st
f0a0 72 65 61 6d 5f 70 6f 73 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 73 ream_pos.).....{.....const.int.s
f0c0 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
f0e0 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
f100 65 61 6d 5f 70 6f 73 2c 20 73 69 7a 65 20 29 3b 0a 20 20 20 20 69 66 28 20 6f 75 74 66 64 20 3e eam_pos,.size.);.....if(.outfd.>
f120 3d 20 30 20 26 26 20 77 72 69 74 65 62 6c 6f 63 6b 28 20 6f 75 74 66 64 2c 20 62 75 66 66 65 72 =.0.&&.writeblock(.outfd,.buffer
f140 20 2b 20 73 74 72 65 61 6d 5f 70 6f 73 2c 20 73 69 7a 65 20 29 20 21 3d 20 73 69 7a 65 20 29 0a .+.stream_pos,.size.).!=.size.).
f160 20 20 20 20 20 20 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 ......throw.Error(."Write.error"
f180 20 29 3b 0a 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 .);.....if(.pos.>=.dictionary_si
f1a0 7a 65 20 29 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 ze.).......{.partial_data_pos.+=
f1c0 20 70 6f 73 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 .pos;.pos.=.0;.pos_wrapped.=.tru
f1e0 65 3b 20 7d 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 e;.}.....stream_pos.=.pos;.....}
f200 0a 20 20 7d 0a 0a 0a 62 6f 6f 6c 20 4c 5a 5f 64 65 63 6f 64 65 72 3a 3a 76 65 72 69 66 79 5f 74 ...}...bool.LZ_decoder::verify_t
f220 72 61 69 6c 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 70 70 20 railer(.const.Pretty_print.&.pp.
f240 29 20 63 6f 6e 73 74 0a 20 20 7b 0a 20 20 4c 7a 69 70 5f 74 72 61 69 6c 65 72 20 74 72 61 69 6c ).const...{...Lzip_trailer.trail
f260 65 72 3b 0a 20 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 28 er;...int.size.=.rdec.read_data(
f280 20 74 72 61 69 6c 65 72 2e 64 61 74 61 2c 20 4c 7a 69 70 5f 74 72 61 69 6c 65 72 3a 3a 73 69 7a .trailer.data,.Lzip_trailer::siz
f2a0 65 20 29 3b 0a 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 e.);...const.unsigned.long.long.
f2c0 64 61 74 61 5f 73 69 7a 65 20 3d 20 64 61 74 61 5f 70 6f 73 69 74 69 6f 6e 28 29 3b 0a 20 20 63 data_size.=.data_position();...c
f2e0 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
f300 69 7a 65 20 3d 20 72 64 65 63 2e 6d 65 6d 62 65 72 5f 70 6f 73 69 74 69 6f 6e 28 29 3b 0a 20 20 ize.=.rdec.member_position();...
f320 62 6f 6f 6c 20 65 72 72 6f 72 20 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 69 66 28 20 73 69 7a 65 20 bool.error.=.false;....if(.size.
f340 3c 20 4c 7a 69 70 5f 74 72 61 69 6c 65 72 3a 3a 73 69 7a 65 20 29 0a 20 20 20 20 7b 0a 20 20 20 <.Lzip_trailer::size.).....{....
f360 20 65 72 72 6f 72 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 69 66 28 20 76 65 72 62 6f 73 69 74 79 .error.=.true;.....if(.verbosity
f380 20 3e 3d 20 30 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 70 70 28 29 3b 0a 20 20 20 20 .>=.0.).......{.......pp();.....
f3a0 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 61 69 6c 65 72 ..std::fprintf(.stderr,."Trailer
f3c0 20 74 72 75 6e 63 61 74 65 64 20 61 74 20 74 72 61 69 6c 65 72 20 70 6f 73 69 74 69 6f 6e 20 25 .truncated.at.trailer.position.%
f3e0 64 3b 22 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 d;".............................
f400 22 20 73 6f 6d 65 20 63 68 65 63 6b 73 20 6d 61 79 20 66 61 69 6c 2e 5c 6e 22 2c 20 73 69 7a 65 ".some.checks.may.fail.\n",.size
f420 20 29 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 77 68 69 6c 65 28 20 73 69 7a 65 20 3c 20 4c 7a .);.......}.....while(.size.<.Lz
f440 69 70 5f 74 72 61 69 6c 65 72 3a 3a 73 69 7a 65 20 29 20 74 72 61 69 6c 65 72 2e 64 61 74 61 5b ip_trailer::size.).trailer.data[
f460 73 69 7a 65 2b 2b 5d 20 3d 20 30 3b 0a 20 20 20 20 7d 0a 0a 20 20 63 6f 6e 73 74 20 75 6e 73 69 size++].=.0;.....}....const.unsi
f480 67 6e 65 64 20 74 64 5f 63 72 63 20 3d 20 74 72 61 69 6c 65 72 2e 64 61 74 61 5f 63 72 63 28 29 gned.td_crc.=.trailer.data_crc()
f4a0 3b 0a 20 20 69 66 28 20 74 64 5f 63 72 63 20 21 3d 20 63 72 63 28 29 20 29 0a 20 20 20 20 7b 0a ;...if(.td_crc.!=.crc().).....{.
f4c0 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 20 76 65 72 62 6f 73 ....error.=.true;.....if(.verbos
f4e0 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 70 70 28 29 3b 0a 20 ity.>=.0.).......{.......pp();..
f500 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 43 52 43 20 .....std::fprintf(.stderr,."CRC.
f520 6d 69 73 6d 61 74 63 68 3b 20 73 74 6f 72 65 64 20 25 30 38 58 2c 20 63 6f 6d 70 75 74 65 64 20 mismatch;.stored.%08X,.computed.
f540 25 30 38 58 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 %08X\n",.....................td_
f560 63 72 63 2c 20 63 72 63 28 29 20 29 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 63 6f crc,.crc().);.......}.....}...co
f580 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 74 64 5f 73 69 7a 65 20 3d nst.unsigned.long.long.td_size.=
f5a0 20 74 72 61 69 6c 65 72 2e 64 61 74 61 5f 73 69 7a 65 28 29 3b 0a 20 20 69 66 28 20 74 64 5f 73 .trailer.data_size();...if(.td_s
f5c0 69 7a 65 20 21 3d 20 64 61 74 61 5f 73 69 7a 65 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 65 72 72 ize.!=.data_size.).....{.....err
f5e0 6f 72 20 3d 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 or.=.true;.....if(.verbosity.>=.
f600 30 20 29 0a 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 0.).......{.......pp();.......st
f620 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 65 72 72 2c 20 22 44 61 74 61 20 73 69 7a 65 20 6d d::fprintf(.stderr,."Data.size.m
f640 69 73 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 ismatch;.stored.%llu.(0x%llX),.c
f660 6f 6d 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 omputed.%llu.(0x%llX)\n",.......
f680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 64 5f 73 69 7a 65 2c 20 74 64 5f 73 69 7a 65 2c 20 ..............td_size,.td_size,.
f6a0 64 61 74 61 5f 73 69 7a 65 2c 20 64 61 74 61 5f 73 69 7a 65 20 29 3b 0a 20 20 20 20 20 20 7d 0a data_size,.data_size.);.......}.
f6c0 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 6c 6f 6e 67 ....}...const.unsigned.long.long
f6e0 20 74 6d 5f 73 69 7a 65 20 3d 20 74 72 61 69 6c 65 72 2e 6d 65 6d 62 65 72 5f 73 69 7a 65 28 29 .tm_size.=.trailer.member_size()
f700 3b 0a 20 20 69 66 28 20 74 6d 5f 73 69 7a 65 20 21 3d 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 29 ;...if(.tm_size.!=.member_size.)
f720 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(
f740 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.).......{.......
f760 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
f780 2c 20 22 4d 65 6d 62 65 72 20 73 69 7a 65 20 6d 69 73 6d 61 74 63 68 3b 20 73 74 6f 72 65 64 20 ,."Member.size.mismatch;.stored.
f7a0 25 6c 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 %llu.(0x%llX),.computed.%llu.(0x
f7c0 25 6c 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 6d %llX)\n",.....................tm
f7e0 5f 73 69 7a 65 2c 20 74 6d 5f 73 69 7a 65 2c 20 6d 65 6d 62 65 72 5f 73 69 7a 65 2c 20 6d 65 6d _size,.tm_size,.member_size,.mem
f800 62 65 72 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 69 66 28 20 ber_size.);.......}.....}...if(.
f820 65 72 72 6f 72 20 29 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 69 66 28 20 76 65 72 62 error.).return.false;...if(.verb
f840 6f 73 69 74 79 20 3e 3d 20 32 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 76 65 72 62 6f osity.>=.2.).....{.....if(.verbo
f860 73 69 74 79 20 3e 3d 20 34 20 29 20 73 68 6f 77 5f 68 65 61 64 65 72 28 20 64 69 63 74 69 6f 6e sity.>=.4.).show_header(.diction
f880 61 72 79 5f 73 69 7a 65 20 29 3b 0a 20 20 20 20 69 66 28 20 64 61 74 61 5f 73 69 7a 65 20 3d 3d ary_size.);.....if(.data_size.==
f8a0 20 30 20 7c 7c 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 3d 3d 20 30 20 29 0a 20 20 20 20 20 20 73 .0.||.member_size.==.0.).......s
f8c0 74 64 3a 3a 66 70 75 74 73 28 20 22 6e 6f 20 64 61 74 61 20 63 6f 6d 70 72 65 73 73 65 64 2e 20 td::fputs(."no.data.compressed..
f8e0 22 2c 20 73 74 64 65 72 72 20 29 3b 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 73 74 64 3a ",.stderr.);.....else.......std:
f900 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 20 25 35 2e 32 :fprintf(.stderr,."%6.3f:1,.%5.2
f920 66 25 25 20 72 61 74 69 6f 2c 20 25 35 2e 32 66 25 25 20 73 61 76 65 64 2e 20 22 2c 0a 20 20 20 f%%.ratio,.%5.2f%%.saved..",....
f940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 75 62 6c 65 29 64 61 74 61 5f 73 69 .................(double)data_si
f960 7a 65 20 2f 20 6d 65 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 ze./.member_size,...............
f980 20 20 20 20 20 20 28 20 31 30 30 2e 30 20 2a 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 29 20 2f 20 ......(.100.0.*.member_size.)./.
f9a0 64 61 74 61 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 31 data_size,.....................1
f9c0 30 30 2e 30 20 2d 20 28 20 28 20 31 30 30 2e 30 20 2a 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 29 00.0.-.(.(.100.0.*.member_size.)
f9e0 20 2f 20 64 61 74 61 5f 73 69 7a 65 20 29 20 29 3b 0a 20 20 20 20 69 66 28 20 76 65 72 62 6f 73 ./.data_size.).);.....if(.verbos
fa00 69 74 79 20 3e 3d 20 34 20 29 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 65 72 72 2c ity.>=.4.).std::fprintf(.stderr,
fa20 20 22 43 52 43 20 25 30 38 58 2c 20 22 2c 20 74 64 5f 63 72 63 20 29 3b 0a 20 20 20 20 69 66 28 ."CRC.%08X,.",.td_crc.);.....if(
fa40 20 76 65 72 62 6f 73 69 74 79 20 3e 3d 20 33 20 29 0a 20 20 20 20 20 20 73 74 64 3a 3a 66 70 72 .verbosity.>=.3.).......std::fpr
fa60 69 6e 74 66 28 20 73 74 64 65 72 72 2c 20 22 25 39 6c 6c 75 20 6f 75 74 2c 20 25 38 6c 6c 75 20 intf(.stderr,."%9llu.out,.%8llu.
fa80 69 6e 2e 20 22 2c 20 64 61 74 61 5f 73 69 7a 65 2c 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 29 3b in..",.data_size,.member_size.);
faa0 0a 20 20 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 2f 2a 20 52 .....}...return.true;...}.../*.R
fac0 65 74 75 72 6e 20 76 61 6c 75 65 3a 20 30 20 3d 20 4f 4b 2c 20 31 20 3d 20 64 65 63 6f 64 65 72 eturn.value:.0.=.OK,.1.=.decoder
fae0 20 65 72 72 6f 72 2c 20 32 20 3d 20 75 6e 65 78 70 65 63 74 65 64 20 45 4f 46 2c 0a 20 20 20 20 .error,.2.=.unexpected.EOF,.....
fb00 20 20 20 20 20 20 20 20 20 20 20 20 20 33 20 3d 20 74 72 61 69 6c 65 72 20 65 72 72 6f 72 2c 20 .............3.=.trailer.error,.
fb20 34 20 3d 20 75 6e 6b 6e 6f 77 6e 20 6d 61 72 6b 65 72 20 66 6f 75 6e 64 2e 20 2a 2f 0a 69 6e 74 4.=.unknown.marker.found..*/.int
fb40 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 72 28 20 63 6f 6e 73 .LZ_decoder::decode_member(.cons
fb60 74 20 50 72 65 74 74 79 5f 70 72 69 6e 74 20 26 20 70 70 20 29 0a 20 20 7b 0a 20 20 42 69 74 5f t.Pretty_print.&.pp.)...{...Bit_
fb80 6d 6f 64 65 6c 20 62 6d 5f 6c 69 74 65 72 61 6c 5b 31 3c 3c 6c 69 74 65 72 61 6c 5f 63 6f 6e 74 model.bm_literal[1<<literal_cont
fba0 65 78 74 5f 62 69 74 73 5d 5b 30 78 33 30 30 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d ext_bits][0x300];...Bit_model.bm
fbc0 5f 6d 61 74 63 68 5b 53 74 61 74 65 3a 3a 73 74 61 74 65 73 5d 5b 70 6f 73 5f 73 74 61 74 65 73 _match[State::states][pos_states
fbe0 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 72 65 70 5b 53 74 61 74 65 3a 3a 73 74 61 ];...Bit_model.bm_rep[State::sta
fc00 74 65 73 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 72 65 70 30 5b 53 74 61 74 65 3a tes];...Bit_model.bm_rep0[State:
fc20 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 70 31 5b 53 74 :states];...Bit_model.bm_rep1[St
fc40 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 70 ate::states];...Bit_model.bm_rep
fc60 32 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 6d 2[State::states];...Bit_model.bm
fc80 5f 6c 65 6e 5b 53 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 _len[State::states][pos_states];
fca0 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 64 69 73 5f 73 6c 6f 74 5b 6c 65 6e 5f 73 74 61 ...Bit_model.bm_dis_slot[len_sta
fcc0 74 65 73 5d 5b 31 3c 3c 64 69 73 5f 73 6c 6f 74 5f 62 69 74 73 5d 3b 0a 20 20 42 69 74 5f 6d 6f tes][1<<dis_slot_bits];...Bit_mo
fce0 64 65 6c 20 62 6d 5f 64 69 73 5b 6d 6f 64 65 6c 65 64 5f 64 69 73 74 61 6e 63 65 73 2d 65 6e 64 del.bm_dis[modeled_distances-end
fd00 5f 64 69 73 5f 6d 6f 64 65 6c 2b 31 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 61 6c _dis_model+1];...Bit_model.bm_al
fd20 69 67 6e 5b 64 69 73 5f 61 6c 69 67 6e 5f 73 69 7a 65 5d 3b 0a 20 20 4c 65 6e 5f 6d 6f 64 65 6c ign[dis_align_size];...Len_model
fd40 20 6d 61 74 63 68 5f 6c 65 6e 5f 6d 6f 64 65 6c 3b 0a 20 20 4c 65 6e 5f 6d 6f 64 65 6c 20 72 65 .match_len_model;...Len_model.re
fd60 70 5f 6c 65 6e 5f 6d 6f 64 65 6c 3b 0a 20 20 75 6e 73 69 67 6e 65 64 20 72 65 70 30 20 3d 20 30 p_len_model;...unsigned.rep0.=.0
fd80 3b 09 09 2f 2f 20 72 65 70 5b 30 2d 33 5d 20 6c 61 74 65 73 74 20 66 6f 75 72 20 64 69 73 74 61 ;..//.rep[0-3].latest.four.dista
fda0 6e 63 65 73 0a 20 20 75 6e 73 69 67 6e 65 64 20 72 65 70 31 20 3d 20 30 3b 09 09 2f 2f 20 75 73 nces...unsigned.rep1.=.0;..//.us
fdc0 65 64 20 66 6f 72 20 65 66 66 69 63 69 65 6e 74 20 63 6f 64 69 6e 67 20 6f 66 0a 20 20 75 6e 73 ed.for.efficient.coding.of...uns
fde0 69 67 6e 65 64 20 72 65 70 32 20 3d 20 30 3b 09 09 2f 2f 20 72 65 70 65 61 74 65 64 20 64 69 73 igned.rep2.=.0;..//.repeated.dis
fe00 74 61 6e 63 65 73 0a 20 20 75 6e 73 69 67 6e 65 64 20 72 65 70 33 20 3d 20 30 3b 0a 20 20 53 74 tances...unsigned.rep3.=.0;...St
fe20 61 74 65 20 73 74 61 74 65 3b 0a 0a 20 20 72 64 65 63 2e 6c 6f 61 64 28 29 3b 0a 20 20 77 68 69 ate.state;....rdec.load();...whi
fe40 6c 65 28 20 21 72 64 65 63 2e 66 69 6e 69 73 68 65 64 28 29 20 29 0a 20 20 20 20 7b 0a 20 20 20 le(.!rdec.finished().).....{....
fe60 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 6f 73 69 .const.int.pos_state.=.data_posi
fe80 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 69 66 28 tion().&.pos_state_mask;.....if(
fea0 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 61 74 65 .rdec.decode_bit(.bm_match[state
fec0 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 74 20 62 ()][pos_state].).==.0.).//.1st.b
fee0 69 74 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 2f 2f 20 6c 69 74 65 72 61 6c 20 62 79 74 65 it.......{.......//.literal.byte
ff00 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
ff20 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
ff40 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
ff60 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
ff80 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
ffa0 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
ffc0 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.).).);.
ffe0 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 6d ......continue;.......}.....//.m
10000 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 69 6e 74 20 6c atch.or.repeated.match.....int.l
10020 65 6e 3b 0a 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 en;.....if(.rdec.decode_bit(.bm_
10040 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 6e 64 20 62 69 rep[state()].).!=.0.)..//.2nd.bi
10060 74 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 69 66 28 20 72 64 65 63 2e 64 65 63 6f 64 65 5f t.......{.......if(.rdec.decode_
10080 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 29 09 09 bit(.bm_rep0[state()].).==.0.)..
100a0 2f 2f 20 33 72 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 //.3rd.bit.........{.........if(
100c0 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 73 74 61 74 65 28 29 .rdec.decode_bit(.bm_len[state()
100e0 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 34 74 68 20 62 69 74 ][pos_state].).==.0.).//.4th.bit
10100 0a 20 20 20 20 20 20 20 20 20 20 7b 20 73 74 61 74 65 2e 73 65 74 5f 73 68 6f 72 74 5f 72 65 70 ...........{.state.set_short_rep
10120 28 29 3b 20 70 75 74 5f 62 79 74 65 28 20 70 65 65 6b 28 20 72 65 70 30 20 29 20 29 3b 20 63 6f ();.put_byte(.peek(.rep0.).);.co
10140 6e 74 69 6e 75 65 3b 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 65 6c 73 65 0a 20 ntinue;.}.........}.......else..
10160 20 20 20 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 73 74 61 6e .......{.........unsigned.distan
10180 63 65 3b 0a 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 ce;.........if(.rdec.decode_bit(
101a0 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 09 2f 2f 20 34 .bm_rep1[state()].).==.0.)..//.4
101c0 74 68 20 62 69 74 0a 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 th.bit...........distance.=.rep1
101e0 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 0a 20 20 20 20 20 ;.........else...........{......
10200 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
10220 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..
10240 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 20 20 ...........distance.=.rep2;.....
10260 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 64 69 73 74 61 6e 63 ......else.............{.distanc
10280 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;.}........
102a0 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 7d 0a 20 20 20 20 ...rep2.=.rep1;...........}.....
102c0 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 72 65 70 30 20 3d 20 ....rep1.=.rep0;.........rep0.=.
102e0 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 2e distance;.........}.......state.
10300 73 65 74 5f 72 65 70 28 29 3b 0a 20 20 20 20 20 20 6c 65 6e 20 3d 20 72 64 65 63 2e 64 65 63 6f set_rep();.......len.=.rdec.deco
10320 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 74 61 74 65 de_len(.rep_len_model,.pos_state
10340 20 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 61 74 63 .);.......}.....else.....//.matc
10360 68 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 6c 65 6e 20 3d 20 72 64 65 63 2e 64 65 63 6f 64 h.......{.......len.=.rdec.decod
10380 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 5f 73 74 61 74 e_len(.match_len_model,.pos_stat
103a0 65 20 29 3b 0a 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 e.);.......unsigned.distance.=.r
103c0 64 65 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 dec.decode_tree6(.bm_dis_slot[ge
103e0 74 5f 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 69 66 28 20 64 t_len_state(len)].);.......if(.d
10400 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.)....
10420 20 20 20 20 20 7b 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 .....{.........const.unsigned.di
10440 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 63 6f 6e 73 74 s_slot.=.distance;.........const
10460 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 6f 74 20 3e 3e .int.direct_bits.=.(.dis_slot.>>
10480 20 31 20 29 20 2d 20 31 3b 0a 20 20 20 20 20 20 20 20 64 69 73 74 61 6e 63 65 20 3d 20 28 20 32 .1.).-.1;.........distance.=.(.2
104a0 20 7c 20 28 20 64 69 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 .|.(.dis_slot.&.1.).).<<.direct_
104c0 62 69 74 73 3b 0a 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 bits;.........if(.dis_slot.<.end
104e0 5f 64 69 73 5f 6d 6f 64 65 6c 20 29 0a 20 20 20 20 20 20 20 20 20 20 64 69 73 74 61 6e 63 65 20 _dis_model.)...........distance.
10500 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 73 65 64 28 0a 20 20 +=.rdec.decode_tree_reversed(...
10520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6d 5f 64 69 73 20 2b 20 28 20 64 ....................bm_dis.+.(.d
10540 69 73 74 61 6e 63 65 20 2d 20 64 69 73 5f 73 6c 6f 74 20 29 2c 20 64 69 72 65 63 74 5f 62 69 74 istance.-.dis_slot.),.direct_bit
10560 73 20 29 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 0a 20 20 s.);.........else...........{...
10580 20 20 20 20 20 20 20 20 64 69 73 74 61 6e 63 65 20 2b 3d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ........distance.+=.............
105a0 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 69 73 5f 61 rdec.decode(.direct_bits.-.dis_a
105c0 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 73 3b 0a 20 lign_bits.).<<.dis_align_bits;..
105e0 20 20 20 20 20 20 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 .........distance.+=.rdec.decode
10600 5f 74 72 65 65 5f 72 65 76 65 72 73 65 64 34 28 20 62 6d 5f 61 6c 69 67 6e 20 29 3b 0a 20 20 20 _tree_reversed4(.bm_align.);....
10620 20 20 20 20 20 20 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 .......if(.distance.==.0xFFFFFFF
10640 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 20 20 FU.)..//.marker.found...........
10660 20 20 7b 0a 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 ..{.............rdec.normalize()
10680 3b 0a 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();.....
106a0 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 65 6e ........if(.len.==.min_match_len
106c0 20 29 09 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 20 .)..//.End.Of.Stream.marker.....
106e0 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 69 66 28 20 76 65 ..........{...............if(.ve
10700 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 20 30 3b 20 65 rify_trailer(.pp.).).return.0;.e
10720 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 20 7d 0a 20 20 lse.return.3;...............}...
10740 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
10760 65 6e 20 2b 20 31 20 29 09 2f 2f 20 53 79 6e 63 20 46 6c 75 73 68 20 6d 61 72 6b 65 72 0a 20 20 en.+.1.).//.Sync.Flush.marker...
10780 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 72 64 65 63 ............{...............rdec
107a0 2e 6c 6f 61 64 28 29 3b 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .load();.continue;..............
107c0 20 7d 0a 20 20 20 20 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.>=.
107e0 30 20 29 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 20 0.)...............{.............
10800 20 20 70 70 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 64 3a 3a 66 70 72 69 6e ..pp();...............std::fprin
10820 74 66 28 20 73 74 64 65 72 72 2c 20 22 55 6e 73 75 70 70 6f 72 74 65 64 20 6d 61 72 6b 65 72 20 tf(.stderr,."Unsupported.marker.
10840 63 6f 64 65 20 27 25 64 27 5c 6e 22 2c 20 6c 65 6e 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 code.'%d'\n",.len.);............
10860 20 20 20 7d 0a 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 ...}.............return.4;......
10880 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 7d 0a 20 .......}...........}.........}..
108a0 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 3b 20 72 .....rep3.=.rep2;.rep2.=.rep1;.r
108c0 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 20 20 20 ep1.=.rep0;.rep0.=.distance;....
108e0 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 20 69 66 28 20 ...state.set_match();.......if(.
10900 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 7c 20 28 20 72 65 70 rep0.>=.dictionary_size.||.(.rep
10920 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 29 20 29 0a 20 20 20 0.>=.pos.&&.!pos_wrapped.).)....
10940 20 20 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 31 3b 20 7d .....{.flush_data();.return.1;.}
10960 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 63 6f 70 79 5f 62 6c 6f 63 6b 28 20 72 65 70 30 2c 20 6c .......}.....copy_block(.rep0,.l
10980 65 6e 20 29 3b 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 en.);.....}...flush_data();...re
109a0 74 75 72 6e 20 32 3b 0a 20 20 7d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 turn.2;...}.....................
109c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
109e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10a00 6c 7a 69 70 2d 31 2e 32 33 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.23/encoder.h.............
10a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10a60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
10a80 30 30 32 31 36 34 35 00 31 34 31 37 32 36 34 35 36 32 35 00 30 31 34 32 32 37 00 20 30 00 00 00 0021645.14172645625.014227..0...
10aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10b00 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
10b20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
10b40 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
10b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10c00 2f 2a 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 /*.Lzip.-.LZMA.lossless.data.com
10c20 70 72 65 73 73 6f 72 0a 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d 32 30 pressor....Copyright.(C).2008-20
10c40 32 32 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 54 68 69 73 20 70 22.Antonio.Diaz.Diaz......This.p
10c60 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 63 61 6e rogram.is.free.software:.you.can
10c80 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 79 0a 20 .redistribute.it.and/or.modify..
10ca0 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 47 4e 55 20 ..it.under.the.terms.of.the.GNU.
10cc0 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 62 6c 69 73 General.Public.License.as.publis
10ce0 68 65 64 20 62 79 0a 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e hed.by....the.Free.Software.Foun
10d00 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 20 74 68 65 20 dation,.either.version.2.of.the.
10d20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 License,.or....(at.your.option).
10d40 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 54 68 69 73 20 70 72 6f 67 any.later.version......This.prog
10d60 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 70 65 20 74 ram.is.distributed.in.the.hope.t
10d80 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 62 75 74 20 57 49 hat.it.will.be.useful,....but.WI
10da0 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 65 76 65 6e THOUT.ANY.WARRANTY;.without.even
10dc0 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 4d 45 52 43 .the.implied.warranty.of....MERC
10de0 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
10e00 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 0a 20 20 20 47 4e 55 TICULAR.PURPOSE...See.the....GNU
10e20 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 72 65 .General.Public.License.for.more
10e40 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 .details......You.should.have.re
10e60 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 6e 65 72 61 6c ceived.a.copy.of.the.GNU.General
10e80 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 .Public.License....along.with.th
10ea0 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 3c 68 74 74 70 3a 2f is.program...If.not,.see.<http:/
10ec0 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 2a 2f 0a 0a 63 6c 61 /www.gnu.org/licenses/>..*/..cla
10ee0 73 73 20 4c 65 6e 5f 70 72 69 63 65 73 0a 20 20 7b 0a 20 20 63 6f 6e 73 74 20 4c 65 6e 5f 6d 6f ss.Len_prices...{...const.Len_mo
10f00 64 65 6c 20 26 20 6c 6d 3b 0a 20 20 63 6f 6e 73 74 20 69 6e 74 20 6c 65 6e 5f 73 79 6d 62 6f 6c del.&.lm;...const.int.len_symbol
10f20 73 3b 0a 20 20 63 6f 6e 73 74 20 69 6e 74 20 63 6f 75 6e 74 3b 0a 20 20 69 6e 74 20 70 72 69 63 s;...const.int.count;...int.pric
10f40 65 73 5b 70 6f 73 5f 73 74 61 74 65 73 5d 5b 6d 61 78 5f 6c 65 6e 5f 73 79 6d 62 6f 6c 73 5d 3b es[pos_states][max_len_symbols];
10f60 0a 20 20 69 6e 74 20 63 6f 75 6e 74 65 72 73 5b 70 6f 73 5f 73 74 61 74 65 73 5d 3b 09 09 09 2f ...int.counters[pos_states];.../
10f80 2f 20 6d 61 79 20 64 65 63 72 65 6d 65 6e 74 20 62 65 6c 6f 77 20 30 0a 0a 20 20 76 6f 69 64 20 /.may.decrement.below.0....void.
10fa0 75 70 64 61 74 65 5f 6c 6f 77 5f 6d 69 64 5f 70 72 69 63 65 73 28 20 63 6f 6e 73 74 20 69 6e 74 update_low_mid_prices(.const.int
10fc0 20 70 6f 73 5f 73 74 61 74 65 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 6e 74 20 2a 20 63 6f 6e .pos_state.).....{.....int.*.con
10fe0 73 74 20 70 70 73 20 3d 20 70 72 69 63 65 73 5b 70 6f 73 5f 73 74 61 74 65 5d 3b 0a 20 20 20 20 st.pps.=.prices[pos_state];.....
11000 69 6e 74 20 74 6d 70 20 3d 20 70 72 69 63 65 30 28 20 6c 6d 2e 63 68 6f 69 63 65 31 20 29 3b 0a int.tmp.=.price0(.lm.choice1.);.
11020 20 20 20 20 69 6e 74 20 6c 65 6e 20 3d 20 30 3b 0a 20 20 20 20 66 6f 72 28 20 3b 20 6c 65 6e 20 ....int.len.=.0;.....for(.;.len.
11040 3c 20 6c 65 6e 5f 6c 6f 77 5f 73 79 6d 62 6f 6c 73 20 26 26 20 6c 65 6e 20 3c 20 6c 65 6e 5f 73 <.len_low_symbols.&&.len.<.len_s
11060 79 6d 62 6f 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 ymbols;.++len.).......pps[len].=
11080 20 74 6d 70 20 2b 20 70 72 69 63 65 5f 73 79 6d 62 6f 6c 33 28 20 6c 6d 2e 62 6d 5f 6c 6f 77 5b .tmp.+.price_symbol3(.lm.bm_low[
110a0 70 6f 73 5f 73 74 61 74 65 5d 2c 20 6c 65 6e 20 29 3b 0a 20 20 20 20 69 66 28 20 6c 65 6e 20 3e pos_state],.len.);.....if(.len.>
110c0 3d 20 6c 65 6e 5f 73 79 6d 62 6f 6c 73 20 29 20 72 65 74 75 72 6e 3b 0a 20 20 20 20 74 6d 70 20 =.len_symbols.).return;.....tmp.
110e0 3d 20 70 72 69 63 65 31 28 20 6c 6d 2e 63 68 6f 69 63 65 31 20 29 20 2b 20 70 72 69 63 65 30 28 =.price1(.lm.choice1.).+.price0(
11100 20 6c 6d 2e 63 68 6f 69 63 65 32 20 29 3b 0a 20 20 20 20 66 6f 72 28 20 3b 20 6c 65 6e 20 3c 20 .lm.choice2.);.....for(.;.len.<.
11120 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 5f 73 79 6d 62 6f 6c len_low_symbols.+.len_mid_symbol
11140 73 20 26 26 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 s.&&.len.<.len_symbols;.++len.).
11160 20 20 20 20 20 20 70 70 73 5b 6c 65 6e 5d 20 3d 20 74 6d 70 20 2b 0a 20 20 20 20 20 20 20 20 20 ......pps[len].=.tmp.+..........
11180 20 20 20 20 20 20 20 20 70 72 69 63 65 5f 73 79 6d 62 6f 6c 33 28 20 6c 6d 2e 62 6d 5f 6d 69 64 ........price_symbol3(.lm.bm_mid
111a0 5b 70 6f 73 5f 73 74 61 74 65 5d 2c 20 6c 65 6e 20 2d 20 6c 65 6e 5f 6c 6f 77 5f 73 79 6d 62 6f [pos_state],.len.-.len_low_symbo
111c0 6c 73 20 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 76 6f 69 64 20 75 70 64 61 74 65 5f 68 69 67 68 5f ls.);.....}....void.update_high_
111e0 70 72 69 63 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 74 6d 70 prices().....{.....const.int.tmp
11200 20 3d 20 70 72 69 63 65 31 28 20 6c 6d 2e 63 68 6f 69 63 65 31 20 29 20 2b 20 70 72 69 63 65 31 .=.price1(.lm.choice1.).+.price1
11220 28 20 6c 6d 2e 63 68 6f 69 63 65 32 20 29 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 6c 65 6e (.lm.choice2.);.....for(.int.len
11240 20 3d 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 5f 73 79 6d .=.len_low_symbols.+.len_mid_sym
11260 62 6f 6c 73 3b 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 bols;.len.<.len_symbols;.++len.)
11280 0a 20 20 20 20 20 20 2f 2f 20 75 73 69 6e 67 20 34 20 73 6c 6f 74 73 20 70 65 72 20 76 61 6c 75 .......//.using.4.slots.per.valu
112a0 65 20 6d 61 6b 65 73 20 22 70 72 69 63 65 22 20 66 61 73 74 65 72 0a 20 20 20 20 20 20 70 72 69 e.makes."price".faster.......pri
112c0 63 65 73 5b 33 5d 5b 6c 65 6e 5d 20 3d 20 70 72 69 63 65 73 5b 32 5d 5b 6c 65 6e 5d 20 3d 20 70 ces[3][len].=.prices[2][len].=.p
112e0 72 69 63 65 73 5b 31 5d 5b 6c 65 6e 5d 20 3d 20 70 72 69 63 65 73 5b 30 5d 5b 6c 65 6e 5d 20 3d rices[1][len].=.prices[0][len].=
11300 20 74 6d 70 20 2b 0a 20 20 20 20 20 20 20 20 70 72 69 63 65 5f 73 79 6d 62 6f 6c 38 28 20 6c 6d .tmp.+.........price_symbol8(.lm
11320 2e 62 6d 5f 68 69 67 68 2c 20 6c 65 6e 20 2d 20 6c 65 6e 5f 6c 6f 77 5f 73 79 6d 62 6f 6c 73 20 .bm_high,.len.-.len_low_symbols.
11340 2d 20 6c 65 6e 5f 6d 69 64 5f 73 79 6d 62 6f 6c 73 20 29 3b 0a 20 20 20 20 7d 0a 0a 70 75 62 6c -.len_mid_symbols.);.....}..publ
11360 69 63 3a 0a 20 20 76 6f 69 64 20 72 65 73 65 74 28 29 20 7b 20 66 6f 72 28 20 69 6e 74 20 69 20 ic:...void.reset().{.for(.int.i.
11380 3d 20 30 3b 20 69 20 3c 20 70 6f 73 5f 73 74 61 74 65 73 3b 20 2b 2b 69 20 29 20 63 6f 75 6e 74 =.0;.i.<.pos_states;.++i.).count
113a0 65 72 73 5b 69 5d 20 3d 20 30 3b 20 7d 0a 0a 20 20 4c 65 6e 5f 70 72 69 63 65 73 28 20 63 6f 6e ers[i].=.0;.}....Len_prices(.con
113c0 73 74 20 4c 65 6e 5f 6d 6f 64 65 6c 20 26 20 6d 2c 20 63 6f 6e 73 74 20 69 6e 74 20 6d 61 74 63 st.Len_model.&.m,.const.int.matc
113e0 68 5f 6c 65 6e 5f 6c 69 6d 69 74 20 29 0a 20 20 20 20 3a 0a 20 20 20 20 6c 6d 28 20 6d 20 29 2c h_len_limit.).....:.....lm(.m.),
11400 0a 20 20 20 20 6c 65 6e 5f 73 79 6d 62 6f 6c 73 28 20 6d 61 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 .....len_symbols(.match_len_limi
11420 74 20 2b 20 31 20 2d 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 20 29 2c 0a 20 20 20 20 63 6f 75 t.+.1.-.min_match_len.),.....cou
11440 6e 74 28 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 20 3f 20 31 nt(.(.match_len_limit.>.12.).?.1
11460 20 3a 20 6c 65 6e 5f 73 79 6d 62 6f 6c 73 20 29 0a 20 20 20 20 7b 20 72 65 73 65 74 28 29 3b 20 .:.len_symbols.).....{.reset();.
11480 7d 0a 0a 20 20 76 6f 69 64 20 64 65 63 72 65 6d 65 6e 74 5f 63 6f 75 6e 74 65 72 28 20 63 6f 6e }....void.decrement_counter(.con
114a0 73 74 20 69 6e 74 20 70 6f 73 5f 73 74 61 74 65 20 29 20 7b 20 2d 2d 63 6f 75 6e 74 65 72 73 5b st.int.pos_state.).{.--counters[
114c0 70 6f 73 5f 73 74 61 74 65 5d 3b 20 7d 0a 0a 20 20 76 6f 69 64 20 75 70 64 61 74 65 5f 70 72 69 pos_state];.}....void.update_pri
114e0 63 65 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 62 6f 6f 6c 20 68 69 67 68 5f 70 65 6e 64 69 6e ces().....{.....bool.high_pendin
11500 67 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 70 6f 73 5f 73 74 61 74 g.=.false;.....for(.int.pos_stat
11520 65 20 3d 20 30 3b 20 70 6f 73 5f 73 74 61 74 65 20 3c 20 70 6f 73 5f 73 74 61 74 65 73 3b 20 2b e.=.0;.pos_state.<.pos_states;.+
11540 2b 70 6f 73 5f 73 74 61 74 65 20 29 0a 20 20 20 20 20 20 69 66 28 20 63 6f 75 6e 74 65 72 73 5b +pos_state.).......if(.counters[
11560 70 6f 73 5f 73 74 61 74 65 5d 20 3c 3d 20 30 20 29 0a 20 20 20 20 20 20 20 20 7b 20 63 6f 75 6e pos_state].<=.0.).........{.coun
11580 74 65 72 73 5b 70 6f 73 5f 73 74 61 74 65 5d 20 3d 20 63 6f 75 6e 74 3b 0a 20 20 20 20 20 20 20 ters[pos_state].=.count;........
115a0 20 20 20 75 70 64 61 74 65 5f 6c 6f 77 5f 6d 69 64 5f 70 72 69 63 65 73 28 20 70 6f 73 5f 73 74 ...update_low_mid_prices(.pos_st
115c0 61 74 65 20 29 3b 20 68 69 67 68 5f 70 65 6e 64 69 6e 67 20 3d 20 74 72 75 65 3b 20 7d 0a 20 20 ate.);.high_pending.=.true;.}...
115e0 20 20 69 66 28 20 68 69 67 68 5f 70 65 6e 64 69 6e 67 20 26 26 20 6c 65 6e 5f 73 79 6d 62 6f 6c ..if(.high_pending.&&.len_symbol
11600 73 20 3e 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 5f 73 79 s.>.len_low_symbols.+.len_mid_sy
11620 6d 62 6f 6c 73 20 29 0a 20 20 20 20 20 20 75 70 64 61 74 65 5f 68 69 67 68 5f 70 72 69 63 65 73 mbols.).......update_high_prices
11640 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 69 6e 74 20 70 72 69 63 65 28 20 63 6f 6e 73 74 20 69 6e ();.....}....int.price(.const.in
11660 74 20 6c 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 20 63 6f 6e t.len,.const.int.pos_state.).con
11680 73 74 0a 20 20 20 20 7b 20 72 65 74 75 72 6e 20 70 72 69 63 65 73 5b 70 6f 73 5f 73 74 61 74 65 st.....{.return.prices[pos_state
116a0 5d 5b 6c 65 6e 20 2d 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 5d 3b 20 7d 0a 20 20 7d 3b 0a 0a ][len.-.min_match_len];.}...};..
116c0 0a 63 6c 61 73 73 20 4c 5a 5f 65 6e 63 6f 64 65 72 20 3a 20 70 75 62 6c 69 63 20 4c 5a 5f 65 6e .class.LZ_encoder.:.public.LZ_en
116e0 63 6f 64 65 72 5f 62 61 73 65 0a 20 20 7b 0a 20 20 73 74 72 75 63 74 20 50 61 69 72 09 09 09 2f coder_base...{...struct.Pair.../
11700 2f 20 64 69 73 74 61 6e 63 65 2d 6c 65 6e 67 74 68 20 70 61 69 72 0a 20 20 20 20 7b 0a 20 20 20 /.distance-length.pair.....{....
11720 20 69 6e 74 20 64 69 73 3b 0a 20 20 20 20 69 6e 74 20 6c 65 6e 3b 0a 20 20 20 20 7d 3b 0a 0a 20 .int.dis;.....int.len;.....};...
11740 20 65 6e 75 6d 20 7b 20 69 6e 66 69 6e 69 74 65 5f 70 72 69 63 65 20 3d 20 30 78 30 46 46 46 46 .enum.{.infinite_price.=.0x0FFFF
11760 46 46 46 2c 0a 20 20 20 20 20 20 20 20 20 6d 61 78 5f 6e 75 6d 5f 74 72 69 61 6c 73 20 3d 20 31 FFF,..........max_num_trials.=.1
11780 20 3c 3c 20 31 33 2c 0a 20 20 20 20 20 20 20 20 20 73 69 6e 67 6c 65 5f 73 74 65 70 5f 74 72 69 .<<.13,..........single_step_tri
117a0 61 6c 20 3d 20 2d 32 2c 0a 20 20 20 20 20 20 20 20 20 64 75 61 6c 5f 73 74 65 70 5f 74 72 69 61 al.=.-2,..........dual_step_tria
117c0 6c 20 3d 20 2d 31 20 7d 3b 0a 0a 20 20 73 74 72 75 63 74 20 54 72 69 61 6c 0a 20 20 20 20 7b 0a l.=.-1.};....struct.Trial.....{.
117e0 20 20 20 20 53 74 61 74 65 20 73 74 61 74 65 3b 0a 20 20 20 20 69 6e 74 20 70 72 69 63 65 3b 09 ....State.state;.....int.price;.
11800 09 2f 2f 20 64 75 61 6c 20 75 73 65 20 76 61 72 3b 20 63 75 6d 75 6c 61 74 69 76 65 20 70 72 69 .//.dual.use.var;.cumulative.pri
11820 63 65 2c 20 6d 61 74 63 68 20 6c 65 6e 67 74 68 0a 20 20 20 20 69 6e 74 20 64 69 73 34 3b 09 09 ce,.match.length.....int.dis4;..
11840 2f 2f 20 2d 31 20 66 6f 72 20 6c 69 74 65 72 61 6c 2c 20 6f 72 20 72 65 70 2c 20 6f 72 20 6d 61 //.-1.for.literal,.or.rep,.or.ma
11860 74 63 68 20 64 69 73 74 61 6e 63 65 20 2b 20 34 0a 20 20 20 20 69 6e 74 20 70 72 65 76 5f 69 6e tch.distance.+.4.....int.prev_in
11880 64 65 78 3b 09 2f 2f 20 69 6e 64 65 78 20 6f 66 20 70 72 65 76 20 74 72 69 61 6c 20 69 6e 20 74 dex;.//.index.of.prev.trial.in.t
118a0 72 69 61 6c 73 5b 5d 0a 20 20 20 20 69 6e 74 20 70 72 65 76 5f 69 6e 64 65 78 32 3b 09 2f 2f 20 rials[].....int.prev_index2;.//.
118c0 20 20 2d 32 20 20 74 72 69 61 6c 20 69 73 20 73 69 6e 67 6c 65 20 73 74 65 70 0a 09 09 09 2f 2f ..-2..trial.is.single.step....//
118e0 20 20 20 2d 31 20 20 6c 69 74 65 72 61 6c 20 2b 20 72 65 70 30 0a 09 09 09 2f 2f 20 3e 3d 20 30 ...-1..literal.+.rep0....//.>=.0
11900 20 20 28 20 72 65 70 20 6f 72 20 6d 61 74 63 68 20 29 20 2b 20 6c 69 74 65 72 61 6c 20 2b 20 72 ..(.rep.or.match.).+.literal.+.r
11920 65 70 30 0a 20 20 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 ep0.....int.reps[num_rep_distanc
11940 65 73 5d 3b 0a 0a 20 20 20 20 76 6f 69 64 20 75 70 64 61 74 65 28 20 63 6f 6e 73 74 20 69 6e 74 es];......void.update(.const.int
11960 20 70 72 2c 20 63 6f 6e 73 74 20 69 6e 74 20 64 69 73 74 61 6e 63 65 34 2c 20 63 6f 6e 73 74 20 .pr,.const.int.distance4,.const.
11980 69 6e 74 20 70 5f 69 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 69 66 28 20 70 72 20 3c int.p_i.).......{.......if(.pr.<
119a0 20 70 72 69 63 65 20 29 0a 20 20 20 20 20 20 20 20 7b 20 70 72 69 63 65 20 3d 20 70 72 3b 20 64 .price.).........{.price.=.pr;.d
119c0 69 73 34 20 3d 20 64 69 73 74 61 6e 63 65 34 3b 20 70 72 65 76 5f 69 6e 64 65 78 20 3d 20 70 5f is4.=.distance4;.prev_index.=.p_
119e0 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 73 69 6e 67 6c i;...........prev_index2.=.singl
11a00 65 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 69 e_step_trial;.}.......}......voi
11a20 64 20 75 70 64 61 74 65 32 28 20 63 6f 6e 73 74 20 69 6e 74 20 70 72 2c 20 63 6f 6e 73 74 20 69 d.update2(.const.int.pr,.const.i
11a40 6e 74 20 70 5f 69 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 69 66 28 20 70 72 20 3c 20 nt.p_i.).......{.......if(.pr.<.
11a60 70 72 69 63 65 20 29 0a 20 20 20 20 20 20 20 20 7b 20 70 72 69 63 65 20 3d 20 70 72 3b 20 64 69 price.).........{.price.=.pr;.di
11a80 73 34 20 3d 20 30 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 s4.=.0;.prev_index.=.p_i;.......
11aa0 20 20 20 20 70 72 65 76 5f 69 6e 64 65 78 32 20 3d 20 64 75 61 6c 5f 73 74 65 70 5f 74 72 69 61 ....prev_index2.=.dual_step_tria
11ac0 6c 3b 20 7d 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 76 6f 69 64 20 75 70 64 61 74 65 33 28 20 l;.}.......}......void.update3(.
11ae0 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 6e 63 65 const.int.pr,.const.int.distance
11b00 34 2c 20 63 6f 6e 73 74 20 69 6e 74 20 70 5f 69 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4,.const.int.p_i,...............
11b20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 70 5f 69 32 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 ....const.int.p_i2.).......{....
11b40 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
11b60 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 76 ice.=.pr;.dis4.=.distance4;.prev
11b80 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 64 _index.=.p_i;...........prev_ind
11ba0 65 78 32 20 3d 20 70 5f 69 32 3b 20 7d 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 3b 0a 0a 20 20 ex2.=.p_i2;.}.......}.....};....
11bc0 63 6f 6e 73 74 20 69 6e 74 20 63 79 63 6c 65 73 3b 0a 20 20 63 6f 6e 73 74 20 69 6e 74 20 6d 61 const.int.cycles;...const.int.ma
11be0 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 74 3b 0a 20 20 4c 65 6e 5f 70 72 69 63 65 73 20 6d 61 74 63 tch_len_limit;...Len_prices.matc
11c00 68 5f 6c 65 6e 5f 70 72 69 63 65 73 3b 0a 20 20 4c 65 6e 5f 70 72 69 63 65 73 20 72 65 70 5f 6c h_len_prices;...Len_prices.rep_l
11c20 65 6e 5f 70 72 69 63 65 73 3b 0a 20 20 69 6e 74 20 70 65 6e 64 69 6e 67 5f 6e 75 6d 5f 70 61 69 en_prices;...int.pending_num_pai
11c40 72 73 3b 0a 20 20 50 61 69 72 20 70 61 69 72 73 5b 6d 61 78 5f 6d 61 74 63 68 5f 6c 65 6e 2b 31 rs;...Pair.pairs[max_match_len+1
11c60 5d 3b 0a 20 20 54 72 69 61 6c 20 74 72 69 61 6c 73 5b 6d 61 78 5f 6e 75 6d 5f 74 72 69 61 6c 73 ];...Trial.trials[max_num_trials
11c80 5d 3b 0a 0a 20 20 69 6e 74 20 64 69 73 5f 73 6c 6f 74 5f 70 72 69 63 65 73 5b 6c 65 6e 5f 73 74 ];....int.dis_slot_prices[len_st
11ca0 61 74 65 73 5d 5b 32 2a 6d 61 78 5f 64 69 63 74 69 6f 6e 61 72 79 5f 62 69 74 73 5d 3b 0a 20 20 ates][2*max_dictionary_bits];...
11cc0 69 6e 74 20 64 69 73 5f 70 72 69 63 65 73 5b 6c 65 6e 5f 73 74 61 74 65 73 5d 5b 6d 6f 64 65 6c int.dis_prices[len_states][model
11ce0 65 64 5f 64 69 73 74 61 6e 63 65 73 5d 3b 0a 20 20 69 6e 74 20 61 6c 69 67 6e 5f 70 72 69 63 65 ed_distances];...int.align_price
11d00 73 5b 64 69 73 5f 61 6c 69 67 6e 5f 73 69 7a 65 5d 3b 0a 20 20 63 6f 6e 73 74 20 69 6e 74 20 6e s[dis_align_size];...const.int.n
11d20 75 6d 5f 64 69 73 5f 73 6c 6f 74 73 3b 0a 0a 20 20 62 6f 6f 6c 20 64 65 63 5f 70 6f 73 28 20 63 um_dis_slots;....bool.dec_pos(.c
11d40 6f 6e 73 74 20 69 6e 74 20 61 68 65 61 64 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 61 onst.int.ahead.).....{.....if(.a
11d60 68 65 61 64 20 3c 20 30 20 7c 7c 20 70 6f 73 20 3c 20 61 68 65 61 64 20 29 20 72 65 74 75 72 6e head.<.0.||.pos.<.ahead.).return
11d80 20 66 61 6c 73 65 3b 0a 20 20 20 20 70 6f 73 20 2d 3d 20 61 68 65 61 64 3b 0a 20 20 20 20 69 66 .false;.....pos.-=.ahead;.....if
11da0 28 20 63 79 63 6c 69 63 5f 70 6f 73 20 3c 20 61 68 65 61 64 20 29 20 63 79 63 6c 69 63 5f 70 6f (.cyclic_pos.<.ahead.).cyclic_po
11dc0 73 20 2b 3d 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 2b 20 31 3b 0a 20 20 20 20 63 79 s.+=.dictionary_size.+.1;.....cy
11de0 63 6c 69 63 5f 70 6f 73 20 2d 3d 20 61 68 65 61 64 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 74 72 clic_pos.-=.ahead;.....return.tr
11e00 75 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 69 6e 74 20 67 65 74 5f 6d 61 74 63 68 5f 70 61 69 72 73 ue;.....}....int.get_match_pairs
11e20 28 20 50 61 69 72 20 2a 20 70 61 69 72 73 20 3d 20 30 20 29 3b 0a 20 20 76 6f 69 64 20 75 70 64 (.Pair.*.pairs.=.0.);...void.upd
11e40 61 74 65 5f 64 69 73 74 61 6e 63 65 5f 70 72 69 63 65 73 28 29 3b 0a 0a 20 20 20 20 20 20 20 2f ate_distance_prices();........./
11e60 2f 20 6d 6f 76 65 2d 74 6f 2d 66 72 6f 6e 74 20 64 69 73 20 69 6e 2f 69 6e 74 6f 20 72 65 70 73 /.move-to-front.dis.in/into.reps
11e80 3b 20 64 6f 20 6e 6f 74 68 69 6e 67 20 69 66 28 20 64 69 73 34 20 3c 3d 20 30 20 29 0a 20 20 73 ;.do.nothing.if(.dis4.<=.0.)...s
11ea0 74 61 74 69 63 20 76 6f 69 64 20 6d 74 66 5f 72 65 70 73 28 20 63 6f 6e 73 74 20 69 6e 74 20 64 tatic.void.mtf_reps(.const.int.d
11ec0 69 73 34 2c 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 is4,.int.reps[num_rep_distances]
11ee0 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 64 69 73 34 20 3e 3d 20 6e 75 6d 5f 72 65 70 .).....{.....if(.dis4.>=.num_rep
11f00 5f 64 69 73 74 61 6e 63 65 73 20 29 09 09 09 2f 2f 20 6d 61 74 63 68 0a 20 20 20 20 20 20 7b 0a _distances.)...//.match.......{.
11f20 20 20 20 20 20 20 72 65 70 73 5b 33 5d 20 3d 20 72 65 70 73 5b 32 5d 3b 20 72 65 70 73 5b 32 5d ......reps[3].=.reps[2];.reps[2]
11f40 20 3d 20 72 65 70 73 5b 31 5d 3b 20 72 65 70 73 5b 31 5d 20 3d 20 72 65 70 73 5b 30 5d 3b 0a 20 .=.reps[1];.reps[1].=.reps[0];..
11f60 20 20 20 20 20 72 65 70 73 5b 30 5d 20 3d 20 64 69 73 34 20 2d 20 6e 75 6d 5f 72 65 70 5f 64 69 .....reps[0].=.dis4.-.num_rep_di
11f80 73 74 61 6e 63 65 73 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 65 6c 73 65 20 69 66 28 20 64 69 stances;.......}.....else.if(.di
11fa0 73 34 20 3e 20 30 20 29 09 09 09 09 2f 2f 20 72 65 70 65 61 74 65 64 20 6d 61 74 63 68 0a 20 20 s4.>.0.)....//.repeated.match...
11fc0 20 20 20 20 7b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 64 69 73 74 61 6e 63 65 20 3d ....{.......const.int.distance.=
11fe0 20 72 65 70 73 5b 64 69 73 34 5d 3b 0a 20 20 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 .reps[dis4];.......for(.int.i.=.
12000 64 69 73 34 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 dis4;.i.>.0;.--i.).reps[i].=.rep
12020 73 5b 69 2d 31 5d 3b 0a 20 20 20 20 20 20 72 65 70 73 5b 30 5d 20 3d 20 64 69 73 74 61 6e 63 65 s[i-1];.......reps[0].=.distance
12040 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 69 6e 74 20 70 72 69 63 65 5f 73 68 6f ;.......}.....}....int.price_sho
12060 72 74 72 65 70 28 20 63 6f 6e 73 74 20 53 74 61 74 65 20 73 74 61 74 65 2c 20 63 6f 6e 73 74 20 rtrep(.const.State.state,.const.
12080 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 0a 20 20 20 20 int.pos_state.).const.....{.....
120a0 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 65 28 29 5d 20 return.price0(.bm_rep0[state()].
120c0 29 20 2b 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 73 5f ).+.price0(.bm_len[state()][pos_
120e0 73 74 61 74 65 5d 20 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 69 6e 74 20 70 72 69 63 65 5f 72 65 70 state].);.....}....int.price_rep
12100 28 20 63 6f 6e 73 74 20 69 6e 74 20 72 65 70 2c 20 63 6f 6e 73 74 20 53 74 61 74 65 20 73 74 61 (.const.int.rep,.const.State.sta
12120 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 74 0a te,.const.int.pos_state.).const.
12140 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 72 65 70 20 3d 3d 20 30 20 29 20 72 65 74 75 72 6e 20 ....{.....if(.rep.==.0.).return.
12160 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 29 20 2b 0a 20 20 20 price0(.bm_rep0[state()].).+....
12180 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 28 20 62 .......................price1(.b
121a0 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 3b 0a 20 20 20 m_len[state()][pos_state].);....
121c0 20 69 6e 74 20 70 72 69 63 65 20 3d 20 70 72 69 63 65 31 28 20 62 6d 5f 72 65 70 30 5b 73 74 61 .int.price.=.price1(.bm_rep0[sta
121e0 74 65 28 29 5d 20 29 3b 0a 20 20 20 20 69 66 28 20 72 65 70 20 3d 3d 20 31 20 29 0a 20 20 20 20 te()].);.....if(.rep.==.1.).....
12200 20 20 70 72 69 63 65 20 2b 3d 20 70 72 69 63 65 30 28 20 62 6d 5f 72 65 70 31 5b 73 74 61 74 65 ..price.+=.price0(.bm_rep1[state
12220 28 29 5d 20 29 3b 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 70 72 ()].);.....else.......{.......pr
12240 69 63 65 20 2b 3d 20 70 72 69 63 65 31 28 20 62 6d 5f 72 65 70 31 5b 73 74 61 74 65 28 29 5d 20 ice.+=.price1(.bm_rep1[state()].
12260 29 3b 0a 20 20 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 5f );.......price.+=.price_bit(.bm_
12280 72 65 70 32 5b 73 74 61 74 65 28 29 5d 2c 20 72 65 70 20 2d 20 32 20 29 3b 0a 20 20 20 20 20 20 rep2[state()],.rep.-.2.);.......
122a0 7d 0a 20 20 20 20 72 65 74 75 72 6e 20 70 72 69 63 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 69 6e 74 }.....return.price;.....}....int
122c0 20 70 72 69 63 65 5f 72 65 70 30 5f 6c 65 6e 28 20 63 6f 6e 73 74 20 69 6e 74 20 6c 65 6e 2c 20 .price_rep0_len(.const.int.len,.
122e0 63 6f 6e 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 const.State.state,.const.int.pos
12300 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 72 65 74 75 72 6e 20 _state.).const.....{.....return.
12320 70 72 69 63 65 5f 72 65 70 28 20 30 2c 20 73 74 61 74 65 2c 20 70 6f 73 5f 73 74 61 74 65 20 29 price_rep(.0,.state,.pos_state.)
12340 20 2b 0a 20 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 70 72 69 .+............rep_len_prices.pri
12360 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 7d 0a 0a 20 20 69 ce(.len,.pos_state.);.....}....i
12380 6e 74 20 70 72 69 63 65 5f 70 61 69 72 28 20 63 6f 6e 73 74 20 69 6e 74 20 64 69 73 2c 20 63 6f nt.price_pair(.const.int.dis,.co
123a0 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 5f 73 74 61 74 65 nst.int.len,.const.int.pos_state
123c0 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 69 6e 74 20 70 72 69 .).const.....{.....const.int.pri
123e0 63 65 20 3d 20 6d 61 74 63 68 5f 6c 65 6e 5f 70 72 69 63 65 73 2e 70 72 69 63 65 28 20 6c 65 6e ce.=.match_len_prices.price(.len
12400 2c 20 70 6f 73 5f 73 74 61 74 65 20 29 3b 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 6c 65 6e ,.pos_state.);.....const.int.len
12420 5f 73 74 61 74 65 20 3d 20 67 65 74 5f 6c 65 6e 5f 73 74 61 74 65 28 20 6c 65 6e 20 29 3b 0a 20 _state.=.get_len_state(.len.);..
12440 20 20 20 69 66 28 20 64 69 73 20 3c 20 6d 6f 64 65 6c 65 64 5f 64 69 73 74 61 6e 63 65 73 20 29 ...if(.dis.<.modeled_distances.)
12460 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 70 72 69 63 65 73 .......return.price.+.dis_prices
12480 5b 6c 65 6e 5f 73 74 61 74 65 5d 5b 64 69 73 5d 3b 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 [len_state][dis];.....else......
124a0 20 72 65 74 75 72 6e 20 70 72 69 63 65 20 2b 20 64 69 73 5f 73 6c 6f 74 5f 70 72 69 63 65 73 5b .return.price.+.dis_slot_prices[
124c0 6c 65 6e 5f 73 74 61 74 65 5d 5b 67 65 74 5f 73 6c 6f 74 28 20 64 69 73 20 29 5d 20 2b 0a 20 20 len_state][get_slot(.dis.)].+...
124e0 20 20 20 20 20 20 20 20 20 20 20 61 6c 69 67 6e 5f 70 72 69 63 65 73 5b 64 69 73 20 26 20 28 64 ...........align_prices[dis.&.(d
12500 69 73 5f 61 6c 69 67 6e 5f 73 69 7a 65 20 2d 20 31 29 5d 3b 0a 20 20 20 20 7d 0a 0a 20 20 69 6e is_align_size.-.1)];.....}....in
12520 74 20 72 65 61 64 5f 6d 61 74 63 68 5f 64 69 73 74 61 6e 63 65 73 28 29 0a 20 20 20 20 7b 0a 20 t.read_match_distances().....{..
12540 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 6e 75 6d 5f 70 61 69 72 73 20 3d 20 67 65 74 5f 6d 61 74 ...const.int.num_pairs.=.get_mat
12560 63 68 5f 70 61 69 72 73 28 20 70 61 69 72 73 20 29 3b 0a 20 20 20 20 69 66 28 20 6e 75 6d 5f 70 ch_pairs(.pairs.);.....if(.num_p
12580 61 69 72 73 20 3e 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 69 airs.>.0.).......{.......const.i
125a0 6e 74 20 6c 65 6e 20 3d 20 70 61 69 72 73 5b 6e 75 6d 5f 70 61 69 72 73 2d 31 5d 2e 6c 65 6e 3b nt.len.=.pairs[num_pairs-1].len;
125c0 0a 20 20 20 20 20 20 69 66 28 20 6c 65 6e 20 3d 3d 20 6d 61 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 .......if(.len.==.match_len_limi
125e0 74 20 26 26 20 6c 65 6e 20 3c 20 6d 61 78 5f 6d 61 74 63 68 5f 6c 65 6e 20 29 0a 20 20 20 20 20 t.&&.len.<.max_match_len.)......
12600 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 0a 20 20 20 20 ...pairs[num_pairs-1].len.=.....
12620 20 20 20 20 20 20 74 72 75 65 5f 6d 61 74 63 68 5f 6c 65 6e 28 20 6c 65 6e 2c 20 70 61 69 72 73 ......true_match_len(.len,.pairs
12640 5b 6e 75 6d 5f 70 61 69 72 73 2d 31 5d 2e 64 69 73 20 2b 20 31 20 29 3b 0a 20 20 20 20 20 20 7d [num_pairs-1].dis.+.1.);.......}
12660 0a 20 20 20 20 72 65 74 75 72 6e 20 6e 75 6d 5f 70 61 69 72 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 .....return.num_pairs;.....}....
12680 76 6f 69 64 20 6d 6f 76 65 5f 61 6e 64 5f 75 70 64 61 74 65 28 20 69 6e 74 20 6e 20 29 0a 20 20 void.move_and_update(.int.n.)...
126a0 20 20 7b 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 ..{.....while(.true.).......{...
126c0 20 20 20 20 6d 6f 76 65 5f 70 6f 73 28 29 3b 0a 20 20 20 20 20 20 69 66 28 20 2d 2d 6e 20 3c 3d ....move_pos();.......if(.--n.<=
126e0 20 30 20 29 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 67 65 74 5f 6d 61 74 63 68 5f 70 61 69 72 .0.).break;.......get_match_pair
12700 73 28 29 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 76 6f 69 64 20 62 61 63 6b 77 s();.......}.....}....void.backw
12720 61 72 64 28 20 69 6e 74 20 63 75 72 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 6e 74 20 64 69 73 ard(.int.cur.).....{.....int.dis
12740 34 20 3d 20 74 72 69 61 6c 73 5b 63 75 72 5d 2e 64 69 73 34 3b 0a 20 20 20 20 77 68 69 6c 65 28 4.=.trials[cur].dis4;.....while(
12760 20 63 75 72 20 3e 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 69 .cur.>.0.).......{.......const.i
12780 6e 74 20 70 72 65 76 5f 69 6e 64 65 78 20 3d 20 74 72 69 61 6c 73 5b 63 75 72 5d 2e 70 72 65 76 nt.prev_index.=.trials[cur].prev
127a0 5f 69 6e 64 65 78 3b 0a 20 20 20 20 20 20 54 72 69 61 6c 20 26 20 70 72 65 76 5f 74 72 69 61 6c _index;.......Trial.&.prev_trial
127c0 20 3d 20 74 72 69 61 6c 73 5b 70 72 65 76 5f 69 6e 64 65 78 5d 3b 0a 0a 20 20 20 20 20 20 69 66 .=.trials[prev_index];........if
127e0 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 21 3d 20 73 69 6e (.trials[cur].prev_index2.!=.sin
12800 67 6c 65 5f 73 74 65 70 5f 74 72 69 61 6c 20 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 gle_step_trial.).........{......
12820 20 20 20 70 72 65 76 5f 74 72 69 61 6c 2e 64 69 73 34 20 3d 20 2d 31 3b 09 09 09 09 09 2f 2f 20 ...prev_trial.dis4.=.-1;.....//.
12840 6c 69 74 65 72 61 6c 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 literal.........prev_trial.prev_
12860 69 6e 64 65 78 20 3d 20 70 72 65 76 5f 69 6e 64 65 78 20 2d 20 31 3b 0a 20 20 20 20 20 20 20 20 index.=.prev_index.-.1;.........
12880 70 72 65 76 5f 74 72 69 61 6c 2e 70 72 65 76 5f 69 6e 64 65 78 32 20 3d 20 73 69 6e 67 6c 65 5f prev_trial.prev_index2.=.single_
128a0 73 74 65 70 5f 74 72 69 61 6c 3b 0a 20 20 20 20 20 20 20 20 69 66 28 20 74 72 69 61 6c 73 5b 63 step_trial;.........if(.trials[c
128c0 75 72 5d 2e 70 72 65 76 5f 69 6e 64 65 78 32 20 3e 3d 20 30 20 29 0a 20 20 20 20 20 20 20 20 20 ur].prev_index2.>=.0.)..........
128e0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 54 72 69 61 6c 20 26 20 70 72 65 76 5f 74 72 69 61 6c 32 .{...........Trial.&.prev_trial2
12900 20 3d 20 74 72 69 61 6c 73 5b 70 72 65 76 5f 69 6e 64 65 78 2d 31 5d 3b 0a 20 20 20 20 20 20 20 .=.trials[prev_index-1];........
12920 20 20 20 70 72 65 76 5f 74 72 69 61 6c 32 2e 64 69 73 34 20 3d 20 64 69 73 34 3b 20 64 69 73 34 ...prev_trial2.dis4.=.dis4;.dis4
12940 20 3d 20 30 3b 09 09 09 2f 2f 20 72 65 70 30 0a 20 20 20 20 20 20 20 20 20 20 70 72 65 76 5f 74 .=.0;...//.rep0...........prev_t
12960 72 69 61 6c 32 2e 70 72 65 76 5f 69 6e 64 65 78 20 3d 20 74 72 69 61 6c 73 5b 63 75 72 5d 2e 70 rial2.prev_index.=.trials[cur].p
12980 72 65 76 5f 69 6e 64 65 78 32 3b 0a 20 20 20 20 20 20 20 20 20 20 70 72 65 76 5f 74 72 69 61 6c rev_index2;...........prev_trial
129a0 32 2e 70 72 65 76 5f 69 6e 64 65 78 32 20 3d 20 73 69 6e 67 6c 65 5f 73 74 65 70 5f 74 72 69 61 2.prev_index2.=.single_step_tria
129c0 6c 3b 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 20 70 l;...........}.........}.......p
129e0 72 65 76 5f 74 72 69 61 6c 2e 70 72 69 63 65 20 3d 20 63 75 72 20 2d 20 70 72 65 76 5f 69 6e 64 rev_trial.price.=.cur.-.prev_ind
12a00 65 78 3b 09 09 09 2f 2f 20 6c 65 6e 0a 20 20 20 20 20 20 63 75 72 20 3d 20 64 69 73 34 3b 20 64 ex;...//.len.......cur.=.dis4;.d
12a20 69 73 34 20 3d 20 70 72 65 76 5f 74 72 69 61 6c 2e 64 69 73 34 3b 20 70 72 65 76 5f 74 72 69 61 is4.=.prev_trial.dis4;.prev_tria
12a40 6c 2e 64 69 73 34 20 3d 20 63 75 72 3b 0a 20 20 20 20 20 20 63 75 72 20 3d 20 70 72 65 76 5f 69 l.dis4.=.cur;.......cur.=.prev_i
12a60 6e 64 65 78 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 69 6e 74 20 73 65 71 75 65 ndex;.......}.....}....int.seque
12a80 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 75 nce_optimizer(.const.int.reps[nu
12aa0 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 20 m_rep_distances],...............
12ac0 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 53 74 61 74 65 20 73 74 61 74 65 20 29 3b ............const.State.state.);
12ae0 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 6d 61 78 5f 6e 75 6d ....enum.{.before_size.=.max_num
12b00 5f 74 72 69 61 6c 73 2c 0a 20 20 20 20 20 20 20 20 20 2f 2f 20 62 79 74 65 73 20 74 6f 20 6b 65 _trials,..........//.bytes.to.ke
12b20 65 70 20 69 6e 20 62 75 66 66 65 72 20 61 66 74 65 72 20 70 6f 73 0a 20 20 20 20 20 20 20 20 20 ep.in.buffer.after.pos..........
12b40 61 66 74 65 72 5f 73 69 7a 65 20 3d 20 28 20 32 20 2a 20 6d 61 78 5f 6d 61 74 63 68 5f 6c 65 6e after_size.=.(.2.*.max_match_len
12b60 20 29 20 2b 20 31 2c 0a 20 20 20 20 20 20 20 20 20 64 69 63 74 5f 66 61 63 74 6f 72 20 3d 20 32 .).+.1,..........dict_factor.=.2
12b80 2c 0a 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 33 20 3d ,..........num_prev_positions3.=
12ba0 20 31 20 3c 3c 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 69 .1.<<.16,..........num_prev_posi
12bc0 74 69 6f 6e 73 32 20 3d 20 31 20 3c 3c 20 31 30 2c 0a 20 20 20 20 20 20 20 20 20 6e 75 6d 5f 70 tions2.=.1.<<.10,..........num_p
12be0 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 32 33 20 3d 20 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 69 74 rev_positions23.=.num_prev_posit
12c00 69 6f 6e 73 32 20 2b 20 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 33 2c 0a 20 20 20 ions2.+.num_prev_positions3,....
12c20 20 20 20 20 20 20 70 6f 73 5f 61 72 72 61 79 5f 66 61 63 74 6f 72 20 3d 20 32 20 7d 3b 0a 0a 70 ......pos_array_factor.=.2.};..p
12c40 75 62 6c 69 63 3a 0a 20 20 4c 5a 5f 65 6e 63 6f 64 65 72 28 20 63 6f 6e 73 74 20 69 6e 74 20 64 ublic:...LZ_encoder(.const.int.d
12c60 69 63 74 5f 73 69 7a 65 2c 20 63 6f 6e 73 74 20 69 6e 74 20 6c 65 6e 5f 6c 69 6d 69 74 2c 0a 20 ict_size,.const.int.len_limit,..
12c80 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 6f 6e 73 .............const.int.ifd,.cons
12ca0 74 20 69 6e 74 20 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 t.int.outfd.).....:.....LZ_encod
12cc0 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 69 7a 65 2c er_base(.before_size,.dict_size,
12ce0 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 20 20 20 20 .after_size,.dict_factor,.......
12d00 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 69 74 69 6f 6e ...............num_prev_position
12d20 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 2c 20 6f 75 74 66 s23,.pos_array_factor,.ifd,.outf
12d40 64 20 29 2c 0a 20 20 20 20 63 79 63 6c 65 73 28 20 28 20 6c 65 6e 5f 6c 69 6d 69 74 20 3c 20 6d d.),.....cycles(.(.len_limit.<.m
12d60 61 78 5f 6d 61 74 63 68 5f 6c 65 6e 20 29 20 3f 20 31 36 20 2b 20 28 20 6c 65 6e 5f 6c 69 6d 69 ax_match_len.).?.16.+.(.len_limi
12d80 74 20 2f 20 32 20 29 20 3a 20 32 35 36 20 29 2c 0a 20 20 20 20 6d 61 74 63 68 5f 6c 65 6e 5f 6c t./.2.).:.256.),.....match_len_l
12da0 69 6d 69 74 28 20 6c 65 6e 5f 6c 69 6d 69 74 20 29 2c 0a 20 20 20 20 6d 61 74 63 68 5f 6c 65 6e imit(.len_limit.),.....match_len
12dc0 5f 70 72 69 63 65 73 28 20 6d 61 74 63 68 5f 6c 65 6e 5f 6d 6f 64 65 6c 2c 20 6d 61 74 63 68 5f _prices(.match_len_model,.match_
12de0 6c 65 6e 5f 6c 69 6d 69 74 20 29 2c 0a 20 20 20 20 72 65 70 5f 6c 65 6e 5f 70 72 69 63 65 73 28 len_limit.),.....rep_len_prices(
12e00 20 72 65 70 5f 6c 65 6e 5f 6d 6f 64 65 6c 2c 20 6d 61 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 74 20 .rep_len_model,.match_len_limit.
12e20 29 2c 0a 20 20 20 20 70 65 6e 64 69 6e 67 5f 6e 75 6d 5f 70 61 69 72 73 28 20 30 20 29 2c 0a 20 ),.....pending_num_pairs(.0.),..
12e40 20 20 20 6e 75 6d 5f 64 69 73 5f 73 6c 6f 74 73 28 20 32 20 2a 20 72 65 61 6c 5f 62 69 74 73 28 ...num_dis_slots(.2.*.real_bits(
12e60 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 2d 20 31 20 29 20 29 0a 20 20 20 20 7b 0a 20 .dictionary_size.-.1.).).....{..
12e80 20 20 20 74 72 69 61 6c 73 5b 31 5d 2e 70 72 65 76 5f 69 6e 64 65 78 20 3d 20 30 3b 0a 20 20 20 ...trials[1].prev_index.=.0;....
12ea0 20 74 72 69 61 6c 73 5b 31 5d 2e 70 72 65 76 5f 69 6e 64 65 78 32 20 3d 20 73 69 6e 67 6c 65 5f .trials[1].prev_index2.=.single_
12ec0 73 74 65 70 5f 74 72 69 61 6c 3b 0a 20 20 20 20 7d 0a 0a 20 20 76 6f 69 64 20 72 65 73 65 74 28 step_trial;.....}....void.reset(
12ee0 29 0a 20 20 20 20 7b 0a 20 20 20 20 4c 5a 5f 65 6e 63 6f 64 65 72 5f 62 61 73 65 3a 3a 72 65 73 ).....{.....LZ_encoder_base::res
12f00 65 74 28 29 3b 0a 20 20 20 20 6d 61 74 63 68 5f 6c 65 6e 5f 70 72 69 63 65 73 2e 72 65 73 65 74 et();.....match_len_prices.reset
12f20 28 29 3b 0a 20 20 20 20 72 65 70 5f 6c 65 6e 5f 70 72 69 63 65 73 2e 72 65 73 65 74 28 29 3b 0a ();.....rep_len_prices.reset();.
12f40 20 20 20 20 70 65 6e 64 69 6e 67 5f 6e 75 6d 5f 70 61 69 72 73 20 3d 20 30 3b 0a 20 20 20 20 7d ....pending_num_pairs.=.0;.....}
12f60 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 74 20 75 6e ....bool.encode_member(.const.un
12f80 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 20 29 3b 0a signed.long.long.member_size.);.
12fa0 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 00 00 00 00 ..};............................
12fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13000 6c 7a 69 70 2d 31 2e 32 33 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.23/ChangeLog.............
13020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
13080 30 30 33 33 31 37 34 00 31 34 31 37 33 35 36 36 33 34 36 00 30 31 34 32 31 34 00 20 30 00 00 00 0033174.14173566346.014214..0...
130a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
130c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
130e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13100 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
13120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
13140 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
13160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
131a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
131c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
131e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13200 32 30 32 32 2d 30 31 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 2022-01-24..Antonio.Diaz.Diaz..<
13220 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
13240 33 20 72 65 6c 65 61 73 65 64 2e 0a 09 2a 20 44 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 74 69 6d 3.released...*.Decompression.tim
13260 65 20 68 61 73 20 62 65 65 6e 20 72 65 64 75 63 65 64 20 62 79 20 35 2d 31 32 25 20 64 65 70 65 e.has.been.reduced.by.5-12%.depe
13280 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 66 69 6c 65 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 20 28 67 nding.on.the.file...*.main.cc.(g
132a0 65 74 6e 75 6d 29 3a 20 53 68 6f 77 20 6f 70 74 69 6f 6e 20 6e 61 6d 65 20 61 6e 64 20 76 61 6c etnum):.Show.option.name.and.val
132c0 69 64 20 72 61 6e 67 65 20 69 66 20 65 72 72 6f 72 2e 0a 09 2a 20 49 6d 70 72 6f 76 65 20 73 65 id.range.if.error...*.Improve.se
132e0 76 65 72 61 6c 20 64 65 73 63 72 69 70 74 69 6f 6e 73 20 69 6e 20 6d 61 6e 75 61 6c 2c 20 27 2d veral.descriptions.in.manual,.'-
13300 2d 68 65 6c 70 27 2c 20 61 6e 64 20 6d 61 6e 20 70 61 67 65 2e 0a 09 2a 20 6c 7a 69 70 2e 74 65 -help',.and.man.page...*.lzip.te
13320 78 69 3a 20 43 68 61 6e 67 65 20 47 4e 55 20 54 65 78 69 6e 66 6f 20 63 61 74 65 67 6f 72 79 20 xi:.Change.GNU.Texinfo.category.
13340 74 6f 20 27 43 6f 6d 70 72 65 73 73 69 6f 6e 27 2e 0a 09 20 20 28 52 65 70 6f 72 74 65 64 20 62 to.'Compression'.....(Reported.b
13360 79 20 41 6c 66 72 65 64 20 4d 2e 20 53 7a 6d 69 64 74 29 2e 0a 0a 32 30 32 31 2d 30 31 2d 30 34 y.Alfred.M..Szmidt)...2021-01-04
13380 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
133a0 75 2e 6f 72 67 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 31 2e 32 32 20 72 65 6c 65 61 73 65 64 u.org>...*.Version.1.22.released
133c0 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 20 28 6d 61 69 6e 29 3a 20 52 65 70 6f 72 74 20 61 6e 20 65 ...*.main.cc.(main):.Report.an.e
133e0 72 72 6f 72 20 69 66 20 61 20 66 69 6c 65 20 6e 61 6d 65 20 69 73 20 65 6d 70 74 79 2e 0a 09 20 rror.if.a.file.name.is.empty....
13400 20 4d 61 6b 65 20 27 2d 6f 27 20 62 65 68 61 76 65 20 6c 69 6b 65 20 27 2d 63 27 2c 20 62 75 74 .Make.'-o'.behave.like.'-c',.but
13420 20 77 72 69 74 69 6e 67 20 74 6f 20 66 69 6c 65 20 69 6e 73 74 65 61 64 20 6f 66 20 73 74 64 6f .writing.to.file.instead.of.stdo
13440 75 74 2e 0a 09 20 20 4d 61 6b 65 20 27 2d 63 27 20 61 6e 64 20 27 2d 6f 27 20 63 68 65 63 6b 20 ut.....Make.'-c'.and.'-o'.check.
13460 77 68 65 74 68 65 72 20 74 68 65 20 6f 75 74 70 75 74 20 69 73 20 61 20 74 65 72 6d 69 6e 61 6c whether.the.output.is.a.terminal
13480 20 6f 6e 6c 79 20 6f 6e 63 65 2e 0a 09 20 20 44 6f 20 6e 6f 74 20 6f 70 65 6e 20 6f 75 74 70 75 .only.once.....Do.not.open.outpu
134a0 74 20 69 66 20 69 6e 70 75 74 20 69 73 20 61 20 74 65 72 6d 69 6e 61 6c 2e 0a 09 2a 20 63 6f 6e t.if.input.is.a.terminal...*.con
134c0 66 69 67 75 72 65 3a 20 42 75 69 6c 64 2c 20 63 68 65 63 6b 2c 20 61 6e 64 20 69 6e 73 74 61 6c figure:.Build,.check,.and.instal
134e0 6c 20 77 69 74 68 6f 75 74 20 27 6d 61 6b 65 27 2e 0a 09 2a 20 52 65 70 6c 61 63 65 20 27 64 65 l.without.'make'...*.Replace.'de
13500 63 6f 6d 70 72 65 73 73 65 64 27 2c 20 27 63 6f 6d 70 72 65 73 73 65 64 27 20 77 69 74 68 20 27 compressed',.'compressed'.with.'
13520 6f 75 74 27 2c 20 27 69 6e 27 20 69 6e 20 6f 75 74 70 75 74 2e 0a 09 2a 20 6c 7a 69 70 5f 69 6e out',.'in'.in.output...*.lzip_in
13540 64 65 78 2e 63 63 3a 20 49 6d 70 72 6f 76 65 20 6d 65 73 73 61 67 65 73 20 66 6f 72 20 63 6f 72 dex.cc:.Improve.messages.for.cor
13560 72 75 70 74 69 6f 6e 20 69 6e 20 6c 61 73 74 20 68 65 61 64 65 72 2e 0a 09 2a 20 6d 61 69 6e 2e ruption.in.last.header...*.main.
13580 63 63 3a 20 53 65 74 20 61 20 76 61 6c 69 64 20 69 6e 76 6f 63 61 74 69 6f 6e 5f 6e 61 6d 65 20 cc:.Set.a.valid.invocation_name.
135a0 65 76 65 6e 20 69 66 20 61 72 67 63 20 3d 3d 20 30 2e 0a 09 2a 20 44 6f 63 75 6d 65 6e 74 20 65 even.if.argc.==.0...*.Document.e
135c0 78 74 72 61 63 74 69 6f 6e 20 66 72 6f 6d 20 74 61 72 2e 6c 7a 20 69 6e 20 6d 61 6e 75 61 6c 2c xtraction.from.tar.lz.in.manual,
135e0 20 27 2d 2d 68 65 6c 70 27 2c 20 61 6e 64 20 6d 61 6e 20 70 61 67 65 2e 0a 09 2a 20 6c 7a 69 70 .'--help',.and.man.page...*.lzip
13600 2e 74 65 78 69 20 28 49 6e 74 72 6f 64 75 63 74 69 6f 6e 29 3a 20 4d 65 6e 74 69 6f 6e 20 70 6c .texi.(Introduction):.Mention.pl
13620 7a 69 70 20 61 6e 64 20 74 61 72 6c 7a 20 61 73 20 61 6c 74 65 72 6e 61 74 69 76 65 73 2e 0a 09 zip.and.tarlz.as.alternatives...
13640 2a 20 6c 7a 69 70 2e 74 65 78 69 3a 20 53 65 76 65 72 61 6c 20 66 69 78 65 73 20 61 6e 64 20 69 *.lzip.texi:.Several.fixes.and.i
13660 6d 70 72 6f 76 65 6d 65 6e 74 73 2e 0a 09 2a 20 74 65 73 74 73 75 69 74 65 3a 20 41 64 64 20 39 mprovements...*.testsuite:.Add.9
13680 20 6e 65 77 20 74 65 73 74 20 66 69 6c 65 73 2e 0a 0a 32 30 31 39 2d 30 31 2d 30 33 20 20 41 6e .new.test.files...2019-01-03..An
136a0 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
136c0 67 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 31 2e 32 31 20 72 65 6c 65 61 73 65 64 2e 0a 09 2a g>...*.Version.1.21.released...*
136e0 20 52 65 6e 61 6d 65 20 46 69 6c 65 5f 2a 20 74 6f 20 4c 7a 69 70 5f 2a 2e 0a 09 2a 20 6c 7a 69 .Rename.File_*.to.Lzip_*...*.lzi
13700 70 2e 68 20 28 4c 7a 69 70 5f 74 72 61 69 6c 65 72 29 3a 20 4e 65 77 20 66 75 6e 63 74 69 6f 6e p.h.(Lzip_trailer):.New.function
13720 20 27 76 65 72 69 66 79 5f 63 6f 6e 73 69 73 74 65 6e 63 79 27 2e 0a 09 2a 20 6c 7a 69 70 5f 69 .'verify_consistency'...*.lzip_i
13740 6e 64 65 78 2e 63 63 3a 20 44 65 74 65 63 74 20 73 6f 6d 65 20 6b 69 6e 64 73 20 6f 66 20 63 6f ndex.cc:.Detect.some.kinds.of.co
13760 72 72 75 70 74 20 74 72 61 69 6c 65 72 73 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 20 28 6d 61 69 6e rrupt.trailers...*.main.cc.(main
13780 29 3a 20 43 68 65 63 6b 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 63 6c 6f 73 65 28 20 ):.Check.return.value.of.close(.
137a0 69 6e 66 64 20 29 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 3a 20 43 6f 6d 70 69 6c 65 20 6f 6e 20 44 infd.)...*.main.cc:.Compile.on.D
137c0 4f 53 20 77 69 74 68 20 44 4a 47 50 50 2e 0a 09 2a 20 46 69 78 20 61 20 47 43 43 20 77 61 72 6e OS.with.DJGPP...*.Fix.a.GCC.warn
137e0 69 6e 67 20 61 62 6f 75 74 20 63 61 74 63 68 69 6e 67 20 73 74 64 3a 3a 62 61 64 5f 61 6c 6c 6f ing.about.catching.std::bad_allo
13800 63 20 62 79 20 76 61 6c 75 65 2e 0a 09 2a 20 6c 7a 69 70 2e 74 65 78 69 3a 20 49 6d 70 72 6f 76 c.by.value...*.lzip.texi:.Improv
13820 65 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 27 2d 30 2e 2e 2d 39 27 2c 20 27 2d 6d 27 2c e.description.of.'-0..-9',.'-m',
13840 20 61 6e 64 20 27 2d 73 27 2e 0a 09 2a 20 63 6f 6e 66 69 67 75 72 65 3a 20 41 63 63 65 70 74 20 .and.'-s'...*.configure:.Accept.
13860 61 70 70 65 6e 64 69 6e 67 20 74 6f 20 43 58 58 46 4c 41 47 53 3b 20 27 43 58 58 46 4c 41 47 53 appending.to.CXXFLAGS;.'CXXFLAGS
13880 2b 3d 4f 50 54 49 4f 4e 53 27 2e 0a 09 2a 20 49 4e 53 54 41 4c 4c 3a 20 44 6f 63 75 6d 65 6e 74 +=OPTIONS'...*.INSTALL:.Document
138a0 20 75 73 65 20 6f 66 20 43 58 58 46 4c 41 47 53 2b 3d 27 2d 44 20 5f 5f 55 53 45 5f 4d 49 4e 47 .use.of.CXXFLAGS+='-D.__USE_MING
138c0 57 5f 41 4e 53 49 5f 53 54 44 49 4f 27 2e 0a 0a 32 30 31 38 2d 30 32 2d 31 31 20 20 41 6e 74 6f W_ANSI_STDIO'...2018-02-11..Anto
138e0 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>
13900 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 31 2e 32 30 20 72 65 6c 65 61 73 65 64 2e 0a 09 2a 20 4e ...*.Version.1.20.released...*.N
13920 65 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 ew.option.'--loose-trailing'...*
13940 20 49 6d 70 72 6f 76 65 20 63 6f 72 72 75 70 74 20 68 65 61 64 65 72 20 64 65 74 65 63 74 69 6f .Improve.corrupt.header.detectio
13960 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
13980 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
139a0 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):.
139c0 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
139e0 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
13a00 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.
13a20 65 61 63 68 20 6d 65 6d 62 65 72 2e 0a 09 2a 20 52 65 70 6c 61 63 65 20 27 62 69 74 73 2f 62 79 each.member...*.Replace.'bits/by
13a40 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 74 te'.with.inverse.compression.rat
13a60 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 6f io.in.output...*.Show.progress.o
13a80 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 76 f.decompression.at.verbosity.lev
13aa0 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 20 el.2.(-vv)...*.Show.progress.of.
13ac0 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 69 (de)compression.only.if.stderr.i
13ae0 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 66 s.a.terminal...*.main.cc:.Show.f
13b00 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 6c inal.diagnostic.when.testing.mul
13b20 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 20 tiple.files...*.main.cc:.Do.not.
13b40 61 64 64 20 61 20 73 65 63 6f 6e 64 20 65 78 74 65 6e 73 69 6f 6e 20 27 2e 6c 7a 27 20 74 6f 20 add.a.second.extension.'.lz'.to.
13b60 74 68 65 20 61 72 67 20 6f 66 20 27 2d 6f 27 2e 0a 09 2a 20 64 65 63 6f 64 65 72 2e 63 63 20 28 the.arg.of.'-o'...*.decoder.cc.(
13b80 76 65 72 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 verify_trailer):.Show.stored.siz
13ba0 65 73 20 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 es.also.in.hex.....Show.dictiona
13bc0 72 79 20 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 ry.size.at.verbosity.level.4.(-v
13be0 76 76 76 29 2e 0a 09 2a 20 6c 7a 69 70 2e 74 65 78 69 3a 20 4e 65 77 20 63 68 61 70 74 65 72 20 vvv)...*.lzip.texi:.New.chapter.
13c00 27 4d 65 61 6e 69 6e 67 20 6f 66 20 6c 7a 69 70 27 73 20 6f 75 74 70 75 74 27 2e 0a 0a 32 30 31 'Meaning.of.lzip's.output'...201
13c20 37 2d 30 34 2d 31 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 7-04-13..Antonio.Diaz.Diaz..<ant
13c40 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 31 39 20 72 onio@gnu.org>...*.Version.1.19.r
13c60 65 6c 65 61 73 65 64 2e 0a 09 2a 20 54 68 65 20 6f 70 74 69 6f 6e 20 27 2d 6c 2c 20 2d 2d 6c 69 eleased...*.The.option.'-l,.--li
13c80 73 74 27 20 68 61 73 20 62 65 65 6e 20 70 6f 72 74 65 64 20 66 72 6f 6d 20 6c 7a 69 70 72 65 63 st'.has.been.ported.from.lziprec
13ca0 6f 76 65 72 2e 0a 09 2a 20 44 6f 6e 27 74 20 61 6c 6c 6f 77 20 6d 69 78 69 6e 67 20 64 69 66 66 over...*.Don't.allow.mixing.diff
13cc0 65 72 65 6e 74 20 6f 70 65 72 61 74 69 6f 6e 73 20 28 2d 64 2c 20 2d 6c 20 6f 72 20 2d 74 29 2e erent.operations.(-d,.-l.or.-t).
13ce0 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 20 27 ..*.Compression.time.of.option.'
13d00 2d 30 27 20 68 61 73 20 62 65 65 6e 20 73 6c 69 67 68 74 6c 79 20 72 65 64 75 63 65 64 2e 0a 09 -0'.has.been.slightly.reduced...
13d20 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 72 65 *.Decompression.time.has.been.re
13d40 64 75 63 65 64 20 62 79 20 32 25 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 3a 20 43 6f 6e 74 69 6e 75 duced.by.2%...*.main.cc:.Continu
13d60 65 20 74 65 73 74 69 6e 67 20 69 66 20 61 6e 79 20 69 6e 70 75 74 20 66 69 6c 65 20 69 73 20 61 e.testing.if.any.input.file.is.a
13d80 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 74 72 61 69 .terminal...*.main.cc:.Show.trai
13da0 6c 69 6e 67 20 64 61 74 61 20 69 6e 20 62 6f 74 68 20 68 65 78 61 64 65 63 69 6d 61 6c 20 61 6e ling.data.in.both.hexadecimal.an
13dc0 64 20 41 53 43 49 49 2e 0a 09 2a 20 65 6e 63 6f 64 65 72 2e 63 63 20 28 4d 61 74 63 68 66 69 6e d.ASCII...*.encoder.cc.(Matchfin
13de0 64 65 72 5f 62 61 73 65 29 3a 20 56 65 72 69 66 79 20 74 68 65 20 73 69 7a 65 20 70 61 73 73 65 der_base):.Verify.the.size.passe
13e00 64 20 74 6f 20 6e 65 77 2e 0a 09 2a 20 6c 7a 69 70 5f 69 6e 64 65 78 2e 63 63 3a 20 49 6d 70 72 d.to.new...*.lzip_index.cc:.Impr
13e20 6f 76 65 20 64 65 74 65 63 74 69 6f 6e 20 6f 66 20 62 61 64 20 64 69 63 74 20 61 6e 64 20 74 72 ove.detection.of.bad.dict.and.tr
13e40 61 69 6c 69 6e 67 20 64 61 74 61 2e 0a 09 2a 20 6c 7a 69 70 2e 68 3a 20 55 6e 69 66 79 20 6d 65 ailing.data...*.lzip.h:.Unify.me
13e60 73 73 61 67 65 73 20 66 6f 72 20 62 61 64 20 6d 61 67 69 63 2c 20 74 72 61 69 6c 69 6e 67 20 64 ssages.for.bad.magic,.trailing.d
13e80 61 74 61 2c 20 65 74 63 2e 0a 0a 32 30 31 36 2d 30 35 2d 31 34 20 20 41 6e 74 6f 6e 69 6f 20 44 ata,.etc...2016-05-14..Antonio.D
13ea0 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 0a 0a 09 2a 20 iaz.Diaz..<antonio@gnu.org>...*.
13ec0 56 65 72 73 69 6f 6e 20 31 2e 31 38 20 72 65 6c 65 61 73 65 64 2e 0a 09 2a 20 4e 65 77 20 6f 70 Version.1.18.released...*.New.op
13ee0 74 69 6f 6e 20 27 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 tion.'-a,.--trailing-error'...*.
13f00 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 72 65 64 75 Decompression.time.has.been.redu
13f20 63 65 64 20 62 79 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 ced.by.2%...*.decoder.cc.(verify
13f40 5f 74 72 61 69 6c 65 72 29 3a 20 52 65 6d 6f 76 65 20 74 65 73 74 20 6f 66 20 66 69 6e 61 6c 20 _trailer):.Remove.test.of.final.
13f60 63 6f 64 65 2e 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 code...*.main.cc.(main):.Delete.
13f80 27 2d 2d 6f 75 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 '--output'.file.if.infd.is.a.ter
13fa0 6d 69 6e 61 6c 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 minal...*.main.cc.(main):.Don't.
13fc0 75 73 65 20 73 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 use.stdin.more.than.once...*.Rem
13fe0 6f 76 65 20 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 ove.decompression.support.for.ve
14000 72 73 69 6f 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 4e 65 77 rsion.0.files...*.lzip.texi:.New
14020 20 63 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 .chapter.'Trailing.data'...*.con
14040 66 69 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 figure:.Avoid.warning.on.some.sh
14060 65 6c 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 ells.when.testing.for.g++...*.Ma
14080 6b 65 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 kefile.in:.Detect.the.existence.
140a0 6f 66 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 of.install-info...*.check.sh:.A.
140c0 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
140e0 68 65 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 he.tests...*.check.sh:.Don't.che
14100 63 6b 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 ck.error.messages...2015-07-12..
14120 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 75 2e Antonio.Diaz.Diaz..<antonio@gnu.
14140 6f 72 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 org>...*.Version.1.17.released..
14160 09 2a 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 .*.Reorganization.of.the.compres
14180 73 69 6f 6e 20 63 6f 64 65 2e 0a 09 2a 20 6c 7a 69 70 2e 74 65 78 69 3a 20 4e 65 77 20 63 68 61 sion.code...*.lzip.texi:.New.cha
141a0 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
141c0 65 66 69 6c 65 2e 69 6e 3a 20 4e 65 77 20 74 61 72 67 65 74 73 20 27 69 6e 73 74 61 6c 6c 2a 2d efile.in:.New.targets.'install*-
141e0 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 74 6f 6e 69 6f 20 compress'...2014-08-26..Antonio.
14200 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 0a 0a 09 2a Diaz.Diaz..<antonio@gnu.org>...*
14220 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 20 43 6f 6d 70 72 .Version.1.16.released...*.Compr
14240 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 73 20 ession.ratio.of.option.'-9'.has.
14260 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 43 6f 6d 70 been.slightly.increased...*.Comp
14280 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
142a0 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 66 20 6f 70 74 69 .4%...*.Compression.time.of.opti
142c0 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 79 20 32 25 2e 0a on.'-0'.has.been.reduced.by.2%..
142e0 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 70 65 72 6d 69 73 .*.main.cc.(close_and_set_permis
14300 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 27 2e 0a 09 2a 20 sions):.Behave.like.'cp.-p'...*.
14320 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 70 2e 74 65 78 69 Minor.improvements...*.lzip.texi
14340 6e 66 6f 3a 20 52 65 6e 61 6d 65 20 74 6f 20 6c 7a 69 70 2e 74 65 78 69 2e 0a 09 2a 20 43 68 61 nfo:.Rename.to.lzip.texi...*.Cha
14360 6e 67 65 20 6c 69 63 65 6e 73 65 20 74 6f 20 47 50 4c 20 76 65 72 73 69 6f 6e 20 32 20 6f 72 20 nge.license.to.GPL.version.2.or.
14380 6c 61 74 65 72 2e 0a 0a 32 30 31 33 2d 30 39 2d 32 30 20 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a later...2013-09-20..Antonio.Diaz
143a0 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 65 72 .Diaz..<antonio@gnu.org>...*.Ver
143c0 73 69 6f 6e 20 31 2e 31 35 20 72 65 6c 65 61 73 65 64 2e 0a 09 2a 20 53 68 6f 77 20 70 72 6f 67 sion.1.15.released...*.Show.prog
143e0 72 65 73 73 20 6f 66 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 61 74 20 76 65 72 62 6f 73 69 74 79 ress.of.compression.at.verbosity
14400 20 6c 65 76 65 6c 20 32 20 28 2d 76 76 29 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 20 28 73 68 6f 77 .level.2.(-vv)...*.main.cc.(show
14420 5f 68 65 61 64 65 72 29 3a 20 44 6f 6e 27 74 20 73 68 6f 77 20 68 65 61 64 65 72 20 76 65 72 73 _header):.Don't.show.header.vers
14440 69 6f 6e 2e 0a 09 2a 20 49 67 6e 6f 72 65 20 6f 70 74 69 6f 6e 20 27 2d 6e 2c 20 2d 2d 74 68 72 ion...*.Ignore.option.'-n,.--thr
14460 65 61 64 73 27 20 66 6f 72 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 70 6c 7a eads'.for.compatibility.with.plz
14480 69 70 2e 0a 09 2a 20 63 6f 6e 66 69 67 75 72 65 3a 20 4f 70 74 69 6f 6e 73 20 6e 6f 77 20 61 63 ip...*.configure:.Options.now.ac
144a0 63 65 70 74 20 61 20 73 65 70 61 72 61 74 65 20 61 72 67 75 6d 65 6e 74 2e 0a 09 2a 20 6c 7a 69 cept.a.separate.argument...*.lzi
144c0 70 2e 74 65 78 69 6e 66 6f 3a 20 4e 65 77 20 63 68 61 70 74 65 72 20 27 53 74 72 65 61 6d 20 66 p.texinfo:.New.chapter.'Stream.f
144e0 6f 72 6d 61 74 27 20 61 6e 64 20 61 70 70 65 6e 64 69 78 0a 09 20 20 27 52 65 66 65 72 65 6e 63 ormat'.and.appendix....'Referenc
14500 65 20 73 6f 75 72 63 65 20 63 6f 64 65 27 2e 0a 0a 32 30 31 33 2d 30 32 2d 31 37 20 20 41 6e 74 e.source.code'...2013-02-17..Ant
14520 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
14540 6e 65 2e 65 73 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 31 2e 31 34 20 72 65 6c 65 61 73 65 64 ne.es>...*.Version.1.14.released
14560 2e 0a 09 2a 20 4d 75 6c 74 69 2d 73 74 65 70 20 74 72 69 61 6c 73 20 68 61 76 65 20 62 65 65 6e ...*.Multi-step.trials.have.been
14580 20 69 6d 70 6c 65 6d 65 6e 74 65 64 2e 0a 09 2a 20 43 6f 6d 70 72 65 73 73 69 6f 6e 20 72 61 74 .implemented...*.Compression.rat
145a0 69 6f 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 io.has.been.slightly.increased..
145c0 09 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 .*.Compression.time.has.been.red
145e0 75 63 65 64 20 62 79 20 35 25 2e 0a 09 2a 20 44 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 74 69 6d uced.by.5%...*.Decompression.tim
14600 65 20 68 61 73 20 62 65 65 6e 20 72 65 64 75 63 65 64 20 62 79 20 31 32 25 2e 0a 09 2a 20 4d 61 e.has.been.reduced.by.12%...*.Ma
14620 6b 65 66 69 6c 65 2e 69 6e 3a 20 4e 65 77 20 74 61 72 67 65 74 20 27 69 6e 73 74 61 6c 6c 2d 62 kefile.in:.New.target.'install-b
14640 69 6e 27 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 3a 20 55 73 65 20 27 73 65 74 6d 6f 64 65 27 20 69 in'...*.main.cc:.Use.'setmode'.i
14660 6e 73 74 65 61 64 20 6f 66 20 27 5f 73 65 74 6d 6f 64 65 27 20 6f 6e 20 57 69 6e 64 6f 77 73 20 nstead.of.'_setmode'.on.Windows.
14680 61 6e 64 20 4f 53 2f 32 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 3a 20 44 65 66 69 6e 65 20 27 73 74 and.OS/2...*.main.cc:.Define.'st
146a0 72 74 6f 75 6c 6c 27 20 74 6f 20 27 73 74 64 3a 3a 73 74 72 74 6f 75 6c 27 20 6f 6e 20 57 69 6e rtoull'.to.'std::strtoul'.on.Win
146c0 64 6f 77 73 2e 0a 0a 32 30 31 32 2d 30 32 2d 32 34 20 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 dows...2012-02-24..Antonio.Diaz.
146e0 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 3e 0a 0a 09 2a Diaz..<ant_diaz@teleline.es>...*
14700 20 56 65 72 73 69 6f 6e 20 31 2e 31 33 20 72 65 6c 65 61 73 65 64 2e 0a 09 2a 20 4c 7a 69 70 72 .Version.1.13.released...*.Lzipr
14720 65 63 6f 76 65 72 20 68 61 73 20 62 65 65 6e 20 6d 6f 76 65 64 20 74 6f 20 69 74 73 20 6f 77 6e ecover.has.been.moved.to.its.own
14740 20 70 61 63 6b 61 67 65 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 20 28 63 6c 6f 73 65 5f 61 6e 64 5f .package...*.main.cc.(close_and_
14760 73 65 74 5f 70 65 72 6d 69 73 73 69 6f 6e 73 29 3a 20 49 6e 61 62 69 6c 69 74 79 20 74 6f 20 63 set_permissions):.Inability.to.c
14780 68 61 6e 67 65 20 6f 75 74 70 75 74 0a 09 20 20 66 69 6c 65 20 61 74 74 72 69 62 75 74 65 73 20 hange.output....file.attributes.
147a0 68 61 73 20 62 65 65 6e 20 64 6f 77 6e 67 72 61 64 65 64 20 66 72 6f 6d 20 65 72 72 6f 72 20 74 has.been.downgraded.from.error.t
147c0 6f 20 77 61 72 6e 69 6e 67 2e 0a 09 2a 20 43 6f 6d 70 72 65 73 73 69 6f 6e 20 74 69 6d 65 20 6f o.warning...*.Compression.time.o
147e0 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
14800 79 20 32 25 2e 0a 09 2a 20 52 65 6f 72 67 61 6e 69 7a 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 63 y.2%...*.Reorganization.of.the.c
14820 6f 6d 70 72 65 73 73 69 6f 6e 20 63 6f 64 65 2e 0a 09 2a 20 53 6d 61 6c 6c 20 63 68 61 6e 67 65 ompression.code...*.Small.change
14840 20 69 6e 20 27 2d 2d 68 65 6c 70 27 20 6f 75 74 70 75 74 20 61 6e 64 20 6d 61 6e 20 70 61 67 65 .in.'--help'.output.and.man.page
14860 2e 0a 09 2a 20 43 68 61 6e 67 65 20 71 75 6f 74 65 20 63 68 61 72 61 63 74 65 72 73 20 69 6e 20 ...*.Change.quote.characters.in.
14880 6d 65 73 73 61 67 65 73 20 61 73 20 61 64 76 69 73 65 64 20 62 79 20 47 4e 55 20 53 74 61 6e 64 messages.as.advised.by.GNU.Stand
148a0 61 72 64 73 2e 0a 09 2a 20 63 6f 6e 66 69 67 75 72 65 3a 20 52 65 6e 61 6d 65 20 27 64 61 74 61 ards...*.configure:.Rename.'data
148c0 64 69 72 27 20 74 6f 20 27 64 61 74 61 72 6f 6f 74 64 69 72 27 2e 0a 09 2a 20 27 75 6e 7a 63 72 dir'.to.'datarootdir'...*.'unzcr
148e0 61 73 68 2e 63 63 27 20 68 61 73 20 62 65 65 6e 20 6d 6f 76 65 64 20 74 6f 20 70 61 63 6b 61 67 ash.cc'.has.been.moved.to.packag
14900 65 20 27 6c 7a 69 70 72 65 63 6f 76 65 72 27 2e 0a 0a 32 30 31 31 2d 30 34 2d 33 30 20 20 41 6e e.'lziprecover'...2011-04-30..An
14920 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 65 6c tonio.Diaz.Diaz..<ant_diaz@telel
14940 69 6e 65 2e 65 73 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 31 2e 31 32 20 72 65 6c 65 61 73 65 ine.es>...*.Version.1.12.release
14960 64 2e 0a 09 2a 20 4e 65 77 20 6f 70 74 69 6f 6e 20 27 2d 46 2c 20 2d 2d 72 65 63 6f 6d 70 72 65 d...*.New.option.'-F,.--recompre
14980 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 73 ss'...*.encoder.h.(update_prices
149a0 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 69 ):.Update.high.length.symbol.pri
149c0 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 75 ces....independently.of.the.valu
149e0 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 74 e.of.'pos_state'..This.gives.bet
14a00 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 6c ter....compression.for.large.val
14a20 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 20 ues.of.'--match-length'.without.
14a40 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 2c 20 65 being....slower...*.encoder.h,.e
14a60 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
14a80 61 6c 63 75 6c 61 74 69 6f 6e 73 2c 20 72 65 64 75 63 69 6e 67 0a 09 20 20 63 6f 6d 70 72 65 73 alculations,.reducing....compres
14aa0 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 66 20 27 2d sion.time.for.large.values.of.'-
14ac0 2d 6d 61 74 63 68 2d 6c 65 6e 67 74 68 27 20 62 79 20 75 70 20 74 6f 20 36 25 2e 0a 09 2a 20 43 -match-length'.by.up.to.6%...*.C
14ae0 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 20 27 2d 30 27 20 68 ompression.time.of.option.'-0'.h
14b00 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 6e 2e 63 as.been.reduced.by.2%...*.main.c
14b20 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 79 20 6f 6e 65 20 73 c.(decompress):.Print.only.one.s
14b40 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 6c 74 69 6d 65 6d 62 tatus.line.for.each....multimemb
14b60 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 27 20 69 73 20 73 70 er.file.when.only.one.'-v'.is.sp
14b80 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 6d 70 72 65 73 73 29 ecified...*.main.cc.(decompress)
14ba0 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 74 72 61 69 6c 69 6e :.Print.up.to.6.bytes.of.trailin
14bc0 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 20 73 70 65 63 69 66 g.data....when.'-vvvv'.is.specif
14be0 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 74 72 65 61 6d 29 3a ied...*.main.cc.(open_instream):
14c00 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 20 20 22 20 61 6e 64 .Don't.show.the.message....".and
14c20 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 66 69 65 64 22 20 66 .'--stdout'.was.not.specified".f
14c40 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 7a 69 70 72 65 63 6f or.directories,.etc...*.lzipreco
14c60 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 65 63 69 66 69 65 64 ver.cc:.If.'-v'.is.not.specified
14c80 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 63 72 61 73 68 2e 63 .show.errors.only...*.unzcrash.c
14ca0 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 63 72 61 73 68 2e 63 c:.Use.Arg_parser...*.unzcrash.c
14cc0 63 3a 20 4e 65 77 20 6f 70 74 69 6f 6e 73 20 27 2d 62 2c 20 2d 2d 62 69 74 73 27 2c 20 27 2d 70 c:.New.options.'-b,.--bits',.'-p
14ce0 2c 20 2d 2d 70 6f 73 69 74 69 6f 6e 27 2c 20 61 6e 64 0a 09 20 20 27 2d 73 2c 20 2d 2d 73 69 7a ,.--position',.and....'-s,.--siz
14d00 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 44 69 61 7a 20 44 69 e'...2010-09-16..Antonio.Diaz.Di
14d20 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 56 az..<ant_diaz@teleline.es>...*.V
14d40 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 4e 65 77 20 6f 70 74 ersion.1.11.released...*.New.opt
14d60 69 6f 6e 20 27 2d 30 27 2c 20 77 68 69 63 68 20 70 72 6f 64 75 63 65 73 20 61 20 63 6f 6d 70 72 ion.'-0',.which.produces.a.compr
14d80 65 73 73 69 6f 6e 20 73 70 65 65 64 20 61 6e 64 20 72 61 74 69 6f 0a 09 20 20 63 6f 6d 70 61 72 ession.speed.and.ratio....compar
14da0 61 62 6c 65 20 74 6f 20 74 68 6f 73 65 20 6f 66 20 27 67 7a 69 70 20 2d 39 27 2e 0a 09 2a 20 66 able.to.those.of.'gzip.-9'...*.f
14dc0 61 73 74 5f 65 6e 63 6f 64 65 72 2e 68 2c 20 66 61 73 74 5f 65 6e 63 6f 64 65 72 2e 63 63 3a 20 ast_encoder.h,.fast_encoder.cc:.
14de0 4e 65 77 20 66 69 6c 65 73 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 3a 20 4d 61 74 63 68 20 6c 65 6e New.files...*.main.cc:.Match.len
14e00 67 74 68 20 6c 69 6d 69 74 20 73 65 74 20 62 79 20 6f 70 74 69 6f 6e 73 20 2d 31 20 74 6f 20 2d gth.limit.set.by.options.-1.to.-
14e20 38 20 68 61 73 20 62 65 65 6e 0a 09 20 20 72 65 64 75 63 65 64 20 74 6f 20 65 78 74 65 6e 64 20 8.has.been....reduced.to.extend.
14e40 72 61 6e 67 65 20 6f 66 20 75 73 65 20 74 6f 77 61 72 64 73 20 67 7a 69 70 2e 20 4c 6f 77 65 72 range.of.use.towards.gzip..Lower
14e60 20 6e 75 6d 62 65 72 73 20 6e 6f 77 0a 09 20 20 63 6f 6d 70 72 65 73 73 20 6c 65 73 73 20 62 75 .numbers.now....compress.less.bu
14e80 74 20 66 61 73 74 65 72 2e 20 28 2d 31 20 6e 6f 77 20 74 61 6b 65 73 20 34 33 25 20 6c 65 73 73 t.faster..(-1.now.takes.43%.less
14ea0 20 74 69 6d 65 20 66 6f 72 20 6f 6e 6c 79 20 32 30 25 0a 09 20 20 6c 61 72 67 65 72 20 63 6f 6d .time.for.only.20%....larger.com
14ec0 70 72 65 73 73 65 64 20 73 69 7a 65 29 2e 0a 09 20 20 45 78 69 74 20 77 69 74 68 20 73 74 61 74 pressed.size).....Exit.with.stat
14ee0 75 73 20 31 20 69 66 20 61 6e 79 20 6f 75 74 70 75 74 20 66 69 6c 65 20 65 78 69 73 74 73 20 61 us.1.if.any.output.file.exists.a
14f00 6e 64 20 69 73 20 73 6b 69 70 70 65 64 2e 0a 09 2a 20 43 6f 6d 70 72 65 73 73 69 6f 6e 20 72 61 nd.is.skipped...*.Compression.ra
14f20 74 69 6f 20 6f 66 20 6f 70 74 69 6f 6e 20 27 2d 39 27 20 68 61 73 20 62 65 65 6e 20 73 6c 69 67 tio.of.option.'-9'.has.been.slig
14f40 68 74 6c 79 20 69 6e 63 72 65 61 73 65 64 2e 0a 09 2a 20 6c 7a 69 70 72 65 63 6f 76 65 72 2e 63 htly.increased...*.lziprecover.c
14f60 63 3a 20 4e 65 77 20 6f 70 74 69 6f 6e 20 27 2d 6d 2c 20 2d 2d 6d 65 72 67 65 27 2c 20 77 68 69 c:.New.option.'-m,.--merge',.whi
14f80 63 68 20 74 72 69 65 73 20 74 6f 20 70 72 6f 64 75 63 65 20 61 0a 09 20 20 63 6f 72 72 65 63 74 ch.tries.to.produce.a....correct
14fa0 20 66 69 6c 65 20 62 79 20 6d 65 72 67 69 6e 67 20 74 68 65 20 67 6f 6f 64 20 70 61 72 74 73 20 .file.by.merging.the.good.parts.
14fc0 6f 66 20 74 77 6f 20 6f 72 20 6d 6f 72 65 20 64 61 6d 61 67 65 64 20 63 6f 70 69 65 73 2e 0a 09 of.two.or.more.damaged.copies...
14fe0 2a 20 6c 7a 69 70 72 65 63 6f 76 65 72 2e 63 63 3a 20 4e 65 77 20 6f 70 74 69 6f 6e 20 27 2d 52 *.lziprecover.cc:.New.option.'-R
15000 2c 20 2d 2d 72 65 70 61 69 72 27 20 66 6f 72 20 72 65 70 61 69 72 69 6e 67 20 61 0a 09 20 20 31 ,.--repair'.for.repairing.a....1
15020 2d 62 79 74 65 20 65 72 72 6f 72 20 69 6e 20 73 69 6e 67 6c 65 2d 6d 65 6d 62 65 72 20 66 69 6c -byte.error.in.single-member.fil
15040 65 73 2e 0a 09 2a 20 64 65 63 6f 64 65 72 2e 63 63 20 28 64 65 63 6f 64 65 5f 6d 65 6d 62 65 72 es...*.decoder.cc.(decode_member
15060 29 3a 20 44 65 74 65 63 74 20 66 69 6c 65 20 65 72 72 6f 72 73 20 65 61 72 6c 69 65 72 20 74 6f ):.Detect.file.errors.earlier.to
15080 20 69 6d 70 72 6f 76 65 0a 09 20 20 65 66 66 69 63 69 65 6e 63 79 20 6f 66 20 6c 7a 69 70 72 65 .improve....efficiency.of.lzipre
150a0 63 6f 76 65 72 27 73 20 6e 65 77 20 72 65 70 61 69 72 20 63 61 70 61 62 69 6c 69 74 79 2e 0a 09 cover's.new.repair.capability...
150c0 20 20 54 68 69 73 20 63 68 61 6e 67 65 20 61 6c 73 6f 20 70 72 65 76 65 6e 74 73 20 28 68 61 72 ..This.change.also.prevents.(har
150e0 6d 6c 65 73 73 29 20 61 63 63 65 73 73 20 74 6f 20 75 6e 69 6e 69 74 69 61 6c 69 7a 65 64 0a 09 mless).access.to.uninitialized..
15100 20 20 6d 65 6d 6f 72 79 20 77 68 65 6e 20 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 20 61 20 63 6f ..memory.when.decompressing.a.co
15120 72 72 75 70 74 20 66 69 6c 65 2e 0a 09 2a 20 6c 7a 69 70 72 65 63 6f 76 65 72 2e 63 63 3a 20 4e rrupt.file...*.lziprecover.cc:.N
15140 65 77 20 6f 70 74 69 6f 6e 73 20 27 2d 66 2c 20 2d 2d 66 6f 72 63 65 27 20 61 6e 64 20 27 2d 6f ew.options.'-f,.--force'.and.'-o
15160 2c 20 2d 2d 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 ,.--output'...*.lziprecover.cc:.
15180 4e 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 6c 65 New.option.'-s,.--split'.to.sele
151a0 63 74 20 74 68 65 20 75 6e 74 69 6c 0a 09 20 20 6e 6f 77 20 6f 6e 6c 79 20 6f 70 65 72 61 74 69 ct.the.until....now.only.operati
151c0 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 6c 65 on.of.splitting.multimember.file
151e0 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 65 72 s...*.lziprecover.cc:.If.no.oper
15200 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 73 65 ation.is.specified,.warn.the.use
15220 72 20 61 6e 64 20 64 6f 0a 09 20 20 6e 6f 74 68 69 6e 67 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 3a r.and.do....nothing...*.main.cc:
15240 20 46 69 78 20 77 61 72 6e 69 6e 67 20 61 62 6f 75 74 20 66 63 68 6f 77 6e 27 73 20 72 65 74 75 .Fix.warning.about.fchown's.retu
15260 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 65 63 6f 64 rn.value.being.ignored...*.decod
15280 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 77 73 20 63 er.cc:.'-tvvvv'.now.also.shows.c
152a0 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 3a 20 53 65 ompression.ratio...*.main.cc:.Se
152c0 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 65 20 6f 6e t.stdin/stdout.in.binary.mode.on
152e0 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 66 6f 3a 20 .MSVC.and.OS2...*.lzip.texinfo:.
15300 4e 65 77 20 65 78 61 6d 70 6c 65 73 2e 0a 09 2a 20 74 65 73 74 73 75 69 74 65 3a 20 52 65 6e 61 New.examples...*.testsuite:.Rena
15320 6d 65 20 27 74 65 73 74 31 27 20 74 6f 20 27 74 65 73 74 2e 74 78 74 27 2e 20 4e 65 77 20 74 65 me.'test1'.to.'test.txt'..New.te
15340 73 74 73 2e 0a 09 2a 20 4d 61 74 63 68 66 69 6e 64 65 72 20 74 79 70 65 73 20 48 43 34 20 28 34 sts...*.Matchfinder.types.HC4.(4
15360 20 62 79 74 65 73 20 68 61 73 68 2d 63 68 61 69 6e 29 20 61 6e 64 20 48 54 34 20 28 34 20 62 79 .bytes.hash-chain).and.HT4.(4.by
15380 74 65 73 0a 09 20 20 68 61 73 68 2d 74 61 62 6c 65 29 20 68 61 76 65 20 62 65 65 6e 20 74 65 73 tes....hash-table).have.been.tes
153a0 74 65 64 20 61 6e 64 20 66 6f 75 6e 64 20 6e 6f 20 62 65 74 74 65 72 20 74 68 61 6e 20 74 68 65 ted.and.found.no.better.than.the
153c0 20 63 75 72 72 65 6e 74 0a 09 20 20 42 54 34 2e 0a 0a 32 30 31 30 2d 30 34 2d 30 35 20 20 41 6e .current....BT4...2010-04-05..An
153e0 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 65 6c tonio.Diaz.Diaz..<ant_diaz@telel
15400 69 6e 65 2e 65 73 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 31 2e 31 30 20 72 65 6c 65 61 73 65 ine.es>...*.Version.1.10.release
15420 64 2e 0a 09 2a 20 64 65 63 6f 64 65 72 2e 68 3a 20 49 6e 70 75 74 5f 62 75 66 66 65 72 20 69 6e d...*.decoder.h:.Input_buffer.in
15440 74 65 67 72 61 74 65 64 20 69 6e 20 52 61 6e 67 65 5f 64 65 63 6f 64 65 72 2e 0a 09 2a 20 6d 61 tegrated.in.Range_decoder...*.ma
15460 69 6e 2e 63 63 3a 20 46 69 6c 65 20 73 70 65 63 69 66 69 65 64 20 77 69 74 68 20 6f 70 74 69 6f in.cc:.File.specified.with.optio
15480 6e 20 27 2d 6f 27 20 69 73 20 6e 6f 77 20 63 72 65 61 74 65 64 20 77 69 74 68 20 6d 6f 64 65 0a n.'-o'.is.now.created.with.mode.
154a0 09 20 20 30 36 36 36 20 69 66 20 75 6d 61 73 6b 20 61 6c 6c 6f 77 73 20 69 74 2c 20 64 65 6c 65 ...0666.if.umask.allows.it,.dele
154c0 74 65 64 20 69 66 20 69 6e 74 65 72 72 75 70 74 65 64 20 62 79 20 75 73 65 72 2e 0a 09 2a 20 6d ted.if.interrupted.by.user...*.m
154e0 61 69 6e 2e 63 63 3a 20 4e 65 77 20 63 6f 6e 73 74 61 6e 74 20 27 6f 5f 62 69 6e 61 72 79 27 2e ain.cc:.New.constant.'o_binary'.
15500 0a 09 2a 20 6d 61 69 6e 2e 63 63 3a 20 44 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 66 6f 72 ..*.main.cc:.Dictionary.size.for
15520 20 6f 70 74 69 6f 6e 73 20 2d 32 2c 20 2d 33 2c 20 2d 34 20 61 6e 64 20 2d 38 20 68 61 73 20 62 .options.-2,.-3,.-4.and.-8.has.b
15540 65 65 6e 0a 09 20 20 63 68 61 6e 67 65 64 20 74 6f 20 69 6d 70 72 6f 76 65 20 6c 69 6e 65 61 72 een....changed.to.improve.linear
15560 69 74 79 20 6f 66 20 63 6f 6d 70 72 65 73 73 65 64 20 73 69 7a 65 73 2e 0a 09 2a 20 6c 7a 69 70 ity.of.compressed.sizes...*.lzip
15580 2e 68 3a 20 46 69 78 20 77 61 72 6e 69 6e 67 73 20 70 72 6f 64 75 63 65 64 20 62 79 20 6f 76 65 .h:.Fix.warnings.produced.by.ove
155a0 72 2d 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 20 28 2d 4f 33 29 2e 0a 09 2a 20 4d 61 6b 65 66 69 6c r-optimization.(-O3)...*.Makefil
155c0 65 2e 69 6e 3a 20 41 64 64 20 71 75 6f 74 65 73 20 74 6f 20 64 69 72 65 63 74 6f 72 79 20 6e 61 e.in:.Add.quotes.to.directory.na
155e0 6d 65 73 2e 0a 0a 32 30 31 30 2d 30 31 2d 31 37 20 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 mes...2010-01-17..Antonio.Diaz.D
15600 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>...*.
15620 56 65 72 73 69 6f 6e 20 31 2e 39 20 72 65 6c 65 61 73 65 64 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 Version.1.9.released...*.main.cc
15640 20 28 6d 61 69 6e 29 3a 20 52 65 74 75 72 6e 20 61 74 20 6c 65 61 73 74 20 31 20 69 66 20 63 6c .(main):.Return.at.least.1.if.cl
15660 6f 73 69 6e 67 20 73 74 64 6f 75 74 20 66 61 69 6c 73 2e 0a 09 2a 20 4d 61 6b 65 66 69 6c 65 2e osing.stdout.fails...*.Makefile.
15680 69 6e 3a 20 41 64 64 20 6f 70 74 69 6f 6e 20 27 2d 2d 6e 61 6d 65 27 20 74 6f 20 68 65 6c 70 32 in:.Add.option.'--name'.to.help2
156a0 6d 61 6e 20 69 6e 76 6f 63 61 74 69 6f 6e 2e 0a 09 2a 20 63 68 65 63 6b 2e 73 68 3a 20 55 73 65 man.invocation...*.check.sh:.Use
156c0 20 27 74 65 73 74 31 27 20 69 6e 73 74 65 61 64 20 6f 66 20 27 43 4f 50 59 49 4e 47 27 20 66 6f .'test1'.instead.of.'COPYING'.fo
156e0 72 20 74 65 73 74 69 6e 67 2e 0a 0a 32 30 30 39 2d 30 39 2d 30 32 20 20 41 6e 74 6f 6e 69 6f 20 r.testing...2009-09-02..Antonio.
15700 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
15720 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 31 2e 38 20 72 65 6c 65 61 73 65 64 2e 0a 09 2a 20 43 >...*.Version.1.8.released...*.C
15740 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 63 65 64 ompression.time.has.been.reduced
15760 20 62 79 20 34 25 2e 0a 09 2a 20 4c 7a 64 69 66 66 20 61 6e 64 20 6c 7a 67 72 65 70 20 68 61 76 .by.4%...*.Lzdiff.and.lzgrep.hav
15780 65 20 62 65 65 6e 20 6d 6f 76 65 64 20 74 6f 20 74 68 65 20 6e 65 77 20 70 61 63 6b 61 67 65 20 e.been.moved.to.the.new.package.
157a0 7a 75 74 69 6c 73 2e 0a 09 2a 20 46 69 78 20 77 61 72 6e 69 6e 67 73 20 6f 6e 20 73 79 73 74 65 zutils...*.Fix.warnings.on.syste
157c0 6d 73 20 77 68 65 72 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 ms.where.uint32_t.!=.unsigned.in
157e0 74 2e 0a 0a 32 30 30 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 t...2009-06-25..Antonio.Diaz.Dia
15800 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
15820 72 73 69 6f 6e 20 31 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 rsion.1.7.released...*.decoder.h
15840 20 28 63 6f 70 79 5f 62 6c 6f 63 6b 29 3a 20 46 69 78 20 6d 65 6d 63 70 79 20 6f 76 65 72 6c 61 .(copy_block):.Fix.memcpy.overla
15860 70 20 69 6e 74 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 p.introduced.in.1.6...2009-06-22
15880 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 74 ..Antonio.Diaz.Diaz..<ant_diaz@t
158a0 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 36 20 72 65 6c 65 eleline.es>...*.Version.1.6.rele
158c0 61 73 65 64 2e 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 ased...*.Decompression.time.has.
158e0 62 65 65 6e 20 72 65 64 75 63 65 64 20 62 79 20 31 37 25 2e 0a 09 2a 20 41 64 64 20 64 65 63 6f been.reduced.by.17%...*.Add.deco
15900 6d 70 72 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 mpression.support.for.Sync.Flush
15920 20 6d 61 72 6b 65 72 2e 0a 09 2a 20 41 64 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20 74 68 65 20 .marker...*.Add.support.for.the.
15940 65 78 74 65 6e 73 69 6f 6e 20 27 2e 74 62 7a 27 20 74 6f 20 6c 7a 64 69 66 66 20 61 6e 64 20 6c extension.'.tbz'.to.lzdiff.and.l
15960 7a 67 72 65 70 2e 0a 09 2a 20 41 64 64 20 6d 61 6e 20 70 61 67 65 73 20 66 6f 72 20 6c 7a 64 69 zgrep...*.Add.man.pages.for.lzdi
15980 66 66 2c 20 6c 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 ff,.lzgrep.and.lziprecover...*.e
159a0 6e 63 6f 64 65 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 ncoder.cc.(Matchfinder):.Reduce.
159c0 6d 65 6d 6f 72 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 20 69 memory.use.to.9x.if.input.file.i
159e0 73 0a 09 20 20 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 s....smaller.than.dictionary.siz
15a00 65 20 6c 69 6d 69 74 2e 0a 09 2a 20 64 65 63 6f 64 65 72 2e 63 63 3a 20 41 64 64 20 65 78 74 72 e.limit...*.decoder.cc:.Add.extr
15a20 61 20 66 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 a.flush.calls.to.improve.partial
15a40 20 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 0a 09 20 20 6f 66 20 63 6f 72 72 75 70 74 20 66 69 6c .decompression....of.corrupt.fil
15a60 65 73 2e 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 es...*.'--test'.no.longer.needs.
15a80 27 2f 64 65 76 2f 6e 75 6c 6c 27 2e 0a 09 2a 20 52 65 6d 6f 76 65 20 73 6f 6d 65 20 27 62 61 73 '/dev/null'...*.Remove.some.'bas
15aa0 68 69 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 hisms'.from.lzdiff.and.lzgrep...
15ac0 2a 20 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 *.Dictionary.size.for.options.'-
15ae0 31 27 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 1'.to.'-4'.has.been.changed...*.
15b00 6d 61 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 main.cc.(signal_handler):.Declar
15b20 65 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 e.as.'extern."C"'...*.Makefile.i
15b40 6e 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 n:.Extra.files.are.now.installed
15b60 20 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 .by.default...*.check.sh:.Test.l
15b80 7a 69 70 72 65 63 6f 76 65 72 2e 0a 09 2a 20 41 64 64 20 27 65 78 70 6f 72 74 20 4c 43 5f 41 4c ziprecover...*.Add.'export.LC_AL
15ba0 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 32 L=C'.to.all.scripts...2009-04-12
15bc0 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 74 ..Antonio.Diaz.Diaz..<ant_diaz@t
15be0 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 65 eleline.es>...*.Version.1.5.rele
15c00 61 73 65 64 2e 0a 09 2a 20 6c 7a 69 70 2e 68 3a 20 49 6d 70 6c 65 6d 65 6e 74 20 63 6f 64 65 64 ased...*.lzip.h:.Implement.coded
15c20 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 69 6e 20 4c 7a 69 70 5f 68 65 61 64 65 72 2e .dictionary.size.in.Lzip_header.
15c40 0a 09 2a 20 46 69 78 20 73 6f 6d 65 20 69 6e 63 6c 75 64 65 73 20 74 68 61 74 20 70 72 65 76 65 ..*.Fix.some.includes.that.preve
15c60 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 2e 34 2e 0a 09 nted.compilation.with.GCC.4.4...
15c80 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 5f 73 69 7a 65 *.'member_size'.and.'volume_size
15ca0 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 09 2a 20 43 6f '.are.now.accurate.limits...*.Co
15cc0 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 70 72 6f 76 65 mpression.speed.has.been.improve
15ce0 64 2e 0a 09 2a 20 49 6d 70 6c 65 6d 65 6e 74 20 62 74 34 20 74 79 70 65 20 6d 61 74 63 68 66 69 d...*.Implement.bt4.type.matchfi
15d00 6e 64 65 72 2e 0a 09 2a 20 6c 7a 69 70 2e 74 65 78 69 6e 66 6f 3a 20 4e 65 77 20 63 68 61 70 74 nder...*.lzip.texinfo:.New.chapt
15d20 65 72 20 27 41 6c 67 6f 72 69 74 68 6d 27 2e 0a 09 2a 20 4c 7a 64 69 66 66 20 61 6e 64 20 6c 7a er.'Algorithm'...*.Lzdiff.and.lz
15d40 67 72 65 70 20 6e 6f 77 20 61 63 63 65 70 74 20 27 2d 68 27 20 66 6f 72 20 27 2d 2d 68 65 6c 70 grep.now.accept.'-h'.for.'--help
15d60 27 20 61 6e 64 0a 09 20 20 27 2d 56 27 20 66 6f 72 20 27 2d 2d 76 65 72 73 69 6f 6e 27 2e 0a 09 '.and....'-V'.for.'--version'...
15d80 2a 20 4d 61 6b 65 66 69 6c 65 2e 69 6e 3a 20 4d 61 6e 20 70 61 67 65 20 69 73 20 6e 6f 77 20 69 *.Makefile.in:.Man.page.is.now.i
15da0 6e 73 74 61 6c 6c 65 64 20 62 79 20 64 65 66 61 75 6c 74 2e 0a 09 2a 20 63 68 65 63 6b 2e 73 68 nstalled.by.default...*.check.sh
15dc0 3a 20 56 65 72 69 66 79 20 74 68 61 74 20 66 69 6c 65 73 20 61 72 65 20 6f 70 65 6e 65 64 20 69 :.Verify.that.files.are.opened.i
15de0 6e 20 62 69 6e 61 72 79 20 6d 6f 64 65 2e 0a 0a 32 30 30 39 2d 30 31 2d 32 34 20 20 41 6e 74 6f n.binary.mode...2009-01-24..Anto
15e00 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 6e nio.Diaz.Diaz..<ant_diaz@telelin
15e20 65 2e 65 73 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 31 2e 34 20 72 65 6c 65 61 73 65 64 2e 0a e.es>...*.Version.1.4.released..
15e40 09 2a 20 49 6d 70 6c 65 6d 65 6e 74 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6f 66 20 76 65 72 73 .*.Implement.compression.of.vers
15e60 69 6f 6e 20 31 20 66 69 6c 65 73 2e 0a 09 2a 20 4e 65 77 20 6f 70 74 69 6f 6e 73 20 27 2d 62 2c ion.1.files...*.New.options.'-b,
15e80 20 2d 2d 6d 65 6d 62 65 72 2d 73 69 7a 65 27 2c 20 27 2d 53 2c 20 2d 2d 76 6f 6c 75 6d 65 2d 73 .--member-size',.'-S,.--volume-s
15ea0 69 7a 65 27 2c 20 61 6e 64 0a 09 20 20 27 2d 6f 2c 20 2d 2d 6f 75 74 70 75 74 27 2e 0a 09 2a 20 ize',.and....'-o,.--output'...*.
15ec0 6d 61 69 6e 2e 63 63 3a 20 52 65 61 64 20 66 72 6f 6d 20 6e 6f 6e 2d 72 65 67 75 6c 61 72 20 66 main.cc:.Read.from.non-regular.f
15ee0 69 6c 65 73 20 69 66 20 27 2d 2d 73 74 64 6f 75 74 27 20 69 73 20 73 70 65 63 69 66 69 65 64 2e iles.if.'--stdout'.is.specified.
15f00 0a 09 2a 20 41 64 64 20 27 6c 7a 69 70 72 65 63 6f 76 65 72 27 2c 20 61 20 6d 65 6d 62 65 72 20 ..*.Add.'lziprecover',.a.member.
15f20 72 65 63 6f 76 65 72 65 72 20 70 72 6f 67 72 61 6d 2e 0a 09 2a 20 75 6e 7a 63 72 61 73 68 2e 63 recoverer.program...*.unzcrash.c
15f40 63 3a 20 54 65 73 74 20 61 6c 6c 20 31 2d 62 79 74 65 20 65 72 72 6f 72 73 2e 0a 0a 32 30 30 38 c:.Test.all.1-byte.errors...2008
15f60 2d 31 32 2d 32 31 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 -12-21..Antonio.Diaz.Diaz..<ant_
15f80 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 2e diaz@teleline.es>...*.Version.1.
15fa0 33 20 72 65 6c 65 61 73 65 64 2e 0a 09 2a 20 54 68 69 73 20 76 65 72 73 69 6f 6e 20 61 75 74 6f 3.released...*.This.version.auto
15fc0 6d 61 74 69 63 61 6c 6c 79 20 63 68 6f 6f 73 65 73 20 74 68 65 20 73 6d 61 6c 6c 65 73 74 20 70 matically.chooses.the.smallest.p
15fe0 6f 73 73 69 62 6c 65 0a 09 20 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 66 6f 72 20 65 ossible....dictionary.size.for.e
16000 61 63 68 20 66 69 6c 65 20 64 75 72 69 6e 67 20 63 6f 6d 70 72 65 73 73 69 6f 6e 2c 20 73 61 76 ach.file.during.compression,.sav
16020 69 6e 67 20 6d 65 6d 6f 72 79 0a 09 20 20 64 75 72 69 6e 67 20 64 65 63 6f 6d 70 72 65 73 73 69 ing.memory....during.decompressi
16040 6f 6e 2e 0a 09 2a 20 49 6d 70 6c 65 6d 65 6e 74 20 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6f on...*.Implement.decompression.o
16060 66 20 76 65 72 73 69 6f 6e 20 31 20 66 69 6c 65 73 2e 0a 09 2a 20 63 68 65 63 6b 2e 73 68 3a 20 f.version.1.files...*.check.sh:.
16080 52 65 70 6c 61 63 65 20 27 64 69 66 66 20 2d 71 27 20 77 69 74 68 20 27 63 6d 70 27 2e 0a 0a 32 Replace.'diff.-q'.with.'cmp'...2
160a0 30 30 38 2d 31 32 2d 31 30 20 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 20 20 3c 61 008-12-10..Antonio.Diaz.Diaz..<a
160c0 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 73 69 6f 6e nt_diaz@teleline.es>...*.Version
160e0 20 31 2e 32 20 72 65 6c 65 61 73 65 64 2e 0a 09 2a 20 65 6e 63 6f 64 65 72 2e 63 63 3a 20 41 20 .1.2.released...*.encoder.cc:.A.
16100 31 2d 62 79 74 65 20 72 65 61 64 20 6f 75 74 73 69 64 65 20 61 6c 6c 6f 63 61 74 65 64 20 6d 65 1-byte.read.outside.allocated.me
16120 6d 6f 72 79 20 68 61 73 20 62 65 65 6e 20 66 69 78 65 64 2e 0a 09 2a 20 6c 7a 69 70 2e 68 3a 20 mory.has.been.fixed...*.lzip.h:.
16140 44 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 6c 69 6d 69 74 20 68 61 73 20 62 65 65 6e 20 72 Dictionary.size.limit.has.been.r
16160 65 64 75 63 65 64 20 74 6f 20 35 31 32 4d 69 42 20 62 65 63 61 75 73 65 0a 09 20 20 73 65 74 74 educed.to.512MiB.because....sett
16180 69 6e 67 20 69 74 20 74 6f 20 31 47 69 42 20 63 61 75 73 65 73 20 6f 76 65 72 66 6c 6f 77 20 6f ing.it.to.1GiB.causes.overflow.o
161a0 66 20 61 20 33 32 20 62 69 74 20 69 6e 74 65 67 65 72 2e 0a 09 2a 20 41 64 64 20 27 6c 7a 64 69 f.a.32.bit.integer...*.Add.'lzdi
161c0 66 66 27 2c 20 61 20 64 69 66 66 2f 63 6d 70 20 77 72 61 70 70 65 72 20 66 6f 72 20 67 7a 69 70 ff',.a.diff/cmp.wrapper.for.gzip
161e0 2c 20 62 7a 69 70 32 2c 20 6c 7a 69 70 20 61 6e 64 0a 09 20 20 6e 6f 6e 2d 63 6f 6d 70 72 65 73 ,.bzip2,.lzip.and....non-compres
16200 73 65 64 20 66 69 6c 65 73 2e 0a 09 2a 20 41 64 64 20 27 6c 7a 67 72 65 70 27 2c 20 61 20 67 72 sed.files...*.Add.'lzgrep',.a.gr
16220 65 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 20 6c 7a 69 70 ep.wrapper.for.gzip,.bzip2,.lzip
16240 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 73 2e 0a 09 2a .and....non-compressed.files...*
16260 20 27 6d 61 6b 65 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 .'make.install-info'.should.now.
16280 77 6f 72 6b 20 6f 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 work.on.Debian.and.OS.X...2008-1
162a0 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 69 1-17..Antonio.Diaz.Diaz..<ant_di
162c0 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 20 az@teleline.es>...*.Version.1.1.
162e0 72 65 6c 65 61 73 65 64 2e 0a 09 2a 20 43 68 61 6e 67 65 20 73 68 6f 72 74 20 6e 61 6d 65 20 6f released...*.Change.short.name.o
16300 66 20 6f 70 74 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 f.option.'--dictionary-size'.to.
16320 27 2d 73 27 2e 0a 09 2a 20 43 68 61 6e 67 65 20 73 68 6f 72 74 20 6e 61 6d 65 20 6f 66 20 6f 70 '-s'...*.Change.short.name.of.op
16340 74 69 6f 6e 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 tion.'--match-length'.to.'-m'...
16360 2a 20 43 68 61 6e 67 65 20 4c 4f 4e 47 5f 4c 4f 4e 47 5f 4d 41 58 20 74 6f 20 4c 4c 4f 4e 47 5f *.Change.LONG_LONG_MAX.to.LLONG_
16380 4d 41 58 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 MAX...2008-10-14..Antonio.Diaz.D
163a0 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>...*.
163c0 56 65 72 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 Version.1.0.released...*.'-tvv'.
163e0 73 68 6f 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 shows.file.version.and.dictionar
16400 79 20 73 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 y.size...2008-09-30..Antonio.Dia
16420 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 3e 0a 0a z.Diaz..<ant_diaz@teleline.es>..
16440 09 2a 20 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 .*.Version.0.5.released...*.Deco
16460 6d 70 72 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 mpression.is.now.1%.faster...200
16480 38 2d 30 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 8-09-23..Antonio.Diaz.Diaz..<ant
164a0 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
164c0 2e 34 20 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 .4.released...*.Code.cleanup.for
164e0 20 67 6c 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 .global.variable.'verbosity'...*
16500 20 52 65 67 61 69 6e 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 .Regain.the.compression.ratio.of
16520 20 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 6c 7a .0.2.with.5%.faster.speed...*.lz
16540 69 70 2e 68 3a 20 46 69 78 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 6e 20 73 79 73 74 65 6d 73 ip.h:.Fix.compilation.on.systems
16560 20 77 68 65 72 65 20 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 .where.size_t.!=.unsigned.int...
16580 32 30 30 38 2d 30 39 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 2008-09-15..Antonio.Diaz.Diaz..<
165a0 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 73 69 6f ant_diaz@teleline.es>...*.Versio
165c0 6e 20 30 2e 33 20 72 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 n.0.3.released...*.encoder.cc:.C
165e0 6f 6d 70 72 65 73 73 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 ompression.is.now.15%.faster,.1%
16600 20 77 6f 72 73 65 2e 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 .worse...*.main.cc.(main):.Make.
16620 6f 70 74 69 6f 6e 20 27 2d 74 27 20 6f 76 65 72 72 69 64 65 20 27 2d 63 27 2e 0a 09 2a 20 6d 61 option.'-t'.override.'-c'...*.ma
16640 69 6e 2e 63 63 20 28 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 in.cc.(decompress):.Show.'done'.
16660 69 6e 73 74 65 61 64 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 instead.of.'ok'.when.not.testing
16680 2e 0a 09 2a 20 65 6e 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 ...*.encoder.h:.Use.trials[].to.
166a0 72 65 74 75 72 6e 20 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 return.the.list.of.pairs...2008-
166c0 30 39 2d 30 39 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 09-09..Antonio.Diaz.Diaz..<ant_d
166e0 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 2e 32 iaz@teleline.es>...*.Version.0.2
16700 20 72 65 6c 65 61 73 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 .released...*.encoder.cc:.Small.
16720 69 6d 70 72 6f 76 65 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 improvements.in.compression.spee
16740 64 2e 0a 09 2a 20 53 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 d...*.Small.documentation.change
16760 73 2e 0a 0a 32 30 30 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 s...2008-08-20..Antonio.Diaz.Dia
16780 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
167a0 72 73 69 6f 6e 20 30 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 rsion.0.1.released....Copyright.
167c0 28 43 29 20 32 30 30 38 2d 32 30 32 32 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e (C).2008-2022.Antonio.Diaz.Diaz.
167e0 0a 0a 54 68 69 73 20 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 ..This.file.is.a.collection.of.f
16800 61 63 74 73 2c 20 61 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 acts,.and.thus.it.is.not.copyrig
16820 68 74 61 62 6c 65 2c 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 htable,.but.just.in.case,.you.ha
16840 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 20 63 6f 70 79 2c ve.unlimited.permission.to.copy,
16860 20 64 69 73 74 72 69 62 75 74 65 2c 20 61 6e 64 0a 6d 6f 64 69 66 79 20 69 74 2e 0a 00 00 00 00 .distribute,.and.modify.it......
16880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
168a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
168c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
168e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
169a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
169c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
169e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16a00 6c 7a 69 70 2d 31 2e 32 33 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.23/arg_parser.cc.........
16a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16a60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
16a80 30 30 31 33 33 35 34 00 31 34 31 36 35 31 36 33 31 36 36 00 30 31 35 30 36 36 00 20 30 00 00 00 0013354.14165163166.015066..0...
16aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16b00 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
16b20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
16b40 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
16b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16c00 2f 2a 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 6e /*.Arg_parser.-.POSIX/GNU.comman
16c20 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 72 d.line.argument.parser..(C++.ver
16c40 73 69 6f 6e 29 0a 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 36 2d 32 30 32 32 sion)....Copyright.(C).2006-2022
16c60 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 54 68 69 73 20 6c 69 62 .Antonio.Diaz.Diaz......This.lib
16c80 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 72 69 62 rary.is.free.software..Redistrib
16ca0 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 20 20 62 ution.and.use.in.source.and....b
16cc0 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 20 6d 6f 64 inary.forms,.with.or.without.mod
16ce0 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 76 69 64 65 ification,.are.permitted.provide
16d00 64 0a 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 64 69 74 69 6f d....that.the.following.conditio
16d20 6e 73 20 61 72 65 20 6d 65 74 3a 0a 0a 20 20 20 31 2e 20 52 65 64 69 73 74 72 69 62 75 74 69 6f ns.are.met:.....1..Redistributio
16d40 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 61 69 6e 20 74 68 ns.of.source.code.must.retain.th
16d60 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 67 68 74 0a 20 20 20 6e 6f 74 69 63 65 2c 20 74 68 69 e.above.copyright....notice,.thi
16d80 73 20 6c 69 73 74 20 6f 66 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 20 61 6e 64 20 74 68 65 20 66 6f s.list.of.conditions,.and.the.fo
16da0 6c 6c 6f 77 69 6e 67 20 64 69 73 63 6c 61 69 6d 65 72 2e 0a 0a 20 20 20 32 2e 20 52 65 64 69 73 llowing.disclaimer......2..Redis
16dc0 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 20 6d 75 73 74 20 72 tributions.in.binary.form.must.r
16de0 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 67 68 74 0a 20 20 20 eproduce.the.above.copyright....
16e00 6e 6f 74 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 2c notice,.this.list.of.conditions,
16e20 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 69 6d 65 72 20 69 6e .and.the.following.disclaimer.in
16e40 20 74 68 65 0a 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 .the....documentation.and/or.oth
16e60 65 72 20 6d 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 er.materials.provided.with.the.d
16e80 69 73 74 72 69 62 75 74 69 6f 6e 2e 0a 0a 20 20 20 54 68 69 73 20 6c 69 62 72 61 72 79 20 69 73 istribution......This.library.is
16ea0 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 69 74 .distributed.in.the.hope.that.it
16ec0 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 .will.be.useful,....but.WITHOUT.
16ee0 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 68 65 20 69 ANY.WARRANTY;.without.even.the.i
16f00 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 20 20 20 4d 45 52 43 48 41 4e 54 41 42 mplied.warranty.of....MERCHANTAB
16f20 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 54 49 43 55 4c 41 ILITY.or.FITNESS.FOR.A.PARTICULA
16f40 52 20 50 55 52 50 4f 53 45 2e 0a 2a 2f 0a 0a 23 69 6e 63 6c 75 64 65 20 3c 63 73 74 72 69 6e 67 R.PURPOSE..*/..#include.<cstring
16f60 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 20 3c 76 65 >.#include.<string>.#include.<ve
16f80 63 74 6f 72 3e 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 0a ctor>..#include."arg_parser.h"..
16fa0 0a 62 6f 6f 6c 20 41 72 67 5f 70 61 72 73 65 72 3a 3a 70 61 72 73 65 5f 6c 6f 6e 67 5f 6f 70 74 .bool.Arg_parser::parse_long_opt
16fc0 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 6f 6e ion(.const.char.*.const.opt,.con
16fe0 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 20 20 st.char.*.const.arg,............
17000 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 20 4f .........................const.O
17020 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 69 6e 64 20 29 0a ption.options[],.int.&.argind.).
17040 20 20 7b 0a 20 20 75 6e 73 69 67 6e 65 64 20 6c 65 6e 3b 0a 20 20 69 6e 74 20 69 6e 64 65 78 20 ..{...unsigned.len;...int.index.
17060 3d 20 2d 31 3b 0a 20 20 62 6f 6f 6c 20 65 78 61 63 74 20 3d 20 66 61 6c 73 65 2c 20 61 6d 62 69 =.-1;...bool.exact.=.false,.ambi
17080 67 20 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 66 6f 72 28 20 6c 65 6e 20 3d 20 30 3b 20 6f 70 74 5b g.=.false;....for(.len.=.0;.opt[
170a0 6c 65 6e 2b 32 5d 20 26 26 20 6f 70 74 5b 6c 65 6e 2b 32 5d 20 21 3d 20 27 3d 27 3b 20 2b 2b 6c len+2].&&.opt[len+2].!=.'=';.++l
170c0 65 6e 20 29 20 3b 0a 0a 20 20 2f 2f 20 54 65 73 74 20 61 6c 6c 20 6c 6f 6e 67 20 6f 70 74 69 6f en.).;....//.Test.all.long.optio
170e0 6e 73 20 66 6f 72 20 65 69 74 68 65 72 20 65 78 61 63 74 20 6d 61 74 63 68 20 6f 72 20 61 62 62 ns.for.either.exact.match.or.abb
17100 72 65 76 69 61 74 65 64 20 6d 61 74 63 68 65 73 2e 0a 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d reviated.matches....for(.int.i.=
17120 20 30 3b 20 6f 70 74 69 6f 6e 73 5b 69 5d 2e 63 6f 64 65 20 21 3d 20 30 3b 20 2b 2b 69 20 29 0a .0;.options[i].code.!=.0;.++i.).
17140 20 20 20 20 69 66 28 20 6f 70 74 69 6f 6e 73 5b 69 5d 2e 6c 6f 6e 67 5f 6e 61 6d 65 20 26 26 0a ....if(.options[i].long_name.&&.
17160 20 20 20 20 20 20 20 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 ........std::strncmp(.options[i]
17180 2e 6c 6f 6e 67 5f 6e 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 .long_name,.&opt[2],.len.).==.0.
171a0 29 0a 20 20 20 20 20 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 ).......{.......if(.std::strlen(
171c0 20 6f 70 74 69 6f 6e 73 5b 69 5d 2e 6c 6f 6e 67 5f 6e 61 6d 65 20 29 20 3d 3d 20 6c 65 6e 20 29 .options[i].long_name.).==.len.)
171e0 09 2f 2f 20 45 78 61 63 74 20 6d 61 74 63 68 20 66 6f 75 6e 64 0a 20 20 20 20 20 20 20 20 7b 20 .//.Exact.match.found.........{.
17200 69 6e 64 65 78 20 3d 20 69 3b 20 65 78 61 63 74 20 3d 20 74 72 75 65 3b 20 62 72 65 61 6b 3b 20 index.=.i;.exact.=.true;.break;.
17220 7d 0a 20 20 20 20 20 20 65 6c 73 65 20 69 66 28 20 69 6e 64 65 78 20 3c 20 30 20 29 20 69 6e 64 }.......else.if(.index.<.0.).ind
17240 65 78 20 3d 20 69 3b 09 09 2f 2f 20 46 69 72 73 74 20 6e 6f 6e 65 78 61 63 74 20 6d 61 74 63 68 ex.=.i;..//.First.nonexact.match
17260 20 66 6f 75 6e 64 0a 20 20 20 20 20 20 65 6c 73 65 20 69 66 28 20 6f 70 74 69 6f 6e 73 5b 69 6e .found.......else.if(.options[in
17280 64 65 78 5d 2e 63 6f 64 65 20 21 3d 20 6f 70 74 69 6f 6e 73 5b 69 5d 2e 63 6f 64 65 20 7c 7c 0a dex].code.!=.options[i].code.||.
172a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 70 74 69 6f 6e 73 5b 69 6e 64 65 78 5d 2e 68 61 ...............options[index].ha
172c0 73 5f 61 72 67 20 21 3d 20 6f 70 74 69 6f 6e 73 5b 69 5d 2e 68 61 73 5f 61 72 67 20 29 0a 20 20 s_arg.!=.options[i].has_arg.)...
172e0 20 20 20 20 20 20 61 6d 62 69 67 20 3d 20 74 72 75 65 3b 09 09 2f 2f 20 53 65 63 6f 6e 64 20 6f ......ambig.=.true;..//.Second.o
17300 72 20 6c 61 74 65 72 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 r.later.nonexact.match.found....
17320 20 20 20 7d 0a 0a 20 20 69 66 28 20 61 6d 62 69 67 20 26 26 20 21 65 78 61 63 74 20 29 0a 20 20 ...}....if(.ambig.&&.!exact.)...
17340 20 20 7b 0a 20 20 20 20 65 72 72 6f 72 5f 20 3d 20 22 6f 70 74 69 6f 6e 20 27 22 3b 20 65 72 72 ..{.....error_.=."option.'";.err
17360 6f 72 5f 20 2b 3d 20 6f 70 74 3b 20 65 72 72 6f 72 5f 20 2b 3d 20 22 27 20 69 73 20 61 6d 62 69 or_.+=.opt;.error_.+=."'.is.ambi
17380 67 75 6f 75 73 22 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 guous";.....return.false;.....}.
173a0 0a 20 20 69 66 28 20 69 6e 64 65 78 20 3c 20 30 20 29 09 09 2f 2f 20 6e 6f 74 68 69 6e 67 20 66 ...if(.index.<.0.)..//.nothing.f
173c0 6f 75 6e 64 0a 20 20 20 20 7b 0a 20 20 20 20 65 72 72 6f 72 5f 20 3d 20 22 75 6e 72 65 63 6f 67 ound.....{.....error_.=."unrecog
173e0 6e 69 7a 65 64 20 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 nized.option.'";.error_.+=.opt;.
17400 65 72 72 6f 72 5f 20 2b 3d 20 27 5c 27 27 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 error_.+=.'\'';.....return.false
17420 3b 0a 20 20 20 20 7d 0a 0a 20 20 2b 2b 61 72 67 69 6e 64 3b 0a 20 20 64 61 74 61 2e 70 75 73 68 ;.....}....++argind;...data.push
17440 5f 62 61 63 6b 28 20 52 65 63 6f 72 64 28 20 6f 70 74 69 6f 6e 73 5b 69 6e 64 65 78 5d 2e 63 6f _back(.Record(.options[index].co
17460 64 65 2c 20 6f 70 74 69 6f 6e 73 5b 69 6e 64 65 78 5d 2e 6c 6f 6e 67 5f 6e 61 6d 65 20 29 20 29 de,.options[index].long_name.).)
17480 3b 0a 0a 20 20 69 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 ;....if(.opt[len+2].)..//.'--<lo
174a0 6e 67 5f 6f 70 74 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 ng_option>=<argument>'.syntax...
174c0 20 20 7b 0a 20 20 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 ..{.....if(.options[index].has_a
174e0 72 67 20 3d 3d 20 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 rg.==.no.).......{.......error_.
17500 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
17520 73 5b 69 6e 64 65 78 5d 2e 6c 6f 6e 67 5f 6e 61 6d 65 3b 0a 20 20 20 20 20 20 65 72 72 6f 72 5f s[index].long_name;.......error_
17540 20 2b 3d 20 22 27 20 64 6f 65 73 6e 27 74 20 61 6c 6c 6f 77 20 61 6e 20 61 72 67 75 6d 65 6e 74 .+=."'.doesn't.allow.an.argument
17560 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 20 20 20 7d 0a 20 ";.......return.false;.......}..
17580 20 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 ...if(.options[index].has_arg.==
175a0 20 79 65 73 20 26 26 20 21 6f 70 74 5b 6c 65 6e 2b 33 5d 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 .yes.&&.!opt[len+3].).......{...
175c0 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 65 72 72 6f 72 ....error_.=."option.'--";.error
175e0 5f 20 2b 3d 20 6f 70 74 69 6f 6e 73 5b 69 6e 64 65 78 5d 2e 6c 6f 6e 67 5f 6e 61 6d 65 3b 0a 20 _.+=.options[index].long_name;..
17600 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
17620 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;....
17640 20 20 20 7d 0a 20 20 20 20 64 61 74 61 2e 62 61 63 6b 28 29 2e 61 72 67 75 6d 65 6e 74 20 3d 20 ...}.....data.back().argument.=.
17660 26 6f 70 74 5b 6c 65 6e 2b 33 5d 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 &opt[len+3];.....return.true;...
17680 20 20 7d 0a 0a 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 ..}....if(.options[index].has_ar
176a0 67 20 3d 3d 20 79 65 73 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 21 61 72 67 20 7c 7c g.==.yes.).....{.....if(.!arg.||
176c0 20 21 61 72 67 5b 30 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 .!arg[0].).......{.......error_.
176e0 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
17700 73 5b 69 6e 64 65 78 5d 2e 6c 6f 6e 67 5f 6e 61 6d 65 3b 0a 20 20 20 20 20 20 65 72 72 6f 72 5f s[index].long_name;.......error_
17720 20 2b 3d 20 22 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 .+=."'.requires.an.argument";...
17740 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 0a 20 20 20 20 2b 2b ....return.false;.......}.....++
17760 61 72 67 69 6e 64 3b 20 64 61 74 61 2e 62 61 63 6b 28 29 2e 61 72 67 75 6d 65 6e 74 20 3d 20 61 argind;.data.back().argument.=.a
17780 72 67 3b 0a 20 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 72 65 rg;.....return.true;.....}....re
177a0 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 7d 0a 0a 0a 62 6f 6f 6c 20 41 72 67 5f 70 61 72 73 65 72 turn.true;...}...bool.Arg_parser
177c0 3a 3a 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 ::parse_short_option(.const.char
177e0 20 2a 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 .*.const.opt,.const.char.*.const
17800 20 61 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 .arg,...........................
17820 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 74 69 6f 6e 73 5b ...........const.Option.options[
17840 5d 2c 20 69 6e 74 20 26 20 61 72 67 69 6e 64 20 29 0a 20 20 7b 0a 20 20 69 6e 74 20 63 69 6e 64 ],.int.&.argind.)...{...int.cind
17860 20 3d 20 31 3b 09 09 09 2f 2f 20 63 68 61 72 61 63 74 65 72 20 69 6e 64 65 78 20 69 6e 20 6f 70 .=.1;...//.character.index.in.op
17880 74 0a 0a 20 20 77 68 69 6c 65 28 20 63 69 6e 64 20 3e 20 30 20 29 0a 20 20 20 20 7b 0a 20 20 20 t....while(.cind.>.0.).....{....
178a0 20 69 6e 74 20 69 6e 64 65 78 20 3d 20 2d 31 3b 0a 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 .int.index.=.-1;.....const.unsig
178c0 6e 65 64 20 63 68 61 72 20 63 20 3d 20 6f 70 74 5b 63 69 6e 64 5d 3b 0a 0a 20 20 20 20 69 66 28 ned.char.c.=.opt[cind];......if(
178e0 20 63 20 21 3d 20 30 20 29 0a 20 20 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 .c.!=.0.).......for(.int.i.=.0;.
17900 6f 70 74 69 6f 6e 73 5b 69 5d 2e 63 6f 64 65 3b 20 2b 2b 69 20 29 0a 20 20 20 20 20 20 20 20 69 options[i].code;.++i.).........i
17920 66 28 20 63 20 3d 3d 20 6f 70 74 69 6f 6e 73 5b 69 5d 2e 63 6f 64 65 20 29 0a 20 20 20 20 20 20 f(.c.==.options[i].code.).......
17940 20 20 20 20 7b 20 69 6e 64 65 78 20 3d 20 69 3b 20 62 72 65 61 6b 3b 20 7d 0a 0a 20 20 20 20 69 ....{.index.=.i;.break;.}......i
17960 66 28 20 69 6e 64 65 78 20 3c 20 30 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 65 72 72 f(.index.<.0.).......{.......err
17980 6f 72 5f 20 3d 20 22 69 6e 76 61 6c 69 64 20 6f 70 74 69 6f 6e 20 2d 2d 20 27 22 3b 20 65 72 72 or_.=."invalid.option.--.'";.err
179a0 6f 72 5f 20 2b 3d 20 63 3b 20 65 72 72 6f 72 5f 20 2b 3d 20 27 5c 27 27 3b 0a 20 20 20 20 20 20 or_.+=.c;.error_.+=.'\'';.......
179c0 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 64 61 74 61 2e return.false;.......}......data.
179e0 70 75 73 68 5f 62 61 63 6b 28 20 52 65 63 6f 72 64 28 20 63 20 29 20 29 3b 0a 20 20 20 20 69 66 push_back(.Record(.c.).);.....if
17a00 28 20 6f 70 74 5b 2b 2b 63 69 6e 64 5d 20 3d 3d 20 30 20 29 20 7b 20 2b 2b 61 72 67 69 6e 64 3b (.opt[++cind].==.0.).{.++argind;
17a20 20 63 69 6e 64 20 3d 20 30 3b 20 7d 09 2f 2f 20 6f 70 74 20 66 69 6e 69 73 68 65 64 0a 0a 20 20 .cind.=.0;.}.//.opt.finished....
17a40 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 21 3d 20 ..if(.options[index].has_arg.!=.
17a60 6e 6f 20 26 26 20 63 69 6e 64 20 3e 20 30 20 26 26 20 6f 70 74 5b 63 69 6e 64 5d 20 29 0a 20 20 no.&&.cind.>.0.&&.opt[cind].)...
17a80 20 20 20 20 7b 0a 20 20 20 20 20 20 64 61 74 61 2e 62 61 63 6b 28 29 2e 61 72 67 75 6d 65 6e 74 ....{.......data.back().argument
17aa0 20 3d 20 26 6f 70 74 5b 63 69 6e 64 5d 3b 20 2b 2b 61 72 67 69 6e 64 3b 20 63 69 6e 64 20 3d 20 .=.&opt[cind];.++argind;.cind.=.
17ac0 30 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 65 6c 73 65 20 69 66 28 20 6f 70 74 69 6f 6e 73 5b 0;.......}.....else.if(.options[
17ae0 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 20 20 7b 0a index].has_arg.==.yes.).......{.
17b00 20 20 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 ......if(.!arg.||.!arg[0].).....
17b20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 65 72 72 6f 72 5f 20 3d 20 22 6f 70 74 69 6f 6e 20 72 ....{.........error_.=."option.r
17b40 65 71 75 69 72 65 73 20 61 6e 20 61 72 67 75 6d 65 6e 74 20 2d 2d 20 27 22 3b 20 65 72 72 6f 72 equires.an.argument.--.'";.error
17b60 5f 20 2b 3d 20 63 3b 0a 20 20 20 20 20 20 20 20 65 72 72 6f 72 5f 20 2b 3d 20 27 5c 27 27 3b 0a _.+=.c;.........error_.+=.'\'';.
17b80 20 20 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 20 20 7d 0a ........return.false;.........}.
17ba0 20 20 20 20 20 20 64 61 74 61 2e 62 61 63 6b 28 29 2e 61 72 67 75 6d 65 6e 74 20 3d 20 61 72 67 ......data.back().argument.=.arg
17bc0 3b 20 2b 2b 61 72 67 69 6e 64 3b 20 63 69 6e 64 20 3d 20 30 3b 0a 20 20 20 20 20 20 7d 0a 20 20 ;.++argind;.cind.=.0;.......}...
17be0 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 41 72 67 5f 70 61 72 ..}...return.true;...}...Arg_par
17c00 73 65 72 3a 3a 41 72 67 5f 70 61 72 73 65 72 28 20 63 6f 6e 73 74 20 69 6e 74 20 61 72 67 63 2c ser::Arg_parser(.const.int.argc,
17c20 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 2c 0a 20 20 20 20 .const.char.*.const.argv[],.....
17c40 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 6f 6e ....................const.Option
17c60 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 65 72 20 .options[],.const.bool.in_order.
17c80 29 0a 20 20 7b 0a 20 20 69 66 28 20 61 72 67 63 20 3c 20 32 20 7c 7c 20 21 61 72 67 76 20 7c 7c )...{...if(.argc.<.2.||.!argv.||
17ca0 20 21 6f 70 74 69 6f 6e 73 20 29 20 72 65 74 75 72 6e 3b 0a 0a 20 20 73 74 64 3a 3a 76 65 63 74 .!options.).return;....std::vect
17cc0 6f 72 3c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 3e 20 6e 6f 6e 5f 6f 70 74 69 6f 6e 73 3b 09 or<.const.char.*.>.non_options;.
17ce0 2f 2f 20 73 6b 69 70 70 65 64 20 6e 6f 6e 2d 6f 70 74 69 6f 6e 73 0a 20 20 69 6e 74 20 61 72 67 //.skipped.non-options...int.arg
17d00 69 6e 64 20 3d 20 31 3b 09 09 09 09 2f 2f 20 69 6e 64 65 78 20 69 6e 20 61 72 67 76 0a 0a 20 20 ind.=.1;....//.index.in.argv....
17d20 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 7b 0a 20 20 20 while(.argind.<.argc.).....{....
17d40 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 63 68 31 20 3d 20 61 72 67 76 5b .const.unsigned.char.ch1.=.argv[
17d60 61 72 67 69 6e 64 5d 5b 30 5d 3b 0a 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 63 argind][0];.....const.unsigned.c
17d80 68 61 72 20 63 68 32 20 3d 20 63 68 31 20 3f 20 61 72 67 76 5b 61 72 67 69 6e 64 5d 5b 31 5d 20 har.ch2.=.ch1.?.argv[argind][1].
17da0 3a 20 30 3b 0a 0a 20 20 20 20 69 66 28 20 63 68 31 20 3d 3d 20 27 2d 27 20 26 26 20 63 68 32 20 :.0;......if(.ch1.==.'-'.&&.ch2.
17dc0 29 09 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 20 20 7b )..//.we.found.an.option.......{
17de0 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 6f 70 74 20 3d 20 .......const.char.*.const.opt.=.
17e00 61 72 67 76 5b 61 72 67 69 6e 64 5d 3b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a argv[argind];.......const.char.*
17e20 20 63 6f 6e 73 74 20 61 72 67 20 3d 20 28 20 61 72 67 69 6e 64 20 2b 20 31 20 3c 20 61 72 67 63 .const.arg.=.(.argind.+.1.<.argc
17e40 20 29 20 3f 20 61 72 67 76 5b 61 72 67 69 6e 64 2b 31 5d 20 3a 20 30 3b 0a 20 20 20 20 20 20 69 .).?.argv[argind+1].:.0;.......i
17e60 66 28 20 63 68 32 20 3d 3d 20 27 2d 27 20 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 f(.ch2.==.'-'.).........{.......
17e80 20 20 69 66 28 20 21 61 72 67 76 5b 61 72 67 69 6e 64 5d 5b 32 5d 20 29 20 7b 20 2b 2b 61 72 67 ..if(.!argv[argind][2].).{.++arg
17ea0 69 6e 64 3b 20 62 72 65 61 6b 3b 20 7d 09 2f 2f 20 77 65 20 66 6f 75 6e 64 20 22 2d 2d 22 0a 20 ind;.break;.}.//.we.found."--"..
17ec0 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 28 20 21 70 61 72 73 65 5f 6c 6f 6e 67 5f 6f 70 74 69 .......else.if(.!parse_long_opti
17ee0 6f 6e 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 on(.opt,.arg,.options,.argind.).
17f00 29 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 65 6c 73 65 20 69 66 ).break;.........}.......else.if
17f20 28 20 21 70 61 72 73 65 5f 73 68 6f 72 74 5f 6f 70 74 69 6f 6e 28 20 6f 70 74 2c 20 61 72 67 2c (.!parse_short_option(.opt,.arg,
17f40 20 6f 70 74 69 6f 6e 73 2c 20 61 72 67 69 6e 64 20 29 20 29 20 62 72 65 61 6b 3b 0a 20 20 20 20 .options,.argind.).).break;.....
17f60 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 69 66 28 20 69 ..}.....else.......{.......if(.i
17f80 6e 5f 6f 72 64 65 72 20 29 20 64 61 74 61 2e 70 75 73 68 5f 62 61 63 6b 28 20 52 65 63 6f 72 64 n_order.).data.push_back(.Record
17fa0 28 20 61 72 67 76 5b 61 72 67 69 6e 64 2b 2b 5d 20 29 20 29 3b 0a 20 20 20 20 20 20 65 6c 73 65 (.argv[argind++].).);.......else
17fc0 20 6e 6f 6e 5f 6f 70 74 69 6f 6e 73 2e 70 75 73 68 5f 62 61 63 6b 28 20 61 72 67 76 5b 61 72 67 .non_options.push_back(.argv[arg
17fe0 69 6e 64 2b 2b 5d 20 29 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 69 66 28 20 21 65 ind++].);.......}.....}...if(.!e
18000 72 72 6f 72 5f 2e 65 6d 70 74 79 28 29 20 29 20 64 61 74 61 2e 63 6c 65 61 72 28 29 3b 0a 20 20 rror_.empty().).data.clear();...
18020 65 6c 73 65 0a 20 20 20 20 7b 0a 20 20 20 20 66 6f 72 28 20 75 6e 73 69 67 6e 65 64 20 69 20 3d else.....{.....for(.unsigned.i.=
18040 20 30 3b 20 69 20 3c 20 6e 6f 6e 5f 6f 70 74 69 6f 6e 73 2e 73 69 7a 65 28 29 3b 20 2b 2b 69 20 .0;.i.<.non_options.size();.++i.
18060 29 0a 20 20 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 ).......data.push_back(.Record(.
18080 6e 6f 6e 5f 6f 70 74 69 6f 6e 73 5b 69 5d 20 29 20 29 3b 0a 20 20 20 20 77 68 69 6c 65 28 20 61 non_options[i].).);.....while(.a
180a0 72 67 69 6e 64 20 3c 20 61 72 67 63 20 29 0a 20 20 20 20 20 20 64 61 74 61 2e 70 75 73 68 5f 62 rgind.<.argc.).......data.push_b
180c0 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++].).);
180e0 0a 20 20 20 20 7d 0a 20 20 7d 0a 0a 0a 41 72 67 5f 70 61 72 73 65 72 3a 3a 41 72 67 5f 70 61 72 .....}...}...Arg_parser::Arg_par
18100 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 2c 20 63 6f 6e ser(.const.char.*.const.opt,.con
18120 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 20 20 st.char.*.const.arg,............
18140 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 74 69 6f 6e .............const.Option.option
18160 73 5b 5d 20 29 0a 20 20 7b 0a 20 20 69 66 28 20 21 6f 70 74 20 7c 7c 20 21 6f 70 74 5b 30 5d 20 s[].)...{...if(.!opt.||.!opt[0].
18180 7c 7c 20 21 6f 70 74 69 6f 6e 73 20 29 20 72 65 74 75 72 6e 3b 0a 0a 20 20 69 66 28 20 6f 70 74 ||.!options.).return;....if(.opt
181a0 5b 30 5d 20 3d 3d 20 27 2d 27 20 26 26 20 6f 70 74 5b 31 5d 20 29 09 09 2f 2f 20 77 65 20 66 6f [0].==.'-'.&&.opt[1].)..//.we.fo
181c0 75 6e 64 20 61 6e 20 6f 70 74 69 6f 6e 0a 20 20 20 20 7b 0a 20 20 20 20 69 6e 74 20 61 72 67 69 und.an.option.....{.....int.argi
181e0 6e 64 20 3d 20 31 3b 09 09 09 2f 2f 20 64 75 6d 6d 79 0a 20 20 20 20 69 66 28 20 6f 70 74 5b 31 nd.=.1;...//.dummy.....if(.opt[1
18200 5d 20 3d 3d 20 27 2d 27 20 29 0a 20 20 20 20 20 20 7b 20 69 66 28 20 6f 70 74 5b 32 5d 20 29 20 ].==.'-'.).......{.if(.opt[2].).
18220 70 61 72 73 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 parse_long_option(.opt,.arg,.opt
18240 69 6f 6e 73 2c 20 61 72 67 69 6e 64 20 29 3b 20 7d 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 ions,.argind.);.}.....else......
18260 20 70 61 72 73 65 5f 73 68 6f 72 74 5f 6f 70 74 69 6f 6e 28 20 6f 70 74 2c 20 61 72 67 2c 20 6f .parse_short_option(.opt,.arg,.o
18280 70 74 69 6f 6e 73 2c 20 61 72 67 69 6e 64 20 29 3b 0a 20 20 20 20 69 66 28 20 21 65 72 72 6f 72 ptions,.argind.);.....if(.!error
182a0 5f 2e 65 6d 70 74 79 28 29 20 29 20 64 61 74 61 2e 63 6c 65 61 72 28 29 3b 0a 20 20 20 20 7d 0a _.empty().).data.clear();.....}.
182c0 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 63 6f 72 64 28 20 6f ..else.data.push_back(.Record(.o
182e0 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 00 00 00 00 00 00 00 pt.).);...}.....................
18300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
183a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
183c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
183e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18400 6c 7a 69 70 2d 31 2e 32 33 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.23/configure.............
18420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18460 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
18480 30 30 31 36 33 35 31 00 31 34 31 37 32 36 34 35 36 32 35 00 30 31 34 33 34 34 00 20 30 00 00 00 0016351.14172645625.014344..0...
184a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
184c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
184e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18500 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
18520 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
18540 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
18560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
185a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
185c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
185e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18600 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
18620 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
18640 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 32 32 ressor.#.Copyright.(C).2008-2022
18660 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
18680 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:.
186a0 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.#.
186c0 74 6f 20 63 6f 70 79 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 61 6e 64 20 6d 6f 64 69 66 79 20 to.copy,.distribute,.and.modify.
186e0 69 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 it...pkgname=lzip.pkgversion=1.2
18700 33 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 3.progname=lzip.srctrigger=doc/$
18720 7b 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 {pkgname}.texi..#.clear.some.thi
18740 6e 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 ngs.potentially.inherited.from.e
18760 6e 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 nvironment..LC_ALL=C.export.LC_A
18780 4c 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 LL.srcdir=.prefix=/usr/local.exe
187a0 63 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 c_prefix='$(prefix)'.bindir='$(e
187c0 78 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 xec_prefix)/bin'.datarootdir='$(
187e0 70 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 prefix)/share'.infodir='$(dataro
18800 6f 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 otdir)/info'.mandir='$(datarootd
18820 69 72 29 2f 6d 61 6e 27 0a 62 75 69 6c 64 3d 6e 6f 0a 63 68 65 63 6b 3d 6e 6f 0a 69 6e 73 74 61 ir)/man'.build=no.check=no.insta
18840 6c 6c 64 69 72 3d 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 47 lldir=.CXX=g++.CPPFLAGS=.CXXFLAG
18860 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 65 S='-Wall.-W.-O2'.LDFLAGS=..#.che
18880 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 43 cking.whether.we.are.using.GNU.C
188a0 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 6e ++../bin/sh.-c."${CXX}.--version
188c0 22 20 3e 20 2f 64 65 76 2f 6e 75 6c 6c 20 32 3e 26 31 20 7c 7c 20 7b 20 43 58 58 3d 63 2b 2b 20 ".>./dev/null.2>&1.||.{.CXX=c++.
188e0 3b 20 43 58 58 46 4c 41 47 53 3d 2d 4f 32 20 3b 20 7d 0a 0a 23 20 4c 6f 6f 70 20 6f 76 65 72 20 ;.CXXFLAGS=-O2.;.}..#.Loop.over.
18900 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 20 all.args.args=.no_create=.while.
18920 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 72 [.$#.!=.0.].;.do...#.Get.the.fir
18940 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 3b st.arg,.and.shuffle..option=$1.;
18960 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 75 .arg2=no..shift...#.Add.the.argu
18980 6d 65 6e 74 20 71 75 6f 74 65 64 20 74 6f 20 61 72 67 73 0a 09 69 66 20 5b 20 2d 7a 20 22 24 7b ment.quoted.to.args..if.[.-z."${
189a0 61 72 67 73 7d 22 20 5d 20 3b 20 74 68 65 6e 20 61 72 67 73 3d 22 5c 22 24 7b 6f 70 74 69 6f 6e args}".].;.then.args="\"${option
189c0 7d 5c 22 22 0a 09 65 6c 73 65 20 61 72 67 73 3d 22 24 7b 61 72 67 73 7d 20 5c 22 24 7b 6f 70 74 }\""..else.args="${args}.\"${opt
189e0 69 6f 6e 7d 5c 22 22 20 3b 20 66 69 0a 0a 09 23 20 53 70 6c 69 74 20 6f 75 74 20 74 68 65 20 61 ion}\"".;.fi...#.Split.out.the.a
18a00 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 61 6b 65 20 74 68 rgument.for.options.that.take.th
18a20 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 29 20 6f 70 74 61 em..case.${option}.in..*=*).opta
18a40 72 67 3d 60 65 63 68 6f 20 22 24 7b 6f 70 74 69 6f 6e 7d 22 20 7c 20 73 65 64 20 2d 65 20 27 73 rg=`echo."${option}".|.sed.-e.'s
18a60 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 0a 0a 09 23 ,^[^=]*=,,;s,/$,,'`.;;..esac...#
18a80 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 7b 6f 70 74 .Process.the.options..case.${opt
18aa0 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 20 22 55 73 ion}.in..--help.|.-h)...echo."Us
18ac0 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 55 45 5d 2e age:.$0.[OPTION]....[VAR=VALUE].
18ae0 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 20 6d 61 6b .."...echo...echo."To.assign.mak
18b00 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 43 58 58 46 efile.variables.(e.g.,.CXX,.CXXF
18b20 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 09 65 63 68 LAGS...),.specify.them.as"...ech
18b40 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 20 74 68 65 o."arguments.to.configure.in.the
18b60 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 63 68 6f 20 .form.VAR=VALUE."...echo...echo.
18b80 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 61 75 6c 74 "Options.and.variables:.[default
18ba0 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 2c 20 2d 2d s.in.brackets]"...echo."..-h,.--
18bc0 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 20 68 65 6c help............display.this.hel
18be0 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 76 65 72 73 p.and.exit"...echo."..-V,.--vers
18c00 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 6e 66 6f 72 ion.........output.version.infor
18c20 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 2d 73 72 63 mation.and.exit"...echo."..--src
18c40 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 75 72 63 65 dir=DIR..........find.the.source
18c60 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 20 20 2d 2d s.in.DIR.[..or...]"...echo."..--
18c80 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 69 6e 74 6f prefix=DIR..........install.into
18ca0 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 2d 2d 65 78 .DIR.[${prefix}]"...echo."..--ex
18cc0 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 74 6f 72 79 ec-prefix=DIR.....base.directory
18ce0 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 7b 65 78 65 .for.arch-dependent.files.[${exe
18d00 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 69 72 3d 44 c_prefix}]"...echo."..--bindir=D
18d20 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 20 64 69 72 IR..........user.executables.dir
18d40 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 20 20 2d 2d ectory.[${bindir}]"...echo."..--
18d60 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 65 63 74 6f datarootdir=DIR.....base.directo
18d80 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 6f 6f 74 64 ry.for.doc.and.data.[${datarootd
18da0 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 52 20 20 20 ir}]"...echo."..--infodir=DIR...
18dc0 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 24 7b 69 6e ......info.files.directory.[${in
18de0 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 44 49 52 20 fodir}]"...echo."..--mandir=DIR.
18e00 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 20 5b 24 7b .........man.pages.directory.[${
18e20 6d 61 6e 64 69 72 7d 5d 22 0a 09 09 65 63 68 6f 20 22 20 20 2d 2d 62 75 69 6c 64 20 20 20 20 20 mandir}]"...echo."..--build.....
18e40 20 20 20 20 20 20 20 20 20 20 62 75 69 6c 64 20 69 6e 20 6f 6e 65 20 73 74 65 70 20 77 69 74 68 ..........build.in.one.step.with
18e60 6f 75 74 20 75 73 69 6e 67 20 27 6d 61 6b 65 27 22 0a 09 09 65 63 68 6f 20 22 20 20 2d 2d 63 68 out.using.'make'"...echo."..--ch
18e80 65 63 6b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 68 65 63 6b 20 77 69 74 68 6f 75 74 20 eck...............check.without.
18ea0 75 73 69 6e 67 20 27 6d 61 6b 65 27 2c 20 69 6d 70 6c 69 65 73 20 2d 2d 62 75 69 6c 64 22 0a 09 using.'make',.implies.--build"..
18ec0 09 65 63 68 6f 20 22 20 20 2d 2d 69 6e 73 74 61 6c 6c 64 69 72 3d 42 49 4e 44 49 52 20 20 20 69 .echo."..--installdir=BINDIR...i
18ee0 6e 73 74 61 6c 6c 20 77 69 74 68 6f 75 74 20 75 73 69 6e 67 20 27 6d 61 6b 65 27 2c 20 69 6d 70 nstall.without.using.'make',.imp
18f00 6c 69 65 73 20 2d 2d 62 75 69 6c 64 22 0a 09 09 65 63 68 6f 20 22 20 20 43 58 58 3d 43 4f 4d 50 lies.--build"...echo."..CXX=COMP
18f20 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
18f40 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
18f60 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
18f80 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
18fa0 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.
18fc0 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
18fe0 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}]"...
19000 65 63 68 6f 20 22 20 20 43 58 58 46 4c 41 47 53 2b 3d 4f 50 54 49 4f 4e 53 20 20 20 20 20 61 70 echo."..CXXFLAGS+=OPTIONS.....ap
19020 70 65 6e 64 20 6f 70 74 69 6f 6e 73 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 76 61 6c 75 pend.options.to.the.current.valu
19040 65 20 6f 66 20 43 58 58 46 4c 41 47 53 22 0a 09 09 65 63 68 6f 20 22 20 20 4c 44 46 4c 41 47 53 e.of.CXXFLAGS"...echo."..LDFLAGS
19060 3d 4f 50 54 49 4f 4e 53 20 20 20 20 20 20 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 6f 70 74 69 =OPTIONS.......command.line.opti
19080 6f 6e 73 20 66 6f 72 20 74 68 65 20 6c 69 6e 6b 65 72 20 5b 24 7b 4c 44 46 4c 41 47 53 7d 5d 22 ons.for.the.linker.[${LDFLAGS}]"
190a0 0a 09 09 65 63 68 6f 0a 09 09 65 78 69 74 20 30 20 3b 3b 0a 09 2d 2d 76 65 72 73 69 6f 6e 20 7c ...echo...exit.0.;;..--version.|
190c0 20 2d 56 29 0a 09 09 65 63 68 6f 20 22 43 6f 6e 66 69 67 75 72 65 20 73 63 72 69 70 74 20 66 6f .-V)...echo."Configure.script.fo
190e0 72 20 24 7b 70 6b 67 6e 61 6d 65 7d 20 76 65 72 73 69 6f 6e 20 24 7b 70 6b 67 76 65 72 73 69 6f r.${pkgname}.version.${pkgversio
19100 6e 7d 22 0a 09 09 65 78 69 74 20 30 20 3b 3b 0a 09 2d 2d 73 72 63 64 69 72 29 20 20 20 20 20 20 n}"...exit.0.;;..--srcdir)......
19120 20 20 20 20 20 20 73 72 63 64 69 72 3d 24 31 20 3b 20 61 72 67 32 3d 79 65 73 20 3b 3b 0a 09 2d ......srcdir=$1.;.arg2=yes.;;..-
19140 2d 70 72 65 66 69 78 29 20 20 20 20 20 20 20 20 20 20 20 20 70 72 65 66 69 78 3d 24 31 20 3b 20 -prefix)............prefix=$1.;.
19160 61 72 67 32 3d 79 65 73 20 3b 3b 0a 09 2d 2d 65 78 65 63 2d 70 72 65 66 69 78 29 20 20 65 78 65 arg2=yes.;;..--exec-prefix)..exe
19180 63 5f 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 62 69 6e c_prefix=$1.;.arg2=yes.;;..--bin
191a0 64 69 72 29 20 20 20 20 20 20 20 20 20 20 20 20 62 69 6e 64 69 72 3d 24 31 20 3b 20 61 72 67 32 dir)............bindir=$1.;.arg2
191c0 3d 79 65 73 20 3b 3b 0a 09 2d 2d 64 61 74 61 72 6f 6f 74 64 69 72 29 20 20 64 61 74 61 72 6f 6f =yes.;;..--datarootdir)..dataroo
191e0 74 64 69 72 3d 24 31 20 3b 20 61 72 67 32 3d 79 65 73 20 3b 3b 0a 09 2d 2d 69 6e 66 6f 64 69 72 tdir=$1.;.arg2=yes.;;..--infodir
19200 29 20 20 20 20 20 20 20 20 20 20 69 6e 66 6f 64 69 72 3d 24 31 20 3b 20 61 72 67 32 3d 79 65 73 )..........infodir=$1.;.arg2=yes
19220 20 3b 3b 0a 09 2d 2d 6d 61 6e 64 69 72 29 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6e 64 69 72 .;;..--mandir)............mandir
19240 3d 24 31 20 3b 20 61 72 67 32 3d 79 65 73 20 3b 3b 0a 09 2d 2d 69 6e 73 74 61 6c 6c 64 69 72 29 =$1.;.arg2=yes.;;..--installdir)
19260 20 20 20 20 69 6e 73 74 61 6c 6c 64 69 72 3d 24 31 20 3b 20 61 72 67 32 3d 79 65 73 20 3b 3b 0a ....installdir=$1.;.arg2=yes.;;.
19280 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 3d ..--srcdir=*)............srcdir=
192a0 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 20 ${optarg}.;;..--prefix=*).......
192c0 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 63 .....prefix=${optarg}.;;..--exec
192e0 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 67 -prefix=*)..exec_prefix=${optarg
19300 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 6e }.;;..--bindir=*)............bin
19320 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 3d dir=${optarg}.;;..--datarootdir=
19340 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 2d *)..datarootdir=${optarg}.;;..--
19360 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 70 infodir=*)..........infodir=${op
19380 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 20 targ}.;;..--mandir=*)...........
193a0 20 6d 61 6e 64 69 72 3d 24 7b 6f 70 74 61 72 67 7d 20 3b 3b 0a 09 2d 2d 62 75 69 6c 64 29 20 20 .mandir=${optarg}.;;..--build)..
193c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 75 69 6c 64 3d 79 65 73 20 3b 3b ....................build=yes.;;
193e0 0a 09 2d 2d 63 68 65 63 6b 29 20 20 20 20 20 20 20 20 20 20 63 68 65 63 6b 3d 79 65 73 20 3b 20 ..--check)..........check=yes.;.
19400 62 75 69 6c 64 3d 79 65 73 20 3b 3b 0a 09 2d 2d 69 6e 73 74 61 6c 6c 64 69 72 3d 2a 29 20 20 20 build=yes.;;..--installdir=*)...
19420 20 69 6e 73 74 61 6c 6c 64 69 72 3d 24 7b 6f 70 74 61 72 67 7d 20 3b 20 62 75 69 6c 64 3d 79 65 .installdir=${optarg}.;.build=ye
19440 73 20 3b 3b 0a 09 2d 2d 6e 6f 2d 63 72 65 61 74 65 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s.;;..--no-create)..............
19460 6e 6f 5f 63 72 65 61 74 65 3d 79 65 73 20 3b 3b 0a 0a 09 43 58 58 3d 2a 29 20 20 20 20 20 20 20 no_create=yes.;;...CXX=*).......
19480 20 20 20 20 20 43 58 58 3d 24 7b 6f 70 74 61 72 67 7d 20 3b 3b 0a 09 43 50 50 46 4c 41 47 53 3d .....CXX=${optarg}.;;..CPPFLAGS=
194a0 2a 29 20 20 43 50 50 46 4c 41 47 53 3d 24 7b 6f 70 74 61 72 67 7d 20 3b 3b 0a 09 43 58 58 46 4c *)..CPPFLAGS=${optarg}.;;..CXXFL
194c0 41 47 53 3d 2a 29 20 20 43 58 58 46 4c 41 47 53 3d 24 7b 6f 70 74 61 72 67 7d 20 3b 3b 0a 09 43 AGS=*)..CXXFLAGS=${optarg}.;;..C
194e0 58 58 46 4c 41 47 53 2b 3d 2a 29 20 43 58 58 46 4c 41 47 53 3d 22 24 7b 43 58 58 46 4c 41 47 53 XXFLAGS+=*).CXXFLAGS="${CXXFLAGS
19500 7d 20 24 7b 6f 70 74 61 72 67 7d 22 20 3b 3b 0a 09 4c 44 46 4c 41 47 53 3d 2a 29 20 20 20 20 4c }.${optarg}".;;..LDFLAGS=*)....L
19520 44 46 4c 41 47 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 DFLAGS=${optarg}.;;...--*)...ech
19540 6f 20 22 63 6f 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 o."configure:.WARNING:.unrecogni
19560 7a 65 64 20 6f 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 zed.option:.'${option}'".1>&2.;;
19580 0a 09 2a 3d 2a 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 ..*=*.|.*-*-*).;;..*)...echo."co
195a0 6e 66 69 67 75 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 nfigure:.unrecognized.option:.'$
195c0 7b 6f 70 74 69 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 {option}'".1>&2...echo."Try.'con
195e0 66 69 67 75 72 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 figure.--help'.for.more.informat
19600 69 6f 6e 2e 22 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 ion.".1>&2...exit.1.;;..esac...#
19620 20 43 68 65 63 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 .Check.if.the.option.took.a.sepa
19640 72 61 74 65 20 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 rate.argument..if.[."${arg2}".=.
19660 79 65 73 20 5d 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 yes.].;.then...if.[.$#.!=.0.].;.
19680 74 68 65 6e 20 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 then.args="${args}.\"$1\"".;.shi
196a0 66 74 0a 09 09 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 ft...else.echo."configure:.Missi
196c0 6e 67 20 61 72 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 ng.argument.to.'${option}'".1>&2
196e0 0a 09 09 09 65 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 ....exit.1...fi..fi.done..#.Find
19700 20 74 68 65 20 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 .the.source.files,.if.location.w
19720 61 73 20 6e 6f 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 as.not.specified..srcdirtext=.if
19740 20 5b 20 2d 7a 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 .[.-z."${srcdir}".].;.then..srcd
19760 69 72 74 65 78 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 irtext="or...or...".;.srcdir=...
19780 69 66 20 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 if.[.!.-r."${srcdir}/${srctrigge
197a0 72 7d 22 20 5d 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 r}".].;.then.srcdir=...;.fi..if.
197c0 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}"
197e0 20 5d 20 3b 20 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 .].;.then...##.the.sed.command.b
19800 65 6c 6f 77 20 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 elow.emulates.the.dirname.comman
19820 64 0a 09 09 73 72 63 64 69 72 3d 60 65 63 68 6f 20 22 24 30 22 20 7c 20 73 65 64 20 2d 65 20 27 d...srcdir=`echo."$0".|.sed.-e.'
19840 73 2c 5b 5e 2f 5d 2a 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 s,[^/]*$,,;s,/$,,;s,^$,.,'`..fi.
19860 66 69 0a 0a 69 66 20 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 fi..if.[.!.-r."${srcdir}/${srctr
19880 69 67 67 65 72 7d 22 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 igger}".].;.then..echo."configur
198a0 65 3a 20 43 61 6e 27 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 e:.Can't.find.sources.in.${srcdi
198c0 72 7d 20 24 7b 73 72 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 r}.${srcdirtext}".1>&2..echo."co
198e0 6e 66 69 67 75 72 65 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 nfigure:.(At.least.${srctrigger}
19900 20 69 73 20 6d 69 73 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 .is.missing).".1>&2..exit.1.fi..
19920 23 20 53 65 74 20 73 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 #.Set.srcdir.to...if.that's.what
19940 20 69 74 20 69 73 2e 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 .it.is..if.[."`pwd`".=."`cd."${s
19960 72 63 64 69 72 7d 22 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 rcdir}".;.pwd`".].;.then.srcdir=
19980 2e 20 3b 20 66 69 0a 0a 69 66 20 5b 20 22 24 7b 62 75 69 6c 64 7d 22 20 3d 20 79 65 73 20 5d 20 ..;.fi..if.[."${build}".=.yes.].
199a0 3b 20 74 68 65 6e 0a 20 20 6f 62 6a 73 3d 24 28 73 65 64 20 2d 65 20 3a 61 20 2d 65 20 27 2f 5c ;.then...objs=$(sed.-e.:a.-e.'/\
199c0 5c 24 2f 4e 3b 20 73 2f 5c 5c 5c 6e 2f 2f 3b 20 74 61 27 20 22 24 7b 73 72 63 64 69 72 7d 2f 4d \$/N;.s/\\\n//;.ta'."${srcdir}/M
199e0 61 6b 65 66 69 6c 65 2e 69 6e 22 20 7c 20 5c 0a 20 20 20 20 20 20 20 20 20 73 65 64 20 2d 6e 20 akefile.in".|.\..........sed.-n.
19a00 2d 65 20 27 73 2f 5e 20 2a 6f 62 6a 73 20 2a 3d 20 2a 2f 2f 70 27 20 7c 20 73 65 64 20 2d 65 20 -e.'s/^.*objs.*=.*//p'.|.sed.-e.
19a20 27 73 2f 20 5c 7b 32 2c 5c 7d 2f 20 2f 67 27 29 0a 20 20 66 6f 72 20 6f 66 69 6c 65 20 69 6e 20 's/.\{2,\}/./g')...for.ofile.in.
19a40 24 7b 6f 62 6a 73 7d 20 3b 20 64 6f 0a 20 20 20 20 66 69 6c 65 3d 22 24 7b 6f 66 69 6c 65 25 2e ${objs}.;.do.....file="${ofile%.
19a60 6f 7d 2e 63 63 22 20 3b 20 70 76 65 72 3d 0a 20 20 20 20 5b 20 22 24 7b 6f 66 69 6c 65 7d 22 20 o}.cc".;.pver=.....[."${ofile}".
19a80 3d 20 6d 61 69 6e 2e 6f 20 5d 20 26 26 20 70 76 65 72 3d 22 20 2d 44 50 52 4f 47 56 45 52 53 49 =.main.o.].&&.pver=".-DPROGVERSI
19aa0 4f 4e 3d 5c 22 24 7b 70 6b 67 76 65 72 73 69 6f 6e 7d 5c 22 22 0a 20 20 20 20 63 6f 6d 70 69 6c ON=\"${pkgversion}\"".....compil
19ac0 65 5f 63 6f 6d 6d 61 6e 64 3d 22 24 7b 43 58 58 7d 20 24 7b 43 50 50 46 4c 41 47 53 7d 20 24 7b e_command="${CXX}.${CPPFLAGS}.${
19ae0 43 58 58 46 4c 41 47 53 7d 24 7b 70 76 65 72 7d 20 2d 63 20 2d 6f 20 24 7b 6f 66 69 6c 65 7d 22 CXXFLAGS}${pver}.-c.-o.${ofile}"
19b00 0a 20 20 20 20 65 63 68 6f 20 22 24 7b 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64 7d 20 24 7b .....echo."${compile_command}.${
19b20 73 72 63 64 69 72 7d 2f 24 7b 66 69 6c 65 7d 22 0a 20 20 20 20 24 7b 63 6f 6d 70 69 6c 65 5f 63 srcdir}/${file}".....${compile_c
19b40 6f 6d 6d 61 6e 64 7d 20 22 24 7b 73 72 63 64 69 72 7d 2f 24 7b 66 69 6c 65 7d 22 20 7c 7c 20 65 ommand}."${srcdir}/${file}".||.e
19b60 78 69 74 20 31 0a 20 20 64 6f 6e 65 0a 20 20 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 3d 22 24 7b 43 xit.1...done...link_command="${C
19b80 58 58 7d 20 24 7b 4c 44 46 4c 41 47 53 7d 20 24 7b 43 58 58 46 4c 41 47 53 7d 20 2d 6f 20 24 7b XX}.${LDFLAGS}.${CXXFLAGS}.-o.${
19ba0 70 72 6f 67 6e 61 6d 65 7d 20 24 7b 6f 62 6a 73 7d 22 0a 20 20 65 63 68 6f 20 22 24 7b 6c 69 6e progname}.${objs}"...echo."${lin
19bc0 6b 5f 63 6f 6d 6d 61 6e 64 7d 22 20 3b 20 24 7b 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 7d 20 7c 7c k_command}".;.${link_command}.||
19be0 20 65 78 69 74 20 31 0a 20 20 69 66 20 5b 20 22 24 7b 63 68 65 63 6b 7d 22 20 3d 20 79 65 73 20 .exit.1...if.[."${check}".=.yes.
19c00 5d 20 3b 20 74 68 65 6e 0a 20 20 20 20 22 24 7b 73 72 63 64 69 72 7d 2f 74 65 73 74 73 75 69 74 ].;.then....."${srcdir}/testsuit
19c20 65 2f 63 68 65 63 6b 2e 73 68 22 20 22 24 7b 73 72 63 64 69 72 7d 2f 74 65 73 74 73 75 69 74 65 e/check.sh"."${srcdir}/testsuite
19c40 22 20 24 7b 70 6b 67 76 65 72 73 69 6f 6e 7d 20 7c 7c 20 65 78 69 74 20 31 0a 20 20 66 69 0a 20 ".${pkgversion}.||.exit.1...fi..
19c60 20 69 66 20 5b 20 2d 6e 20 22 24 7b 69 6e 73 74 61 6c 6c 64 69 72 7d 22 20 5d 20 3b 20 74 68 65 .if.[.-n."${installdir}".].;.the
19c80 6e 0a 20 20 20 20 65 63 68 6f 20 22 69 6e 73 74 61 6c 6c 69 6e 67 20 24 7b 70 72 6f 67 6e 61 6d n.....echo."installing.${prognam
19ca0 65 7d 20 69 6e 20 24 7b 69 6e 73 74 61 6c 6c 64 69 72 7d 22 0a 20 20 20 20 5b 20 2d 64 20 22 24 e}.in.${installdir}".....[.-d."$
19cc0 7b 69 6e 73 74 61 6c 6c 64 69 72 7d 22 20 5d 20 7c 7c 20 6d 6b 64 69 72 20 2d 70 20 22 24 7b 69 {installdir}".].||.mkdir.-p."${i
19ce0 6e 73 74 61 6c 6c 64 69 72 7d 22 20 7c 7c 20 65 78 69 74 20 31 0a 20 20 20 20 63 70 20 2d 66 70 nstalldir}".||.exit.1.....cp.-fp
19d00 20 24 7b 70 72 6f 67 6e 61 6d 65 7d 20 22 24 7b 69 6e 73 74 61 6c 6c 64 69 72 7d 2f 24 7b 70 72 .${progname}."${installdir}/${pr
19d20 6f 67 6e 61 6d 65 7d 22 20 7c 7c 20 65 78 69 74 20 31 0a 20 20 66 69 0a 20 20 65 78 69 74 20 30 ogname}".||.exit.1...fi...exit.0
19d40 0a 66 69 0a 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 .fi..echo.if.[.-z."${no_create}"
19d60 20 5d 20 3b 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 .].;.then..echo."creating.config
19d80 2e 73 74 61 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 .status"..rm.-f.config.status..c
19da0 61 74 20 3e 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 at.>.config.status.<<.EOF.#!./bi
19dc0 6e 2f 73 68 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 n/sh.#.This.file.was.generated.a
19de0 75 74 6f 6d 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 utomatically.by.configure..Don't
19e00 20 65 64 69 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 .edit..#.Run.this.file.to.recrea
19e20 74 65 20 74 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 te.the.current.configuration..#.
19e40 23 20 54 68 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 #.This.script.is.free.software:.
19e60 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.#.
19e80 74 6f 20 63 6f 70 79 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 61 6e 64 20 6d 6f 64 69 66 79 20 to.copy,.distribute,.and.modify.
19ea0 69 74 2e 0a 0a 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 it...exec./bin/sh.$0.${args}.--n
19ec0 6f 2d 63 72 65 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 o-create.EOF..chmod.+x.config.st
19ee0 61 74 75 73 0a 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 atus.fi..echo."creating.Makefile
19f00 22 0a 65 63 68 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 ".echo."VPATH.=.${srcdir}".echo.
19f20 22 70 72 65 66 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 "prefix.=.${prefix}".echo."exec_
19f40 70 72 65 66 69 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 prefix.=.${exec_prefix}".echo."b
19f60 69 6e 64 69 72 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 indir.=.${bindir}".echo."dataroo
19f80 74 64 69 72 20 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 tdir.=.${datarootdir}".echo."inf
19fa0 6f 64 69 72 20 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 odir.=.${infodir}".echo."mandir.
19fc0 3d 20 24 7b 6d 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 =.${mandir}".echo."CXX.=.${CXX}"
19fe0 0a 65 63 68 6f 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 .echo."CPPFLAGS.=.${CPPFLAGS}".e
1a000 63 68 6f 20 22 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 cho."CXXFLAGS.=.${CXXFLAGS}".ech
1a020 6f 20 22 4c 44 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 o."LDFLAGS.=.${LDFLAGS}".rm.-f.M
1a040 61 6b 65 66 69 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 akefile.cat.>.Makefile.<<.EOF.#.
1a060 4d 61 6b 65 66 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 Makefile.for.Lzip.-.LZMA.lossles
1a080 73 20 64 61 74 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 s.data.compressor.#.Copyright.(C
1a0a0 29 20 32 30 30 38 2d 32 30 32 32 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 23 ).2008-2022.Antonio.Diaz.Diaz..#
1a0c0 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 61 74 .This.file.was.generated.automat
1a0e0 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 74 2e ically.by.configure..Don't.edit.
1a100 0a 23 0a 23 20 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 .#.#.This.Makefile.is.free.softw
1a120 61 72 65 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 are:.you.have.unlimited.permissi
1a140 6f 6e 0a 23 20 74 6f 20 63 6f 70 79 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 61 6e 64 20 6d 6f on.#.to.copy,.distribute,.and.mo
1a160 64 69 66 79 20 69 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 dify.it...pkgname.=.${pkgname}.p
1a180 6b 67 76 65 72 73 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 kgversion.=.${pkgversion}.progna
1a1a0 6d 65 20 3d 20 24 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 me.=.${progname}.VPATH.=.${srcdi
1a1c0 72 7d 0a 70 72 65 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 r}.prefix.=.${prefix}.exec_prefi
1a1e0 78 20 3d 20 24 7b 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 x.=.${exec_prefix}.bindir.=.${bi
1a200 6e 64 69 72 7d 0a 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 ndir}.datarootdir.=.${datarootdi
1a220 72 7d 0a 69 6e 66 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 r}.infodir.=.${infodir}.mandir.=
1a240 20 24 7b 6d 61 6e 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 .${mandir}.CXX.=.${CXX}.CPPFLAGS
1a260 20 3d 20 24 7b 43 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 .=.${CPPFLAGS}.CXXFLAGS.=.${CXXF
1a280 4c 41 47 53 7d 0a 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 LAGS}.LDFLAGS.=.${LDFLAGS}.EOF.c
1a2a0 61 74 20 22 24 7b 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 at."${srcdir}/Makefile.in".>>.Ma
1a2c0 6b 65 66 69 6c 65 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 kefile..echo."OK..Now.you.can.ru
1a2e0 6e 20 6d 61 6b 65 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 n.make."........................
1a300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a400 6c 7a 69 70 2d 31 2e 32 33 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.23/encoder.cc............
1a420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
1a480 30 30 34 36 34 32 34 00 31 34 31 37 32 36 34 35 36 32 35 00 30 31 34 33 36 37 00 20 30 00 00 00 0046424.14172645625.014367..0...
1a4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a500 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
1a520 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
1a540 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
1a560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a600 2f 2a 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 /*.Lzip.-.LZMA.lossless.data.com
1a620 70 72 65 73 73 6f 72 0a 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d 32 30 pressor....Copyright.(C).2008-20
1a640 32 32 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 54 68 69 73 20 70 22.Antonio.Diaz.Diaz......This.p
1a660 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 63 61 6e rogram.is.free.software:.you.can
1a680 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 79 0a 20 .redistribute.it.and/or.modify..
1a6a0 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 47 4e 55 20 ..it.under.the.terms.of.the.GNU.
1a6c0 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 62 6c 69 73 General.Public.License.as.publis
1a6e0 68 65 64 20 62 79 0a 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e hed.by....the.Free.Software.Foun
1a700 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 20 74 68 65 20 dation,.either.version.2.of.the.
1a720 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 License,.or....(at.your.option).
1a740 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 54 68 69 73 20 70 72 6f 67 any.later.version......This.prog
1a760 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 70 65 20 74 ram.is.distributed.in.the.hope.t
1a780 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 62 75 74 20 57 49 hat.it.will.be.useful,....but.WI
1a7a0 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 65 76 65 6e THOUT.ANY.WARRANTY;.without.even
1a7c0 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 4d 45 52 43 .the.implied.warranty.of....MERC
1a7e0 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
1a800 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 0a 20 20 20 47 4e 55 TICULAR.PURPOSE...See.the....GNU
1a820 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 72 65 .General.Public.License.for.more
1a840 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 .details......You.should.have.re
1a860 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 6e 65 72 61 6c ceived.a.copy.of.the.GNU.General
1a880 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 .Public.License....along.with.th
1a8a0 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 3c 68 74 74 70 3a 2f is.program...If.not,.see.<http:/
1a8c0 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 2a 2f 0a 0a 23 64 65 /www.gnu.org/licenses/>..*/..#de
1a8e0 66 69 6e 65 20 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 36 34 0a 0a 23 69 6e 63 6c fine._FILE_OFFSET_BITS.64..#incl
1a900 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 65 72 72 6e 6f ude.<algorithm>.#include.<cerrno
1a920 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 65 20 3c 63 >.#include.<cstdlib>.#include.<c
1a940 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 6e 63 6c 75 string>.#include.<string>.#inclu
1a960 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 2e 68 3e 0a de.<vector>.#include.<stdint.h>.
1a980 0a 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 65 6e 63 .#include."lzip.h".#include."enc
1a9a0 6f 64 65 72 5f 62 61 73 65 2e 68 22 0a 23 69 6e 63 6c 75 64 65 20 22 65 6e 63 6f 64 65 72 2e 68 oder_base.h".#include."encoder.h
1a9c0 22 0a 0a 0a 63 6f 6e 73 74 20 43 52 43 33 32 20 63 72 63 33 32 3b 0a 0a 0a 69 6e 74 20 4c 5a 5f "...const.CRC32.crc32;...int.LZ_
1a9e0 65 6e 63 6f 64 65 72 3a 3a 67 65 74 5f 6d 61 74 63 68 5f 70 61 69 72 73 28 20 50 61 69 72 20 2a encoder::get_match_pairs(.Pair.*
1aa00 20 70 61 69 72 73 20 29 0a 20 20 7b 0a 20 20 69 6e 74 20 6c 65 6e 5f 6c 69 6d 69 74 20 3d 20 6d .pairs.)...{...int.len_limit.=.m
1aa20 61 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 74 3b 0a 20 20 69 66 28 20 6c 65 6e 5f 6c 69 6d 69 74 20 atch_len_limit;...if(.len_limit.
1aa40 3e 20 61 76 61 69 6c 61 62 6c 65 5f 62 79 74 65 73 28 29 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 >.available_bytes().).....{.....
1aa60 6c 65 6e 5f 6c 69 6d 69 74 20 3d 20 61 76 61 69 6c 61 62 6c 65 5f 62 79 74 65 73 28 29 3b 0a 20 len_limit.=.available_bytes();..
1aa80 20 20 20 69 66 28 20 6c 65 6e 5f 6c 69 6d 69 74 20 3c 20 34 20 29 20 72 65 74 75 72 6e 20 30 3b ...if(.len_limit.<.4.).return.0;
1aaa0 0a 20 20 20 20 7d 0a 0a 20 20 69 6e 74 20 6d 61 78 6c 65 6e 20 3d 20 33 3b 09 09 09 2f 2f 20 6f .....}....int.maxlen.=.3;...//.o
1aac0 6e 6c 79 20 75 73 65 64 20 69 66 20 70 61 69 72 73 20 21 3d 20 30 0a 20 20 69 6e 74 20 6e 75 6d nly.used.if.pairs.!=.0...int.num
1aae0 5f 70 61 69 72 73 20 3d 20 30 3b 0a 20 20 63 6f 6e 73 74 20 69 6e 74 20 6d 69 6e 5f 70 6f 73 20 _pairs.=.0;...const.int.min_pos.
1ab00 3d 20 28 20 70 6f 73 20 3e 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 20 3f 20 70 6f =.(.pos.>.dictionary_size.).?.po
1ab20 73 20 2d 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 3a 20 30 3b 0a 20 20 63 6f 6e 73 74 s.-.dictionary_size.:.0;...const
1ab40 20 75 69 6e 74 38 5f 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 .uint8_t.*.const.data.=.ptr_to_c
1ab60 75 72 72 65 6e 74 5f 70 6f 73 28 29 3b 0a 0a 20 20 75 6e 73 69 67 6e 65 64 20 74 6d 70 20 3d 20 urrent_pos();....unsigned.tmp.=.
1ab80 63 72 63 33 32 5b 64 61 74 61 5b 30 5d 5d 20 5e 20 64 61 74 61 5b 31 5d 3b 0a 20 20 63 6f 6e 73 crc32[data[0]].^.data[1];...cons
1aba0 74 20 69 6e 74 20 6b 65 79 32 20 3d 20 74 6d 70 20 26 20 28 20 6e 75 6d 5f 70 72 65 76 5f 70 6f t.int.key2.=.tmp.&.(.num_prev_po
1abc0 73 69 74 69 6f 6e 73 32 20 2d 20 31 20 29 3b 0a 20 20 74 6d 70 20 5e 3d 20 28 75 6e 73 69 67 6e sitions2.-.1.);...tmp.^=.(unsign
1abe0 65 64 29 64 61 74 61 5b 32 5d 20 3c 3c 20 38 3b 0a 20 20 63 6f 6e 73 74 20 69 6e 74 20 6b 65 79 ed)data[2].<<.8;...const.int.key
1ac00 33 20 3d 20 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 32 20 2b 20 28 20 74 6d 70 20 3.=.num_prev_positions2.+.(.tmp.
1ac20 26 20 28 20 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 33 20 2d 20 31 20 29 20 29 3b &.(.num_prev_positions3.-.1.).);
1ac40 0a 20 20 63 6f 6e 73 74 20 69 6e 74 20 6b 65 79 34 20 3d 20 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 ...const.int.key4.=.num_prev_pos
1ac60 69 74 69 6f 6e 73 32 33 20 2b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 20 itions23.+....................(.
1ac80 28 20 74 6d 70 20 5e 20 28 20 63 72 63 33 32 5b 64 61 74 61 5b 33 5d 5d 20 3c 3c 20 35 20 29 20 (.tmp.^.(.crc32[data[3]].<<.5.).
1aca0 29 20 26 20 6b 65 79 34 5f 6d 61 73 6b 20 29 3b 0a 0a 20 20 69 66 28 20 70 61 69 72 73 20 29 0a ).&.key4_mask.);....if(.pairs.).
1acc0 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 6e 70 32 20 3d 20 70 72 65 76 5f 70 ....{.....const.int.np2.=.prev_p
1ace0 6f 73 69 74 69 6f 6e 73 5b 6b 65 79 32 5d 3b 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 6e 70 ositions[key2];.....const.int.np
1ad00 33 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 3.=.prev_positions[key3];.....if
1ad20 28 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 (.np2.>.min_pos.&&.buffer[np2-1]
1ad40 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 20 20 20 70 61 69 72 .==.data[0].).......{.......pair
1ad60 73 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 s[0].dis.=.pos.-.np2;.......pair
1ad80 73 5b 30 5d 2e 6c 65 6e 20 3d 20 6d 61 78 6c 65 6e 20 3d 20 32 20 2b 20 28 20 6e 70 32 20 3d 3d s[0].len.=.maxlen.=.2.+.(.np2.==
1ada0 20 6e 70 33 20 29 3b 0a 20 20 20 20 20 20 6e 75 6d 5f 70 61 69 72 73 20 3d 20 31 3b 0a 20 20 20 .np3.);.......num_pairs.=.1;....
1adc0 20 20 20 7d 0a 20 20 20 20 69 66 28 20 6e 70 32 20 21 3d 20 6e 70 33 20 26 26 20 6e 70 33 20 3e ...}.....if(.np2.!=.np3.&&.np3.>
1ade0 20 6d 69 6e 5f 70 6f 73 20 26 26 20 62 75 66 66 65 72 5b 6e 70 33 2d 31 5d 20 3d 3d 20 64 61 74 .min_pos.&&.buffer[np3-1].==.dat
1ae00 61 5b 30 5d 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 6d 61 78 6c 65 6e 20 3d 20 33 3b a[0].).......{.......maxlen.=.3;
1ae20 0a 20 20 20 20 20 20 70 61 69 72 73 5b 6e 75 6d 5f 70 61 69 72 73 2b 2b 5d 2e 64 69 73 20 3d 20 .......pairs[num_pairs++].dis.=.
1ae40 70 6f 73 20 2d 20 6e 70 33 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 69 66 28 20 6e 75 6d 5f 70 pos.-.np3;.......}.....if(.num_p
1ae60 61 69 72 73 20 3e 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 69 airs.>.0.).......{.......const.i
1ae80 6e 74 20 64 65 6c 74 61 20 3d 20 70 61 69 72 73 5b 6e 75 6d 5f 70 61 69 72 73 2d 31 5d 2e 64 69 nt.delta.=.pairs[num_pairs-1].di
1aea0 73 20 2b 20 31 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 s.+.1;.......while(.maxlen.<.len
1aec0 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].==.
1aee0 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;
1af00 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.=.
1af20 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 3c 20 33 20 29 20 6d maxlen;.......if(.maxlen.<.3.).m
1af40 61 78 6c 65 6e 20 3d 20 33 3b 0a 20 20 20 20 20 20 69 66 28 20 6d 61 78 6c 65 6e 20 3e 3d 20 6c axlen.=.3;.......if(.maxlen.>=.l
1af60 65 6e 5f 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 en_limit.).pairs.=.0;.//.done..n
1af80 6f 77 20 6a 75 73 74 20 73 6b 69 70 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 63 6f ow.just.skip.......}.....}....co
1afa0 6e 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 70 72 65 76 5f 70 nst.int.pos1.=.pos.+.1;...prev_p
1afc0 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 70 6f ositions[key2].=.pos1;...prev_po
1afe0 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 77 70 sitions[key3].=.pos1;...int.newp
1b000 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 70 72 os1.=.prev_positions[key4];...pr
1b020 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 69 6e ev_positions[key4].=.pos1;....in
1b040 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 79 63 t32_t.*.ptr0.=.pos_array.+.(.cyc
1b060 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 72 31 lic_pos.<<.1.);...int32_t.*.ptr1
1b080 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 6e 30 .=.ptr0.+.1;...int.len.=.0,.len0
1b0a0 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 75 6e .=.0,.len1.=.0;....for(.int.coun
1b0c0 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 6e 65 t.=.cycles;.;.).....{.....if(.ne
1b0e0 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 30 20 wpos1.<=.min_pos.||.--count.<.0.
1b100 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 7d 0a ).{.*ptr0.=.*ptr1.=.0;.break;.}.
1b120 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 6e 65 .....const.int.delta.=.pos1.-.ne
1b140 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 70 74 wpos1;.....int32_t.*.const.newpt
1b160 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 69 63 r.=.pos_array.+.......(.(.cyclic
1b180 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 79 63 _pos.-.delta.+...........(.(.cyc
1b1a0 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 6f 6e lic_pos.>=.delta.).?.0.:.diction
1b1c0 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 66 28 ary_size.+.1.).).<<.1.);.....if(
1b1e0 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 29 0a .data[len-delta].==.data[len].).
1b200 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 65 6e ......{.......while(.++len.<.len
1b220 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 61 74 _limit.&&.data[len-delta].==.dat
1b240 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 20 6d a[len].).{}.......if(.pairs.&&.m
1b260 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 20 20 axlen.<.len.).........{.........
1b280 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 20 31 pairs[num_pairs].dis.=.delta.-.1
1b2a0 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 20 3d ;.........pairs[num_pairs].len.=
1b2c0 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 61 69 .maxlen.=.len;.........++num_pai
1b2e0 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 20 6c rs;.........}.......if(.len.>=.l
1b300 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 70 74 en_limit.).........{.........*pt
1b320 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 3d 20 r0.=.newptr[0];.........*ptr1.=.
1b340 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 20 20 newptr[1];.........break;.......
1b360 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 65 6c ..}.......}.....if(.data[len-del
1b380 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 20 20 ta].<.data[len].).......{.......
1b3a0 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 6e 65 *ptr0.=.newpos1;.......ptr0.=.ne
1b3c0 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 30 3b wptr.+.1;.......newpos1.=.*ptr0;
1b3e0 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 6c 65 .......len0.=.len;.if(.len1.<.le
1b400 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 73 65 n.).len.=.len1;.......}.....else
1b420 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 3b 0a .......{.......*ptr1.=.newpos1;.
1b440 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 70 6f ......ptr1.=.newptr;.......newpo
1b460 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 69 66 s1.=.*ptr1;.......len1.=.len;.if
1b480 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 20 20 (.len0.<.len.).len.=.len0;......
1b4a0 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 20 7d .}.....}...return.num_pairs;...}
1b4c0 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 74 61 ...void.LZ_encoder::update_dista
1b4e0 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 73 20 nce_prices()...{...for(.int.dis.
1b500 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 65 64 =.start_dis_model;.dis.<.modeled
1b520 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 63 6f _distances;.++dis.).....{.....co
1b540 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 69 73 nst.int.dis_slot.=.dis_slots[dis
1b560 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 20 28 ];.....const.int.direct_bits.=.(
1b580 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 74 20 .dis_slot.>>.1.).-.1;.....const.
1b5a0 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 31 20 int.base.=.(.2.|.(.dis_slot.&.1.
1b5c0 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 69 6e ).).<<.direct_bits;.....const.in
1b5e0 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 64 28 t.price.=.price_symbol_reversed(
1b600 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 0a 20 .bm_dis.+.(.base.-.dis_slot.),..
1b620 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 ................................
1b640 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 5f 62 ............dis.-.base,.direct_b
1b660 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 3d 20 its.);.....for(.int.len_state.=.
1b680 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 65 6e 0;.len_state.<.len_states;.++len
1b6a0 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 73 74 _state.).......dis_prices[len_st
1b6c0 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 72 28 ate][dis].=.price;.....}....for(
1b6e0 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 3c 20 .int.len_state.=.0;.len_state.<.
1b700 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 7b 0a len_states;.++len_state.).....{.
1b720 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 5f 70 ....int.*.const.dsp.=.dis_slot_p
1b740 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 74 5f rices[len_state];.....const.Bit_
1b760 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 6f 74 model.*.const.bmds.=.bm_dis_slot
1b780 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 0a 20 [len_state];.....int.slot.=.0;..
1b7a0 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 3b 20 ...for(.;.slot.<.end_dis_model;.
1b7c0 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 63 65 ++slot.).......dsp[slot].=.price
1b7e0 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 72 28 _symbol6(.bmds,.slot.);.....for(
1b800 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 74 20 .;.slot.<.num_dis_slots;.++slot.
1b820 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 6f 6c ).......dsp[slot].=.price_symbol
1b840 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 20 20 6(.bmds,.slot.).+...............
1b860 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 69 73 ....((((.slot.>>.1.).-.1.).-.dis
1b880 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 69 74 _align_bits.).<<.price_shift_bit
1b8a0 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 5f 70 s.);......int.*.const.dp.=.dis_p
1b8c0 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 3d 20 rices[len_state];.....int.dis.=.
1b8e0 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 6d 6f 0;.....for(.;.dis.<.start_dis_mo
1b900 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 73 70 del;.++dis.).......dp[dis].=.dsp
1b920 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 64 5f [dis];.....for(.;.dis.<.modeled_
1b940 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 73 5d distances;.++dis.).......dp[dis]
1b960 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 0a 20 .+=.dsp[dis_slots[dis]];.....}..
1b980 20 7d 0a 0a 0a 2f 2a 20 52 65 74 75 72 6e 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 .}.../*.Return.the.number.of.byt
1b9a0 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 73 5b 30 es.advanced.(ahead).....trials[0
1b9c0 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 65 20 73 ]..trials[ahead-1].contain.the.s
1b9e0 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 5d 2e 64 teps.to.encode.....(.trials[0].d
1ba00 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 20 41 20 is4.==.-1.).means.literal.....A.
1ba20 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 6e 20 6d match/rep.longer.or.equal.than.m
1ba40 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 65 71 75 atch_len_limit.finishes.the.sequ
1ba60 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 65 6e 63 ence..*/.int.LZ_encoder::sequenc
1ba80 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 75 6d 5f e_optimizer(.const.int.reps[num_
1baa0 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 20 20 20 rep_distances],.................
1bac0 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 74 65 20 ....................const.State.
1bae0 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 6e 75 6d state.)...{...int.num_pairs,.num
1bb00 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 61 69 72 _trials;....if(.pending_num_pair
1bb20 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 6c 6c 0a s.>.0.)...//.from.previous.call.
1bb40 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 5f 6e 75 ....{.....num_pairs.=.pending_nu
1bb60 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 73 20 3d m_pairs;.....pending_num_pairs.=
1bb80 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 73 20 3d .0;.....}...else.....num_pairs.=
1bba0 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 6e 73 74 .read_match_distances();...const
1bbc0 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 20 30 20 .int.main_len.=.(.num_pairs.>.0.
1bbe0 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 30 3b 0a ).?.pairs[num_pairs-1].len.:.0;.
1bc00 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 63 65 73 ...int.replens[num_rep_distances
1bc20 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 28 20 69 ];...int.rep_index.=.0;...for(.i
1bc40 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 73 3b nt.i.=.0;.i.<.num_rep_distances;
1bc60 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 20 74 72 .++i.).....{.....replens[i].=.tr
1bc80 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 29 3b 0a ue_match_len(.0,.reps[i].+.1.);.
1bca0 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 72 65 70 ....if(.replens[i].>.replens[rep
1bcc0 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 7d 0a 20 _index].).rep_index.=.i;.....}..
1bce0 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 74 63 68 .if(.replens[rep_index].>=.match
1bd00 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 5b 30 5d _len_limit.).....{.....trials[0]
1bd20 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 20 20 20 .price.=.replens[rep_index];....
1bd40 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 20 20 20 .trials[0].dis4.=.rep_index;....
1bd60 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 5f 69 6e .move_and_update(.replens[rep_in
1bd80 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 70 5f 69 dex].);.....return.replens[rep_i
1bda0 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 3e 3d 20 ndex];.....}....if(.main_len.>=.
1bdc0 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 72 69 61 match_len_limit.).....{.....tria
1bde0 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 72 69 61 ls[0].price.=.main_len;.....tria
1be00 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 31 5d 2e ls[0].dis4.=.pairs[num_pairs-1].
1be20 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 6d 6f 76 dis.+.num_rep_distances;.....mov
1be40 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 20 72 65 e_and_update(.main_len.);.....re
1be60 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 20 69 6e turn.main_len;.....}....const.in
1be80 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 20 26 20 t.pos_state.=.data_position().&.
1bea0 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 5f 74 20 pos_state_mask;...const.uint8_t.
1bec0 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 74 20 75 prev_byte.=.peek(.1.);...const.u
1bee0 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 20 20 63 int8_t.cur_byte.=.peek(.0.);...c
1bf00 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 6b 28 20 onst.uint8_t.match_byte.=.peek(.
1bf20 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 72 69 63 reps[0].+.1.);....trials[1].pric
1bf40 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 5b 70 6f e.=.price0(.bm_match[state()][po
1bf60 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 61 72 28 s_state].);...if(.state.is_char(
1bf80 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 69 63 65 ).).....trials[1].price.+=.price
1bfa0 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 20 29 3b _literal(.prev_byte,.cur_byte.);
1bfc0 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 3d 20 70 ...else.....trials[1].price.+=.p
1bfe0 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 62 79 74 rice_matched(.prev_byte,.cur_byt
1c000 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 64 69 73 e,.match_byte.);...trials[1].dis
1c020 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 73 74 20 4.=.-1;.....//.literal....const.
1c040 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 6d 61 74 int.match_price.=.price1(.bm_mat
1c060 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 6f 6e 73 ch[state()][pos_state].);...cons
1c080 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 5f 70 72 t.int.rep_match_price.=.match_pr
1c0a0 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 20 29 3b ice.+.price1(.bm_rep[state()].);
1c0c0 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 65 20 29 ....if(.match_byte.==.cur_byte.)
1c0e0 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 74 63 68 .....trials[1].update(.rep_match
1c100 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 65 2c 20 _price.+.price_shortrep(.state,.
1c120 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 72 69 61 pos_state.),.0,.0.);....num_tria
1c140 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 65 6e 73 ls.=.std::max(.main_len,.replens
1c160 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 61 6c 73 [rep_index].);....if(.num_trials
1c180 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 74 72 69 .<.min_match_len.).....{.....tri
1c1a0 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 30 5d 2e als[0].price.=.1;.....trials[0].
1c1c0 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 76 65 5f dis4.=.trials[1].dis4;.....move_
1c1e0 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 20 74 72 pos();.....return.1;.....}....tr
1c200 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 20 69 6e ials[0].state.=.state;...for(.in
1c220 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 73 3b 20 t.i.=.0;.i.<.num_rep_distances;.
1c240 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 20 72 65 ++i.).....trials[0].reps[i].=.re
1c260 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 6d 61 74 ps[i];....for(.int.len.=.min_mat
1c280 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 6c 65 6e ch_len;.len.<=.num_trials;.++len
1c2a0 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 66 69 6e .).....trials[len].price.=.infin
1c2c0 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 30 3b 20 ite_price;....for(.int.rep.=.0;.
1c2e0 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 70 20 29 rep.<.num_rep_distances;.++rep.)
1c300 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 20 6d 69 .....{.....if(.replens[rep].<.mi
1c320 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 6f 6e 73 n_match_len.).continue;.....cons
1c340 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 20 2b 20 t.int.price.=.rep_match_price.+.
1c360 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 61 74 65 price_rep(.rep,.state,.pos_state
1c380 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 74 63 68 .);.....for(.int.len.=.min_match
1c3a0 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 6c 65 6e _len;.len.<=.replens[rep];.++len
1c3c0 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 70 72 69 .).......trials[len].update(.pri
1c3e0 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 6e 2c 20 ce.+.rep_len_prices.price(.len,.
1c400 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 20 20 20 pos_state.),....................
1c420 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 20 6d 61 .......rep,.0.);.....}....if(.ma
1c440 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 20 20 20 in_len.>.replens[0].).....{.....
1c460 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 3d 20 6d const.int.normal_match_price.=.m
1c480 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 74 61 74 atch_price.+.price0(.bm_rep[stat
1c4a0 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 73 74 64 e()].);.....int.i.=.0,.len.=.std
1c4c0 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 69 6e 5f ::max(.replens[0].+.1,.(int)min_
1c4e0 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 20 70 61 match_len.);.....while(.len.>.pa
1c500 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 74 72 75 irs[i].len.).++i;.....while(.tru
1c520 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 69 73 20 e.).......{.......const.int.dis.
1c540 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 6c 65 6e =.pairs[i].dis;.......trials[len
1c560 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 2b 20 70 ].update(.normal_match_price.+.p
1c580 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 29 rice_pair(.dis,.len,.pos_state.)
1c5a0 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 69 73 20 ,...........................dis.
1c5c0 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 20 20 20 +.num_rep_distances,.0.);.......
1c5e0 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 2b 69 20 if(.++len.>.pairs[i].len.&&.++i.
1c600 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 0a 20 20 >=.num_pairs.).break;.......}...
1c620 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 74 72 75 ..}....int.cur.=.0;...while(.tru
1c640 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 6c 6f 6f e.)....//.price.optimization.loo
1c660 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 66 28 20 p.....{.....move_pos();.....if(.
1c680 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 6d 6f 72 ++cur.>=.num_trials.)..//.no.mor
1c6a0 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 20 20 20 e.initialized.trials.......{....
1c6c0 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 75 72 6e ...backward(.cur.);.......return
1c6e0 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 6e 75 6d .cur;.......}......const.int.num
1c700 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 28 29 3b _pairs.=.read_match_distances();
1c720 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 5f 70 61 .....const.int.newlen.=.(.num_pa
1c740 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 5d 2e 6c irs.>.0.).?.pairs[num_pairs-1].l
1c760 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 63 68 5f en.:.0;.....if(.newlen.>=.match_
1c780 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 64 69 6e len_limit.).......{.......pendin
1c7a0 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 20 20 62 g_num_pairs.=.num_pairs;.......b
1c7c0 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 63 75 72 ackward(.cur.);.......return.cur
1c7e0 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 76 61 6c ;.......}......//.give.final.val
1c800 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 6c 20 26 ues.to.current.trial.....Trial.&
1c820 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 20 53 74 .cur_trial.=.trials[cur];.....St
1c840 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 74 20 69 ate.cur_state;.....{.....const.i
1c860 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 20 69 6e nt.dis4.=.cur_trial.dis4;.....in
1c880 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 5f 69 6e t.prev_index.=.cur_trial.prev_in
1c8a0 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 32 20 3d dex;.....const.int.prev_index2.=
1c8c0 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 69 66 28 .cur_trial.prev_index2;......if(
1c8e0 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 72 69 61 .prev_index2.==.single_step_tria
1c900 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 20 74 72 l.).......{.......cur_state.=.tr
1c920 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 20 69 66 ials[prev_index].state;.......if
1c940 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 2f 20 6c (.prev_index.+.1.==.cur.)...//.l
1c960 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 20 64 69 en.==.1.........{.........if(.di
1c980 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 5f 72 65 s4.==.0.).cur_state.set_short_re
1c9a0 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 65 74 5f p();.........else.cur_state.set_
1c9c0 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 7d 0a 20 char();...//.literal.........}..
1c9e0 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 64 69 73 .....else.if(.dis4.<.num_rep_dis
1ca00 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 0a 20 20 tances.).cur_state.set_rep();...
1ca20 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 29 3b 0a ....else.cur_state.set_match();.
1ca40 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 20 69 ......}.....else.......{.......i
1ca60 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 72 69 61 f(.prev_index2.==.dual_step_tria
1ca80 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 20 20 20 l.).//.dis4.==.0.(rep0).........
1caa0 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 2f 2f 20 --prev_index;.......else.....//.
1cac0 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 5f 69 6e prev_index2.>=.0.........prev_in
1cae0 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 73 74 61 dex.=.prev_index2;.......cur_sta
1cb00 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 20 20 63 te.set_char_rep();.......}.....c
1cb20 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 20 20 20 ur_trial.state.=.cur_state;.....
1cb40 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 69 73 74 for(.int.i.=.0;.i.<.num_rep_dist
1cb60 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 72 65 70 ances;.++i.).......cur_trial.rep
1cb80 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 73 5b 69 s[i].=.trials[prev_index].reps[i
1cba0 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 69 61 6c ];.....mtf_reps(.dis4,.cur_trial
1cbc0 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 65 64 0a .reps.);..//.literal.is.ignored.
1cbe0 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 65 20 3d ....}......const.int.pos_state.=
1cc00 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 6d 61 73 .data_position().&.pos_state_mas
1cc20 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 65 20 3d k;.....const.uint8_t.prev_byte.=
1cc40 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 20 63 75 .peek(.1.);.....const.uint8_t.cu
1cc60 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 20 75 69 r_byte.=.peek(.0.);.....const.ui
1cc80 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 74 72 69 nt8_t.match_byte.=.peek(.cur_tri
1cca0 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 78 74 5f al.reps[0].+.1.);......int.next_
1ccc0 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 20 20 20 price.=.cur_trial.price.+.......
1cce0 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 63 68 5b ...............price0(.bm_match[
1cd00 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 20 20 69 cur_state()][pos_state].);.....i
1cd20 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 20 20 6e f(.cur_state.is_char().).......n
1cd40 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 72 65 76 ext_price.+=.price_literal(.prev
1cd60 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 20 20 20 _byte,.cur_byte.);.....else.....
1cd80 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 28 20 70 ..next_price.+=.price_matched(.p
1cda0 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 65 20 29 rev_byte,.cur_byte,.match_byte.)
1cdc0 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 20 6e 65 ;......//.try.last.updates.to.ne
1cde0 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 61 6c 20 xt.trial.....Trial.&.next_trial.
1ce00 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 69 61 6c =.trials[cur+1];......next_trial
1ce20 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 29 3b 09 .update(.next_price,.-1,.cur.);.
1ce40 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 74 63 68 .//.literal......const.int.match
1ce60 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 69 63 65 _price.=.cur_trial.price.+.price
1ce80 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 73 74 61 1(.bm_match[cur_state()][pos_sta
1cea0 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 68 5f 70 te].);.....const.int.rep_match_p
1cec0 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 62 6d 5f rice.=.match_price.+.price1(.bm_
1cee0 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 6d 61 74 rep[cur_state()].);......if(.mat
1cf00 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 72 69 61 ch_byte.==.cur_byte.&&.next_tria
1cf20 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 72 69 61 l.dis4.!=.0.&&.........next_tria
1cf40 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 74 72 69 l.prev_index2.==.single_step_tri
1cf60 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 70 72 69 al.).......{.......const.int.pri
1cf80 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 73 68 6f ce.=.rep_match_price.+.price_sho
1cfa0 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 3b 0a 20 rtrep(.cur_state,.pos_state.);..
1cfc0 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 70 72 69 .....if(.price.<=.next_trial.pri
1cfe0 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 72 69 61 ce.).........{.........next_tria
1d000 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 5f 74 72 l.price.=.price;.........next_tr
1d020 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 20 20 20 ial.dis4.=.0;....//.rep0........
1d040 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 0a 20 20 .next_trial.prev_index.=.cur;...
1d060 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 74 20 74 ......}.......}......const.int.t
1d080 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 28 20 61 riable_bytes.=.......std::min(.a
1d0a0 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 61 6c 73 vailable_bytes(),.max_num_trials
1d0c0 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 5f 62 79 .-.1.-.cur.);.....if(.triable_by
1d0e0 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 65 3b 0a tes.<.min_match_len.).continue;.
1d100 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 64 3a 3a .....const.int.len_limit.=.std::
1d120 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 5f 62 79 min(.match_len_limit,.triable_by
1d140 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 72 65 70 tes.);......//.try.literal.+.rep
1d160 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 79 74 65 0.....if(.match_byte.!=.cur_byte
1d180 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 63 75 72 .&&.next_trial.prev_index.!=.cur
1d1a0 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 74 20 2a .).......{.......const.uint8_t.*
1d1c0 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 70 6f 73 .const.data.=.ptr_to_current_pos
1d1e0 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 5f 74 72 ();.......const.int.dis.=.cur_tr
1d200 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 69 6e 74 ial.reps[0].+.1;.......const.int
1d220 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 6c 69 6d .limit.=.std::min(.match_len_lim
1d240 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 20 20 69 it.+.1,.triable_bytes.);.......i
1d260 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 3c 20 6c nt.len.=.1;.......while(.len.<.l
1d280 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 5b 6c 65 imit.&&.data[len-dis].==.data[le
1d2a0 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 3d 20 6d n].).++len;.......if(.--len.>=.m
1d2c0 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 20 20 20 in_match_len.).........{........
1d2e0 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 5f 73 74 .const.int.pos_state2.=.(.pos_st
1d300 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 20 20 20 ate.+.1.).&.pos_state_mask;.....
1d320 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 20 73 74 ....State.state2.=.cur_state;.st
1d340 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 74 20 69 ate2.set_char();.........const.i
1d360 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 20 20 20 nt.price.=.next_price.+.........
1d380 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 6d 61 74 ..................price1(.bm_mat
1d3a0 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 20 20 20 ch[state2()][pos_state2].).+....
1d3c0 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 28 20 62 .......................price1(.b
1d3e0 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 20 20 20 m_rep[state2()].).+.............
1d400 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 20 6c 65 ..............price_rep0_len(.le
1d420 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 20 20 20 n,.state2,.pos_state2.);........
1d440 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 2b 20 6c .while(.num_trials.<.cur.+.1.+.l
1d460 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 72 69 61 en.)...........trials[++num_tria
1d480 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 20 20 20 ls].price.=.infinite_price;.....
1d4a0 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 28 20 70 ....trials[cur+1+len].update2(.p
1d4c0 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 20 20 20 rice,.cur.+.1.);.........}......
1d4e0 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 61 74 63 .}......int.start_len.=.min_matc
1d500 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 63 65 73 h_len;......//.try.rep.distances
1d520 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 6e 75 6d .....for(.int.rep.=.0;.rep.<.num
1d540 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 20 7b 0a _rep_distances;.++rep.).......{.
1d560 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 61 74 61 ......const.uint8_t.*.const.data
1d580 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 20 20 63 .=.ptr_to_current_pos();.......c
1d5a0 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 5b 72 65 onst.int.dis.=.cur_trial.reps[re
1d5c0 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 20 69 66 p].+.1;.......int.len;........if
1d5e0 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 61 74 61 (.data[0-dis].!=.data[0].||.data
1d600 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 3b 0a 20 [1-dis].!=.data[1].).continue;..
1d620 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 3b 20 6c .....for(.len.=.min_match_len;.l
1d640 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 20 20 20 en.<.len_limit;.++len.).........
1d660 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 5d 20 29 if(.data[len-dis].!=.data[len].)
1d680 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 6c 73 20 .break;.......while(.num_trials.
1d6a0 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 2b 2b 6e <.cur.+.len.).........trials[++n
1d6c0 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 72 69 63 um_trials].price.=.infinite_pric
1d6e0 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 68 5f 70 e;.......int.price.=.rep_match_p
1d700 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 61 74 65 rice.+.price_rep(.rep,.cur_state
1d720 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 20 69 20 ,.pos_state.);.......for(.int.i.
1d740 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 69 20 29 =.min_match_len;.i.<=.len;.++i.)
1d760 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 28 20 70 .........trials[cur+i].update(.p
1d780 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 69 2c 20 rice.+.rep_len_prices.price(.i,.
1d7a0 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 20 20 20 pos_state.),....................
1d7c0 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 20 69 66 ...........rep,.cur.);........if
1d7e0 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 2b 20 31 (.rep.==.0.).start_len.=.len.+.1
1d800 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 0a 20 20 ;.//.discard.shorter.matches....
1d820 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 70 30 0a ....//.try.rep.+.literal.+.rep0.
1d840 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 20 20 20 ......int.len2.=.len.+.1;.......
1d860 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 61 74 63 const.int.limit.=.std::min(.matc
1d880 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 79 74 65 h_len_limit.+.len2,.triable_byte
1d8a0 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 74 20 26 s.);.......while(.len2.<.limit.&
1d8c0 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 5d 20 29 &.data[len2-dis].==.data[len2].)
1d8e0 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 31 3b 0a .++len2;.......len2.-=.len.+.1;.
1d900 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 6e 20 29 ......if(.len2.<.min_match_len.)
1d920 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 74 65 32 .continue;........int.pos_state2
1d940 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 73 74 61 .=.(.pos_state.+.len.).&.pos_sta
1d960 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 20 63 75 te_mask;.......State.state2.=.cu
1d980 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 20 20 20 r_state;.state2.set_rep();......
1d9a0 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 65 28 20 .price.+=.rep_len_prices.price(.
1d9c0 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 20 20 20 len,.pos_state.).+..............
1d9e0 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 70 6f 73 ..price0(.bm_match[state2()][pos
1da00 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 72 69 63 _state2].).+................pric
1da20 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 6c 65 6e e_matched(.data[len-1],.data[len
1da40 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 5f 73 74 ],.data[len-dis].);.......pos_st
1da60 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 73 5f ate2.=.(.pos_state2.+.1.).&.pos_
1da80 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 63 68 61 state_mask;.......state2.set_cha
1daa0 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 6d 5f 6d r();.......price.+=.price1(.bm_m
1dac0 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 20 atch[state2()][pos_state2].).+..
1dae0 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 73 74 61 ..............price1(.bm_rep[sta
1db00 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 63 65 5f te2()].).+................price_
1db20 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 74 61 74 rep0_len(.len2,.state2,.pos_stat
1db40 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 20 3c 20 e2.);.......while(.num_trials.<.
1db60 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 74 cur.+.len.+.1.+.len2.).........t
1db80 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 6e 66 69 rials[++num_trials].price.=.infi
1dba0 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 6c 65 6e nite_price;.......trials[cur+len
1dbc0 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 20 63 75 +1+len2].update3(.price,.rep,.cu
1dbe0 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 20 20 20 r.+.len.+.1,.cur.);.......}.....
1dc00 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 6e 20 3e .//.try.matches.....if(.newlen.>
1dc20 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 6c 69 6d =.start_len.&&.newlen.<=.len_lim
1dc40 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 6e 6f 72 it.).......{.......const.int.nor
1dc60 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 20 2b 0a mal_match_price.=.match_price.+.
1dc80 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 ................................
1dca0 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 28 29 5d .....price0(.bm_rep[cur_state()]
1dcc0 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 3c 20 63 .);........while(.num_trials.<.c
1dce0 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 2b 2b 6e ur.+.newlen.).........trials[++n
1dd00 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 72 69 63 um_trials].price.=.infinite_pric
1dd20 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 69 6c 65 e;........int.i.=.0;.......while
1dd40 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 2b 2b 69 (.pairs[i].len.<.start_len.).++i
1dd60 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 73 3b 0a ;.......int.dis.=.pairs[i].dis;.
1dd80 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 6e 3b 20 ......for(.int.len.=.start_len;.
1dda0 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 6e 74 20 ;.++len.).........{.........int.
1ddc0 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 70 72 69 price.=.normal_match_price.+.pri
1dde0 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 29 3b 0a ce_pair(.dis,.len,.pos_state.);.
1de00 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 65 28 20 ........trials[cur+len].update(.
1de20 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 73 2c 20 price,.dis.+.num_rep_distances,.
1de40 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 2b 20 6c cur.);..........//.try.match.+.l
1de60 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 20 3d 3d iteral.+.rep0.........if(.len.==
1de80 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 20 20 20 .pairs[i].len.)...........{.....
1dea0 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 61 74 61 ......const.uint8_t.*.const.data
1dec0 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 20 20 20 .=.ptr_to_current_pos();........
1dee0 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 20 20 20 ...const.int.dis2.=.dis.+.1;....
1df00 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 20 20 20 .......int.len2.=.len.+.1;......
1df20 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 69 6e 28 .....const.int.limit.=.std::min(
1df40 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 62 6c 65 .match_len_limit.+.len2,.triable
1df60 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 6e 32 20 _bytes.);...........while(.len2.
1df80 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 20 64 61 <.limit.&&.data[len2-dis2].==.da
1dfa0 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 6c 65 6e ta[len2].).++len2;...........len
1dfc0 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 65 6e 32 2.-=.len.+.1;...........if(.len2
1dfe0 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 20 20 20 .>=.min_match_len.).............
1e000 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 3d 20 28 {.............int.pos_state2.=.(
1e020 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 65 5f 6d .pos_state.+.len.).&.pos_state_m
1e040 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 20 3d 20 ask;.............State.state2.=.
1e060 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 3b 0a 20 cur_state;.state2.set_match();..
1e080 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 6d 5f 6d ...........price.+=.price0(.bm_m
1e0a0 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 20 atch[state2()][pos_state2].).+..
1e0c0 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 63 68 65 ....................price_matche
1e0e0 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 74 61 5b d(.data[len-1],.data[len],.data[
1e100 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 73 74 61 len-dis2].);.............pos_sta
1e120 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 73 5f 73 te2.=.(.pos_state2.+.1.).&.pos_s
1e140 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 2e 73 65 tate_mask;.............state2.se
1e160 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 3d 20 70 t_char();.............price.+=.p
1e180 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 5f 73 74 rice1(.bm_match[state2()][pos_st
1e1a0 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 20 20 70 ate2].).+......................p
1e1c0 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 20 20 20 rice1(.bm_rep[state2()].).+.....
1e1e0 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(
1e200 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 0a 20 20 .len2,.state2,.pos_state2.);....
1e220 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 20 63 75 ..........while(.num_trials.<.cu
1e240 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 20 20 20 r.+.len.+.1.+.len2.)............
1e260 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 20 3d 20 ...trials[++num_trials].price.=.
1e280 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 72 69 61 infinite_price;.............tria
1e2a0 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 72 69 63 ls[cur+len+1+len2].update3(.pric
1e2c0 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 20 20 20 e,.dis.+.num_rep_distances,.....
1e2e0 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 ................................
1e300 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 0a 20 20 ........cur.+.len.+.1,.cur.);...
1e320 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 20 3e 3d ..........}...........if(.++i.>=
1e340 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 20 64 69 .num_pairs.).break;...........di
1e360 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 0a 20 20 s.=.pairs[i].dis;...........}...
1e380 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 6f 6f 6c ......}.......}.....}...}...bool
1e3a0 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 6f 6e 73 .LZ_encoder::encode_member(.cons
1e3c0 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
1e3e0 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 6c 6f 6e .)...{...const.unsigned.long.lon
1e400 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 62 65 72 g.member_size_limit.=.....member
1e420 5f 73 69 7a 65 20 2d 20 4c 7a 69 70 5f 74 72 61 69 6c 65 72 3a 3a 73 69 7a 65 20 2d 20 6d 61 78 _size.-.Lzip_trailer::size.-.max
1e440 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 73 74 20 _marker_size;...const.bool.best.
1e460 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 20 63 6f =.(.match_len_limit.>.12.);...co
1e480 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 74 20 3f nst.int.dis_price_count.=.best.?
1e4a0 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 72 69 63 .1.:.512;...const.int.align_pric
1e4c0 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 6e 5f 73 e_count.=.best.?.1.:.dis_align_s
1e4e0 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 3d 20 28 ize;...const.int.price_count.=.(
1e500 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 33 20 3a .match_len_limit.>.36.).?.1013.:
1e520 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 30 3b 09 .4093;...int.price_counter.=.0;.
1e540 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 6c 6f 77 .//.counters.may.decrement.below
1e560 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 30 3b 0a .0...int.dis_price_counter.=.0;.
1e580 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 3b 0a 20 ..int.align_price_counter.=.0;..
1e5a0 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 0a 20 20 .int.reps[num_rep_distances];...
1e5c0 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 3b 20 69 State.state;...for(.int.i.=.0;.i
1e5e0 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 65 70 73 .<.num_rep_distances;.++i.).reps
1e600 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 28 29 20 [i].=.0;....if(.data_position().
1e620 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 29 20 21 !=.0.||.renc.member_position().!
1e640 3d 20 4c 7a 69 70 5f 68 65 61 64 65 72 3a 3a 73 69 7a 65 20 29 0a 20 20 20 20 72 65 74 75 72 6e =.Lzip_header::size.).....return
1e660 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 6e 6c 79 .false;....//.can.be.called.only
1e680 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 20 29 09 .once....if(.!data_finished().).
1e6a0 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 20 20 20 ..//.encode.first.byte.....{....
1e6c0 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 0a 20 20 .const.uint8_t.prev_byte.=.0;...
1e6e0 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 65 6b 28 ..const.uint8_t.cur_byte.=.peek(
1e700 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 5f 6d 61 .0.);.....renc.encode_bit(.bm_ma
1e720 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 6f 64 65 tch[state()][0],.0.);.....encode
1e740 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 20 29 3b _literal(.prev_byte,.cur_byte.);
1e760 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 20 63 75 .....crc32.update_byte(.crc_,.cu
1e780 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 28 29 3b r_byte.);.....get_match_pairs();
1e7a0 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 6c 65 28 .....move_pos();.....}....while(
1e7c0 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 20 69 66 .!data_finished().).....{.....if
1e7e0 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 6e 67 5f (.price_counter.<=.0.&&.pending_
1e800 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 20 20 70 num_pairs.==.0.).......{.......p
1e820 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 2f 20 72 rice_counter.=.price_count;.//.r
1e840 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 20 62 79 ecalculate.prices.every.these.by
1e860 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 65 72 20 tes.......if(.dis_price_counter.
1e880 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 75 6e 74 <=.0.).........{.dis_price_count
1e8a0 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 64 69 73 er.=.dis_price_count;.update_dis
1e8c0 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 6c 69 67 tance_prices();.}.......if(.alig
1e8e0 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 20 20 7b n_price_counter.<=.0.).........{
1e900 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 3d 20 61 .........align_price_counter.=.a
1e920 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 28 20 69 lign_price_count;.........for(.i
1e940 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 20 2b 2b nt.i.=.0;.i.<.dis_align_size;.++
1e960 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 20 3d 20 i.)...........align_prices[i].=.
1e980 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 67 6e 2c price_symbol_reversed(.bm_align,
1e9a0 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 20 7d 0a .i,.dis_align_bits.);.........}.
1e9c0 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 5f 70 72 ......match_len_prices.update_pr
1e9e0 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 75 70 64 ices();.......rep_len_prices.upd
1ea00 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 74 20 61 ate_prices();.......}......int.a
1ea20 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 70 73 2c head.=.sequence_optimizer(.reps,
1ea40 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 3d 20 61 .state.);.....price_counter.-=.a
1ea60 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 65 61 64 head;......for(.int.i.=.0;.ahead
1ea80 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 6e 74 20 .>.0;.).......{.......const.int.
1eaa0 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 20 2d 20 pos_state.=.(.data_position().-.
1eac0 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 20 20 20 ahead.).&.pos_state_mask;.......
1eae0 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 63 65 3b const.int.len.=.trials[i].price;
1eb00 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 73 34 3b .......int.dis.=.trials[i].dis4;
1eb20 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 29 3b 0a ........bool.bit.=.(.dis.<.0.);.
1eb40 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 63 68 5b ......renc.encode_bit(.bm_match[
1eb60 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 20 20 20 state()][pos_state],.!bit.);....
1eb80 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 79 74 65 ...if(.bit.).....//.literal.byte
1eba0 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 38 5f 74 .........{.........const.uint8_t
1ebc0 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 29 3b 0a .prev_byte.=.peek(.ahead.+.1.);.
1ebe0 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 65 20 3d ........const.uint8_t.cur_byte.=
1ec00 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 2e 75 70 .peek(.ahead.);.........crc32.up
1ec20 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 20 date_byte(.crc_,.cur_byte.);....
1ec40 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 61 72 28 .....if(.state.is_char_set_char(
1ec60 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 20 70 72 ).)...........encode_literal(.pr
1ec80 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 65 6c 73 ev_byte,.cur_byte.);.........els
1eca0 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 20 75 69 e...........{...........const.ui
1ecc0 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 64 20 2b nt8_t.match_byte.=.peek(.ahead.+
1ece0 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 6f 64 65 .reps[0].+.1.);...........encode
1ed00 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 2c 20 6d _matched(.prev_byte,.cur_byte,.m
1ed20 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 20 20 20 atch_byte.);...........}........
1ed40 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 20 72 65 .}.......else.....//.match.or.re
1ed60 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 20 20 63 peated.match.........{.........c
1ed80 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 5f 63 75 rc32.update_buf(.crc_,.ptr_to_cu
1eda0 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 20 20 20 rrent_pos().-.ahead,.len.);.....
1edc0 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 20 20 20 ....mtf_reps(.dis,.reps.);......
1ede0 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 61 6e 63 ...bit.=.(.dis.<.num_rep_distanc
1ee00 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 28 20 62 es.);.........renc.encode_bit(.b
1ee20 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 20 20 69 m_rep[state()],.bit.);.........i
1ee40 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 0a 20 20 f(.bit.)....//.repeated.match...
1ee60 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 69 73 20 ........{...........bit.=.(.dis.
1ee80 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 5f 62 69 ==.0.);...........renc.encode_bi
1eea0 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 20 20 20 t(.bm_rep0[state()],.!bit.);....
1eec0 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 72 65 6e .......if(.bit.).............ren
1eee0 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 5b 70 6f c.encode_bit(.bm_len[state()][po
1ef00 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 20 20 65 s_state],.len.>.1.);...........e
1ef20 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 72 65 lse.............{.............re
1ef40 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 29 5d 2c nc.encode_bit(.bm_rep1[state()],
1ef60 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 69 73 20 .dis.>.1.);.............if(.dis.
1ef80 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 64 65 5f >.1.)...............renc.encode_
1efa0 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 32 20 29 bit(.bm_rep2[state()],.dis.>.2.)
1efc0 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 20 6c 65 ;.............}...........if(.le
1efe0 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 29 3b 0a n.==.1.).state.set_short_rep();.
1f000 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 20 20 20 ..........else.............{....
1f020 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 5f 6c 65 .........renc.encode_len(.rep_le
1f040 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 20 20 20 n_model,.len,.pos_state.);......
1f060 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 6e 74 5f .......rep_len_prices.decrement_
1f080 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 20 20 20 counter(.pos_state.);...........
1f0a0 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 20 20 7d ..state.set_rep();.............}
1f0c0 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 09 2f 2f ...........}.........else.....//
1f0e0 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 64 69 73 .match...........{...........dis
1f100 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 20 20 20 .-=.num_rep_distances;..........
1f120 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 74 61 74 .encode_pair(.dis,.len,.pos_stat
1f140 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 65 6c 65 e.);...........if(.dis.>=.modele
1f160 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 6f 75 6e d_distances.).--align_price_coun
1f180 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 75 6e 74 ter;...........--dis_price_count
1f1a0 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 73 2e 64 er;...........match_len_prices.d
1f1c0 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 3b 0a 20 ecrement_counter(.pos_state.);..
1f1e0 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 20 20 20 .........state.set_match();.....
1f200 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 20 2d 3d ......}.........}.......ahead.-=
1f220 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 63 2e 6d .len;.i.+=.len;.......if(.renc.m
1f240 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 7a 65 5f ember_position().>=.member_size_
1f260 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 20 21 64 limit.).........{.........if(.!d
1f280 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 65 3b 0a ec_pos(.ahead.).).return.false;.
1f2a0 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 20 20 20 ........full_flush(.state.);....
1f2c0 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 20 20 20 .....return.true;.........}.....
1f2e0 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 20 29 3b ..}.....}...full_flush(.state.);
1f300 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 00 00 00 ...return.true;...}.............
1f320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f400 6c 7a 69 70 2d 31 2e 32 33 2f 6c 7a 69 70 5f 69 6e 64 65 78 2e 63 63 00 00 00 00 00 00 00 00 00 lzip-1.23/lzip_index.cc.........
1f420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
1f480 30 30 31 37 33 36 32 00 31 34 31 37 32 36 34 35 36 32 35 00 30 31 35 31 31 34 00 20 30 00 00 00 0017362.14172645625.015114..0...
1f4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f500 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
1f520 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
1f540 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
1f560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f600 2f 2a 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 /*.Lzip.-.LZMA.lossless.data.com
1f620 70 72 65 73 73 6f 72 0a 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d 32 30 pressor....Copyright.(C).2008-20
1f640 32 32 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 54 68 69 73 20 70 22.Antonio.Diaz.Diaz......This.p
1f660 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 63 61 6e rogram.is.free.software:.you.can
1f680 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 79 0a 20 .redistribute.it.and/or.modify..
1f6a0 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 47 4e 55 20 ..it.under.the.terms.of.the.GNU.
1f6c0 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 62 6c 69 73 General.Public.License.as.publis
1f6e0 68 65 64 20 62 79 0a 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e hed.by....the.Free.Software.Foun
1f700 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 20 74 68 65 20 dation,.either.version.2.of.the.
1f720 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 License,.or....(at.your.option).
1f740 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 54 68 69 73 20 70 72 6f 67 any.later.version......This.prog
1f760 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 70 65 20 74 ram.is.distributed.in.the.hope.t
1f780 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 62 75 74 20 57 49 hat.it.will.be.useful,....but.WI
1f7a0 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 65 76 65 6e THOUT.ANY.WARRANTY;.without.even
1f7c0 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 4d 45 52 43 .the.implied.warranty.of....MERC
1f7e0 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
1f800 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 0a 20 20 20 47 4e 55 TICULAR.PURPOSE...See.the....GNU
1f820 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 72 65 .General.Public.License.for.more
1f840 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 .details......You.should.have.re
1f860 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 6e 65 72 61 6c ceived.a.copy.of.the.GNU.General
1f880 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 .Public.License....along.with.th
1f8a0 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 3c 68 74 74 70 3a 2f is.program...If.not,.see.<http:/
1f8c0 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 2a 2f 0a 0a 23 64 65 /www.gnu.org/licenses/>..*/..#de
1f8e0 66 69 6e 65 20 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 36 34 0a 0a 23 69 6e 63 6c fine._FILE_OFFSET_BITS.64..#incl
1f900 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 65 72 72 6e 6f ude.<algorithm>.#include.<cerrno
1f920 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 20 3c 63 73 >.#include.<cstdio>.#include.<cs
1f940 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 6e 63 6c 75 64 tring>.#include.<string>.#includ
1f960 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 2e 68 3e 0a 23 e.<vector>.#include.<stdint.h>.#
1f980 69 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 include.<unistd.h>..#include."lz
1f9a0 69 70 2e 68 22 0a 23 69 6e 63 6c 75 64 65 20 22 6c 7a 69 70 5f 69 6e 64 65 78 2e 68 22 0a 0a 0a ip.h".#include."lzip_index.h"...
1f9c0 6e 61 6d 65 73 70 61 63 65 20 7b 0a 0a 69 6e 74 20 73 65 65 6b 5f 72 65 61 64 28 20 63 6f 6e 73 namespace.{..int.seek_read(.cons
1f9e0 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
1fa00 6f 6e 73 74 20 69 6e 74 20 73 69 7a 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f onst.int.size,................co
1fa20 6e 73 74 20 6c 6f 6e 67 20 6c 6f 6e 67 20 70 6f 73 20 29 0a 20 20 7b 0a 20 20 69 66 28 20 6c 73 nst.long.long.pos.)...{...if(.ls
1fa40 65 65 6b 28 20 66 64 2c 20 70 6f 73 2c 20 53 45 45 4b 5f 53 45 54 20 29 20 3d 3d 20 70 6f 73 20 eek(.fd,.pos,.SEEK_SET.).==.pos.
1fa60 29 0a 20 20 20 20 72 65 74 75 72 6e 20 72 65 61 64 62 6c 6f 63 6b 28 20 66 64 2c 20 62 75 66 2c ).....return.readblock(.fd,.buf,
1fa80 20 73 69 7a 65 20 29 3b 0a 20 20 72 65 74 75 72 6e 20 30 3b 0a 20 20 7d 0a 0a 7d 20 2f 2f 20 65 .size.);...return.0;...}..}.//.e
1faa0 6e 64 20 6e 61 6d 65 73 70 61 63 65 0a 0a 0a 62 6f 6f 6c 20 4c 7a 69 70 5f 69 6e 64 65 78 3a 3a nd.namespace...bool.Lzip_index::
1fac0 63 68 65 63 6b 5f 68 65 61 64 65 72 5f 65 72 72 6f 72 28 20 63 6f 6e 73 74 20 4c 7a 69 70 5f 68 check_header_error(.const.Lzip_h
1fae0 65 61 64 65 72 20 26 20 68 65 61 64 65 72 20 29 0a 20 20 7b 0a 20 20 69 66 28 20 21 68 65 61 64 eader.&.header.)...{...if(.!head
1fb00 65 72 2e 76 65 72 69 66 79 5f 6d 61 67 69 63 28 29 20 29 0a 20 20 20 20 7b 20 65 72 72 6f 72 5f er.verify_magic().).....{.error_
1fb20 20 3d 20 62 61 64 5f 6d 61 67 69 63 5f 6d 73 67 3b 20 72 65 74 76 61 6c 5f 20 3d 20 32 3b 20 72 .=.bad_magic_msg;.retval_.=.2;.r
1fb40 65 74 75 72 6e 20 74 72 75 65 3b 20 7d 0a 20 20 69 66 28 20 21 68 65 61 64 65 72 2e 76 65 72 69 eturn.true;.}...if(.!header.veri
1fb60 66 79 5f 76 65 72 73 69 6f 6e 28 29 20 29 0a 20 20 20 20 7b 20 65 72 72 6f 72 5f 20 3d 20 62 61 fy_version().).....{.error_.=.ba
1fb80 64 5f 76 65 72 73 69 6f 6e 28 20 68 65 61 64 65 72 2e 76 65 72 73 69 6f 6e 28 29 20 29 3b 20 72 d_version(.header.version().);.r
1fba0 65 74 76 61 6c 5f 20 3d 20 32 3b 20 72 65 74 75 72 6e 20 74 72 75 65 3b 20 7d 0a 20 20 69 66 28 etval_.=.2;.return.true;.}...if(
1fbc0 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 61 72 79 5f .!isvalid_ds(.header.dictionary_
1fbe0 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 64 5f 64 69 size().).).....{.error_.=.bad_di
1fc00 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 20 74 72 75 65 ct_msg;.retval_.=.2;.return.true
1fc20 3b 20 7d 0a 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 7d 0a 0a 76 6f 69 64 20 4c 7a ;.}...return.false;...}..void.Lz
1fc40 69 70 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 73 74 ip_index::set_errno_error(.const
1fc60 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 72 5f .char.*.const.msg.)...{...error_
1fc80 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 72 28 .=.msg;.error_.+=.std::strerror(
1fca0 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 76 6f .errno.);...retval_.=.1;...}..vo
1fcc0 69 64 20 4c 7a 69 70 5f 69 6e 64 65 78 3a 3a 73 65 74 5f 6e 75 6d 5f 65 72 72 6f 72 28 20 63 6f id.Lzip_index::set_num_error(.co
1fce0 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 20 6c nst.char.*.const.msg,.unsigned.l
1fd00 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 38 30 ong.long.num.)...{...char.buf[80
1fd20 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 2c 20 ];...snprintf(.buf,.sizeof.buf,.
1fd40 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 20 3d "%s%llu",.msg,.num.);...error_.=
1fd60 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 62 6f 6f 6c 20 .buf;...retval_.=.2;...}...bool.
1fd80 4c 7a 69 70 5f 69 6e 64 65 78 3a 3a 72 65 61 64 5f 68 65 61 64 65 72 28 20 63 6f 6e 73 74 20 69 Lzip_index::read_header(.const.i
1fda0 6e 74 20 66 64 2c 20 4c 7a 69 70 5f 68 65 61 64 65 72 20 26 20 68 65 61 64 65 72 2c 0a 20 20 20 nt.fd,.Lzip_header.&.header,....
1fdc0 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
1fde0 20 6c 6f 6e 67 20 6c 6f 6e 67 20 70 6f 73 20 29 0a 20 20 7b 0a 20 20 69 66 28 20 73 65 65 6b 5f .long.long.pos.)...{...if(.seek_
1fe00 72 65 61 64 28 20 66 64 2c 20 68 65 61 64 65 72 2e 64 61 74 61 2c 20 4c 7a 69 70 5f 68 65 61 64 read(.fd,.header.data,.Lzip_head
1fe20 65 72 3a 3a 73 69 7a 65 2c 20 70 6f 73 20 29 20 21 3d 20 4c 7a 69 70 5f 68 65 61 64 65 72 3a 3a er::size,.pos.).!=.Lzip_header::
1fe40 73 69 7a 65 20 29 0a 20 20 20 20 7b 20 73 65 74 5f 65 72 72 6e 6f 5f 65 72 72 6f 72 28 20 22 45 size.).....{.set_errno_error(."E
1fe60 72 72 6f 72 20 72 65 61 64 69 6e 67 20 6d 65 6d 62 65 72 20 68 65 61 64 65 72 3a 20 22 20 29 3b rror.reading.member.header:.".);
1fe80 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 20 7d 0a 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a .return.false;.}...return.true;.
1fea0 20 20 7d 0a 0a 0a 2f 2f 20 49 66 20 73 75 63 63 65 73 73 66 75 6c 2c 20 70 75 73 68 20 6c 61 73 ..}...//.If.successful,.push.las
1fec0 74 20 6d 65 6d 62 65 72 20 61 6e 64 20 73 65 74 20 70 6f 73 20 74 6f 20 6d 65 6d 62 65 72 20 68 t.member.and.set.pos.to.member.h
1fee0 65 61 64 65 72 2e 0a 62 6f 6f 6c 20 4c 7a 69 70 5f 69 6e 64 65 78 3a 3a 73 6b 69 70 5f 74 72 61 eader..bool.Lzip_index::skip_tra
1ff00 69 6c 69 6e 67 5f 64 61 74 61 28 20 63 6f 6e 73 74 20 69 6e 74 20 66 64 2c 20 75 6e 73 69 67 6e iling_data(.const.int.fd,.unsign
1ff20 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 26 20 70 6f 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 ed.long.long.&.pos,.............
1ff40 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 20 62 .........................const.b
1ff60 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 20 20 20 20 20 20 ool.ignore_trailing,............
1ff80 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 20 ..........................const.
1ffa0 62 6f 6f 6c 20 6c 6f 6f 73 65 5f 74 72 61 69 6c 69 6e 67 20 29 0a 20 20 7b 0a 20 20 69 66 28 20 bool.loose_trailing.)...{...if(.
1ffc0 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 75 72 6e 20 66 pos.<.min_member_size.).return.f
1ffe0 61 6c 73 65 3b 0a 20 20 65 6e 75 6d 20 7b 20 62 6c 6f 63 6b 5f 73 69 7a 65 20 3d 20 31 36 33 38 alse;...enum.{.block_size.=.1638
20000 34 2c 0a 20 20 20 20 20 20 20 20 20 62 75 66 66 65 72 5f 73 69 7a 65 20 3d 20 62 6c 6f 63 6b 5f 4,..........buffer_size.=.block_
20020 73 69 7a 65 20 2b 20 4c 7a 69 70 5f 74 72 61 69 6c 65 72 3a 3a 73 69 7a 65 20 2d 20 31 20 2b 20 size.+.Lzip_trailer::size.-.1.+.
20040 4c 7a 69 70 5f 68 65 61 64 65 72 3a 3a 73 69 7a 65 20 7d 3b 0a 20 20 75 69 6e 74 38 5f 74 20 62 Lzip_header::size.};...uint8_t.b
20060 75 66 66 65 72 5b 62 75 66 66 65 72 5f 73 69 7a 65 5d 3b 0a 20 20 69 6e 74 20 62 73 69 7a 65 20 uffer[buffer_size];...int.bsize.
20080 3d 20 70 6f 73 20 25 20 62 6c 6f 63 6b 5f 73 69 7a 65 3b 09 09 09 2f 2f 20 74 6f 74 61 6c 20 62 =.pos.%.block_size;...//.total.b
200a0 79 74 65 73 20 69 6e 20 62 75 66 66 65 72 0a 20 20 69 66 28 20 62 73 69 7a 65 20 3c 3d 20 62 75 ytes.in.buffer...if(.bsize.<=.bu
200c0 66 66 65 72 5f 73 69 7a 65 20 2d 20 62 6c 6f 63 6b 5f 73 69 7a 65 20 29 20 62 73 69 7a 65 20 2b ffer_size.-.block_size.).bsize.+
200e0 3d 20 62 6c 6f 63 6b 5f 73 69 7a 65 3b 0a 20 20 69 6e 74 20 73 65 61 72 63 68 5f 73 69 7a 65 20 =.block_size;...int.search_size.
20100 3d 20 62 73 69 7a 65 3b 09 09 09 2f 2f 20 62 79 74 65 73 20 74 6f 20 73 65 61 72 63 68 20 66 6f =.bsize;...//.bytes.to.search.fo
20120 72 20 74 72 61 69 6c 65 72 0a 20 20 69 6e 74 20 72 64 5f 73 69 7a 65 20 3d 20 62 73 69 7a 65 3b r.trailer...int.rd_size.=.bsize;
20140 09 09 09 09 2f 2f 20 62 79 74 65 73 20 74 6f 20 72 65 61 64 20 66 72 6f 6d 20 66 69 6c 65 0a 20 ....//.bytes.to.read.from.file..
20160 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 69 70 6f 73 20 3d 20 70 6f 73 20 2d .unsigned.long.long.ipos.=.pos.-
20180 20 72 64 5f 73 69 7a 65 3b 09 2f 2f 20 61 6c 69 67 6e 65 64 20 74 6f 20 62 6c 6f 63 6b 5f 73 69 .rd_size;.//.aligned.to.block_si
201a0 7a 65 0a 0a 20 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 69 66 ze....while(.true.).....{.....if
201c0 28 20 73 65 65 6b 5f 72 65 61 64 28 20 66 64 2c 20 62 75 66 66 65 72 2c 20 72 64 5f 73 69 7a 65 (.seek_read(.fd,.buffer,.rd_size
201e0 2c 20 69 70 6f 73 20 29 20 21 3d 20 72 64 5f 73 69 7a 65 20 29 0a 20 20 20 20 20 20 7b 20 73 65 ,.ipos.).!=.rd_size.).......{.se
20200 74 5f 65 72 72 6e 6f 5f 65 72 72 6f 72 28 20 22 45 72 72 6f 72 20 73 65 65 6b 69 6e 67 20 6d 65 t_errno_error(."Error.seeking.me
20220 6d 62 65 72 20 74 72 61 69 6c 65 72 3a 20 22 20 29 3b 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b mber.trailer:.".);.return.false;
20240 20 7d 0a 20 20 20 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 6d 61 78 5f 6d 73 62 20 3d 20 28 .}.....const.uint8_t.max_msb.=.(
20260 20 69 70 6f 73 20 2b 20 73 65 61 72 63 68 5f 73 69 7a 65 20 29 20 3e 3e 20 35 36 3b 0a 20 20 20 .ipos.+.search_size.).>>.56;....
20280 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 73 65 61 72 63 68 5f 73 69 7a 65 3b 20 69 20 3e 3d 20 .for(.int.i.=.search_size;.i.>=.
202a0 4c 7a 69 70 5f 74 72 61 69 6c 65 72 3a 3a 73 69 7a 65 3b 20 2d 2d 69 20 29 0a 20 20 20 20 20 20 Lzip_trailer::size;.--i.).......
202c0 69 66 28 20 62 75 66 66 65 72 5b 69 2d 31 5d 20 3c 3d 20 6d 61 78 5f 6d 73 62 20 29 09 2f 2f 20 if(.buffer[i-1].<=.max_msb.).//.
202e0 6d 6f 73 74 20 73 69 67 6e 69 66 69 63 61 6e 74 20 62 79 74 65 20 6f 66 20 6d 65 6d 62 65 72 5f most.significant.byte.of.member_
20300 73 69 7a 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 4c 7a 69 size.........{.........const.Lzi
20320 70 5f 74 72 61 69 6c 65 72 20 26 20 74 72 61 69 6c 65 72 20 3d 0a 20 20 20 20 20 20 20 20 20 20 p_trailer.&.trailer.=...........
20340 2a 28 63 6f 6e 73 74 20 4c 7a 69 70 5f 74 72 61 69 6c 65 72 20 2a 29 28 20 62 75 66 66 65 72 20 *(const.Lzip_trailer.*)(.buffer.
20360 2b 20 69 20 2d 20 4c 7a 69 70 5f 74 72 61 69 6c 65 72 3a 3a 73 69 7a 65 20 29 3b 0a 20 20 20 20 +.i.-.Lzip_trailer::size.);.....
20380 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 6d ....const.unsigned.long.long.mem
203a0 62 65 72 5f 73 69 7a 65 20 3d 20 74 72 61 69 6c 65 72 2e 6d 65 6d 62 65 72 5f 73 69 7a 65 28 29 ber_size.=.trailer.member_size()
203c0 3b 0a 20 20 20 20 20 20 20 20 69 66 28 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 3d 3d 20 30 20 29 ;.........if(.member_size.==.0.)
203e0 09 09 09 2f 2f 20 73 6b 69 70 20 74 72 61 69 6c 69 6e 67 20 7a 65 72 6f 73 0a 20 20 20 20 20 20 ...//.skip.trailing.zeros.......
20400 20 20 20 20 7b 20 77 68 69 6c 65 28 20 69 20 3e 20 4c 7a 69 70 5f 74 72 61 69 6c 65 72 3a 3a 73 ....{.while(.i.>.Lzip_trailer::s
20420 69 7a 65 20 26 26 20 62 75 66 66 65 72 5b 69 2d 39 5d 20 3d 3d 20 30 20 29 20 2d 2d 69 3b 20 63 ize.&&.buffer[i-9].==.0.).--i;.c
20440 6f 6e 74 69 6e 75 65 3b 20 7d 0a 20 20 20 20 20 20 20 20 69 66 28 20 6d 65 6d 62 65 72 5f 73 69 ontinue;.}.........if(.member_si
20460 7a 65 20 3e 20 69 70 6f 73 20 2b 20 69 20 7c 7c 20 21 74 72 61 69 6c 65 72 2e 76 65 72 69 66 79 ze.>.ipos.+.i.||.!trailer.verify
20480 5f 63 6f 6e 73 69 73 74 65 6e 63 79 28 29 20 29 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 _consistency().)...........conti
204a0 6e 75 65 3b 0a 20 20 20 20 20 20 20 20 4c 7a 69 70 5f 68 65 61 64 65 72 20 68 65 61 64 65 72 3b nue;.........Lzip_header.header;
204c0 0a 20 20 20 20 20 20 20 20 69 66 28 20 21 72 65 61 64 5f 68 65 61 64 65 72 28 20 66 64 2c 20 68 .........if(.!read_header(.fd,.h
204e0 65 61 64 65 72 2c 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 eader,.ipos.+.i.-.member_size.).
20500 29 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 69 66 28 20 21 68 65 61 ).return.false;.........if(.!hea
20520 64 65 72 2e 76 65 72 69 66 79 28 29 20 29 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 20 20 20 20 der.verify().).continue;........
20540 20 63 6f 6e 73 74 20 4c 7a 69 70 5f 68 65 61 64 65 72 20 26 20 68 65 61 64 65 72 32 20 3d 20 2a .const.Lzip_header.&.header2.=.*
20560 28 63 6f 6e 73 74 20 4c 7a 69 70 5f 68 65 61 64 65 72 20 2a 29 28 20 62 75 66 66 65 72 20 2b 20 (const.Lzip_header.*)(.buffer.+.
20580 69 20 29 3b 0a 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 66 75 6c 6c 5f 68 32 20 i.);.........const.bool.full_h2.
205a0 3d 20 62 73 69 7a 65 20 2d 20 69 20 3e 3d 20 4c 7a 69 70 5f 68 65 61 64 65 72 3a 3a 73 69 7a 65 =.bsize.-.i.>=.Lzip_header::size
205c0 3b 0a 20 20 20 20 20 20 20 20 69 66 28 20 68 65 61 64 65 72 32 2e 76 65 72 69 66 79 5f 70 72 65 ;.........if(.header2.verify_pre
205e0 66 69 78 28 20 62 73 69 7a 65 20 2d 20 69 20 29 20 29 09 2f 2f 20 6c 61 73 74 20 6d 65 6d 62 65 fix(.bsize.-.i.).).//.last.membe
20600 72 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 21 66 75 6c r...........{...........if(.!ful
20620 6c 5f 68 32 20 29 20 65 72 72 6f 72 5f 20 3d 20 22 4c 61 73 74 20 6d 65 6d 62 65 72 20 69 6e 20 l_h2.).error_.=."Last.member.in.
20640 69 6e 70 75 74 20 66 69 6c 65 20 69 73 20 74 72 75 6e 63 61 74 65 64 2e 22 3b 0a 20 20 20 20 20 input.file.is.truncated.";......
20660 20 20 20 20 20 65 6c 73 65 20 69 66 28 20 21 63 68 65 63 6b 5f 68 65 61 64 65 72 5f 65 72 72 6f .....else.if(.!check_header_erro
20680 72 28 20 68 65 61 64 65 72 32 20 29 20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 r(.header2.).).............error
206a0 5f 20 3d 20 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 _.=."Last.member.in.input.file.i
206c0 73 20 74 72 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 s.truncated.or.corrupt.";.......
206e0 20 20 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 0a 20 ....retval_.=.2;.return.false;..
20700 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 28 20 21 6c 6f 6f 73 65 5f 74 72 .........}.........if(.!loose_tr
20720 61 69 6c 69 6e 67 20 26 26 20 66 75 6c 6c 5f 68 32 20 26 26 20 68 65 61 64 65 72 32 2e 76 65 72 ailing.&&.full_h2.&&.header2.ver
20740 69 66 79 5f 63 6f 72 72 75 70 74 28 29 20 29 0a 20 20 20 20 20 20 20 20 20 20 7b 20 65 72 72 6f ify_corrupt().)...........{.erro
20760 72 5f 20 3d 20 63 6f 72 72 75 70 74 5f 6d 6d 5f 6d 73 67 3b 20 72 65 74 76 61 6c 5f 20 3d 20 32 r_.=.corrupt_mm_msg;.retval_.=.2
20780 3b 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 20 7d 0a 20 20 20 20 20 20 20 20 69 66 28 20 21 69 ;.return.false;.}.........if(.!i
207a0 67 6e 6f 72 65 5f 74 72 61 69 6c 69 6e 67 20 29 0a 20 20 20 20 20 20 20 20 20 20 7b 20 65 72 72 gnore_trailing.)...........{.err
207c0 6f 72 5f 20 3d 20 74 72 61 69 6c 69 6e 67 5f 6d 73 67 3b 20 72 65 74 76 61 6c 5f 20 3d 20 32 3b or_.=.trailing_msg;.retval_.=.2;
207e0 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 20 7d 0a 20 20 20 20 20 20 20 20 70 6f 73 20 3d 20 69 .return.false;.}.........pos.=.i
20800 70 6f 73 20 2b 20 69 20 2d 20 6d 65 6d 62 65 72 5f 73 69 7a 65 3b 0a 20 20 20 20 20 20 20 20 63 pos.+.i.-.member_size;.........c
20820 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 20 3d 20 onst.unsigned.dictionary_size.=.
20840 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 20 20 20 header.dictionary_size();.......
20860 20 20 6d 65 6d 62 65 72 5f 76 65 63 74 6f 72 2e 70 75 73 68 5f 62 61 63 6b 28 20 4d 65 6d 62 65 ..member_vector.push_back(.Membe
20880 72 28 20 30 2c 20 74 72 61 69 6c 65 72 2e 64 61 74 61 5f 73 69 7a 65 28 29 2c 20 70 6f 73 2c 0a r(.0,.trailer.data_size(),.pos,.
208a0 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 ................................
208c0 20 20 20 20 20 20 20 20 20 6d 65 6d 62 65 72 5f 73 69 7a 65 2c 20 64 69 63 74 69 6f 6e 61 72 79 .........member_size,.dictionary
208e0 5f 73 69 7a 65 20 29 20 29 3b 0a 20 20 20 20 20 20 20 20 69 66 28 20 64 69 63 74 69 6f 6e 61 72 _size.).);.........if(.dictionar
20900 79 5f 73 69 7a 65 5f 20 3c 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 0a 20 20 20 20 y_size_.<.dictionary_size.).....
20920 20 20 20 20 20 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 5f 20 3d 20 64 69 63 74 69 6f 6e ......dictionary_size_.=.diction
20940 61 72 79 5f 73 69 7a 65 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 ary_size;.........return.true;..
20960 20 20 20 20 20 20 20 7d 0a 20 20 20 20 69 66 28 20 69 70 6f 73 20 3d 3d 20 30 20 29 0a 20 20 20 .......}.....if(.ipos.==.0.)....
20980 20 20 20 7b 20 73 65 74 5f 6e 75 6d 5f 65 72 72 6f 72 28 20 22 42 61 64 20 74 72 61 69 6c 65 72 ...{.set_num_error(."Bad.trailer
209a0 20 61 74 20 70 6f 73 20 22 2c 20 70 6f 73 20 2d 20 4c 7a 69 70 5f 74 72 61 69 6c 65 72 3a 3a 73 .at.pos.",.pos.-.Lzip_trailer::s
209c0 69 7a 65 20 29 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 20 7d 0a 20 ize.);.........return.false;.}..
209e0 20 20 20 62 73 69 7a 65 20 3d 20 62 75 66 66 65 72 5f 73 69 7a 65 3b 0a 20 20 20 20 73 65 61 72 ...bsize.=.buffer_size;.....sear
20a00 63 68 5f 73 69 7a 65 20 3d 20 62 73 69 7a 65 20 2d 20 4c 7a 69 70 5f 68 65 61 64 65 72 3a 3a 73 ch_size.=.bsize.-.Lzip_header::s
20a20 69 7a 65 3b 0a 20 20 20 20 72 64 5f 73 69 7a 65 20 3d 20 62 6c 6f 63 6b 5f 73 69 7a 65 3b 0a 20 ize;.....rd_size.=.block_size;..
20a40 20 20 20 69 70 6f 73 20 2d 3d 20 72 64 5f 73 69 7a 65 3b 0a 20 20 20 20 73 74 64 3a 3a 6d 65 6d ...ipos.-=.rd_size;.....std::mem
20a60 63 70 79 28 20 62 75 66 66 65 72 20 2b 20 72 64 5f 73 69 7a 65 2c 20 62 75 66 66 65 72 2c 20 62 cpy(.buffer.+.rd_size,.buffer,.b
20a80 75 66 66 65 72 5f 73 69 7a 65 20 2d 20 72 64 5f 73 69 7a 65 20 29 3b 0a 20 20 20 20 7d 0a 20 20 uffer_size.-.rd_size.);.....}...
20aa0 7d 0a 0a 0a 4c 7a 69 70 5f 69 6e 64 65 78 3a 3a 4c 7a 69 70 5f 69 6e 64 65 78 28 20 63 6f 6e 73 }...Lzip_index::Lzip_index(.cons
20ac0 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
20ae0 61 69 6c 69 6e 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 ailing,.........................
20b00 63 6f 6e 73 74 20 62 6f 6f 6c 20 6c 6f 6f 73 65 5f 74 72 61 69 6c 69 6e 67 20 29 0a 20 20 3a 20 const.bool.loose_trailing.)...:.
20b20 69 6e 73 69 7a 65 28 20 6c 73 65 65 6b 28 20 69 6e 66 64 2c 20 30 2c 20 53 45 45 4b 5f 45 4e 44 insize(.lseek(.infd,.0,.SEEK_END
20b40 20 29 20 29 2c 20 72 65 74 76 61 6c 5f 28 20 30 20 29 2c 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 .).),.retval_(.0.),.dictionary_s
20b60 69 7a 65 5f 28 20 30 20 29 0a 20 20 7b 0a 20 20 69 66 28 20 69 6e 73 69 7a 65 20 3c 20 30 20 29 ize_(.0.)...{...if(.insize.<.0.)
20b80 0a 20 20 20 20 7b 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 .....{.set_errno_error(."Input.f
20ba0 69 6c 65 20 69 73 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 ile.is.not.seekable:.".);.return
20bc0 3b 20 7d 0a 20 20 69 66 28 20 69 6e 73 69 7a 65 20 3c 20 6d 69 6e 5f 6d 65 6d 62 65 72 5f 73 69 ;.}...if(.insize.<.min_member_si
20be0 7a 65 20 29 0a 20 20 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 ze.).....{.error_.=."Input.file.
20c00 69 73 20 74 6f 6f 20 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 is.too.short.";.retval_.=.2;.ret
20c20 75 72 6e 3b 20 7d 0a 20 20 69 66 28 20 69 6e 73 69 7a 65 20 3e 20 49 4e 54 36 34 5f 4d 41 58 20 urn;.}...if(.insize.>.INT64_MAX.
20c40 29 0a 20 20 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 ).....{.error_.=."Input.file.is.
20c60 74 6f 6f 20 6c 6f 6e 67 20 28 32 5e 36 33 20 62 79 74 65 73 20 6f 72 20 6d 6f 72 65 29 2e 22 3b too.long.(2^63.bytes.or.more).";
20c80 0a 20 20 20 20 20 20 72 65 74 76 61 6c 5f 20 3d 20 32 3b 20 72 65 74 75 72 6e 3b 20 7d 0a 0a 20 .......retval_.=.2;.return;.}...
20ca0 20 4c 7a 69 70 5f 68 65 61 64 65 72 20 68 65 61 64 65 72 3b 0a 20 20 69 66 28 20 21 72 65 61 64 .Lzip_header.header;...if(.!read
20cc0 5f 68 65 61 64 65 72 28 20 69 6e 66 64 2c 20 68 65 61 64 65 72 2c 20 30 20 29 20 29 20 72 65 74 _header(.infd,.header,.0.).).ret
20ce0 75 72 6e 3b 0a 20 20 69 66 28 20 63 68 65 63 6b 5f 68 65 61 64 65 72 5f 65 72 72 6f 72 28 20 68 urn;...if(.check_header_error(.h
20d00 65 61 64 65 72 20 29 20 29 20 72 65 74 75 72 6e 3b 0a 0a 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f eader.).).return;....unsigned.lo
20d20 6e 67 20 6c 6f 6e 67 20 70 6f 73 20 3d 20 69 6e 73 69 7a 65 3b 09 2f 2f 20 61 6c 77 61 79 73 20 ng.long.pos.=.insize;.//.always.
20d40 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 45 4f 46 0a 20 20 77 points.to.a.header.or.to.EOF...w
20d60 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 69 7a 65 20 29 0a 20 hile(.pos.>=.min_member_size.)..
20d80 20 20 20 7b 0a 20 20 20 20 4c 7a 69 70 5f 74 72 61 69 6c 65 72 20 74 72 61 69 6c 65 72 3b 0a 20 ...{.....Lzip_trailer.trailer;..
20da0 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 72 61 69 6c 65 72 2e ...if(.seek_read(.infd,.trailer.
20dc0 64 61 74 61 2c 20 4c 7a 69 70 5f 74 72 61 69 6c 65 72 3a 3a 73 69 7a 65 2c 0a 20 20 20 20 20 20 data,.Lzip_trailer::size,.......
20de0 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 73 20 2d 20 4c 7a 69 70 5f 74 72 61 69 6c 65 72 3a .............pos.-.Lzip_trailer:
20e00 3a 73 69 7a 65 20 29 20 21 3d 20 4c 7a 69 70 5f 74 72 61 69 6c 65 72 3a 3a 73 69 7a 65 20 29 0a :size.).!=.Lzip_trailer::size.).
20e20 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 22 45 72 72 6f 72 20 ......{.set_errno_error(."Error.
20e40 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 20 29 3b 20 62 72 65 reading.member.trailer:.".);.bre
20e60 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 6c 6f 6e 67 20 6c 6f ak;.}.....const.unsigned.long.lo
20e80 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 6d 62 65 72 5f ng.member_size.=.trailer.member_
20ea0 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 7a 65 20 3e 20 70 6f size();.....if(.member_size.>.po
20ec0 73 20 7c 7c 20 21 74 72 61 69 6c 65 72 2e 76 65 72 69 66 79 5f 63 6f 6e 73 69 73 74 65 6e 63 79 s.||.!trailer.verify_consistency
20ee0 28 29 20 29 09 2f 2f 20 62 61 64 20 74 72 61 69 6c 65 72 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 ().).//.bad.trailer.......{.....
20f00 20 20 69 66 28 20 6d 65 6d 62 65 72 5f 76 65 63 74 6f 72 2e 65 6d 70 74 79 28 29 20 29 0a 20 20 ..if(.member_vector.empty().)...
20f20 20 20 20 20 20 20 7b 20 69 66 28 20 73 6b 69 70 5f 74 72 61 69 6c 69 6e 67 5f 64 61 74 61 28 20 ......{.if(.skip_trailing_data(.
20f40 69 6e 66 64 2c 20 70 6f 73 2c 20 69 67 6e 6f 72 65 5f 74 72 61 69 6c 69 6e 67 2c 20 6c 6f 6f 73 infd,.pos,.ignore_trailing,.loos
20f60 65 5f 74 72 61 69 6c 69 6e 67 20 29 20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 e_trailing.).).............conti
20f80 6e 75 65 3b 20 65 6c 73 65 20 72 65 74 75 72 6e 3b 20 7d 0a 20 20 20 20 20 20 73 65 74 5f 6e 75 nue;.else.return;.}.......set_nu
20fa0 6d 5f 65 72 72 6f 72 28 20 22 42 61 64 20 74 72 61 69 6c 65 72 20 61 74 20 70 6f 73 20 22 2c 20 m_error(."Bad.trailer.at.pos.",.
20fc0 70 6f 73 20 2d 20 4c 7a 69 70 5f 74 72 61 69 6c 65 72 3a 3a 73 69 7a 65 20 29 3b 0a 20 20 20 20 pos.-.Lzip_trailer::size.);.....
20fe0 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 69 66 28 20 21 72 65 61 64 5f 68 ..break;.......}.....if(.!read_h
21000 65 61 64 65 72 28 20 69 6e 66 64 2c 20 68 65 61 64 65 72 2c 20 70 6f 73 20 2d 20 6d 65 6d 62 65 eader(.infd,.header,.pos.-.membe
21020 72 5f 73 69 7a 65 20 29 20 29 20 62 72 65 61 6b 3b 0a 20 20 20 20 69 66 28 20 21 68 65 61 64 65 r_size.).).break;.....if(.!heade
21040 72 2e 76 65 72 69 66 79 28 29 20 29 09 09 09 09 2f 2f 20 62 61 64 20 68 65 61 64 65 72 0a 20 20 r.verify().)....//.bad.header...
21060 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 65 6d ....{.......if(.member_vector.em
21080 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 69 6c pty().).........{.if(.skip_trail
210a0 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 61 69 ing_data(.infd,.pos,.ignore_trai
210c0 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 20 20 ling,.loose_trailing.).)........
210e0 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 20 20 .....continue;.else.return;.}...
21100 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 61 64 65 72 20 61 ....set_num_error(."Bad.header.a
21120 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 20 29 3b 0a 20 20 t.pos.",.pos.-.member_size.);...
21140 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 20 2d 3d 20 6d 65 ....break;.......}.....pos.-=.me
21160 6d 62 65 72 5f 73 69 7a 65 3b 0a 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 64 69 mber_size;.....const.unsigned.di
21180 63 74 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 ctionary_size.=.header.dictionar
211a0 79 5f 73 69 7a 65 28 29 3b 0a 20 20 20 20 6d 65 6d 62 65 72 5f 76 65 63 74 6f 72 2e 70 75 73 68 y_size();.....member_vector.push
211c0 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 73 _back(.Member(.0,.trailer.data_s
211e0 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 20 ize(),.pos,.....................
21200 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 65 2c 20 64 69 .................member_size,.di
21220 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 20 29 3b 0a 20 20 20 20 69 66 28 20 64 69 63 74 69 ctionary_size.).);.....if(.dicti
21240 6f 6e 61 72 79 5f 73 69 7a 65 5f 20 3c 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 0a onary_size_.<.dictionary_size.).
21260 20 20 20 20 20 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 5f 20 3d 20 64 69 63 74 69 6f 6e ......dictionary_size_.=.diction
21280 61 72 79 5f 73 69 7a 65 3b 0a 20 20 20 20 7d 0a 20 20 69 66 28 20 70 6f 73 20 21 3d 20 30 20 7c ary_size;.....}...if(.pos.!=.0.|
212a0 7c 20 6d 65 6d 62 65 72 5f 76 65 63 74 6f 72 2e 65 6d 70 74 79 28 29 20 29 0a 20 20 20 20 7b 0a |.member_vector.empty().).....{.
212c0 20 20 20 20 6d 65 6d 62 65 72 5f 76 65 63 74 6f 72 2e 63 6c 65 61 72 28 29 3b 0a 20 20 20 20 69 ....member_vector.clear();.....i
212e0 66 28 20 72 65 74 76 61 6c 5f 20 3d 3d 20 30 20 29 20 7b 20 65 72 72 6f 72 5f 20 3d 20 22 43 61 f(.retval_.==.0.).{.error_.=."Ca
21300 6e 27 74 20 63 72 65 61 74 65 20 66 69 6c 65 20 69 6e 64 65 78 2e 22 3b 20 72 65 74 76 61 6c 5f n't.create.file.index.";.retval_
21320 20 3d 20 32 3b 20 7d 0a 20 20 20 20 72 65 74 75 72 6e 3b 0a 20 20 20 20 7d 0a 20 20 73 74 64 3a .=.2;.}.....return;.....}...std:
21340 3a 72 65 76 65 72 73 65 28 20 6d 65 6d 62 65 72 5f 76 65 63 74 6f 72 2e 62 65 67 69 6e 28 29 2c :reverse(.member_vector.begin(),
21360 20 6d 65 6d 62 65 72 5f 76 65 63 74 6f 72 2e 65 6e 64 28 29 20 29 3b 0a 20 20 66 6f 72 28 20 75 .member_vector.end().);...for(.u
21380 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 69 20 3d 20 30 3b 20 3b 20 2b 2b 69 20 29 0a 20 20 20 20 nsigned.long.i.=.0;.;.++i.).....
213a0 7b 0a 20 20 20 20 63 6f 6e 73 74 20 6c 6f 6e 67 20 6c 6f 6e 67 20 65 6e 64 20 3d 20 6d 65 6d 62 {.....const.long.long.end.=.memb
213c0 65 72 5f 76 65 63 74 6f 72 5b 69 5d 2e 64 62 6c 6f 63 6b 2e 65 6e 64 28 29 3b 0a 20 20 20 20 69 er_vector[i].dblock.end();.....i
213e0 66 28 20 65 6e 64 20 3c 20 30 20 7c 7c 20 65 6e 64 20 3e 20 49 4e 54 36 34 5f 4d 41 58 20 29 0a f(.end.<.0.||.end.>.INT64_MAX.).
21400 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 6d 65 6d 62 65 72 5f 76 65 63 74 6f 72 2e 63 6c 65 61 ......{.......member_vector.clea
21420 72 28 29 3b 0a 20 20 20 20 20 20 65 72 72 6f 72 5f 20 3d 20 22 44 61 74 61 20 69 6e 20 69 6e 70 r();.......error_.=."Data.in.inp
21440 75 74 20 66 69 6c 65 20 69 73 20 74 6f 6f 20 6c 6f 6e 67 20 28 32 5e 36 33 20 62 79 74 65 73 20 ut.file.is.too.long.(2^63.bytes.
21460 6f 72 20 6d 6f 72 65 29 2e 22 3b 0a 20 20 20 20 20 20 72 65 74 76 61 6c 5f 20 3d 20 32 3b 20 72 or.more).";.......retval_.=.2;.r
21480 65 74 75 72 6e 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 69 66 28 20 69 20 2b 20 31 20 3e 3d 20 eturn;.......}.....if(.i.+.1.>=.
214a0 6d 65 6d 62 65 72 5f 76 65 63 74 6f 72 2e 73 69 7a 65 28 29 20 29 20 62 72 65 61 6b 3b 0a 20 20 member_vector.size().).break;...
214c0 20 20 6d 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 ..member_vector[i+1].dblock.pos(
214e0 20 65 6e 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 .end.);.....}...}...............
21500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
215a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
215c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
215e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21600 6c 7a 69 70 2d 31 2e 32 33 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.23/COPYING...............
21620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
21680 30 30 34 33 31 35 31 00 31 32 33 34 37 34 32 37 34 35 34 00 30 31 33 34 36 36 00 20 30 00 00 00 0043151.12347427454.013466..0...
216a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
216c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
216e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21700 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
21720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
21740 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
21760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
217a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
217c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
217e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21800 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.
21820 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..................
21840 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
21860 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
21880 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
218a0 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,.
218c0 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
218e0 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.
21900 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
21920 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
21940 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.......................
21960 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
21980 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.
219a0 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
219c0 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,.
219e0 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
21a00 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
21a20 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
21a40 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
21a60 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
21a80 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
21aa0 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
21ac0 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.
21ae0 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
21b00 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
21b20 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
21b40 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
21b60 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
21b80 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,
21ba0 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
21bc0 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
21be0 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
21c00 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
21c20 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
21c40 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
21c60 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
21c80 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
21ca0 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
21cc0 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
21ce0 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.
21d00 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
21d20 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
21d40 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
21d60 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
21d80 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
21da0 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
21dc0 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
21de0 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
21e00 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
21e20 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.
21e40 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
21e60 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.
21e80 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
21ea0 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
21ec0 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
21ee0 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
21f00 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
21f20 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
21f40 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
21f60 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
21f80 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
21fa0 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
21fc0 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
21fe0 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
22000 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..
22020 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
22040 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.
22060 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
22080 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.
220a0 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
220c0 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
220e0 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
22100 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
22120 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.
22140 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
22160 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
22180 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
221a0 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
221c0 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
221e0 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
22200 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
22220 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.
22240 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
22260 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
22280 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
222a0 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
222c0 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
222e0 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
22300 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
22320 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
22340 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.......................
22360 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
22380 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,.
223a0 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...
223c0 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.
223e0 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
22400 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
22420 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
22440 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
22460 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."
22480 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
224a0 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
224c0 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
224e0 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
22500 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
22520 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
22540 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
22560 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
22580 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
225a0 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
225c0 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
225e0 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
22600 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.
22620 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
22640 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
22660 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.
22680 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
226a0 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
226c0 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.
226e0 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
22700 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
22720 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.(
22740 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.
22760 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
22780 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
227a0 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
227c0 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
227e0 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
22800 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,
22820 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
22840 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
22860 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
22880 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
228a0 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.
228c0 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
228e0 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
22900 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.
22920 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
22940 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.
22960 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
22980 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
229a0 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
229c0 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
229e0 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
22a00 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
22a20 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
22a40 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
22a60 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
22a80 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
22aa0 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
22ac0 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
22ae0 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
22b00 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
22b20 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
22b40 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
22b60 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
22b80 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
22ba0 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...
22bc0 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
22be0 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
22c00 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
22c20 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
22c40 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
22c60 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.
22c80 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
22ca0 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
22cc0 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
22ce0 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
22d00 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
22d20 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..
22d40 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
22d60 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.
22d80 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
22da0 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
22dc0 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.
22de0 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
22e00 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
22e20 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.
22e40 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
22e60 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
22e80 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
22ea0 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
22ec0 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
22ee0 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.
22f00 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
22f20 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
22f40 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
22f60 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
22f80 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
22fa0 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
22fc0 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
22fe0 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.
23000 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
23020 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
23040 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.
23060 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.
23080 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.
230a0 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
230c0 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
230e0 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.
23100 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.
23120 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.
23140 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
23160 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
23180 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
231a0 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
231c0 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
231e0 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
23200 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
23220 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
23240 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
23260 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
23280 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
232a0 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
232c0 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
232e0 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
23300 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.
23320 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
23340 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..
23360 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.
23380 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,.
233a0 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.
233c0 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
233e0 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
23400 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
23420 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
23440 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
23460 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
23480 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
234a0 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.
234c0 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
234e0 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
23500 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
23520 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
23540 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
23560 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
23580 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
235a0 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
235c0 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
235e0 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
23600 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
23620 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.
23640 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
23660 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
23680 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.
236a0 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
236c0 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
236e0 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...
23700 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
23720 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
23740 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
23760 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.
23780 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
237a0 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
237c0 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
237e0 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
23800 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
23820 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.
23840 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
23860 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
23880 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
238a0 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
238c0 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
238e0 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.
23900 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.
23920 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.
23940 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
23960 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
23980 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
239a0 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
239c0 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
239e0 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
23a00 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
23a20 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
23a40 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
23a60 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
23a80 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
23aa0 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.
23ac0 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
23ae0 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
23b00 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
23b20 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
23b40 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
23b60 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.
23b80 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
23ba0 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
23bc0 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
23be0 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
23c00 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
23c20 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
23c40 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
23c60 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.
23c80 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
23ca0 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
23cc0 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.
23ce0 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
23d00 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.
23d20 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
23d40 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
23d60 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
23d80 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
23da0 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
23dc0 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
23de0 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
23e00 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
23e20 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
23e40 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
23e60 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.
23e80 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
23ea0 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
23ec0 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
23ee0 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.
23f00 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
23f20 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
23f40 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
23f60 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
23f80 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
23fa0 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
23fc0 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.
23fe0 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
24000 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
24020 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
24040 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
24060 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
24080 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.
240a0 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
240c0 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
240e0 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
24100 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
24120 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
24140 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
24160 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
24180 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
241a0 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
241c0 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
241e0 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
24200 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
24220 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
24240 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
24260 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
24280 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
242a0 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
242c0 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
242e0 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
24300 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
24320 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
24340 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
24360 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.
24380 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
243a0 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
243c0 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
243e0 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
24400 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
24420 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
24440 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
24460 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
24480 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
244a0 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
244c0 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
244e0 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
24500 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
24520 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.
24540 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
24560 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
24580 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
245a0 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
245c0 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
245e0 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
24600 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.
24620 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
24640 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
24660 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
24680 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
246a0 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
246c0 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.
246e0 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
24700 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
24720 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
24740 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
24760 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
24780 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.
247a0 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.
247c0 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
247e0 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
24800 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
24820 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.
24840 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
24860 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
24880 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.
248a0 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
248c0 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
248e0 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
24900 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
24920 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
24940 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.
24960 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
24980 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
249a0 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
249c0 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
249e0 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
24a00 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
24a20 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
24a40 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
24a60 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
24a80 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
24aa0 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
24ac0 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
24ae0 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
24b00 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
24b20 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
24b40 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
24b60 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.
24b80 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
24ba0 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.
24bc0 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
24be0 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
24c00 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
24c20 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
24c40 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
24c60 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
24c80 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
24ca0 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
24cc0 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
24ce0 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.
24d00 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
24d20 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
24d40 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
24d60 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
24d80 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
24da0 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
24dc0 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
24de0 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
24e00 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
24e20 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.
24e40 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..............
24e60 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....
24e80 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
24ea0 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.
24ec0 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
24ee0 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.
24f00 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
24f20 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
24f40 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
24f60 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
24f80 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
24fa0 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
24fc0 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
24fe0 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
25000 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...
25020 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
25040 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
25060 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
25080 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
250a0 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
250c0 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..
250e0 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
25100 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
25120 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,
25140 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
25160 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
25180 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
251a0 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
251c0 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.
251e0 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
25200 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.
25220 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
25240 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
25260 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.
25280 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
252a0 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
252c0 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
252e0 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
25300 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
25320 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
25340 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
25360 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.............
25380 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
253a0 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
253c0 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.
253e0 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
25400 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
25420 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
25440 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
25460 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
25480 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
254a0 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
254c0 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.
254e0 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
25500 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.
25520 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.
25540 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
25560 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.
25580 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..
255a0 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
255c0 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
255e0 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).<
25600 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
25620 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.
25640 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
25660 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.
25680 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
256a0 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
256c0 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
256e0 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
25700 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
25720 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
25740 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,...
25760 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
25780 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
257a0 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.
257c0 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
257e0 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
25800 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
25820 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.
25840 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
25860 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,
25880 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
258a0 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
258c0 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
258e0 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
25900 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.
25920 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
25940 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:...
25960 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
25980 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
259a0 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
259c0 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
259e0 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
25a00 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
25a20 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
25a40 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
25a60 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
25a80 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
25aa0 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
25ac0 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
25ae0 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
25b00 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
25b20 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
25b40 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.
25b60 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
25b80 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
25ba0 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
25bc0 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.
25be0 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
25c00 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
25c20 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:
25c40 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
25c60 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
25c80 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
25ca0 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
25cc0 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
25ce0 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...
25d00 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
25d20 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
25d40 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
25d60 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
25d80 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
25da0 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
25dc0 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
25de0 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
25e00 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
25e20 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
25e40 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.
25e60 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.........................
25e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26000 6c 7a 69 70 2d 31 2e 32 33 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.23/testsuite/............
26020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26060 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
26080 30 30 30 30 30 30 30 00 31 34 32 35 30 34 35 36 33 32 35 00 30 31 34 34 35 32 00 20 35 00 00 00 0000000.14250456325.014452..5...
260a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
260c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
260e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26100 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
26120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
26140 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
26160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
261a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
261c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
261e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26200 6c 7a 69 70 2d 31 2e 32 33 2f 74 65 73 74 73 75 69 74 65 2f 66 6f 78 5f 63 72 63 30 2e 6c 7a 00 lzip-1.23/testsuite/fox_crc0.lz.
26220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
26280 30 30 30 30 31 32 30 00 31 32 33 34 37 34 32 37 34 35 34 00 30 31 36 35 32 33 00 20 30 00 00 00 0000120.12347427454.016523..0...
262a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
262c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
262e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26300 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
26320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
26340 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
26360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
263a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
263c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
263e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26400 4c 5a 49 50 01 0c 00 2a 1a 08 a2 03 25 66 f1 4b 78 c5 a2 05 ff 2e e6 d9 d2 20 1a ad 34 f8 e2 1d LZIP...*....%f.Kx...........4...
26420 e8 41 36 fa dc 06 69 bb 3c e4 10 34 27 09 eb b3 66 e3 ec 97 ea ae 23 ff fe 8e a0 00 00 00 00 00 .A6...i.<..4'...f.....#.........
26440 2d 00 00 00 00 00 00 00 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -.......P.......................
26460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
264a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
264c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
264e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
265a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
265c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
265e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26600 6c 7a 69 70 2d 31 2e 32 33 2f 74 65 73 74 73 75 69 74 65 2f 66 6f 78 5f 76 32 2e 6c 7a 00 00 00 lzip-1.23/testsuite/fox_v2.lz...
26620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
26680 30 30 30 30 31 32 30 00 31 32 33 34 37 34 32 37 34 35 34 00 30 31 36 32 32 33 00 20 30 00 00 00 0000120.12347427454.016223..0...
266a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
266c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
266e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26700 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
26720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
26740 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
26760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
267a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
267c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
267e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26800 4c 5a 49 50 02 0c 00 2a 1a 08 a2 03 25 66 f1 4b 78 c5 a2 05 ff 2e e6 d9 d2 20 1a ad 34 f8 e2 1d LZIP...*....%f.Kx...........4...
26820 e8 41 36 fa dc 06 69 bb 3c e4 10 34 27 09 eb b3 66 e3 ec 97 ea ae 23 ff fe 8e a0 00 6a cc 50 eb .A6...i.<..4'...f.....#.....j.P.
26840 2d 00 00 00 00 00 00 00 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -.......P.......................
26860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
268a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
268c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
268e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
269a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
269c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
269e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26a00 6c 7a 69 70 2d 31 2e 32 33 2f 74 65 73 74 73 75 69 74 65 2f 66 6f 78 5f 64 65 32 30 2e 6c 7a 00 lzip-1.23/testsuite/fox_de20.lz.
26a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26a60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
26a80 30 30 30 30 31 32 30 00 31 32 33 34 37 34 32 37 34 35 34 00 30 31 36 34 32 36 00 20 30 00 00 00 0000120.12347427454.016426..0...
26aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26b00 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
26b20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
26b40 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
26b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26c00 4c 5a 49 50 01 0c 00 2a 1a 08 a2 03 25 66 f1 4b 78 c5 a2 05 fe 2e e6 d9 d2 20 1a ad 34 f8 e2 1d LZIP...*....%f.Kx...........4...
26c20 e8 41 36 fa dc 06 69 bb 3c e4 10 34 27 09 eb b3 66 e3 ec 97 ea ae 23 ff fe 8e a0 00 6a cc 50 eb .A6...i.<..4'...f.....#.....j.P.
26c40 2d 00 00 00 00 00 00 00 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -.......P.......................
26c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26e00 6c 7a 69 70 2d 31 2e 32 33 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.23/testsuite/test.txt.lz.
26e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26e60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
26e80 30 30 31 36 33 32 30 00 31 32 33 34 37 34 32 37 34 35 34 00 30 31 36 36 32 36 00 20 30 00 00 00 0016320.12347427454.016626..0...
26ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26f00 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
26f20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
26f40 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
26f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27000 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........
27020 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..".}........
27040 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.^..
27060 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.....
27080 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.
270a0 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.
270c0 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.
270e0 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.?
27100 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
27120 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..
27140 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~...
27160 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..
27180 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
271a0 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
271c0 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
271e0 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...
27200 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%
27220 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..
27240 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...........
27260 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...
27280 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.,'..<...
272a0 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...
272c0 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
272e0 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......._<...
27300 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%..
27320 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.
27340 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$[.......
27360 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....
27380 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.@..
273a0 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.......
273c0 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
273e0 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......
27400 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
27420 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>...
27440 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..
27460 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
27480 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...
274a0 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
274c0 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.
274e0 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
27500 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.....
27520 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.
27540 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...
27560 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.,..
27580 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.'....
275a0 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........|
275c0 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
275e0 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..
27600 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.
27620 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..)
27640 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.!....
27660 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
27680 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
276a0 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
276c0 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.....
276e0 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'
27700 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.....
27720 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.%.
27740 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..
27760 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
27780 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
277a0 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
277c0 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.
277e0 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...
27800 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..
27820 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......
27840 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.
27860 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..:....{..
27880 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.
278a0 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.'.
278c0 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]
278e0 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.....{
27900 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.+.
27920 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
27940 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.
27960 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..
27980 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.
279a0 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
279c0 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...
279e0 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
27a00 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....]
27a20 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*.(
27a40 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(.
27a60 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
27a80 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...
27aa0 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...
27ac0 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..
27ae0 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..........)../..
27b00 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..'.
27b20 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."
27b40 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..
27b60 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.......
27b80 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
27ba0 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....
27bc0 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..<
27be0 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._#..
27c00 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..#..^.=.
27c20 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..
27c40 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'........
27c60 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
27c80 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.
27ca0 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..
27cc0 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,..........
27ce0 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
27d00 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.~........&.
27d20 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
27d40 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...
27d60 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@.|+...>:...
27d80 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.."..
27da0 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
27dc0 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..>.
27de0 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..??........
27e00 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.
27e20 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
27e40 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
27e60 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
27e80 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
27ea0 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.
27ec0 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<\...\......=
27ee0 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.
27f00 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
27f20 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
27f40 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...=
27f60 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..
27f80 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.
27fa0 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..
27fc0 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.'.......+........".%..;.....
27fe0 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
28000 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
28020 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
28040 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..
28060 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
28080 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.#
280a0 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..
280c0 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.
280e0 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....%._......[........:!
28100 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..
28120 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.......
28140 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.
28160 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..
28180 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...
281a0 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..`.
281c0 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
281e0 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
28200 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
28220 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....
28240 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.......-...?$:
28260 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
28280 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.
282a0 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...
282c0 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!.
282e0 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........
28300 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
28320 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.
28340 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.
28360 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...%....~..`
28380 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.:
283a0 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.......*.
283c0 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...
283e0 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
28400 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....
28420 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}.:.
28440 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
28460 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..
28480 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..
284a0 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~+
284c0 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....
284e0 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..
28500 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......^.&...
28520 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.%
28540 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.
28560 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...%.)
28580 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..
285a0 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..
285c0 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
285e0 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..
28600 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$..}.
28620 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.....
28640 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<.
28660 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..
28680 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...
286a0 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..
286c0 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
286e0 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
28700 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>.
28720 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
28740 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.*#`.
28760 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..{.
28780 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+..\...
287a0 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
287c0 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
287e0 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!.....
28800 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...
28820 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
28840 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$.......+.
28860 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
28880 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....
288a0 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..
288c0 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
288e0 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._..
28900 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.
28920 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
28940 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.
28960 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...(
28980 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
289a0 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
289c0 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
289e0 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..
28a00 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.
28a20 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..
28a40 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.
28a60 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..
28a80 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.......@...'....
28aa0 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..{.
28ac0 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..
28ae0 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
28b00 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.
28b20 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.
28b40 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;....
28b60 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...
28b80 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.
28ba0 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
28bc0 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
28be0 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+
28c00 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....
28c20 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
28c40 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...
28c60 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.....,
28c80 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
28ca0 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...
28cc0 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 $...............................
28ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28e00 6c 7a 69 70 2d 31 2e 32 33 2f 74 65 73 74 73 75 69 74 65 2f 66 6f 78 2e 6c 7a 00 00 00 00 00 00 lzip-1.23/testsuite/fox.lz......
28e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28e60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
28e80 30 30 30 30 31 32 30 00 31 32 33 34 37 34 32 37 34 35 34 00 30 31 35 36 31 34 00 20 30 00 00 00 0000120.12347427454.015614..0...
28ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28f00 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
28f20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
28f40 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
28f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29000 4c 5a 49 50 01 0c 00 2a 1a 08 a2 03 25 66 f1 4b 78 c5 a2 05 ff 2e e6 d9 d2 20 1a ad 34 f8 e2 1d LZIP...*....%f.Kx...........4...
29020 e8 41 36 fa dc 06 69 bb 3c e4 10 34 27 09 eb b3 66 e3 ec 97 ea ae 23 ff fe 8e a0 00 6a cc 50 eb .A6...i.<..4'...f.....#.....j.P.
29040 2d 00 00 00 00 00 00 00 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -.......P.......................
29060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
290a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
290c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
290e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
291a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
291c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
291e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29200 6c 7a 69 70 2d 31 2e 32 33 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.23/testsuite/test.txt....
29220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
29280 30 31 30 37 30 34 34 00 31 32 33 34 37 34 32 37 34 35 34 00 30 31 36 32 30 36 00 20 30 00 00 00 0107044.12347427454.016206..0...
292a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
292c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
292e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29300 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
29320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
29340 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
29360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
293a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
293c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
293e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29400 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.
29420 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..................
29440 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
29460 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
29480 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
294a0 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,.
294c0 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
294e0 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.
29500 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
29520 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
29540 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.......................
29560 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
29580 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.
295a0 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
295c0 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,.
295e0 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
29600 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
29620 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
29640 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
29660 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
29680 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
296a0 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
296c0 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.
296e0 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
29700 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
29720 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
29740 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
29760 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
29780 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,
297a0 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
297c0 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
297e0 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
29800 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
29820 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
29840 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
29860 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
29880 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
298a0 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
298c0 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
298e0 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.
29900 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
29920 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
29940 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
29960 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
29980 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
299a0 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
299c0 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
299e0 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
29a00 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
29a20 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.
29a40 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
29a60 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.
29a80 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
29aa0 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
29ac0 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
29ae0 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
29b00 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
29b20 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
29b40 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
29b60 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
29b80 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
29ba0 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
29bc0 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
29be0 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
29c00 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..
29c20 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
29c40 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.
29c60 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
29c80 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.
29ca0 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
29cc0 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
29ce0 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
29d00 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
29d20 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.
29d40 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
29d60 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
29d80 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
29da0 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
29dc0 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
29de0 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
29e00 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
29e20 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.
29e40 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
29e60 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
29e80 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
29ea0 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
29ec0 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
29ee0 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
29f00 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
29f20 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
29f40 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.......................
29f60 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
29f80 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,.
29fa0 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...
29fc0 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.
29fe0 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
2a000 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
2a020 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
2a040 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
2a060 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."
2a080 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
2a0a0 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
2a0c0 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
2a0e0 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
2a100 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
2a120 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
2a140 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
2a160 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
2a180 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
2a1a0 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
2a1c0 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
2a1e0 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
2a200 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.
2a220 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
2a240 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
2a260 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.
2a280 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
2a2a0 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
2a2c0 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.
2a2e0 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
2a300 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
2a320 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.(
2a340 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.
2a360 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
2a380 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
2a3a0 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
2a3c0 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
2a3e0 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
2a400 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,
2a420 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
2a440 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
2a460 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
2a480 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
2a4a0 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.
2a4c0 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
2a4e0 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
2a500 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.
2a520 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
2a540 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.
2a560 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
2a580 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
2a5a0 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
2a5c0 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
2a5e0 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
2a600 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
2a620 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
2a640 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
2a660 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
2a680 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
2a6a0 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
2a6c0 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
2a6e0 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
2a700 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
2a720 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
2a740 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
2a760 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
2a780 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
2a7a0 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...
2a7c0 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
2a7e0 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
2a800 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
2a820 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
2a840 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
2a860 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.
2a880 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
2a8a0 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
2a8c0 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
2a8e0 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
2a900 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
2a920 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..
2a940 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
2a960 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.
2a980 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
2a9a0 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
2a9c0 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.
2a9e0 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
2aa00 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
2aa20 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.
2aa40 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
2aa60 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
2aa80 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
2aaa0 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
2aac0 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
2aae0 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.
2ab00 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
2ab20 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
2ab40 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
2ab60 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
2ab80 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
2aba0 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
2abc0 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
2abe0 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.
2ac00 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
2ac20 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
2ac40 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.
2ac60 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.
2ac80 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.
2aca0 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
2acc0 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
2ace0 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.
2ad00 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.
2ad20 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.
2ad40 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
2ad60 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
2ad80 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
2ada0 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
2adc0 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
2ade0 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
2ae00 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
2ae20 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
2ae40 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
2ae60 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
2ae80 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
2aea0 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
2aec0 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
2aee0 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
2af00 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.
2af20 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
2af40 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..
2af60 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.
2af80 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,.
2afa0 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.
2afc0 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
2afe0 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
2b000 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
2b020 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
2b040 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
2b060 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
2b080 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
2b0a0 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.
2b0c0 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
2b0e0 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
2b100 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
2b120 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
2b140 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
2b160 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
2b180 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
2b1a0 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
2b1c0 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
2b1e0 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
2b200 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
2b220 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.
2b240 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
2b260 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
2b280 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.
2b2a0 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
2b2c0 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
2b2e0 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...
2b300 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
2b320 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
2b340 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
2b360 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.
2b380 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
2b3a0 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
2b3c0 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
2b3e0 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
2b400 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
2b420 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.
2b440 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
2b460 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
2b480 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
2b4a0 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
2b4c0 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
2b4e0 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.
2b500 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.
2b520 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.
2b540 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
2b560 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
2b580 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
2b5a0 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
2b5c0 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
2b5e0 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
2b600 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
2b620 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
2b640 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
2b660 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
2b680 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
2b6a0 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.
2b6c0 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
2b6e0 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
2b700 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
2b720 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
2b740 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
2b760 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.
2b780 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
2b7a0 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
2b7c0 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
2b7e0 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
2b800 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
2b820 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
2b840 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
2b860 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.
2b880 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
2b8a0 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
2b8c0 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.
2b8e0 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
2b900 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.
2b920 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
2b940 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
2b960 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
2b980 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
2b9a0 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
2b9c0 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
2b9e0 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
2ba00 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
2ba20 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
2ba40 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
2ba60 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.
2ba80 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
2baa0 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
2bac0 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
2bae0 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.
2bb00 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
2bb20 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
2bb40 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
2bb60 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
2bb80 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
2bba0 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
2bbc0 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.
2bbe0 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
2bc00 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
2bc20 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
2bc40 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
2bc60 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
2bc80 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.
2bca0 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
2bcc0 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
2bce0 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
2bd00 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
2bd20 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
2bd40 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
2bd60 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
2bd80 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
2bda0 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
2bdc0 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
2bde0 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
2be00 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
2be20 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
2be40 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
2be60 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
2be80 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
2bea0 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
2bec0 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
2bee0 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
2bf00 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
2bf20 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
2bf40 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
2bf60 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.
2bf80 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
2bfa0 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
2bfc0 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
2bfe0 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
2c000 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
2c020 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
2c040 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
2c060 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
2c080 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
2c0a0 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
2c0c0 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
2c0e0 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
2c100 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
2c120 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.
2c140 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
2c160 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
2c180 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
2c1a0 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
2c1c0 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
2c1e0 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
2c200 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.
2c220 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
2c240 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
2c260 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
2c280 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
2c2a0 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
2c2c0 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.
2c2e0 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
2c300 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
2c320 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
2c340 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
2c360 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
2c380 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.
2c3a0 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.
2c3c0 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
2c3e0 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
2c400 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
2c420 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.
2c440 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
2c460 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
2c480 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.
2c4a0 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
2c4c0 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
2c4e0 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
2c500 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
2c520 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
2c540 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.
2c560 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
2c580 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
2c5a0 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
2c5c0 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
2c5e0 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
2c600 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
2c620 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
2c640 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
2c660 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
2c680 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
2c6a0 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
2c6c0 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
2c6e0 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
2c700 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
2c720 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
2c740 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
2c760 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.
2c780 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
2c7a0 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.
2c7c0 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
2c7e0 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
2c800 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
2c820 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
2c840 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
2c860 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
2c880 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
2c8a0 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
2c8c0 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
2c8e0 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.
2c900 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
2c920 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
2c940 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
2c960 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
2c980 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
2c9a0 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
2c9c0 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
2c9e0 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
2ca00 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
2ca20 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.
2ca40 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..............
2ca60 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....
2ca80 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
2caa0 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.
2cac0 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
2cae0 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.
2cb00 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
2cb20 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
2cb40 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
2cb60 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
2cb80 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
2cba0 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
2cbc0 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
2cbe0 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
2cc00 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...
2cc20 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
2cc40 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
2cc60 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
2cc80 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
2cca0 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
2ccc0 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..
2cce0 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
2cd00 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
2cd20 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,
2cd40 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
2cd60 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
2cd80 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
2cda0 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
2cdc0 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.
2cde0 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
2ce00 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.
2ce20 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
2ce40 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
2ce60 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.
2ce80 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
2cea0 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
2cec0 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
2cee0 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
2cf00 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
2cf20 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
2cf40 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
2cf60 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.............
2cf80 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
2cfa0 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
2cfc0 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.
2cfe0 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
2d000 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
2d020 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
2d040 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
2d060 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
2d080 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
2d0a0 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
2d0c0 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.
2d0e0 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
2d100 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.
2d120 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.
2d140 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
2d160 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.
2d180 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..
2d1a0 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
2d1c0 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
2d1e0 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).<
2d200 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
2d220 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.
2d240 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
2d260 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.
2d280 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
2d2a0 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
2d2c0 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
2d2e0 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
2d300 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
2d320 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
2d340 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,...
2d360 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
2d380 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
2d3a0 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.
2d3c0 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
2d3e0 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
2d400 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
2d420 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.
2d440 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
2d460 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,
2d480 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
2d4a0 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
2d4c0 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
2d4e0 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
2d500 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.
2d520 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
2d540 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:...
2d560 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
2d580 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
2d5a0 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
2d5c0 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
2d5e0 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
2d600 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
2d620 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
2d640 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
2d660 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
2d680 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
2d6a0 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
2d6c0 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
2d6e0 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
2d700 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
2d720 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
2d740 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.
2d760 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
2d780 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
2d7a0 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
2d7c0 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.
2d7e0 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
2d800 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
2d820 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:
2d840 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
2d860 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
2d880 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
2d8a0 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
2d8c0 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
2d8e0 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...
2d900 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
2d920 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
2d940 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
2d960 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
2d980 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
2d9a0 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
2d9c0 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
2d9e0 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
2da00 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
2da20 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
2da40 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.
2da60 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
2da80 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.........
2daa0 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.
2dac0 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
2dae0 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.
2db00 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
2db20 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..
2db40 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
2db60 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...
2db80 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
2dba0 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........
2dbc0 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
2dbe0 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
2dc00 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.
2dc20 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
2dc40 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
2dc60 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.
2dc80 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
2dca0 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
2dcc0 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.
2dce0 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
2dd00 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
2dd20 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
2dd40 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
2dd60 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
2dd80 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
2dda0 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
2ddc0 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
2dde0 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.
2de00 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.
2de20 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
2de40 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
2de60 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
2de80 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
2dea0 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
2dec0 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
2dee0 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
2df00 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
2df20 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
2df40 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
2df60 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
2df80 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
2dfa0 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
2dfc0 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
2dfe0 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.
2e000 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.
2e020 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
2e040 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
2e060 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
2e080 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
2e0a0 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,
2e0c0 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
2e0e0 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
2e100 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
2e120 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.
2e140 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
2e160 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
2e180 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
2e1a0 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.
2e1c0 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
2e1e0 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
2e200 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
2e220 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
2e240 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
2e260 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.
2e280 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
2e2a0 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.
2e2c0 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
2e2e0 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
2e300 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
2e320 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
2e340 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
2e360 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
2e380 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.
2e3a0 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.
2e3c0 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
2e3e0 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
2e400 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
2e420 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
2e440 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
2e460 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...
2e480 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
2e4a0 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
2e4c0 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
2e4e0 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
2e500 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
2e520 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.
2e540 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
2e560 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
2e580 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
2e5a0 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
2e5c0 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
2e5e0 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......................
2e600 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...
2e620 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
2e640 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
2e660 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
2e680 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
2e6a0 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
2e6c0 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
2e6e0 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
2e700 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
2e720 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
2e740 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
2e760 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".
2e780 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
2e7a0 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
2e7c0 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
2e7e0 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
2e800 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
2e820 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
2e840 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
2e860 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
2e880 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
2e8a0 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
2e8c0 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
2e8e0 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
2e900 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.
2e920 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
2e940 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
2e960 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
2e980 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
2e9a0 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
2e9c0 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
2e9e0 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.
2ea00 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
2ea20 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
2ea40 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
2ea60 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
2ea80 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.
2eaa0 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
2eac0 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
2eae0 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
2eb00 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
2eb20 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
2eb40 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
2eb60 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.
2eb80 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
2eba0 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
2ebc0 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.
2ebe0 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..
2ec00 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
2ec20 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
2ec40 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
2ec60 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
2ec80 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
2eca0 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
2ecc0 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
2ece0 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.
2ed00 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
2ed20 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
2ed40 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
2ed60 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
2ed80 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
2eda0 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
2edc0 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
2ede0 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
2ee00 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
2ee20 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....
2ee40 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.
2ee60 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,.
2ee80 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
2eea0 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
2eec0 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,.
2eee0 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.
2ef00 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
2ef20 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
2ef40 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
2ef60 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
2ef80 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
2efa0 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
2efc0 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
2efe0 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
2f000 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
2f020 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
2f040 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
2f060 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
2f080 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
2f0a0 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
2f0c0 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....
2f0e0 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.
2f100 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
2f120 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
2f140 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
2f160 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
2f180 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.
2f1a0 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
2f1c0 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
2f1e0 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.
2f200 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.
2f220 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
2f240 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
2f260 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
2f280 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
2f2a0 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
2f2c0 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
2f2e0 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
2f300 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.
2f320 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
2f340 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
2f360 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
2f380 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
2f3a0 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
2f3c0 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
2f3e0 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
2f400 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
2f420 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
2f440 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
2f460 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.
2f480 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
2f4a0 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.
2f4c0 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
2f4e0 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
2f500 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
2f520 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
2f540 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
2f560 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
2f580 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
2f5a0 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
2f5c0 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
2f5e0 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
2f600 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
2f620 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
2f640 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
2f660 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
2f680 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).
2f6a0 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
2f6c0 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
2f6e0 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
2f700 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:....
2f720 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
2f740 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
2f760 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
2f780 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
2f7a0 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.
2f7c0 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
2f7e0 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,......
2f800 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
2f820 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
2f840 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
2f860 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.
2f880 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
2f8a0 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
2f8c0 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
2f8e0 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
2f900 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
2f920 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.
2f940 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
2f960 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
2f980 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
2f9a0 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
2f9c0 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
2f9e0 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
2fa00 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.
2fa20 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
2fa40 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
2fa60 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.
2fa80 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
2faa0 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
2fac0 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.
2fae0 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
2fb00 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
2fb20 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
2fb40 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.
2fb60 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
2fb80 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.
2fba0 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
2fbc0 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
2fbe0 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
2fc00 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
2fc20 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
2fc40 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
2fc60 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
2fc80 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
2fca0 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
2fcc0 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,
2fce0 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
2fd00 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
2fd20 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
2fd40 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.....
2fd60 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
2fd80 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
2fda0 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
2fdc0 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
2fde0 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
2fe00 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
2fe20 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
2fe40 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
2fe60 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
2fe80 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...
2fea0 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,
2fec0 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
2fee0 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
2ff00 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
2ff20 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
2ff40 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
2ff60 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
2ff80 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
2ffa0 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
2ffc0 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
2ffe0 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
30000 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
30020 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
30040 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
30060 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
30080 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
300a0 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,.
300c0 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
300e0 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.
30100 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.
30120 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.
30140 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
30160 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
30180 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.
301a0 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
301c0 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
301e0 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.
30200 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
30220 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
30240 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
30260 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
30280 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
302a0 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.
302c0 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
302e0 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
30300 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
30320 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
30340 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
30360 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
30380 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
303a0 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.
303c0 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
303e0 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
30400 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
30420 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
30440 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..
30460 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
30480 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
304a0 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.
304c0 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
304e0 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
30500 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
30520 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
30540 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
30560 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
30580 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
305a0 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
305c0 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
305e0 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
30600 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
30620 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
30640 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
30660 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
30680 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
306a0 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
306c0 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
306e0 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
30700 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
30720 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
30740 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
30760 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
30780 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
307a0 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
307c0 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
307e0 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
30800 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
30820 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
30840 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.
30860 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.
30880 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
308a0 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.
308c0 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
308e0 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
30900 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
30920 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
30940 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
30960 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
30980 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
309a0 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
309c0 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
309e0 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.
30a00 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/
30a20 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.
30a40 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.
30a60 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
30a80 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
30aa0 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.
30ac0 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
30ae0 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
30b00 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......
30b20 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
30b40 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.
30b60 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.
30b80 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
30ba0 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
30bc0 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
30be0 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
30c00 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
30c20 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
30c40 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
30c60 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
30c80 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
30ca0 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..
30cc0 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.
30ce0 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
30d00 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
30d20 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
30d40 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
30d60 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
30d80 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.
30da0 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
30dc0 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
30de0 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....
30e00 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
30e20 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.
30e40 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
30e60 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
30e80 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"
30ea0 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
30ec0 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
30ee0 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
30f00 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
30f20 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.
30f40 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
30f60 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.
30f80 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
30fa0 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
30fc0 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.
30fe0 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
31000 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
31020 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
31040 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.
31060 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
31080 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
310a0 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
310c0 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;.
310e0 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
31100 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
31120 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
31140 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
31160 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
31180 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
311a0 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......
311c0 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
311e0 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
31200 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,.
31220 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
31240 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
31260 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..
31280 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.
312a0 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
312c0 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.
312e0 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
31300 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,.
31320 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
31340 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
31360 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
31380 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
313a0 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
313c0 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..
313e0 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
31400 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
31420 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
31440 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
31460 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.
31480 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
314a0 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
314c0 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
314e0 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
31500 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.
31520 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
31540 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
31560 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
31580 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
315a0 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
315c0 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
315e0 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
31600 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
31620 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
31640 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
31660 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
31680 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
316a0 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..
316c0 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
316e0 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.............
31700 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
31720 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
31740 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
31760 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
31780 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.
317a0 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
317c0 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.
317e0 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
31800 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
31820 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
31840 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
31860 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
31880 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
318a0 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;
318c0 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
318e0 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.
31900 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
31920 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
31940 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
31960 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
31980 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
319a0 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
319c0 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
319e0 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.
31a00 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
31a20 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.....
31a40 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
31a60 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,.
31a80 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
31aa0 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.
31ac0 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.
31ae0 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
31b00 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
31b20 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
31b40 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
31b60 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
31b80 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
31ba0 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
31bc0 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
31be0 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.
31c00 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.
31c20 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/>..
31c40 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
31c60 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.
31c80 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
31ca0 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
31cc0 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
31ce0 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:...
31d00 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
31d20 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
31d40 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.
31d60 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
31d80 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.
31da0 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
31dc0 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
31de0 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.
31e00 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
31e20 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.
31e40 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..
31e60 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
31e80 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
31ea0 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
31ec0 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';
31ee0 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
31f00 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.
31f20 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
31f40 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.
31f60 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
31f80 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
31fa0 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..
31fc0 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
31fe0 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
32000 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
32020 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
32040 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.
32060 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
32080 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
320a0 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
320c0 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
320e0 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
32100 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
32120 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
32140 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
32160 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.
32180 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
321a0 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
321c0 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
321e0 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
32200 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
32220 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...............................
32240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
322a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
322c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
322e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
323a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
323c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
323e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32400 6c 7a 69 70 2d 31 2e 32 33 2f 74 65 73 74 73 75 69 74 65 2f 66 6f 78 5f 62 63 72 63 2e 6c 7a 00 lzip-1.23/testsuite/fox_bcrc.lz.
32420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
32480 30 30 30 30 31 32 30 00 31 32 33 34 37 34 32 37 34 35 34 00 30 31 36 36 30 35 00 20 30 00 00 00 0000120.12347427454.016605..0...
324a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
324c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
324e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32500 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
32520 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
32540 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
32560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
325a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
325c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
325e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32600 4c 5a 49 50 01 0c 00 2a 1a 08 a2 03 25 66 f1 4b 78 c5 a2 05 ff 2e e6 d9 d2 20 1a ad 34 f8 e2 1d LZIP...*....%f.Kx...........4...
32620 e8 41 36 fa dc 06 69 bb 3c e4 10 34 27 09 eb b3 66 e3 ec 97 ea ae 23 ff fe 8e a0 00 6b cc 50 eb .A6...i.<..4'...f.....#.....k.P.
32640 2d 00 00 00 00 00 00 00 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -.......P.......................
32660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
326a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
326c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
326e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
327a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
327c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
327e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32800 6c 7a 69 70 2d 31 2e 32 33 2f 74 65 73 74 73 75 69 74 65 2f 74 65 73 74 5f 65 6d 2e 74 78 74 2e lzip-1.23/testsuite/test_em.txt.
32820 6c 7a 00 00 00 00 00 00 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..............................
32840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32860 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
32880 30 30 33 33 33 31 30 00 31 32 33 34 37 34 32 37 34 35 34 00 30 31 37 33 30 35 00 20 30 00 00 00 0033310.12347427454.017305..0...
328a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
328c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
328e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32900 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
32920 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
32940 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
32960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
329a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
329c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
329e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
32a00 4c 5a 49 50 01 0c 00 83 ff fb ff ff c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 24 00 00 00 LZIP........................$...
32a20 00 00 00 00 4c 5a 49 50 01 8e 00 10 6d fe 47 27 15 f8 22 27 f9 79 a3 cb c0 53 0a 54 9d ea 93 0e ....LZIP....m.G'.."'.y...S.T....
32a40 b0 93 c5 dc 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 .....@.H.V.0.9G}..=...V..".}....
32a60 08 2e 0a cc 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 .......pII.S...P`..S4..........L
32a80 16 5e d7 e7 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 .^...V.6......T....@g.}..*....d.
32aa0 14 8d 04 9a 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 ..........g...0v.!.j".....6.....
32ac0 19 f5 64 1a 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 ..d........r3&.ks..../^^..|W,Z*.
32ae0 8c 80 6b ef 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 ..k.DZ..e..w(.#.....I.<.........
32b00 12 d6 71 f1 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 ..q.?.iV".wxC.;O.w.=...hJ...p..e
32b20 29 74 ba 3f 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 )t.?q.5)}....C........4n.2..X.L.
32b40 10 52 25 71 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 .R%q..'6....).u...v/...~.L.....e
32b60 99 6e 98 0b 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 .n..K<....+B...z:.G....0Y..(-..C
32b80 7e c2 f3 e3 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 ~......8.j.W..y.....L>..D.)./.O.
32ba0 83 33 b8 fe 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 .3......B.../..k.2..M........W..
32bc0 fa 23 1d 59 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 .#.Y.....c../S..N.........?y...9
32be0 bb e5 eb 58 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 ...Xuy....C.b=.9..T.r^>;S.......
32c00 3e a3 b6 4a 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 >..JS5..`.........[....x.}..J..v
32c20 6e 88 ba fa 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 n...X....jb.7"/%.X0S:1C..r...x..
32c40 b0 c6 47 25 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 ..G%....w......p*..nxKU!.....=._
32c60 e0 43 e9 ad 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 .C..0..*..%.9..Je....x.'Q.......
32c80 cd 2e 12 aa 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 .....t.,P....x...3.1...=..3...&.
32ca0 73 bf 0b 13 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 s...d...h...e{.:5..*x8R:.<p.,'..
32cc0 3c f7 d0 16 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 <...$.h.@C.r.5..N..{.q....wM.dy_
32ce0 62 fc a1 1e 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 b...:%x.x.....q.s..j*n....(.....
32d00 b4 20 d5 64 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 ...d.7.yj..%..WKJ..:4(.3......._
32d20 3c e0 f8 b1 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 <...\..eX.sv......w.Y>.7.,u..(_F
32d40 69 25 d0 8e 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 i%..Q.rL.._......1VQ.t..~1.,.ZA.
32d60 e3 a1 6d 91 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 ..m.SW..z...|iM..eI.O5....b$[...
32d80 8a 1f cb b6 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 ......D..F.]9'....X.....)M...tOx
32da0 11 b8 fe ef 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 ....!........<.T..O.T.....]F+h.O
32dc0 0d 40 92 ab 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 .@....d.....`........D.y.>{.B...
32de0 0d 01 1f 8a 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 ......y.7..yB?.*....e..h.S.M....
32e00 90 3b 77 58 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 .;wX.D....s^H/.u..I..s);.gr..H..
32e20 08 d7 8d dd 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 ....g...............=..{r.j.]...
32e40 1c e9 70 4b 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 ..pK@{..A.:...C.t.H...o.....zdn1
32e60 3e 1e bf 05 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 >....y..&S...*...T?'>.%qL...U...
32e80 69 73 19 e1 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 is..F.'..`;*q.2.l.Y3#..,...Q....
32ea0 80 93 15 77 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 ...wDX..<v.&#....wiq>...'w.6e#..
32ec0 39 a3 12 8d 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 9.....Ec]9...).1..Y.:ej....*...v
32ee0 1e e8 46 47 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 ..FG...:./d..x.e.4.?..1.P.=...4.
32f00 9b bd 33 81 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 ..3....nlI...@Gzi.|.....b'..a.b.
32f20 99 cb 59 54 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 ..YT.$D.....)...>.k#.n.j......s.
32f40 d0 f9 ba 09 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 ....mb`,`v4...n..<....W....<....
32f60 10 b5 73 16 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 ..s..,..z).#..rG..........;l....
32f80 57 bb cb ee 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 W........<a.h.eT.r$1/..V.....r.k
32fa0 0c 2c d3 c4 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 .,...B......XWm.......?...q<<S.'
32fc0 e8 8d ce df 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 ....^.95.&+}....2S...}...i6.....
32fe0 d1 8b bd 7c 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 ...|M.>....Q....;$...4J...y..v..
33000 6b af b7 41 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 k..A..L.1.......w.>.@)F~C.F}W.r.
33020 2d 48 00 a1 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 -H...w.Q.....Q.61.az.<ul......H.
33040 16 2e 6e d9 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 ..n...3...,."@......U..T.."....F
33060 4f 13 c8 29 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 O..)tH...#P...&.,.s.3.m:....(1.!
33080 96 8d fa e2 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 ....y.o#pvH...mZT.v....z..O..uq.
330a0 aa 55 d7 5a 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 .U.Z.I...|.....g.0.#V.k.....M'.,
330c0 39 f5 9b 5a 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 9..Z...$.....x.z*..6....,..B...n
330e0 18 f6 5d 53 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 ..]SF)[..B.....+.....!r.FNFE@.N.
33100 bd b9 1a cb 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 .....a..q'.^ud..R?.\.|...P....P"
33120 5b 10 49 27 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 [.I'e....D..5....k..........gyi.
33140 e1 cf 0d 02 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 ....oL......r..}.>..........O.P.
33160 71 b0 25 06 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 q.%.f.ajSs..6E3Dg...[.X........x
33180 17 4d 94 a8 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 .M...........R@<w.J.../X.K.U...[
331a0 c3 89 f9 74 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 ...tQ....gH.{0b...HN2.q.~..Y$3xm
331c0 6a 7d d9 6a 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 j}.j.1.*...,.~.aea4.Q....<.+.&<g
331e0 c5 0a 3c 53 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 ..<S.ojU$.l.m.......n....\......
33200 d3 ab 69 20 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 ..i..X..9..B..{.QI'...q.......j.
33220 48 0a f3 19 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 H......C..X.....w.....t..C.Z....
33240 d6 6d eb 96 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 .m...%...........2X..#.{.....e..
33260 0a e2 a4 c1 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 .......N..l.....{.+Ye?)']..I.]..
33280 6a 6a 4d 84 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 jjM..Y..R;.H.V.8.}....`9.R..:...
332a0 f0 7b f8 8e 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 .{........Ro......H....}..,,6..k
332c0 8d fa 6f 16 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 ..o.(..|...p+]..~.......R......Q
332e0 35 f4 27 0b 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 5.'..#....t.!...O.@...[.Y...pT..
33300 16 c8 35 5d 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 ..5]...=.............|"q.{..9W..
33320 dd b4 a7 7b 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 ...{..I..|"-.]....,.;.V...h.....
33340 65 08 2b 83 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 e.+.....5...S..k...\...b;.#.9._.
33360 47 26 84 6c 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 G&.l..YE.L...7"..U...E...+....y.
33380 ba 63 32 92 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 .c2.w...L....h..V.....n......&Pu
333a0 cc 38 e4 ff 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 .8....u........0.OXq..-...3g...X
333c0 bc 72 6f e6 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 .ro.W.K\l&D=W.H...:.(N...VY.P2..
333e0 b0 81 2e 77 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 ...w..2lVOD..E@.k9..!...s/....;"
33400 42 a9 18 ec 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 B..../....4....l.w.Z.WB<..e.X..(
33420 1f 09 1c 77 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 ...wUC4..N.9G.U.Vc..U.....*M..L.
33440 95 cd c8 5d 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 ...]W..|*.h..A.d...>.sD.....4.E.
33460 63 2a c5 28 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 c*.(Y...EdT.Q1H..?...q.UPjy.....
33480 0b 42 28 01 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 .B(.7.d'..........cRA..R........
334a0 48 b5 f4 50 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 H..P..B`.....>..i9..2....}....u.
334c0 39 b5 0d 84 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 9...._V..3..i.K..^..7...d.....S3
334e0 7a b9 e6 ac 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 z......Ae6.)J..w.Y.u.!R.9...k./.
33500 a4 76 e8 af 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 .v..f...!...SS.....Z..........).
33520 e8 2f e7 80 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 ./....v..OqlMcJ..T.7.H\W..L....X
33540 ec 19 27 a7 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 ..'.@...YU......VL....*.t.....Xh
33560 a8 46 aa 22 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 .F.".5R6.Z.+..N*).....i.(..4....
33580 06 50 bb a0 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 .P....}s....t.......?@Y.)-J.e...
335a0 cd 9b eb da 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 ....0&..6/z...%.MZ.....L.t..O.:.
335c0 2e 1f 15 47 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 ...G....u.i.....Q.h_9M.+.......e
335e0 d0 a6 90 b8 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 .....R..'c1v..!zgu..[..?.is.!6.Y
33600 76 1f 9a 3c 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 v..<.v...#.,...L.A...L!...s#.+x.
33620 5f 23 f0 a8 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 _#..m...ZS..]..!........(JB..#..
33640 5e 82 3d 84 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 ^.=..........;X...4(.G..;......x
33660 11 44 7f 04 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 .D..m.fW2..9....tl.\`.....r'....
33680 cd f2 b9 8f 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 ....0.....i.g.]....fvt...S.G....
336a0 c8 a1 1b 36 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 ...6.X..]...<.c...U...../\.\....
336c0 61 9d 73 83 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 a.s.}K.A.`.#..[.F..ia8......`ZM.
336e0 a6 4b c4 dd 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 .K..=.[..=iv...<........c,......
33700 97 e4 b8 c7 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 ......Z..h.:.?x...].....J..J..N.
33720 3f 43 0d 35 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 ?C.5`.9..^e....yB.W..+IB.~......
33740 fc d0 26 14 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 ..&..q..,.L....}`./..4-x.b..0!..
33760 10 11 8d 47 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 ...GZQ.R.V&W......y.....Z..n....
33780 74 12 91 8b 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 t.......1...._...A.Y...g@.|+...>
337a0 3a e8 1a d2 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 :......=....S...r'..T.uO.2DT..0.
337c0 b1 22 f6 a3 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 ."....._.7.2c..Z.'N...x}..r..s..
337e0 95 73 2a 67 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 .s*g!.......R..1.......!...8...L
33800 e1 d9 3e de 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 ..>.Q...0.G.Ql..t-".-|.u..??....
33820 ae f1 c9 1b 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 ....,.y..s.'"............a.H....
33840 b9 f6 65 a7 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 ..e...#!.u...`0.'....M......."JO
33860 54 ed 6c 30 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 T.l0.}.].....Vi.U._f....;.0...Z"
33880 7a 41 cf 53 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 zA.Sm./.....U'.b.......o..?..y..
338a0 09 d0 94 36 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 ...6......2o...m.....\......|?..
338c0 38 e0 9b 4c 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 8..L...'...A.{.....W....k%..>...
338e0 df d8 66 10 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 ..f.y...U>..K..:..L.c.F<\...\...
33900 ce e8 c7 3d 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 ...=*........${...{#....R...a.q.
33920 2f 2e 61 f2 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 /.a.79.......4.S\r`Fz...Vt...p.a
33940 e4 a2 ab 79 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 ...y...F.......Uz.....D.S....V..
33960 fc 7f 37 33 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 ..73h.3.]X....j..e..}.W6.1.wC..m
33980 e5 08 10 3d 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 ...=..=..<T....A..V..t.....).z..
339a0 15 77 db c3 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 .w...dDBV.9...i.Z...d..4H..cO...
339c0 17 9d 61 ed 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 ..a.J...&.Y+..J3...7.;X...).....
339e0 55 46 e3 82 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 UF..T6A.'.......+........".%..;.
33a00 ab d1 0f 0e 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 .........33..S...6.p..-*.Mr7..M.
33a20 28 70 b8 48 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 (p.Hs:..;G.....&.xww.......vwN^.
33a40 80 ea ca 48 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 ...H%...........W0.=........f[.v
33a60 aa 51 04 74 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 .Q.t.|...2f.........i?...h0.....
33a80 a5 6c d8 e9 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 .l..-...).#.M..:.!.)......q..v..
33aa0 e2 ef 8d 56 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 ...Vsl^kIW...alQ.......U......'.
33ac0 16 4b a8 23 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 .K.#\~Ad...)..I5......e........~
33ae0 4e 69 fe d0 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 Ni...K...........!s.E.e\...YX:..
33b00 5f a7 69 8e 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 _.i..W.....l....%._......[......
33b20 8b b5 3a 21 b8 c7 58 7b 44 56 c8 c1 f0 ad ef 3a 77 47 4b 55 41 48 86 8a 72 c6 87 c5 07 0f fc d9 ..:!..X{DV.....:wGKUAH..r.......
33b40 cd 9d 85 7b 21 c6 61 2f 00 00 00 00 00 00 32 11 00 00 00 00 00 00 4c 5a 49 50 01 0c 00 83 ff fb ...{!.a/......2.......LZIP......
33b60 ff ff c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 24 00 00 00 00 00 00 00 4c 5a 49 50 01 8e ..................$.......LZIP..
33b80 00 10 1c c8 a6 49 2d 9c bd d5 85 be cc 1a 81 7a d7 1a c8 a1 72 85 7a e1 35 9d a2 fd de c8 f3 90 .....I-........z....r.z.5.......
33ba0 69 f6 f4 d4 fb d2 f0 18 db ac 14 28 f2 27 60 22 e8 5f 14 7d fa 34 25 fc 28 03 d5 ee 96 9e 00 53 i..........(.'`"._.}.4%.(......S
33bc0 3f 9b 1f 0e 30 82 fb b2 ca 67 4c d9 82 65 58 07 0c 23 3c 49 f3 66 4a 1b 69 0a 00 e3 0a a1 6a f8 ?...0....gL..eX..#<I.fJ.i.....j.
33be0 9d a7 3b ea 71 64 2b 5a 70 34 3c 1c 8d 78 26 45 80 97 c0 27 a6 ef d4 64 c3 6b 12 1d 49 45 45 33 ..;.qd+Zp4<..x&E...'...d.k..IEE3
33c00 9a 25 f1 42 36 3a 04 10 74 2e eb 56 80 77 f3 af 4a 30 f8 f8 5f 37 11 e4 95 a6 71 46 ef 71 b0 1e .%.B6:..t..V.w..J0.._7....qF.q..
33c20 37 62 ab 46 ad dc e5 85 66 8b 38 8b f2 2d 18 2a f2 f1 57 f6 05 87 a6 87 4b 53 01 52 94 8f 8c 8f 7b.F....f.8..-.*..W.....KS.R....
33c40 c6 f3 06 b8 f9 bc d3 16 bd a6 81 84 72 af b4 ed 07 48 28 46 a2 4d f1 44 58 5b c4 ed 97 9b 24 65 ............r....H(F.M.DX[....$e
33c60 2d 8f 37 78 30 b8 97 d0 94 16 1a db ed ad 9c 2d ea 03 6e a9 7a d2 dc a4 36 34 a8 e2 49 3b 4d dd -.7x0..........-..n.z...64..I;M.
33c80 bd 91 7f ac e0 45 01 ba a6 90 c0 d5 e9 23 55 3c ee f7 2d 9c 27 9b 3c 14 8b 3a bc 58 4a 69 63 b6 .....E.......#U<..-.'.<..:.XJic.
33ca0 69 d5 37 08 4f 54 5b 49 a3 00 c3 11 f3 50 52 7a 8c 3a bb f8 24 e3 3c 39 05 29 56 f4 c8 6b d7 f1 i.7.OT[I.....PRz.:..$.<9.)V..k..
33cc0 a2 ad 9c 43 f5 8f cc bd dd c4 37 49 52 a4 23 e6 96 f5 97 cc 64 58 ad fb 0d e1 13 47 f2 d3 61 33 ...C......7IR.#.....dX.....G..a3
33ce0 06 d5 5a d4 b3 d6 06 ac e5 b9 4e dd 43 43 15 24 cf 5a d8 54 89 74 3c b8 ef d8 8e 70 99 31 a1 54 ..Z.......N.CC.$.Z.T.t<....p.1.T
33d00 1e 4c 3c 22 e4 87 71 2e a3 ce 83 a9 12 ec 88 52 f5 99 b0 46 0d e3 25 21 0f c7 47 d4 2c 95 51 98 .L<"..q........R...F..%!..G.,.Q.
33d20 1f 0f 57 f9 58 2e 54 d3 1f fa 2b ad be 62 19 f4 68 e9 60 49 df 2f cd c3 3d 12 52 48 0e 82 c6 db ..W.X.T...+..b..h.`I./..=.RH....
33d40 f1 bd 9c 54 be 21 29 5a c5 6a 84 30 01 e3 b9 74 61 95 a1 47 5b 0c c2 d5 59 94 64 66 41 e0 1b 77 ...T.!)Z.j.0...ta..G[...Y.dfA..w
33d60 de 55 7e 64 1f 79 4a 4d 29 93 97 0a ea 63 c5 d0 33 a9 08 a7 90 82 3d d2 45 c4 ae c8 d5 39 88 52 .U~d.yJM)....c..3.....=.E....9.R
33d80 2a 1b 2b cc 9c 47 77 d1 55 0f b4 05 14 22 d9 ef d8 b6 62 4c 61 96 cc 6e 31 96 09 1a c7 7f 5c 56 *.+..Gw.U...."....bLa..n1.....\V
33da0 c4 51 4d e2 49 4c 49 22 18 98 54 f0 4f d7 65 61 aa 5b e3 83 62 73 84 1b 98 b5 cd d4 30 99 07 8a .QM.ILI"..T.O.ea.[..bs......0...
33dc0 99 07 9c ce d2 bb 54 c8 52 cd 8e df 00 3e 3e 04 6b 9c 83 a3 91 a3 59 a4 7e 36 18 20 d0 7c 4a 87 ......T.R....>>.k.....Y.~6...|J.
33de0 00 55 d3 be 14 5b 68 9d 28 d0 c9 c4 fe 1d 70 d5 f5 a1 7d 0a 18 1a 1c ee 86 de c2 66 71 16 6c 95 .U...[h.(.....p...}........fq.l.
33e00 d2 3a 51 f8 81 44 e4 a1 0b 8e b4 c7 96 ec 36 37 39 07 a6 31 51 e6 f6 8a af b8 49 2b ed d3 79 41 .:Q..D........679..1Q.....I+..yA
33e20 0d 25 a5 f2 36 c5 b1 f8 e3 8c 2c 4a 0d a6 b6 01 77 28 0d ff 00 c3 16 9b 6f ea 7d 45 74 6f 7b e4 .%..6.....,J....w(......o.}Eto{.
33e40 aa 7e 03 f9 ed 1a bc 54 49 48 7e 83 37 bc 76 c3 e6 d2 87 ef 75 65 2d ba a5 86 fd 50 c3 73 cd c5 .~.....TIH~.7.v.....ue-....P.s..
33e60 a0 e3 85 58 51 fa 01 79 2d 5e 09 7e 6b 91 54 00 fb f2 cb 20 c9 76 98 43 3a 09 f2 bd 5d 8b 71 5d ...XQ..y-^.~k.T......v.C:...].q]
33e80 b3 bf 81 be d5 0c 40 9f e1 a8 3e 30 a8 64 fc f1 06 eb f9 e5 70 86 f6 f1 2f b5 d6 e1 75 83 32 51 ......@...>0.d......p.../...u.2Q
33ea0 78 33 70 4d dc 1d 81 be 55 04 c2 0e 25 85 27 ea 98 a4 3b d5 73 8e f5 9a c0 ea 71 38 ec f8 49 5e x3pM....U...%.'...;.s.....q8..I^
33ec0 9d 62 39 86 f1 7c e8 d4 1a dd 2d 55 6a ee 14 48 1d 98 42 e0 c8 4d f2 13 3f ba 1b 40 ae 46 de f8 .b9..|....-Uj..H..B..M..?..@.F..
33ee0 54 12 52 c7 9a 7f af 96 02 63 40 08 79 53 20 88 91 8a d9 31 42 4b 34 24 03 d7 dc 6b 85 f6 c3 ad T.R......c@.yS.....1BK4$...k....
33f00 b9 b9 ae 85 45 8e 3f 84 5a 10 11 28 10 00 56 74 3f ae 5f 0c ab 8c 38 99 3e 88 f5 f5 a7 17 b2 03 ....E.?.Z..(..Vt?._...8.>.......
33f20 dd f3 a2 c6 21 50 ee 41 a6 2b 84 21 9e f1 fc 9c cc 5a c9 97 c8 45 16 64 cb 0a 23 57 a1 8c 99 ef ....!P.A.+.!.....Z...E.d..#W....
33f40 14 cf 8b 50 8e c2 76 a4 da 13 f4 d8 10 59 b5 e2 1e 80 16 58 aa e9 e5 5b e0 bc 5c a5 7a 67 54 e5 ...P..v......Y.....X...[..\.zgT.
33f60 37 93 29 1e 05 86 cd a1 b8 97 5f 29 e4 bd 98 69 43 41 8f bd 3d 57 8d de 42 81 1e 8a 09 c0 68 a3 7.)......._)...iCA..=W..B.....h.
33f80 78 03 6b 33 4f ee e5 11 0f 45 09 36 58 2d f8 68 72 b0 d1 4b 26 a8 9c 7c 10 c4 b3 8d 25 ed 03 19 x.k3O....E.6X-.hr..K&..|....%...
33fa0 93 b0 b0 96 95 1c 19 35 d9 e7 e7 44 ec 60 b0 c1 ac 6c 8a e1 9f 66 6a 1e 11 b1 ca 02 d4 ef de 27 .......5...D.`...l...fj........'
33fc0 a1 ff b0 0f f1 fe 68 3c 51 83 d4 01 7f 2c 93 5d 62 02 86 ce 14 fb c8 4f 46 1f eb 8a 00 31 b0 c2 ......h<Q....,.]b......OF....1..
33fe0 e8 2f 63 81 3a 29 f7 69 c3 ac 6c 22 f2 60 e8 f2 7a cc 91 91 62 81 8b e8 9e 92 c2 5f 61 4c 9f 48 ./c.:).i..l".`..z...b......_aL.H
34000 ec e2 fb 1f da 08 7f 2a 30 c8 74 fb f1 ae 3e dd 2e 58 53 b3 1b bd 7e 75 46 e0 30 c0 ef 51 4c 9a .......*0.t...>..XS...~uF.0..QL.
34020 3d 02 f3 44 b5 e8 73 01 e0 99 56 2f 1d 42 83 11 4a 31 8f 30 07 87 03 9a 2e a2 93 4f 64 74 86 6d =..D..s...V/.B..J1.0.......Odt.m
34040 29 c7 26 02 21 fa e5 f2 84 ea 00 32 d4 e2 82 f2 4e 75 af 2e 67 96 b7 54 a6 d6 d0 5d 6d 39 78 cc ).&.!......2....Nu..g..T...]m9x.
34060 0b 78 92 ad 2a 04 ac c0 41 3b 72 c6 ca 08 68 0a 8f 98 8d 86 16 ed 82 ad b9 55 f2 f7 62 5d 5b 94 .x..*...A;r...h..........U..b][.
34080 f8 6a e4 c0 7e 6d 94 3b dd f0 4b fa 3a a9 fd 0f fe 46 c9 7b 29 29 56 ea f3 2c 21 77 58 82 d9 4e .j..~m.;..K.:....F.{))V..,!wX..N
340a0 b5 2c 08 7a 18 92 f0 9c 4e 47 e7 d3 70 b2 e1 27 1e bb 9d 0d ea 64 6a 4a 10 75 f5 c5 2e b2 26 9f .,.z....NG..p..'.....djJ.u....&.
340c0 26 77 a1 f2 26 f0 4c 49 31 ea 46 cf df 4e 73 6a 5f ea 4a dc 29 75 d8 6b 6a 4e a6 be 48 89 96 d3 &w..&.LI1.F..Nsj_.J.)u.kjN..H...
340e0 5a 4a b2 00 15 b9 a2 ef 4e b8 ec b0 59 46 6a 84 36 89 cd 30 ce 42 19 8f 6d 8c 4c 7f a2 0f 5b 2a ZJ......N...YFj.6..0.B..m.L...[*
34100 ab fd 9c 83 0d c7 f6 4f d6 03 47 64 41 c3 c4 0f f6 3c 74 b4 be 6b 59 f9 a7 5d 33 0d 3e 41 00 f1 .......O..GdA....<t..kY..]3.>A..
34120 52 16 52 98 ed c4 d9 c9 21 29 a3 8b 02 d7 1d fc 7d 1d c0 22 71 80 92 4c 5f a5 f6 e9 9c f0 9c 57 R.R.....!)......}.."q..L_......W
34140 4e 01 54 17 24 fc f3 83 62 fd 7e 68 8a cd 26 33 3d 2d fb 5a 99 98 cb 5d 51 d5 67 03 da c9 62 f0 N.T.$...b.~h..&3=-.Z...]Q.g...b.
34160 0b e3 0c 06 64 9c ff 3c ed 53 91 d2 2e 08 28 9b 86 08 5d c5 49 ba 68 7a e5 eb c5 d3 da 23 0c 0e ....d..<.S....(...].I.hz.....#..
34180 b1 dd d2 e0 eb 8e 5f 40 3a 3c ea 8c c3 f8 80 9e ac 06 7d 0c 65 8f 86 86 38 0f de b7 bc b0 74 78 ......_@:<........}.e...8.....tx
341a0 df 13 d1 6a 74 b2 d5 45 cb ab c2 6e e3 48 94 a1 62 df 28 85 2f f7 48 0e ee 8b 52 30 b5 86 5a 94 ...jt..E...n.H..b.(./.H...R0..Z.
341c0 dd 88 fe 69 46 98 11 3d fc d3 e4 9c 1d 64 8e b4 0b e7 83 6f e3 10 9d 0d 1e be 77 4a 45 f4 1b 95 ...iF..=.....d.....o......wJE...
341e0 b1 4e 78 04 5d 2c 47 17 38 23 8a 1a 5b cf 8e 64 03 21 08 1d 02 99 7e f0 f0 30 09 da 32 74 f4 00 .Nx.],G.8#..[..d.!....~..0..2t..
34200 50 01 27 99 18 9d fb c6 f4 f7 d8 72 24 e9 2b ec 5b 86 d4 fc cc 70 60 e0 bb 62 f2 40 4d 67 de 74 P.'........r$.+.[....p`..b.@Mg.t
34220 25 d8 79 40 80 ed 7d 6d 63 c7 31 23 8e 5e f0 fd 04 64 e4 9f 5c 26 8d 83 a1 87 df 33 e7 dd 5e 25 %.y@..}mc.1#.^...d..\&.....3..^%
34240 88 4a 76 3b 94 fd 5c 2f 80 6b af 2d 4a 3f ed a7 8b d2 df ae 03 dd 3b ba cc ff 32 72 bc 4c 45 ad .Jv;..\/.k.-J?........;...2r.LE.
34260 21 be 69 a9 94 4a 1a 8e 73 69 80 a2 51 64 dd 06 db 26 05 56 55 a7 26 d0 cc 27 af 08 69 cc 46 4b !.i..J..si..Qd...&.VU.&..'..i.FK
34280 90 df b1 94 e0 aa a1 bc 88 54 fd c7 1a 76 20 9b 3e 1c 07 4c 9b 01 f3 78 89 34 fc f6 06 e5 38 de .........T...v..>..L...x.4....8.
342a0 67 54 2d d1 31 6e 5a 85 71 91 8f cc cc 78 52 0e 8f da e1 8d 5d 86 3a b0 36 22 96 75 86 b7 c3 6a gT-.1nZ.q....xR.....].:.6".u...j
342c0 f3 b7 18 46 84 16 2a b3 93 67 c1 f0 05 eb c9 f6 69 bf 2c 1d c6 9d dc 62 c4 73 19 a1 93 da 0b 19 ...F..*..g......i.,....b.s......
342e0 6b 25 5a 9f 82 16 2c 2a a9 15 01 49 61 52 cf fb 8e 7b fc 0e 2a eb 63 c7 85 c3 0c 44 c9 13 ed 59 k%Z...,*...IaR...{..*.c....D...Y
34300 53 d4 fa 76 c5 04 64 29 4e df 16 2a 3e 88 05 90 26 8b c7 97 be f7 e9 8a 83 89 24 0b e4 08 f8 16 S..v..d)N..*>...&.........$.....
34320 c5 33 45 c3 d2 a3 35 fc 1a d0 c9 58 c2 e7 69 bb 61 91 bb bf a8 79 90 3e d6 cd 07 94 b9 82 c4 47 .3E...5....X..i.a....y.>.......G
34340 14 da 2d 27 98 e0 93 0b b8 fc 30 ef d6 bc 0e 6a 4a 20 24 da ad 0e 14 d3 1b ed 58 4a ef 89 a9 85 ..-'......0....jJ.$.......XJ....
34360 65 51 b4 02 92 9a f8 f1 d8 26 95 cc 82 26 ea f2 e2 c8 f3 a7 ef 8c bc 87 79 e9 8e 5f 0b 19 1d 06 eQ.......&...&..........y.._....
34380 65 ca 27 c4 29 87 43 c7 9e 8e 17 2a d9 54 71 f8 7b 1d 7c 09 0b b7 05 f2 ae 61 f1 09 c1 59 8f 23 e.'.).C....*.Tq.{.|......a...Y.#
343a0 9b 37 67 8e 74 c6 ff 77 db 19 79 d3 78 13 94 17 f9 f1 b9 82 82 6d 20 3c 6f a4 e4 25 79 2e 89 86 .7g.t..w..y.x........m.<o..%y...
343c0 ab ac e3 b3 35 35 f2 95 d4 e5 19 b0 fb 15 c4 cc ac b9 77 50 c3 c8 07 b7 08 4e f8 c1 5b b1 5d 7a ....55............wP.....N..[.]z
343e0 e0 bb 62 36 3a fb 07 84 a2 aa 7d 89 32 02 a1 9a b2 ed b1 ba 1b b0 63 e8 6a c1 7c 84 13 ee 03 a6 ..b6:.....}.2.........c.j.|.....
34400 5d 6e a4 fb e9 14 a4 e0 34 77 35 d0 66 cc 4a ab 7b 0b d8 66 21 44 3c 3d 7e d0 84 a0 fc f4 31 f6 ]n......4w5.f.J.{..f!D<=~.....1.
34420 7e 84 72 6d 65 39 91 30 92 42 7c 10 76 53 cb 09 bd 0a 98 72 03 c1 0c e2 08 d2 9e e1 07 76 19 1a ~.rme9.0.B|.vS.....r.........v..
34440 80 cc 81 98 86 92 44 34 98 93 c9 8a 10 24 24 1c bf 24 bb 47 2f 8c 1b 4c de ba 8a 7e 05 c0 9c 33 ......D4.....$$..$.G/..L...~...3
34460 62 df aa 8b 91 fe 08 18 d0 d4 62 ad 4f fb 8b 4f 69 1b 0f 3e 12 55 32 b4 00 d0 36 d8 84 e6 57 88 b.........b.O..Oi..>.U2...6...W.
34480 e1 71 44 f9 c4 3a 4e ff 35 04 8a 46 7d de a0 df c6 95 32 6d 1b a7 2c 06 3a 61 86 72 a2 70 03 9e .qD..:N.5..F}.....2m..,.:a.r.p..
344a0 78 a2 37 9e bf 35 e0 13 d9 99 06 d5 fc 1d 18 04 e1 ca ba 4c bd 73 fa 1a ec a6 82 0c 4d 60 39 80 x.7..5.............L.s......M`9.
344c0 a5 a5 7c 61 f1 93 2c b5 37 cb 5d ba 58 82 03 da 4f 73 23 ad 9c a5 ce 4c b1 a7 de ca 82 e7 71 b1 ..|a..,.7.].X...Os#....L......q.
344e0 a3 46 a7 3b 25 cb c0 83 7b fe 4b a1 4b fb ef 8b d7 a7 d0 be 54 df a2 ad 51 ae 8e 2e ca 80 6b 6a .F.;%...{.K.K.......T...Q.....kj
34500 ca b9 56 03 4b 0b 44 1e f5 e2 02 d3 6b 13 e3 01 58 b2 5c ca f5 cf 66 91 de 90 53 22 5f b4 03 a2 ..V.K.D.....k...X.\...f...S"_...
34520 70 a9 cb 42 8d 53 67 2b 3d 43 3b 5f 55 18 da 2b fa b2 c2 e3 e2 79 d9 0b e1 ba 6d f0 44 c8 57 27 p..B.Sg+=C;_U..+.....y....m.D.W'
34540 92 9d 34 90 6b 34 51 e8 1e b8 df 28 43 59 93 17 f4 35 dd d6 21 73 be 47 2d 2e b3 e8 5b e0 95 65 ..4.k4Q....(CY...5..!s.G-...[..e
34560 d0 df 5b 73 7e 77 6e aa ea ef 81 1f 4d ff e2 0b 2e 8e fa 44 b6 04 d9 69 8a f9 fb 88 df 2c 65 01 ..[s~wn.....M......D...i.....,e.
34580 29 24 d3 68 c7 71 9b 8c ff 6e 49 58 59 b8 fa c8 2b 82 46 c6 2c fd b2 38 b4 8a 47 13 99 f1 3e 80 )$.h.q...nIXY...+.F.,..8..G...>.
345a0 99 fc 6c 33 57 c1 27 75 5d 2c 87 cd 0b 0b 42 54 c5 5c 50 01 94 01 6a cf c1 a8 b6 46 8c 81 66 b4 ..l3W.'u],....BT.\P...j....F..f.
345c0 a9 13 c4 d3 6c 65 99 47 72 3c f1 ed 8c e9 03 d8 95 8e 07 f5 32 33 26 a8 9f 34 38 52 3a a8 94 15 ....le.Gr<..........23&..48R:...
345e0 79 32 95 45 72 2f d6 f8 a2 17 9c cc 18 3a b0 da 33 a2 14 8a a2 7f 63 99 5f 95 85 62 8f 2c c8 8c y2.Er/.......:..3.....c._..b.,..
34600 be 8a 7b 28 9d 12 51 fa fa 99 12 1a 6b 93 24 81 9a a1 55 88 40 a6 3d 9c 23 c4 eb 31 c2 6d 33 f9 ..{(..Q.....k.$...U.@.=.#..1.m3.
34620 6f c1 ab a7 52 c4 7c 1d f0 65 b3 f3 fe 1c 20 1a d9 8c 16 f5 4a 87 3d a5 3b 17 31 a4 ce 29 d3 0d o...R.|..e..........J.=.;.1..)..
34640 dd 9f 68 54 f3 50 7d e3 d9 54 e7 7a a8 e1 66 5b 61 10 32 84 ce ed e7 13 fb a4 cb 87 c5 4b d8 bc ..hT.P}..T.z..f[a.2..........K..
34660 e1 11 72 08 14 59 e9 2f e0 0f 2a a3 e8 23 cf 42 f6 e5 46 2c ba c5 78 3c 37 8c c9 b0 3d 13 b9 19 ..r..Y./..*..#.B..F,..x<7...=...
34680 de 15 49 e1 52 3e 74 f3 0d 59 e4 10 07 76 26 a7 6a 3b 5a fe 8c 16 a8 b2 02 79 80 bb d7 4c f0 2a ..I.R>t..Y...v&.j;Z......y...L.*
346a0 e3 d6 6c 02 ab 51 ca 0d 6d dc d7 bf 13 9b e0 7d f1 2b 14 41 31 15 02 d0 12 97 70 9a 76 34 51 c6 ..l..Q..m......}.+.A1.....p.v4Q.
346c0 9c 4b 3c e6 d6 fd 1b 9a 6c d9 c9 5d 3b b5 14 f1 ab e6 9b eb c8 e7 81 81 d8 1a d5 d8 4a 98 06 dc .K<.....l..];...............J...
346e0 1e 7c 71 6f b1 a6 64 83 3f 1b a2 28 ab 60 e0 12 40 c9 a5 38 92 86 1c 9f 44 1f 9f 3d c8 80 a3 89 .|qo..d.?..(.`..@..8....D..=....
34700 b2 5c 67 6b e2 f3 5c b7 1a 87 57 e2 5d 60 93 63 65 f2 ae 28 4f 1a 16 b7 53 13 dd ed 79 18 22 f0 .\gk..\...W.]`.ce..(O...S...y.".
34720 db 8d 20 4a e0 99 01 80 a1 4c 74 35 1c d9 e6 9c 5c 10 f7 e5 11 ee 26 55 3f 4b 8b a8 a1 b1 00 1e ...J.....Lt5....\.....&U?K......
34740 2f fa 27 b2 3f 42 74 49 03 37 a4 0d 61 8d 63 b9 9c 12 b0 5c 5c a1 02 92 c8 d8 5b d8 d1 87 ca 4c /.'.?BtI.7..a.c....\\.....[....L
34760 35 3d 35 ba 90 8d fe 9b 31 0c 66 80 cd a1 84 f3 fa 4f 0d 2a 52 64 bd f3 bf 0d 38 13 38 c8 74 1a 5=5.....1.f......O.*Rd....8.8.t.
34780 1a 59 82 3e 09 18 b2 75 84 25 b5 98 9b 94 e3 38 5a 3e b5 a8 2e 5e 76 7d 90 91 e0 67 2d 00 d6 72 .Y.>...u.%.....8Z>...^v}...g-..r
347a0 3d 85 d2 d2 a9 3d 86 a8 60 ed c8 91 b3 3d 18 0e e9 be cd e9 7b 8e aa c5 28 31 37 92 ae a5 b9 4c =....=..`....=......{...(17....L
347c0 a9 7e e2 60 e4 73 95 b3 66 6a e0 46 5d 26 21 ae 0d 4c 10 e8 33 1d e2 2b 93 d4 78 93 bd 45 2f ef .~.`.s..fj.F]&!..L..3..+..x..E/.
347e0 08 a8 49 14 7f b6 0d 03 57 42 ca 46 79 35 e7 9d 2d 03 28 aa fc ae ee e6 18 23 f7 bd 5f 63 fb 2f ..I.....WB.Fy5..-.(......#.._c./
34800 b8 e1 62 7d 14 81 1d b4 45 31 c4 cc 79 78 6b 45 8a 8b e3 a3 d1 fd 6c ba 3f ae 14 db a9 89 78 c8 ..b}....E1..yxkE......l.?.....x.
34820 d9 4b b3 41 8d 3e 12 2d 17 c1 91 7e 55 20 78 24 45 83 84 8b 29 71 80 5a 1a 5b e1 25 f6 33 94 b7 .K.A.>.-...~U.x$E...)q.Z.[.%.3..
34840 6e 79 d2 a9 c6 08 21 82 ff 2e 7e 59 bf 7c 56 f0 16 6a 49 9b ca 00 18 7b a1 a4 18 5d dd ca fa 4d ny....!...~Y.|V..jI....{...]...M
34860 ff a6 9e 92 fc a9 eb 22 a1 20 b5 97 ef 03 93 8c a2 34 0a b0 99 42 c8 14 d0 29 89 a5 67 8b 25 65 .......".........4...B...)..g.%e
34880 ee c1 80 e1 9f c1 b0 ca 3c d7 41 69 1e dc 20 d0 e5 32 09 9b 12 89 ef 0e 7f b2 c0 02 61 e3 53 07 ........<.Ai.....2..........a.S.
348a0 7b 49 a4 06 51 c3 83 b2 ec 5b 43 20 aa e6 5b cb 4e 87 2d 51 ef 3b ef 3d 2d e2 6b 70 9c e5 8b 92 {I..Q....[C...[.N.-Q.;.=-.kp....
348c0 59 39 94 14 53 f6 79 9c 2c 0b cc 53 d6 4a 11 49 1e 7e c6 38 1c 67 dd 77 8c e0 36 8a c7 9a 22 4b Y9..S.y.,..S.J.I.~.8.g.w..6..."K
348e0 78 db 6c 6f b3 4e 8b 52 ce 78 fc 30 49 58 04 f1 59 8c 2d 11 8d 0f 9e d9 8d 6f ee d3 a0 5c 9c a6 x.lo.N.R.x.0IX..Y.-......o...\..
34900 01 7f 0c f6 db c0 fb 8d d0 47 3c 83 ac 97 62 99 90 e4 9b dd 3d 08 38 02 1d 65 d7 c6 f4 5f ad 08 .........G<...b.....=.8..e..._..
34920 53 31 ef d7 32 f1 f2 67 d9 b9 f2 b9 00 ac 7f 11 6e 2c 8d ec 37 21 bd c5 15 44 ef 9b fc 3d 84 31 S1..2..g........n,..7!...D...=.1
34940 88 b4 82 a4 07 bd 63 fe 60 67 45 bf b9 cf 82 11 63 51 3e 17 c5 8e 52 65 05 27 a2 a9 30 1e 0a b4 ......c.`gE.....cQ>...Re.'..0...
34960 80 97 00 6d b4 09 87 c2 7b cd b6 1d f4 05 14 5d 60 c8 bf dd 06 c4 ce 1e ef c8 75 b6 fa e2 5d 23 ...m....{......]`.........u...]#
34980 58 4b 1c df 86 bd 5e 9d d2 c7 72 08 d6 9c 28 ce 2b 05 a9 ea 07 b6 00 94 21 9a 9d 20 c8 3d bc a9 XK....^...r...(.+.......!....=..
349a0 02 0e 2c ee 80 af 02 ed fe 6a 0d 64 d1 26 87 7a 48 89 a1 a2 a4 31 e4 65 3b 26 a5 c6 29 20 49 27 ..,......j.d.&.zH....1.e;&..).I'
349c0 7b 0a 5e 9f 33 9f 0e 69 ae f0 56 0f b5 93 aa 03 6e 38 4f 3b a0 f9 9d a9 fd ee 86 40 0c 9c ce 2c {.^.3..i..V.....n8O;.......@...,
349e0 27 97 a1 bf 2f b2 85 b2 8d 0b 31 ce 0d 8e 84 69 19 31 ca a6 95 33 3d 50 d5 c4 50 b0 e0 24 07 b7 '.../.....1....i.1...3=P..P..$..
34a00 7a 57 0d a6 57 cd 7c 1e b4 25 73 08 11 48 61 bf e2 1a e3 7b c1 3b 1d d9 5c d5 8e e4 82 cb 3d c2 zW..W.|..%s..Ha....{.;..\.....=.
34a20 15 a4 28 4b 87 96 d5 7f 1e 13 a7 de d1 12 c3 d3 30 76 c8 8a 89 59 9d da 3c ac be 70 bf c1 cb a1 ..(K............0v...Y..<..p....
34a40 bd ff d5 8c 0d 17 2d 97 60 dc f2 0c e4 34 d5 5a 92 aa 06 b8 b5 22 aa 80 40 9d b8 38 4c dc 54 c4 ......-.`....4.Z....."..@..8L.T.
34a60 d8 f5 57 69 1e fe d0 8e 38 41 a7 b9 82 48 9d 31 c2 1c 43 41 4a e8 ac bb 84 96 a2 7a ca 35 45 a2 ..Wi....8A...H.1..CAJ......z.5E.
34a80 19 96 ac 6e ca 27 28 6a 81 05 14 90 b1 1d 1b 8a 2c c6 20 30 71 33 5e 78 50 84 17 d9 5b 13 b2 b6 ...n.'(j........,..0q3^xP...[...
34aa0 f2 f0 8c 33 63 bc 82 a6 8d 6c 66 72 ac 80 e0 51 c4 75 3b 12 84 4b 01 e3 52 67 ba 9e 93 23 e2 ab ...3c....lfr...Q.u;..K..Rg...#..
34ac0 37 4f e3 97 2c 4a 30 dd cf f3 80 18 31 ff fb 39 b1 06 6c 84 27 48 fb ff 2a 96 c5 2a 4e df f2 20 7O..,J0.....1..9..l.'H..*..*N...
34ae0 d2 67 a2 16 10 9e 26 9f 0b e4 e9 ba 33 0f ab 0d d4 1d 3a 7a 59 ff 9a 9e 47 03 0e af ce 88 c7 d9 .g....&.....3.....:zY...G.......
34b00 a5 d1 bf 5b 1c 3e 4e 43 c6 df 15 5a ab ac 11 9d 2b 87 90 e0 77 e7 b9 bc 93 e5 3b 5a 48 d0 bb 8b ...[.>NC...Z....+...w.....;ZH...
34b20 56 63 01 f7 f0 14 fb b3 18 46 4f 85 86 f7 d5 58 62 50 7d 99 6f 2a 33 c4 c4 8a 3e 47 76 6f fe 50 Vc.......FO....XbP}.o*3...>Gvo.P
34b40 de 0b 70 35 14 86 73 aa 99 64 b8 3c 74 49 ea 01 bb f3 0c e1 98 5a e4 03 e7 d7 f5 72 35 1f e6 c9 ..p5..s..d.<tI.......Z.....r5...
34b60 22 f5 1e dc ed fb d0 a0 99 2a e6 21 00 2d f1 39 c5 f9 8e 4a 92 be 4d 13 b8 7c 7c 85 42 8a d0 e1 "........*.!.-.9...J..M..||.B...
34b80 5d 7c ae 77 7c 0b a7 95 51 1b 0d 4c 55 32 a9 47 4e bc 2a 38 83 4e 76 d6 07 4c d4 b4 02 f0 73 e7 ]|.w|...Q..LU2.GN.*8.Nv..L....s.
34ba0 2c df 50 be 72 8f 21 81 6e a5 c6 87 66 68 3e 75 55 31 75 46 15 d2 bf ce 10 9c 0d 98 bf 19 cf 03 ,.P.r.!.n...fh>uU1uF............
34bc0 c5 6e 3f 51 0d 44 81 4f a5 af 61 0d ed 8e 91 31 0a 0c fa 9e 27 aa 69 8f 98 26 cd 4d df 5e 63 81 .n?Q.D.O..a....1....'.i..&.M.^c.
34be0 48 da 47 20 00 fd 2a b1 12 16 19 f0 02 d6 da a5 74 db fe 5a 4c 9c 8e 1b 24 b1 a0 63 f9 47 bc 3e H.G...*.........t..ZL...$..c.G.>
34c00 11 a4 fc 2d 49 68 c8 ae f3 26 e0 b8 43 dd 76 09 0f 7e a6 a1 e1 fa d7 dd 97 62 48 1e dd 18 4e cc ...-Ih...&..C.v..~.......bH...N.
34c20 8a ef ed 8a 9b 3f f0 1d 4e d9 38 9e b0 b4 2e 53 0e 8c fe 90 b1 ed 97 81 bf 7a 0e 52 f6 32 7e 93 .....?..N.8....S.........z.R.2~.
34c40 39 f3 93 ce 0e 51 11 14 cb e3 08 9a e5 e1 58 64 79 bb 6a db d4 4d c8 7f 07 22 7b fa c5 d1 cb a4 9....Q........Xdy.j..M..."{.....
34c60 76 33 f9 7c 47 07 65 b7 72 b3 23 9a d9 b2 18 b8 86 28 cf 50 70 af ce 73 e1 9b 07 05 01 99 2e 99 v3.|G.e.r.#......(.Pp..s........
34c80 ed 60 25 1c d7 81 c5 7d cb de 5a 10 16 12 55 93 0b 7f 98 72 a1 90 b1 05 0d 8d 47 bd fa ee 98 e8 .`%....}..Z...U....r......G.....
34ca0 ff 8a 3d 0b 5d e6 9c 43 f7 47 53 20 4b 32 b5 b4 cf 27 47 92 43 9b f0 8a 90 90 bf 48 46 2e d1 27 ..=.]..C.GS.K2...'G.C......HF..'
34cc0 d2 06 cf bc a0 62 e9 6e 1d f2 b8 f6 ec 4f bb 80 0b ac 62 a6 4e 6b 62 88 f9 5d 69 01 af d0 e1 5d .....b.n.....O....b.Nkb..]i....]
34ce0 86 b4 da ca 60 f2 7c a1 12 01 f1 81 f1 e3 ab 85 66 6d 08 71 a1 df d8 bf 01 1b 87 19 f5 f5 c4 b1 ....`.|.........fm.q............
34d00 8b 0a 21 8f 53 14 a4 c2 cc 14 73 3f 70 d2 28 ae 7f a9 f7 aa eb 03 18 cb bd 3e 1d 27 ce 74 43 e4 ..!.S.....s?p.(..........>.'.tC.
34d20 ec 6d 96 9d 8b 14 27 c2 24 ed 13 3b ed 33 3c 3a 4d a6 38 cd 4e b2 f9 56 ca 8c c7 51 58 d6 0b db .m....'.$..;.3<:M.8.N..V...QX...
34d40 fe f9 43 19 33 fc f1 68 4d 37 9f d3 01 66 4f 83 29 8d d7 d7 cd aa fa de 21 5c 4c de 50 78 c9 bc ..C.3..hM7...fO.).......!\L.Px..
34d60 bf 1a 5d 7b 36 af 70 19 b9 c4 1f 0e bd 21 71 96 71 52 b1 d6 55 36 44 0e dd 83 33 3e 78 6f 81 40 ..]{6.p......!q.qR..U6D...3>xo.@
34d80 59 65 a8 72 e8 16 23 c3 57 14 49 f3 67 e5 22 db fe 68 91 c7 1b a3 5b b2 45 5f 8a 8e 0a 0e 12 66 Ye.r..#.W.I.g."..h....[.E_.....f
34da0 8f af 6e d2 47 eb a8 09 7f 46 0d 11 bb 7d f3 af 84 c5 f2 e2 6b 0d ec c6 60 af c7 28 b9 21 b0 43 ..n.G....F...}......k...`..(.!.C
34dc0 0e b3 45 69 bc 22 bf 84 e6 25 a2 3b 85 71 da 1f 60 c9 b2 03 ff fb a7 8d 2e 17 6d 5f fd 61 2f 00 ..Ei."...%.;.q..`.........m_.a/.
34de0 00 00 00 00 00 73 12 00 00 00 00 00 00 4c 5a 49 50 01 0c 00 83 ff fb ff ff c0 00 00 00 00 00 00 .....s.......LZIP...............
34e00 00 00 00 00 00 00 00 00 00 24 00 00 00 00 00 00 00 4c 5a 49 50 01 0c 00 83 ff fb ff ff c0 00 00 .........$.......LZIP...........
34e20 00 00 00 00 00 00 00 00 00 00 00 00 00 24 00 00 00 00 00 00 00 4c 5a 49 50 01 8e 00 3a 1a 08 d4 .............$.......LZIP...:...
34e40 2d 65 b3 4d 8f 93 b8 92 ab 5b f5 c3 d5 55 d3 90 ff 90 32 f0 ef 98 66 41 2d 41 a3 20 19 19 67 98 -e.M.....[...U....2...fA-A....g.
34e60 f6 85 aa 99 42 7f 23 ec bb d0 fc a4 87 e6 bf a2 24 5c 85 dc 93 7a 1a 73 e9 14 97 01 82 8a 50 03 ....B.#.........$\...z.s......P.
34e80 a7 f7 63 c5 26 50 bf d5 ec 22 01 5e 2e 99 e7 6e f0 5e c5 63 e7 60 51 9d 56 59 e6 6d 68 66 5d 8e ..c.&P...".^...n.^.c.`Q.VY.mhf].
34ea0 f1 7f f0 e3 c0 60 35 bc 8d 95 43 ec b1 90 40 a9 87 cb 57 59 8c ac 29 ae 99 58 f2 98 51 3d 05 e3 .....`5...C...@...WY..)..X..Q=..
34ec0 0a c7 39 04 40 83 2f fb 33 bc b8 f2 11 37 e6 70 23 33 53 1e b2 bc 33 f6 91 de 26 eb e0 54 fb de ..9.@./.3....7.p#3S...3...&..T..
34ee0 05 fb dc a3 5f 71 2a ec 15 35 21 1f 82 1d 36 a1 7b 54 73 6c 2a af 8e 4e 8c f7 75 e8 ae 96 6d 4f ...._q*..5!...6.{Tsl*..N..u...mO
34f00 97 fa af 70 cc f5 ae e0 51 06 90 14 6b 21 c3 f9 88 a5 79 d2 68 e0 93 9b 33 8a b5 f0 57 e3 71 1e ...p....Q...k!....y.h...3...W.q.
34f20 c9 f3 16 87 a8 60 bf 78 00 7d 36 d0 ec d8 0c 70 c4 d1 82 bc 88 99 68 0d 1a f7 d2 28 d8 39 61 d8 .....`.x.}6....p......h....(.9a.
34f40 7a 32 bb 18 3c 98 11 81 b5 9d 3e ef c3 22 f2 e6 e4 65 e6 52 14 27 b4 64 7a e5 dc a7 ec f3 17 3c z2..<.....>.."...e.R.'.dz......<
34f60 7c 40 b7 fd 23 5a 5e 82 3c 31 a9 a8 af 66 dd 59 ce 62 b5 40 00 ed ad f0 36 35 eb d3 34 51 37 6b |@..#Z^.<1...f.Y.b.@....65..4Q7k
34f80 91 16 30 19 5c 48 d3 93 01 c9 fa ab 17 7f 5c 11 de 8f 9f 80 be ae 3f 5f 9d c6 08 2f 84 03 6b 2c ..0.\H........\.......?_.../..k,
34fa0 1b 57 c4 5f cf 54 74 55 06 e0 09 39 03 38 34 89 90 9a a6 6b 9e 76 5f 01 c5 f9 a9 e5 4c ee cf 7e .W._.TtU...9.84....k.v_.....L..~
34fc0 b8 2c 53 7a ba 69 a2 a0 d6 a2 d4 aa f6 15 2e 23 59 87 48 9b f2 24 ff d9 40 01 b1 c0 a1 2c 87 c5 .,Sz.i.........#Y.H..$..@....,..
34fe0 37 d4 e0 27 e0 45 0d 28 e3 bc a0 a7 1e 9d c8 57 9c 6e 76 ef 81 ac 2f 2c c8 78 c7 f4 d9 f6 2a b5 7..'.E.(.......W.nv.../,.x....*.
35000 d5 5c f5 e9 1b 36 23 41 6f 90 8b 8f fb f8 6d b4 71 15 39 63 e0 96 55 2d 08 fd 9a 43 ea f3 ed 14 .\...6#Ao.....m.q.9c..U-...C....
35020 01 15 47 04 3c 12 7e a9 66 66 0b e1 58 09 34 76 2b 9a 65 1e a8 b1 75 5d 2b 4a 4d a5 ae 0e 16 ad ..G.<.~.ff..X.4v+.e...u]+JM.....
35040 72 88 43 4f 5a b4 80 d9 f0 67 f8 b4 04 8a 45 77 43 54 34 4f 70 48 6d 75 7f 1d de 6c b7 de 26 fe r.COZ....g....EwCT4OpHmu...l..&.
35060 6e 8a e5 23 fc a7 4a 67 bf 35 57 6a 9b 86 9d ae be 2c d8 34 25 1d 1d a5 b0 4d 15 73 96 68 06 13 n..#..Jg.5Wj.....,.4%....M.s.h..
35080 b9 b1 a9 4c af 11 eb b7 e5 c8 b5 6f f9 10 1d 82 0f b9 9f 94 cb b5 8e 60 07 62 e3 c1 9a 14 72 40 ...L.......o...........`.b....r@
350a0 1f 9b f5 43 15 b7 11 1a ac b9 66 5d 24 4e ef bb 8b 40 d1 6e ef cd 4f d8 63 cc 4d 5a ed 5f 10 28 ...C......f]$N...@.n..O.c.MZ._.(
350c0 72 e1 30 d6 ce dd 54 6e fe d6 74 ab 80 d1 e2 56 c0 d8 4d 3a 96 5c 6f 25 f9 bd 72 12 c2 6e 5e b0 r.0...Tn..t....V..M:.\o%..r..n^.
350e0 5d c0 b5 4f f3 eb d7 ba af 3f 98 47 51 6a 4f 32 18 04 ae f0 a7 b4 91 b5 cc f0 18 4c 5a 0c a5 51 ]..O.....?.GQjO2...........LZ..Q
35100 50 30 ee 06 ea 2c 8e 4b 51 9b 5e 73 af f4 aa 9f f3 57 fa cc 5f b2 d4 bc dc 59 61 f2 6b 00 07 08 P0...,.KQ.^s.....W.._....Ya.k...
35120 1c 27 ab 1e 7f 5b b9 f4 62 b6 f6 64 f8 26 19 75 3d fa 15 a8 8a 1b 58 84 b7 6a c4 e0 6b 7b 6c 4c .'...[..b..d.&.u=.....X..j..k{lL
35140 e0 c1 43 c2 47 a2 5f 4f cd cb 1a 7a b9 c3 a4 eb d8 da ce f2 f9 6c 1e a9 d6 47 77 6d ea e3 09 ac ..C.G._O...z.........l...Gwm....
35160 95 9c 6a 71 d8 18 92 d9 66 08 2c d2 44 62 ae 3c 39 fa 25 0e e0 04 a5 77 e9 10 9e 36 13 7b 1a ea ..jq....f.,.Db.<9.%....w...6.{..
35180 f8 ef f5 9f 38 8d c0 c8 4a 65 22 b2 0a ee ef f5 93 b8 a2 63 ba db ed 5e 57 e1 b4 ba c6 7c 24 37 ....8...Je"........c...^W....|$7
351a0 b3 be ff be 76 3b 28 6b 82 f3 ed bf a0 d2 4b 06 f7 9f c5 88 f5 53 98 a6 9d e1 ea 15 9b 77 e4 29 ....v;(k......K......S.......w.)
351c0 b8 11 fa 85 f4 ae b9 5b f4 a0 8f ed e5 d3 c1 ef 62 0b b3 a5 75 5a bc 7d 6a b2 41 9e 53 c1 78 5a .......[........b...uZ.}j.A.S.xZ
351e0 0a f4 a1 46 09 be 35 c4 e6 91 11 1d f1 5e 93 02 1b 71 30 00 b7 f4 60 9b 1c 9a df 15 08 39 51 b1 ...F..5......^...q0...`......9Q.
35200 3a bd b4 22 7d 00 cf e3 d8 62 1e 4b 25 49 bf 07 86 27 ad 25 f5 53 9b ff 00 51 cb c2 3d 69 05 d4 :.."}....b.K%I...'.%.S...Q..=i..
35220 65 fa 4d 1e e1 c0 d5 49 2e db d8 24 56 2d b2 68 fb ce b2 f0 7f 27 6a 5d 30 74 82 ec 7b c1 b0 6d e.M....I...$V-.h.....'j]0t..{..m
35240 fd 7b 2e c3 08 08 7f d6 92 f2 c6 b2 ea 3b cf aa 7c 9c f4 89 76 36 ed 81 2b d7 d8 a7 92 1f f8 16 .{...........;..|...v6..+.......
35260 d3 19 15 74 d2 79 7d bc ef 55 7a 65 95 65 35 f8 7c 91 d0 86 d8 76 32 41 1e 0a bb 73 30 50 21 11 ...t.y}..Uze.e5.|....v2A...s0P!.
35280 59 df cf a4 43 75 7d ad 2f 9b 17 83 14 55 58 cb 6f cf 1a d2 85 71 e8 7b a9 67 76 9c 04 4f a6 0c Y...Cu}./....UX.o....q.{.gv..O..
352a0 1a 3f f9 99 c6 8f d5 44 3c 90 b0 f2 fd 8e 96 d0 1f cd 37 d1 25 9b 58 c3 f7 02 65 b1 5e 84 bd 95 .?.....D<.........7.%.X...e.^...
352c0 30 23 be b1 fd 31 0f 70 ea 73 14 23 39 e3 65 36 38 3d 87 e7 b0 13 08 4c da fc 2f b9 53 8c 61 92 0#...1.p.s.#9.e68=.....L../.S.a.
352e0 5e 26 2f 53 af 78 6b 62 9f df c3 73 7d 0d 90 0d db ad da 6b 1c 38 97 54 cd cd 11 e5 c8 d1 d0 18 ^&/S.xkb...s}......k.8.T........
35300 7f 39 80 6b f0 26 5b 7d 27 e6 46 0b 71 12 cc db e6 62 da 98 3c e9 f4 68 86 13 e5 30 54 8b de 02 .9.k.&[}'.F.q....b..<..h...0T...
35320 2d 98 bb 41 46 2a 5b 36 83 f5 5d 4d b5 63 2d 23 f0 6e 10 e2 53 17 a0 e8 b0 6a b0 7c c0 9e cc 70 -..AF*[6..]M.c-#.n..S....j.|...p
35340 26 66 54 d6 b6 fb 52 4f 48 92 93 a9 ad 56 da ea d3 d7 54 60 1c 18 03 a8 ea 51 8e 7f 56 f7 5c 0b &fT...ROH....V....T`.....Q..V.\.
35360 ad 38 bb 16 23 ef e0 7f e2 ef d8 d7 b2 69 f5 a3 22 42 45 f1 19 58 e9 10 5f 60 be 1c 93 8d 2a 3d .8..#........i.."BE..X.._`....*=
35380 db 46 40 9c 6a 09 62 72 d6 37 79 2d 79 bf a9 d9 59 65 bd 2c 3e 55 34 0e de 42 20 e0 4a 16 b0 6a .F@.j.br.7y-y...Ye.,>U4..B..J..j
353a0 1d e5 05 4b 3d f0 15 95 5b 5d 9d d2 04 f5 37 48 f1 2d 6a 5c 64 f7 a3 ff 9b 55 2d d7 37 87 55 4c ...K=...[]....7H.-j\d....U-.7.UL
353c0 79 1f 26 c5 56 f3 f2 8b 49 93 c7 33 f3 61 9d 97 4a da ae c9 46 21 eb 91 26 6a d0 5f b1 db b4 14 y.&.V...I..3.a..J...F!..&j._....
353e0 df 12 43 a5 48 59 2b 93 83 85 eb e9 61 85 78 98 b4 32 ef 51 6b fc 6e 23 12 76 82 9b 9b 18 e2 5b ..C.HY+.....a.x..2.Qk.n#.v.....[
35400 26 84 7d 37 71 84 7d 8f 8d fe 4f d5 52 4e e7 61 54 54 92 c2 c2 5b b1 05 63 1c 5c 74 ca 78 95 50 &.}7q.}...O.RN.aTT...[..c.\t.x.P
35420 c3 d6 de d9 a8 b8 d4 4a 8c 5a 86 af 62 55 76 22 bc df f4 bf e1 c7 6d 80 5f 6b 56 b0 df d6 65 e5 .......J.Z..bUv"......m._kV...e.
35440 7a 06 20 05 c9 2f 12 61 5c 0f a2 a0 68 bc 4d 1c cc 19 0e c4 fc 64 9f 7d d4 9f 53 70 b8 e4 35 e6 z..../.a\...h.M......d.}..Sp..5.
35460 7a 81 aa d2 35 e6 d0 a6 25 2b fe ba f7 06 d6 3b 85 0a 4d 54 3f 75 e4 3b b9 2d bb 6d dc 12 bf 31 z...5...%+.....;..MT?u.;.-.m...1
35480 ca 20 01 9e b2 d9 a1 88 f2 1d 69 c2 cc 4b f3 d1 84 41 f5 af 6e 56 8b 2e 81 07 e8 f1 65 c9 91 98 ..........i..K...A..nV......e...
354a0 ef 56 50 65 2f 93 8a ec 39 4a fc 02 fa 63 fb 74 8f 97 7a 50 07 d6 97 53 b5 78 d6 08 76 90 ab f0 .VPe/...9J...c.t..zP...S.x..v...
354c0 37 fe a2 c5 d6 91 f6 79 e3 a4 e2 5c c1 8a 02 23 5a 1a 48 3f 9d 2a e4 e8 27 a8 9b 23 d9 23 a7 6d 7......y...\...#Z.H?.*..'..#.#.m
354e0 61 af d6 28 e2 55 f1 c7 ab 29 f2 b4 19 9b 98 98 77 f4 3a d3 5b 72 3c 6b 25 02 da 59 58 6f e8 cc a..(.U...)......w.:.[r<k%..YXo..
35500 88 b1 3b 80 49 cf 46 a8 c1 76 5e 5a 3a 93 e5 14 67 c6 1d bd 5a d9 6b c7 c6 80 b6 7e 0a 89 fc c8 ..;.I.F..v^Z:...g...Z.k....~....
35520 61 f9 7c 94 31 ed 80 9f 53 fb aa 4f ce 13 f7 b7 4a 55 80 4c ca f6 46 f4 0f 4f 50 ef bd ae 03 cf a.|.1...S..O....JU.L..F..OP.....
35540 fd e3 e6 01 67 47 3e 65 13 0a 29 c5 47 6e c9 59 96 e2 38 57 0a 5c a3 87 6f ac 14 27 e4 e1 5a 61 ....gG>e..).Gn.Y..8W.\..o..'..Za
35560 dd ee ad 5d a6 99 9b f8 e2 e7 07 f6 d1 75 0e c1 2a 61 ba 46 f9 46 80 76 aa 4c 20 6d c3 4a 9d 0b ...].........u..*a.F.F.v.L.m.J..
35580 05 b0 3a cf 71 0e f8 47 52 ba be 4d 84 43 d1 05 e2 9a 3d d3 71 71 5a bf e2 30 46 13 fd 7f 7d 16 ..:.q..GR..M.C....=.qqZ..0F...}.
355a0 d5 92 30 86 a8 b6 f6 bb 38 15 4f 28 7b 37 ef d4 a5 c1 b2 9b 1f 69 6a 32 06 5f 87 ee 0b 6a 7e d3 ..0.....8.O({7.......ij2._...j~.
355c0 88 08 7a a5 71 b5 ef 9d ce ca d6 e1 38 66 67 eb 91 21 17 be 38 e5 90 56 99 22 81 69 ad 15 dd d2 ..z.q.......8fg..!..8..V.".i....
355e0 fd 95 8c c6 12 6f 15 f7 bf 88 8c 44 b3 0a cb 8f 6e 50 9d 3f 1b 42 7f 4b b5 d5 d4 ea 74 36 50 32 .....o.....D....nP.?.B.K....t6P2
35600 f5 9d 85 90 06 36 e8 20 53 7a e6 e8 1d f7 f4 b4 1b 14 17 b9 5d 76 83 b3 9e f9 01 4f 33 8b cb 57 .....6..Sz..........]v.....O3..W
35620 39 5e 24 ae 58 92 ac 68 a6 f7 3b 53 ac 37 54 c3 ee cf 02 ca a0 48 91 bb 93 33 6f bc 6a 45 3b da 9^$.X..h..;S.7T......H...3o.jE;.
35640 b5 87 58 b9 a1 7b 18 85 da cc 61 44 27 17 36 91 d4 a2 df 96 e6 42 ad d0 12 27 cd 97 a1 d7 d6 59 ..X..{....aD'.6......B...'.....Y
35660 ee f1 d3 de 3e 72 a1 7b dd 34 a2 16 0f 27 7b c5 3b 5b b8 5f 04 81 98 88 b8 f4 52 62 50 a3 66 3e ....>r.{.4...'{.;[._......RbP.f>
35680 af d0 61 b6 73 b0 dc c0 41 da 48 bf 0b 37 a1 7d 0a 4d 1f 2f a3 59 bf 0c 39 d7 da 7a 1a b4 b6 92 ..a.s...A.H..7.}.M./.Y..9..z....
356a0 1e cb 2d a5 a6 fc 45 04 3d 86 ee 83 fa 60 fe 15 a3 85 ae 96 28 9b ee ae 1f 9b a2 2d 64 0a 6b 8d ..-...E.=....`......(......-d.k.
356c0 81 71 fa 27 6b 57 63 fe f4 84 e1 4a 48 5e 81 17 1f 03 cc 7f ac c1 df e3 5d 23 fb dc af d9 58 13 .q.'kWc....JH^..........]#....X.
356e0 ab d0 e4 db 41 d3 f9 d2 98 08 ad 37 76 fd bd b6 7c 1d 1e 62 87 2d 85 42 de b7 52 80 a2 0b 23 c4 ....A......7v...|..b.-.B..R...#.
35700 30 6a 0b e8 dd c3 87 23 f7 52 fb 0f a1 3f 09 be cd f6 73 86 71 2a 12 e7 1c 64 ab 5e a2 a4 ae a0 0j.....#.R...?....s.q*...d.^....
35720 f1 b4 4e e9 d5 8e 43 02 b4 e8 26 20 95 f2 ff 34 cd 5f ac b4 4f e4 48 8f 9c 47 09 b4 73 fe 7e 80 ..N...C...&....4._..O.H..G..s.~.
35740 67 c8 0e 68 7c 9b cd 3e fb 30 4c 8c 94 4b 8a 91 81 a3 81 7d da 5f 92 a3 e2 00 00 93 1e af a5 f2 g..h|..>.0L..K.....}._..........
35760 5f 3c dd 90 a2 f4 bb d1 f2 7a be b1 cb 96 02 c3 e6 15 89 e1 47 e1 40 9a d8 6f f4 50 e3 a2 0c 5b _<.......z..........G.@..o.P...[
35780 fb 22 34 fa 99 90 eb d0 33 c4 18 e5 a0 e7 fc 56 3a ea 91 8d a2 04 51 de d0 a1 b2 1e 50 49 bb 2a ."4.....3......V:.....Q.....PI.*
357a0 c2 98 eb e4 b0 e8 48 00 a6 6f ad f3 35 2e 5b 31 38 f6 b1 ec 9f 66 69 0e e4 28 ef d0 73 11 f3 9e ......H..o..5.[18....fi..(..s...
357c0 f8 9a 40 d6 d4 ec 86 ab 98 ef bd b4 42 09 77 29 37 f5 79 f0 c7 94 a0 24 88 9b 40 57 68 03 cc 2e ..@.........B.w)7.y....$..@Wh...
357e0 ca 2e 13 61 c5 a0 67 0d 89 81 41 7c 0e 85 75 93 0f d2 21 b5 a7 a5 7a 0e 1e c7 58 fc dd e4 60 fc ...a..g...A|..u...!...z...X...`.
35800 c4 c7 55 54 54 c2 5f c2 50 4b ea d8 9f ca e2 ab 2f ab be a2 49 cd 76 c5 4c 9e 89 00 83 3e 86 b0 ..UTT._.PK....../...I.v.L....>..
35820 a1 86 cb f7 49 84 6d ae bb 35 8c 8b ff d0 13 61 b4 a9 44 62 3c 81 f6 95 88 05 5f e1 5e 05 08 50 ....I.m..5.....a..Db<....._.^..P
35840 09 09 fd 30 1e d4 99 a1 53 42 f1 43 9c 3e 11 2e ef 3b 76 f9 bf 2b c0 f5 e7 ce 04 91 dd 6b eb b4 ...0....SB.C.>...;v..+.......k..
35860 fd 31 01 35 c8 ca 9e 5b 09 3b b3 92 74 07 89 0f c9 b4 39 1c 03 30 40 50 65 b9 51 cd 90 e2 93 f2 .1.5...[.;..t.....9..0@Pe.Q.....
35880 55 42 62 47 50 92 1e d5 57 57 ba 12 a9 bd a2 b3 c5 8a 2a 68 d8 89 d0 c3 ca ea 7f af dc 4b 67 d5 UBbGP...WW........*h.........Kg.
358a0 e9 c2 7c 5d 45 65 77 50 5a 0b b9 68 b6 c9 cb f5 61 c3 58 6e 08 e6 c0 64 87 53 fc a8 81 06 8d ff ..|]EewPZ..h....a.Xn...d.S......
358c0 46 0a 91 dd 4f 86 3c db 3a dc f7 36 47 62 ee 14 72 0b 91 e1 aa 1c b8 8c 17 89 30 bf 2e db 1a aa F...O.<.:..6Gb..r.........0.....
358e0 54 af ab 25 aa cf 4c 97 3c 82 38 03 9d 24 60 50 aa f2 b0 b1 72 68 46 bd 7c 95 32 4a 04 6f 68 1d T..%..L.<.8..$`P....rhF.|.2J.oh.
35900 36 02 5d e3 04 34 58 9d 16 bb 43 71 aa 30 be 8e 14 74 27 a0 9c 8c 5f 40 73 1f 4c 3c 40 c6 37 72 6.]..4X...Cq.0...t'..._@s.L<@.7r
35920 36 bf 00 b9 cc b3 09 f0 a2 10 82 02 6d 8e 6c 84 df 91 e5 0f 62 22 c2 78 86 00 3f 1b 65 7f 7a 94 6...........m.l.....b".x..?.e.z.
35940 4a f8 17 79 ee 18 40 6f 39 e7 b3 5c f5 ee 9b ea cc 3b 81 6f 45 7e 21 e3 d7 bc ae 0d a6 f4 1d f6 J..y..@o9..\.....;.oE~!.........
35960 b6 58 e8 ec 8e 3e cd d1 63 7b 24 0d 44 f6 18 f9 08 3f a0 4f 4f b6 62 c9 e0 40 77 d4 5c ec 02 cf .X...>..c{$.D....?.OO.b..@w.\...
35980 a0 36 13 80 86 16 1b 02 6b 6e 76 98 77 a3 90 0e 6b 7e 5e 20 aa bf 11 fd 8d 79 94 f1 05 66 53 ba .6......knv.w...k~^......y...fS.
359a0 b3 09 bb 34 e6 fd 6d 5a 61 74 e4 fa dc c3 ee 7c 96 1c 5c 80 8a 8e 58 85 ec 68 c3 c9 e1 c0 61 91 ...4..mZat.....|..\...X..h....a.
359c0 5e dd e2 f8 32 df 26 c8 aa 73 5d be 6a d7 24 94 a0 9c e4 29 67 da 31 30 83 5a ec a9 8c 0b 0c a3 ^...2.&..s].j.$....)g.10.Z......
359e0 11 72 5d 74 ce b5 d2 03 c5 3e e7 35 f2 24 7c 6f 2f 88 58 a8 38 c5 81 75 98 c1 14 a1 2a f4 18 21 .r]t.....>.5.$|o/.X.8..u....*..!
35a00 7d f2 4e 5f e3 3a 36 da 28 0b 6c 27 71 4b 2b 91 4d 33 47 a4 e1 12 59 2d 3b f7 f2 20 5f 92 70 bf }.N_.:6.(.l'qK+.M3G...Y-;..._.p.
35a20 4b 93 39 ba fe bd f6 64 07 a2 a0 fd 3f e0 e7 94 69 0f 6b ef 17 73 ea 0a 22 58 24 c5 64 a5 e2 4e K.9....d....?...i.k..s.."X$.d..N
35a40 4a 39 fe 49 6e 62 d3 92 24 db f9 21 c4 94 32 e3 9d 05 bf f2 ff ea f8 46 02 f3 21 ec d0 ef a4 42 J9.Inb..$..!..2........F..!....B
35a60 31 c8 3e d9 f0 f1 11 96 6d 58 30 1a a7 9d 30 42 c5 94 7c 9a a2 50 b0 3c 3e 3f db 87 e3 c2 04 39 1.>.....mX0...0B..|..P.<>?.....9
35a80 70 ed c0 62 c9 6b 65 22 bb d9 5f 9c bb fd 50 60 be 2a 86 22 51 e3 ea 17 b6 54 9c de eb bb ec 70 p..b.ke".._...P`.*."Q....T.....p
35aa0 73 5c a5 c3 43 46 4e 77 57 ad 37 45 02 1d 3e 43 85 9c e1 73 d5 7f 28 94 cc 62 e6 f9 8b ce 6c 02 s\..CFNwW.7E..>C...s..(..b....l.
35ac0 84 83 be 19 b7 19 21 4f f6 6a 30 55 6e 11 f6 6a 5c 6d b6 4f f8 98 b3 56 fc 5e 72 cd c4 d9 36 07 ......!O.j0Un..j\m.O...V.^r...6.
35ae0 bd ba 40 d9 56 5a 92 c7 21 40 1f 05 18 c8 0d ee 83 31 8c 7a 5b cd e5 1c 58 3d 7f ee f5 e9 5e 8d ..@.VZ..!@.......1.z[...X=....^.
35b00 19 ea 7f 28 76 bb b2 ae 5f 37 54 c9 a4 6b 70 fa fe 2a 9b cc 12 80 64 5a 88 e5 1f 7b 64 1a 5c 48 ...(v..._7T..kp..*....dZ...{d.\H
35b20 c0 7a be 4e d2 00 93 8e 32 99 d5 ad 44 d8 da 76 a3 20 43 6c fe 9d 88 a7 3b 1f e0 a7 f0 25 78 ad .z.N....2...D..v..Cl....;....%x.
35b40 c3 b0 00 cf 24 a6 22 8a 38 b6 4a 3a 93 8e 60 be 79 57 17 04 18 69 c3 d9 4e d5 d1 34 28 e6 87 68 ....$.".8.J:..`.yW...i..N..4(..h
35b60 bd e9 6c 55 fa 71 b5 9d 79 4f 19 61 ea 35 5c 0c f8 7d 47 0b 5e 9d 87 be e1 df f3 81 77 61 0b 0c ..lU.q..yO.a.5\..}G.^.......wa..
35b80 2d 7f 25 20 d5 1e d7 b8 42 df d3 73 b9 4b 37 86 b5 4e 67 a8 0d 64 dd ed 5f fe 75 8f d1 f4 ed 6b -.%.....B..s.K7..Ng..d.._.u....k
35ba0 87 d5 8d 9c 49 08 42 d9 8f 90 0c c0 e1 26 e1 8d 98 39 da a5 01 97 be 55 fb 6c 86 26 07 6f bc be ....I.B......&...9.....U.l.&.o..
35bc0 8a 09 b9 a1 7c 25 d5 ed 1e 54 d3 08 94 0d 34 c5 fd 74 da f1 8c a0 b0 20 d6 63 57 f5 42 57 71 0e ....|%...T....4..t.......cW.BWq.
35be0 22 4e 70 83 63 d0 89 b3 77 05 f3 7d a6 24 6b 28 15 0a 79 78 5c 0e 7a 7b 1b c3 42 28 19 b0 ba 4e "Np.c...w..}.$k(..yx\.z{..B(...N
35c00 85 af 6a 82 0d 50 ec a9 ed 99 61 27 0b 35 b3 27 c3 cd 24 6f 73 af 34 fa 7c 8f 60 0d cc ba dd d7 ..j..P....a'.5.'..$os.4.|.`.....
35c20 6a a6 54 05 0e 22 e5 a7 91 8c 7c 97 98 e1 7c ea 38 6c 13 5a f9 db f6 d1 6e c2 47 2f 4b f8 cb 0e j.T.."....|...|.8l.Z....n.G/K...
35c40 e6 c8 27 b7 f0 e0 79 2c 92 f2 2e d4 a2 26 91 32 85 b1 25 ac 95 b3 c9 60 7c 17 f4 c4 be 39 bf 3f ..'...y,.....&.2..%....`|....9.?
35c60 20 c8 e9 7a bd 6d 77 91 de 6b a5 2c 2f 2a be 11 60 7b d4 0b 8e 2b 3a ea 20 b8 7e 0b 4a 93 f9 11 ...z.mw..k.,/*..`{...+:...~.J...
35c80 8f 83 e5 ca 5f 3b d7 1a 19 a3 b8 71 a0 2f 8c ec 11 08 9b 5e b7 21 ca a7 6f f7 d2 4b a6 2e 04 d3 ...._;.....q./.....^.!..o..K....
35ca0 99 07 98 0b 81 78 f3 d5 64 8f 31 f0 cd ab 3c 0c f1 b0 6d 3b 46 55 9c 38 69 9a 9d 06 2f bf bf 42 .....x..d.1...<...m;FU.8i.../..B
35cc0 9b e1 a3 55 33 3e 57 2a 22 82 92 77 fd 00 a2 dd e5 52 f2 21 fc 4f ae 15 c0 ec f7 55 f7 94 b5 67 ...U3>W*"..w.....R.!.O.....U...g
35ce0 86 41 c7 10 0f c6 cf d1 d3 a5 81 c1 e7 fe 2c ee 78 e2 85 fa 21 e1 0e 20 99 f5 aa 26 ed ec bb 5c .A............,.x...!......&...\
35d00 8a a2 d4 e2 f3 d8 8e f3 ff f4 fa 02 17 a8 dc a4 10 39 54 5e 4f 4f d2 d9 ad 4c f5 c6 5b ad d2 91 .................9T^OO...L..[...
35d20 26 93 2a 33 f6 16 6f 03 7e ac b0 a8 a3 04 b4 dc d1 f5 0b 6b 41 ff 7e c6 7a 92 74 87 10 82 f5 5a &.*3..o.~..........kA.~.z.t....Z
35d40 e8 63 c4 7b dc 88 97 2c 50 02 f0 40 1b dc 99 b6 db f6 1a 68 a3 ca fb 6c be 04 42 a9 99 22 c5 68 .c.{...,P..@.......h...l..B..".h
35d60 37 bb ae eb 65 4a 82 ea a9 ab bb 8e d6 73 be e8 99 7b 35 bc e5 9e fb c2 7e c8 0c b4 e8 4e 3a f5 7...eJ.......s...{5.....~....N:.
35d80 c1 cb e5 0c dc 5b a4 02 a6 f7 ba b7 c2 03 5e ee e0 9d 35 a3 7e ba 77 48 6f 97 9f cf e4 2f df 34 .....[........^...5.~.wHo..../.4
35da0 e4 8d 7e e6 b9 cc 14 d4 c9 ea 71 c1 33 93 13 b7 56 41 49 c6 d6 05 56 8a 8f 01 c1 2a bc 58 b1 b9 ..~.......q.3...VAI...V....*.X..
35dc0 2d 92 98 04 5d 9e fc 7d c9 88 2e 21 b1 5a d3 69 55 6f 66 f3 c5 97 46 59 6c c7 db a4 cc ea 6c 5f -...]..}...!.Z.iUof...FYl.....l_
35de0 65 ca d3 bd 3b 81 7a da 3a e6 82 f3 cc 64 21 f6 27 2e 5f 11 0a 88 24 6c ba b6 d3 91 a7 c3 e8 99 e...;.z.:....d!.'._...$l........
35e00 54 43 40 1e f2 0e dd a2 42 7c 33 ef 6b 1f 33 84 45 fe de 0a 6a 87 d9 04 1d 59 09 a6 fa ed 09 40 TC@.....B|3.k.3.E...j....Y.....@
35e20 48 08 3b 94 38 7e 0c 40 b2 45 5e 67 74 80 58 50 1d ab cb 60 b3 c5 45 30 12 b3 2d 1c 56 16 6c c9 H.;.8~.@.E^gt.XP...`..E0..-.V.l.
35e40 61 7b e6 be 95 22 b4 5b a8 4c 5d fe 17 bd 11 52 c5 cb f8 e7 71 f4 7a ae fb 17 b8 6f 15 f5 8b 61 a{...".[.L]....R....q.z....o...a
35e60 d6 86 93 ab f2 2b 59 da 71 78 3f 51 9d 25 14 ce 76 f1 db 04 ab d1 02 10 b0 e9 a9 58 9f 9d 12 5e .....+Y.qx?Q.%..v..........X...^
35e80 3a f2 84 4f 00 13 79 68 a7 51 b8 56 7b 5b b4 04 f3 d7 d3 d4 db 2b b2 9e 15 6d 4b f3 eb bf 56 e1 :..O..yh.Q.V{[.......+...mK...V.
35ea0 bd 7a 5a fe 0a b6 ae 08 53 b0 f5 54 21 51 5a cd ea 64 1a d2 cf f1 89 df 50 88 49 ee aa 26 5a 6e .zZ.....S..T!QZ..d......P.I..&Zn
35ec0 d5 16 14 af f7 76 14 90 6d 60 3b 45 95 09 1b fc 81 2e 1e 52 36 0e 10 4a 20 d1 11 5d 66 99 e8 96 .....v..m`;E.......R6..J...]f...
35ee0 7f 27 67 fb 2a 64 46 e9 91 83 c4 eb ec eb 46 7b 47 1d db 01 fc 9d ef 0f 7e 2f 0f 31 b8 b7 ac 0c .'g.*dF.......F{G.......~/.1....
35f00 a7 59 36 7a 4c b5 b2 82 2f b6 77 02 50 55 26 7d 13 b1 9c f2 b7 b4 df 81 c7 2b 45 35 89 d7 1f 48 .Y6zL.../.w.PU&}.........+E5...H
35f20 7e 44 04 14 0c 13 b2 b5 af 8d 32 5e 03 28 77 db 82 8e 41 dc 9f 15 c3 03 2f b9 1e a3 8a 18 55 dd ~D........2^.(w...A...../.....U.
35f40 f2 98 7d 6d 44 cf 02 3a 4d 84 eb 08 c4 9f 62 7c 1a 2b d7 9e ef de 8e fe 53 93 73 b6 62 c2 3b ad ..}mD..:M.....b|.+......S.s.b.;.
35f60 e8 b6 24 65 71 31 9c eb 12 5c c4 0b ce 87 f7 c7 b5 42 a6 ae 4e f0 88 88 4c 9c 40 2e 6e 7d 6e fa ..$eq1...\.......B..N...L.@.n}n.
35f80 8b b5 c8 8b 71 7f 37 ec f0 78 9d 79 cf cc aa 43 97 40 7b 49 72 50 71 14 bc 9f f7 73 fe 33 5a 47 ....q.7..x.y...C.@{IrPq....s.3ZG
35fa0 de c2 d0 e8 f1 f4 c3 4f cf 3d 87 25 c6 6d 79 78 d1 6b b3 74 90 86 e4 d8 39 b2 b8 8b fa 7d 47 15 .......O.=.%.myx.k.t....9....}G.
35fc0 7d d7 bd b2 ba eb 5b 47 a9 1a 5c 67 a0 8c a1 cf e4 fd 1c 13 28 7f c9 d0 af 96 bb b3 8c e3 15 b9 }.....[G..\g........(...........
35fe0 05 bb 65 64 9a 83 ab 15 9c cc 6b 7f d2 04 c7 78 10 49 e6 17 52 96 2e 2e 5e 86 ba 38 6d 9b 94 d2 ..ed......k....x.I..R...^..8m...
36000 88 ca e5 c4 d0 5f ab 91 c4 b3 34 8e 72 51 77 03 48 40 e1 8a ec b4 4e bd 21 24 a4 3b fd 0f 1e 7c ....._....4.rQw.H@....N.!$.;...|
36020 f7 ac 95 d3 60 9a 4e 1d b5 c9 7d fa 57 0d 41 25 74 84 d5 6e 1a c5 2c 4c c8 49 e1 a5 b8 bf f1 8d ....`.N...}.W.A%t..n..,L.I......
36040 55 df 29 f8 24 4c 33 e1 3c 47 7a 87 0a 92 59 12 4f c9 10 6b c8 66 2d 20 37 b2 e2 6b 7b c4 a6 69 U.).$L3.<Gz...Y.O..k.f-.7..k{..i
36060 e3 c2 9a 5b 44 33 fb 22 73 80 1d 55 a0 11 03 e8 fc 7e 0b bc 7a c1 c7 f2 59 81 3c bf 83 ff b6 88 ...[D3."s..U.....~..z...Y.<.....
36080 63 b7 f1 dd 59 f4 ee d6 0c 94 ac ff fe e5 bd 5b f8 22 da 07 62 2f 00 00 00 00 00 00 6f 12 00 00 c...Y..........[."..b/......o...
360a0 00 00 00 00 4c 5a 49 50 01 0c 00 83 ff fb ff ff c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ....LZIP........................
360c0 24 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 $...............................
360e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
361a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
361c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
361e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36200 6c 7a 69 70 2d 31 2e 32 33 2f 74 65 73 74 73 75 69 74 65 2f 66 6f 78 5f 73 31 31 2e 6c 7a 00 00 lzip-1.23/testsuite/fox_s11.lz..
36220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
36280 30 30 30 30 31 32 30 00 31 32 33 34 37 34 32 37 34 35 34 00 30 31 36 33 30 30 00 20 30 00 00 00 0000120.12347427454.016300..0...
362a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
362c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
362e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36300 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
36320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
36340 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
36360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
363a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
363c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
363e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36400 4c 5a 49 50 01 0b 00 2a 1a 08 a2 03 25 66 f1 4b 78 c5 a2 05 ff 2e e6 d9 d2 20 1a ad 34 f8 e2 1d LZIP...*....%f.Kx...........4...
36420 e8 41 36 fa dc 06 69 bb 3c e4 10 34 27 09 eb b3 66 e3 ec 97 ea ae 23 ff fe 8e a0 00 6a cc 50 eb .A6...i.<..4'...f.....#.....j.P.
36440 2d 00 00 00 00 00 00 00 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -.......P.......................
36460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
364a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
364c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
364e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
365a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
365c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
365e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36600 6c 7a 69 70 2d 31 2e 32 33 2f 74 65 73 74 73 75 69 74 65 2f 66 6f 78 5f 6d 65 73 38 31 2e 6c 7a lzip-1.23/testsuite/fox_mes81.lz
36620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
36680 30 30 30 30 31 32 30 00 31 32 33 34 37 34 32 37 34 35 34 00 30 31 36 36 33 31 00 20 30 00 00 00 0000120.12347427454.016631..0...
366a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
366c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
366e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36700 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
36720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
36740 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
36760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
367a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
367c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
367e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36800 4c 5a 49 50 01 0c 00 2a 1a 08 a2 03 25 66 f1 4b 78 c5 a2 05 ff 2e e6 d9 d2 20 1a ad 34 f8 e2 1d LZIP...*....%f.Kx...........4...
36820 e8 41 36 fa dc 06 69 bb 3c e4 10 34 27 09 eb b3 66 e3 ec 97 ea ae 23 ff fe 8e a0 00 6a cc 50 eb .A6...i.<..4'...f.....#.....j.P.
36840 2d 00 00 00 00 00 00 00 51 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -.......Q.......................
36860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
368a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
368c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
368e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
369a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
369c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
369e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36a00 6c 7a 69 70 2d 31 2e 32 33 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.23/testsuite/check.sh....
36a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36a60 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
36a80 30 30 34 30 32 31 31 00 31 34 31 37 32 36 34 35 36 32 35 00 30 31 36 30 37 32 00 20 30 00 00 00 0040211.14172645625.016072..0...
36aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36b00 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
36b20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
36b40 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
36b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36c00 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
36c20 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
36c40 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 32 32 20 41 6e 74 or.#.Copyright.(C).2008-2022.Ant
36c60 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.
36c80 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
36ca0 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
36cc0 69 62 75 74 65 2c 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 ibute,.and.modify.it...LC_ALL=C.
36ce0 65 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 export.LC_ALL.objdir=`pwd`.testd
36d00 69 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 ir=`cd."$1".;.pwd`.LZIP="${objdi
36d20 72 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 r}"/lzip.framework_failure().{.e
36d40 63 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 cho."failure.in.testing.framewor
36d60 6b 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 k".;.exit.1.;.}..if.[.!.-f."${LZ
36d80 49 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 IP}".].||.[.!.-x."${LZIP}".].;.t
36da0 68 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 hen..echo."${LZIP}:.cannot.execu
36dc0 74 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 te"..exit.1.fi..[.-e."${LZIP}".]
36de0 20 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 .2>./dev/null.||..{..echo."$0:.a
36e00 20 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 .POSIX.shell.is.required.to.run.
36e20 74 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 the.tests"..echo."Try.bash.-c.\"
36e40 24 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 $0.$1.$2\""..exit.1..}..if.[.-d.
36e60 74 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 tmp.].;.then.rm.-rf.tmp.;.fi.mkd
36e80 69 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 ir.tmp.cd."${objdir}"/tmp.||.fra
36ea0 6d 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 mework_failure..cat."${testdir}"
36ec0 2f 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 /test.txt.>.in.||.framework_fail
36ee0 75 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 ure.in_lz="${testdir}"/test.txt.
36f00 6c 7a 0a 69 6e 5f 65 6d 3d 22 24 7b 74 65 73 74 64 69 72 7d 22 2f 74 65 73 74 5f 65 6d 2e 74 78 lz.in_em="${testdir}"/test_em.tx
36f20 74 2e 6c 7a 0a 66 6f 78 5f 6c 7a 3d 22 24 7b 74 65 73 74 64 69 72 7d 22 2f 66 6f 78 2e 6c 7a 0a t.lz.fox_lz="${testdir}"/fox.lz.
36f40 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 3b 20 fail=0.test_failed().{.fail=1.;.
36f60 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 70 72 printf.".$1".;.[.-z."$2".].||.pr
36f80 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 6e 67 intf."($2)".;.}..printf."testing
36fa0 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 66 6b .lzip-%s..."."$2".."${LZIP}".-fk
36fc0 71 6d 34 20 69 6e 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 qm4.in.[.$?.=.1.].||.test_failed
36fe0 20 24 4c 49 4e 45 4e 4f 0a 5b 20 21 20 2d 65 20 69 6e 2e 6c 7a 20 5d 20 7c 7c 20 74 65 73 74 5f .$LINENO.[.!.-e.in.lz.].||.test_
37000 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 66 6b 71 6d 32 37 failed.$LINENO."${LZIP}".-fkqm27
37020 34 20 69 6e 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 4.in.[.$?.=.1.].||.test_failed.$
37040 4c 49 4e 45 4e 4f 0a 5b 20 21 20 2d 65 20 69 6e 2e 6c 7a 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 LINENO.[.!.-e.in.lz.].||.test_fa
37060 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 73 69 7a 65 20 2d iled.$LINENO.for.i.in.bad_size.-
37080 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 45 20 31 5a 20 31 1.0.4095.513MiB.1G.1T.1P.1E.1Z.1
370a0 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 71 73 20 24 69 20 Y.10KB.;.do.."${LZIP}".-fkqs.$i.
370c0 69 6e 0a 09 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 in..[.$?.=.1.].||.test_failed.$L
370e0 49 4e 45 4e 4f 20 24 69 0a 09 5b 20 21 20 2d 65 20 69 6e 2e 6c 7a 20 5d 20 7c 7c 20 74 65 73 74 INENO.$i..[.!.-e.in.lz.].||.test
37100 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 69 0a 64 6f 6e 65 0a 22 24 7b 4c 5a 49 50 7d _failed.$LINENO.$i.done."${LZIP}
37120 22 20 2d 6c 71 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 ".-lq.in.[.$?.=.2.].||.test_fail
37140 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 69 6e 0a 5b 20 24 3f ed.$LINENO."${LZIP}".-tq.in.[.$?
37160 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."$
37180 7b 4c 5a 49 50 7d 22 20 2d 74 71 20 3c 20 69 6e 0a 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 {LZIP}".-tq.<.in.[.$?.=.2.].||.t
371a0 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 63 64 est_failed.$LINENO."${LZIP}".-cd
371c0 71 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 q.in.[.$?.=.2.].||.test_failed.$
371e0 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 64 71 20 3c 20 69 6e 0a 5b 20 24 3f 20 LINENO."${LZIP}".-cdq.<.in.[.$?.
37200 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 7b =.2.].||.test_failed.$LINENO."${
37220 4c 5a 49 50 7d 22 20 2d 64 71 20 2d 6f 20 69 6e 20 3c 20 22 24 7b 69 6e 5f 6c 7a 7d 22 0a 5b 20 LZIP}".-dq.-o.in.<."${in_lz}".[.
37240 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 0a $?.=.1.].||.test_failed.$LINENO.
37260 22 24 7b 4c 5a 49 50 7d 22 20 2d 64 71 20 2d 6f 20 69 6e 20 22 24 7b 69 6e 5f 6c 7a 7d 22 0a 5b "${LZIP}".-dq.-o.in."${in_lz}".[
37280 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
372a0 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 64 71 20 2d 6f 20 6f 75 74 20 6e 78 5f 66 69 6c 65 2e 6c 7a ."${LZIP}".-dq.-o.out.nx_file.lz
372c0 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
372e0 4e 4f 0a 5b 20 21 20 2d 65 20 6f 75 74 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 NO.[.!.-e.out.].||.test_failed.$
37300 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 71 20 2d 6f 20 6f 75 74 2e 6c 7a 20 6e 78 LINENO."${LZIP}".-q.-o.out.lz.nx
37320 5f 66 69 6c 65 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 _file.[.$?.=.1.].||.test_failed.
37340 24 4c 49 4e 45 4e 4f 0a 5b 20 21 20 2d 65 20 6f 75 74 2e 6c 7a 20 5d 20 7c 7c 20 74 65 73 74 5f $LINENO.[.!.-e.out.lz.].||.test_
37360 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 71 66 20 2d 53 31 failed.$LINENO."${LZIP}".-qf.-S1
37380 30 30 6b 20 2d 6f 20 6f 75 74 20 69 6e 20 69 6e 0a 5b 20 24 3f 20 3d 20 31 20 5d 20 7c 7c 20 74 00k.-o.out.in.in.[.$?.=.1.].||.t
373a0 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 66 est_failed.$LINENO.#.these.are.f
373c0 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 22 or.code.coverage."${LZIP}".-lt."
373e0 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 20 ${in_lz}".2>./dev/null.[.$?.=.1.
37400 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 50 ].||.test_failed.$LINENO."${LZIP
37420 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 76 }".-cdl."${in_lz}".>.out.2>./dev
37440 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 20 /null.[.$?.=.1.].||.test_failed.
37460 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 7d $LINENO."${LZIP}".-cdt."${in_lz}
37480 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 20 ".>.out.2>./dev/null.[.$?.=.1.].
374a0 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}"
374c0 20 2d 74 20 2d 2d 20 6e 78 5f 66 69 6c 65 2e 6c 7a 20 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c 0a 5b .-t.--.nx_file.lz.2>./dev/null.[
374e0 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
37500 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 20 22 22 20 3c 20 2f 64 65 76 2f 6e 75 6c 6c 20 32 3e 20 ."${LZIP}".-t."".<./dev/null.2>.
37520 2f 64 65 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 /dev/null.[.$?.=.1.].||.test_fai
37540 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 2d 68 65 6c 70 20 3e 20 2f led.$LINENO."${LZIP}".--help.>./
37560 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 4c 49 4e 45 4e 4f 0a dev/null.||.test_failed.$LINENO.
37580 22 24 7b 4c 5a 49 50 7d 22 20 2d 6e 31 20 2d 56 20 3e 20 2f 64 65 76 2f 6e 75 6c 6c 20 7c 7c 20 "${LZIP}".-n1.-V.>./dev/null.||.
375a0 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 6d test_failed.$LINENO."${LZIP}".-m
375c0 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 74 65 73 74 .2>./dev/null.[.$?.=.1.].||.test
375e0 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 7a 20 32 3e 20 _failed.$LINENO."${LZIP}".-z.2>.
37600 2f 64 65 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 /dev/null.[.$?.=.1.].||.test_fai
37620 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 2d 62 61 64 5f 6f 70 74 69 led.$LINENO."${LZIP}".--bad_opti
37640 6f 6e 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 74 65 on.2>./dev/null.[.$?.=.1.].||.te
37660 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 2d 74 20 st_failed.$LINENO."${LZIP}".--t.
37680 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 74 65 73 74 5f 2>./dev/null.[.$?.=.1.].||.test_
376a0 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 2d 74 65 73 74 3d failed.$LINENO."${LZIP}".--test=
376c0 32 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 74 65 73 2.2>./dev/null.[.$?.=.1.].||.tes
376e0 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 2d 6f 75 74 t_failed.$LINENO."${LZIP}".--out
37700 70 75 74 3d 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 put=.2>./dev/null.[.$?.=.1.].||.
37720 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 2d test_failed.$LINENO."${LZIP}".--
37740 6f 75 74 70 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 20 7c output.2>./dev/null.[.$?.=.1.].|
37760 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 22 4c 5a |.test_failed.$LINENO.printf."LZ
37780 49 50 5c 30 30 31 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\001-.........................
377a0 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
377c0 6c 6c 0a 70 72 69 6e 74 66 20 22 4c 5a 49 50 5c 30 30 32 2d 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e ll.printf."LZIP\002-............
377e0 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}".
37800 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 49 50 5c 30 30 31 -t.2>./dev/null.printf."LZIP\001
37820 2b 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 2e 2e 2e 2e 2e 22 +.............................."
37840 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 6c 6c 0a 72 6d 20 .|."${LZIP}".-t.2>./dev/null.rm.
37860 2d 66 20 6f 75 74 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 0a 70 72 69 -f.out.||.framework_failure..pri
37880 6e 74 66 20 22 5c 6e 74 65 73 74 69 6e 67 20 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 2e 2e 2e 22 ntf."\ntesting.decompression..."
378a0 0a 0a 66 6f 72 20 69 20 69 6e 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 22 24 7b 69 6e 5f 65 6d 7d 22 ..for.i.in."${in_lz}"."${in_em}"
378c0 20 3b 20 64 6f 0a 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 6c 71 20 22 24 69 22 20 7c 7c 20 74 65 73 .;.do.."${LZIP}".-lq."$i".||.tes
378e0 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 22 24 69 22 0a 09 22 24 7b 4c 5a 49 50 7d 22 t_failed.$LINENO."$i".."${LZIP}"
37900 20 2d 74 20 22 24 69 22 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 .-t."$i".||.test_failed.$LINENO.
37920 22 24 69 22 0a 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 64 20 22 24 69 22 20 2d 6f 20 63 6f 70 79 20 "$i".."${LZIP}".-d."$i".-o.copy.
37940 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 22 24 69 22 0a 09 63 6d 70 ||.test_failed.$LINENO."$i"..cmp
37960 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.
37980 22 24 69 22 0a 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 64 20 22 24 69 22 20 3e 20 63 6f 70 79 20 "$i".."${LZIP}".-cd."$i".>.copy.
379a0 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 22 24 69 22 0a 09 63 6d 70 ||.test_failed.$LINENO."$i"..cmp
379c0 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.
379e0 22 24 69 22 0a 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 64 20 22 24 69 22 20 2d 6f 20 2d 20 3e 20 63 "$i".."${LZIP}".-d."$i".-o.-.>.c
37a00 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 22 24 69 22 0a opy.||.test_failed.$LINENO."$i".
37a20 09 63 6d 70 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 .cmp.in.copy.||.test_failed.$LIN
37a40 45 4e 4f 20 22 24 69 22 0a 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 64 20 3c 20 22 24 69 22 20 3e 20 ENO."$i".."${LZIP}".-d.<."$i".>.
37a60 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 22 24 69 22 copy.||.test_failed.$LINENO."$i"
37a80 0a 09 63 6d 70 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 ..cmp.in.copy.||.test_failed.$LI
37aa0 4e 45 4e 4f 20 22 24 69 22 0a 09 72 6d 20 2d 66 20 63 6f 70 79 20 7c 7c 20 66 72 61 6d 65 77 6f NENO."$i"..rm.-f.copy.||.framewo
37ac0 72 6b 5f 66 61 69 6c 75 72 65 0a 64 6f 6e 65 0a 0a 6c 69 6e 65 73 3d 24 28 22 24 7b 4c 5a 49 50 rk_failure.done..lines=$("${LZIP
37ae0 7d 22 20 2d 74 76 76 20 22 24 7b 69 6e 5f 65 6d 7d 22 20 32 3e 26 31 20 7c 20 77 63 20 2d 6c 29 }".-tvv."${in_em}".2>&1.|.wc.-l)
37b00 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 5b 20 22 24 7b 6c 69 6e .||.test_failed.$LINENO.[."${lin
37b20 65 73 7d 22 20 2d 65 71 20 38 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e es}".-eq.8.].||.test_failed.$LIN
37b40 45 4e 4f 20 22 24 7b 6c 69 6e 65 73 7d 22 0a 0a 6c 69 6e 65 73 3d 24 28 22 24 7b 4c 5a 49 50 7d ENO."${lines}"..lines=$("${LZIP}
37b60 22 20 2d 6c 76 76 20 22 24 7b 69 6e 5f 65 6d 7d 22 20 7c 20 77 63 20 2d 6c 29 20 7c 7c 20 74 65 ".-lvv."${in_em}".|.wc.-l).||.te
37b80 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 5b 20 22 24 7b 6c 69 6e 65 73 7d 22 20 2d st_failed.$LINENO.[."${lines}".-
37ba0 65 71 20 31 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 20 22 eq.11.].||.test_failed.$LINENO."
37bc0 24 7b 6c 69 6e 65 73 7d 22 0a 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 64 20 22 24 7b 66 6f 78 5f ${lines}".."${LZIP}".-cd."${fox_
37be0 6c 7a 7d 22 20 3e 20 66 6f 78 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e lz}".>.fox.||.test_failed.$LINEN
37c00 4f 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 O.cat."${in_lz}".>.copy.lz.||.fr
37c20 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 6b 20 63 6f amework_failure."${LZIP}".-dk.co
37c40 70 79 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 63 6d 70 py.lz.||.test_failed.$LINENO.cmp
37c60 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 0a .in.copy.||.test_failed.$LINENO.
37c80 63 61 74 20 66 6f 78 20 3e 20 63 6f 70 79 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c cat.fox.>.copy.||.framework_fail
37ca0 75 72 65 0a 63 61 74 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 3e 20 6f 75 74 2e 6c 7a 20 7c 7c 20 66 ure.cat."${in_lz}".>.out.lz.||.f
37cc0 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 72 6d 20 2d 66 20 6f 75 74 20 7c 7c 20 66 72 ramework_failure.rm.-f.out.||.fr
37ce0 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
37d00 79 2e 6c 7a 20 6f 75 74 2e 6c 7a 20 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c 09 23 20 73 6b 69 70 20 y.lz.out.lz.2>./dev/null.#.skip.
37d20 63 6f 70 79 2c 20 64 65 63 6f 6d 70 72 65 73 73 20 6f 75 74 0a 5b 20 24 3f 20 3d 20 31 20 5d 20 copy,.decompress.out.[.$?.=.1.].
37d40 7c 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 66 6f 78 20 63 ||.test_failed.$LINENO.cmp.fox.c
37d60 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 0a 63 6d 70 20 69 opy.||.test_failed.$LINENO.cmp.i
37d80 6e 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 0a 22 24 7b n.out.||.test_failed.$LINENO."${
37da0 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 74 5f 66 61 69 6c 65 LZIP}".-df.copy.lz.||.test_faile
37dc0 64 20 24 4c 49 4e 45 4e 4f 0a 5b 20 21 20 2d 65 20 63 6f 70 79 2e 6c 7a 20 5d 20 7c 7c 20 74 65 d.$LINENO.[.!.-e.copy.lz.].||.te
37de0 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 7c 7c st_failed.$LINENO.cmp.in.copy.||
37e00 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 70 79 20 .test_failed.$LINENO.rm.-f.copy.
37e20 6f 75 74 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 0a 63 61 74 20 22 24 out.||.framework_failure..cat."$
37e40 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 5f {in_lz}".>.copy.lz.||.framework_
37e60 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 30 6b 20 63 6f 70 79 failure."${LZIP}".-d.-S100k.copy
37e80 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 09 23 20 69 67 6e .lz.||.test_failed.$LINENO.#.ign
37ea0 6f 72 65 20 2d 53 0a 5b 20 21 20 2d 65 20 63 6f 70 79 2e 6c 7a 20 5d 20 7c 7c 20 74 65 73 74 5f ore.-S.[.!.-e.copy.lz.].||.test_
37ec0 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 7c 7c 20 74 65 failed.$LINENO.cmp.in.copy.||.te
37ee0 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 6f 20 62 65 st_failed.$LINENO..printf."to.be
37f00 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 65 77 6f 72 .overwritten".>.copy.||.framewor
37f20 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 6f 70 79 20 k_failure."${LZIP}".-df.-o.copy.
37f40 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 24 4c 49 4e <."${in_lz}".||.test_failed.$LIN
37f60 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 65 64 20 24 ENO.cmp.in.copy.||.test_failed.$
37f80 4c 49 4e 45 4e 4f 0a 72 6d 20 2d 66 20 6f 75 74 20 63 6f 70 79 20 7c 7c 20 66 72 61 6d 65 77 6f LINENO.rm.-f.out.copy.||.framewo
37fa0 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 6f 20 2e 2f 2d 20 22 rk_failure."${LZIP}".-d.-o../-."
37fc0 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 49 4e 45 4e 4f ${in_lz}".||.test_failed.$LINENO
37fe0 0a 63 6d 70 20 69 6e 20 2e 2f 2d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 .cmp.in../-.||.test_failed.$LINE
38000 4e 4f 0a 72 6d 20 2d 66 20 2e 2f 2d 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 NO.rm.-f../-.||.framework_failur
38020 65 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 64 20 2d 6f 20 2e 2f 2d 20 3c 20 22 24 7b 69 6e 5f 6c 7a e."${LZIP}".-d.-o../-.<."${in_lz
38040 7d 22 20 7c 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 }".||.test_failed.$LINENO.cmp.in
38060 20 2e 2f 2d 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 ../-.||.test_failed.$LINENO.rm.-
38080 66 20 2e 2f 2d 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 0a 63 61 74 20 f../-.||.framework_failure..cat.
380a0 22 24 7b 69 6e 5f 6c 7a 7d 22 20 3e 20 61 6e 79 6f 74 68 65 72 6e 61 6d 65 20 7c 7c 20 66 72 61 "${in_lz}".>.anyothername.||.fra
380c0 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 76 20 2d 20 61 mework_failure."${LZIP}".-dv.-.a
380e0 6e 79 6f 74 68 65 72 6e 61 6d 65 20 2d 20 3c 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 3e 20 63 6f 70 nyothername.-.<."${in_lz}".>.cop
38100 79 20 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c 20 7c 7c 0a 09 74 65 73 74 5f 66 61 69 6c 65 64 20 24 y.2>./dev/null.||..test_failed.$
38120 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 65 LINENO.cmp.in.copy.||.test_faile
38140 64 20 24 4c 49 4e 45 4e 4f 0a 63 6d 70 20 69 6e 20 61 6e 79 6f 74 68 65 72 6e 61 6d 65 2e 6f 75 d.$LINENO.cmp.in.anyothername.ou
38160 74 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 t.||.test_failed.$LINENO.rm.-f.c
38180 6f 70 79 20 61 6e 79 6f 74 68 65 72 6e 61 6d 65 2e 6f 75 74 20 7c 7c 20 66 72 61 6d 65 77 6f 72 opy.anyothername.out.||.framewor
381a0 6b 5f 66 61 69 6c 75 72 65 0a 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 6c 71 20 69 6e 20 22 24 7b 69 k_failure.."${LZIP}".-lq.in."${i
381c0 6e 5f 6c 7a 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 n_lz}".[.$?.=.2.].||.test_failed
381e0 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 6c 71 20 6e 78 5f 66 69 6c 65 2e 6c .$LINENO."${LZIP}".-lq.nx_file.l
38200 7a 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 74 65 73 74 5f z."${in_lz}".[.$?.=.1.].||.test_
38220 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 69 6e 20 failed.$LINENO."${LZIP}".-tq.in.
38240 22 24 7b 69 6e 5f 6c 7a 7d 22 0a 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 "${in_lz}".[.$?.=.2.].||.test_fa
38260 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 6e 78 5f 66 69 iled.$LINENO."${LZIP}".-tq.nx_fi
38280 6c 65 2e 6c 7a 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 74 le.lz."${in_lz}".[.$?.=.1.].||.t
382a0 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 63 64 est_failed.$LINENO."${LZIP}".-cd
382c0 71 20 69 6e 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 3e 20 63 6f 70 79 0a 5b 20 24 3f 20 3d 20 32 20 q.in."${in_lz}".>.copy.[.$?.=.2.
382e0 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 63 61 74 20 63 6f 70 ].||.test_failed.$LINENO.cat.cop
38300 79 20 69 6e 20 7c 20 63 6d 70 20 69 6e 20 2d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 y.in.|.cmp.in.-.||.test_failed.$
38320 4c 49 4e 45 4e 4f 09 09 23 20 63 6f 70 79 20 6d 75 73 74 20 62 65 20 65 6d 70 74 79 0a 22 24 7b LINENO..#.copy.must.be.empty."${
38340 4c 5a 49 50 7d 22 20 2d 63 64 71 20 6e 78 5f 66 69 6c 65 2e 6c 7a 20 22 24 7b 69 6e 5f 6c 7a 7d LZIP}".-cdq.nx_file.lz."${in_lz}
38360 22 20 3e 20 63 6f 70 79 0a 5b 20 24 3f 20 3d 20 31 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c ".>.copy.[.$?.=.1.].||.test_fail
38380 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 66 ed.$LINENO.cmp.in.copy.||.test_f
383a0 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 72 6d 20 2d 66 20 63 6f 70 79 20 7c 7c 20 66 72 61 6d ailed.$LINENO.rm.-f.copy.||.fram
383c0 65 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 3e 20 63 ework_failure.cat."${in_lz}".>.c
383e0 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 72 65 0a 66 6f 72 20 opy.lz.||.framework_failure.for.
38400 69 20 69 6e 20 31 20 32 20 33 20 34 20 35 20 36 20 37 20 3b 20 64 6f 0a 09 70 72 69 6e 74 66 20 i.in.1.2.3.4.5.6.7.;.do..printf.
38420 22 67 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 "g".>>.copy.lz.||.framework_fail
38440 75 72 65 0a 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 61 6c 76 76 20 63 6f 70 79 2e 6c 7a 20 22 24 7b ure.."${LZIP}".-alvv.copy.lz."${
38460 69 6e 5f 6c 7a 7d 22 20 3e 20 2f 64 65 76 2f 6e 75 6c 6c 20 32 3e 26 31 0a 09 5b 20 24 3f 20 3d in_lz}".>./dev/null.2>&1..[.$?.=
38480 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 09 .2.].||.test_failed.$LINENO.$i..
384a0 22 24 7b 4c 5a 49 50 7d 22 20 2d 61 74 76 76 76 76 20 63 6f 70 79 2e 6c 7a 20 22 24 7b 69 6e 5f "${LZIP}".-atvvvv.copy.lz."${in_
384c0 6c 7a 7d 22 20 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c 0a 09 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c lz}".2>./dev/null..[.$?.=.2.].||
384e0 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 22 24 7b .test_failed.$LINENO.$i.done."${
38500 4c 5a 49 50 7d 22 20 2d 64 71 20 69 6e 20 63 6f 70 79 2e 6c 7a 0a 5b 20 24 3f 20 3d 20 32 20 5d LZIP}".-dq.in.copy.lz.[.$?.=.2.]
38520 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 5b 20 2d 65 20 63 6f 70 .||.test_failed.$LINENO.[.-e.cop
38540 79 2e 6c 7a 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 5b 20 y.lz.].||.test_failed.$LINENO.[.
38560 21 20 2d 65 20 63 6f 70 79 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 !.-e.copy.].||.test_failed.$LINE
38580 4e 4f 0a 5b 20 21 20 2d 65 20 69 6e 2e 6f 75 74 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 NO.[.!.-e.in.out.].||.test_faile
385a0 64 20 24 4c 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 d.$LINENO."${LZIP}".-dq.nx_file.
385c0 6c 7a 20 63 6f 70 79 2e 6c 7a 0a 5b 20 24 3f 20 3d 20 31 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 lz.copy.lz.[.$?.=.1.].||.test_fa
385e0 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 5b 20 21 20 2d 65 20 63 6f 70 79 2e 6c 7a 20 5d 20 7c 7c iled.$LINENO.[.!.-e.copy.lz.].||
38600 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 5b 20 21 20 2d 65 20 6e 78 5f 66 .test_failed.$LINENO.[.!.-e.nx_f
38620 69 6c 65 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 63 6d 70 ile.].||.test_failed.$LINENO.cmp
38640 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 0a .in.copy.||.test_failed.$LINENO.
38660 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 77 6f 72 6b 5f 66 61 .cat.in.in.>.in2.||.framework_fa
38680 69 6c 75 72 65 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 6c 71 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 22 ilure."${LZIP}".-lq."${in_lz}"."
386a0 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 49 4e 45 4e 4f ${in_lz}".||.test_failed.$LINENO
386c0 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 22 24 7b 69 6e 5f 6c ."${LZIP}".-t."${in_lz}"."${in_l
386e0 7a 7d 22 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 z}".||.test_failed.$LINENO."${LZ
38700 49 50 7d 22 20 2d 63 64 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 2d IP}".-cd."${in_lz}"."${in_lz}".-
38720 6f 20 6f 75 74 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 o.out.>.copy2.||.test_failed.$LI
38740 4e 45 4e 4f 0a 5b 20 21 20 2d 65 20 6f 75 74 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 NENO.[.!.-e.out.].||.test_failed
38760 20 24 4c 49 4e 45 4e 4f 09 09 09 23 20 6f 76 65 72 72 69 64 65 20 2d 6f 0a 63 6d 70 20 69 6e 32 .$LINENO...#.override.-o.cmp.in2
38780 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 72 6d .copy2.||.test_failed.$LINENO.rm
387a0 20 2d 66 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 .-f.copy2.||.framework_failure."
387c0 24 7b 4c 5a 49 50 7d 22 20 2d 64 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 22 24 7b 69 6e 5f 6c 7a 7d ${LZIP}".-d."${in_lz}"."${in_lz}
387e0 22 20 2d 6f 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 ".-o.copy2.||.test_failed.$LINEN
38800 4f 0a 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 O.cmp.in2.copy2.||.test_failed.$
38820 4c 49 4e 45 4e 4f 0a 72 6d 20 2d 66 20 63 6f 70 79 32 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f LINENO.rm.-f.copy2.||.framework_
38840 66 61 69 6c 75 72 65 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 failure..cat."${in_lz}"."${in_lz
38860 7d 22 20 3e 20 63 6f 70 79 32 2e 6c 7a 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 }".>.copy2.lz.||.framework_failu
38880 72 65 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 32 2e 6c re.printf."\ngarbage".>>.copy2.l
388a0 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 50 7d 22 z.||.framework_failure."${LZIP}"
388c0 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 20 7c 7c .-tvvvv.copy2.lz.2>./dev/null.||
388e0 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}".-
38900 61 6c 71 20 63 6f 70 79 32 2e 6c 7a 0a 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f alq.copy2.lz.[.$?.=.2.].||.test_
38920 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 74 71 20 63 6f failed.$LINENO."${LZIP}".-atq.co
38940 70 79 32 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 64 py2.lz.[.$?.=.2.].||.test_failed
38960 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 61 74 71 20 3c 20 63 6f 70 79 32 2e .$LINENO."${LZIP}".-atq.<.copy2.
38980 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 64 20 24 4c 49 lz.[.$?.=.2.].||.test_failed.$LI
389a0 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 61 64 6b 71 20 63 6f 70 79 32 2e 6c 7a 0a 5b 20 NENO."${LZIP}".-adkq.copy2.lz.[.
389c0 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 0a $?.=.2.].||.test_failed.$LINENO.
389e0 5b 20 21 20 2d 65 20 63 6f 70 79 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c [.!.-e.copy2.].||.test_failed.$L
38a00 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 3c INENO."${LZIP}".-adkq.-o.copy2.<
38a20 20 63 6f 70 79 32 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 .copy2.lz.[.$?.=.2.].||.test_fai
38a40 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 5b 20 21 20 2d 65 20 63 6f 70 79 32 20 5d 20 7c 7c 20 74 65 led.$LINENO.[.!.-e.copy2.].||.te
38a60 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 22 74 6f 20 62 65 20 st_failed.$LINENO.printf."to.be.
38a80 6f 76 65 72 77 72 69 74 74 65 6e 22 20 3e 20 63 6f 70 79 32 20 7c 7c 20 66 72 61 6d 65 77 6f 72 overwritten".>.copy2.||.framewor
38aa0 6b 5f 66 61 69 6c 75 72 65 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 64 66 20 63 6f 70 79 32 2e 6c 7a k_failure."${LZIP}".-df.copy2.lz
38ac0 20 7c 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 32 20 .||.test_failed.$LINENO.cmp.in2.
38ae0 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 72 6d 20 copy2.||.test_failed.$LINENO.rm.
38b00 2d 66 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 0a 70 -f.copy2.||.framework_failure..p
38b20 72 69 6e 74 66 20 22 5c 6e 74 65 73 74 69 6e 67 20 20 20 63 6f 6d 70 72 65 73 73 69 6f 6e 2e 2e rintf."\ntesting...compression..
38b40 2e 22 0a 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 20 2d 30 20 69 6e 20 69 6e 20 69 6e 20 2d 53 31 .".."${LZIP}".-c.-0.in.in.in.-S1
38b60 30 30 6b 20 2d 6f 20 6f 75 74 33 2e 6c 7a 20 3e 20 63 6f 70 79 32 2e 6c 7a 20 7c 7c 20 74 65 73 00k.-o.out3.lz.>.copy2.lz.||.tes
38b80 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 5b 20 21 20 2d 65 20 6f 75 74 33 2e 6c 7a 20 t_failed.$LINENO.[.!.-e.out3.lz.
38ba0 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 09 09 09 23 20 6f 76 65 ].||.test_failed.$LINENO...#.ove
38bc0 72 72 69 64 65 20 2d 6f 20 61 6e 64 20 2d 53 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 30 66 20 69 6e rride.-o.and.-S."${LZIP}".-0f.in
38be0 20 69 6e 20 2d 2d 6f 75 74 70 75 74 3d 63 6f 70 79 32 2e 6c 7a 20 7c 7c 20 74 65 73 74 5f 66 61 .in.--output=copy2.lz.||.test_fa
38c00 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 20 63 6f 70 79 32 2e iled.$LINENO."${LZIP}".-d.copy2.
38c20 6c 7a 20 2d 6f 20 6f 75 74 32 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e lz.-o.out2.||.test_failed.$LINEN
38c40 4f 0a 63 6d 70 20 69 6e 32 20 6f 75 74 32 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c O.cmp.in2.out2.||.test_failed.$L
38c60 49 4e 45 4e 4f 0a 72 6d 20 2d 66 20 69 6e 32 20 6f 75 74 32 20 63 6f 70 79 32 2e 6c 7a 20 7c 7c INENO.rm.-f.in2.out2.copy2.lz.||
38c80 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 .framework_failure.."${LZIP}".-c
38ca0 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 6c 09 f."${in_lz}".>.out.2>./dev/null.
38cc0 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 20 24 #./dev/null.is.a.tty.on.OS/2.[.$
38ce0 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."
38d00 24 7b 4c 5a 49 50 7d 22 20 2d 46 76 76 6d 33 36 20 2d 6f 20 2d 20 22 24 7b 69 6e 5f 6c 7a 7d 22 ${LZIP}".-Fvvm36.-o.-."${in_lz}"
38d20 20 3e 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 .>.out.2>./dev/null.||.test_fail
38d40 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 6f 75 74 20 7c 20 22 ed.$LINENO."${LZIP}".-cd.out.|."
38d60 24 7b 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 ${LZIP}".-d.>.copy.||.test_faile
38d80 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 66 61 d.$LINENO.cmp.in.copy.||.test_fa
38da0 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 30 20 2d 6f 20 2e 2f iled.$LINENO.."${LZIP}".-0.-o../
38dc0 2d 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 0a 22 24 7b 4c -.in.||.test_failed.$LINENO."${L
38de0 5a 49 50 7d 22 20 2d 63 64 20 2e 2f 2d 20 7c 20 63 6d 70 20 69 6e 20 2d 20 7c 7c 20 74 65 73 74 ZIP}".-cd../-.|.cmp.in.-.||.test
38e00 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 72 6d 20 2d 66 20 2e 2f 2d 20 7c 7c 20 66 72 61 _failed.$LINENO.rm.-f../-.||.fra
38e20 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 30 20 2d 6f 20 2e mework_failure."${LZIP}".-0.-o..
38e40 2f 2d 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 09 09 /-.<.in.||.test_failed.$LINENO..
38e60 09 23 20 61 64 64 20 2e 6c 7a 0a 5b 20 21 20 2d 65 20 2e 2f 2d 20 5d 20 7c 7c 20 74 65 73 74 5f .#.add..lz.[.!.-e../-.].||.test_
38e80 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 2d 2d 20 failed.$LINENO."${LZIP}".-cd.--.
38ea0 2d 2e 6c 7a 20 7c 20 63 6d 70 20 69 6e 20 2d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 -.lz.|.cmp.in.-.||.test_failed.$
38ec0 4c 49 4e 45 4e 4f 0a 72 6d 20 2d 66 20 2e 2f 2d 2e 6c 7a 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b LINENO.rm.-f../-.lz.||.framework
38ee0 5f 66 61 69 6c 75 72 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 _failure..for.i.in.s4Ki.0.1.2.3.
38f00 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 20 2d 4.5.6.7.8.9.;.do.."${LZIP}".-k.-
38f20 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 69 0a $i.in.||.test_failed.$LINENO.$i.
38f40 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 61 69 .mv.-f.in.lz.copy.lz.||.test_fai
38f60 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 65 22 led.$LINENO.$i..printf."garbage"
38f80 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 72 65 .>>.copy.lz.||.framework_failure
38fa0 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 74 5f .."${LZIP}".-df.copy.lz.||.test_
38fc0 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 20 7c failed.$LINENO.$i..cmp.in.copy.|
38fe0 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 0a 09 22 24 7b 4c 5a |.test_failed.$LINENO.$i..."${LZ
39000 49 50 7d 22 20 2d 24 69 20 69 6e 20 2d 63 20 3e 20 6f 75 74 20 7c 7c 20 74 65 73 74 5f 66 61 69 IP}".-$i.in.-c.>.out.||.test_fai
39020 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 24 69 20 69 6e led.$LINENO.$i.."${LZIP}".-$i.in
39040 20 2d 6f 20 6f 5f 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 .-o.o_out.||.test_failed.$LINENO
39060 20 24 69 09 23 20 64 6f 6e 27 74 20 61 64 64 20 2e 6c 7a 0a 09 5b 20 21 20 2d 65 20 6f 5f 6f 75 .$i.#.don't.add..lz..[.!.-e.o_ou
39080 74 2e 6c 7a 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 09 63 t.lz.].||.test_failed.$LINENO..c
390a0 6d 70 20 6f 75 74 20 6f 5f 6f 75 74 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e mp.out.o_out.||.test_failed.$LIN
390c0 45 4e 4f 20 24 69 0a 09 72 6d 20 2d 66 20 6f 5f 6f 75 74 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b ENO.$i..rm.-f.o_out.||.framework
390e0 5f 66 61 69 6c 75 72 65 0a 09 70 72 69 6e 74 66 20 22 67 22 20 3e 3e 20 6f 75 74 20 7c 7c 20 66 _failure..printf."g".>>.out.||.f
39100 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 2d 63 64 20 ramework_failure.."${LZIP}".-cd.
39120 6f 75 74 20 3e 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 out.>.copy.||.test_failed.$LINEN
39140 4f 20 24 69 0a 09 63 6d 70 20 69 6e 20 63 6f 70 79 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 O.$i..cmp.in.copy.||.test_failed
39160 20 24 4c 49 4e 45 4e 4f 20 24 69 0a 0a 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 24 69 20 3c 20 69 6e .$LINENO.$i..."${LZIP}".-$i.<.in
39180 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
391a0 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
391c0 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
391e0 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 0a 09 72 py.||.test_failed.$LINENO.$i...r
39200 6d 20 2d 66 20 6f 75 74 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 09 70 m.-f.out.||.framework_failure..p
39220 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 3e 20 6f 75 74 2e rintf."to.be.overwritten".>.out.
39240 6c 7a 20 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 lz.||.framework_failure.."${LZIP
39260 7d 22 20 2d 66 20 2d 24 69 20 2d 6f 20 6f 75 74 20 3c 20 69 6e 20 7c 7c 20 74 65 73 74 5f 66 61 }".-f.-$i.-o.out.<.in.||.test_fa
39280 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 69 09 23 20 61 64 64 20 2e 6c 7a 0a 09 5b 20 21 20 2d iled.$LINENO.$i.#.add..lz..[.!.-
392a0 65 20 6f 75 74 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 09 e.out.].||.test_failed.$LINENO..
392c0 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 7a 20 7c "${LZIP}".-df.-o.copy.<.out.lz.|
392e0 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
39300 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.
39320 64 6f 6e 65 0a 72 6d 20 2d 66 20 6f 75 74 20 6f 75 74 2e 6c 7a 20 7c 7c 20 66 72 61 6d 65 77 6f done.rm.-f.out.out.lz.||.framewo
39340 72 6b 5f 66 61 69 6c 75 72 65 0a 0a 63 61 74 20 69 6e 20 69 6e 20 69 6e 20 69 6e 20 69 6e 20 69 rk_failure..cat.in.in.in.in.in.i
39360 6e 20 69 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 n.in.in.>.in8.||.framework_failu
39380 72 65 0a 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 re."${LZIP}".-1s12.-S100k.in8.||
393a0 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}".-
393c0 74 20 69 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 t.in800001.lz.in800002.lz.||.tes
393e0 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 20 69 t_failed.$LINENO."${LZIP}".-cd.i
39400 6e 38 30 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 n800001.lz.in800002.lz.|.cmp.in8
39420 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 0a 5b 20 21 20 2d 65 .-.||.test_failed.$LINENO.[.!.-e
39440 20 69 6e 38 30 30 30 30 33 2e 6c 7a 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c .in800003.lz.].||.test_failed.$L
39460 49 4e 45 4e 4f 0a 72 6d 20 2d 66 20 69 6e 38 30 30 30 30 31 2e 6c 7a 20 69 6e 38 30 30 30 30 32 INENO.rm.-f.in800001.lz.in800002
39480 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 50 .lz.||.framework_failure."${LZIP
394a0 7d 22 20 2d 31 73 31 32 20 2d 53 31 30 30 6b 20 2d 6f 20 6f 75 74 2e 6c 7a 20 69 6e 38 20 7c 7c }".-1s12.-S100k.-o.out.lz.in8.||
394c0 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 23 20 69 67 6e 6f 72 65 20 2d 53 .test_failed.$LINENO.#.ignore.-S
394e0 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 64 20 6f 75 74 2e 6c 7a 30 30 30 30 31 2e 6c 7a 20 6f 75 74 ."${LZIP}".-d.out.lz00001.lz.out
39500 2e 6c 7a 30 30 30 30 32 2e 6c 7a 20 2d 53 31 30 30 6b 20 2d 6f 20 6f 75 74 20 7c 7c 20 74 65 73 .lz00002.lz.-S100k.-o.out.||.tes
39520 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 63 6d 70 20 69 6e 38 20 6f 75 74 20 7c 7c 20 t_failed.$LINENO.cmp.in8.out.||.
39540 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 74 test_failed.$LINENO."${LZIP}".-t
39560 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 20 7c .out.lz00001.lz.out.lz00002.lz.|
39580 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 5b 20 21 20 2d 65 20 6f 75 74 |.test_failed.$LINENO.[.!.-e.out
395a0 2e 6c 7a 30 30 30 30 33 2e 6c 7a 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 .lz00003.lz.].||.test_failed.$LI
395c0 4e 45 4e 4f 0a 72 6d 20 2d 66 20 6f 75 74 20 6f 75 74 2e 6c 7a 30 30 30 30 31 2e 6c 7a 20 6f 75 NENO.rm.-f.out.out.lz00001.lz.ou
395e0 74 2e 6c 7a 30 30 30 30 32 2e 6c 7a 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 t.lz00002.lz.||.framework_failur
39600 65 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 30 30 20 69 6e 38 e."${LZIP}".-1ks4Ki.-b100000.in8
39620 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}
39640 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 20 24 4c 49 4e 45 ".-t.in8.lz.||.test_failed.$LINE
39660 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 64 20 69 6e 38 2e 6c 7a 20 2d 6f 20 6f 75 74 20 7c NO."${LZIP}".-cd.in8.lz.-o.out.|
39680 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 45 4e .cmp.in8.-.||.test_failed.$LINEN
396a0 4f 09 23 20 6f 76 65 72 72 69 64 65 20 2d 6f 0a 5b 20 21 20 2d 65 20 6f 75 74 20 5d 20 7c 7c 20 O.#.override.-o.[.!.-e.out.].||.
396c0 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 20 7c 7c test_failed.$LINENO.rm.-f.in8.||
396e0 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 50 7d 22 20 2d 30 20 .framework_failure."${LZIP}".-0.
39700 2d 53 31 30 30 6b 20 2d 6f 20 6f 75 74 20 3c 20 69 6e 38 2e 6c 7a 20 7c 7c 20 74 65 73 74 5f 66 -S100k.-o.out.<.in8.lz.||.test_f
39720 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 6f 75 74 30 30 ailed.$LINENO."${LZIP}".-t.out00
39740 30 30 31 2e 6c 7a 20 6f 75 74 30 30 30 30 32 2e 6c 7a 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 001.lz.out00002.lz.||.test_faile
39760 64 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 30 30 30 30 31 d.$LINENO."${LZIP}".-cd.out00001
39780 2e 6c 7a 20 6f 75 74 30 30 30 30 32 2e 6c 7a 20 7c 20 63 6d 70 20 69 6e 38 2e 6c 7a 20 2d 20 7c .lz.out00002.lz.|.cmp.in8.lz.-.|
397a0 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 5b 20 21 20 2d 65 20 6f 75 74 |.test_failed.$LINENO.[.!.-e.out
397c0 30 30 30 30 33 2e 6c 7a 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 00003.lz.].||.test_failed.$LINEN
397e0 4f 0a 72 6d 20 2d 66 20 6f 75 74 30 30 30 30 31 2e 6c 7a 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b O.rm.-f.out00001.lz.||.framework
39800 5f 66 61 69 6c 75 72 65 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 31 20 2d 53 31 30 30 6b 20 2d 6f 20 _failure."${LZIP}".-1.-S100k.-o.
39820 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 49 4e out.<.in8.lz.||.test_failed.$LIN
39840 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 75 74 ENO."${LZIP}".-t.out00001.lz.out
39860 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 4f 0a 00002.lz.||.test_failed.$LINENO.
39880 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 30 30 "${LZIP}".-cd.out00001.lz.out000
398a0 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 61 69 02.lz.|.cmp.in8.lz.-.||.test_fai
398c0 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 5b 20 21 20 2d 65 20 6f 75 74 30 30 30 30 33 2e 6c 7a 20 5d led.$LINENO.[.!.-e.out00003.lz.]
398e0 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 6f 75 .||.test_failed.$LINENO.rm.-f.ou
39900 74 30 30 30 30 31 2e 6c 7a 20 6f 75 74 30 30 30 30 32 2e 6c 7a 20 7c 7c 20 66 72 61 6d 65 77 6f t00001.lz.out00002.lz.||.framewo
39920 72 6b 5f 66 61 69 6c 75 72 65 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 30 20 2d 46 20 2d 53 31 30 30 rk_failure."${LZIP}".-0.-F.-S100
39940 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 4f 0a k.in8.lz.||.test_failed.$LINENO.
39960 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 20 69 6e 38 2e 6c 7a 30 30 30 30 31 2e 6c 7a 20 69 6e 38 2e "${LZIP}".-t.in8.lz00001.lz.in8.
39980 6c 7a 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 lz00002.lz.||.test_failed.$LINEN
399a0 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 64 20 69 6e 38 2e 6c 7a 30 30 30 30 31 2e 6c 7a 20 69 O."${LZIP}".-cd.in8.lz00001.lz.i
399c0 6e 38 2e 6c 7a 30 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 n8.lz00002.lz.|.cmp.in8.lz.-.||.
399e0 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 5b 20 21 20 2d 65 20 69 6e 38 2e 6c test_failed.$LINENO.[.!.-e.in8.l
39a00 7a 30 30 30 30 33 2e 6c 7a 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 z00003.lz.].||.test_failed.$LINE
39a20 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 6e 38 2e 6c 7a 30 30 NO.rm.-f.in8.lz00001.lz.in8.lz00
39a40 30 30 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 002.lz.||.framework_failure."${L
39a60 5a 49 50 7d 22 20 2d 30 6b 46 20 2d 62 31 30 30 6b 20 69 6e 38 2e 6c 7a 20 7c 7c 20 74 65 73 74 ZIP}".-0kF.-b100k.in8.lz.||.test
39a80 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 38 _failed.$LINENO."${LZIP}".-t.in8
39aa0 2e 6c 7a 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 .lz.lz.||.test_failed.$LINENO."$
39ac0 7b 4c 5a 49 50 7d 22 20 2d 63 64 20 69 6e 38 2e 6c 7a 2e 6c 7a 20 7c 20 63 6d 70 20 69 6e 38 2e {LZIP}".-cd.in8.lz.lz.|.cmp.in8.
39ae0 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 4e 4f 0a 72 6d 20 2d lz.-.||.test_failed.$LINENO.rm.-
39b00 66 20 69 6e 38 2e 6c 7a 20 69 6e 38 2e 6c 7a 2e 6c 7a 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f f.in8.lz.in8.lz.lz.||.framework_
39b20 66 61 69 6c 75 72 65 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 failure..printf."\ntesting.bad.i
39b40 6e 70 75 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 nput..."..headers='LZIp.LZiP.LZi
39b60 70 20 4c 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 p.LzIP.LzIp.LziP.lZIP.lZIp.lZiP.
39b80 6c 7a 49 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 lzIP'.body='\001\014\000\203\377
39ba0 5c 33 37 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 \373\377\377\300\000\000\000\000
39bc0 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 30 \000\000\000\000\000\000\000\000
39be0 5c 30 30 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 \000\000\000$\000\000\000\000\00
39c00 30 5c 30 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 74 2e 0\000\000'.cat."${in_lz}".>.int.
39c20 6c 7a 0a 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 74 2e 6c lz.printf."LZIP${body}".>>.int.l
39c40 7a 0a 69 66 20 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 71 20 69 6e 74 2e 6c 7a 20 3b 20 74 68 65 6e z.if."${LZIP}".-tq.int.lz.;.then
39c60 0a 09 66 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 ..for.header.in.${headers}.;.do.
39c80 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 20 69 6e ..printf."${header}${body}".>.in
39ca0 74 2e 6c 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 t.lz.#.first.member..."${LZIP}".
39cc0 2d 6c 71 20 69 6e 74 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 -lq.int.lz...[.$?.=.2.].||.test_
39ce0 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 4c 5a failed.$LINENO.${header}..."${LZ
39d00 49 50 7d 22 20 2d 74 71 20 69 6e 74 2e 6c 7a 0a 09 09 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 IP}".-tq.int.lz...[.$?.=.2.].||.
39d20 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 0a 09 09 test_failed.$LINENO.${header}...
39d40 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 71 20 3c 20 69 6e 74 2e 6c 7a 0a 09 09 5b 20 24 3f 20 3d 20 "${LZIP}".-tq.<.int.lz...[.$?.=.
39d60 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 65 61 2.].||.test_failed.$LINENO.${hea
39d80 64 65 72 7d 0a 09 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 64 71 20 69 6e 74 2e 6c 7a 20 3e 20 2f der}..."${LZIP}".-cdq.int.lz.>./
39da0 64 65 76 2f 6e 75 6c 6c 0a 09 09 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 dev/null...[.$?.=.2.].||.test_fa
39dc0 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
39de0 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 74 2e 6c 7a 0a 09 }".-lq.--loose-trailing.int.lz..
39e00 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 45 .[.$?.=.2.].||.test_failed.$LINE
39e20 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 20 2d 2d 6c NO.${header}..."${LZIP}".-tq.--l
39e40 6f 6f 73 65 2d 74 72 61 69 6c 69 6e 67 20 69 6e 74 2e 6c 7a 0a 09 09 5b 20 24 3f 20 3d 20 32 20 oose-trailing.int.lz...[.$?.=.2.
39e60 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 65 61 64 65 ].||.test_failed.$LINENO.${heade
39e80 72 7d 0a 09 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 71 20 2d 2d 6c 6f 6f 73 65 2d 74 72 61 69 6c r}..."${LZIP}".-tq.--loose-trail
39ea0 69 6e 67 20 3c 20 69 6e 74 2e 6c 7a 0a 09 09 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 ing.<.int.lz...[.$?.=.2.].||.tes
39ec0 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}..."${
39ee0 4c 5a 49 50 7d 22 20 2d 63 64 71 20 2d 2d 6c 6f 6f 73 65 2d 74 72 61 69 6c 69 6e 67 20 69 6e 74 LZIP}".-cdq.--loose-trailing.int
39f00 2e 6c 7a 20 3e 20 2f 64 65 76 2f 6e 75 6c 6c 0a 09 09 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 .lz.>./dev/null...[.$?.=.2.].||.
39f20 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 0a 09 09 test_failed.$LINENO.${header}...
39f40 63 61 74 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 3e 20 69 6e 74 2e 6c 7a 0a 09 09 70 72 69 6e 74 66 cat."${in_lz}".>.int.lz...printf
39f60 20 22 24 7b 68 65 61 64 65 72 7d 24 7b 62 6f 64 79 7d 22 20 3e 3e 20 69 6e 74 2e 6c 7a 09 23 20 ."${header}${body}".>>.int.lz.#.
39f80 74 72 61 69 6c 69 6e 67 20 64 61 74 61 0a 09 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 6c 71 20 69 6e trailing.data..."${LZIP}".-lq.in
39fa0 74 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 t.lz...[.$?.=.2.].||.test_failed
39fc0 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}".-
39fe0 74 71 20 69 6e 74 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 tq.int.lz...[.$?.=.2.].||.test_f
3a000 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 4c 5a 49 ailed.$LINENO.${header}..."${LZI
3a020 50 7d 22 20 2d 74 71 20 3c 20 69 6e 74 2e 6c 7a 0a 09 09 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c P}".-tq.<.int.lz...[.$?.=.2.].||
3a040 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 0a 09 .test_failed.$LINENO.${header}..
3a060 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 64 71 20 69 6e 74 2e 6c 7a 20 3e 20 2f 64 65 76 2f 6e 75 ."${LZIP}".-cdq.int.lz.>./dev/nu
3a080 6c 6c 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 ll...[.$?.=.2.].||.test_failed.$
3a0a0 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 6c 71 LINENO.${header}..."${LZIP}".-lq
3a0c0 20 2d 2d 6c 6f 6f 73 65 2d 74 72 61 69 6c 69 6e 67 20 69 6e 74 2e 6c 7a 20 7c 7c 0a 09 09 09 74 .--loose-trailing.int.lz.||....t
3a0e0 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 0a 09 09 22 est_failed.$LINENO.${header}..."
3a100 24 7b 4c 5a 49 50 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 74 ${LZIP}".-t.--loose-trailing.int
3a120 2e 6c 7a 20 7c 7c 0a 09 09 09 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 7b .lz.||....test_failed.$LINENO.${
3a140 68 65 61 64 65 72 7d 0a 09 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 20 2d 2d 6c 6f 6f 73 65 2d 74 header}..."${LZIP}".-t.--loose-t
3a160 72 61 69 6c 69 6e 67 20 3c 20 69 6e 74 2e 6c 7a 20 7c 7c 0a 09 09 09 74 65 73 74 5f 66 61 69 6c railing.<.int.lz.||....test_fail
3a180 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 22 ed.$LINENO.${header}..."${LZIP}"
3a1a0 20 2d 63 64 20 2d 2d 6c 6f 6f 73 65 2d 74 72 61 69 6c 69 6e 67 20 69 6e 74 2e 6c 7a 20 3e 20 2f .-cd.--loose-trailing.int.lz.>./
3a1c0 64 65 76 2f 6e 75 6c 6c 20 7c 7c 0a 09 09 09 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 dev/null.||....test_failed.$LINE
3a1e0 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 6c 71 20 2d 2d 6c NO.${header}..."${LZIP}".-lq.--l
3a200 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 72 72 6f 72 20 69 oose-trailing.--trailing-error.i
3a220 6e 74 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 nt.lz...[.$?.=.2.].||.test_faile
3a240 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 22 20 d.$LINENO.${header}..."${LZIP}".
3a260 2d 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 -tq.--loose-trailing.--trailing-
3a280 65 72 72 6f 72 20 69 6e 74 2e 6c 7a 0a 09 09 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 error.int.lz...[.$?.=.2.].||.tes
3a2a0 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}..."${
3a2c0 4c 5a 49 50 7d 22 20 2d 74 71 20 2d 2d 6c 6f 6f 73 65 2d 74 72 61 69 6c 69 6e 67 20 2d 2d 74 72 LZIP}".-tq.--loose-trailing.--tr
3a2e0 61 69 6c 69 6e 67 2d 65 72 72 6f 72 20 3c 20 69 6e 74 2e 6c 7a 0a 09 09 5b 20 24 3f 20 3d 20 32 ailing-error.<.int.lz...[.$?.=.2
3a300 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 65 61 64 .].||.test_failed.$LINENO.${head
3a320 65 72 7d 0a 09 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 64 71 20 2d 2d 6c 6f 6f 73 65 2d 74 72 61 er}..."${LZIP}".-cdq.--loose-tra
3a340 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 74 2e 6c 7a 20 3e 20 iling.--trailing-error.int.lz.>.
3a360 2f 64 65 76 2f 6e 75 6c 6c 0a 09 09 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 /dev/null...[.$?.=.2.].||.test_f
3a380 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 65 6c ailed.$LINENO.${header}..done.el
3a3a0 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 67 20 se..printf."\nwarning:.skipping.
3a3c0 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 20 77 header.test:.'printf'.does.not.w
3a3e0 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 69 6e ork.on.your.system.".fi.rm.-f.in
3a400 74 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 0a 66 6f 72 20 69 t.lz.||.framework_failure..for.i
3a420 20 69 6e 20 66 6f 78 5f 76 32 2e 6c 7a 20 66 6f 78 5f 73 31 31 2e 6c 7a 20 66 6f 78 5f 64 65 32 .in.fox_v2.lz.fox_s11.lz.fox_de2
3a440 30 2e 6c 7a 20 5c 0a 20 20 20 20 20 20 20 20 20 66 6f 78 5f 62 63 72 63 2e 6c 7a 20 66 6f 78 5f 0.lz.\..........fox_bcrc.lz.fox_
3a460 63 72 63 30 2e 6c 7a 20 66 6f 78 5f 64 61 73 34 36 2e 6c 7a 20 66 6f 78 5f 6d 65 73 38 31 2e 6c crc0.lz.fox_das46.lz.fox_mes81.l
3a480 7a 20 3b 20 64 6f 0a 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 71 20 22 24 7b 74 65 73 74 64 69 72 z.;.do.."${LZIP}".-tq."${testdir
3a4a0 7d 22 2f 24 69 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 }"/$i..[.$?.=.2.].||.test_failed
3a4c0 20 24 4c 49 4e 45 4e 4f 20 24 69 0a 64 6f 6e 65 0a 0a 66 6f 72 20 69 20 69 6e 20 66 6f 78 5f 62 .$LINENO.$i.done..for.i.in.fox_b
3a4e0 63 72 63 2e 6c 7a 20 66 6f 78 5f 63 72 63 30 2e 6c 7a 20 66 6f 78 5f 64 61 73 34 36 2e 6c 7a 20 crc.lz.fox_crc0.lz.fox_das46.lz.
3a500 66 6f 78 5f 6d 65 73 38 31 2e 6c 7a 20 3b 20 64 6f 0a 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 64 fox_mes81.lz.;.do.."${LZIP}".-cd
3a520 71 20 22 24 7b 74 65 73 74 64 69 72 7d 22 2f 24 69 20 3e 20 6f 75 74 0a 09 5b 20 24 3f 20 3d 20 q."${testdir}"/$i.>.out..[.$?.=.
3a540 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 63 2.].||.test_failed.$LINENO.$i..c
3a560 6d 70 20 66 6f 78 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 mp.fox.out.||.test_failed.$LINEN
3a580 4f 20 24 69 0a 64 6f 6e 65 0a 72 6d 20 2d 66 20 66 6f 78 20 6f 75 74 20 7c 7c 20 66 72 61 6d 65 O.$i.done.rm.-f.fox.out.||.frame
3a5a0 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 0a 63 61 74 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 22 24 7b work_failure..cat."${in_lz}"."${
3a5c0 69 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 in_lz}".>.in2.lz.||.framework_fa
3a5e0 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 6e 5f 6c 7a 7d 22 20 ilure.cat."${in_lz}"."${in_lz}".
3a600 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 72 6b "${in_lz}".>.in3.lz.||.framework
3a620 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 75 6e _failure.if.dd.if=in3.lz.of=trun
3a640 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 6e 75 c.lz.bs=14752.count=1.2>./dev/nu
3a660 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 70 20 ll.&&....[.-e.trunc.lz.].&&.cmp.
3a680 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 26 31 in2.lz.trunc.lz.>./dev/null.2>&1
3a6a0 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 34 37 .;.then..for.i.in.6.20.14734.147
3a6c0 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 35 38 53.14754.14755.14756.14757.14758
3a6e0 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 6c 7a .;.do...dd.if=in3.lz.of=trunc.lz
3a700 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 22 24 .bs=$i.count=1.2>./dev/null..."$
3a720 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 32 20 {LZIP}".-lq.trunc.lz...[.$?.=.2.
3a740 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 22 24 ].||.test_failed.$LINENO.$i..."$
3a760 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 32 20 {LZIP}".-tq.trunc.lz...[.$?.=.2.
3a780 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 22 24 ].||.test_failed.$LINENO.$i..."$
3a7a0 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 3d 20 {LZIP}".-tq.<.trunc.lz...[.$?.=.
3a7c0 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...
3a7e0 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 09 09 "${LZIP}".-cdq.trunc.lz.>.out...
3a800 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 45 4e [.$?.=.2.].||.test_failed.$LINEN
3a820 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 7a 20 O.$i..."${LZIP}".-dq.<.trunc.lz.
3a840 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 6c 65 >.out...[.$?.=.2.].||.test_faile
3a860 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 66 20 d.$LINENO.$i..done.else..printf.
3a880 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 6e 20 "\nwarning:.skipping.truncation.
3a8a0 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 75 72 test:.'dd'.does.not.work.on.your
3a8c0 20 73 79 73 74 65 6d 2e 22 0a 66 69 0a 72 6d 20 2d 66 20 69 6e 32 2e 6c 7a 20 69 6e 33 2e 6c 7a .system.".fi.rm.-f.in2.lz.in3.lz
3a8e0 20 74 72 75 6e 63 2e 6c 7a 20 6f 75 74 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 .trunc.lz.out.||.framework_failu
3a900 72 65 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 7c 7c re..cat."${in_lz}".>.ingin.lz.||
3a920 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 3e 3e .framework_failure.printf."g".>>
3a940 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 0a 63 .ingin.lz.||.framework_failure.c
3a960 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 72 61 at."${in_lz}".>>.ingin.lz.||.fra
3a980 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 6e 67 mework_failure."${LZIP}".-lq.ing
3a9a0 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 64 20 in.lz.[.$?.=.2.].||.test_failed.
3a9c0 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 61 74 71 20 69 6e 67 69 6e 2e 6c 7a 0a $LINENO."${LZIP}".-atq.ingin.lz.
3a9e0 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 45 4e [.$?.=.2.].||.test_failed.$LINEN
3aa00 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 61 74 71 20 3c 20 69 6e 67 69 6e 2e 6c 7a 0a 5b 20 24 3f O."${LZIP}".-atq.<.ingin.lz.[.$?
3aa20 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."$
3aa40 7b 4c 5a 49 50 7d 22 20 2d 61 63 64 71 20 69 6e 67 69 6e 2e 6c 7a 20 3e 20 6f 75 74 0a 5b 20 24 {LZIP}".-acdq.ingin.lz.>.out.[.$
3aa60 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."
3aa80 24 7b 4c 5a 49 50 7d 22 20 2d 61 64 71 20 3c 20 69 6e 67 69 6e 2e 6c 7a 20 3e 20 6f 75 74 0a 5b ${LZIP}".-adq.<.ingin.lz.>.out.[
3aaa0 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
3aac0 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 20 69 6e 67 69 6e 2e 6c 7a 20 7c 7c 20 74 65 73 74 5f 66 ."${LZIP}".-t.ingin.lz.||.test_f
3aae0 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 67 ailed.$LINENO."${LZIP}".-t.<.ing
3ab00 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 7b in.lz.||.test_failed.$LINENO."${
3ab20 4c 5a 49 50 7d 22 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 LZIP}".-cd.ingin.lz.>.copy.||.te
3ab40 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 7c 7c st_failed.$LINENO.cmp.in.copy.||
3ab60 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}".-
3ab80 64 20 3c 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 6c d.<.ingin.lz.>.copy.||.test_fail
3aba0 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 66 ed.$LINENO.cmp.in.copy.||.test_f
3abc0 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 72 6d 20 2d 66 20 63 6f 70 79 20 69 6e 67 69 6e 2e 6c ailed.$LINENO.rm.-f.copy.ingin.l
3abe0 7a 20 6f 75 74 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 0a 65 63 68 6f z.out.||.framework_failure..echo
3ac00 0a 69 66 20 5b 20 24 7b 66 61 69 6c 7d 20 3d 20 30 20 5d 20 3b 20 74 68 65 6e 0a 09 65 63 68 6f .if.[.${fail}.=.0.].;.then..echo
3ac20 20 22 74 65 73 74 73 20 63 6f 6d 70 6c 65 74 65 64 20 73 75 63 63 65 73 73 66 75 6c 6c 79 2e 22 ."tests.completed.successfully."
3ac40 0a 09 63 64 20 22 24 7b 6f 62 6a 64 69 72 7d 22 20 26 26 20 72 6d 20 2d 72 20 74 6d 70 0a 65 6c ..cd."${objdir}".&&.rm.-r.tmp.el
3ac60 73 65 0a 09 65 63 68 6f 20 22 74 65 73 74 73 20 66 61 69 6c 65 64 2e 22 0a 66 69 0a 65 78 69 74 se..echo."tests.failed.".fi.exit
3ac80 20 24 7b 66 61 69 6c 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 .${fail}........................
3aca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3acc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ace0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ad00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ad20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ad40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ad60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ad80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ada0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3adc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ade0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ae00 6c 7a 69 70 2d 31 2e 32 33 2f 74 65 73 74 73 75 69 74 65 2f 66 6f 78 5f 64 61 73 34 36 2e 6c 7a lzip-1.23/testsuite/fox_das46.lz
3ae20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ae40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ae60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
3ae80 30 30 30 30 31 32 30 00 31 32 33 34 37 34 32 37 34 35 34 00 30 31 36 36 31 35 00 20 30 00 00 00 0000120.12347427454.016615..0...
3aea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3aec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3aee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3af00 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
3af20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
3af40 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
3af60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3af80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3afa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3afc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3afe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b000 4c 5a 49 50 01 0c 00 2a 1a 08 a2 03 25 66 f1 4b 78 c5 a2 05 ff 2e e6 d9 d2 20 1a ad 34 f8 e2 1d LZIP...*....%f.Kx...........4...
3b020 e8 41 36 fa dc 06 69 bb 3c e4 10 34 27 09 eb b3 66 e3 ec 97 ea ae 23 ff fe 8e a0 00 6a cc 50 eb .A6...i.<..4'...f.....#.....j.P.
3b040 2e 00 00 00 00 00 00 00 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........P.......................
3b060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b200 6c 7a 69 70 2d 31 2e 32 33 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.23/AUTHORS...............
3b220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
3b280 30 30 30 30 35 35 36 00 31 33 35 36 33 33 35 35 37 32 35 00 30 31 33 35 30 37 00 20 30 00 00 00 0000556.13563355725.013507..0...
3b2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b300 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
3b320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
3b340 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
3b360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b400 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
3b420 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
3b440 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
3b460 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
3b480 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
3b4a0 6d 29 2c 20 41 6e 64 72 65 79 20 4d 61 72 6b 6f 76 20 28 66 6f 72 20 74 68 65 0a 64 65 66 69 6e m),.Andrey.Markov.(for.the.defin
3b4c0 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..
3b4e0 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 20 72 61 Martin.(for.the.definition.of.ra
3b500 6e 67 65 0a 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.
3b520 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
3b540 6e 20 4c 5a 4d 41 29 2c 20 61 6e 64 0a 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.
3b560 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)....................
3b580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 33 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.23/README................
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 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
3b680 30 30 31 35 32 31 35 00 31 34 31 37 32 36 34 35 36 32 35 00 30 31 33 33 31 33 00 20 30 00 00 00 0015215.14172645625.013313..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 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
3b720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
3b740 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
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 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.
3b820 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
3b840 72 66 61 63 65 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 65 20 6f 6e 65 0a 6f 66 20 67 7a 69 70 rface.similar.to.the.one.of.gzip
3b860 20 6f 72 20 62 7a 69 70 32 2e 20 4c 7a 69 70 20 75 73 65 73 20 61 20 73 69 6d 70 6c 69 66 69 65 .or.bzip2..Lzip.uses.a.simplifie
3b880 64 20 66 6f 72 6d 20 6f 66 20 74 68 65 20 27 4c 65 6d 70 65 6c 2d 5a 69 76 2d 4d 61 72 6b 6f 76 d.form.of.the.'Lempel-Ziv-Markov
3b8a0 0a 63 68 61 69 6e 2d 41 6c 67 6f 72 69 74 68 6d 27 20 28 4c 5a 4d 41 29 20 73 74 72 65 61 6d 20 .chain-Algorithm'.(LZMA).stream.
3b8c0 66 6f 72 6d 61 74 20 61 6e 64 20 70 72 6f 76 69 64 65 73 20 61 20 33 20 66 61 63 74 6f 72 20 69 format.and.provides.a.3.factor.i
3b8e0 6e 74 65 67 72 69 74 79 0a 63 68 65 63 6b 69 6e 67 20 74 6f 20 6d 61 78 69 6d 69 7a 65 20 69 6e ntegrity.checking.to.maximize.in
3b900 74 65 72 6f 70 65 72 61 62 69 6c 69 74 79 20 61 6e 64 20 6f 70 74 69 6d 69 7a 65 20 73 61 66 65 teroperability.and.optimize.safe
3b920 74 79 2e 20 4c 7a 69 70 20 63 61 6e 20 63 6f 6d 70 72 65 73 73 0a 61 62 6f 75 74 20 61 73 20 66 ty..Lzip.can.compress.about.as.f
3b940 61 73 74 20 61 73 20 67 7a 69 70 20 28 6c 7a 69 70 20 2d 30 29 20 6f 72 20 63 6f 6d 70 72 65 73 ast.as.gzip.(lzip.-0).or.compres
3b960 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 0a 28 6c 7a s.most.files.more.than.bzip2.(lz
3b980 69 70 20 2d 39 29 2e 20 44 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 73 70 65 65 64 20 69 73 20 69 ip.-9)..Decompression.speed.is.i
3b9a0 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 61 6e 64 20 62 7a 69 ntermediate.between.gzip.and.bzi
3b9c0 70 32 2e 0a 4c 7a 69 70 20 69 73 20 62 65 74 74 65 72 20 74 68 61 6e 20 67 7a 69 70 20 61 6e 64 p2..Lzip.is.better.than.gzip.and
3b9e0 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 72 79 20 70 65 72 73 .bzip2.from.a.data.recovery.pers
3ba00 70 65 63 74 69 76 65 2e 20 4c 7a 69 70 0a 68 61 73 20 62 65 65 6e 20 64 65 73 69 67 6e 65 64 2c pective..Lzip.has.been.designed,
3ba20 20 77 72 69 74 74 65 6e 2c 20 61 6e 64 20 74 65 73 74 65 64 20 77 69 74 68 20 67 72 65 61 74 20 .written,.and.tested.with.great.
3ba40 63 61 72 65 20 74 6f 20 72 65 70 6c 61 63 65 20 67 7a 69 70 20 61 6e 64 0a 62 7a 69 70 32 20 61 care.to.replace.gzip.and.bzip2.a
3ba60 73 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 67 65 6e 65 72 61 6c 2d 70 75 72 70 6f 73 65 20 63 s.the.standard.general-purpose.c
3ba80 6f 6d 70 72 65 73 73 65 64 20 66 6f 72 6d 61 74 20 66 6f 72 20 75 6e 69 78 2d 6c 69 6b 65 0a 73 ompressed.format.for.unix-like.s
3baa0 79 73 74 65 6d 73 2e 0a 0a 46 6f 72 20 63 6f 6d 70 72 65 73 73 69 6e 67 2f 64 65 63 6f 6d 70 72 ystems...For.compressing/decompr
3bac0 65 73 73 69 6e 67 20 6c 61 72 67 65 20 66 69 6c 65 73 20 6f 6e 20 6d 75 6c 74 69 70 72 6f 63 65 essing.large.files.on.multiproce
3bae0 73 73 6f 72 20 6d 61 63 68 69 6e 65 73 20 70 6c 7a 69 70 0a 63 61 6e 20 62 65 20 6d 75 63 68 20 ssor.machines.plzip.can.be.much.
3bb00 66 61 73 74 65 72 20 74 68 61 6e 20 6c 7a 69 70 20 61 74 20 74 68 65 20 63 6f 73 74 20 6f 66 20 faster.than.lzip.at.the.cost.of.
3bb20 61 20 73 6c 69 67 68 74 6c 79 20 72 65 64 75 63 65 64 20 63 6f 6d 70 72 65 73 73 69 6f 6e 0a 72 a.slightly.reduced.compression.r
3bb40 61 74 69 6f 2e 0a 0a 46 6f 72 20 63 72 65 61 74 69 6f 6e 20 61 6e 64 20 6d 61 6e 69 70 75 6c 61 atio...For.creation.and.manipula
3bb60 74 69 6f 6e 20 6f 66 20 63 6f 6d 70 72 65 73 73 65 64 20 74 61 72 20 61 72 63 68 69 76 65 73 20 tion.of.compressed.tar.archives.
3bb80 74 61 72 6c 7a 20 63 61 6e 20 62 65 20 6d 6f 72 65 0a 65 66 66 69 63 69 65 6e 74 20 74 68 61 6e tarlz.can.be.more.efficient.than
3bba0 20 75 73 69 6e 67 20 74 61 72 20 61 6e 64 20 70 6c 7a 69 70 20 62 65 63 61 75 73 65 20 74 61 72 .using.tar.and.plzip.because.tar
3bbc0 6c 7a 20 69 73 20 61 62 6c 65 20 74 6f 20 6b 65 65 70 20 74 68 65 0a 61 6c 69 67 6e 6d 65 6e 74 lz.is.able.to.keep.the.alignment
3bbe0 20 62 65 74 77 65 65 6e 20 74 61 72 20 6d 65 6d 62 65 72 73 20 61 6e 64 20 6c 7a 69 70 20 6d 65 .between.tar.members.and.lzip.me
3bc00 6d 62 65 72 73 2e 0a 0a 54 68 65 20 6c 7a 69 70 20 66 69 6c 65 20 66 6f 72 6d 61 74 20 69 73 20 mbers...The.lzip.file.format.is.
3bc20 64 65 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 designed.for.data.sharing.and.lo
3bc40 6e 67 2d 74 65 72 6d 20 61 72 63 68 69 76 69 6e 67 2c 0a 74 61 6b 69 6e 67 20 69 6e 74 6f 20 61 ng-term.archiving,.taking.into.a
3bc60 63 63 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 ccount.both.data.integrity.and.d
3bc80 65 63 6f 64 65 72 20 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 ecoder.availability:.....*.The.l
3bca0 7a 69 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 zip.format.provides.very.safe.in
3bcc0 74 65 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 tegrity.checking.and.some.data..
3bce0 20 20 20 20 72 65 63 6f 76 65 72 79 20 6d 65 61 6e 73 2e 20 54 68 65 20 70 72 6f 67 72 61 6d 20 ....recovery.means..The.program.
3bd00 6c 7a 69 70 72 65 63 6f 76 65 72 20 63 61 6e 20 72 65 70 61 69 72 20 62 69 74 20 66 6c 69 70 20 lziprecover.can.repair.bit.flip.
3bd20 65 72 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 errors......(one.of.the.most.com
3bd40 6d 6f 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 mon.forms.of.data.corruption).in
3bd60 20 6c 7a 69 70 20 66 69 6c 65 73 2c 20 61 6e 64 0a 20 20 20 20 20 70 72 6f 76 69 64 65 73 20 64 .lzip.files,.and......provides.d
3bd80 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 2c 20 69 6e 63 6c 75 ata.recovery.capabilities,.inclu
3bda0 64 69 6e 67 20 65 72 72 6f 72 2d 63 68 65 63 6b 65 64 20 6d 65 72 67 69 6e 67 0a 20 20 20 20 20 ding.error-checked.merging......
3bdc0 6f 66 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 0a 0a 20 20 of.damaged.copies.of.a.file.....
3bde0 20 2a 20 54 68 65 20 6c 7a 69 70 20 66 6f 72 6d 61 74 20 69 73 20 61 73 20 73 69 6d 70 6c 65 20 .*.The.lzip.format.is.as.simple.
3be00 61 73 20 70 6f 73 73 69 62 6c 65 20 28 62 75 74 20 6e 6f 74 20 73 69 6d 70 6c 65 72 29 2e 20 54 as.possible.(but.not.simpler)..T
3be20 68 65 20 6c 7a 69 70 0a 20 20 20 20 20 6d 61 6e 75 61 6c 20 70 72 6f 76 69 64 65 73 20 74 68 65 he.lzip......manual.provides.the
3be40 20 73 6f 75 72 63 65 20 63 6f 64 65 20 6f 66 20 61 20 73 69 6d 70 6c 65 20 64 65 63 6f 6d 70 72 .source.code.of.a.simple.decompr
3be60 65 73 73 6f 72 20 61 6c 6f 6e 67 20 77 69 74 68 20 61 0a 20 20 20 20 20 64 65 74 61 69 6c 65 64 essor.along.with.a......detailed
3be80 20 65 78 70 6c 61 6e 61 74 69 6f 6e 20 6f 66 20 68 6f 77 20 69 74 20 77 6f 72 6b 73 2c 20 73 6f .explanation.of.how.it.works,.so
3bea0 20 74 68 61 74 20 77 69 74 68 20 74 68 65 20 6f 6e 6c 79 20 68 65 6c 70 20 6f 66 20 74 68 65 0a .that.with.the.only.help.of.the.
3bec0 20 20 20 20 20 6c 7a 69 70 20 6d 61 6e 75 61 6c 20 69 74 20 77 6f 75 6c 64 20 62 65 20 70 6f 73 .....lzip.manual.it.would.be.pos
3bee0 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 67 69 73 sible.for.a.digital.archaeologis
3bf00 74 20 74 6f 20 65 78 74 72 61 63 74 0a 20 20 20 20 20 74 68 65 20 64 61 74 61 20 66 72 6f 6d 20 t.to.extract......the.data.from.
3bf20 61 20 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 a.lzip.file.long.after.quantum.c
3bf40 6f 6d 70 75 74 65 72 73 20 65 76 65 6e 74 75 61 6c 6c 79 0a 20 20 20 20 20 72 65 6e 64 65 72 20 omputers.eventually......render.
3bf60 4c 5a 4d 41 20 6f 62 73 6f 6c 65 74 65 2e 0a 0a 20 20 20 2a 20 41 64 64 69 74 69 6f 6e 61 6c 6c LZMA.obsolete......*.Additionall
3bf80 79 20 74 68 65 20 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 y.the.lzip.reference.implementat
3bfa0 69 6f 6e 20 69 73 20 63 6f 70 79 6c 65 66 74 65 64 2c 20 77 68 69 63 68 0a 20 20 20 20 20 67 75 ion.is.copylefted,.which......gu
3bfc0 61 72 61 6e 74 65 65 73 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 72 65 6d 61 69 6e 20 66 72 65 arantees.that.it.will.remain.fre
3bfe0 65 20 66 6f 72 65 76 65 72 2e 0a 0a 41 20 6e 69 63 65 20 66 65 61 74 75 72 65 20 6f 66 20 74 68 e.forever...A.nice.feature.of.th
3c000 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 74 20 e.lzip.format.is.that.a.corrupt.
3c020 62 79 74 65 20 69 73 20 65 61 73 69 65 72 20 74 6f 20 72 65 70 61 69 72 0a 74 68 65 20 6e 65 61 byte.is.easier.to.repair.the.nea
3c040 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 66 20 rer.it.is.from.the.beginning.of.
3c060 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 20 74 68 65 20 68 65 the.file..Therefore,.with.the.he
3c080 6c 70 20 6f 66 0a 6c 7a 69 70 72 65 63 6f 76 65 72 2c 20 6c 6f 73 69 6e 67 20 61 6e 20 65 6e 74 lp.of.lziprecover,.losing.an.ent
3c0a0 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 20 63 6f ire.archive.just.because.of.a.co
3c0c0 72 72 75 70 74 20 62 79 74 65 20 6e 65 61 72 0a 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 69 73 rrupt.byte.near.the.beginning.is
3c0e0 20 61 20 74 68 69 6e 67 20 6f 66 20 74 68 65 20 70 61 73 74 2e 0a 0a 4c 7a 69 70 20 75 73 65 73 .a.thing.of.the.past...Lzip.uses
3c100 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 69 74 20 73 74 61 74 .the.same.well-defined.exit.stat
3c120 75 73 20 76 61 6c 75 65 73 20 75 73 65 64 20 62 79 20 62 7a 69 70 32 2c 20 77 68 69 63 68 0a 6d us.values.used.by.bzip2,.which.m
3c140 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 73 73 6f 72 73 20 72 akes.it.safer.than.compressors.r
3c160 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 67 20 76 61 6c 75 65 eturning.ambiguous.warning.value
3c180 73 20 28 6c 69 6b 65 0a 67 7a 69 70 29 20 77 68 65 6e 20 69 74 20 69 73 20 75 73 65 64 20 61 73 s.(like.gzip).when.it.is.used.as
3c1a0 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 67 72 61 6d 73 20 6c .a.back.end.for.other.programs.l
3c1c0 69 6b 65 20 74 61 72 20 6f 72 20 7a 75 74 69 6c 73 2e 0a 0a 4c 7a 69 70 20 77 69 6c 6c 20 61 75 ike.tar.or.zutils...Lzip.will.au
3c1e0 74 6f 6d 61 74 69 63 61 6c 6c 79 20 75 73 65 20 66 6f 72 20 65 61 63 68 20 66 69 6c 65 20 74 68 tomatically.use.for.each.file.th
3c200 65 20 6c 61 72 67 65 73 74 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 74 68 61 74 0a 64 e.largest.dictionary.size.that.d
3c220 6f 65 73 20 6e 6f 74 20 65 78 63 65 65 64 20 6e 65 69 74 68 65 72 20 74 68 65 20 66 69 6c 65 20 oes.not.exceed.neither.the.file.
3c240 73 69 7a 65 20 6e 6f 72 20 74 68 65 20 6c 69 6d 69 74 20 67 69 76 65 6e 2e 20 4b 65 65 70 20 69 size.nor.the.limit.given..Keep.i
3c260 6e 20 6d 69 6e 64 20 74 68 61 74 0a 74 68 65 20 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6d 65 n.mind.that.the.decompression.me
3c280 6d 6f 72 79 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 mory.requirement.is.affected.at.
3c2a0 63 6f 6d 70 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 compression.time.by.the.choice.o
3c2c0 66 20 64 69 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 f.dictionary.size.limit...The.am
3c2e0 6f 75 6e 74 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 ount.of.memory.required.for.comp
3c300 72 65 73 73 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 ression.is.about.1.or.2.times.th
3c320 65 0a 64 69 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 e.dictionary.size.limit.(1.if.in
3c340 70 75 74 20 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 put.file.size.is.less.than.dicti
3c360 6f 6e 61 72 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 onary.size.limit,.else.2).plus.9
3c380 20 74 69 6d 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 .times.the.dictionary.size.reall
3c3a0 79 20 75 73 65 64 2e 20 54 68 65 20 6f 70 74 69 6f 6e 20 27 2d 30 27 0a 69 73 20 73 70 65 63 69 y.used..The.option.'-0'.is.speci
3c3c0 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 31 2e 35 20 4d al.and.only.requires.about.1.5.M
3c3e0 69 42 20 61 74 20 6d 6f 73 74 2e 20 54 68 65 20 61 6d 6f 75 6e 74 20 6f 66 20 6d 65 6d 6f 72 79 iB.at.most..The.amount.of.memory
3c400 0a 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 20 69 73 20 61 .required.for.decompression.is.a
3c420 62 6f 75 74 20 34 36 20 6b 42 20 6c 61 72 67 65 72 20 74 68 61 6e 20 74 68 65 20 64 69 63 74 69 bout.46.kB.larger.than.the.dicti
3c440 6f 6e 61 72 79 20 73 69 7a 65 0a 72 65 61 6c 6c 79 20 75 73 65 64 2e 0a 0a 57 68 65 6e 20 63 6f onary.size.really.used...When.co
3c460 6d 70 72 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 mpressing,.lzip.replaces.every.f
3c480 69 6c 65 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 ile.given.in.the.command.line.wi
3c4a0 74 68 20 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 th.a.compressed.version.of.itsel
3c4c0 66 2c 20 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 f,.with.the.name."original_name.
3c4e0 6c 7a 22 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 lz"..When.decompressing,.lzip.at
3c500 74 65 6d 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 tempts.to.guess.the.name.for.the
3c520 20 64 65 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 .decompressed.file.from.that.of.
3c540 74 68 65 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 the.compressed.file.as.follows:.
3c560 0a 66 69 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 .filename.lz....becomes...filena
3c580 6d 65 0a 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 me.filename.tlz...becomes...file
3c5a0 6e 61 6d 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 name.tar.anyothername...becomes.
3c5c0 20 20 61 6e 79 6f 74 68 65 72 6e 61 6d 65 2e 6f 75 74 0a 0a 28 44 65 29 63 6f 6d 70 72 65 73 73 ..anyothername.out..(De)compress
3c5e0 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.
3c600 6f 72 20 6d 6f 76 69 6e 67 20 69 74 2e 20 54 68 65 72 65 66 6f 72 65 20 6c 7a 69 70 0a 70 72 65 or.moving.it..Therefore.lzip.pre
3c620 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
3c640 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
3c660 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
3c680 20 6a 75 73 74 20 61 73 20 27 63 70 20 2d 70 27 20 64 6f 65 73 2e 20 28 49 66 20 74 68 65 20 75 .just.as.'cp.-p'.does..(If.the.u
3c6a0 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.
3c6c0 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.
3c6e0 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
3c700 61 72 65 64 29 2e 0a 0a 4c 7a 69 70 20 69 73 20 61 62 6c 65 20 74 6f 20 72 65 61 64 20 66 72 6f ared)...Lzip.is.able.to.read.fro
3c720 6d 20 73 6f 6d 65 20 74 79 70 65 73 20 6f 66 20 6e 6f 6e 2d 72 65 67 75 6c 61 72 20 66 69 6c 65 m.some.types.of.non-regular.file
3c740 73 20 69 66 20 65 69 74 68 65 72 20 74 68 65 0a 6f 70 74 69 6f 6e 20 27 2d 63 27 20 6f 72 20 74 s.if.either.the.option.'-c'.or.t
3c760 68 65 20 6f 70 74 69 6f 6e 20 27 2d 6f 27 20 69 73 20 73 70 65 63 69 66 69 65 64 2e 0a 0a 49 66 he.option.'-o'.is.specified...If
3c780 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 20 6c 7a .no.file.names.are.specified,.lz
3c7a0 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 73 29 20 ip.compresses.(or.decompresses).
3c7c0 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 72 64 20 from.standard.input.to.standard.
3c7e0 6f 75 74 70 75 74 2e 20 4c 7a 69 70 20 77 69 6c 6c 20 72 65 66 75 73 65 20 74 6f 20 72 65 61 64 output..Lzip.will.refuse.to.read
3c800 20 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 0a 66 72 6f 6d 20 61 20 74 65 72 6d 69 6e 61 6c .compressed.data.from.a.terminal
3c820 20 6f 72 20 77 72 69 74 65 20 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 20 74 6f 20 61 20 74 .or.write.compressed.data.to.a.t
3c840 65 72 6d 69 6e 61 6c 2c 20 61 73 20 74 68 69 73 20 77 6f 75 6c 64 20 62 65 0a 65 6e 74 69 72 65 erminal,.as.this.would.be.entire
3c860 6c 79 20 69 6e 63 6f 6d 70 72 65 68 65 6e 73 69 62 6c 65 20 61 6e 64 20 6d 69 67 68 74 20 6c 65 ly.incomprehensible.and.might.le
3c880 61 76 65 20 74 68 65 20 74 65 72 6d 69 6e 61 6c 20 69 6e 20 61 6e 20 61 62 6e 6f 72 6d 61 6c 20 ave.the.terminal.in.an.abnormal.
3c8a0 73 74 61 74 65 2e 0a 0a 4c 7a 69 70 20 77 69 6c 6c 20 63 6f 72 72 65 63 74 6c 79 20 64 65 63 6f state...Lzip.will.correctly.deco
3c8c0 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 6f 6e 63 61 mpress.a.file.which.is.the.conca
3c8e0 74 65 6e 61 74 69 6f 6e 20 6f 66 20 74 77 6f 20 6f 72 0a 6d 6f 72 65 20 63 6f 6d 70 72 65 73 73 tenation.of.two.or.more.compress
3c900 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 63 6f 6e 63 ed.files..The.result.is.the.conc
3c920 61 74 65 6e 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 0a 64 atenation.of.the.corresponding.d
3c940 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 20 74 65 73 ecompressed.files..Integrity.tes
3c960 74 69 6e 67 20 6f 66 20 63 6f 6e 63 61 74 65 6e 61 74 65 64 20 63 6f 6d 70 72 65 73 73 65 64 20 ting.of.concatenated.compressed.
3c980 66 69 6c 65 73 20 69 73 0a 61 6c 73 6f 20 73 75 70 70 6f 72 74 65 64 2e 0a 0a 4c 7a 69 70 20 63 files.is.also.supported...Lzip.c
3c9a0 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 6c 65 73 2c 20 61 6e an.produce.multimember.files,.an
3c9c0 64 20 6c 7a 69 70 72 65 63 6f 76 65 72 20 63 61 6e 20 73 61 66 65 6c 79 20 72 65 63 6f 76 65 72 d.lziprecover.can.safely.recover
3c9e0 20 74 68 65 0a 75 6e 64 61 6d 61 67 65 64 20 6d 65 6d 62 65 72 73 20 69 6e 20 63 61 73 65 20 6f .the.undamaged.members.in.case.o
3ca00 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 6c 73 6f 20 73 70 6c f.file.damage..Lzip.can.also.spl
3ca20 69 74 20 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 0a 6f 75 74 70 75 74 20 69 6e 20 76 6f 6c 75 it.the.compressed.output.in.volu
3ca40 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 20 77 68 65 6e 20 72 mes.of.a.given.size,.even.when.r
3ca60 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 74 2e 0a 54 68 69 73 eading.from.standard.input..This
3ca80 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 6f 6e 20 6f 66 20 6d .allows.the.direct.creation.of.m
3caa0 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 68 69 76 ultivolume.compressed.tar.archiv
3cac0 65 73 2e 0a 0a 4c 7a 69 70 20 69 73 20 61 62 6c 65 20 74 6f 20 63 6f 6d 70 72 65 73 73 20 61 6e es...Lzip.is.able.to.compress.an
3cae0 64 20 64 65 63 6f 6d 70 72 65 73 73 20 73 74 72 65 61 6d 73 20 6f 66 20 75 6e 6c 69 6d 69 74 65 d.decompress.streams.of.unlimite
3cb00 64 20 73 69 7a 65 20 62 79 0a 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 63 72 65 61 74 69 6e 67 d.size.by.automatically.creating
3cb20 20 6d 75 6c 74 69 6d 65 6d 62 65 72 20 6f 75 74 70 75 74 2e 20 54 68 65 20 6d 65 6d 62 65 72 73 .multimember.output..The.members
3cb40 20 73 6f 20 63 72 65 61 74 65 64 20 61 72 65 20 6c 61 72 67 65 2c 0a 61 62 6f 75 74 20 32 20 50 .so.created.are.large,.about.2.P
3cb60 69 42 20 65 61 63 68 2e 0a 0a 49 6e 20 73 70 69 74 65 20 6f 66 20 69 74 73 20 6e 61 6d 65 20 28 iB.each...In.spite.of.its.name.(
3cb80 4c 65 6d 70 65 6c 2d 5a 69 76 2d 4d 61 72 6b 6f 76 20 63 68 61 69 6e 2d 41 6c 67 6f 72 69 74 68 Lempel-Ziv-Markov.chain-Algorith
3cba0 6d 29 2c 20 4c 5a 4d 41 20 69 73 20 6e 6f 74 20 61 0a 63 6f 6e 63 72 65 74 65 20 61 6c 67 6f 72 m),.LZMA.is.not.a.concrete.algor
3cbc0 69 74 68 6d 3b 20 69 74 20 69 73 20 6d 6f 72 65 20 6c 69 6b 65 20 22 61 6e 79 20 61 6c 67 6f 72 ithm;.it.is.more.like."any.algor
3cbe0 69 74 68 6d 20 75 73 69 6e 67 20 74 68 65 20 4c 5a 4d 41 20 63 6f 64 69 6e 67 0a 73 63 68 65 6d ithm.using.the.LZMA.coding.schem
3cc00 65 22 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 6f 70 74 69 6f 6e 20 27 2d 30 27 e"..For.example,.the.option.'-0'
3cc20 20 6f 66 20 6c 7a 69 70 20 75 73 65 73 20 74 68 65 20 73 63 68 65 6d 65 20 69 6e 20 61 6c 6d 6f .of.lzip.uses.the.scheme.in.almo
3cc40 73 74 20 74 68 65 0a 73 69 6d 70 6c 65 73 74 20 77 61 79 20 70 6f 73 73 69 62 6c 65 3b 20 69 73 st.the.simplest.way.possible;.is
3cc60 73 75 69 6e 67 20 74 68 65 20 6c 6f 6e 67 65 73 74 20 6d 61 74 63 68 20 69 74 20 63 61 6e 20 66 suing.the.longest.match.it.can.f
3cc80 69 6e 64 2c 20 6f 72 20 61 20 6c 69 74 65 72 61 6c 0a 62 79 74 65 20 69 66 20 69 74 20 63 61 6e ind,.or.a.literal.byte.if.it.can
3cca0 27 74 20 66 69 6e 64 20 61 20 6d 61 74 63 68 2e 20 49 6e 76 65 72 73 65 6c 79 2c 20 61 20 6d 75 't.find.a.match..Inversely,.a.mu
3ccc0 63 68 20 6d 6f 72 65 20 65 6c 61 62 6f 72 61 74 65 64 20 77 61 79 20 6f 66 0a 66 69 6e 64 69 6e ch.more.elaborated.way.of.findin
3cce0 67 20 63 6f 64 69 6e 67 20 73 65 71 75 65 6e 63 65 73 20 6f 66 20 6d 69 6e 69 6d 75 6d 20 73 69 g.coding.sequences.of.minimum.si
3cd00 7a 65 20 74 68 61 6e 20 74 68 65 20 6f 6e 65 20 63 75 72 72 65 6e 74 6c 79 20 75 73 65 64 20 62 ze.than.the.one.currently.used.b
3cd20 79 20 6c 7a 69 70 0a 63 6f 75 6c 64 20 62 65 20 64 65 76 65 6c 6f 70 65 64 2c 20 61 6e 64 20 74 y.lzip.could.be.developed,.and.t
3cd40 68 65 20 72 65 73 75 6c 74 69 6e 67 20 73 65 71 75 65 6e 63 65 20 63 6f 75 6c 64 20 61 6c 73 6f he.resulting.sequence.could.also
3cd60 20 62 65 20 63 6f 64 65 64 20 75 73 69 6e 67 20 74 68 65 0a 4c 5a 4d 41 20 63 6f 64 69 6e 67 20 .be.coded.using.the.LZMA.coding.
3cd80 73 63 68 65 6d 65 2e 0a 0a 4c 7a 69 70 20 63 75 72 72 65 6e 74 6c 79 20 69 6d 70 6c 65 6d 65 6e scheme...Lzip.currently.implemen
3cda0 74 73 20 74 77 6f 20 76 61 72 69 61 6e 74 73 20 6f 66 20 74 68 65 20 4c 5a 4d 41 20 61 6c 67 6f ts.two.variants.of.the.LZMA.algo
3cdc0 72 69 74 68 6d 3a 20 66 61 73 74 0a 28 75 73 65 64 20 62 79 20 6f 70 74 69 6f 6e 20 27 2d 30 27 rithm:.fast.(used.by.option.'-0'
3cde0 29 20 61 6e 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 ).and.normal.(used.by.all.other.
3ce00 63 6f 6d 70 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 compression.levels)...The.high.c
3ce20 6f 6d 70 72 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 ompression.of.LZMA.comes.from.co
3ce40 6d 62 69 6e 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 mbining.two.basic,.well-proven.c
3ce60 6f 6d 70 72 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 ompression.ideas:.sliding.dictio
3ce80 6e 61 72 69 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 naries.(LZ77/78).and.markov.mode
3cea0 6c 73 20 28 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 ls.(the.thing.used.by.every.comp
3cec0 72 65 73 73 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 ression.algorithm.that.uses.a.ra
3cee0 6e 67 65 20 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 nge.encoder.or.similar.order-0.e
3cf00 6e 74 72 6f 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 ntropy.coder.as.its.last.stage).
3cf20 77 69 74 68 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 with.segregation.of.contexts.acc
3cf40 6f 72 64 69 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 ording.to.what.the.bits.are.used
3cf60 20 66 6f 72 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 69 .for...The.ideas.embodied.in.lzi
3cf80 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 6c p.are.due.to.(at.least).the.foll
3cfa0 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 64 owing.people:.Abraham.Lempel.and
3cfc0 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 6d .Jacob.Ziv.(for.the.LZ.algorithm
3cfe0 29 2c 20 41 6e 64 72 65 79 20 4d 61 72 6b 6f 76 20 28 66 6f 72 20 74 68 65 0a 64 65 66 69 6e 69 ),.Andrey.Markov.(for.the.defini
3d000 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 4d tion.of.Markov.chains),.G.N.N..M
3d020 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 20 72 61 6e artin.(for.the.definition.of.ran
3d040 67 65 0a 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 70 ge.encoding),.Igor.Pavlov.(for.p
3d060 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 6e utting.all.the.above.together.in
3d080 20 4c 5a 4d 41 29 2c 20 61 6e 64 0a 4a 75 6c 69 61 6e 20 53 65 77 61 72 64 20 28 66 6f 72 20 62 .LZMA),.and.Julian.Seward.(for.b
3d0a0 7a 69 70 32 27 73 20 43 4c 49 29 2e 0a 0a 4c 41 4e 47 55 41 47 45 20 4e 4f 54 45 3a 20 55 6e 63 zip2's.CLI)...LANGUAGE.NOTE:.Unc
3d0c0 6f 6d 70 72 65 73 73 65 64 20 3d 20 6e 6f 74 20 63 6f 6d 70 72 65 73 73 65 64 20 3d 20 70 6c 61 ompressed.=.not.compressed.=.pla
3d0e0 69 6e 20 64 61 74 61 3b 20 69 74 20 6d 61 79 20 6e 65 76 65 72 20 68 61 76 65 0a 62 65 65 6e 20 in.data;.it.may.never.have.been.
3d100 63 6f 6d 70 72 65 73 73 65 64 2e 20 44 65 63 6f 6d 70 72 65 73 73 65 64 20 69 73 20 75 73 65 64 compressed..Decompressed.is.used
3d120 20 74 6f 20 72 65 66 65 72 20 74 6f 20 64 61 74 61 20 77 68 69 63 68 20 68 61 76 65 20 75 6e 64 .to.refer.to.data.which.have.und
3d140 65 72 67 6f 6e 65 0a 74 68 65 20 70 72 6f 63 65 73 73 20 6f 66 20 64 65 63 6f 6d 70 72 65 73 73 ergone.the.process.of.decompress
3d160 69 6f 6e 2e 0a 0a 0a 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d 32 30 32 32 20 41 ion....Copyright.(C).2008-2022.A
3d180 6e 74 6f 6e 69 6f 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 ntonio.Diaz.Diaz...This.file.is.
3d1a0 66 72 65 65 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 free.documentation:.you.have.unl
3d1c0 69 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 0a 64 69 73 74 72 imited.permission.to.copy,.distr
3d1e0 69 62 75 74 65 2c 20 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 ibute,.and.modify.it...The.file.
3d200 4d 61 6b 65 66 69 6c 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 Makefile.in.is.a.data.file.used.
3d220 62 79 20 63 6f 6e 66 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 by.configure.to.produce.the.Make
3d240 66 69 6c 65 2e 20 49 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 file..It.has.the.same.copyright.
3d260 6f 77 6e 65 72 20 61 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 owner.and.permissions.that.confi
3d280 67 75 72 65 0a 69 74 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 gure.itself.....................
3d2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3d2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3d2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3d300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3d320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3d340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3d360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3d380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3d3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3d3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3d3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3d400 6c 7a 69 70 2d 31 2e 32 33 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.23/fast_encoder.h........
3d420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3d440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3d460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
3d480 30 30 30 33 34 37 35 00 31 34 31 37 32 36 34 35 36 32 35 00 30 31 35 32 34 35 00 20 30 00 00 00 0003475.14172645625.015245..0...
3d4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3d4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3d4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3d500 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
3d520 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
3d540 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
3d560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3d580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3d5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3d5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3d5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3d600 2f 2a 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 /*.Lzip.-.LZMA.lossless.data.com
3d620 70 72 65 73 73 6f 72 0a 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d 32 30 pressor....Copyright.(C).2008-20
3d640 32 32 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 54 68 69 73 20 70 22.Antonio.Diaz.Diaz......This.p
3d660 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 63 61 6e rogram.is.free.software:.you.can
3d680 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 79 0a 20 .redistribute.it.and/or.modify..
3d6a0 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 47 4e 55 20 ..it.under.the.terms.of.the.GNU.
3d6c0 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 62 6c 69 73 General.Public.License.as.publis
3d6e0 68 65 64 20 62 79 0a 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e hed.by....the.Free.Software.Foun
3d700 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 20 74 68 65 20 dation,.either.version.2.of.the.
3d720 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 License,.or....(at.your.option).
3d740 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 54 68 69 73 20 70 72 6f 67 any.later.version......This.prog
3d760 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 70 65 20 74 ram.is.distributed.in.the.hope.t
3d780 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 62 75 74 20 57 49 hat.it.will.be.useful,....but.WI
3d7a0 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 65 76 65 6e THOUT.ANY.WARRANTY;.without.even
3d7c0 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 4d 45 52 43 .the.implied.warranty.of....MERC
3d7e0 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
3d800 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 0a 20 20 20 47 4e 55 TICULAR.PURPOSE...See.the....GNU
3d820 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 72 65 .General.Public.License.for.more
3d840 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 .details......You.should.have.re
3d860 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 6e 65 72 61 6c ceived.a.copy.of.the.GNU.General
3d880 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 .Public.License....along.with.th
3d8a0 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 3c 68 74 74 70 3a 2f is.program...If.not,.see.<http:/
3d8c0 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 2a 2f 0a 0a 63 6c 61 /www.gnu.org/licenses/>..*/..cla
3d8e0 73 73 20 46 4c 5a 5f 65 6e 63 6f 64 65 72 20 3a 20 70 75 62 6c 69 63 20 4c 5a 5f 65 6e 63 6f 64 ss.FLZ_encoder.:.public.LZ_encod
3d900 65 72 5f 62 61 73 65 0a 20 20 7b 0a 20 20 75 6e 73 69 67 6e 65 64 20 6b 65 79 34 3b 09 09 09 2f er_base...{...unsigned.key4;.../
3d920 2f 20 6b 65 79 20 6d 61 64 65 20 66 72 6f 6d 20 6c 61 74 65 73 74 20 34 20 62 79 74 65 73 0a 0a /.key.made.from.latest.4.bytes..
3d940 20 20 76 6f 69 64 20 72 65 73 65 74 5f 6b 65 79 34 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 6b 65 ..void.reset_key4().....{.....ke
3d960 79 34 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 y4.=.0;.....for(.int.i.=.0;.i.<.
3d980 33 20 26 26 20 69 20 3c 20 61 76 61 69 6c 61 62 6c 65 5f 62 79 74 65 73 28 29 3b 20 2b 2b 69 20 3.&&.i.<.available_bytes();.++i.
3d9a0 29 0a 20 20 20 20 20 20 6b 65 79 34 20 3d 20 28 20 6b 65 79 34 20 3c 3c 20 34 20 29 20 5e 20 62 ).......key4.=.(.key4.<<.4.).^.b
3d9c0 75 66 66 65 72 5b 69 5d 3b 0a 20 20 20 20 7d 0a 0a 20 20 69 6e 74 20 6c 6f 6e 67 65 73 74 5f 6d uffer[i];.....}....int.longest_m
3d9e0 61 74 63 68 5f 6c 65 6e 28 20 69 6e 74 20 2a 20 63 6f 6e 73 74 20 64 69 73 74 61 6e 63 65 20 29 atch_len(.int.*.const.distance.)
3da00 3b 0a 0a 20 20 76 6f 69 64 20 75 70 64 61 74 65 5f 61 6e 64 5f 6d 6f 76 65 28 20 69 6e 74 20 6e ;....void.update_and_move(.int.n
3da20 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 77 68 69 6c 65 28 20 2d 2d 6e 20 3e 3d 20 30 20 29 0a 20 .).....{.....while(.--n.>=.0.)..
3da40 20 20 20 20 20 7b 0a 20 20 20 20 20 20 69 66 28 20 61 76 61 69 6c 61 62 6c 65 5f 62 79 74 65 73 .....{.......if(.available_bytes
3da60 28 29 20 3e 3d 20 34 20 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 6b 65 79 34 ().>=.4.).........{.........key4
3da80 20 3d 20 28 20 28 20 6b 65 79 34 20 3c 3c 20 34 20 29 20 5e 20 62 75 66 66 65 72 5b 70 6f 73 2b .=.(.(.key4.<<.4.).^.buffer[pos+
3daa0 33 5d 20 29 20 26 20 6b 65 79 34 5f 6d 61 73 6b 3b 0a 20 20 20 20 20 20 20 20 70 6f 73 5f 61 72 3].).&.key4_mask;.........pos_ar
3dac0 72 61 79 5b 63 79 63 6c 69 63 5f 70 6f 73 5d 20 3d 20 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 ray[cyclic_pos].=.prev_positions
3dae0 5b 6b 65 79 34 5d 3b 0a 20 20 20 20 20 20 20 20 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 5b 6b [key4];.........prev_positions[k
3db00 65 79 34 5d 20 3d 20 70 6f 73 20 2b 20 31 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 ey4].=.pos.+.1;.........}.......
3db20 6d 6f 76 65 5f 70 6f 73 28 29 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 65 6e 75 move_pos();.......}.....}....enu
3db40 6d 20 7b 20 62 65 66 6f 72 65 5f 73 69 7a 65 20 3d 20 30 2c 0a 20 20 20 20 20 20 20 20 20 64 69 m.{.before_size.=.0,..........di
3db60 63 74 5f 73 69 7a 65 20 3d 20 36 35 35 33 36 2c 0a 20 20 20 20 20 20 20 20 20 2f 2f 20 62 79 74 ct_size.=.65536,..........//.byt
3db80 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 6f 73 0a 20 es.to.keep.in.buffer.after.pos..
3dba0 20 20 20 20 20 20 20 20 61 66 74 65 72 5f 73 69 7a 65 20 3d 20 6d 61 78 5f 6d 61 74 63 68 5f 6c ........after_size.=.max_match_l
3dbc0 65 6e 2c 0a 20 20 20 20 20 20 20 20 20 64 69 63 74 5f 66 61 63 74 6f 72 20 3d 20 31 36 2c 0a 20 en,..........dict_factor.=.16,..
3dbe0 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 20 3d 20 30 ........num_prev_positions23.=.0
3dc00 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 6f 72 20 3d 20 31 20 ,..........pos_array_factor.=.1.
3dc20 7d 3b 0a 0a 70 75 62 6c 69 63 3a 0a 20 20 46 4c 5a 5f 65 6e 63 6f 64 65 72 28 20 63 6f 6e 73 74 };..public:...FLZ_encoder(.const
3dc40 20 69 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 .int.ifd,.const.int.outfd.).....
3dc60 3a 0a 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 :.....LZ_encoder_base(.before_si
3dc80 7a 65 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 ze,.dict_size,.after_size,.dict_
3dca0 66 61 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 factor,......................num
3dcc0 5f 70 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 _prev_positions23,.pos_array_fac
3dce0 74 6f 72 2c 20 69 66 64 2c 20 6f 75 74 66 64 20 29 0a 20 20 20 20 7b 7d 0a 0a 20 20 62 6f 6f 6c tor,.ifd,.outfd.).....{}....bool
3dd00 20 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 20 6c .encode_member(.const.unsigned.l
3dd20 6f 6e 67 20 6c 6f 6e 67 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 29 3b 0a 20 20 7d 3b 0a 00 00 00 ong.long.member_size.);...};....
3dd40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3dd60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3dd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3dda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ddc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3dde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3de00 6c 7a 69 70 2d 31 2e 32 33 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.23/doc/..................
3de20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3de40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3de60 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
3de80 30 30 30 30 30 30 30 00 31 34 32 35 30 34 35 36 33 32 35 00 30 31 33 31 36 36 00 20 35 00 00 00 0000000.14250456325.013166..5...
3dea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3dec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3dee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3df00 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
3df20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
3df40 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
3df60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3df80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3dfa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3dfc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3dfe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e000 6c 7a 69 70 2d 31 2e 32 33 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.23/doc/lzip.texi.........
3e020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
3e080 30 32 30 30 34 34 34 00 31 34 31 37 33 35 36 36 33 34 36 00 30 31 35 30 35 34 00 20 30 00 00 00 0200444.14173566346.015054..0...
3e0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e100 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
3e120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
3e140 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
3e160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e200 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-*-.
3e220 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
3e240 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
3e260 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
3e280 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..
3e2a0 40 73 65 74 20 55 50 44 41 54 45 44 20 32 34 20 4a 61 6e 75 61 72 79 20 32 30 32 32 0a 40 73 65 @set.UPDATED.24.January.2022.@se
3e2c0 74 20 56 45 52 53 49 4f 4e 20 31 2e 32 33 0a 0a 40 64 69 72 63 61 74 65 67 6f 72 79 20 43 6f 6d t.VERSION.1.23..@dircategory.Com
3e2e0 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 20 28 6c 7a 69 70 pression.@direntry.*.Lzip:.(lzip
3e300 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 73 73 6c 65 73 73 )..................LZMA.lossless
3e320 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 6e 74 72 79 0a 0a .data.compressor.@end.direntry..
3e340 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 74 6c 65 20 4c 7a .@ifnothtml.@titlepage.@title.Lz
3e360 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 20 64 61 74 61 20 ip.@subtitle.LZMA.lossless.data.
3e380 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 7a 69 70 20 76 65 compressor.@subtitle.for.Lzip.ve
3e3a0 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 6c 75 65 7b 55 50 rsion.@value{VERSION},.@value{UP
3e3c0 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 44 69 61 7a 20 44 DATED}.@author.by.Antonio.Diaz.D
3e3e0 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 20 31 66 69 6c 6c iaz..@page.@vskip.0pt.plus.1fill
3e400 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 73 0a 40 65 6e 64 l.@end.titlepage..@contents.@end
3e420 20 69 66 6e 6f 74 68 74 6d 6c 0a 0a 40 69 66 6e 6f 74 74 65 78 0a 40 6e 6f 64 65 20 54 6f 70 0a .ifnothtml..@ifnottex.@node.Top.
3e440 40 74 6f 70 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 @top..This.manual.is.for.Lzip.(v
3e460 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 6c 75 65 7b 55 ersion.@value{VERSION},.@value{U
3e480 50 44 41 54 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 PDATED})...@menu.*.Introduction:
3e4a0 3a 20 20 20 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 :...........Purpose.and.features
3e4c0 20 6f 66 20 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 .of.lzip.*.Output::.............
3e4e0 20 20 20 20 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 ....Meaning.of.lzip's.output.*.I
3e500 6e 76 6f 6b 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 nvoking.lzip::..........Command.
3e520 6c 69 6e 65 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 line.interface.*.Quality.assuran
3e540 63 65 3a 3a 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 2c 20 61 ce::......Design,.development,.a
3e560 6e 64 20 74 65 73 74 69 6e 67 20 6f 66 20 6c 7a 69 70 0a 2a 20 41 6c 67 6f 72 69 74 68 6d 3a 3a nd.testing.of.lzip.*.Algorithm::
3e580 20 20 20 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 ..............How.lzip.compresse
3e5a0 73 20 74 68 65 20 64 61 74 61 0a 2a 20 46 69 6c 65 20 66 6f 72 6d 61 74 3a 3a 20 20 20 20 20 20 s.the.data.*.File.format::......
3e5c0 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 63 6f 6d ......Detailed.format.of.the.com
3e5e0 70 72 65 73 73 65 64 20 66 69 6c 65 0a 2a 20 53 74 72 65 61 6d 20 66 6f 72 6d 61 74 3a 3a 20 20 pressed.file.*.Stream.format::..
3e600 20 20 20 20 20 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 ........Format.of.the.LZMA.strea
3e620 6d 20 69 6e 20 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 m.in.lzip.files.*.Trailing.data:
3e640 3a 20 20 20 20 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 :..........Extra.data.appended.t
3e660 6f 20 74 68 65 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 o.the.file.*.Examples::.........
3e680 20 20 20 20 20 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 ......A.small.tutorial.with.exam
3e6a0 70 6c 65 73 0a 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 ples.*.Problems::...............
3e6c0 52 65 70 6f 72 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 Reporting.bugs.*.Reference.sourc
3e6e0 65 20 63 6f 64 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 e.code::..Source.code.illustrati
3e700 6e 67 20 73 74 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 ng.stream.format.*.Concept.index
3e720 3a 3a 20 20 20 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 ::..........Index.of.concepts.@e
3e740 6e 64 20 6d 65 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 nd.menu..@sp.1.Copyright.@copyri
3e760 67 68 74 7b 7d 20 32 30 30 38 2d 32 30 32 32 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 ght{}.2008-2022.Antonio.Diaz.Dia
3e780 7a 2e 0a 0a 54 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 z...This.manual.is.free.document
3e7a0 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 20 70 65 72 6d 69 73 ation:.you.have.unlimited.permis
3e7c0 73 69 6f 6e 20 74 6f 20 63 6f 70 79 2c 0a 64 69 73 74 72 69 62 75 74 65 2c 20 61 6e 64 20 6d 6f sion.to.copy,.distribute,.and.mo
3e7e0 64 69 66 79 20 69 74 2e 0a 40 65 6e 64 20 69 66 6e 6f 74 74 65 78 0a 0a 0a 40 6e 6f 64 65 20 49 dify.it..@end.ifnottex...@node.I
3e800 6e 74 72 6f 64 75 63 74 69 6f 6e 0a 40 63 68 61 70 74 65 72 20 49 6e 74 72 6f 64 75 63 74 69 6f ntroduction.@chapter.Introductio
3e820 6e 0a 40 63 69 6e 64 65 78 20 69 6e 74 72 6f 64 75 63 74 69 6f 6e 0a 0a 40 75 72 65 66 7b 68 74 n.@cindex.introduction..@uref{ht
3e840 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 6c 7a 69 70 2e 68 74 tp://www.nongnu.org/lzip/lzip.ht
3e860 6d 6c 2c 2c 4c 7a 69 70 7d 0a 69 73 20 61 20 6c 6f 73 73 6c 65 73 73 20 64 61 74 61 20 63 6f 6d ml,,Lzip}.is.a.lossless.data.com
3e880 70 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 pressor.with.a.user.interface.si
3e8a0 6d 69 6c 61 72 20 74 6f 20 74 68 65 20 6f 6e 65 0a 6f 66 20 67 7a 69 70 20 6f 72 20 62 7a 69 70 milar.to.the.one.of.gzip.or.bzip
3e8c0 32 2e 20 4c 7a 69 70 20 75 73 65 73 20 61 20 73 69 6d 70 6c 69 66 69 65 64 20 66 6f 72 6d 20 6f 2..Lzip.uses.a.simplified.form.o
3e8e0 66 20 74 68 65 20 27 4c 65 6d 70 65 6c 2d 5a 69 76 2d 4d 61 72 6b 6f 76 0a 63 68 61 69 6e 2d 41 f.the.'Lempel-Ziv-Markov.chain-A
3e900 6c 67 6f 72 69 74 68 6d 27 20 28 4c 5a 4d 41 29 20 73 74 72 65 61 6d 20 66 6f 72 6d 61 74 20 61 lgorithm'.(LZMA).stream.format.a
3e920 6e 64 20 70 72 6f 76 69 64 65 73 20 61 20 33 20 66 61 63 74 6f 72 20 69 6e 74 65 67 72 69 74 79 nd.provides.a.3.factor.integrity
3e940 0a 63 68 65 63 6b 69 6e 67 20 74 6f 20 6d 61 78 69 6d 69 7a 65 20 69 6e 74 65 72 6f 70 65 72 61 .checking.to.maximize.interopera
3e960 62 69 6c 69 74 79 20 61 6e 64 20 6f 70 74 69 6d 69 7a 65 20 73 61 66 65 74 79 2e 20 4c 7a 69 70 bility.and.optimize.safety..Lzip
3e980 20 63 61 6e 20 63 6f 6d 70 72 65 73 73 0a 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
3e9a0 7a 69 70 20 40 77 7b 28 6c 7a 69 70 20 2d 30 29 7d 20 6f 72 20 63 6f 6d 70 72 65 73 73 20 6d 6f zip.@w{(lzip.-0)}.or.compress.mo
3e9c0 73 74 20 66 69 6c 65 73 20 6d 6f 72 65 20 74 68 61 6e 20 62 7a 69 70 32 0a 40 77 7b 28 6c 7a 69 st.files.more.than.bzip2.@w{(lzi
3e9e0 70 20 2d 39 29 7d 2e 20 44 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 73 70 65 65 64 20 69 73 20 69 p.-9)}..Decompression.speed.is.i
3ea00 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 61 6e 64 20 62 7a 69 ntermediate.between.gzip.and.bzi
3ea20 70 32 2e 0a 4c 7a 69 70 20 69 73 20 62 65 74 74 65 72 20 74 68 61 6e 20 67 7a 69 70 20 61 6e 64 p2..Lzip.is.better.than.gzip.and
3ea40 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 72 79 20 70 65 72 73 .bzip2.from.a.data.recovery.pers
3ea60 70 65 63 74 69 76 65 2e 20 4c 7a 69 70 0a 68 61 73 20 62 65 65 6e 20 64 65 73 69 67 6e 65 64 2c pective..Lzip.has.been.designed,
3ea80 20 77 72 69 74 74 65 6e 2c 20 61 6e 64 20 74 65 73 74 65 64 20 77 69 74 68 20 67 72 65 61 74 20 .written,.and.tested.with.great.
3eaa0 63 61 72 65 20 74 6f 20 72 65 70 6c 61 63 65 20 67 7a 69 70 20 61 6e 64 0a 62 7a 69 70 32 20 61 care.to.replace.gzip.and.bzip2.a
3eac0 73 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 67 65 6e 65 72 61 6c 2d 70 75 72 70 6f 73 65 20 63 s.the.standard.general-purpose.c
3eae0 6f 6d 70 72 65 73 73 65 64 20 66 6f 72 6d 61 74 20 66 6f 72 20 75 6e 69 78 2d 6c 69 6b 65 0a 73 ompressed.format.for.unix-like.s
3eb00 79 73 74 65 6d 73 2e 0a 0a 46 6f 72 20 63 6f 6d 70 72 65 73 73 69 6e 67 2f 64 65 63 6f 6d 70 72 ystems...For.compressing/decompr
3eb20 65 73 73 69 6e 67 20 6c 61 72 67 65 20 66 69 6c 65 73 20 6f 6e 20 6d 75 6c 74 69 70 72 6f 63 65 essing.large.files.on.multiproce
3eb40 73 73 6f 72 20 6d 61 63 68 69 6e 65 73 0a 40 75 72 65 66 7b 68 74 74 70 3a 2f 2f 77 77 77 2e 6e ssor.machines.@uref{http://www.n
3eb60 6f 6e 67 6e 75 2e 6f 72 67 2f 6c 7a 69 70 2f 6d 61 6e 75 61 6c 2f 70 6c 7a 69 70 5f 6d 61 6e 75 ongnu.org/lzip/manual/plzip_manu
3eb80 61 6c 2e 68 74 6d 6c 2c 2c 70 6c 7a 69 70 7d 20 63 61 6e 20 62 65 0a 6d 75 63 68 20 66 61 73 74 al.html,,plzip}.can.be.much.fast
3eba0 65 72 20 74 68 61 6e 20 6c 7a 69 70 20 61 74 20 74 68 65 20 63 6f 73 74 20 6f 66 20 61 20 73 6c er.than.lzip.at.the.cost.of.a.sl
3ebc0 69 67 68 74 6c 79 20 72 65 64 75 63 65 64 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 72 61 74 69 6f ightly.reduced.compression.ratio
3ebe0 2e 0a 40 69 66 6e 6f 74 68 74 6d 6c 0a 40 78 72 65 66 7b 54 6f 70 2c 70 6c 7a 69 70 20 6d 61 6e ..@ifnothtml.@xref{Top,plzip.man
3ec00 75 61 6c 2c 2c 70 6c 7a 69 70 7d 2e 0a 40 65 6e 64 20 69 66 6e 6f 74 68 74 6d 6c 0a 0a 46 6f 72 ual,,plzip}..@end.ifnothtml..For
3ec20 20 63 72 65 61 74 69 6f 6e 20 61 6e 64 20 6d 61 6e 69 70 75 6c 61 74 69 6f 6e 20 6f 66 20 63 6f .creation.and.manipulation.of.co
3ec40 6d 70 72 65 73 73 65 64 20 74 61 72 20 61 72 63 68 69 76 65 73 0a 40 75 72 65 66 7b 68 74 74 70 mpressed.tar.archives.@uref{http
3ec60 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 75 61 6c 2f 74 61 ://www.nongnu.org/lzip/manual/ta
3ec80 72 6c 7a 5f 6d 61 6e 75 61 6c 2e 68 74 6d 6c 2c 2c 74 61 72 6c 7a 7d 20 63 61 6e 20 62 65 20 6d rlz_manual.html,,tarlz}.can.be.m
3eca0 6f 72 65 0a 65 66 66 69 63 69 65 6e 74 20 74 68 61 6e 20 75 73 69 6e 67 20 74 61 72 20 61 6e 64 ore.efficient.than.using.tar.and
3ecc0 20 70 6c 7a 69 70 20 62 65 63 61 75 73 65 20 74 61 72 6c 7a 20 69 73 20 61 62 6c 65 20 74 6f 20 .plzip.because.tarlz.is.able.to.
3ece0 6b 65 65 70 20 74 68 65 0a 61 6c 69 67 6e 6d 65 6e 74 20 62 65 74 77 65 65 6e 20 74 61 72 20 6d keep.the.alignment.between.tar.m
3ed00 65 6d 62 65 72 73 20 61 6e 64 20 6c 7a 69 70 20 6d 65 6d 62 65 72 73 2e 0a 40 69 66 6e 6f 74 68 embers.and.lzip.members..@ifnoth
3ed20 74 6d 6c 0a 40 78 72 65 66 7b 54 6f 70 2c 74 61 72 6c 7a 20 6d 61 6e 75 61 6c 2c 2c 74 61 72 6c tml.@xref{Top,tarlz.manual,,tarl
3ed40 7a 7d 2e 0a 40 65 6e 64 20 69 66 6e 6f 74 68 74 6d 6c 0a 0a 54 68 65 20 6c 7a 69 70 20 66 69 6c z}..@end.ifnothtml..The.lzip.fil
3ed60 65 20 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 e.format.is.designed.for.data.sh
3ed80 61 72 69 6e 67 20 61 6e 64 20 6c 6f 6e 67 2d 74 65 72 6d 20 61 72 63 68 69 76 69 6e 67 2c 0a 74 aring.and.long-term.archiving,.t
3eda0 61 6b 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 aking.into.account.both.data.int
3edc0 65 67 72 69 74 79 20 61 6e 64 20 64 65 63 6f 64 65 72 20 61 76 61 69 6c 61 62 69 6c 69 74 79 3a egrity.and.decoder.availability:
3ede0 0a 0a 40 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 ..@itemize.@bullet.@item.The.lzi
3ee00 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
3ee20 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 72 65 63 grity.checking.and.some.data.rec
3ee40 6f 76 65 72 79 20 6d 65 61 6e 73 2e 20 54 68 65 20 70 72 6f 67 72 61 6d 0a 40 75 72 65 66 7b 68 overy.means..The.program.@uref{h
3ee60 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 75 61 6c ttp://www.nongnu.org/lzip/manual
3ee80 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 44 61 74 61 2d 73 61 /lziprecover_manual.html#Data-sa
3eea0 66 65 74 79 2c 2c 6c 7a 69 70 72 65 63 6f 76 65 72 7d 0a 63 61 6e 20 72 65 70 61 69 72 20 62 69 fety,,lziprecover}.can.repair.bi
3eec0 74 20 66 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 t.flip.errors.(one.of.the.most.c
3eee0 6f 6d 6d 6f 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 0a ommon.forms.of.data.corruption).
3ef00 69 6e 20 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 in.lzip.files,.and.provides.data
3ef20 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 6e .recovery.capabilities,.includin
3ef40 67 0a 65 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 g.error-checked.merging.of.damag
3ef60 65 64 20 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 ed.copies.of.a.file..@ifnothtml.
3ef80 40 78 72 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 @xref{Data.safety,,,lziprecover}
3efa0 2e 0a 40 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 ..@end.ifnothtml..@item.The.lzip
3efc0 20 66 6f 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 .format.is.as.simple.as.possible
3efe0 20 28 62 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 .(but.not.simpler)..The.lzip.man
3f000 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 20 ual.provides.the.source.code.of.
3f020 61 20 73 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 a.simple.decompressor.along.with
3f040 20 61 0a 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 .a.detailed.explanation.of.how.i
3f060 74 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 20 68 t.works,.so.that.with.the.only.h
3f080 65 6c 70 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 elp.of.the.lzip.manual.it.would.
3f0a0 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 20 61 72 63 68 61 65 be.possible.for.a.digital.archae
3f0c0 6f 6c 6f 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 ologist.to.extract.the.data.from
3f0e0 20 61 20 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 .a.lzip.file.long.after.quantum.
3f100 63 6f 6d 70 75 74 65 72 73 20 65 76 65 6e 74 75 61 6c 6c 79 0a 72 65 6e 64 65 72 20 4c 5a 4d 41 computers.eventually.render.LZMA
3f120 20 6f 62 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 .obsolete...@item.Additionally.t
3f140 68 65 20 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 he.lzip.reference.implementation
3f160 20 69 73 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 .is.copylefted,.which.guarantees
3f180 20 74 68 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 .that.it.will.remain.free.foreve
3f1a0 72 2e 0a 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 r..@end.itemize..A.nice.feature.
3f1c0 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 61 20 63 6f 72 of.the.lzip.format.is.that.a.cor
3f1e0 72 75 70 74 20 62 79 74 65 20 69 73 20 65 61 73 69 65 72 20 74 6f 20 72 65 70 61 69 72 0a 74 68 rupt.byte.is.easier.to.repair.th
3f200 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 69 6e 6e 69 6e e.nearer.it.is.from.the.beginnin
3f220 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 69 74 68 20 74 g.of.the.file..Therefore,.with.t
3f240 68 65 20 68 65 6c 70 20 6f 66 0a 6c 7a 69 70 72 65 63 6f 76 65 72 2c 20 6c 6f 73 69 6e 67 20 61 he.help.of.lziprecover,.losing.a
3f260 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 73 65 20 6f 66 n.entire.archive.just.because.of
3f280 20 61 20 63 6f 72 72 75 70 74 20 62 79 74 65 20 6e 65 61 72 0a 74 68 65 20 62 65 67 69 6e 6e 69 .a.corrupt.byte.near.the.beginni
3f2a0 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 0a 54 68 65 20 ng.is.a.thing.of.the.past...The.
3f2c0 6d 65 6d 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 member.trailer.stores.the.32-bit
3f2e0 20 43 52 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 .CRC.of.the.original.data,.the.s
3f300 69 7a 65 0a 6f 66 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 64 61 74 61 2c 20 61 6e 64 20 74 68 ize.of.the.original.data,.and.th
3f320 65 20 73 69 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 e.size.of.the.member..These.valu
3f340 65 73 2c 20 74 6f 67 65 74 68 65 72 0a 77 69 74 68 20 74 68 65 20 22 45 6e 64 20 4f 66 20 53 74 es,.together.with.the."End.Of.St
3f360 72 65 61 6d 22 20 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 ream".marker,.provide.a.3.factor
3f380 20 69 6e 74 65 67 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 .integrity.checking.which.guaran
3f3a0 74 65 65 73 20 74 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 tees.that.the.decompressed.versi
3f3c0 6f 6e 20 6f 66 20 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 on.of.the.data.is.identical.to.t
3f3e0 68 65 20 6f 72 69 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 he.original..This.guards.against
3f400 20 63 6f 72 72 75 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 .corruption.of.the.compressed.da
3f420 74 61 2c 0a 61 6e 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 ta,.and.against.undetected.bugs.
3f440 69 6e 20 6c 7a 69 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 in.lzip.(hopefully.very.unlikely
3f460 29 2e 20 54 68 65 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 )..The.chances.of.data.corruptio
3f480 6e 20 67 6f 69 6e 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 n.going.undetected.are.microscop
3f4a0 69 63 2e 20 42 65 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 ic..Be.aware,.though,.that.the.c
3f4c0 68 65 63 6b 20 6f 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 heck.occurs.upon.decompression,.
3f4e0 73 6f 20 69 74 20 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 so.it.can.only.tell.you.that.som
3f500 65 74 68 69 6e 67 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 ething.is.wrong..It.can't.help.y
3f520 6f 75 20 72 65 63 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 ou.recover.the.original.uncompre
3f540 73 73 65 64 20 64 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 ssed.data...Lzip.uses.the.same.w
3f560 65 6c 6c 2d 64 65 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 ell-defined.exit.status.values.u
3f580 73 65 64 20 62 79 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 sed.by.bzip2,.which.makes.it.saf
3f5a0 65 72 20 74 68 61 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 er.than.compressors.returning.am
3f5c0 62 69 67 75 6f 75 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 biguous.warning.values.(like.gzi
3f5e0 70 29 20 77 68 65 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 p).when.it.is.used.as.a.back.end
3f600 20 66 6f 72 20 6f 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 20 .for.other.programs.like.tar.or.
3f620 7a 75 74 69 6c 73 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 zutils...Lzip.will.automatically
3f640 20 75 73 65 20 66 6f 72 20 65 61 63 68 20 66 69 6c 65 20 74 68 65 20 6c 61 72 67 65 73 74 20 64 .use.for.each.file.the.largest.d
3f660 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 74 68 61 74 0a 64 6f 65 73 20 6e 6f 74 20 65 78 63 ictionary.size.that.does.not.exc
3f680 65 65 64 20 6e 65 69 74 68 65 72 20 74 68 65 20 66 69 6c 65 20 73 69 7a 65 20 6e 6f 72 20 74 68 eed.neither.the.file.size.nor.th
3f6a0 65 20 6c 69 6d 69 74 20 67 69 76 65 6e 2e 20 4b 65 65 70 20 69 6e 20 6d 69 6e 64 20 74 68 61 74 e.limit.given..Keep.in.mind.that
3f6c0 0a 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 75 69 72 .the.decompression.memory.requir
3f6e0 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 6f 6e ement.is.affected.at.compression
3f700 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 61 72 .time.by.the.choice.of.dictionar
3f720 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 65 6d y.size.limit...The.amount.of.mem
3f740 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 73 20 ory.required.for.compression.is.
3f760 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 61 72 about.1.or.2.times.the.dictionar
3f780 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 73 69 y.size.limit.(1.if.input.file.si
3f7a0 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 65 0a ze.is.less.than.dictionary.size.
3f7c0 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 65 20 limit,.else.2).plus.9.times.the.
3f7e0 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 68 65 dictionary.size.really.used..The
3f800 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 69 61 6c 20 61 6e 64 .option.@samp{-0}.is.special.and
3f820 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 2e 35 20 4d 69 42 7d .only.requires.about.@w{1.5.MiB}
3f840 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 65 6d 6f 72 79 20 72 .at.most..The.amount.of.memory.r
3f860 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 20 69 73 20 61 62 6f equired.for.decompression.is.abo
3f880 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 74 68 65 20 64 69 63 ut.@w{46.kB}.larger.than.the.dic
3f8a0 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 0a 0a 57 68 65 6e 20 tionary.size.really.used...When.
3f8c0 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 73 20 65 76 65 72 79 compressing,.lzip.replaces.every
3f8e0 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 64 20 6c 69 6e 65 0a .file.given.in.the.command.line.
3f900 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 20 6f 66 20 69 74 73 with.a.compressed.version.of.its
3f920 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 6e 61 6c 5f 6e 61 6d elf,.with.the.name."original_nam
3f940 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 2c 20 6c 7a 69 70 20 e.lz"..When.decompressing,.lzip.
3f960 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 65 20 66 6f 72 20 74 attempts.to.guess.the.name.for.t
3f980 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 20 74 68 61 74 20 6f he.decompressed.file.from.that.o
3f9a0 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 66 6f 6c 6c 6f 77 73 f.the.compressed.file.as.follows
3f9c0 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 61 6d 65 7d 20 7b 62 :..@multitable.{anyothername}.{b
3f9e0 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 7d 0a 40 69 74 65 6d ecomes}.{anyothername.out}.@item
3fa00 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 73 20 40 74 61 62 20 .filename.lz..@tab.becomes.@tab.
3fa20 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 6c 7a 20 40 74 61 62 filename.@item.filename.tlz.@tab
3fa40 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 72 0a 40 69 74 65 6d .becomes.@tab.filename.tar.@item
3fa60 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 73 20 40 74 61 62 20 .anyothername.@tab.becomes.@tab.
3fa80 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 74 69 74 61 62 6c 65 anyothername.out.@end.multitable
3faa0 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 69 73 20 6d 75 63 68 ..(De)compressing.a.file.is.much
3fac0 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 74 2e 20 54 68 65 72 .like.copying.or.moving.it..Ther
3fae0 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 61 63 63 65 73 73 20 efore.lzip.preserves.the.access.
3fb00 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 65 72 6d 69 73 73 69 and.modification.dates,.permissi
3fb20 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 6f 77 6e 65 72 73 68 ons,.and,.when.possible,.ownersh
3fb40 69 70 20 6f 66 20 74 68 65 20 66 69 6c 65 20 6a 75 73 74 20 61 73 20 40 77 7b 40 73 61 6d 70 7b ip.of.the.file.just.as.@w{@samp{
3fb60 63 70 20 2d 70 7d 7d 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
3fb80 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
3fba0 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
3fbc0 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
3fbe0 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
3fc00 70 65 73 20 6f 66 20 6e 6f 6e 2d 72 65 67 75 6c 61 72 20 66 69 6c 65 73 20 69 66 20 65 69 74 68 pes.of.non-regular.files.if.eith
3fc20 65 72 20 74 68 65 0a 6f 70 74 69 6f 6e 20 40 73 61 6d 70 7b 2d 63 7d 20 6f 72 20 74 68 65 20 6f er.the.option.@samp{-c}.or.the.o
3fc40 70 74 69 6f 6e 20 40 73 61 6d 70 7b 2d 6f 7d 20 69 73 20 73 70 65 63 69 66 69 65 64 2e 0a 0a 4c ption.@samp{-o}.is.specified...L
3fc60 7a 69 70 20 77 69 6c 6c 20 72 65 66 75 73 65 20 74 6f 20 72 65 61 64 20 63 6f 6d 70 72 65 73 73 zip.will.refuse.to.read.compress
3fc80 65 64 20 64 61 74 61 20 66 72 6f 6d 20 61 20 74 65 72 6d 69 6e 61 6c 20 6f 72 20 77 72 69 74 65 ed.data.from.a.terminal.or.write
3fca0 20 63 6f 6d 70 72 65 73 73 65 64 0a 64 61 74 61 20 74 6f 20 61 20 74 65 72 6d 69 6e 61 6c 2c 20 .compressed.data.to.a.terminal,.
3fcc0 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 20 69 6e 63 6f 6d 70 as.this.would.be.entirely.incomp
3fce0 72 65 68 65 6e 73 69 62 6c 65 20 61 6e 64 20 6d 69 67 68 74 0a 6c 65 61 76 65 20 74 68 65 20 74 rehensible.and.might.leave.the.t
3fd00 65 72 6d 69 6e 61 6c 20 69 6e 20 61 6e 20 61 62 6e 6f 72 6d 61 6c 20 73 74 61 74 65 2e 0a 0a 4c erminal.in.an.abnormal.state...L
3fd20 7a 69 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 zip.will.correctly.decompress.a.
3fd40 66 69 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 file.which.is.the.concatenation.
3fd60 6f 66 20 74 77 6f 20 6f 72 0a 6d 6f 72 65 20 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 73 2e of.two.or.more.compressed.files.
3fd80 20 54 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 .The.result.is.the.concatenation
3fda0 20 6f 66 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 0a 64 65 63 6f 6d 70 72 65 73 73 .of.the.corresponding.decompress
3fdc0 65 64 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 ed.files..Integrity.testing.of.c
3fde0 6f 6e 63 61 74 65 6e 61 74 65 64 20 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 73 20 69 73 0a oncatenated.compressed.files.is.
3fe00 61 6c 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 also.supported...Lzip.can.produc
3fe20 65 20 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 e.multimember.files,.and.lziprec
3fe40 6f 76 65 72 20 63 61 6e 20 73 61 66 65 6c 79 20 72 65 63 6f 76 65 72 20 74 68 65 0a 75 6e 64 61 over.can.safely.recover.the.unda
3fe60 6d 61 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 maged.members.in.case.of.file.da
3fe80 6d 61 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 20 63 6f mage..Lzip.can.also.split.the.co
3fea0 6d 70 72 65 73 73 65 64 0a 6f 75 74 70 75 74 20 69 6e 20 76 6f 6c 75 6d 65 73 20 6f 66 20 61 20 mpressed.output.in.volumes.of.a.
3fec0 67 69 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 given.size,.even.when.reading.fr
3fee0 6f 6d 20 73 74 61 6e 64 61 72 64 20 69 6e 70 75 74 2e 0a 54 68 69 73 20 61 6c 6c 6f 77 73 20 74 om.standard.input..This.allows.t
3ff00 68 65 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 he.direct.creation.of.multivolum
3ff20 65 20 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 e.compressed.tar.archives...Lzip
3ff40 20 69 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 .is.able.to.compress.and.decompr
3ff60 65 73 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 ess.streams.of.unlimited.size.by
3ff80 0a 61 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 .automatically.creating.multimem
3ffa0 62 65 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 ber.output..The.members.so.creat
3ffc0 65 64 20 61 72 65 20 6c 61 72 67 65 2c 0a 61 62 6f 75 74 20 40 77 7b 32 20 50 69 42 7d 20 65 61 ed.are.large,.about.@w{2.PiB}.ea
3ffe0 63 68 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 ch....@node.Output.@chapter.Mean
40000 69 6e 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 ing.of.lzip's.output.@cindex.out
40020 70 75 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 put..The.output.of.lzip.looks.li
40040 6b 65 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 ke.this:..@example.lzip.-v.foo..
40060 20 66 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 .foo:..6.676:1,.14.98%.ratio,.85
40080 2e 30 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 .02%.saved,.450560.in,.67493.out
400a0 2e 0a 0a 6c 7a 69 70 20 2d 74 76 76 76 20 66 6f 6f 2e 6c 7a 0a 20 20 66 6f 6f 2e 6c 7a 3a 20 20 ...lzip.-tvvv.foo.lz...foo.lz:..
400c0 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 32 25 20 73 61 6.676:1,.14.98%.ratio,.85.02%.sa
400e0 76 65 64 2e 20 20 34 35 30 35 36 30 20 6f 75 74 2c 20 20 36 37 34 39 33 20 69 6e 2e 20 6f 6b 0a ved...450560.out,..67493.in..ok.
40100 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 6f 66 20 65 61 63 @end.example..The.meaning.of.eac
40120 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 61 62 6c 65 20 40 h.field.is.as.follows:..@table.@
40140 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 73 69 6f 6e 20 72 code.@item.N:1.The.compression.r
40160 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 20 2f 20 63 6f 6d atio.@w{(uncompressed_size./.com
40180 70 72 65 73 73 65 64 5f 73 69 7a 65 29 7d 2c 20 73 68 6f 77 6e 20 61 73 0a 40 77 7b 4e 20 74 6f pressed_size)},.shown.as.@w{N.to
401a0 20 31 7d 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 63 6f .1}...@item.ratio.The.inverse.co
401c0 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 5f 73 mpression.ratio.@w{(compressed_s
401e0 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 77 6e ize./.uncompressed_size)},.shown
40200 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 74 69 .as.a.percentage..A.decimal.rati
40220 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 20 74 o.is.easily.obtained.by.moving.t
40240 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 20 74 he.decimal.point.two.places.to.t
40260 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 0a 40 he.left;.@w{14.98%.=.0.1498}...@
40280 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 63 6f item.saved.The.space.saved.by.co
402a0 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 77 6e mpression.@w{(1.-.ratio)},.shown
402c0 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 53 69 7a 65 .as.a.percentage...@item.in.Size
402e0 20 6f 66 20 74 68 65 20 69 6e 70 75 74 20 64 61 74 61 2e 20 54 68 69 73 20 69 73 20 74 68 65 20 .of.the.input.data..This.is.the.
40300 75 6e 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 uncompressed.size.when.compressi
40320 6e 67 2c 20 6f 72 0a 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 20 73 69 7a 65 20 77 68 65 6e 20 ng,.or.the.compressed.size.when.
40340 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 20 6f 72 20 74 65 73 74 69 6e 67 2e 20 4e 6f 74 65 20 74 decompressing.or.testing..Note.t
40360 68 61 74 20 6c 7a 69 70 20 61 6c 77 61 79 73 0a 70 72 69 6e 74 73 20 74 68 65 20 75 6e 63 6f 6d hat.lzip.always.prints.the.uncom
40380 70 72 65 73 73 65 64 20 73 69 7a 65 20 62 65 66 6f 72 65 20 74 68 65 20 63 6f 6d 70 72 65 73 73 pressed.size.before.the.compress
403a0 65 64 20 73 69 7a 65 20 77 68 65 6e 20 63 6f 6d 70 72 65 73 73 69 6e 67 2c 0a 64 65 63 6f 6d 70 ed.size.when.compressing,.decomp
403c0 72 65 73 73 69 6e 67 2c 20 74 65 73 74 69 6e 67 2c 20 6f 72 20 6c 69 73 74 69 6e 67 2e 0a 0a 40 ressing,.testing,.or.listing...@
403e0 69 74 65 6d 20 6f 75 74 0a 53 69 7a 65 20 6f 66 20 74 68 65 20 6f 75 74 70 75 74 20 64 61 74 61 item.out.Size.of.the.output.data
40400 2e 20 54 68 69 73 20 69 73 20 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 20 73 69 7a 65 20 77 68 ..This.is.the.compressed.size.wh
40420 65 6e 20 63 6f 6d 70 72 65 73 73 69 6e 67 2c 20 6f 72 0a 74 68 65 20 64 65 63 6f 6d 70 72 65 73 en.compressing,.or.the.decompres
40440 73 65 64 20 73 69 7a 65 20 77 68 65 6e 20 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 20 6f 72 20 74 sed.size.when.decompressing.or.t
40460 65 73 74 69 6e 67 2e 0a 0a 40 65 6e 64 20 74 61 62 6c 65 0a 0a 57 68 65 6e 20 64 65 63 6f 6d 70 esting...@end.table..When.decomp
40480 72 65 73 73 69 6e 67 20 6f 72 20 74 65 73 74 69 6e 67 20 61 74 20 76 65 72 62 6f 73 69 74 79 20 ressing.or.testing.at.verbosity.
404a0 6c 65 76 65 6c 20 34 20 28 2d 76 76 76 76 29 2c 20 74 68 65 20 64 69 63 74 69 6f 6e 61 72 79 0a level.4.(-vvvv),.the.dictionary.
404c0 73 69 7a 65 20 75 73 65 64 20 74 6f 20 63 6f 6d 70 72 65 73 73 20 74 68 65 20 66 69 6c 65 20 61 size.used.to.compress.the.file.a
404e0 6e 64 20 74 68 65 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 nd.the.CRC32.of.the.uncompressed
40500 20 64 61 74 61 20 61 72 65 0a 61 6c 73 6f 20 73 68 6f 77 6e 2e 0a 0a 4c 41 4e 47 55 41 47 45 20 .data.are.also.shown...LANGUAGE.
40520 4e 4f 54 45 3a 20 55 6e 63 6f 6d 70 72 65 73 73 65 64 20 3d 20 6e 6f 74 20 63 6f 6d 70 72 65 73 NOTE:.Uncompressed.=.not.compres
40540 73 65 64 20 3d 20 70 6c 61 69 6e 20 64 61 74 61 3b 20 69 74 20 6d 61 79 20 6e 65 76 65 72 20 68 sed.=.plain.data;.it.may.never.h
40560 61 76 65 0a 62 65 65 6e 20 63 6f 6d 70 72 65 73 73 65 64 2e 20 44 65 63 6f 6d 70 72 65 73 73 65 ave.been.compressed..Decompresse
40580 64 20 69 73 20 75 73 65 64 20 74 6f 20 72 65 66 65 72 20 74 6f 20 64 61 74 61 20 77 68 69 63 68 d.is.used.to.refer.to.data.which
405a0 20 68 61 76 65 20 75 6e 64 65 72 67 6f 6e 65 0a 74 68 65 20 70 72 6f 63 65 73 73 20 6f 66 20 64 .have.undergone.the.process.of.d
405c0 65 63 6f 6d 70 72 65 73 73 69 6f 6e 2e 0a 0a 0a 40 6e 6f 64 65 20 49 6e 76 6f 6b 69 6e 67 20 6c ecompression....@node.Invoking.l
405e0 7a 69 70 0a 40 63 68 61 70 74 65 72 20 49 6e 76 6f 6b 69 6e 67 20 6c 7a 69 70 0a 40 63 69 6e 64 zip.@chapter.Invoking.lzip.@cind
40600 65 78 20 69 6e 76 6f 6b 69 6e 67 0a 40 63 69 6e 64 65 78 20 6f 70 74 69 6f 6e 73 0a 40 63 69 6e ex.invoking.@cindex.options.@cin
40620 64 65 78 20 75 73 61 67 65 0a 40 63 69 6e 64 65 78 20 76 65 72 73 69 6f 6e 0a 0a 54 68 65 20 66 dex.usage.@cindex.version..The.f
40640 6f 72 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 40 65 78 61 ormat.for.running.lzip.is:..@exa
40660 6d 70 6c 65 0a 6c 7a 69 70 20 5b 40 76 61 72 7b 6f 70 74 69 6f 6e 73 7d 5d 20 5b 40 76 61 72 7b mple.lzip.[@var{options}].[@var{
40680 66 69 6c 65 73 7d 5d 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 0a 40 6e 6f 69 6e 64 65 6e 74 0a files}].@end.example..@noindent.
406a0 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 20 If.no.file.names.are.specified,.
406c0 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 73 lzip.compresses.(or.decompresses
406e0 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 72 ).from.standard.input.to.standar
40700 64 20 6f 75 74 70 75 74 2e 20 41 20 68 79 70 68 65 6e 20 40 73 61 6d 70 7b 2d 7d 20 75 73 65 64 d.output..A.hyphen.@samp{-}.used
40720 20 61 73 20 61 20 40 76 61 72 7b 66 69 6c 65 7d 0a 61 72 67 75 6d 65 6e 74 20 6d 65 61 6e 73 20 .as.a.@var{file}.argument.means.
40740 73 74 61 6e 64 61 72 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 standard.input..It.can.be.mixed.
40760 77 69 74 68 20 6f 74 68 65 72 20 40 76 61 72 7b 66 69 6c 65 73 7d 20 61 6e 64 20 69 73 0a 72 65 with.other.@var{files}.and.is.re
40780 61 64 20 6a 75 73 74 20 6f 6e 63 65 2c 20 74 68 65 20 66 69 72 73 74 20 74 69 6d 65 20 69 74 20 ad.just.once,.the.first.time.it.
407a0 61 70 70 65 61 72 73 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 appears.in.the.command.line...lz
407c0 69 70 20 73 75 70 70 6f 72 74 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a 40 75 72 65 66 7b ip.supports.the.following.@uref{
407e0 68 74 74 70 3a 2f 2f 77 77 77 2e 6e 6f 6e 67 6e 75 2e 6f 72 67 2f 61 72 67 2d 70 61 72 73 65 72 http://www.nongnu.org/arg-parser
40800 2f 6d 61 6e 75 61 6c 2f 61 72 67 5f 70 61 72 73 65 72 5f 6d 61 6e 75 61 6c 2e 68 74 6d 6c 23 41 /manual/arg_parser_manual.html#A
40820 72 67 75 6d 65 6e 74 2d 73 79 6e 74 61 78 2c 2c 6f 70 74 69 6f 6e 73 7d 3a 0a 40 69 66 6e 6f 74 rgument-syntax,,options}:.@ifnot
40840 68 74 6d 6c 0a 40 78 72 65 66 7b 41 72 67 75 6d 65 6e 74 20 73 79 6e 74 61 78 2c 2c 2c 61 72 67 html.@xref{Argument.syntax,,,arg
40860 5f 70 61 72 73 65 72 7d 2e 0a 40 65 6e 64 20 69 66 6e 6f 74 68 74 6d 6c 0a 0a 40 74 61 62 6c 65 _parser}..@end.ifnothtml..@table
40880 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 0a 50 72 .@code.@item.-h.@itemx.--help.Pr
408a0 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 67 65 20 int.an.informative.help.message.
408c0 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 69 74 2e describing.the.options.and.exit.
408e0 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 72 69 6e ..@item.-V.@itemx.--version.Prin
40900 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 6f 6e 20 t.the.version.number.of.lzip.on.
40920 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 0a 54 68 the.standard.output.and.exit..Th
40940 69 73 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 20 73 68 6f 75 6c 64 20 62 65 20 69 6e 63 6c is.version.number.should.be.incl
40960 75 64 65 64 20 69 6e 20 61 6c 6c 20 62 75 67 20 72 65 70 6f 72 74 73 2e 0a 0a 40 61 6e 63 68 6f uded.in.all.bug.reports...@ancho
40980 72 7b 2d 2d 74 72 61 69 6c 69 6e 67 2d 65 72 72 6f 72 7d 0a 40 69 74 65 6d 20 2d 61 0a 40 69 74 r{--trailing-error}.@item.-a.@it
409a0 65 6d 78 20 2d 2d 74 72 61 69 6c 69 6e 67 2d 65 72 72 6f 72 0a 45 78 69 74 20 77 69 74 68 20 65 emx.--trailing-error.Exit.with.e
409c0 72 72 6f 72 20 73 74 61 74 75 73 20 32 20 69 66 20 61 6e 79 20 72 65 6d 61 69 6e 69 6e 67 20 69 rror.status.2.if.any.remaining.i
409e0 6e 70 75 74 20 69 73 20 64 65 74 65 63 74 65 64 20 61 66 74 65 72 0a 64 65 63 6f 6d 70 72 65 73 nput.is.detected.after.decompres
40a00 73 69 6e 67 20 74 68 65 20 6c 61 73 74 20 6d 65 6d 62 65 72 2e 20 53 75 63 68 20 72 65 6d 61 69 sing.the.last.member..Such.remai
40a20 6e 69 6e 67 20 69 6e 70 75 74 20 69 73 20 75 73 75 61 6c 6c 79 20 74 72 61 69 6c 69 6e 67 0a 67 ning.input.is.usually.trailing.g
40a40 61 72 62 61 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 arbage.that.can.be.safely.ignore
40a60 64 2e 20 40 78 72 65 66 7b 63 6f 6e 63 61 74 2d 65 78 61 6d 70 6c 65 7d 2e 0a 0a 40 69 74 65 6d d..@xref{concat-example}...@item
40a80 20 2d 62 20 40 76 61 72 7b 62 79 74 65 73 7d 0a 40 69 74 65 6d 78 20 2d 2d 6d 65 6d 62 65 72 2d .-b.@var{bytes}.@itemx.--member-
40aa0 73 69 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 size=@var{bytes}.When.compressin
40ac0 67 2c 20 73 65 74 20 74 68 65 20 6d 65 6d 62 65 72 20 73 69 7a 65 20 6c 69 6d 69 74 20 74 6f 20 g,.set.the.member.size.limit.to.
40ae0 40 76 61 72 7b 62 79 74 65 73 7d 2e 20 49 74 20 69 73 20 61 64 76 69 73 61 62 6c 65 0a 74 6f 20 @var{bytes}..It.is.advisable.to.
40b00 6b 65 65 70 20 6d 65 6d 62 65 72 73 20 73 6d 61 6c 6c 65 72 20 74 68 61 6e 20 52 41 4d 20 73 69 keep.members.smaller.than.RAM.si
40b20 7a 65 20 73 6f 20 74 68 61 74 20 74 68 65 79 20 63 61 6e 20 62 65 20 72 65 70 61 69 72 65 64 20 ze.so.that.they.can.be.repaired.
40b40 77 69 74 68 0a 6c 7a 69 70 72 65 63 6f 76 65 72 20 69 6e 20 63 61 73 65 20 6f 66 20 63 6f 72 72 with.lziprecover.in.case.of.corr
40b60 75 70 74 69 6f 6e 2e 20 41 20 73 6d 61 6c 6c 20 6d 65 6d 62 65 72 20 73 69 7a 65 20 6d 61 79 20 uption..A.small.member.size.may.
40b80 64 65 67 72 61 64 65 0a 63 6f 6d 70 72 65 73 73 69 6f 6e 20 72 61 74 69 6f 2c 20 73 6f 20 75 73 degrade.compression.ratio,.so.us
40ba0 65 20 69 74 20 6f 6e 6c 79 20 77 68 65 6e 20 6e 65 65 64 65 64 2e 20 56 61 6c 69 64 20 76 61 6c e.it.only.when.needed..Valid.val
40bc0 75 65 73 20 72 61 6e 67 65 20 66 72 6f 6d 0a 40 77 7b 31 30 30 20 6b 42 7d 20 74 6f 20 40 77 7b ues.range.from.@w{100.kB}.to.@w{
40be0 32 20 50 69 42 7d 2e 20 44 65 66 61 75 6c 74 73 20 74 6f 20 40 77 7b 32 20 50 69 42 7d 2e 0a 0a 2.PiB}..Defaults.to.@w{2.PiB}...
40c00 40 69 74 65 6d 20 2d 63 0a 40 69 74 65 6d 78 20 2d 2d 73 74 64 6f 75 74 0a 43 6f 6d 70 72 65 73 @item.-c.@itemx.--stdout.Compres
40c20 73 20 6f 72 20 64 65 63 6f 6d 70 72 65 73 73 20 74 6f 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 s.or.decompress.to.standard.outp
40c40 75 74 3b 20 6b 65 65 70 20 69 6e 70 75 74 20 66 69 6c 65 73 20 75 6e 63 68 61 6e 67 65 64 2e 20 ut;.keep.input.files.unchanged..
40c60 49 66 0a 63 6f 6d 70 72 65 73 73 69 6e 67 20 73 65 76 65 72 61 6c 20 66 69 6c 65 73 2c 20 65 61 If.compressing.several.files,.ea
40c80 63 68 20 66 69 6c 65 20 69 73 20 63 6f 6d 70 72 65 73 73 65 64 20 69 6e 64 65 70 65 6e 64 65 6e ch.file.is.compressed.independen
40ca0 74 6c 79 2e 20 28 54 68 65 0a 6f 75 74 70 75 74 20 63 6f 6e 73 69 73 74 73 20 6f 66 20 61 20 73 tly..(The.output.consists.of.a.s
40cc0 65 71 75 65 6e 63 65 20 6f 66 20 69 6e 64 65 70 65 6e 64 65 6e 74 6c 79 20 63 6f 6d 70 72 65 73 equence.of.independently.compres
40ce0 73 65 64 20 6d 65 6d 62 65 72 73 29 2e 20 54 68 69 73 0a 6f 70 74 69 6f 6e 20 28 6f 72 20 40 73 sed.members)..This.option.(or.@s
40d00 61 6d 70 7b 2d 6f 7d 29 20 69 73 20 6e 65 65 64 65 64 20 77 68 65 6e 20 72 65 61 64 69 6e 67 20 amp{-o}).is.needed.when.reading.
40d20 66 72 6f 6d 20 61 20 6e 61 6d 65 64 20 70 69 70 65 20 28 66 69 66 6f 29 20 6f 72 0a 66 72 6f 6d from.a.named.pipe.(fifo).or.from
40d40 20 61 20 64 65 76 69 63 65 2e 20 55 73 65 20 69 74 20 61 6c 73 6f 20 74 6f 20 72 65 63 6f 76 65 .a.device..Use.it.also.to.recove
40d60 72 20 61 73 20 6d 75 63 68 20 6f 66 20 74 68 65 20 64 65 63 6f 6d 70 72 65 73 73 65 64 20 64 61 r.as.much.of.the.decompressed.da
40d80 74 61 20 61 73 0a 70 6f 73 73 69 62 6c 65 20 77 68 65 6e 20 64 65 63 6f 6d 70 72 65 73 73 69 6e ta.as.possible.when.decompressin
40da0 67 20 61 20 63 6f 72 72 75 70 74 20 66 69 6c 65 2e 20 40 73 61 6d 70 7b 2d 63 7d 20 6f 76 65 72 g.a.corrupt.file..@samp{-c}.over
40dc0 72 69 64 65 73 20 40 73 61 6d 70 7b 2d 6f 7d 0a 61 6e 64 20 40 73 61 6d 70 7b 2d 53 7d 2e 20 40 rides.@samp{-o}.and.@samp{-S}..@
40de0 73 61 6d 70 7b 2d 63 7d 20 68 61 73 20 6e 6f 20 65 66 66 65 63 74 20 77 68 65 6e 20 74 65 73 74 samp{-c}.has.no.effect.when.test
40e00 69 6e 67 20 6f 72 20 6c 69 73 74 69 6e 67 2e 0a 0a 40 69 74 65 6d 20 2d 64 0a 40 69 74 65 6d 78 ing.or.listing...@item.-d.@itemx
40e20 20 2d 2d 64 65 63 6f 6d 70 72 65 73 73 0a 44 65 63 6f 6d 70 72 65 73 73 20 74 68 65 20 66 69 6c .--decompress.Decompress.the.fil
40e40 65 73 20 73 70 65 63 69 66 69 65 64 2e 20 49 66 20 61 20 66 69 6c 65 20 64 6f 65 73 20 6e 6f 74 es.specified..If.a.file.does.not
40e60 20 65 78 69 73 74 2c 20 63 61 6e 27 74 20 62 65 20 6f 70 65 6e 65 64 2c 0a 6f 72 20 74 68 65 20 .exist,.can't.be.opened,.or.the.
40e80 64 65 73 74 69 6e 61 74 69 6f 6e 20 66 69 6c 65 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 73 20 destination.file.already.exists.
40ea0 61 6e 64 20 40 73 61 6d 70 7b 2d 2d 66 6f 72 63 65 7d 20 68 61 73 20 6e 6f 74 20 62 65 65 6e 0a and.@samp{--force}.has.not.been.
40ec0 73 70 65 63 69 66 69 65 64 2c 20 6c 7a 69 70 20 63 6f 6e 74 69 6e 75 65 73 20 64 65 63 6f 6d 70 specified,.lzip.continues.decomp
40ee0 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 6c 65 73 20 61 6e ressing.the.rest.of.the.files.an
40f00 64 20 65 78 69 74 73 20 77 69 74 68 0a 65 72 72 6f 72 20 73 74 61 74 75 73 20 31 2e 20 49 66 20 d.exits.with.error.status.1..If.
40f20 61 20 66 69 6c 65 20 66 61 69 6c 73 20 74 6f 20 64 65 63 6f 6d 70 72 65 73 73 2c 20 6f 72 20 69 a.file.fails.to.decompress,.or.i
40f40 73 20 61 20 74 65 72 6d 69 6e 61 6c 2c 20 6c 7a 69 70 20 65 78 69 74 73 0a 69 6d 6d 65 64 69 61 s.a.terminal,.lzip.exits.immedia
40f60 74 65 6c 79 20 77 69 74 68 20 65 72 72 6f 72 20 73 74 61 74 75 73 20 32 20 77 69 74 68 6f 75 74 tely.with.error.status.2.without
40f80 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
40fa0 69 6c 65 73 2e 0a 41 20 74 65 72 6d 69 6e 61 6c 20 69 73 20 63 6f 6e 73 69 64 65 72 65 64 20 61 iles..A.terminal.is.considered.a
40fc0 6e 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 2c 20 61 6e 64 20 74 68 65 72 65 66 6f n.uncompressed.file,.and.therefo
40fe0 72 65 20 69 6e 76 61 6c 69 64 2e 0a 0a 40 69 74 65 6d 20 2d 66 0a 40 69 74 65 6d 78 20 2d 2d 66 re.invalid...@item.-f.@itemx.--f
41000 6f 72 63 65 0a 46 6f 72 63 65 20 6f 76 65 72 77 72 69 74 65 20 6f 66 20 6f 75 74 70 75 74 20 66 orce.Force.overwrite.of.output.f
41020 69 6c 65 73 2e 0a 0a 40 69 74 65 6d 20 2d 46 0a 40 69 74 65 6d 78 20 2d 2d 72 65 63 6f 6d 70 72 iles...@item.-F.@itemx.--recompr
41040 65 73 73 0a 57 68 65 6e 20 63 6f 6d 70 72 65 73 73 69 6e 67 2c 20 66 6f 72 63 65 20 72 65 2d 63 ess.When.compressing,.force.re-c
41060 6f 6d 70 72 65 73 73 69 6f 6e 20 6f 66 20 66 69 6c 65 73 20 77 68 6f 73 65 20 6e 61 6d 65 20 61 ompression.of.files.whose.name.a
41080 6c 72 65 61 64 79 20 68 61 73 0a 74 68 65 20 40 73 61 6d 70 7b 2e 6c 7a 7d 20 6f 72 20 40 73 61 lready.has.the.@samp{.lz}.or.@sa
410a0 6d 70 7b 2e 74 6c 7a 7d 20 73 75 66 66 69 78 2e 0a 0a 40 69 74 65 6d 20 2d 6b 0a 40 69 74 65 6d mp{.tlz}.suffix...@item.-k.@item
410c0 78 20 2d 2d 6b 65 65 70 0a 4b 65 65 70 20 28 64 6f 6e 27 74 20 64 65 6c 65 74 65 29 20 69 6e 70 x.--keep.Keep.(don't.delete).inp
410e0 75 74 20 66 69 6c 65 73 20 64 75 72 69 6e 67 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6f 72 20 64 ut.files.during.compression.or.d
41100 65 63 6f 6d 70 72 65 73 73 69 6f 6e 2e 0a 0a 40 69 74 65 6d 20 2d 6c 0a 40 69 74 65 6d 78 20 2d ecompression...@item.-l.@itemx.-
41120 2d 6c 69 73 74 0a 50 72 69 6e 74 20 74 68 65 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 73 69 7a -list.Print.the.uncompressed.siz
41140 65 2c 20 63 6f 6d 70 72 65 73 73 65 64 20 73 69 7a 65 2c 20 61 6e 64 20 70 65 72 63 65 6e 74 61 e,.compressed.size,.and.percenta
41160 67 65 20 73 61 76 65 64 20 6f 66 20 74 68 65 0a 66 69 6c 65 73 20 73 70 65 63 69 66 69 65 64 2e ge.saved.of.the.files.specified.
41180 20 54 72 61 69 6c 69 6e 67 20 64 61 74 61 20 61 72 65 20 69 67 6e 6f 72 65 64 2e 20 54 68 65 20 .Trailing.data.are.ignored..The.
411a0 76 61 6c 75 65 73 20 70 72 6f 64 75 63 65 64 20 61 72 65 20 63 6f 72 72 65 63 74 0a 65 76 65 6e values.produced.are.correct.even
411c0 20 66 6f 72 20 6d 75 6c 74 69 6d 65 6d 62 65 72 20 66 69 6c 65 73 2e 20 49 66 20 6d 6f 72 65 20 .for.multimember.files..If.more.
411e0 74 68 61 6e 20 6f 6e 65 20 66 69 6c 65 20 69 73 20 67 69 76 65 6e 2c 20 61 20 66 69 6e 61 6c 20 than.one.file.is.given,.a.final.
41200 6c 69 6e 65 0a 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 63 75 6d 75 6c 61 74 69 76 65 20 73 line.containing.the.cumulative.s
41220 69 7a 65 73 20 69 73 20 70 72 69 6e 74 65 64 2e 20 57 69 74 68 20 40 73 61 6d 70 7b 2d 76 7d 2c izes.is.printed..With.@samp{-v},
41240 20 74 68 65 20 64 69 63 74 69 6f 6e 61 72 79 0a 73 69 7a 65 2c 20 74 68 65 20 6e 75 6d 62 65 72 .the.dictionary.size,.the.number
41260 20 6f 66 20 6d 65 6d 62 65 72 73 20 69 6e 20 74 68 65 20 66 69 6c 65 2c 20 61 6e 64 20 74 68 65 .of.members.in.the.file,.and.the
41280 20 61 6d 6f 75 6e 74 20 6f 66 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 20 28 69 66 0a 61 6e 79 .amount.of.trailing.data.(if.any
412a0 29 20 61 72 65 20 61 6c 73 6f 20 70 72 69 6e 74 65 64 2e 20 57 69 74 68 20 40 73 61 6d 70 7b 2d ).are.also.printed..With.@samp{-
412c0 76 76 7d 2c 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 vv},.the.positions.and.sizes.of.
412e0 65 61 63 68 0a 6d 65 6d 62 65 72 20 69 6e 20 6d 75 6c 74 69 6d 65 6d 62 65 72 20 66 69 6c 65 73 each.member.in.multimember.files
41300 20 61 72 65 20 61 6c 73 6f 20 70 72 69 6e 74 65 64 2e 0a 0a 49 66 20 61 6e 79 20 66 69 6c 65 20 .are.also.printed...If.any.file.
41320 69 73 20 64 61 6d 61 67 65 64 2c 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2c 20 63 61 6e 27 is.damaged,.does.not.exist,.can'
41340 74 20 62 65 20 6f 70 65 6e 65 64 2c 20 6f 72 20 69 73 20 6e 6f 74 20 72 65 67 75 6c 61 72 2c 0a t.be.opened,.or.is.not.regular,.
41360 74 68 65 20 66 69 6e 61 6c 20 65 78 69 74 20 73 74 61 74 75 73 20 77 69 6c 6c 20 62 65 20 40 77 the.final.exit.status.will.be.@w
41380 7b 3e 20 30 7d 2e 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 {>.0}..@samp{-lq}.can.be.used.to
413a0 20 76 65 72 69 66 79 0a 71 75 69 63 6b 6c 79 20 28 77 69 74 68 6f 75 74 20 64 65 63 6f 6d 70 72 .verify.quickly.(without.decompr
413c0 65 73 73 69 6e 67 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 essing).the.structural.integrity
413e0 20 6f 66 20 74 68 65 20 66 69 6c 65 73 0a 73 70 65 63 69 66 69 65 64 2e 20 28 55 73 65 20 40 73 .of.the.files.specified..(Use.@s
41400 61 6d 70 7b 2d 2d 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 amp{--test}.to.verify.the.data.i
41420 6e 74 65 67 72 69 74 79 29 2e 20 40 73 61 6d 70 7b 2d 61 6c 71 7d 0a 61 64 64 69 74 69 6f 6e 61 ntegrity)..@samp{-alq}.additiona
41440 6c 6c 79 20 76 65 72 69 66 69 65 73 20 74 68 61 74 20 6e 6f 6e 65 20 6f 66 20 74 68 65 20 66 69 lly.verifies.that.none.of.the.fi
41460 6c 65 73 20 73 70 65 63 69 66 69 65 64 20 63 6f 6e 74 61 69 6e 20 74 72 61 69 6c 69 6e 67 20 64 les.specified.contain.trailing.d
41480 61 74 61 2e 0a 0a 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 ata...@item.-m.@var{bytes}.@item
414a0 78 20 2d 2d 6d 61 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 x.--match-length=@var{bytes}.Whe
414c0 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 65 6e n.compressing,.set.the.match.len
414e0 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 20 6d 61 74 63 gth.limit.in.bytes..After.a.matc
41500 68 0a 74 68 69 73 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 h.this.long.is.found,.the.search
41520 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 73 20 72 61 6e 67 65 .is.finished..Valid.values.range
41540 20 66 72 6f 6d 20 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 .from.5.to.273..Larger.values.us
41560 75 61 6c 6c 79 20 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 ually.give.better.compression.ra
41580 74 69 6f 73 20 62 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 tios.but.longer.compression.time
415a0 73 2e 0a 0a 40 69 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 s...@item.-o.@var{file}.@itemx.-
415c0 2d 6f 75 74 70 75 74 3d 40 76 61 72 7b 66 69 6c 65 7d 0a 49 66 20 40 73 61 6d 70 7b 2d 63 7d 20 -output=@var{file}.If.@samp{-c}.
415e0 68 61 73 20 6e 6f 74 20 62 65 65 6e 20 61 6c 73 6f 20 73 70 65 63 69 66 69 65 64 2c 20 77 72 69 has.not.been.also.specified,.wri
41600 74 65 20 74 68 65 20 28 64 65 29 63 6f 6d 70 72 65 73 73 65 64 20 6f 75 74 70 75 74 20 74 6f 0a te.the.(de)compressed.output.to.
41620 40 76 61 72 7b 66 69 6c 65 7d 3b 20 6b 65 65 70 20 69 6e 70 75 74 20 66 69 6c 65 73 20 75 6e 63 @var{file};.keep.input.files.unc
41640 68 61 6e 67 65 64 2e 20 49 66 20 63 6f 6d 70 72 65 73 73 69 6e 67 20 73 65 76 65 72 61 6c 20 66 hanged..If.compressing.several.f
41660 69 6c 65 73 2c 20 65 61 63 68 0a 66 69 6c 65 20 69 73 20 63 6f 6d 70 72 65 73 73 65 64 20 69 6e iles,.each.file.is.compressed.in
41680 64 65 70 65 6e 64 65 6e 74 6c 79 2e 20 28 54 68 65 20 6f 75 74 70 75 74 20 63 6f 6e 73 69 73 74 dependently..(The.output.consist
416a0 73 20 6f 66 20 61 20 73 65 71 75 65 6e 63 65 20 6f 66 0a 69 6e 64 65 70 65 6e 64 65 6e 74 6c 79 s.of.a.sequence.of.independently
416c0 20 63 6f 6d 70 72 65 73 73 65 64 20 6d 65 6d 62 65 72 73 29 2e 20 54 68 69 73 20 6f 70 74 69 6f .compressed.members)..This.optio
416e0 6e 20 28 6f 72 20 40 73 61 6d 70 7b 2d 63 7d 29 20 69 73 20 6e 65 65 64 65 64 20 77 68 65 6e 0a n.(or.@samp{-c}).is.needed.when.
41700 72 65 61 64 69 6e 67 20 66 72 6f 6d 20 61 20 6e 61 6d 65 64 20 70 69 70 65 20 28 66 69 66 6f 29 reading.from.a.named.pipe.(fifo)
41720 20 6f 72 20 66 72 6f 6d 20 61 20 64 65 76 69 63 65 2e 20 40 77 7b 40 73 61 6d 70 7b 2d 6f 20 2d .or.from.a.device..@w{@samp{-o.-
41740 7d 7d 20 69 73 0a 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 40 73 61 6d 70 7b 2d 63 7d 2e 20 40 }}.is.equivalent.to.@samp{-c}..@
41760 73 61 6d 70 7b 2d 6f 7d 20 68 61 73 20 6e 6f 20 65 66 66 65 63 74 20 77 68 65 6e 20 74 65 73 74 samp{-o}.has.no.effect.when.test
41780 69 6e 67 20 6f 72 20 6c 69 73 74 69 6e 67 2e 0a 0a 49 6e 20 6f 72 64 65 72 20 74 6f 20 6b 65 65 ing.or.listing...In.order.to.kee
417a0 70 20 62 61 63 6b 77 61 72 64 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 6c 7a p.backward.compatibility.with.lz
417c0 69 70 20 76 65 72 73 69 6f 6e 73 20 70 72 69 6f 72 20 74 6f 20 31 2e 32 32 2c 0a 77 68 65 6e 20 ip.versions.prior.to.1.22,.when.
417e0 63 6f 6d 70 72 65 73 73 69 6e 67 20 66 72 6f 6d 20 73 74 61 6e 64 61 72 64 20 69 6e 70 75 74 20 compressing.from.standard.input.
41800 61 6e 64 20 6e 6f 20 6f 74 68 65 72 20 66 69 6c 65 20 6e 61 6d 65 73 20 61 72 65 20 67 69 76 65 and.no.other.file.names.are.give
41820 6e 2c 20 74 68 65 0a 65 78 74 65 6e 73 69 6f 6e 20 40 73 61 6d 70 7b 2e 6c 7a 7d 20 69 73 20 61 n,.the.extension.@samp{.lz}.is.a
41840 70 70 65 6e 64 65 64 20 74 6f 20 40 76 61 72 7b 66 69 6c 65 7d 20 75 6e 6c 65 73 73 20 69 74 20 ppended.to.@var{file}.unless.it.
41860 61 6c 72 65 61 64 79 20 65 6e 64 73 20 69 6e 0a 40 73 61 6d 70 7b 2e 6c 7a 7d 20 6f 72 20 40 73 already.ends.in.@samp{.lz}.or.@s
41880 61 6d 70 7b 2e 74 6c 7a 7d 2e 20 54 68 69 73 20 66 65 61 74 75 72 65 20 77 69 6c 6c 20 62 65 20 amp{.tlz}..This.feature.will.be.
418a0 72 65 6d 6f 76 65 64 20 69 6e 20 61 20 66 75 74 75 72 65 20 76 65 72 73 69 6f 6e 0a 6f 66 20 6c removed.in.a.future.version.of.l
418c0 7a 69 70 2e 20 4d 65 61 6e 77 68 69 6c 65 2c 20 72 65 64 69 72 65 63 74 69 6f 6e 20 6d 61 79 20 zip..Meanwhile,.redirection.may.
418e0 62 65 20 75 73 65 64 20 69 6e 73 74 65 61 64 20 6f 66 20 40 73 61 6d 70 7b 2d 6f 7d 20 74 6f 20 be.used.instead.of.@samp{-o}.to.
41900 77 72 69 74 65 0a 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 20 6f 75 74 70 75 74 20 74 6f 20 61 write.the.compressed.output.to.a
41920 20 66 69 6c 65 20 77 69 74 68 6f 75 74 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 20 40 73 61 6d .file.without.the.extension.@sam
41940 70 7b 2e 6c 7a 7d 20 69 6e 20 69 74 73 0a 6e 61 6d 65 3a 20 40 77 7b 40 73 61 6d 70 7b 6c 7a 69 p{.lz}.in.its.name:.@w{@samp{lzi
41960 70 20 3c 20 66 69 6c 65 20 3e 20 66 6f 6f 7d 7d 2e 0a 0a 57 68 65 6e 20 63 6f 6d 70 72 65 73 73 p.<.file.>.foo}}...When.compress
41980 69 6e 67 20 61 6e 64 20 73 70 6c 69 74 74 69 6e 67 20 74 68 65 20 6f 75 74 70 75 74 20 69 6e 20 ing.and.splitting.the.output.in.
419a0 76 6f 6c 75 6d 65 73 2c 20 40 76 61 72 7b 66 69 6c 65 7d 20 69 73 20 75 73 65 64 20 61 73 0a 61 volumes,.@var{file}.is.used.as.a
419c0 20 70 72 65 66 69 78 2c 20 61 6e 64 20 73 65 76 65 72 61 6c 20 66 69 6c 65 73 20 6e 61 6d 65 64 .prefix,.and.several.files.named
419e0 20 40 73 61 6d 70 7b 40 76 61 72 7b 66 69 6c 65 7d 30 30 30 30 31 2e 6c 7a 7d 2c 0a 40 73 61 6d .@samp{@var{file}00001.lz},.@sam
41a00 70 7b 40 76 61 72 7b 66 69 6c 65 7d 30 30 30 30 32 2e 6c 7a 7d 2c 20 65 74 63 2c 20 61 72 65 20 p{@var{file}00002.lz},.etc,.are.
41a20 63 72 65 61 74 65 64 2e 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 6f 6e 6c 79 20 6f 6e 65 20 created..In.this.case,.only.one.
41a40 69 6e 70 75 74 0a 66 69 6c 65 20 69 73 20 61 6c 6c 6f 77 65 64 2e 0a 0a 40 69 74 65 6d 20 2d 71 input.file.is.allowed...@item.-q
41a60 0a 40 69 74 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 .@itemx.--quiet.Quiet.operation.
41a80 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 40 69 74 65 6d 20 2d .Suppress.all.messages...@item.-
41aa0 73 20 40 76 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 s.@var{bytes}.@itemx.--dictionar
41ac0 79 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 6d 70 72 65 73 73 y-size=@var{bytes}.When.compress
41ae0 69 6e 67 2c 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 ing,.set.the.dictionary.size.lim
41b00 69 74 20 69 6e 20 62 79 74 65 73 2e 20 4c 7a 69 70 20 77 69 6c 6c 20 75 73 65 0a 66 6f 72 20 65 it.in.bytes..Lzip.will.use.for.e
41b20 61 63 68 20 66 69 6c 65 20 74 68 65 20 6c 61 72 67 65 73 74 20 64 69 63 74 69 6f 6e 61 72 79 20 ach.file.the.largest.dictionary.
41b40 73 69 7a 65 20 74 68 61 74 20 64 6f 65 73 20 6e 6f 74 20 65 78 63 65 65 64 20 6e 65 69 74 68 65 size.that.does.not.exceed.neithe
41b60 72 0a 74 68 65 20 66 69 6c 65 20 73 69 7a 65 20 6e 6f 72 20 74 68 69 73 20 6c 69 6d 69 74 2e 20 r.the.file.size.nor.this.limit..
41b80 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 34 20 4b 69 42 Valid.values.range.from.@w{4.KiB
41ba0 7d 20 74 6f 0a 40 77 7b 35 31 32 20 4d 69 42 7d 2e 20 56 61 6c 75 65 73 20 31 32 20 74 6f 20 32 }.to.@w{512.MiB}..Values.12.to.2
41bc0 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 20 74 9.are.interpreted.as.powers.of.t
41be0 77 6f 2c 20 6d 65 61 6e 69 6e 67 0a 32 5e 31 32 20 74 6f 20 32 5e 32 39 20 62 79 74 65 73 2e 20 wo,.meaning.2^12.to.2^29.bytes..
41c00 44 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 73 20 61 72 65 20 71 75 61 6e 74 69 7a 65 64 20 73 Dictionary.sizes.are.quantized.s
41c20 6f 20 74 68 61 74 20 74 68 65 79 20 63 61 6e 20 62 65 0a 63 6f 64 65 64 20 69 6e 20 6a 75 73 74 o.that.they.can.be.coded.in.just
41c40 20 6f 6e 65 20 62 79 74 65 20 28 40 70 78 72 65 66 7b 63 6f 64 65 64 2d 64 69 63 74 2d 73 69 7a .one.byte.(@pxref{coded-dict-siz
41c60 65 7d 29 2e 20 49 66 20 74 68 65 20 73 69 7a 65 20 73 70 65 63 69 66 69 65 64 0a 64 6f 65 73 20 e})..If.the.size.specified.does.
41c80 6e 6f 74 20 6d 61 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 not.match.one.of.the.valid.sizes
41ca0 2c 20 69 74 20 77 69 6c 6c 20 62 65 20 72 6f 75 6e 64 65 64 20 75 70 77 61 72 64 73 20 62 79 0a ,.it.will.be.rounded.upwards.by.
41cc0 61 64 64 69 6e 67 20 75 70 20 74 6f 20 40 77 7b 28 40 76 61 72 7b 62 79 74 65 73 7d 20 2f 20 38 adding.up.to.@w{(@var{bytes}./.8
41ce0 29 7d 20 74 6f 20 69 74 2e 0a 0a 46 6f 72 20 6d 61 78 69 6d 75 6d 20 63 6f 6d 70 72 65 73 73 69 )}.to.it...For.maximum.compressi
41d00 6f 6e 20 79 6f 75 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 on.you.should.use.a.dictionary.s
41d20 69 7a 65 20 6c 69 6d 69 74 20 61 73 20 6c 61 72 67 65 0a 61 73 20 70 6f 73 73 69 62 6c 65 2c 20 ize.limit.as.large.as.possible,.
41d40 62 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 but.keep.in.mind.that.the.decomp
41d60 72 65 73 73 69 6f 6e 20 6d 65 6d 6f 72 79 20 72 65 71 75 69 72 65 6d 65 6e 74 0a 69 73 20 61 66 ression.memory.requirement.is.af
41d80 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 79 20 74 68 fected.at.compression.time.by.th
41da0 65 20 63 68 6f 69 63 65 20 6f 66 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 6c 69 6d 69 e.choice.of.dictionary.size.limi
41dc0 74 2e 0a 0a 40 69 74 65 6d 20 2d 53 20 40 76 61 72 7b 62 79 74 65 73 7d 0a 40 69 74 65 6d 78 20 t...@item.-S.@var{bytes}.@itemx.
41de0 2d 2d 76 6f 6c 75 6d 65 2d 73 69 7a 65 3d 40 76 61 72 7b 62 79 74 65 73 7d 0a 57 68 65 6e 20 63 --volume-size=@var{bytes}.When.c
41e00 6f 6d 70 72 65 73 73 69 6e 67 2c 20 61 6e 64 20 40 73 61 6d 70 7b 2d 63 7d 20 68 61 73 20 6e 6f ompressing,.and.@samp{-c}.has.no
41e20 74 20 62 65 65 6e 20 61 6c 73 6f 20 73 70 65 63 69 66 69 65 64 2c 20 73 70 6c 69 74 20 74 68 65 t.been.also.specified,.split.the
41e40 0a 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 61 6c 20 .compressed.output.into.several.
41e60 76 6f 6c 75 6d 65 20 66 69 6c 65 73 20 77 69 74 68 20 6e 61 6d 65 73 0a 40 73 61 6d 70 7b 6f 72 volume.files.with.names.@samp{or
41e80 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 72 69 67 iginal_name00001.lz},.@samp{orig
41ea0 69 6e 61 6c 5f 6e 61 6d 65 30 30 30 30 32 2e 6c 7a 7d 2c 20 65 74 63 2c 20 61 6e 64 20 73 65 74 inal_name00002.lz},.etc,.and.set
41ec0 20 74 68 65 0a 76 6f 6c 75 6d 65 20 73 69 7a 65 20 6c 69 6d 69 74 20 74 6f 20 40 76 61 72 7b 62 .the.volume.size.limit.to.@var{b
41ee0 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 20 75 6e 63 68 ytes}..Input.files.are.kept.unch
41f00 61 6e 67 65 64 2e 20 45 61 63 68 0a 76 6f 6c 75 6d 65 20 69 73 20 61 20 63 6f 6d 70 6c 65 74 65 anged..Each.volume.is.a.complete
41f20 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 65 2e 20 ,.maybe.multimember,.lzip.file..
41f40 41 20 73 6d 61 6c 6c 20 76 6f 6c 75 6d 65 20 73 69 7a 65 20 6d 61 79 0a 64 65 67 72 61 64 65 20 A.small.volume.size.may.degrade.
41f60 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 6f 6e 6c compression.ratio,.so.use.it.onl
41f80 79 20 77 68 65 6e 20 6e 65 65 64 65 64 2e 20 56 61 6c 69 64 20 76 61 6c 75 65 73 20 72 61 6e 67 y.when.needed..Valid.values.rang
41fa0 65 0a 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 7d 2e 0a e.from.@w{100.kB}.to.@w{4.EiB}..
41fc0 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 20 69 6e .@item.-t.@itemx.--test.Check.in
41fe0 74 65 67 72 69 74 79 20 6f 66 20 74 68 65 20 66 69 6c 65 73 20 73 70 65 63 69 66 69 65 64 2c 20 tegrity.of.the.files.specified,.
42000 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 69 73 0a but.don't.decompress.them..This.
42020 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 70 72 65 really.performs.a.trial.decompre
42040 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 75 6c 74 ssion.and.throws.away.the.result
42060 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 2d 76 7d ..Use.it.together.with.@samp{-v}
42080 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 20 66 69 .to.see.information.about.the.fi
420a0 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 2c 20 64 les..If.a.file.fails.the.test,.d
420c0 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 64 2c 20 oes.not.exist,.can't.be.opened,.
420e0 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 75 65 73 or.is.a.terminal,.lzip.continues
42100 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 65 73 2e .checking.the.rest.of.the.files.
42120 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 61 74 0a .A.final.diagnostic.is.shown.at.
42140 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 66 20 61 verbosity.level.1.or.higher.if.a
42160 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 65 73 74 ny.file.fails.the.test.when.test
42180 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 0a 40 69 ing.multiple.files...@item.-v.@i
421a0 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 2a 0a 57 temx.--verbose.Verbose.mode.@*.W
421c0 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 70 72 65 hen.compressing,.show.the.compre
421e0 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 20 66 69 ssion.ratio.and.size.for.each.fi
42200 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 73 73 69 le.processed.@*.When.decompressi
42220 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 75 70 20 ng.or.testing,.further.-v's.(up.
42240 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 6c 65 76 to.4).increase.the.verbosity.lev
42260 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 6f 6e 20 el,.showing.status,.compression.
42280 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 65 72 20 ratio,.dictionary.size,.trailer.
422a0 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 62 65 72 contents.(CRC,.data.size,.member
422c0 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 74 72 61 .size),.and.up.to.6.bytes.of.tra
422e0 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 65 78 61 iling.data.(if.any).both.in.hexa
42300 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 69 6e 74 decimal.and.as.a.string.of.print
42320 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 6f 72 20 able.ASCII.characters.@*.Two.or.
42340 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 68 65 20 more.@samp{-v}.options.show.the.
42360 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 0a 40 69 progress.of.(de)compression...@i
42380 74 65 6d 20 2d 30 20 2e 2e 20 2d 39 0a 43 6f 6d 70 72 65 73 73 69 6f 6e 20 6c 65 76 65 6c 2e 20 tem.-0....-9.Compression.level..
423a0 53 65 74 20 74 68 65 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 70 61 72 61 6d 65 74 65 72 73 20 28 Set.the.compression.parameters.(
423c0 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 61 6e 64 0a 6d 61 74 63 68 20 6c 65 6e 67 74 68 dictionary.size.and.match.length
423e0 20 6c 69 6d 69 74 29 20 61 73 20 73 68 6f 77 6e 20 69 6e 20 74 68 65 20 74 61 62 6c 65 20 62 65 .limit).as.shown.in.the.table.be
42400 6c 6f 77 2e 20 54 68 65 20 64 65 66 61 75 6c 74 20 63 6f 6d 70 72 65 73 73 69 6f 6e 0a 6c 65 76 low..The.default.compression.lev
42420 65 6c 20 69 73 20 40 73 61 6d 70 7b 2d 36 7d 2c 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 40 el.is.@samp{-6},.equivalent.to.@
42440 77 7b 40 73 61 6d 70 7b 2d 73 38 4d 69 42 20 2d 6d 33 36 7d 7d 2e 20 4e 6f 74 65 20 74 68 61 74 w{@samp{-s8MiB.-m36}}..Note.that
42460 0a 40 73 61 6d 70 7b 2d 39 7d 20 63 61 6e 20 62 65 20 6d 75 63 68 20 73 6c 6f 77 65 72 20 74 68 .@samp{-9}.can.be.much.slower.th
42480 61 6e 20 40 73 61 6d 70 7b 2d 30 7d 2e 20 54 68 65 73 65 20 6f 70 74 69 6f 6e 73 20 68 61 76 65 an.@samp{-0}..These.options.have
424a0 20 6e 6f 0a 65 66 66 65 63 74 20 77 68 65 6e 20 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 2c 20 74 .no.effect.when.decompressing,.t
424c0 65 73 74 69 6e 67 2c 20 6f 72 20 6c 69 73 74 69 6e 67 2e 0a 0a 54 68 65 20 62 69 64 69 6d 65 6e esting,.or.listing...The.bidimen
424e0 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 41 20 63 sional.parameter.space.of.LZMA.c
42500 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 61 6c 65 an't.be.mapped.to.a.linear.scale
42520 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 75 72 20 .optimal.for.all.files..If.your.
42540 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 69 76 65 files.are.large,.very.repetitive
42560 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 65 20 6f ,.etc,.you.may.need.to.use.the.o
42580 70 74 69 6f 6e 73 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 20 ptions.@samp{--dictionary-size}.
425a0 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 64 69 72 65 63 74 and.@samp{--match-length}.direct
425c0 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
425e0 65 2e 0a 0a 49 66 20 73 65 76 65 72 61 6c 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6c 65 76 65 6c e...If.several.compression.level
42600 73 20 6f 72 20 40 73 61 6d 70 7b 2d 73 7d 20 6f 72 20 40 73 61 6d 70 7b 2d 6d 7d 20 6f 70 74 69 s.or.@samp{-s}.or.@samp{-m}.opti
42620 6f 6e 73 20 61 72 65 0a 67 69 76 65 6e 2c 20 74 68 65 20 6c 61 73 74 20 73 65 74 74 69 6e 67 20 ons.are.given,.the.last.setting.
42640 69 73 20 75 73 65 64 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 20 40 77 7b 40 73 61 6d 70 7b 2d 39 is.used..For.example.@w{@samp{-9
42660 20 2d 73 36 34 4d 69 42 7d 7d 20 69 73 0a 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 40 77 7b 40 .-s64MiB}}.is.equivalent.to.@w{@
42680 73 61 6d 70 7b 2d 73 36 34 4d 69 42 20 2d 6d 32 37 33 7d 7d 0a 0a 40 6d 75 6c 74 69 74 61 62 6c samp{-s64MiB.-m273}}..@multitabl
426a0 65 20 7b 4c 65 76 65 6c 7d 20 7b 44 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 28 2d 73 29 7d e.{Level}.{Dictionary.size.(-s)}
426c0 20 7b 4d 61 74 63 68 20 6c 65 6e 67 74 68 20 6c 69 6d 69 74 20 28 2d 6d 29 7d 0a 40 69 74 65 6d .{Match.length.limit.(-m)}.@item
426e0 20 4c 65 76 65 6c 20 40 74 61 62 20 44 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 28 2d 73 29 .Level.@tab.Dictionary.size.(-s)
42700 20 40 74 61 62 20 4d 61 74 63 68 20 6c 65 6e 67 74 68 20 6c 69 6d 69 74 20 28 2d 6d 29 0a 40 69 .@tab.Match.length.limit.(-m).@i
42720 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 79 74 65 tem.-0.@tab.64.KiB.@tab..16.byte
42740 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 20 35 20 s.@item.-1.@tab..1.MiB.@tab...5.
42760 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 40 74 61 bytes.@item.-2.@tab..1.5.MiB.@ta
42780 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 4d 69 42 b...6.bytes.@item.-3.@tab..2.MiB
427a0 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 20 20 33 .@tab...8.bytes.@item.-4.@tab..3
427c0 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 40 74 61 .MiB.@tab..12.bytes.@item.-5.@ta
427e0 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 20 2d 36 b..4.MiB.@tab..20.bytes.@item.-6
42800 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 69 74 65 .@tab..8.MiB.@tab..36.bytes.@ite
42820 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 65 73 0a m.-7.@tab.16.MiB.@tab..68.bytes.
42840 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 20 62 79 @item.-8.@tab.24.MiB.@tab.132.by
42860 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 20 32 37 tes.@item.-9.@tab.32.MiB.@tab.27
42880 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 6d 20 2d 3.bytes.@end.multitable..@item.-
428a0 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 6f 72 20 -fast.@itemx.--best.Aliases.for.
428c0 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 6d 20 2d GNU.gzip.compatibility...@item.-
428e0 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 73 73 69 -loose-trailing.When.decompressi
42900 6e 67 2c 20 74 65 73 74 69 6e 67 2c 20 6f 72 20 6c 69 73 74 69 6e 67 2c 20 61 6c 6c 6f 77 20 74 ng,.testing,.or.listing,.allow.t
42920 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 20 61 railing.data.whose.first.bytes.a
42940 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 65 73 re.so.similar.to.the.magic.bytes
42960 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 6e 0a .of.a.lzip.header.that.they.can.
42980 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 64 65 be.confused.with.a.corrupt.heade
429a0 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 72 69 r..Use.this.option.if.a.file.tri
429c0 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 20 61 ggers.a."corrupt.header".error.a
429e0 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 6f 72 nd.the.cause.is.not.indeed.a.cor
42a00 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 65 72 rupt.header...@end.table..Number
42a20 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 73 20 s.given.as.arguments.to.options.
42a40 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 72 0a may.be.followed.by.a.multiplier.
42a60 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 62 79 and.an.optional.@samp{B}.for."by
42a80 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 72 65 te"...Table.of.SI.and.binary.pre
42aa0 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 6c 74 fixes.(unit.multipliers):..@mult
42ac0 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 5e 33 itable.{Prefix}.{kilobyte..(10^3
42ae0 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 74 65 .=.1000)}.{|}.{Prefix}.{kibibyte
42b00 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 74 61 .(2^10.=.1024)}.@item.Prefix.@ta
42b20 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 74 61 b.Value...............@tab.|.@ta
42b40 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 61 62 b.Prefix.@tab.Value.@item.k.@tab
42b60 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 20 7c .kilobyte..(10^3.=.1000)..@tab.|
42b80 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 20 31 .@tab.Ki.@tab.kibibyte.(2^10.=.1
42ba0 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 30 5e 024).@item.M.@tab.megabyte..(10^
42bc0 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 20 6d 6).........@tab.|.@tab.Mi.@tab.m
42be0 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 67 61 ebibyte.(2^20).@item.G.@tab.giga
42c00 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 61 62 byte..(10^9).........@tab.|.@tab
42c20 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 20 54 .Gi.@tab.gibibyte.(2^30).@item.T
42c40 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 20 40 .@tab.terabyte..(10^12)........@
42c60 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 5e 34 tab.|.@tab.Ti.@tab.tebibyte.(2^4
42c80 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 31 35 0).@item.P.@tab.petabyte..(10^15
42ca0 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 65 62 )........@tab.|.@tab.Pi.@tab.peb
42cc0 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 79 74 ibyte.(2^50).@item.E.@tab.exabyt
42ce0 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 20 45 e...(10^18)........@tab.|.@tab.E
42d00 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 20 40 i.@tab.exbibyte.(2^60).@item.Z.@
42d20 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 74 61 tab.zettabyte.(10^21)........@ta
42d40 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 30 29 b.|.@tab.Zi.@tab.zebibyte.(2^70)
42d60 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 29 20 .@item.Y.@tab.yottabyte.(10^24).
42d80 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 69 62 .......@tab.|.@tab.Yi.@tab.yobib
42da0 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 70 20 yte.(2^80).@end.multitable..@sp.
42dc0 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 65 78 1.Exit.status:.0.for.a.normal.ex
42de0 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 6d 73 it,.1.for.environmental.problems
42e00 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 73 2c .(file.not.found,.invalid.flags,
42e20 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 74 65 .I/O.errors,.etc),.2.to.indicate
42e40 20 61 20 63 6f 72 72 75 70 74 20 6f 72 20 69 6e 76 61 6c 69 64 0a 69 6e 70 75 74 20 66 69 6c 65 .a.corrupt.or.invalid.input.file
42e60 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 79 20 ,.3.for.an.internal.consistency.
42e80 65 72 72 6f 72 20 28 65 2e 67 2e 2c 20 62 75 67 29 20 77 68 69 63 68 20 63 61 75 73 65 64 0a 6c error.(e.g.,.bug).which.caused.l
42ea0 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
42ec0 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
42ee0 6d 65 6e 74 2c 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 ment,.and.testing.of.lzip.@cinde
42f00 78 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 x.quality.assurance..There.are.t
42f20 77 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 wo.ways.of.constructing.a.softwa
42f40 72 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 20 69 74 re.design:.One.way.is.to.make.it
42f60 0a 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 .so.simple.that.there.are.obviou
42f80 73 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 sly.no.deficiencies.and.the.othe
42fa0 72 20 77 61 79 20 69 73 20 74 6f 0a 6d 61 6b 65 20 69 74 20 73 6f 20 63 6f 6d 70 6c 69 63 61 74 r.way.is.to.make.it.so.complicat
42fc0 65 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 ed.that.there.are.no.obvious.def
42fe0 69 63 69 65 6e 63 69 65 73 2e 20 54 68 65 20 66 69 72 73 74 0a 6d 65 74 68 6f 64 20 69 73 20 66 iciencies..The.first.method.is.f
43000 61 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 ar.more.difficult.@*.---.C.A.R..
43020 48 6f 61 72 65 0a 0a 4c 7a 69 70 20 69 73 20 64 65 76 65 6c 6f 70 65 64 20 62 79 20 76 6f 6c 75 Hoare..Lzip.is.developed.by.volu
43040 6e 74 65 65 72 73 20 77 68 6f 20 6c 61 63 6b 20 74 68 65 20 72 65 73 6f 75 72 63 65 73 20 72 65 nteers.who.lack.the.resources.re
43060 71 75 69 72 65 64 20 66 6f 72 0a 65 78 74 65 6e 73 69 76 65 20 74 65 73 74 69 6e 67 20 69 6e 20 quired.for.extensive.testing.in.
43080 61 6c 6c 20 63 69 72 63 75 6d 73 74 61 6e 63 65 73 2e 20 49 74 20 69 73 20 75 70 20 74 6f 20 79 all.circumstances..It.is.up.to.y
430a0 6f 75 20 74 6f 20 74 65 73 74 20 6c 7a 69 70 20 62 65 66 6f 72 65 0a 75 73 69 6e 67 20 69 74 20 ou.to.test.lzip.before.using.it.
430c0 69 6e 20 6d 69 73 73 69 6f 6e 2d 63 72 69 74 69 63 61 6c 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 in.mission-critical.applications
430e0 2e 20 48 6f 77 65 76 65 72 2c 20 61 20 63 6f 6d 70 72 65 73 73 6f 72 20 6c 69 6b 65 20 6c 7a 69 ..However,.a.compressor.like.lzi
43100 70 0a 69 73 20 6e 6f 74 20 61 20 74 6f 79 2c 20 61 6e 64 20 6d 61 69 6e 74 61 69 6e 69 6e 67 20 p.is.not.a.toy,.and.maintaining.
43120 69 74 20 69 73 20 6e 6f 74 20 61 20 68 6f 62 62 79 2e 20 4d 61 6e 79 20 70 65 6f 70 6c 65 27 73 it.is.not.a.hobby..Many.people's
43140 20 64 61 74 61 20 64 65 70 65 6e 64 0a 6f 6e 20 69 74 2e 20 54 68 65 72 65 66 6f 72 65 20 74 68 .data.depend.on.it..Therefore.th
43160 65 20 6c 7a 69 70 20 66 69 6c 65 20 66 6f 72 6d 61 74 20 68 61 73 20 62 65 65 6e 20 72 65 76 69 e.lzip.file.format.has.been.revi
43180 65 77 65 64 20 63 61 72 65 66 75 6c 6c 79 20 61 6e 64 20 69 73 0a 62 65 6c 69 65 76 65 64 20 74 ewed.carefully.and.is.believed.t
431a0 6f 20 62 65 20 66 72 65 65 20 66 72 6f 6d 20 6e 65 67 6c 69 67 65 6e 74 20 64 65 73 69 67 6e 20 o.be.free.from.negligent.design.
431c0 65 72 72 6f 72 73 2e 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 errors...Lzip.has.been.designed,
431e0 20 77 72 69 74 74 65 6e 2c 20 61 6e 64 20 74 65 73 74 65 64 20 77 69 74 68 20 67 72 65 61 74 20 .written,.and.tested.with.great.
43200 63 61 72 65 20 74 6f 20 72 65 70 6c 61 63 65 20 67 7a 69 70 0a 61 6e 64 20 62 7a 69 70 32 20 61 care.to.replace.gzip.and.bzip2.a
43220 73 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 67 65 6e 65 72 61 6c 2d 70 75 72 70 6f 73 65 20 63 s.the.standard.general-purpose.c
43240 6f 6d 70 72 65 73 73 65 64 20 66 6f 72 6d 61 74 20 66 6f 72 20 75 6e 69 78 2d 6c 69 6b 65 0a 73 ompressed.format.for.unix-like.s
43260 79 73 74 65 6d 73 2e 20 54 68 69 73 20 63 68 61 70 74 65 72 20 64 65 73 63 72 69 62 65 73 20 74 ystems..This.chapter.describes.t
43280 68 65 20 6c 65 73 73 6f 6e 73 20 6c 65 61 72 6e 65 64 20 66 72 6f 6d 20 74 68 65 73 65 20 70 72 he.lessons.learned.from.these.pr
432a0 65 76 69 6f 75 73 0a 66 6f 72 6d 61 74 73 2c 20 61 6e 64 20 74 68 65 69 72 20 61 70 70 6c 69 63 evious.formats,.and.their.applic
432c0 61 74 69 6f 6e 20 74 6f 20 74 68 65 20 64 65 73 69 67 6e 20 6f 66 20 6c 7a 69 70 2e 0a 0a 40 73 ation.to.the.design.of.lzip...@s
432e0 70 20 31 0a 40 73 65 63 74 69 6f 6e 20 46 6f 72 6d 61 74 20 64 65 73 69 67 6e 0a 0a 57 68 65 6e p.1.@section.Format.design..When
43300 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 70 .gzip.was.designed.in.1992,.comp
43320 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 65 uters.and.operating.systems.were
43340 20 6d 75 63 68 0a 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 65 .much.less.capable.than.they.are
43360 20 74 6f 64 61 79 2e 20 54 68 65 20 64 65 73 69 67 6e 65 72 73 20 6f 66 20 67 7a 69 70 20 74 72 .today..The.designers.of.gzip.tr
43380 69 65 64 20 74 6f 20 77 6f 72 6b 20 61 72 6f 75 6e 64 0a 73 6f 6d 65 20 6f 66 20 74 68 6f 73 65 ied.to.work.around.some.of.those
433a0 20 6c 69 6d 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 .limitations,.like.8.3.file.name
433c0 73 2c 20 77 69 74 68 20 61 64 64 69 74 69 6f 6e 61 6c 20 66 69 65 6c 64 73 20 69 6e 0a 74 68 65 s,.with.additional.fields.in.the
433e0 20 66 69 6c 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 .file.format...Today.those.limit
43400 61 74 69 6f 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 ations.have.mostly.disappeared,.
43420 61 6e 64 20 74 68 65 20 66 6f 72 6d 61 74 20 6f 66 20 67 7a 69 70 20 68 61 73 0a 70 72 6f 76 65 and.the.format.of.gzip.has.prove
43440 64 20 74 6f 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 d.to.be.unnecessarily.complicate
43460 64 2e 20 49 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 20 d..It.includes.fields.that.were.
43480 6e 65 76 65 72 0a 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 never.used,.others.that.have.los
434a0 74 20 74 68 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 t.their.usefulness,.and.finally.
434c0 6f 74 68 65 72 73 20 74 68 61 74 20 68 61 76 65 0a 62 65 63 6f 6d 65 20 74 6f 6f 20 6c 69 6d 69 others.that.have.become.too.limi
434e0 74 65 64 2e 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 ted...Bzip2.was.designed.5.years
43500 20 6c 61 74 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 .later,.and.its.format.is.simple
43520 72 20 74 68 61 6e 20 74 68 65 20 6f 6e 65 20 6f 66 0a 67 7a 69 70 2e 0a 0a 50 72 6f 62 61 62 6c r.than.the.one.of.gzip...Probabl
43540 79 20 74 68 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 y.the.worst.defect.of.the.gzip.f
43560 6f 72 6d 61 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 20 ormat.from.the.point.of.view.of.
43580 64 61 74 61 0a 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 data.safety.is.the.variable.size
435a0 20 6f 66 20 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 .of.its.header..If.the.byte.at.o
435c0 66 66 73 65 74 20 33 20 28 66 6c 61 67 73 29 0a 6f 66 20 61 20 67 7a 69 70 20 6d 65 6d 62 65 72 ffset.3.(flags).of.a.gzip.member
435e0 20 67 65 74 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 .gets.corrupted,.it.may.become.d
43600 69 66 66 69 63 75 6c 74 20 74 6f 20 72 65 63 6f 76 65 72 20 74 68 65 0a 64 61 74 61 2c 20 65 76 ifficult.to.recover.the.data,.ev
43620 65 6e 20 69 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 en.if.the.compressed.blocks.are.
43640 69 6e 74 61 63 74 2c 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 intact,.because.it.can't.be.know
43660 6e 0a 77 69 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 n.with.certainty.where.the.compr
43680 65 73 73 65 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 essed.blocks.begin...By.contrast
436a0 2c 20 74 68 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 ,.the.header.of.a.lzip.member.ha
436c0 73 20 61 20 66 69 78 65 64 20 6c 65 6e 67 74 68 20 6f 66 20 36 2e 20 54 68 65 20 4c 5a 4d 41 0a s.a.fixed.length.of.6..The.LZMA.
436e0 73 74 72 65 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 stream.in.a.lzip.member.always.s
43700 74 61 72 74 73 20 61 74 20 6f 66 66 73 65 74 20 36 2c 20 6d 61 6b 69 6e 67 20 69 74 20 74 72 69 tarts.at.offset.6,.making.it.tri
43720 76 69 61 6c 20 74 6f 0a 72 65 63 6f 76 65 72 20 74 68 65 20 64 61 74 61 20 65 76 65 6e 20 69 66 vial.to.recover.the.data.even.if
43740 20 74 68 65 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 .the.whole.header.becomes.corrup
43760 74 2e 0a 0a 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 t...Bzip2.also.provides.a.header
43780 20 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 .of.fixed.length.and.marks.the.b
437a0 65 67 69 6e 20 61 6e 64 20 65 6e 64 20 6f 66 0a 65 61 63 68 20 63 6f 6d 70 72 65 73 73 65 64 20 egin.and.end.of.each.compressed.
437c0 62 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 block.with.six.magic.bytes,.maki
437e0 6e 67 20 69 74 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 66 69 6e 64 20 74 68 65 0a 63 6f 6d 70 72 ng.it.possible.to.find.the.compr
43800 65 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 essed.blocks.even.in.case.of.fil
43820 65 20 64 61 6d 61 67 65 2e 20 42 75 74 20 62 7a 69 70 32 20 64 6f 65 73 20 6e 6f 74 20 73 74 6f e.damage..But.bzip2.does.not.sto
43840 72 65 20 74 68 65 0a 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 re.the.size.of.each.compressed.b
43860 6c 6f 63 6b 2c 20 61 73 20 6c 7a 69 70 20 64 6f 65 73 2e 0a 0a 4c 7a 69 70 72 65 63 6f 76 65 72 lock,.as.lzip.does...Lziprecover
43880 20 69 73 20 61 62 6c 65 20 74 6f 20 70 72 6f 76 69 64 65 20 75 6e 69 71 75 65 20 64 61 74 61 20 .is.able.to.provide.unique.data.
438a0 72 65 63 6f 76 65 72 79 20 63 61 70 61 62 69 6c 69 74 69 65 73 20 62 65 63 61 75 73 65 20 74 68 recovery.capabilities.because.th
438c0 65 0a 6c 7a 69 70 20 66 6f 72 6d 61 74 20 69 73 20 65 78 74 72 61 6f 72 64 69 6e 61 72 69 6c 79 e.lzip.format.is.extraordinarily
438e0 20 73 61 66 65 2e 20 54 68 65 20 73 69 6d 70 6c 65 20 61 6e 64 20 73 61 66 65 20 64 65 73 69 67 .safe..The.simple.and.safe.desig
43900 6e 20 6f 66 20 74 68 65 20 66 69 6c 65 0a 66 6f 72 6d 61 74 20 63 6f 6d 70 6c 65 6d 65 6e 74 73 n.of.the.file.format.complements
43920 20 74 68 65 20 65 6d 62 65 64 64 65 64 20 65 72 72 6f 72 20 64 65 74 65 63 74 69 6f 6e 20 70 72 .the.embedded.error.detection.pr
43940 6f 76 69 64 65 64 20 62 79 20 74 68 65 20 4c 5a 4d 41 20 64 61 74 61 0a 73 74 72 65 61 6d 2e 20 ovided.by.the.LZMA.data.stream..
43960 41 6e 79 20 64 69 73 74 61 6e 63 65 20 6c 61 72 67 65 72 20 74 68 61 6e 20 74 68 65 20 64 69 63 Any.distance.larger.than.the.dic
43980 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 61 63 74 73 20 61 73 20 61 20 66 6f 72 62 69 64 64 65 6e tionary.size.acts.as.a.forbidden
439a0 0a 73 79 6d 62 6f 6c 2c 20 61 6c 6c 6f 77 69 6e 67 20 74 68 65 20 64 65 63 6f 6d 70 72 65 73 73 .symbol,.allowing.the.decompress
439c0 6f 72 20 74 6f 20 64 65 74 65 63 74 20 74 68 65 20 61 70 70 72 6f 78 69 6d 61 74 65 20 70 6f 73 or.to.detect.the.approximate.pos
439e0 69 74 69 6f 6e 20 6f 66 0a 65 72 72 6f 72 73 2c 20 61 6e 64 20 6c 65 61 76 69 6e 67 20 76 65 72 ition.of.errors,.and.leaving.ver
43a00 79 20 6c 69 74 74 6c 65 20 77 6f 72 6b 20 66 6f 72 20 74 68 65 20 63 68 65 63 6b 20 73 65 71 75 y.little.work.for.the.check.sequ
43a20 65 6e 63 65 20 28 43 52 43 20 61 6e 64 20 64 61 74 61 0a 73 69 7a 65 73 29 20 69 6e 20 74 68 65 ence.(CRC.and.data.sizes).in.the
43a40 20 64 65 74 65 63 74 69 6f 6e 20 6f 66 20 65 72 72 6f 72 73 2e 20 4c 7a 69 70 20 69 73 20 75 73 .detection.of.errors..Lzip.is.us
43a60 75 61 6c 6c 79 20 61 62 6c 65 20 74 6f 20 64 65 74 65 63 74 20 61 6c 6c 0a 70 6f 73 73 69 62 6c ually.able.to.detect.all.possibl
43a80 65 20 62 69 74 20 66 6c 69 70 73 20 69 6e 20 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 20 64 61 e.bit.flips.in.the.compressed.da
43aa0 74 61 20 77 69 74 68 6f 75 74 20 72 65 73 6f 72 74 69 6e 67 20 74 6f 20 74 68 65 20 63 68 65 63 ta.without.resorting.to.the.chec
43ac0 6b 0a 73 65 71 75 65 6e 63 65 2e 20 49 74 20 77 6f 75 6c 64 20 62 65 20 64 69 66 66 69 63 75 6c k.sequence..It.would.be.difficul
43ae0 74 20 74 6f 20 77 72 69 74 65 20 61 6e 20 61 75 74 6f 6d 61 74 69 63 20 72 65 63 6f 76 65 72 79 t.to.write.an.automatic.recovery
43b00 20 74 6f 6f 6c 20 6c 69 6b 65 0a 6c 7a 69 70 72 65 63 6f 76 65 72 20 66 6f 72 20 74 68 65 20 67 .tool.like.lziprecover.for.the.g
43b20 7a 69 70 20 66 6f 72 6d 61 74 2e 20 41 6e 64 2c 20 61 73 20 66 61 72 20 61 73 20 49 20 6b 6e 6f zip.format..And,.as.far.as.I.kno
43b40 77 2c 20 69 74 20 68 61 73 20 6e 65 76 65 72 20 62 65 65 6e 0a 77 72 69 74 74 65 6e 2e 0a 0a 4c w,.it.has.never.been.written...L
43b60 7a 69 70 2c 20 6c 69 6b 65 20 67 7a 69 70 20 61 6e 64 20 62 7a 69 70 32 2c 20 75 73 65 73 20 61 zip,.like.gzip.and.bzip2,.uses.a
43b80 20 43 52 43 33 32 20 74 6f 20 63 68 65 63 6b 20 74 68 65 20 69 6e 74 65 67 72 69 74 79 20 6f 66 .CRC32.to.check.the.integrity.of
43ba0 20 74 68 65 0a 64 65 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 20 62 65 63 61 75 73 65 20 69 .the.decompressed.data.because.i
43bc0 74 20 70 72 6f 76 69 64 65 73 20 6f 70 74 69 6d 61 6c 20 61 63 63 75 72 61 63 79 20 69 6e 20 74 t.provides.optimal.accuracy.in.t
43be0 68 65 20 64 65 74 65 63 74 69 6f 6e 20 6f 66 0a 65 72 72 6f 72 73 20 75 70 20 74 6f 20 61 20 63 he.detection.of.errors.up.to.a.c
43c00 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 77 7b 31 36 20 47 69 ompressed.size.of.about.@w{16.Gi
43c20 42 7d 2c 20 61 20 73 69 7a 65 20 6c 61 72 67 65 72 20 74 68 61 6e 20 74 68 61 74 0a 6f 66 20 6d B},.a.size.larger.than.that.of.m
43c40 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 20 6c 7a 69 70 2c 20 ost.files..In.the.case.of.lzip,.
43c60 74 68 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 64 65 74 65 63 74 69 6f 6e 20 63 61 70 61 62 69 6c the.additional.detection.capabil
43c80 69 74 79 20 6f 66 0a 74 68 65 20 64 65 63 6f 6d 70 72 65 73 73 6f 72 20 72 65 64 75 63 65 73 20 ity.of.the.decompressor.reduces.
43ca0 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 63 74 65 64 20 65 72 the.probability.of.undetected.er
43cc0 72 6f 72 73 20 73 65 76 65 72 61 6c 0a 6d 69 6c 6c 69 6f 6e 20 74 69 6d 65 73 20 6d 6f 72 65 2c rors.several.million.times.more,
43ce0 20 72 65 73 75 6c 74 69 6e 67 20 69 6e 20 61 20 63 6f 6d 62 69 6e 65 64 20 69 6e 74 65 67 72 69 .resulting.in.a.combined.integri
43d00 74 79 20 63 68 65 63 6b 69 6e 67 20 6f 70 74 69 6d 61 6c 6c 79 0a 61 63 63 75 72 61 74 65 20 66 ty.checking.optimally.accurate.f
43d20 6f 72 20 61 6e 79 20 6d 65 6d 62 65 72 20 73 69 7a 65 20 70 72 6f 64 75 63 65 64 20 62 79 20 6c or.any.member.size.produced.by.l
43d40 7a 69 70 2e 20 50 72 65 6c 69 6d 69 6e 61 72 79 20 72 65 73 75 6c 74 73 20 73 75 67 67 65 73 74 zip..Preliminary.results.suggest
43d60 0a 74 68 61 74 20 74 68 65 20 6c 7a 69 70 20 66 6f 72 6d 61 74 20 69 73 20 73 61 66 65 20 65 6e .that.the.lzip.format.is.safe.en
43d80 6f 75 67 68 20 74 6f 20 62 65 20 75 73 65 64 20 69 6e 20 63 72 69 74 69 63 61 6c 20 73 61 66 65 ough.to.be.used.in.critical.safe
43da0 74 79 20 61 76 69 6f 6e 69 63 73 0a 73 79 73 74 65 6d 73 2e 0a 0a 54 68 65 20 6c 7a 69 70 20 66 ty.avionics.systems...The.lzip.f
43dc0 6f 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 ormat.is.designed.for.long-term.
43de0 61 72 63 68 69 76 69 6e 67 2e 20 54 68 65 72 65 66 6f 72 65 20 69 74 20 65 78 63 6c 75 64 65 73 archiving..Therefore.it.excludes
43e00 0a 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 .any.unneeded.features.that.may.
43e20 69 6e 74 65 72 66 65 72 65 20 77 69 74 68 20 74 68 65 20 66 75 74 75 72 65 20 65 78 74 72 61 63 interfere.with.the.future.extrac
43e40 74 69 6f 6e 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 2e 0a 0a tion.of.the.decompressed.data...
43e60 40 73 70 20 31 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 47 7a 69 70 20 66 6f 72 6d 61 74 20 28 6d @sp.1.@subsection.Gzip.format.(m
43e80 69 73 29 66 65 61 74 75 72 65 73 20 6e 6f 74 20 70 72 65 73 65 6e 74 20 69 6e 20 6c 7a 69 70 0a is)features.not.present.in.lzip.
43ea0 0a 40 74 61 62 6c 65 20 40 73 61 6d 70 0a 40 69 74 65 6d 20 4d 75 6c 74 69 70 6c 65 20 61 6c 67 .@table.@samp.@item.Multiple.alg
43ec0 6f 72 69 74 68 6d 73 0a 0a 47 7a 69 70 20 70 72 6f 76 69 64 65 73 20 61 20 43 4d 20 28 43 6f 6d orithms..Gzip.provides.a.CM.(Com
43ee0 70 72 65 73 73 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 pression.Method).field.that.has.
43f00 6e 65 76 65 72 20 62 65 65 6e 20 75 73 65 64 0a 62 65 63 61 75 73 65 20 69 74 20 69 73 20 61 20 never.been.used.because.it.is.a.
43f20 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
43f40 72 65 73 73 69 6f 6e 20 6d 65 74 68 6f 64 73 20 6d 61 79 20 72 65 71 75 69 72 65 0a 61 64 64 69 ression.methods.may.require.addi
43f60 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 70 6f 73 73 69 tional.fields,.making.it.impossi
43f80 62 6c 65 20 74 6f 20 69 6d 70 6c 65 6d 65 6e 74 20 6e 65 77 20 6d 65 74 68 6f 64 73 20 61 6e 64 ble.to.implement.new.methods.and
43fa0 2c 20 61 74 20 74 68 65 0a 73 61 6d 65 20 74 69 6d 65 2c 20 6b 65 65 70 20 74 68 65 20 73 61 6d ,.at.the.same.time,.keep.the.sam
43fc0 65 20 66 6f 72 6d 61 74 2e 20 54 68 69 73 20 66 69 65 6c 64 20 64 6f 65 73 20 6e 6f 74 20 73 6f e.format..This.field.does.not.so
43fe0 6c 76 65 20 74 68 65 20 70 72 6f 62 6c 65 6d 20 6f 66 0a 66 6f 72 6d 61 74 20 70 72 6f 6c 69 66 lve.the.problem.of.format.prolif
44000 65 72 61 74 69 6f 6e 3b 20 69 74 20 6a 75 73 74 20 6d 61 6b 65 73 20 74 68 65 20 70 72 6f 62 6c eration;.it.just.makes.the.probl
44020 65 6d 20 6c 65 73 73 20 6f 62 76 69 6f 75 73 2e 0a 0a 40 69 74 65 6d 20 4f 70 74 69 6f 6e 61 6c em.less.obvious...@item.Optional
44040 20 66 69 65 6c 64 73 20 69 6e 20 68 65 61 64 65 72 0a 0a 55 6e 6c 65 73 73 20 73 70 65 63 69 61 .fields.in.header..Unless.specia
44060 6c 20 70 72 65 63 61 75 74 69 6f 6e 73 20 61 72 65 20 74 61 6b 65 6e 2c 20 6f 70 74 69 6f 6e 61 l.precautions.are.taken,.optiona
44080 6c 20 66 69 65 6c 64 73 20 61 72 65 20 67 65 6e 65 72 61 6c 6c 79 20 61 20 62 61 64 0a 69 64 65 l.fields.are.generally.a.bad.ide
440a0 61 20 62 65 63 61 75 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 a.because.they.produce.a.header.
440c0 6f 66 20 76 61 72 69 61 62 6c 65 20 73 69 7a 65 2e 20 54 68 65 20 67 7a 69 70 20 68 65 61 64 65 of.variable.size..The.gzip.heade
440e0 72 20 68 61 73 20 32 0a 66 69 65 6c 64 73 20 74 68 61 74 2c 20 69 6e 20 61 64 64 69 74 69 6f 6e r.has.2.fields.that,.in.addition
44100 20 74 6f 20 62 65 69 6e 67 20 6f 70 74 69 6f 6e 61 6c 2c 20 61 72 65 20 7a 65 72 6f 2d 74 65 72 .to.being.optional,.are.zero-ter
44120 6d 69 6e 61 74 65 64 2e 20 54 68 69 73 20 6d 65 61 6e 73 0a 74 68 61 74 20 69 66 20 61 6e 79 20 minated..This.means.that.if.any.
44140 62 79 74 65 20 69 6e 73 69 64 65 20 74 68 65 20 66 69 65 6c 64 20 67 65 74 73 20 7a 65 72 6f 65 byte.inside.the.field.gets.zeroe
44160 64 2c 20 6f 72 20 69 66 20 74 68 65 20 74 65 72 6d 69 6e 61 74 69 6e 67 20 7a 65 72 6f 0a 67 65 d,.or.if.the.terminating.zero.ge
44180 74 73 20 61 6c 74 65 72 65 64 2c 20 67 7a 69 70 20 77 6f 6e 27 74 20 62 65 20 61 62 6c 65 20 74 ts.altered,.gzip.won't.be.able.t
441a0 6f 20 66 69 6e 64 20 6e 65 69 74 68 65 72 20 74 68 65 20 68 65 61 64 65 72 20 43 52 43 20 6e 6f o.find.neither.the.header.CRC.no
441c0 72 20 74 68 65 0a 63 6f 6d 70 72 65 73 73 65 64 20 62 6c 6f 63 6b 73 2e 0a 0a 40 69 74 65 6d 20 r.the.compressed.blocks...@item.
441e0 4f 70 74 69 6f 6e 61 6c 20 43 52 43 20 66 6f 72 20 74 68 65 20 68 65 61 64 65 72 0a 0a 55 73 69 Optional.CRC.for.the.header..Usi
44200 6e 67 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 43 52 43 20 66 6f 72 20 74 68 65 20 68 65 61 64 65 ng.an.optional.CRC.for.the.heade
44220 72 20 69 73 20 6e 6f 74 20 6f 6e 6c 79 20 61 20 62 61 64 20 69 64 65 61 2c 20 69 74 20 69 73 20 r.is.not.only.a.bad.idea,.it.is.
44240 61 6e 20 65 72 72 6f 72 3b 0a 69 74 20 63 69 72 63 75 6d 76 65 6e 74 73 20 74 68 65 20 48 61 6d an.error;.it.circumvents.the.Ham
44260 6d 69 6e 67 20 64 69 73 74 61 6e 63 65 20 28 48 44 29 20 6f 66 20 74 68 65 20 43 52 43 20 61 6e ming.distance.(HD).of.the.CRC.an
44280 64 20 6d 61 79 20 70 72 65 76 65 6e 74 20 74 68 65 0a 65 78 74 72 61 63 74 69 6f 6e 20 6f 66 20 d.may.prevent.the.extraction.of.
442a0 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 6d 70 6c 65 perfectly.good.data..For.example
442c0 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 0a 62 69 74 ,.if.the.CRC.is.used.and.the.bit
442e0 20 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 69 74 20 66 .enabling.it.is.reset.by.a.bit.f
44300 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 74 6f 20 62 lip,.the.header.will.appear.to.b
44320 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 63 6f 72 72 e.intact.(in.spite.of.being.corr
44340 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 6f 63 6b 73 upt).while.the.compressed.blocks
44360 20 77 69 6c 6c 20 61 70 70 65 61 72 20 74 6f 20 62 65 0a 74 6f 74 61 6c 6c 79 20 75 6e 72 65 63 .will.appear.to.be.totally.unrec
44380 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 69 6e 74 61 overable.(in.spite.of.being.inta
443a0 63 74 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 40 69 ct)..Very.misleading.indeed...@i
443c0 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 74 20 73 74 tem.Metadata..The.gzip.format.st
443e0 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 20 6d 6f 64 ores.some.metadata,.like.the.mod
44400 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 61 6c 20 66 ification.time.of.the.original.f
44420 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 6e 20 77 ile.or.the.operating.system.on.w
44440 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 20 54 68 69 hich.compression.took.place..Thi
44460 73 0a 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 6f 6d 70 72 s.complicates.reproducible.compr
44480 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 20 63 6f 6d 70 ession.(obtaining.identical.comp
444a0 72 65 73 73 65 64 20 6f 75 74 70 75 74 0a 66 72 6f 6d 20 69 64 65 6e 74 69 63 61 6c 20 69 6e 70 ressed.output.from.identical.inp
444c0 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 6e 20 4c 7a ut)...@end.table..@subsection.Lz
444e0 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 67 7a 69 70 ip.format.improvements.over.gzip
44500 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 65 6d 20 36 .and.bzip2..@table.@samp.@item.6
44520 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 68 65 20 6d 4-bit.size.field..Probably.the.m
44540 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 63 6f 6d ost.frequently.reported.shortcom
44560 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 20 74 68 61 74 0a 69 ing.of.the.gzip.format.is.that.i
44580 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 69 66 69 63 t.only.stores.the.least.signific
445a0 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 73 65 64 20 ant.32.bits.of.the.uncompressed.
445c0 73 69 7a 65 2e 20 54 68 65 0a 73 69 7a 65 20 6f 66 20 61 6e 79 20 66 69 6c 65 20 6c 61 72 67 65 size..The.size.of.any.file.large
445e0 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 74 65 64 2e r.than.@w{4.GiB}.gets.truncated.
44600 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 6e 63 6f 6d ..Bzip2.does.not.store.the.uncom
44620 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 68 65 20 6c pressed.size.of.the.file...The.l
44640 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 20 66 69 65 zip.format.provides.a.64-bit.fie
44660 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 2e 0a 41 64 ld.for.the.uncompressed.size..Ad
44680 64 69 74 69 6f 6e 61 6c 6c 79 2c 20 6c 7a 69 70 20 70 72 6f 64 75 63 65 73 20 6d 75 6c 74 69 6d ditionally,.lzip.produces.multim
446a0 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 65 6e 20 ember.output.automatically.when.
446c0 74 68 65 20 73 69 7a 65 0a 69 73 20 74 6f 6f 20 6c 61 72 67 65 20 66 6f 72 20 61 20 73 69 6e 67 the.size.is.too.large.for.a.sing
446e0 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 6c 69 6d le.member,.allowing.for.an.unlim
44700 69 74 65 64 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 0a 73 69 7a 65 2e 0a 0a 40 69 74 65 6d 20 44 ited.uncompressed.size...@item.D
44720 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 72 6d 61 istributed.index..The.lzip.forma
44740 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 78 20 74 t.provides.a.distributed.index.t
44760 68 61 74 2c 20 61 6d 6f 6e 67 20 6f 74 68 65 72 20 74 68 69 6e 67 73 2c 20 68 65 6c 70 73 0a 70 hat,.among.other.things,.helps.p
44780 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 6d 65 73 lzip.to.decompress.several.times
447a0 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 20 6c 7a 69 70 .faster.than.pigz.and.helps.lzip
447c0 72 65 63 6f 76 65 72 20 64 6f 0a 69 74 73 20 6a 6f 62 2e 20 4e 65 69 74 68 65 72 20 74 68 65 20 recover.do.its.job..Neither.the.
447e0 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 6d 61 74 gzip.format.nor.the.bzip2.format
44800 20 64 6f 20 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 72 69 62 .do.provide.an.index...A.distrib
44820 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 73 63 61 uted.index.is.safer.and.more.sca
44840 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 2e 20 54 lable.than.a.monolithic.index..T
44860 68 65 0a 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
44880 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 68 65 20 .single.point.of.failure.in.the.
448a0 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 0a 61 6e 64 20 6d 61 79 20 6c 69 6d 69 74 20 74 68 compressed.file.and.may.limit.th
448c0 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 74 61 6c e.number.of.members.or.the.total
448e0 20 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 6c 65 0a .uncompressed.size...@end.table.
44900 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 74 61 74 .@section.Quality.of.implementat
44920 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 61 74 65 ion..@table.@samp.@item.Accurate
44940 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 54 68 65 .and.robust.error.detection..The
44960 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 72 20 69 .lzip.format.provides.3.factor.i
44980 6e 74 65 67 72 69 74 79 20 63 68 65 63 6b 69 6e 67 2c 20 61 6e 64 20 74 68 65 20 64 65 63 6f 6d ntegrity.checking,.and.the.decom
449a0 70 72 65 73 73 6f 72 73 0a 72 65 70 6f 72 74 20 6d 69 73 6d 61 74 63 68 65 73 20 69 6e 20 65 61 pressors.report.mismatches.in.ea
449c0 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 6d 65 74 68 6f ch.factor.separately..This.metho
449e0 64 20 64 65 74 65 63 74 73 20 6d 6f 73 74 20 66 61 6c 73 65 0a 70 6f 73 69 74 69 76 65 73 20 66 d.detects.most.false.positives.f
44a00 6f 72 20 63 6f 72 72 75 70 74 69 6f 6e 2e 20 49 66 20 6a 75 73 74 20 6f 6e 65 20 62 79 74 65 20 or.corruption..If.just.one.byte.
44a20 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 6f 74 68 65 in.one.factor.fails.but.the.othe
44a40 72 0a 74 77 6f 20 66 61 63 74 6f 72 73 20 6d 61 74 63 68 20 74 68 65 20 64 61 74 61 2c 20 69 74 r.two.factors.match.the.data,.it
44a60 20 70 72 6f 62 61 62 6c 79 20 6d 65 61 6e 73 20 74 68 61 74 20 74 68 65 20 64 61 74 61 20 61 72 .probably.means.that.the.data.ar
44a80 65 20 69 6e 74 61 63 74 20 61 6e 64 0a 74 68 65 20 63 6f 72 72 75 70 74 69 6f 6e 20 6a 75 73 74 e.intact.and.the.corruption.just
44aa0 20 61 66 66 65 63 74 73 20 74 68 65 20 6d 69 73 6d 61 74 63 68 69 6e 67 20 66 61 63 74 6f 72 20 .affects.the.mismatching.factor.
44ac0 28 43 52 43 2c 20 64 61 74 61 20 73 69 7a 65 2c 20 6f 72 0a 6d 65 6d 62 65 72 20 73 69 7a 65 29 (CRC,.data.size,.or.member.size)
44ae0 20 69 6e 20 74 68 65 20 6d 65 6d 62 65 72 20 74 72 61 69 6c 65 72 2e 0a 0a 40 69 74 65 6d 20 4d .in.the.member.trailer...@item.M
44b00 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 74 20 6c 69 ultiple.implementations..Just.li
44b20 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 33 20 66 61 ke.the.lzip.format.provides.3.fa
44b40 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 65 63 74 ctor.protection.against.undetect
44b60 65 64 0a 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 6c 6f 70 6d ed.data.corruption,.the.developm
44b80 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 20 66 61 6d 69 ent.methodology.of.the.lzip.fami
44ba0 6c 79 20 6f 66 0a 63 6f 6d 70 72 65 73 73 6f 72 73 20 70 72 6f 76 69 64 65 73 20 33 20 66 61 63 ly.of.compressors.provides.3.fac
44bc0 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 65 63 74 65 tor.protection.against.undetecte
44be0 64 20 70 72 6f 67 72 61 6d 6d 69 6e 67 0a 65 72 72 6f 72 73 2e 0a 0a 54 68 72 65 65 20 72 65 6c d.programming.errors...Three.rel
44c00 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 73 6f 72 20 ated.but.independent.compressor.
44c20 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 2c 20 61 6e implementations,.lzip,.clzip,.an
44c40 64 0a 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 65 64 20 d.minilzip/lzlib,.are.developed.
44c60 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 6c 65 61 concurrently..Every.stable.relea
44c80 73 65 20 6f 66 20 61 6e 79 20 6f 66 0a 74 68 65 6d 20 69 73 20 74 65 73 74 65 64 20 74 6f 20 76 se.of.any.of.them.is.tested.to.v
44ca0 65 72 69 66 79 20 74 68 61 74 20 69 74 20 70 72 6f 64 75 63 65 73 20 69 64 65 6e 74 69 63 61 6c erify.that.it.produces.identical
44cc0 20 6f 75 74 70 75 74 20 74 6f 20 74 68 65 20 6f 74 68 65 72 20 74 77 6f 2e 0a 54 68 69 73 20 67 .output.to.the.other.two..This.g
44ce0 75 61 72 61 6e 74 65 65 73 20 74 68 61 74 20 61 6c 6c 20 74 68 72 65 65 20 69 6d 70 6c 65 6d 65 uarantees.that.all.three.impleme
44d00 6e 74 20 74 68 65 20 73 61 6d 65 20 61 6c 67 6f 72 69 74 68 6d 2c 20 61 6e 64 20 6d 61 6b 65 73 nt.the.same.algorithm,.and.makes
44d20 20 69 74 0a 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 .it.unlikely.that.any.of.them.ma
44d40 79 20 63 6f 6e 74 61 69 6e 20 73 65 72 69 6f 75 73 20 75 6e 64 69 73 63 6f 76 65 72 65 64 20 65 y.contain.serious.undiscovered.e
44d60 72 72 6f 72 73 2e 20 49 6e 20 66 61 63 74 2c 0a 6e 6f 20 65 72 72 6f 72 73 20 68 61 76 65 20 62 rrors..In.fact,.no.errors.have.b
44d80 65 65 6e 20 64 69 73 63 6f 76 65 72 65 64 20 69 6e 20 6c 7a 69 70 20 73 69 6e 63 65 20 32 30 30 een.discovered.in.lzip.since.200
44da0 39 2e 0a 0a 41 64 64 69 74 69 6f 6e 61 6c 6c 79 2c 20 74 68 65 20 74 68 72 65 65 20 69 6d 70 6c 9...Additionally,.the.three.impl
44dc0 65 6d 65 6e 74 61 74 69 6f 6e 73 20 68 61 76 65 20 62 65 65 6e 20 65 78 74 65 6e 73 69 76 65 6c ementations.have.been.extensivel
44de0 79 20 74 65 73 74 65 64 20 77 69 74 68 0a 40 75 72 65 66 7b 68 74 74 70 3a 2f 2f 77 77 77 2e 6e y.tested.with.@uref{http://www.n
44e00 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
44e20 72 5f 6d 61 6e 75 61 6c 2e 68 74 6d 6c 23 55 6e 7a 63 72 61 73 68 2c 2c 75 6e 7a 63 72 61 73 68 r_manual.html#Unzcrash,,unzcrash
44e40 7d 2c 0a 76 61 6c 67 72 69 6e 64 2c 20 61 6e 64 20 40 73 61 6d 70 7b 61 6d 65 72 69 63 61 6e 20 },.valgrind,.and.@samp{american.
44e60 66 75 7a 7a 79 20 6c 6f 70 7d 20 77 69 74 68 6f 75 74 20 66 69 6e 64 69 6e 67 20 61 20 73 69 6e fuzzy.lop}.without.finding.a.sin
44e80 67 6c 65 0a 76 75 6c 6e 65 72 61 62 69 6c 69 74 79 20 6f 72 20 66 61 6c 73 65 20 6e 65 67 61 74 gle.vulnerability.or.false.negat
44ea0 69 76 65 2e 0a 40 69 66 6e 6f 74 68 74 6d 6c 0a 40 78 72 65 66 7b 55 6e 7a 63 72 61 73 68 2c 2c ive..@ifnothtml.@xref{Unzcrash,,
44ec0 2c 6c 7a 69 70 72 65 63 6f 76 65 72 7d 2e 0a 40 65 6e 64 20 69 66 6e 6f 74 68 74 6d 6c 0a 0a 40 ,lziprecover}..@end.ifnothtml..@
44ee0 69 74 65 6d 20 44 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 0a 0a 4c 7a 69 70 20 61 75 74 6f 6d item.Dictionary.size..Lzip.autom
44f00 61 74 69 63 61 6c 6c 79 20 61 64 61 70 74 73 20 74 68 65 20 64 69 63 74 69 6f 6e 61 72 79 20 73 atically.adapts.the.dictionary.s
44f20 69 7a 65 20 74 6f 20 74 68 65 20 73 69 7a 65 20 6f 66 20 65 61 63 68 20 66 69 6c 65 2e 0a 49 6e ize.to.the.size.of.each.file..In
44f40 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 6e 74 .addition.to.reducing.the.amount
44f60 20 6f 66 20 6d 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 .of.memory.required.for.decompre
44f80 73 73 69 6f 6e 2c 0a 74 68 69 73 20 66 65 61 74 75 72 65 20 61 6c 73 6f 20 6d 69 6e 69 6d 69 7a ssion,.this.feature.also.minimiz
44fa0 65 73 20 74 68 65 20 70 72 6f 62 61 62 69 6c 69 74 79 20 6f 66 20 62 65 69 6e 67 20 61 66 66 65 es.the.probability.of.being.affe
44fc0 63 74 65 64 20 62 79 20 52 41 4d 20 65 72 72 6f 72 73 0a 64 75 72 69 6e 67 20 63 6f 6d 70 72 65 cted.by.RAM.errors.during.compre
44fe0 73 73 69 6f 6e 2e 20 40 63 20 6b 65 79 34 5f 6d 61 73 6b 0a 0a 40 69 74 65 6d 20 45 78 69 74 20 ssion..@c.key4_mask..@item.Exit.
45000 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 20 73 74 61 74 status..Returning.a.warning.stat
45020 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 20 63 6f 6d 70 us.of.2.is.a.design.flaw.of.comp
45040 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 65 73 69 67 6e ress.that.leaked.into.the.design
45060 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 70 20 61 72 .of.gzip..Both.bzip2.and.lzip.ar
45080 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 64 20 74 61 62 e.free.from.this.flaw...@end.tab
450a0 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 6c le...@node.Algorithm.@chapter.Al
450c0 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 70 gorithm.@cindex.algorithm..In.sp
450e0 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 6b ite.of.its.name.(Lempel-Ziv-Mark
45100 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 74 ov.chain-Algorithm),.LZMA.is.not
45120 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 72 .a.concrete.algorithm;.it.is.mor
45140 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 20 e.like."any.algorithm.using.the.
45160 4c 5a 4d 41 20 63 6f 64 69 6e 67 0a 73 63 68 65 6d 65 22 2e 20 4c 5a 4d 41 20 63 6f 6d 70 72 65 LZMA.coding.scheme"..LZMA.compre
45180 73 73 69 6f 6e 20 63 6f 6e 73 69 73 74 73 20 69 6e 20 64 65 73 63 72 69 62 69 6e 67 20 74 68 65 ssion.consists.in.describing.the
451a0 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 20 61 73 20 61 0a 73 75 63 63 65 73 73 69 .uncompressed.data.as.a.successi
451c0 6f 6e 20 6f 66 20 63 6f 64 69 6e 67 20 73 65 71 75 65 6e 63 65 73 20 66 72 6f 6d 20 74 68 65 20 on.of.coding.sequences.from.the.
451e0 73 65 74 20 73 68 6f 77 6e 20 69 6e 20 53 65 63 74 69 6f 6e 20 40 73 61 6d 70 7b 57 68 61 74 20 set.shown.in.Section.@samp{What.
45200 69 73 0a 63 6f 64 65 64 7d 20 28 40 70 78 72 65 66 7b 77 68 61 74 2d 69 73 2d 63 6f 64 65 64 7d is.coded}.(@pxref{what-is-coded}
45220 29 2c 20 61 6e 64 20 74 68 65 6e 20 65 6e 63 6f 64 69 6e 67 20 74 68 65 6d 20 75 73 69 6e 67 20 ),.and.then.encoding.them.using.
45240 61 20 72 61 6e 67 65 0a 65 6e 63 6f 64 65 72 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 a.range.encoder..For.example,.th
45260 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 75 73 65 73 20 e.option.@samp{-0}.of.lzip.uses.
45280 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
452a0 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
452c0 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
452e0 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
45300 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
45320 61 74 65 64 20 77 61 79 0a 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
45340 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
45360 65 20 63 75 72 72 65 6e 74 6c 79 20 75 73 65 64 20 62 79 0a 6c 7a 69 70 20 63 6f 75 6c 64 20 62 e.currently.used.by.lzip.could.b
45380 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
453a0 65 71 75 65 6e 63 65 20 63 6f 75 6c 64 20 61 6c 73 6f 20 62 65 20 63 6f 64 65 64 0a 75 73 69 6e equence.could.also.be.coded.usin
453c0 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.
453e0 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
45400 73 20 6f 66 20 74 68 65 20 4c 5a 4d 41 20 61 6c 67 6f 72 69 74 68 6d 3a 20 66 61 73 74 0a 28 75 s.of.the.LZMA.algorithm:.fast.(u
45420 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 64 20 6e 6f 72 sed.by.option.@samp{-0}).and.nor
45440 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 72 65 73 73 69 mal.(used.by.all.other.compressi
45460 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 65 73 73 69 6f on.levels)...The.high.compressio
45480 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 69 6e 67 20 74 n.of.LZMA.comes.from.combining.t
454a0 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 65 73 73 69 6f wo.basic,.well-proven.compressio
454c0 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 65 73 20 28 4c n.ideas:.sliding.dictionaries.(L
454e0 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 74 68 65 0a 74 Z77/78).and.markov.models.(the.t
45500 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 69 6f 6e 20 61 hing.used.by.every.compression.a
45520 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 65 6e 63 6f 64 lgorithm.that.uses.a.range.encod
45540 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 70 79 20 63 6f er.or.similar.order-0.entropy.co
45560 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 20 73 65 67 72 der.as.its.last.stage).with.segr
45580 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 6e 67 20 74 6f egation.of.contexts.according.to
455a0 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 2e 0a 0a 4c 7a .what.the.bits.are.used.for...Lz
455c0 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
455e0 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 20 63 6f e.first.stage.is.a.Lempel-Ziv.co
45600 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 63 79 20 62 79 der,.which.reduces.redundancy.by
45620 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
45640 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
45660 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.
45680 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
456a0 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
456c0 79 70 65 20 6f 66 20 64 61 74 61 3a 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,
456e0 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 69 73 20 68 6f .literal.bytes,.etc...Here.is.ho
45700 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 31 29 20 54 68 w.it.works,.step.by.step:..1).Th
45720 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 74 6f 20 74 68 e.member.header.is.written.to.th
45740 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 72 73 74 20 62 e.output.stream...2).The.first.b
45760 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 61 75 73 65 20 yte.is.coded.literally,.because.
45780 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 20 74 6f 20 77 there.are.no.previous.bytes.to.w
457a0 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 65 66 65 72 20 hich.the.match.finder.can.refer.
457c0 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 76 61 6e 63 65 to...3).The.main.encoder.advance
457e0 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 6e 70 75 74 20 s.to.the.next.byte.in.the.input.
45800 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 6e 64 65 72 2e data.and.calls.the.match.finder.
45820 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 20 61 6e 20 61 ..4).The.match.finder.fills.an.a
45840 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 6e 63 65 73 20 rray.with.the.minimum.distances.
45860 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 72 65 20 61 20 before.the.current.byte.where.a.
45880 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 20 62 65 20 66 match.of.a.given.length.can.be.f
458a0 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 20 75 6e 74 69 ound...5).Go.back.to.step.3.unti
458c0 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 72 73 2c 20 72 l.a.sequence.(formed.of.pairs,.r
458e0 65 70 65 61 74 65 64 0a 64 69 73 74 61 6e 63 65 73 2c 20 61 6e 64 20 6c 69 74 65 72 61 6c 20 62 epeated.distances,.and.literal.b
45900 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 65 65 6e 20 ytes).of.minimum.price.has.been.
45920 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 65 73 65 6e formed..Where.the.price.represen
45940 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 20 70 72 6f ts.the.number.of.output.bits.pro
45960 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 20 65 6e 63 duced...6).The.range.encoder.enc
45980 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 79 20 74 68 odes.the.sequence.produced.by.th
459a0 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 20 62 79 74 e.main.encoder.and.sends.the.byt
459c0 65 73 20 70 72 6f 64 75 63 65 64 20 74 6f 20 74 68 65 20 6f 75 74 70 75 74 20 73 74 72 65 61 6d es.produced.to.the.output.stream
459e0 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 6c 20 74 68 ...7).Go.back.to.step.3.until.th
45a00 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 20 75 6e 74 e.input.data.are.finished.or.unt
45a20 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 20 6c 69 6d il.the.member.or.volume.size.lim
45a40 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 67 65 20 65 its.are.reached...8).The.range.e
45a60 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 65 6d 62 65 ncoder.is.flushed...9).The.membe
45a80 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 6f 75 74 70 r.trailer.is.written.to.the.outp
45aa0 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 20 6d 6f 72 ut.stream...10).If.there.are.mor
45ac0 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
45ae0 74 65 70 20 31 2e 0a 0a 40 73 70 20 31 0a 44 75 72 69 6e 67 20 63 6f 6d 70 72 65 73 73 69 6f 6e tep.1...@sp.1.During.compression
45b00 2c 20 6c 7a 69 70 20 72 65 61 64 73 20 64 61 74 61 20 69 6e 20 6c 61 72 67 65 20 62 6c 6f 63 6b ,.lzip.reads.data.in.large.block
45b20 73 20 28 6f 6e 65 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 61 74 0a 61 20 74 69 6d 65 s.(one.dictionary.size.at.a.time
45b40 29 2e 20 54 68 65 72 65 66 6f 72 65 20 69 74 20 6d 61 79 20 62 6c 6f 63 6b 20 66 6f 72 20 75 70 )..Therefore.it.may.block.for.up
45b60 20 74 6f 20 74 65 6e 73 20 6f 66 20 73 65 63 6f 6e 64 73 20 61 6e 79 20 70 72 6f 63 65 73 73 0a .to.tens.of.seconds.any.process.
45b80 66 65 65 64 69 6e 67 20 64 61 74 61 20 74 6f 20 69 74 20 74 68 72 6f 75 67 68 20 61 20 70 69 70 feeding.data.to.it.through.a.pip
45ba0 65 2e 20 54 68 69 73 20 69 73 20 6e 6f 72 6d 61 6c 2e 20 54 68 65 20 62 6c 6f 63 6b 69 6e 67 20 e..This.is.normal..The.blocking.
45bc0 69 6e 74 65 72 76 61 6c 73 0a 67 65 74 20 6c 6f 6e 67 65 72 20 77 69 74 68 20 68 69 67 68 65 72 intervals.get.longer.with.higher
45be0 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6c 65 76 65 6c 73 20 62 65 63 61 75 73 65 20 64 69 63 74 .compression.levels.because.dict
45c00 69 6f 6e 61 72 79 20 73 69 7a 65 20 69 6e 63 72 65 61 73 65 73 0a 28 61 6e 64 20 63 6f 6d 70 72 ionary.size.increases.(and.compr
45c20 65 73 73 69 6f 6e 20 73 70 65 65 64 20 64 65 63 72 65 61 73 65 73 29 20 77 69 74 68 20 63 6f 6d ession.speed.decreases).with.com
45c40 70 72 65 73 73 69 6f 6e 20 6c 65 76 65 6c 2e 0a 0a 40 6e 6f 69 6e 64 65 6e 74 0a 54 68 65 20 69 pression.level...@noindent.The.i
45c60 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 6f deas.embodied.in.lzip.are.due.to
45c80 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 65 .(at.least).the.following.people
45ca0 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 28 :.Abraham.Lempel.and.Jacob.Ziv.(
45cc0 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 61 for.the.LZ.algorithm),.Andrey.Ma
45ce0 72 6b 6f 76 20 28 66 6f 72 20 74 68 65 0a 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 4d 61 72 6b rkov.(for.the.definition.of.Mark
45d00 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 74 ov.chains),.G.N.N..Martin.(for.t
45d20 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 72 61 6e 67 65 0a 65 6e 63 6f 64 69 6e 67 29 he.definition.of.range.encoding)
45d40 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 74 ,.Igor.Pavlov.(for.putting.all.t
45d60 68 65 20 61 62 6f 76 65 20 74 6f 67 65 74 68 65 72 20 69 6e 20 4c 5a 4d 41 29 2c 20 61 6e 64 0a he.above.together.in.LZMA),.and.
45d80 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 2e Julian.Seward.(for.bzip2's.CLI).
45da0 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 70 74 65 72 20 46 69 ...@node.File.format.@chapter.Fi
45dc0 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 72 6d 61 74 0a 0a 50 le.format.@cindex.file.format..P
45de0 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 20 77 68 65 6e 20 74 erfection.is.reached,.not.when.t
45e00 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 67 20 74 6f 20 61 64 here.is.no.longer.anything.to.ad
45e20 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 6f 6e 67 65 72 20 61 d,.but.when.there.is.no.longer.a
45e40 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 2d 2d 20 41 6e 74 6f nything.to.take.away.@*.---.Anto
45e60 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 20 31 0a 49 6e 20 74 ine.de.Saint-Exupery..@sp.1.In.t
45e80 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 69 6b 65 20 74 68 69 he.diagram.below,.a.box.like.thi
45ea0 73 3a 0a 0a 40 76 65 72 62 61 74 69 6d 0a 2b 2d 2d 2d 2b 0a 7c 20 20 20 7c 20 3c 2d 2d 20 74 68 s:..@verbatim.+---+.|...|.<--.th
45ec0 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 69 73 73 69 6e 67 e.vertical.bars.might.be.missing
45ee0 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 65 73 65 6e 74 73 .+---+.@end.verbatim..represents
45f00 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 0a 40 76 65 .one.byte;.a.box.like.this:..@ve
45f20 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 20 20 20 20 20 rbatim.+==============+.|.......
45f40 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 65 6e 64 20 76 .......|.+==============+.@end.v
45f60 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 62 6c 65 20 6e erbatim..represents.a.variable.n
45f80 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 69 70 20 66 69 umber.of.bytes...@sp.1.A.lzip.fi
45fa0 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 69 6e 64 65 70 le.consists.of.a.series.of.indep
45fc0 65 6e 64 65 6e 74 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 endent."members".(compressed.dat
45fe0 61 0a 73 65 74 73 29 2e 20 54 68 65 20 6d 65 6d 62 65 72 73 20 73 69 6d 70 6c 79 20 61 70 70 65 a.sets)..The.members.simply.appe
46000 61 72 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 ar.one.after.another.in.the.file
46020 2c 20 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 ,.with.no.additional.information
46040 20 62 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 .before,.between,.or.after.them.
46060 20 45 61 63 68 20 6d 65 6d 62 65 72 20 63 61 6e 0a 65 6e 63 6f 64 65 20 69 6e 20 63 6f 6d 70 72 .Each.member.can.encode.in.compr
46080 65 73 73 65 64 20 66 6f 72 6d 20 75 70 20 74 6f 20 40 77 7b 31 36 20 45 69 42 20 2d 20 31 20 62 essed.form.up.to.@w{16.EiB.-.1.b
460a0 79 74 65 7d 20 6f 66 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 2e 0a 54 68 65 20 73 yte}.of.uncompressed.data..The.s
460c0 69 7a 65 20 6f 66 20 61 20 6d 75 6c 74 69 6d 65 6d 62 65 72 20 66 69 6c 65 20 69 73 20 75 6e 6c ize.of.a.multimember.file.is.unl
460e0 69 6d 69 74 65 64 2e 0a 0a 45 61 63 68 20 6d 65 6d 62 65 72 20 68 61 73 20 74 68 65 20 66 6f 6c imited...Each.member.has.the.fol
46100 6c 6f 77 69 6e 67 20 73 74 72 75 63 74 75 72 65 3a 0a 0a 40 76 65 72 62 61 74 69 6d 0a 2b 2d 2d lowing.structure:..@verbatim.+--
46120 2b 2d 2d 2b 2d 2d 2b 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d +--+--+--+----+----+============
46140 3d 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 2d 2b 2d 2b =+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
46160 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 0a 7c 20 49 44 20 73 74 72 69 6e 67 20 7c 20 56 4e 20 7c 20 44 53 -+-+-+-+-+.|.ID.string.|.VN.|.DS
46180 20 7c 20 4c 5a 4d 41 20 73 74 72 65 61 6d 20 7c 20 43 52 43 33 32 20 7c 20 20 20 44 61 74 61 20 .|.LZMA.stream.|.CRC32.|...Data.
461a0 73 69 7a 65 20 20 20 7c 20 20 4d 65 6d 62 65 72 20 73 69 7a 65 20 20 7c 0a 2b 2d 2d 2b 2d 2d 2b size...|..Member.size..|.+--+--+
461c0 2d 2d 2b 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 2b 2d 2b --+--+----+----+=============+-+
461e0 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 2d 2b 2d 2b 2d 2b -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
46200 2d 2b 2d 2b 2d 2b 0a 40 65 6e 64 20 76 65 72 62 61 74 69 6d 0a 0a 41 6c 6c 20 6d 75 6c 74 69 62 -+-+-+.@end.verbatim..All.multib
46220 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 74 6c 65 20 yte.values.are.stored.in.little.
46240 65 6e 64 69 61 6e 20 6f 72 64 65 72 2e 0a 0a 40 74 61 62 6c 65 20 40 73 61 6d 70 0a 40 69 74 65 endian.order...@table.@samp.@ite
46260 6d 20 49 44 20 73 74 72 69 6e 67 20 28 74 68 65 20 22 6d 61 67 69 63 22 20 62 79 74 65 73 29 0a m.ID.string.(the."magic".bytes).
46280 41 20 66 6f 75 72 20 62 79 74 65 20 73 74 72 69 6e 67 2c 20 69 64 65 6e 74 69 66 79 69 6e 67 20 A.four.byte.string,.identifying.
462a0 74 68 65 20 6c 7a 69 70 20 66 6f 72 6d 61 74 2c 20 77 69 74 68 20 74 68 65 20 76 61 6c 75 65 20 the.lzip.format,.with.the.value.
462c0 22 4c 5a 49 50 22 0a 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 "LZIP".(0x4C,.0x5A,.0x49,.0x50).
462e0 0a 0a 40 69 74 65 6d 20 56 4e 20 28 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 2c 20 31 20 62 79 ..@item.VN.(version.number,.1.by
46300 74 65 29 0a 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 te).Just.in.case.something.needs
46320 20 74 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 .to.be.modified.in.the.future..1
46340 20 66 6f 72 20 6e 6f 77 2e 0a 0a 40 61 6e 63 68 6f 72 7b 63 6f 64 65 64 2d 64 69 63 74 2d 73 69 .for.now...@anchor{coded-dict-si
46360 7a 65 7d 0a 40 69 74 65 6d 20 44 53 20 28 63 6f 64 65 64 20 64 69 63 74 69 6f 6e 61 72 79 20 73 ze}.@item.DS.(coded.dictionary.s
46380 69 7a 65 2c 20 31 20 62 79 74 65 29 0a 54 68 65 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 ize,.1.byte).The.dictionary.size
463a0 20 69 73 20 63 61 6c 63 75 6c 61 74 65 64 20 62 79 20 74 61 6b 69 6e 67 20 61 20 70 6f 77 65 72 .is.calculated.by.taking.a.power
463c0 20 6f 66 20 32 20 28 74 68 65 20 62 61 73 65 20 73 69 7a 65 29 0a 61 6e 64 20 73 75 62 74 72 61 .of.2.(the.base.size).and.subtra
463e0 63 74 69 6e 67 20 66 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 cting.from.it.a.fraction.between
46400 20 30 2f 31 36 20 61 6e 64 20 37 2f 31 36 20 6f 66 20 74 68 65 20 62 61 73 65 20 73 69 7a 65 2e .0/16.and.7/16.of.the.base.size.
46420 40 2a 0a 42 69 74 73 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 @*.Bits.4-0.contain.the.base.2.l
46440 6f 67 61 72 69 74 68 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 ogarithm.of.the.base.size.(12.to
46460 20 32 39 29 2e 40 2a 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 .29).@*.Bits.7-5.contain.the.num
46480 65 72 61 74 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 erator.of.the.fraction.(0.to.7).
464a0 74 6f 20 73 75 62 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 to.subtract.from.the.base.size.t
464c0 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 40 2a 0a o.obtain.the.dictionary.size.@*.
464e0 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 32 5e 31 35 20 Example:.0xD3.=.2^19.-.6.*.2^15.
46500 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 30 20 4b 69 42 =.512.KiB.-.6.*.32.KiB.=.320.KiB
46520 40 2a 0a 56 61 6c 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 @*.Valid.values.for.dictionary.s
46540 69 7a 65 20 72 61 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 ize.range.from.4.KiB.to.512.MiB.
46560 0a 0a 40 69 74 65 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 ..@item.LZMA.stream.The.LZMA.str
46580 65 61 6d 2c 20 66 69 6e 69 73 68 65 64 20 62 79 20 61 6e 20 22 45 6e 64 20 4f 66 20 53 74 72 65 eam,.finished.by.an."End.Of.Stre
465a0 61 6d 22 20 6d 61 72 6b 65 72 2e 20 55 73 65 73 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 73 0a am".marker..Uses.default.values.
465c0 66 6f 72 20 65 6e 63 6f 64 65 72 20 70 72 6f 70 65 72 74 69 65 73 2e 20 40 78 72 65 66 7b 53 74 for.encoder.properties..@xref{St
465e0 72 65 61 6d 20 66 6f 72 6d 61 74 7d 2c 20 66 6f 72 20 61 20 63 6f 6d 70 6c 65 74 65 20 64 65 73 ream.format},.for.a.complete.des
46600 63 72 69 70 74 69 6f 6e 2e 0a 0a 40 69 74 65 6d 20 43 52 43 33 32 20 28 34 20 62 79 74 65 73 29 cription...@item.CRC32.(4.bytes)
46620 0a 43 79 63 6c 69 63 20 52 65 64 75 6e 64 61 6e 63 79 20 43 68 65 63 6b 20 28 43 52 43 29 20 6f .Cyclic.Redundancy.Check.(CRC).o
46640 66 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 f.the.original.uncompressed.data
46660 2e 0a 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 ...@item.Data.size.(8.bytes).Siz
46680 65 20 6f 66 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 64 e.of.the.original.uncompressed.d
466a0 61 74 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 ata...@item.Member.size.(8.bytes
466c0 29 0a 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 ).Total.size.of.the.member,.incl
466e0 75 64 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 uding.header.and.trailer..This.f
46700 69 65 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 ield.acts.as.a.distributed.index
46720 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
46740 65 61 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 74 eam.integrity,.and.facilitates.t
46760 68 65 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 65 he.safe.recovery.of.undamaged.me
46780 6d 62 65 72 73 20 66 72 6f 6d 20 6d 75 6c 74 69 6d 65 6d 62 65 72 20 66 69 6c 65 73 2e 0a 4d 65 mbers.from.multimember.files..Me
467a0 6d 62 65 72 20 73 69 7a 65 20 73 68 6f 75 6c 64 20 62 65 20 6c 69 6d 69 74 65 64 20 74 6f 20 40 mber.size.should.be.limited.to.@
467c0 77 7b 32 20 50 69 42 7d 20 74 6f 20 70 72 65 76 65 6e 74 20 74 68 65 20 64 61 74 61 20 73 69 7a w{2.PiB}.to.prevent.the.data.siz
467e0 65 20 66 69 65 6c 64 0a 66 72 6f 6d 20 6f 76 65 72 66 6c 6f 77 69 6e 67 2e 0a 0a 40 65 6e 64 20 e.field.from.overflowing...@end.
46800 74 61 62 6c 65 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 table...@node.Stream.format.@cha
46820 70 74 65 72 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 pter.Format.of.the.LZMA.stream.i
46840 6e 20 6c 7a 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 n.lzip.files.@cindex.format.of.t
46860 68 65 20 4c 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 he.LZMA.stream..The.LZMA.algorit
46880 68 6d 20 68 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 hm.has.three.parameters,.called.
468a0 22 73 70 65 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 "special.LZMA.properties",.to.ad
468c0 6a 75 73 74 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 just.it.for.some.kinds.of.binary
468e0 20 64 61 74 61 2e 20 54 68 65 73 65 0a 70 61 72 61 6d 65 74 65 72 73 20 61 72 65 3a 20 40 73 61 .data..These.parameters.are:.@sa
46900 6d 70 7b 6c 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 mp{literal_context_bits}.(with.a
46920 20 64 65 66 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 .default.value.of.3),.@samp{lite
46940 72 61 6c 5f 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 ral_pos_state_bits}.(with.a.defa
46960 75 6c 74 20 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 ult.value.of.0),.and.@samp{pos_s
46980 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 76 61 6c 75 65 tate_bits}.(with.a.default.value
469a0 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 6d .of.2)..As.a.general.purpose.com
469c0 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 61 pressor,.lzip.only.uses.the.defa
469e0 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 2e ult.values.for.these.parameters.
46a00 20 49 6e 0a 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 .In.particular.@samp{literal_pos
46a20 5f 73 74 61 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 _state_bits}.has.been.optimized.
46a40 61 77 61 79 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 away.and.does.not.even.appear.in
46a60 20 74 68 65 20 63 6f 64 65 2e 0a 0a 4c 7a 69 70 20 66 69 6e 69 73 68 65 73 20 74 68 65 20 4c 5a .the.code...Lzip.finishes.the.LZ
46a80 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 6d MA.stream.with.an."End.Of.Stream
46aa0 22 20 28 45 4f 53 29 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 ".(EOS).marker.(the.distance-len
46ac0 67 74 68 20 70 61 69 72 20 40 77 7b 30 78 46 46 46 46 46 46 46 46 55 2c 20 32 7d 29 2c 20 77 68 gth.pair.@w{0xFFFFFFFFU,.2}),.wh
46ae0 69 63 68 20 69 6e 20 63 6f 6e 6a 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65 0a 40 73 61 6d ich.in.conjunction.with.the.@sam
46b00 70 7b 6d 65 6d 62 65 72 20 73 69 7a 65 7d 20 66 69 65 6c 64 20 69 6e 20 74 68 65 20 6d 65 6d 62 p{member.size}.field.in.the.memb
46b20 65 72 20 74 72 61 69 6c 65 72 20 61 6c 6c 6f 77 73 20 74 68 65 20 76 65 72 69 66 69 63 61 74 69 er.trailer.allows.the.verificati
46b40 6f 6e 20 6f 66 0a 73 74 72 65 61 6d 20 69 6e 74 65 67 72 69 74 79 2e 20 54 68 65 20 45 4f 53 20 on.of.stream.integrity..The.EOS.
46b60 6d 61 72 6b 65 72 20 69 73 20 74 68 65 20 6f 6e 6c 79 20 6d 61 72 6b 65 72 20 61 6c 6c 6f 77 65 marker.is.the.only.marker.allowe
46b80 64 20 69 6e 20 6c 7a 69 70 20 66 69 6c 65 73 2e 0a 54 68 65 20 4c 5a 4d 41 20 73 74 72 65 61 6d d.in.lzip.files..The.LZMA.stream
46ba0 20 69 6e 20 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 .in.lzip.files.always.has.these.
46bc0 74 77 6f 20 66 65 61 74 75 72 65 73 20 28 64 65 66 61 75 6c 74 0a 70 72 6f 70 65 72 74 69 65 73 two.features.(default.properties
46be0 20 61 6e 64 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 .and.EOS.marker).and.is.referred
46c00 20 74 6f 20 69 6e 20 74 68 69 73 20 64 6f 63 75 6d 65 6e 74 20 61 73 0a 4c 5a 4d 41 2d 33 30 32 .to.in.this.document.as.LZMA-302
46c20 65 6f 73 2e 20 54 68 69 73 20 73 69 6d 70 6c 69 66 69 65 64 20 66 6f 72 6d 20 6f 66 20 74 68 65 eos..This.simplified.form.of.the
46c40 20 4c 5a 4d 41 20 73 74 72 65 61 6d 20 66 6f 72 6d 61 74 20 68 61 73 20 62 65 65 6e 20 63 68 6f .LZMA.stream.format.has.been.cho
46c60 73 65 6e 0a 74 6f 20 6d 61 78 69 6d 69 7a 65 20 69 6e 74 65 72 6f 70 65 72 61 62 69 6c 69 74 79 sen.to.maximize.interoperability
46c80 20 61 6e 64 20 73 61 66 65 74 79 2e 0a 0a 54 68 65 20 73 65 63 6f 6e 64 20 73 74 61 67 65 20 6f .and.safety...The.second.stage.o
46ca0 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 61 74 20 75 f.LZMA.is.a.range.encoder.that.u
46cc0 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 6d 6f 64 65 ses.a.different.probability.mode
46ce0 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 3a 20 64 69 73 74 61 l.for.each.type.of.symbol:.dista
46d00 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 2c 20 65 74 nces,.lengths,.literal.bytes,.et
46d20 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 6c 79 20 65 c..Range.encoding.conceptually.e
46d40 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 65 0a 6d 65 ncodes.all.the.symbols.of.the.me
46d60 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 65 20 48 75 ssage.into.one.number..Unlike.Hu
46d80 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 74 6f 20 65 ffman.coding,.which.assigns.to.e
46da0 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 20 63 6f 6e ach.symbol.a.bit-pattern.and.con
46dc0 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 6e 73 20 74 catenates.all.the.bit-patterns.t
46de0 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 63 6f 6d 70 ogether,.range.encoding.can.comp
46e00 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 20 6f 6e 65 ress.one.symbol.to.less.than.one
46e20 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 65 64 20 64 .bit..Therefore.the.compressed.d
46e40 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 64 65 72 20 ata.produced.by.a.range.encoder.
46e60 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 74 20 63 6f can't.be.split.in.pieces.that.co
46e80 75 6c 64 20 62 65 20 64 65 73 63 72 69 62 65 64 20 69 6e 64 69 76 69 64 75 61 6c 6c 79 2e 0a 0a uld.be.described.individually...
46ea0 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 79 20 6f 66 20 64 65 It.seems.that.the.only.way.of.de
46ec0 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 73 74 72 65 61 6d 20 scribing.the.LZMA-302eos.stream.
46ee0 69 73 20 74 6f 0a 64 65 73 63 72 69 62 65 20 74 68 65 20 61 6c 67 6f 72 69 74 68 6d 20 74 68 61 is.to.describe.the.algorithm.tha
46f00 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 65 20 6d 61 6e 79 t.decodes.it..And.given.the.many
46f20 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 65 63 6f 64 65 72 .details.about.the.range.decoder
46f40 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 20 61 63 63 75 72 .that.need.to.be.described.accur
46f60 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 61 20 72 65 61 6c ately,.the.source.code.of.a.real
46f80 20 64 65 63 6f 6d 70 72 65 73 73 6f 72 20 73 65 65 6d 73 20 74 68 65 20 6f 6e 6c 79 20 61 70 70 .decompressor.seems.the.only.app
46fa0 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 57 68 61 74 ropriate.reference.to.use...What
46fc0 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 20 74 68 65 .follows.is.a.description.of.the
46fe0 20 64 65 63 6f 64 69 6e 67 20 61 6c 67 6f 72 69 74 68 6d 20 66 6f 72 20 4c 5a 4d 41 2d 33 30 32 .decoding.algorithm.for.LZMA-302
47000 65 6f 73 0a 73 74 72 65 61 6d 73 20 75 73 69 6e 67 20 61 73 20 72 65 66 65 72 65 6e 63 65 20 74 eos.streams.using.as.reference.t
47020 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 20 65 64 75 63 he.source.code.of."lzd",.an.educ
47040 61 74 69 6f 6e 61 6c 0a 64 65 63 6f 6d 70 72 65 73 73 6f 72 20 66 6f 72 20 6c 7a 69 70 20 66 69 ational.decompressor.for.lzip.fi
47060 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 66 72 6f 6d les.which.can.be.downloaded.from
47080 20 74 68 65 20 6c 7a 69 70 20 64 6f 77 6e 6c 6f 61 64 0a 64 69 72 65 63 74 6f 72 79 2e 20 4c 7a .the.lzip.download.directory..Lz
470a0 64 20 69 73 20 77 72 69 74 74 65 6e 20 69 6e 20 43 2b 2b 31 31 20 61 6e 64 20 69 74 73 20 73 6f d.is.written.in.C++11.and.its.so
470c0 75 72 63 65 20 63 6f 64 65 20 69 73 20 69 6e 63 6c 75 64 65 64 20 69 6e 0a 61 70 70 65 6e 64 69 urce.code.is.included.in.appendi
470e0 78 20 41 2e 20 40 78 72 65 66 7b 52 65 66 65 72 65 6e 63 65 20 73 6f 75 72 63 65 20 63 6f 64 65 x.A..@xref{Reference.source.code
47100 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 64 65 64 }...@sp.1.@section.What.is.coded
47120 0a 0a 40 61 6e 63 68 6f 72 7b 77 68 61 74 2d 69 73 2d 63 6f 64 65 64 7d 0a 54 68 65 20 4c 5a 4d ..@anchor{what-is-coded}.The.LZM
47140 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 74 63 A.stream.includes.literals,.matc
47160 68 65 73 2c 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 68 hes,.and.repeated.matches.(match
47180 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 61 es.reusing.a.recently.used.dista
471a0 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 69 nce)..There.are.7.different.codi
471c0 6e 67 20 73 65 71 75 65 6e 63 65 73 3a 0a 0a 40 6d 75 6c 74 69 74 61 62 6c 65 20 40 63 6f 6c 75 ng.sequences:..@multitable.@colu
471e0 6d 6e 66 72 61 63 74 69 6f 6e 73 20 2e 33 35 20 2e 31 34 20 2e 35 31 0a 40 68 65 61 64 69 74 65 mnfractions..35..14..51.@headite
47200 6d 20 42 69 74 20 73 65 71 75 65 6e 63 65 20 40 74 61 62 20 4e 61 6d 65 20 40 74 61 62 20 44 65 m.Bit.sequence.@tab.Name.@tab.De
47220 73 63 72 69 70 74 69 6f 6e 0a 40 69 74 65 6d 20 30 20 2b 20 62 79 74 65 20 40 74 61 62 20 6c 69 scription.@item.0.+.byte.@tab.li
47240 74 65 72 61 6c 20 40 74 61 62 20 6c 69 74 65 72 61 6c 20 62 79 74 65 0a 40 69 74 65 6d 20 31 20 teral.@tab.literal.byte.@item.1.
47260 2b 20 30 20 2b 20 6c 65 6e 20 2b 20 64 69 73 20 40 74 61 62 20 6d 61 74 63 68 20 40 74 61 62 20 +.0.+.len.+.dis.@tab.match.@tab.
47280 64 69 73 74 61 6e 63 65 2d 6c 65 6e 67 74 68 20 70 61 69 72 0a 40 69 74 65 6d 20 31 20 2b 20 31 distance-length.pair.@item.1.+.1
472a0 20 2b 20 30 20 2b 20 30 20 40 74 61 62 20 73 68 6f 72 74 72 65 70 20 40 74 61 62 20 31 20 62 79 .+.0.+.0.@tab.shortrep.@tab.1.by
472c0 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 6e 63 65 te.match.at.latest.used.distance
472e0 0a 40 69 74 65 6d 20 31 20 2b 20 31 20 2b 20 30 20 2b 20 31 20 2b 20 6c 65 6e 20 40 74 61 62 20 .@item.1.+.1.+.0.+.1.+.len.@tab.
47300 72 65 70 30 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 6c 61 74 rep0.@tab.len.bytes.match.at.lat
47320 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 20 2b 20 est.used.distance.@item.1.+.1.+.
47340 31 20 2b 20 30 20 2b 20 6c 65 6e 20 40 74 61 62 20 72 65 70 31 20 40 74 61 62 20 6c 65 6e 20 62 1.+.0.+.len.@tab.rep1.@tab.len.b
47360 79 74 65 73 20 6d 61 74 63 68 20 61 74 20 73 65 63 6f 6e 64 0a 6c 61 74 65 73 74 20 75 73 65 64 ytes.match.at.second.latest.used
47380 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 2b 20 31 20 2b 20 .distance.@item.1.+.1.+.1.+.1.+.
473a0 30 20 2b 20 6c 65 6e 20 40 74 61 62 20 72 65 70 32 20 40 74 61 62 20 6c 65 6e 20 62 79 74 65 73 0.+.len.@tab.rep2.@tab.len.bytes
473c0 20 6d 61 74 63 68 20 61 74 20 74 68 69 72 64 0a 6c 61 74 65 73 74 20 75 73 65 64 20 64 69 73 74 .match.at.third.latest.used.dist
473e0 61 6e 63 65 0a 40 69 74 65 6d 20 31 20 2b 20 31 20 2b 20 31 20 2b 20 31 20 2b 20 31 20 2b 20 6c ance.@item.1.+.1.+.1.+.1.+.1.+.l
47400 65 6e 20 40 74 61 62 20 72 65 70 33 20 40 74 61 62 20 6c 65 6e 20 62 79 74 65 73 20 6d 61 74 63 en.@tab.rep3.@tab.len.bytes.matc
47420 68 20 61 74 20 66 6f 75 72 74 68 0a 6c 61 74 65 73 74 20 75 73 65 64 20 64 69 73 74 61 6e 63 65 h.at.fourth.latest.used.distance
47440 0a 40 65 6e 64 20 6d 75 6c 74 69 74 61 62 6c 65 0a 0a 40 73 70 20 31 0a 49 6e 20 74 68 65 20 66 .@end.multitable..@sp.1.In.the.f
47460 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 73 2c 20 6d 75 6c 74 69 62 69 74 20 73 65 71 75 65 6e ollowing.tables,.multibit.sequen
47480 63 65 73 20 61 72 65 20 63 6f 64 65 64 20 69 6e 20 6e 6f 72 6d 61 6c 20 6f 72 64 65 72 2c 0a 66 ces.are.coded.in.normal.order,.f
474a0 72 6f 6d 20 6d 6f 73 74 20 73 69 67 6e 69 66 69 63 61 6e 74 20 62 69 74 20 28 4d 53 42 29 20 74 rom.most.significant.bit.(MSB).t
474c0 6f 20 6c 65 61 73 74 20 73 69 67 6e 69 66 69 63 61 6e 74 20 62 69 74 20 28 4c 53 42 29 2c 20 65 o.least.significant.bit.(LSB),.e
474e0 78 63 65 70 74 0a 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 xcept.where.noted.otherwise...Le
47500 6e 67 74 68 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 ngths.(the.@samp{len}.in.the.tab
47520 6c 65 20 61 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 le.above).are.coded.as.follows:.
47540 0a 40 6d 75 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 .@multitable.@columnfractions..5
47560 20 2e 35 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 ..5.@headitem.Bit.sequence.@tab.
47580 44 65 73 63 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 Description.@item.0.+.3.bits.@ta
475a0 62 20 6c 65 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 b.lengths.from.2.to.9.@item.1.+.
475c0 30 20 2b 20 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 0.+.3.bits.@tab.lengths.from.10.
475e0 74 6f 20 31 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 to.17.@item.1.+.1.+.8.bits.@tab.
47600 6c 65 6e 67 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 lengths.from.18.to.273.@end.mult
47620 69 74 61 62 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 itable..@sp.1.The.coding.of.dist
47640 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 74 ances.is.a.little.more.complicat
47660 65 64 2c 20 73 6f 20 49 27 6c 6c 20 62 65 67 69 6e 20 62 79 0a 65 78 70 6c 61 69 6e 69 6e 67 20 ed,.so.I'll.begin.by.explaining.
47680 61 20 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 a.simpler.version.of.the.encodin
476a0 67 2e 0a 0a 49 6d 61 67 69 6e 65 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 65 6e 63 6f 64 65 20 61 g...Imagine.you.need.to.encode.a
476c0 20 6e 75 6d 62 65 72 20 66 72 6f 6d 20 30 20 74 6f 20 40 77 7b 32 5e 33 32 20 2d 20 31 7d 2c 20 .number.from.0.to.@w{2^32.-.1},.
476e0 61 6e 64 20 79 6f 75 20 77 61 6e 74 20 74 6f 0a 64 6f 20 69 74 20 69 6e 20 61 20 77 61 79 20 74 and.you.want.to.do.it.in.a.way.t
47700 68 61 74 20 70 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 hat.produces.shorter.codes.for.t
47720 68 65 20 73 6d 61 6c 6c 65 72 20 6e 75 6d 62 65 72 73 2e 20 59 6f 75 20 6d 61 79 0a 66 69 72 73 he.smaller.numbers..You.may.firs
47740 74 20 65 6e 63 6f 64 65 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 6d 6f 73 t.encode.the.position.of.the.mos
47760 74 20 73 69 67 6e 69 66 69 63 61 6e 74 20 62 69 74 20 74 68 61 74 20 69 73 20 73 65 74 20 74 6f t.significant.bit.that.is.set.to
47780 20 31 2c 0a 77 68 69 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 .1,.which.you.may.find.by.making
477a0 20 61 20 62 69 74 20 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 .a.bit.scan.from.the.left.(from.
477c0 74 68 65 20 4d 53 42 29 2e 20 41 0a 70 6f 73 69 74 69 6f 6e 20 6f 66 20 30 20 6d 65 61 6e 73 20 the.MSB)..A.position.of.0.means.
477e0 74 68 61 74 20 74 68 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 that.the.number.is.0.(no.bit.is.
47800 73 65 74 29 2c 20 31 20 6d 65 61 6e 73 20 74 68 65 20 4c 53 42 20 69 73 0a 74 68 65 20 66 69 72 set),.1.means.the.LSB.is.the.fir
47820 73 74 20 62 69 74 20 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 st.bit.set.(the.number.is.1),.an
47840 64 20 33 32 20 6d 65 61 6e 73 20 74 68 65 20 4d 53 42 20 69 73 20 73 65 74 20 28 69 2e 65 2e 2c d.32.means.the.MSB.is.set.(i.e.,
47860 20 74 68 65 0a 6e 75 6d 62 65 72 20 69 73 20 40 77 7b 3e 3d 20 30 78 38 30 30 30 30 30 30 30 7d .the.number.is.@w{>=.0x80000000}
47880 29 2e 20 54 68 65 6e 2c 20 69 66 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 69 73 20 40 77 7b 3e )..Then,.if.the.position.is.@w{>
478a0 3d 20 32 7d 2c 20 79 6f 75 20 65 6e 63 6f 64 65 0a 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 40 =.2},.you.encode.the.remaining.@
478c0 77 7b 70 6f 73 69 74 69 6f 6e 20 2d 20 31 7d 20 62 69 74 73 2e 20 4c 65 74 27 73 20 63 61 6c 6c w{position.-.1}.bits..Let's.call
478e0 20 74 68 65 73 65 20 62 69 74 73 20 22 64 69 72 65 63 74 20 62 69 74 73 22 0a 62 65 63 61 75 73 .these.bits."direct.bits".becaus
47900 65 20 74 68 65 79 20 61 72 65 20 63 6f 64 65 64 20 64 69 72 65 63 74 6c 79 20 62 79 20 76 61 6c e.they.are.coded.directly.by.val
47920 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 20 70 6f 73 69 ue.instead.of.indirectly.by.posi
47940 74 69 6f 6e 2e 0a 0a 54 68 65 20 69 6e 63 6f 6e 76 65 6e 69 65 6e 74 20 6f 66 20 74 68 69 73 20 tion...The.inconvenient.of.this.
47960 73 69 6d 70 6c 65 20 6d 65 74 68 6f 64 20 69 73 20 74 68 61 74 20 69 74 20 6e 65 65 64 73 20 36 simple.method.is.that.it.needs.6
47980 20 62 69 74 73 20 74 6f 20 65 6e 63 6f 64 65 20 74 68 65 0a 70 6f 73 69 74 69 6f 6e 2c 20 62 75 .bits.to.encode.the.position,.bu
479a0 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 73 73 t.it.just.uses.33.of.the.64.poss
479c0 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 73 74 20 68 61 6c 66 ible.values,.wasting.almost.half
479e0 0a 6f 66 20 74 68 65 20 63 6f 64 65 73 2e 0a 0a 54 68 65 20 69 6e 74 65 6c 6c 69 67 65 6e 74 20 .of.the.codes...The.intelligent.
47a00 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 63 6f 64 65 73 trick.of.LZMA.is.that.it.encodes
47a20 20 69 6e 20 77 68 61 74 20 69 74 20 63 61 6c 6c 73 20 61 20 22 73 6c 6f 74 22 0a 74 68 65 20 70 .in.what.it.calls.a."slot".the.p
47a40 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 6e 74 20 osition.of.the.most.significant.
47a60 62 69 74 20 73 65 74 2c 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 65 20 76 61 6c 75 65 20 6f 66 bit.set,.along.with.the.value.of
47a80 20 74 68 65 0a 6e 65 78 74 20 62 69 74 2c 20 75 73 69 6e 67 20 74 68 65 20 73 61 6d 65 20 36 20 .the.next.bit,.using.the.same.6.
47aa0 62 69 74 73 20 74 68 61 74 20 77 6f 75 6c 64 20 74 61 6b 65 20 74 6f 20 65 6e 63 6f 64 65 20 74 bits.that.would.take.to.encode.t
47ac0 68 65 20 70 6f 73 69 74 69 6f 6e 0a 61 6c 6f 6e 65 2e 20 54 68 69 73 20 73 65 65 6d 73 20 74 6f he.position.alone..This.seems.to
47ae0 20 6e 65 65 64 20 36 36 20 73 6c 6f 74 73 20 28 74 77 69 63 65 20 74 68 65 20 6e 75 6d 62 65 72 .need.66.slots.(twice.the.number
47b00 20 6f 66 20 70 6f 73 69 74 69 6f 6e 73 29 2c 20 62 75 74 20 66 6f 72 0a 70 6f 73 69 74 69 6f 6e .of.positions),.but.for.position
47b20 73 20 30 20 61 6e 64 20 31 20 74 68 65 72 65 20 69 73 20 6e 6f 20 6e 65 78 74 20 62 69 74 2c 20 s.0.and.1.there.is.no.next.bit,.
47b40 73 6f 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 73 6c 6f 74 73 20 6e 65 65 64 65 64 20 69 73 so.the.number.of.slots.needed.is
47b60 20 36 34 0a 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
47b80 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
47ba0 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
47bc0 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
47be0 74 73 20 61 72 65 20 65 6e 63 6f 64 65 64 20 61 73 20 66 6f 6c 6c 6f 77 73 2e 0a 40 73 61 6d 70 ts.are.encoded.as.follows..@samp
47c00 7b 64 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 {direct_bits}.is.the.amount.of.r
47c20 65 6d 61 69 6e 69 6e 67 20 62 69 74 73 20 28 66 72 6f 6d 20 31 20 74 6f 20 33 30 29 20 6e 65 65 emaining.bits.(from.1.to.30).nee
47c40 64 65 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 ded.to.form.a.complete.distance,
47c60 20 61 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 .and.is.calculated.as.@w{(slot.>
47c80 3e 20 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 >.1).-.1}..If.a.distance.needs.6
47ca0 20 6f 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 .or.more.direct_bits,.the.last.4
47cc0 20 62 69 74 73 20 61 72 65 20 65 6e 63 6f 64 65 64 0a 73 65 70 61 72 61 74 65 6c 79 2e 20 54 68 .bits.are.encoded.separately..Th
47ce0 65 20 6c 61 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 e.last.piece.(all.the.direct_bit
47d00 73 20 66 6f 72 20 64 69 73 74 61 6e 63 65 73 20 34 20 74 6f 20 31 32 37 2c 0a 6f 72 20 74 68 65 s.for.distances.4.to.127,.or.the
47d20 20 6c 61 73 74 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 .last.4.bits.for.distances.@w{>=
47d40 20 31 32 38 7d 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 .128}).is.context-coded.in.rever
47d60 73 65 0a 6f 72 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 se.order.(from.LSB.to.MSB)..For.
47d80 64 69 73 74 61 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 distances.@w{>=.128},.the.@w{@sa
47da0 6d 70 7b 64 69 72 65 63 74 5f 62 69 74 73 20 2d 20 34 7d 7d 20 70 61 72 74 20 69 73 20 65 6e 63 mp{direct_bits.-.4}}.part.is.enc
47dc0 6f 64 65 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 oded.with.fixed.0.5.probability.
47de0 0a 0a 40 6d 75 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 ..@multitable.@columnfractions..
47e00 35 20 2e 35 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 5..5.@headitem.Bit.sequence.@tab
47e20 20 44 65 73 63 72 69 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 .Description.@item.slot.@tab.dis
47e40 74 61 6e 63 65 73 20 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 tances.from.0.to.3.@item.slot.+.
47e60 64 69 72 65 63 74 5f 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 direct_bits.@tab.distances.from.
47e80 34 20 74 6f 20 31 32 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 4.to.127.@item.slot.+.(direct_bi
47ea0 74 73 20 2d 20 34 29 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 ts.-.4).+.4.bits.@tab.distances.
47ec0 66 72 6f 6d 20 31 32 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 from.128.to.2^32.-.1.@end.multit
47ee0 61 62 6c 65 0a 0a 40 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 able..@sp.1.@section.The.coding.
47f00 63 6f 6e 74 65 78 74 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 contexts..These.contexts.(@samp{
47f20 42 69 74 5f 6d 6f 64 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 Bit_model}.in.the.source),.are.i
47f40 6e 74 65 67 65 72 73 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 ntegers.or.arrays.of.integers.re
47f60 70 72 65 73 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 presenting.the.probability.of.th
47f80 65 20 63 6f 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 54 68 e.corresponding.bit.being.0...Th
47fa0 65 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 e.indices.used.in.these.arrays.a
47fc0 72 65 3a 0a 0a 40 74 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 re:..@table.@samp.@item.state.A.
47fe0 73 74 61 74 65 20 6d 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 state.machine.(@samp{State}.in.t
48000 68 65 20 73 6f 75 72 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 he.source).with.12.states.(0.to.
48020 31 31 29 2c 0a 63 6f 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 11),.coding.the.latest.2.to.4.ty
48040 70 65 73 20 6f 66 20 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 pes.of.sequences.processed..The.
48060 69 6e 69 74 69 61 6c 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 initial.state.is.0...@item.pos_s
48080 74 61 74 65 0a 56 61 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 tate.Value.of.the.2.least.signif
480a0 69 63 61 6e 74 20 62 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 icant.bits.of.the.current.positi
480c0 6f 6e 20 69 6e 20 74 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 on.in.the.decoded.data...@item.l
480e0 69 74 65 72 61 6c 5f 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 iteral_state.Value.of.the.3.most
48100 20 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 .significant.bits.of.the.latest.
48120 62 79 74 65 20 64 65 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 byte.decoded...@item.len_state.C
48140 6f 64 65 64 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 6d 61 74 63 68 20 oded.value.of.the.current.match.
48160 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 77 69 74 68 20 61 20 length.@w{(length.-.2)},.with.a.
48180 6d 61 78 69 6d 75 6d 0a 6f 66 20 33 2e 20 54 68 65 20 72 65 73 75 6c 74 69 6e 67 20 76 61 6c 75 maximum.of.3..The.resulting.valu
481a0 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 0a 0a 40 65 6e 64 20 e.is.in.the.range.0.to.3...@end.
481c0 74 61 62 6c 65 0a 0a 0a 54 68 65 20 74 79 70 65 73 20 6f 66 20 70 72 65 76 69 6f 75 73 20 73 65 table...The.types.of.previous.se
481e0 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 63 68 20 73 74 quences.corresponding.to.each.st
48200 61 74 65 20 61 72 65 20 73 68 6f 77 6e 20 69 6e 20 74 68 65 0a 66 6f 6c 6c 6f 77 69 6e 67 20 74 ate.are.shown.in.the.following.t
48220 61 62 6c 65 2e 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 71 able..@samp{!literal}.is.any.seq
48240 75 65 6e 63 65 20 65 78 63 65 70 74 20 61 20 6c 69 74 65 72 61 6c 20 62 79 74 65 2e 0a 40 73 61 uence.except.a.literal.byte..@sa
48260 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 30 mp{rep}.is.any.one.of.@samp{rep0
48280 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 2c 20 6f 72 0a },.@samp{rep1},.@samp{rep2},.or.
482a0 40 73 61 6d 70 7b 72 65 70 33 7d 2e 20 54 68 65 20 6c 61 73 74 20 74 79 70 65 20 69 6e 20 65 61 @samp{rep3}..The.last.type.in.ea
482c0 63 68 20 6c 69 6e 65 20 69 73 20 74 68 65 20 6d 6f 73 74 20 72 65 63 65 6e 74 2e 0a 0a 40 6d 75 ch.line.is.the.most.recent...@mu
482e0 6c 74 69 74 61 62 6c 65 20 7b 53 74 61 74 65 7d 20 7b 72 65 70 20 6f 72 20 28 21 6c 69 74 65 72 ltitable.{State}.{rep.or.(!liter
48300 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 74 65 72 61 6c 7d al,.shortrep),.literal,.literal}
48320 0a 40 68 65 61 64 69 74 65 6d 20 53 74 61 74 65 20 40 74 61 62 20 54 79 70 65 73 20 6f 66 20 70 .@headitem.State.@tab.Types.of.p
48340 72 65 76 69 6f 75 73 20 73 65 71 75 65 6e 63 65 73 0a 40 69 74 65 6d 20 20 30 20 40 74 61 62 20 revious.sequences.@item..0.@tab.
48360 6c 69 74 65 72 61 6c 2c 20 6c 69 74 65 72 61 6c 2c 20 6c 69 74 65 72 61 6c 0a 40 69 74 65 6d 20 literal,.literal,.literal.@item.
48380 20 31 20 40 74 61 62 20 6d 61 74 63 68 2c 20 6c 69 74 65 72 61 6c 2c 20 6c 69 74 65 72 61 6c 0a .1.@tab.match,.literal,.literal.
483a0 40 69 74 65 6d 20 20 32 20 40 74 61 62 20 72 65 70 20 6f 72 20 28 21 6c 69 74 65 72 61 6c 2c 20 @item..2.@tab.rep.or.(!literal,.
483c0 73 68 6f 72 74 72 65 70 29 2c 20 6c 69 74 65 72 61 6c 2c 20 6c 69 74 65 72 61 6c 0a 40 69 74 65 shortrep),.literal,.literal.@ite
483e0 6d 20 20 33 20 40 74 61 62 20 6c 69 74 65 72 61 6c 2c 20 73 68 6f 72 74 72 65 70 2c 20 6c 69 74 m..3.@tab.literal,.shortrep,.lit
48400 65 72 61 6c 2c 20 6c 69 74 65 72 61 6c 0a 40 69 74 65 6d 20 20 34 20 40 74 61 62 20 6d 61 74 63 eral,.literal.@item..4.@tab.matc
48420 68 2c 20 6c 69 74 65 72 61 6c 0a 40 69 74 65 6d 20 20 35 20 40 74 61 62 20 72 65 70 20 6f 72 20 h,.literal.@item..5.@tab.rep.or.
48440 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 65 72 61 6c 0a 40 69 (!literal,.shortrep),.literal.@i
48460 74 65 6d 20 20 36 20 40 74 61 62 20 6c 69 74 65 72 61 6c 2c 20 73 68 6f 72 74 72 65 70 2c 20 6c tem..6.@tab.literal,.shortrep,.l
48480 69 74 65 72 61 6c 0a 40 69 74 65 6d 20 20 37 20 40 74 61 62 20 6c 69 74 65 72 61 6c 2c 20 6d 61 iteral.@item..7.@tab.literal,.ma
484a0 74 63 68 0a 40 69 74 65 6d 20 20 38 20 40 74 61 62 20 6c 69 74 65 72 61 6c 2c 20 72 65 70 0a 40 tch.@item..8.@tab.literal,.rep.@
484c0 69 74 65 6d 20 20 39 20 40 74 61 62 20 6c 69 74 65 72 61 6c 2c 20 73 68 6f 72 74 72 65 70 0a 40 item..9.@tab.literal,.shortrep.@
484e0 69 74 65 6d 20 31 30 20 40 74 61 62 20 21 6c 69 74 65 72 61 6c 2c 20 6d 61 74 63 68 0a 40 69 74 item.10.@tab.!literal,.match.@it
48500 65 6d 20 31 31 20 40 74 61 62 20 21 6c 69 74 65 72 61 6c 2c 20 28 72 65 70 20 6f 72 20 73 68 6f em.11.@tab.!literal,.(rep.or.sho
48520 72 74 72 65 70 29 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 rtrep).@end.multitable..@sp.1.Th
48540 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 70 65 e.contexts.for.decoding.the.type
48560 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 40 6d 75 6c 74 69 .of.coding.sequence.are:..@multi
48580 74 61 62 6c 65 20 40 63 6f 6c 75 6d 6e 66 72 61 63 74 69 6f 6e 73 20 2e 32 20 2e 33 35 20 2e 34 table.@columnfractions..2..35..4
485a0 35 0a 40 68 65 61 64 69 74 65 6d 20 4e 61 6d 65 20 40 74 61 62 20 49 6e 64 69 63 65 73 20 40 74 5.@headitem.Name.@tab.Indices.@t
485c0 61 62 20 55 73 65 64 20 77 68 65 6e 0a 40 69 74 65 6d 20 62 6d 5f 6d 61 74 63 68 20 40 74 61 62 ab.Used.when.@item.bm_match.@tab
485e0 20 73 74 61 74 65 2c 20 70 6f 73 5f 73 74 61 74 65 20 40 74 61 62 20 73 65 71 75 65 6e 63 65 20 .state,.pos_state.@tab.sequence.
48600 73 74 61 72 74 0a 40 69 74 65 6d 20 62 6d 5f 72 65 70 20 40 74 61 62 20 73 74 61 74 65 20 40 74 start.@item.bm_rep.@tab.state.@t
48620 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 72 65 70 ab.after.sequence.1.@item.bm_rep
48640 30 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 0.@tab.state.@tab.after.sequence
48660 20 31 31 0a 40 69 74 65 6d 20 62 6d 5f 72 65 70 31 20 40 74 61 62 20 73 74 61 74 65 20 40 74 61 .11.@item.bm_rep1.@tab.state.@ta
48680 62 20 61 66 74 65 72 20 73 65 71 75 65 6e 63 65 20 31 31 31 0a 40 69 74 65 6d 20 62 6d 5f 72 65 b.after.sequence.111.@item.bm_re
486a0 70 32 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 p2.@tab.state.@tab.after.sequenc
486c0 65 20 31 31 31 31 0a 40 69 74 65 6d 20 62 6d 5f 6c 65 6e 20 40 74 61 62 20 73 74 61 74 65 2c 20 e.1111.@item.bm_len.@tab.state,.
486e0 70 6f 73 5f 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 20 31 31 pos_state.@tab.after.sequence.11
48700 30 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 0.@end.multitable..@sp.1.The.con
48720 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 65 73 20 61 72 65 texts.for.decoding.distances.are
48740 3a 0a 0a 40 6d 75 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 :..@multitable.@columnfractions.
48760 2e 32 20 2e 33 20 2e 35 0a 40 68 65 61 64 69 74 65 6d 20 4e 61 6d 65 20 40 74 61 62 20 49 6e 64 .2..3..5.@headitem.Name.@tab.Ind
48780 69 63 65 73 20 40 74 61 62 20 55 73 65 64 20 77 68 65 6e 0a 40 69 74 65 6d 20 62 6d 5f 64 69 73 ices.@tab.Used.when.@item.bm_dis
487a0 5f 73 6c 6f 74 20 40 74 61 62 20 6c 65 6e 5f 73 74 61 74 65 2c 20 62 69 74 20 74 72 65 65 20 40 _slot.@tab.len_state,.bit.tree.@
487c0 74 61 62 20 64 69 73 74 61 6e 63 65 20 73 74 61 72 74 0a 40 69 74 65 6d 20 62 6d 5f 64 69 73 20 tab.distance.start.@item.bm_dis.
487e0 40 74 61 62 20 72 65 76 65 72 73 65 20 62 69 74 20 74 72 65 65 20 40 74 61 62 20 61 66 74 65 72 @tab.reverse.bit.tree.@tab.after
48800 20 73 6c 6f 74 73 20 34 20 74 6f 20 31 33 0a 40 69 74 65 6d 20 62 6d 5f 61 6c 69 67 6e 20 40 74 .slots.4.to.13.@item.bm_align.@t
48820 61 62 20 72 65 76 65 72 73 65 20 62 69 74 20 74 72 65 65 20 40 74 61 62 20 66 6f 72 20 64 69 73 ab.reverse.bit.tree.@tab.for.dis
48840 74 61 6e 63 65 73 20 3e 3d 20 31 32 38 2c 20 61 66 74 65 72 0a 66 69 78 65 64 20 70 72 6f 62 61 tances.>=.128,.after.fixed.proba
48860 62 69 6c 69 74 79 20 62 69 74 73 0a 40 65 6e 64 20 6d 75 6c 74 69 74 61 62 6c 65 0a 0a 40 73 70 bility.bits.@end.multitable..@sp
48880 20 31 0a 54 68 65 72 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 .1.There.are.two.separate.sets.o
488a0 66 20 63 6f 6e 74 65 78 74 73 20 66 6f 72 20 6c 65 6e 67 74 68 73 20 28 40 73 61 6d 70 7b 4c 65 f.contexts.for.lengths.(@samp{Le
488c0 6e 5f 6d 6f 64 65 6c 7d 20 69 6e 0a 74 68 65 20 73 6f 75 72 63 65 29 2e 20 4f 6e 65 20 66 6f 72 n_model}.in.the.source)..One.for
488e0 20 6e 6f 72 6d 61 6c 20 6d 61 74 63 68 65 73 2c 20 74 68 65 20 6f 74 68 65 72 20 66 6f 72 20 72 .normal.matches,.the.other.for.r
48900 65 70 65 61 74 65 64 20 6d 61 74 63 68 65 73 2e 20 54 68 65 0a 63 6f 6e 74 65 78 74 73 20 69 6e epeated.matches..The.contexts.in
48920 20 65 61 63 68 20 4c 65 6e 5f 6d 6f 64 65 6c 20 61 72 65 20 28 73 65 65 20 40 73 61 6d 70 7b 64 .each.Len_model.are.(see.@samp{d
48940 65 63 6f 64 65 5f 6c 65 6e 7d 20 69 6e 20 74 68 65 20 73 6f 75 72 63 65 29 3a 0a 0a 40 6d 75 6c ecode_len}.in.the.source):..@mul
48960 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 32 20 2e 34 20 2e titable.@columnfractions..2..4..
48980 34 0a 40 68 65 61 64 69 74 65 6d 20 4e 61 6d 65 20 40 74 61 62 20 49 6e 64 69 63 65 73 20 40 74 4.@headitem.Name.@tab.Indices.@t
489a0 61 62 20 55 73 65 64 20 77 68 65 6e 0a 40 69 74 65 6d 20 63 68 6f 69 63 65 31 20 40 74 61 62 20 ab.Used.when.@item.choice1.@tab.
489c0 6e 6f 6e 65 20 40 74 61 62 20 6c 65 6e 67 74 68 20 73 74 61 72 74 0a 40 69 74 65 6d 20 63 68 6f none.@tab.length.start.@item.cho
489e0 69 63 65 32 20 40 74 61 62 20 6e 6f 6e 65 20 40 74 61 62 20 61 66 74 65 72 20 73 65 71 75 65 6e ice2.@tab.none.@tab.after.sequen
48a00 63 65 20 31 0a 40 69 74 65 6d 20 62 6d 5f 6c 6f 77 20 40 74 61 62 20 70 6f 73 5f 73 74 61 74 65 ce.1.@item.bm_low.@tab.pos_state
48a20 2c 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 30 ,.bit.tree.@tab.after.sequence.0
48a40 0a 40 69 74 65 6d 20 62 6d 5f 6d 69 64 20 40 74 61 62 20 70 6f 73 5f 73 74 61 74 65 2c 20 62 69 .@item.bm_mid.@tab.pos_state,.bi
48a60 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 30 0a 40 69 t.tree.@tab.after.sequence.10.@i
48a80 74 65 6d 20 62 6d 5f 68 69 67 68 20 40 74 61 62 20 62 69 74 20 74 72 65 65 20 40 74 61 62 20 61 tem.bm_high.@tab.bit.tree.@tab.a
48aa0 66 74 65 72 20 73 65 71 75 65 6e 63 65 20 31 31 0a 40 65 6e 64 20 6d 75 6c 74 69 74 61 62 6c 65 fter.sequence.11.@end.multitable
48ac0 0a 0a 40 73 70 20 31 0a 54 68 65 20 63 6f 6e 74 65 78 74 20 61 72 72 61 79 20 40 73 61 6d 70 7b ..@sp.1.The.context.array.@samp{
48ae0 62 6d 5f 6c 69 74 65 72 61 6c 7d 20 69 73 20 73 70 65 63 69 61 6c 2e 20 49 6e 20 70 72 69 6e 63 bm_literal}.is.special..In.princ
48b00 69 70 6c 65 20 69 74 20 61 63 74 73 20 61 73 0a 61 20 6e 6f 72 6d 61 6c 20 62 69 74 20 74 72 65 iple.it.acts.as.a.normal.bit.tre
48b20 65 20 63 6f 6e 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 40 e.context,.the.one.selected.by.@
48b40 73 61 6d 70 7b 6c 69 74 65 72 61 6c 5f 73 74 61 74 65 7d 2e 20 42 75 74 0a 69 66 20 74 68 65 20 samp{literal_state}..But.if.the.
48b60 70 72 65 76 69 6f 75 73 20 64 65 63 6f 64 65 64 20 62 79 74 65 20 77 61 73 20 6e 6f 74 20 61 20 previous.decoded.byte.was.not.a.
48b80 6c 69 74 65 72 61 6c 2c 20 74 77 6f 20 6f 74 68 65 72 20 62 69 74 20 74 72 65 65 0a 63 6f 6e 74 literal,.two.other.bit.tree.cont
48ba0 65 78 74 73 20 61 72 65 20 75 73 65 64 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 76 exts.are.used.depending.on.the.v
48bc0 61 6c 75 65 20 6f 66 20 65 61 63 68 20 62 69 74 20 69 6e 0a 40 73 61 6d 70 7b 6d 61 74 63 68 5f alue.of.each.bit.in.@samp{match_
48be0 62 79 74 65 7d 20 28 74 68 65 20 62 79 74 65 20 61 74 20 74 68 65 20 6c 61 74 65 73 74 20 75 73 byte}.(the.byte.at.the.latest.us
48c00 65 64 20 64 69 73 74 61 6e 63 65 29 2c 20 75 6e 74 69 6c 20 61 20 62 69 74 20 69 73 0a 64 65 63 ed.distance),.until.a.bit.is.dec
48c20 6f 64 65 64 20 74 68 61 74 20 69 73 20 64 69 66 66 65 72 65 6e 74 20 66 72 6f 6d 20 69 74 73 20 oded.that.is.different.from.its.
48c40 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 62 69 74 20 69 6e 0a 40 73 61 6d 70 7b 6d 61 74 63 68 corresponding.bit.in.@samp{match
48c60 5f 62 79 74 65 7d 2e 20 41 66 74 65 72 20 74 68 65 20 66 69 72 73 74 20 64 69 66 66 65 72 65 6e _byte}..After.the.first.differen
48c80 63 65 20 69 73 20 66 6f 75 6e 64 2c 20 74 68 65 20 72 65 73 74 20 6f 66 20 74 68 65 0a 62 79 74 ce.is.found,.the.rest.of.the.byt
48ca0 65 20 69 73 20 64 65 63 6f 64 65 64 20 75 73 69 6e 67 20 74 68 65 20 6e 6f 72 6d 61 6c 20 62 69 e.is.decoded.using.the.normal.bi
48cc0 74 20 74 72 65 65 20 63 6f 6e 74 65 78 74 2e 20 28 53 65 65 0a 40 73 61 6d 70 7b 64 65 63 6f 64 t.tree.context..(See.@samp{decod
48ce0 65 5f 6d 61 74 63 68 65 64 7d 20 69 6e 20 74 68 65 20 73 6f 75 72 63 65 29 2e 0a 0a 40 73 70 20 e_matched}.in.the.source)...@sp.
48d00 31 0a 40 73 65 63 74 69 6f 6e 20 54 68 65 20 72 61 6e 67 65 20 64 65 63 6f 64 65 72 0a 0a 54 68 1.@section.The.range.decoder..Th
48d20 65 20 4c 5a 4d 41 20 73 74 72 65 61 6d 20 69 73 20 63 6f 6e 73 75 6d 65 64 20 6f 6e 65 20 62 79 e.LZMA.stream.is.consumed.one.by
48d40 74 65 20 61 74 20 61 20 74 69 6d 65 20 62 79 20 74 68 65 20 72 61 6e 67 65 20 64 65 63 6f 64 65 te.at.a.time.by.the.range.decode
48d60 72 2e 0a 28 53 65 65 20 40 73 61 6d 70 7b 6e 6f 72 6d 61 6c 69 7a 65 7d 20 69 6e 20 74 68 65 20 r..(See.@samp{normalize}.in.the.
48d80 73 6f 75 72 63 65 29 2e 20 45 76 65 72 79 20 62 79 74 65 20 63 6f 6e 73 75 6d 65 64 20 70 72 6f source)..Every.byte.consumed.pro
48da0 64 75 63 65 73 20 61 0a 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 64 65 63 6f 64 duces.a.variable.number.of.decod
48dc0 65 64 20 62 69 74 73 2c 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 68 6f 77 20 77 65 6c 6c 20 74 ed.bits,.depending.on.how.well.t
48de0 68 65 73 65 20 62 69 74 73 20 61 67 72 65 65 0a 77 69 74 68 20 74 68 65 69 72 20 63 6f 6e 74 65 hese.bits.agree.with.their.conte
48e00 78 74 2e 20 28 53 65 65 20 40 73 61 6d 70 7b 64 65 63 6f 64 65 5f 62 69 74 7d 20 69 6e 20 74 68 xt..(See.@samp{decode_bit}.in.th
48e20 65 20 73 6f 75 72 63 65 29 2e 0a 0a 54 68 65 20 72 61 6e 67 65 20 64 65 63 6f 64 65 72 20 73 74 e.source)...The.range.decoder.st
48e40 61 74 65 20 63 6f 6e 73 69 73 74 73 20 6f 66 20 74 77 6f 20 75 6e 73 69 67 6e 65 64 20 33 32 2d ate.consists.of.two.unsigned.32-
48e60 62 69 74 20 76 61 72 69 61 62 6c 65 73 3a 0a 40 73 61 6d 70 7b 72 61 6e 67 65 7d 20 28 72 65 70 bit.variables:.@samp{range}.(rep
48e80 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 69 63 61 6e 74 20 70 resenting.the.most.significant.p
48ea0 61 72 74 20 6f 66 20 74 68 65 20 72 61 6e 67 65 20 73 69 7a 65 0a 6e 6f 74 20 79 65 74 20 64 65 art.of.the.range.size.not.yet.de
48ec0 63 6f 64 65 64 29 20 61 6e 64 20 40 73 61 6d 70 7b 63 6f 64 65 7d 20 28 72 65 70 72 65 73 65 6e coded).and.@samp{code}.(represen
48ee0 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 0a 40 73 ting.the.current.point.within.@s
48f00 61 6d 70 7b 72 61 6e 67 65 7d 29 2e 20 40 73 61 6d 70 7b 72 61 6e 67 65 7d 20 69 73 20 69 6e 69 amp{range})..@samp{range}.is.ini
48f20 74 69 61 6c 69 7a 65 64 20 74 6f 20 40 77 7b 32 5e 33 32 20 2d 20 31 7d 2c 20 61 6e 64 0a 40 73 tialized.to.@w{2^32.-.1},.and.@s
48f40 61 6d 70 7b 63 6f 64 65 7d 20 69 73 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 74 6f 20 30 2e 0a 0a amp{code}.is.initialized.to.0...
48f60 54 68 65 20 72 61 6e 67 65 20 65 6e 63 6f 64 65 72 20 70 72 6f 64 75 63 65 73 20 61 20 66 69 72 The.range.encoder.produces.a.fir
48f80 73 74 20 30 20 62 79 74 65 20 74 68 61 74 20 6d 75 73 74 20 62 65 20 69 67 6e 6f 72 65 64 20 62 st.0.byte.that.must.be.ignored.b
48fa0 79 20 74 68 65 0a 72 61 6e 67 65 20 64 65 63 6f 64 65 72 2e 20 54 68 69 73 20 69 73 20 64 6f 6e y.the.range.decoder..This.is.don
48fc0 65 20 62 79 20 73 68 69 66 74 69 6e 67 20 35 20 62 79 74 65 73 20 69 6e 20 74 68 65 20 69 6e 69 e.by.shifting.5.bytes.in.the.ini
48fe0 74 69 61 6c 69 7a 61 74 69 6f 6e 20 6f 66 0a 40 73 61 6d 70 7b 63 6f 64 65 7d 20 69 6e 73 74 65 tialization.of.@samp{code}.inste
49000 61 64 20 6f 66 20 34 2e 20 28 53 65 65 20 74 68 65 20 40 73 61 6d 70 7b 52 61 6e 67 65 5f 64 65 ad.of.4..(See.the.@samp{Range_de
49020 63 6f 64 65 72 7d 20 63 6f 6e 73 74 72 75 63 74 6f 72 20 69 6e 0a 74 68 65 20 73 6f 75 72 63 65 coder}.constructor.in.the.source
49040 29 2e 0a 0a 40 73 70 20 31 0a 40 73 65 63 74 69 6f 6e 20 44 65 63 6f 64 69 6e 67 20 61 6e 64 20 )...@sp.1.@section.Decoding.and.
49060 76 65 72 69 66 79 69 6e 67 20 74 68 65 20 4c 5a 4d 41 20 73 74 72 65 61 6d 0a 0a 41 66 74 65 72 verifying.the.LZMA.stream..After
49080 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 20 61 6e 64 20 .decoding.the.member.header.and.
490a0 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 7a 65 2c 20 74 obtaining.the.dictionary.size,.t
490c0 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 69 7a 65 64 20 he.range.decoder.is.initialized.
490e0 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 6e 74 65 72 73 and.then.the.LZMA.decoder.enters
49100 20 61 20 6c 6f 6f 70 0a 28 73 65 65 20 40 73 61 6d 70 7b 64 65 63 6f 64 65 5f 6d 65 6d 62 65 72 .a.loop.(see.@samp{decode_member
49120 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 6e 76 6f 6b 65 }.in.the.source).where.it.invoke
49140 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 65 20 61 70 70 s.the.range.decoder.with.the.app
49160 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 20 74 68 65 20 ropriate.contexts.to.decode.the.
49180 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 28 6d 61 74 63 different.coding.sequences.(matc
491a0 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 6c 69 74 65 72 hes,.repeated.matches,.and.liter
491c0 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 66 20 53 74 72 al.bytes),.until.the."End.Of.Str
491e0 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 4f 6e 63 65 20 74 68 eam".marker.is.decoded...Once.th
49200 65 20 22 45 6e 64 20 4f 66 20 53 74 72 65 61 6d 22 20 6d 61 72 6b 65 72 20 68 61 73 20 62 65 65 e."End.Of.Stream".marker.has.bee
49220 6e 20 64 65 63 6f 64 65 64 2c 20 74 68 65 20 64 65 63 6f 6d 70 72 65 73 73 6f 72 20 72 65 61 64 n.decoded,.the.decompressor.read
49240 73 20 61 6e 64 0a 64 65 63 6f 64 65 73 20 74 68 65 20 6d 65 6d 62 65 72 20 74 72 61 69 6c 65 72 s.and.decodes.the.member.trailer
49260 2c 20 61 6e 64 20 76 65 72 69 66 69 65 73 20 74 68 61 74 20 74 68 65 20 74 68 72 65 65 20 69 6e ,.and.verifies.that.the.three.in
49280 74 65 67 72 69 74 79 20 66 61 63 74 6f 72 73 0a 73 74 6f 72 65 64 20 74 68 65 72 65 20 28 43 52 tegrity.factors.stored.there.(CR
492a0 43 2c 20 64 61 74 61 20 73 69 7a 65 2c 20 61 6e 64 20 6d 65 6d 62 65 72 20 73 69 7a 65 29 20 6d C,.data.size,.and.member.size).m
492c0 61 74 63 68 20 74 68 6f 73 65 20 63 6f 6d 70 75 74 65 64 20 66 72 6f 6d 20 74 68 65 0a 64 61 74 atch.those.computed.from.the.dat
492e0 61 2e 0a 0a 0a 40 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 a....@node.Trailing.data.@chapte
49300 72 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 20 66 69 6c r.Extra.data.appended.to.the.fil
49320 65 0a 40 63 69 6e 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 e.@cindex.trailing.data..Sometim
49340 65 73 20 65 78 74 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 es.extra.data.are.found.appended
49360 20 74 6f 20 61 20 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 .to.a.lzip.file.after.the.last.m
49380 65 6d 62 65 72 2e 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 ember..Such.trailing.data.may.be
493a0 3a 0a 0a 40 69 74 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 :..@itemize.@bullet.@item.Paddin
493c0 67 20 61 64 64 65 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 g.added.to.make.the.file.size.a.
493e0 6d 75 6c 74 69 70 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 multiple.of.some.block.size,.for
49400 0a 65 78 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 .example.when.writing.to.a.tape.
49420 20 49 74 20 69 73 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 .It.is.safe.to.append.any.amount
49440 20 6f 66 0a 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 69 70 .of.padding.zero.bytes.to.a.lzip
49460 20 66 69 6c 65 2e 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 .file...@item.Useful.data.added.
49480 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 79 by.the.user;.a.cryptographically
494a0 20 73 65 63 75 72 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 .secure.hash,.a.description.of.f
494c0 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 61 66 65 20 74 6f ile.contents,.etc..It.is.safe.to
494e0 20 61 70 70 65 6e 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 .append.any.amount.of.text.to.a.
49500 6c 7a 69 70 20 66 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 lzip.file.as.long.as.none.of.the
49520 20 66 69 72 73 74 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 .first.four.bytes.of.the.text.ma
49540 74 63 68 20 74 68 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 tch.the.corresponding.byte.in.th
49560 65 20 73 74 72 69 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 e.string."LZIP",.and.the.text.do
49580 65 73 20 6e 6f 74 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 es.not.contain.any.zero.bytes.(n
495a0 75 6c 6c 20 63 68 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 ull.characters)..Nonzero.bytes.a
495c0 6e 64 20 7a 65 72 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 nd.zero.bytes.can't.be.safely.mi
495e0 78 65 64 20 69 6e 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 xed.in.trailing.data...@item.Gar
49600 62 61 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 bage.added.by.some.not.totally.s
49620 75 63 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 40 69 74 65 6d uccessful.copy.operation...@item
49640 0a 4d 61 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 .Malicious.data.added.to.the.fil
49660 65 20 69 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 e.in.order.to.make.its.total.siz
49680 65 20 61 6e 64 0a 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 e.and.hash.value.(for.a.chosen.h
496a0 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 6f 74 ash).coincide.with.those.of.anot
496c0 68 65 72 20 66 69 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 her.file...@item.In.rare.cases,.
496e0 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 20 63 6f 72 72 75 trailing.data.could.be.the.corru
49700 70 74 20 68 65 61 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 pt.header.of.another.member..In.
49720 6d 75 6c 74 69 6d 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 multimember.or.concatenated.file
49740 73 20 74 68 65 20 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 s.the.probability.of.corruption.
49760 68 61 70 70 65 6e 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 happening.in.the.magic.bytes.is.
49780 35 20 74 69 6d 65 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 5.times.smaller.than.the.probabi
497a0 6c 69 74 79 20 6f 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 lity.of.getting.a.false.positive
497c0 20 63 61 75 73 65 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 .caused.by.the.corruption.of.the
497e0 0a 69 6e 74 65 67 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 .integrity.information.itself..T
49800 68 65 72 65 66 6f 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 herefore.it.can.be.considered.to
49820 20 62 65 20 62 65 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 .be.below.the.noise.level..Addit
49840 69 6f 6e 61 6c 6c 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 ionally,.the.test.used.by.lzip.t
49860 6f 20 64 69 73 63 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 o.discriminate.trailing.data.fro
49880 6d 20 61 20 63 6f 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 m.a.corrupt.header.has.a.Hamming
498a0 20 64 69 73 74 61 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 .distance.(HD).of.3,.and.the.3.b
498c0 69 74 20 66 6c 69 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 it.flips.must.happen.in.differen
498e0 74 20 6d 61 67 69 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 t.magic.bytes.for.the.test.to.fa
49900 69 6c 2e 20 49 6e 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 il..In.any.case,.the.option.@sam
49920 70 7b 2d 2d 74 72 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 p{--trailing-error}.guarantees.t
49940 68 61 74 0a 61 6e 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 hat.any.corrupt.header.will.be.d
49960 65 74 65 63 74 65 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 etected..@end.itemize..Trailing.
49980 64 61 74 61 20 61 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 data.are.in.no.way.part.of.the.l
499a0 7a 69 70 20 66 69 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 zip.file.format,.but.tools.readi
499c0 6e 67 20 6c 7a 69 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 ng.lzip.files.are.expected.to.be
499e0 68 61 76 65 20 61 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 have.as.correctly.and.usefully.a
49a00 73 0a 70 6f 73 73 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 s.possible.in.the.presence.of.tr
49a20 61 69 6c 69 6e 67 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 ailing.data...Trailing.data.can.
49a40 62 65 20 73 61 66 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 be.safely.ignored.in.most.cases.
49a60 20 49 6e 20 73 6f 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 .In.some.cases,.like.that.of.use
49a80 72 2d 61 64 64 65 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 r-added.data,.they.are.expected.
49aa0 74 6f 20 62 65 20 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 to.be.ignored..In.those.cases.wh
49ac0 65 72 65 20 61 20 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 ere.a.file.containing.trailing.d
49ae0 61 74 61 20 6d 75 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 ata.must.be.rejected,.the.option
49b00 0a 40 73 61 6d 70 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 .@samp{--trailing-error}.can.be.
49b20 75 73 65 64 2e 20 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 used..@xref{--trailing-error}...
49b40 0a 40 6e 6f 64 65 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 .@node.Examples.@chapter.A.small
49b60 20 74 75 74 6f 72 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 .tutorial.with.examples.@cindex.
49b80 65 78 61 6d 70 6c 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 examples..WARNING!.Even.if.lzip.
49ba0 69 73 20 62 75 67 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 is.bug-free,.other.causes.may.re
49bc0 73 75 6c 74 20 69 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 sult.in.a.corrupt.compressed.fil
49be0 65 20 28 62 75 67 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 e.(bugs.in.the.system.libraries,
49c00 20 6d 65 6d 6f 72 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 .memory.errors,.etc)..Therefore,
49c20 20 69 66 20 74 68 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 .if.the.data.you.are.going.to.co
49c40 6d 70 72 65 73 73 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 6f mpress.are.important,.give.the.o
49c60 70 74 69 6f 6e 20 40 73 61 6d 70 7b 2d 2d 6b 65 65 70 7d 20 74 6f 20 6c 7a 69 70 20 61 6e 64 20 ption.@samp{--keep}.to.lzip.and.
49c80 64 6f 6e 27 74 20 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 don't.remove.the.original.file.u
49ca0 6e 74 69 6c 20 79 6f 75 0a 76 65 72 69 66 79 20 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 20 66 ntil.you.verify.the.compressed.f
49cc0 69 6c 65 20 77 69 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 ile.with.a.command.like.@w{@samp
49ce0 7b 6c 7a 69 70 20 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 {lzip.-cd.file.lz.|.cmp.file.-}}
49d00 2e 20 4d 6f 73 74 20 52 41 4d 20 65 72 72 6f 72 73 20 68 61 70 70 65 6e 69 6e 67 20 64 75 72 69 ..Most.RAM.errors.happening.duri
49d20 6e 67 0a 63 6f 6d 70 72 65 73 73 69 6f 6e 20 63 61 6e 20 6f 6e 6c 79 20 62 65 20 64 65 74 65 63 ng.compression.can.only.be.detec
49d40 74 65 64 20 62 79 20 63 6f 6d 70 61 72 69 6e 67 20 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 20 ted.by.comparing.the.compressed.
49d60 66 69 6c 65 20 77 69 74 68 20 74 68 65 0a 6f 72 69 67 69 6e 61 6c 20 62 65 63 61 75 73 65 20 74 file.with.the.original.because.t
49d80 68 65 20 63 6f 72 72 75 70 74 69 6f 6e 20 68 61 70 70 65 6e 73 20 62 65 66 6f 72 65 20 6c 7a 69 he.corruption.happens.before.lzi
49da0 70 20 63 6f 6d 70 72 65 73 73 65 73 20 74 68 65 20 52 41 4d 0a 63 6f 6e 74 65 6e 74 73 2c 20 72 p.compresses.the.RAM.contents,.r
49dc0 65 73 75 6c 74 69 6e 67 20 69 6e 20 61 20 76 61 6c 69 64 20 63 6f 6d 70 72 65 73 73 65 64 20 66 esulting.in.a.valid.compressed.f
49de0 69 6c 65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 77 72 6f 6e 67 20 64 61 74 61 2e 0a 0a 40 73 70 20 ile.containing.wrong.data...@sp.
49e00 31 0a 40 6e 6f 69 6e 64 65 6e 74 0a 45 78 61 6d 70 6c 65 20 31 3a 20 45 78 74 72 61 63 74 20 61 1.@noindent.Example.1:.Extract.a
49e20 6c 6c 20 74 68 65 20 66 69 6c 65 73 20 66 72 6f 6d 20 61 72 63 68 69 76 65 20 40 73 61 6d 70 7b ll.the.files.from.archive.@samp{
49e40 66 6f 6f 2e 74 61 72 2e 6c 7a 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 20 20 74 61 72 20 2d 78 66 foo.tar.lz}...@example...tar.-xf
49e60 20 66 6f 6f 2e 74 61 72 2e 6c 7a 0a 6f 72 0a 20 20 6c 7a 69 70 20 2d 63 64 20 66 6f 6f 2e 74 61 .foo.tar.lz.or...lzip.-cd.foo.ta
49e80 72 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 65 0a 0a 40 r.lz.|.tar.-xf.-.@end.example..@
49ea0 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 52 65 70 6c 61 63 sp.1.@noindent.Example.2:.Replac
49ec0 65 20 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 e.a.regular.file.with.its.compre
49ee0 73 73 65 64 20 76 65 72 73 69 6f 6e 20 40 73 61 6d 70 7b 66 69 6c 65 2e 6c 7a 7d 0a 61 6e 64 20 ssed.version.@samp{file.lz}.and.
49f00 73 68 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 show.the.compression.ratio...@ex
49f20 61 6d 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 ample.lzip.-v.file.@end.example.
49f40 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 20 4c 69 6b 65 .@sp.1.@noindent.Example.3:.Like
49f60 20 65 78 61 6d 70 6c 65 20 32 20 62 75 74 20 74 68 65 20 63 72 65 61 74 65 64 20 40 73 61 6d 70 .example.2.but.the.created.@samp
49f80 7b 66 69 6c 65 2e 6c 7a 7d 20 69 73 20 6d 75 6c 74 69 6d 65 6d 62 65 72 20 77 69 74 68 0a 61 20 {file.lz}.is.multimember.with.a.
49fa0 6d 65 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 member.size.of.@w{1.MiB}..The.co
49fc0 6d 70 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 mpression.ratio.is.not.shown...@
49fe0 65 78 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 example.lzip.-b.1MiB.file.@end.e
4a000 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 65 20 xample..@sp.1.@noindent.Example.
4a020 34 3a 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 4:.Restore.a.regular.file.from.i
4a040 74 73 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 ts.compressed.version.@samp{file
4a060 2e 6c 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 .lz}..If.the.operation.is.succes
4a080 73 66 75 6c 2c 20 40 73 61 6d 70 7b 66 69 6c 65 2e 6c 7a 7d 20 69 73 20 72 65 6d 6f 76 65 64 2e sful,.@samp{file.lz}.is.removed.
4a0a0 0a 0a 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 ..@example.lzip.-d.file.lz.@end.
4a0c0 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 65 example..@sp.1.@noindent.Example
4a0e0 20 35 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 .5:.Verify.the.integrity.of.the.
4a100 63 6f 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 20 61 compressed.file.@samp{file.lz}.a
4a120 6e 64 0a 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 nd.show.status...@example.lzip.-
4a140 74 76 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 tv.file.lz.@end.example..@sp.1.@
4a160 61 6e 63 68 6f 72 7b 63 6f 6e 63 61 74 2d 65 78 61 6d 70 6c 65 7d 0a 40 6e 6f 69 6e 64 65 6e 74 anchor{concat-example}.@noindent
4a180 0a 45 78 61 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 .Example.6:.The.right.way.of.con
4a1a0 63 61 74 65 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 catenating.the.decompressed.outp
4a1c0 75 74 20 6f 66 20 74 77 6f 20 6f 72 0a 6d 6f 72 65 20 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c ut.of.two.or.more.compressed.fil
4a1e0 65 73 2e 20 40 78 72 65 66 7b 54 72 61 69 6c 69 6e 67 20 64 61 74 61 7d 2e 0a 0a 40 65 78 61 6d es..@xref{Trailing.data}...@exam
4a200 70 6c 65 0a 44 6f 6e 27 74 20 64 6f 20 74 68 69 73 0a 20 20 63 61 74 20 66 69 6c 65 31 2e 6c 7a ple.Don't.do.this...cat.file1.lz
4a220 20 66 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 20 2d 0a 44 .file2.lz.file3.lz.|.lzip.-d.-.D
4a240 6f 20 74 68 69 73 20 69 6e 73 74 65 61 64 0a 20 20 6c 7a 69 70 20 2d 63 64 20 66 69 6c 65 31 2e o.this.instead...lzip.-cd.file1.
4a260 6c 7a 20 66 69 6c 65 32 2e 6c 7a 20 66 69 6c 65 33 2e 6c 7a 0a 40 65 6e 64 20 65 78 61 6d 70 6c lz.file2.lz.file3.lz.@end.exampl
4a280 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 37 3a 20 44 65 e..@sp.1.@noindent.Example.7:.De
4a2a0 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 61 72 74 69 61 6c 6c compress.@samp{file.lz}.partiall
4a2c0 79 20 75 6e 74 69 6c 20 40 77 7b 31 30 20 4b 69 42 7d 20 6f 66 0a 64 65 63 6f 6d 70 72 65 73 73 y.until.@w{10.KiB}.of.decompress
4a2e0 65 64 20 64 61 74 61 20 61 72 65 20 70 72 6f 64 75 63 65 64 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a ed.data.are.produced...@example.
4a300 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 30 32 34 20 63 6f lzip.-cd.file.lz.|.dd.bs=1024.co
4a320 75 6e 74 3d 31 30 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 0a 40 73 70 20 31 0a 40 6e 6f 69 6e unt=10.@end.example..@sp.1.@noin
4a340 64 65 6e 74 0a 45 78 61 6d 70 6c 65 20 38 3a 20 44 65 63 6f 6d 70 72 65 73 73 20 40 73 61 6d 70 dent.Example.8:.Decompress.@samp
4a360 7b 66 69 6c 65 2e 6c 7a 7d 20 70 61 72 74 69 61 6c 6c 79 20 66 72 6f 6d 20 64 65 63 6f 6d 70 72 {file.lz}.partially.from.decompr
4a380 65 73 73 65 64 20 62 79 74 65 20 61 74 0a 6f 66 66 73 65 74 20 31 30 30 30 30 20 74 6f 20 64 65 essed.byte.at.offset.10000.to.de
4a3a0 63 6f 6d 70 72 65 73 73 65 64 20 62 79 74 65 20 61 74 20 6f 66 66 73 65 74 20 31 34 39 39 39 20 compressed.byte.at.offset.14999.
4a3c0 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 61 (5000.bytes.are.produced)...@exa
4a3e0 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 30 mple.lzip.-cd.file.lz.|.dd.bs=10
4a400 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 0a 00.skip=10.count=5.@end.example.
4a420 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 6f 6d 70 .@sp.1.@noindent.Example.9:.Comp
4a440 72 65 73 73 20 61 20 77 68 6f 6c 65 20 64 65 76 69 63 65 20 69 6e 20 2f 64 65 76 2f 73 64 63 20 ress.a.whole.device.in./dev/sdc.
4a460 61 6e 64 20 73 65 6e 64 20 74 68 65 20 6f 75 74 70 75 74 20 74 6f 0a 40 73 61 6d 70 7b 66 69 6c and.send.the.output.to.@samp{fil
4a480 65 2e 6c 7a 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 20 20 6c 7a 69 70 20 2d 63 20 2f 64 65 76 2f e.lz}...@example...lzip.-c./dev/
4a4a0 73 64 63 20 3e 20 66 69 6c 65 2e 6c 7a 0a 6f 72 0a 20 20 6c 7a 69 70 20 2f 64 65 76 2f 73 64 63 sdc.>.file.lz.or...lzip./dev/sdc
4a4c0 20 2d 6f 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 .-o.file.lz.@end.example..@sp.1.
4a4e0 40 6e 6f 69 6e 64 65 6e 74 0a 45 78 61 6d 70 6c 65 20 31 30 3a 20 43 72 65 61 74 65 20 61 20 6d @noindent.Example.10:.Create.a.m
4a500 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 68 69 76 ultivolume.compressed.tar.archiv
4a520 65 20 77 69 74 68 20 61 20 76 6f 6c 75 6d 65 20 73 69 7a 65 0a 6f 66 20 40 77 7b 31 34 34 30 20 e.with.a.volume.size.of.@w{1440.
4a540 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 6d 65 5f 64 69 72 65 KiB}...@example.tar.-c.some_dire
4a560 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 20 76 6f 6c 75 6d ctory.|.lzip.-S.1440KiB.-o.volum
4a580 65 5f 6e 61 6d 65 20 2d 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 0a 40 73 70 20 31 0a 40 6e 6f e_name.-.@end.example..@sp.1.@no
4a5a0 69 6e 64 65 6e 74 0a 45 78 61 6d 70 6c 65 20 31 31 3a 20 45 78 74 72 61 63 74 20 61 20 6d 75 6c indent.Example.11:.Extract.a.mul
4a5c0 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 68 69 76 65 2e tivolume.compressed.tar.archive.
4a5e0 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 6e 61 6d 65 2a ..@example.lzip.-cd.volume_name*
4a600 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 65 0a 0a 40 73 .lz.|.tar.-xf.-.@end.example..@s
4a620 70 20 31 0a 40 6e 6f 69 6e 64 65 6e 74 0a 45 78 61 6d 70 6c 65 20 31 32 3a 20 43 72 65 61 74 65 p.1.@noindent.Example.12:.Create
4a640 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 61 63 6b 75 70 .a.multivolume.compressed.backup
4a660 20 6f 66 20 61 20 6c 61 72 67 65 20 64 61 74 61 62 61 73 65 20 66 69 6c 65 0a 77 69 74 68 20 61 .of.a.large.database.file.with.a
4a680 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 20 77 68 65 72 .volume.size.of.@w{650.MB},.wher
4a6a0 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 65 72 20 66 e.each.volume.is.a.multimember.f
4a6c0 69 6c 65 0a 77 69 74 68 20 61 20 6d 65 6d 62 65 72 20 73 69 7a 65 20 6f 66 20 40 77 7b 33 32 20 ile.with.a.member.size.of.@w{32.
4a6e0 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 69 42 20 2d 53 MiB}...@example.lzip.-b.32MiB.-S
4a700 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 0a 0a 40 6e 6f .650MB.big_db.@end.example...@no
4a720 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 69 6e 67 20 62 de.Problems.@chapter.Reporting.b
4a740 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 74 74 69 6e 67 ugs.@cindex.bugs.@cindex.getting
4a760 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 75 67 73 20 69 .help..There.are.probably.bugs.i
4a780 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 20 65 72 72 6f n.lzip..There.are.certainly.erro
4a7a0 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 6e 75 61 6c 2e rs.and.omissions.in.this.manual.
4a7c0 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 69 6c 6c 20 67 .If.you.report.them,.they.will.g
4a7e0 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 6f 6e 65 20 77 et.fixed..If.you.don't,.no.one.w
4a800 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 64 20 74 68 65 ill.ever.know.about.them.and.the
4a820 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 6c 6c 20 65 74 y.will.remain.unfixed.for.all.et
4a840 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 79 6f 75 20 66 ernity,.if.not.longer...If.you.f
4a860 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 65 6e 64 20 65 ind.a.bug.in.lzip,.please.send.e
4a880 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 69 70 2d 62 75 lectronic.mail.to.@email{lzip-bu
4a8a0 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 20 76 65 72 73 g@@nongnu.org}..Include.the.vers
4a8c0 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 69 6e 64 20 62 ion.number,.which.you.can.find.b
4a8e0 79 20 72 75 6e 6e 69 6e 67 20 40 77 7b 40 73 61 6d 70 7b 6c 7a 69 70 20 2d 2d 76 65 72 73 69 6f y.running.@w{@samp{lzip.--versio
4a900 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 63 65 20 63 6f n}}....@node.Reference.source.co
4a920 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 63 65 20 63 6f de.@appendix.Reference.source.co
4a940 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 20 63 6f 64 65 de.@cindex.reference.source.code
4a960 0a 0a 40 76 65 72 62 61 74 69 6d 0a 2f 2a 20 4c 7a 64 20 2d 20 45 64 75 63 61 74 69 6f 6e 61 6c ..@verbatim./*.Lzd.-.Educational
4a980 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 6f 72 6d 61 .decompressor.for.the.lzip.forma
4a9a0 74 0a 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 33 2d 32 30 32 32 20 41 6e 74 t....Copyright.(C).2013-2022.Ant
4a9c0 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d onio.Diaz.Diaz......This.program
4a9e0 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 72 69 62 75 74 69 6f .is.free.software..Redistributio
4aa00 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 20 20 62 69 6e 61 72 n.and.use.in.source.and....binar
4aa20 79 20 66 6f 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 y.forms,.with.or.without.modific
4aa40 61 74 69 6f 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 ation,.are.permitted.provided...
4aa60 20 74 68 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 .that.the.following.conditions.a
4aa80 72 65 20 6d 65 74 3a 0a 0a 20 20 20 31 2e 20 52 65 64 69 73 74 72 69 62 75 74 69 6f 6e 73 20 6f re.met:.....1..Redistributions.o
4aaa0 66 20 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 f.source.code.must.retain.the.ab
4aac0 6f 76 65 20 63 6f 70 79 72 69 67 68 74 0a 20 20 20 6e 6f 74 69 63 65 2c 20 74 68 69 73 20 6c 69 ove.copyright....notice,.this.li
4aae0 73 74 20 6f 66 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 20 61 6e 64 20 74 68 65 20 66 6f 6c 6c 6f 77 st.of.conditions,.and.the.follow
4ab00 69 6e 67 20 64 69 73 63 6c 61 69 6d 65 72 2e 0a 0a 20 20 20 32 2e 20 52 65 64 69 73 74 72 69 62 ing.disclaimer......2..Redistrib
4ab20 75 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 utions.in.binary.form.must.repro
4ab40 64 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 6e 6f 74 69 duce.the.above.copyright....noti
4ab60 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 2c 20 61 6e 64 ce,.this.list.of.conditions,.and
4ab80 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 20 69 6e 20 74 68 65 .the.following.disclaimer.in.the
4aba0 0a 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
4abc0 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
4abe0 69 62 75 74 69 6f 6e 2e 0a 0a 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 ibution......This.program.is.dis
4ac00 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 6c tributed.in.the.hope.that.it.wil
4ac20 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 l.be.useful,....but.WITHOUT.ANY.
4ac40 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 6c 69 WARRANTY;.without.even.the.impli
4ac60 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 ed.warranty.of....MERCHANTABILIT
4ac80 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 20 50 55 Y.or.FITNESS.FOR.A.PARTICULAR.PU
4aca0 52 50 4f 53 45 2e 0a 2a 2f 0a 2f 2a 0a 20 20 20 45 78 69 74 20 73 74 61 74 75 73 3a 20 30 20 66 RPOSE..*/./*....Exit.status:.0.f
4acc0 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 72 6f 6e 6d or.a.normal.exit,.1.for.environm
4ace0 65 6e 74 61 6c 20 70 72 6f 62 6c 65 6d 73 0a 20 20 20 28 66 69 6c 65 20 6e 6f 74 20 66 6f 75 6e ental.problems....(file.not.foun
4ad00 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
4ad20 63 29 2c 20 32 20 74 6f 20 69 6e 64 69 63 61 74 65 20 61 0a 20 20 20 63 6f 72 72 75 70 74 20 6f c),.2.to.indicate.a....corrupt.o
4ad40 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 23 69 6e 63 6c 75 r.invalid.input.file..*/..#inclu
4ad60 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 65 72 72 6e 6f 3e de.<algorithm>.#include.<cerrno>
4ad80 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 20 3c 63 73 74 .#include.<cstdio>.#include.<cst
4ada0 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 6e 63 6c 75 64 dlib>.#include.<cstring>.#includ
4adc0 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 73 74 64 2e 68 3e e.<stdint.h>.#include.<unistd.h>
4ade0 0a 23 69 66 20 64 65 66 69 6e 65 64 20 5f 5f 4d 53 56 43 52 54 5f 5f 20 7c 7c 20 64 65 66 69 6e .#if.defined.__MSVCRT__.||.defin
4ae00 65 64 20 5f 5f 4f 53 32 5f 5f 20 7c 7c 20 64 65 66 69 6e 65 64 20 5f 5f 44 4a 47 50 50 5f 5f 0a ed.__OS2__.||.defined.__DJGPP__.
4ae20 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 69 6f 2e #include.<fcntl.h>.#include.<io.
4ae40 68 3e 0a 23 65 6e 64 69 66 0a 0a 0a 63 6c 61 73 73 20 53 74 61 74 65 0a 20 20 7b 0a 20 20 69 6e h>.#endif...class.State...{...in
4ae60 74 20 73 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 t.st;..public:...enum.{.states.=
4ae80 20 31 32 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 .12.};...State().:.st(.0.).{}...
4aea0 69 6e 74 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 int.operator()().const.{.return.
4aec0 73 74 3b 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 st;.}...bool.is_char().const.{.r
4aee0 65 74 75 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 eturn.st.<.7;.}....void.set_char
4af00 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 6e 65 78 74 5b 73 74 61 74 ().....{.....const.int.next[stat
4af20 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 20 34 2c 20 es].=.{.0,.0,.0,.0,.1,.2,.3,.4,.
4af40 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 73 74 5d 3b 5,.6,.4,.5.};.....st.=.next[st];
4af60 0a 20 20 20 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 .....}...void.set_match().....{.
4af80 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
4afa0 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.<
4afc0 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
4afe0 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.:.
4b000 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
4b020 6e 61 72 79 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 nary_size.=.1.<<.12,...max_dicti
4b040 6f 6e 61 72 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 onary_size.=.1.<<.29,...literal_
4b060 63 6f 6e 74 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 context_bits.=.3,...literal_pos_
4b080 73 74 61 74 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 state_bits.=.0,....//.not.used..
4b0a0 20 70 6f 73 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 .pos_state_bits.=.2,...pos_state
4b0c0 73 20 3d 20 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 s.=.1.<<.pos_state_bits,...pos_s
4b0e0 74 61 74 65 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 tate_mask.=.pos_states.-.1,....l
4b100 65 6e 5f 73 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 en_states.=.4,...dis_slot_bits.=
4b120 20 36 2c 0a 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 .6,...start_dis_model.=.4,...end
4b140 5f 64 69 73 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 _dis_model.=.14,...modeled_dista
4b160 6e 63 65 73 20 3d 20 31 20 3c 3c 20 28 20 65 6e 64 5f 64 69 73 5f 6d 6f 64 65 6c 20 2f 20 32 20 nces.=.1.<<.(.end_dis_model./.2.
4b180 29 2c 09 2f 2f 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 ),.//.128...dis_align_bits.=.4,.
4b1a0 20 20 64 69 73 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 ..dis_align_size.=.1.<<.dis_alig
4b1c0 6e 5f 62 69 74 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 n_bits,....len_low_bits.=.3,...l
4b1e0 65 6e 5f 6d 69 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 en_mid_bits.=.3,...len_high_bits
4b200 20 3d 20 38 2c 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 .=.8,...len_low_symbols.=.1.<<.l
4b220 65 6e 5f 6c 6f 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 en_low_bits,...len_mid_symbols.=
4b240 20 31 20 3c 3c 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 .1.<<.len_mid_bits,...len_high_s
4b260 79 6d 62 6f 6c 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 ymbols.=.1.<<.len_high_bits,...m
4b280 61 78 5f 6c 65 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 ax_len_symbols.=.len_low_symbols
4b2a0 20 2b 20 6c 65 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 .+.len_mid_symbols.+.len_high_sy
4b2c0 6d 62 6f 6c 73 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 mbols,....min_match_len.=.2,....
4b2e0 09 2f 2f 20 6d 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 .//.must.be.2....bit_model_move_
4b300 62 69 74 73 20 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 bits.=.5,...bit_model_total_bits
4b320 20 3d 20 31 31 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 .=.11,...bit_model_total.=.1.<<.
4b340 62 69 74 5f 6d 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 bit_model_total_bits.};..struct.
4b360 42 69 74 5f 6d 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 Bit_model...{...int.probability;
4b380 0a 20 20 42 69 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 ...Bit_model().:.probability(.bi
4b3a0 74 5f 6d 6f 64 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 t_model_total./.2.).{}...};..str
4b3c0 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 68 uct.Len_model...{...Bit_model.ch
4b3e0 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 69 oice1;...Bit_model.choice2;...Bi
4b400 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 6c t_model.bm_low[pos_states][len_l
4b420 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 5b ow_symbols];...Bit_model.bm_mid[
4b440 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 20 pos_states][len_mid_symbols];...
4b460 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 6f Bit_model.bm_high[len_high_symbo
4b480 6c 73 5d 3b 0a 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 ls];...};...class.CRC32...{...ui
4b4a0 6e 74 33 32 5f 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 nt32_t.data[256];..//.Table.of.C
4b4c0 52 43 73 20 6f 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 RCs.of.all.8-bit.messages...publ
4b4e0 69 63 3a 0a 20 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 ic:...CRC32().....{.....for(.uns
4b500 69 67 6e 65 64 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 igned.n.=.0;.n.<.256;.++n.).....
4b520 20 20 7b 0a 20 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 ..{.......unsigned.c.=.n;.......
4b540 66 6f 72 28 20 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 for(.int.k.=.0;.k.<.8;.++k.)....
4b560 20 20 20 20 20 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 .....{.if(.c.&.1.).c.=.0xEDB8832
4b580 30 55 20 5e 20 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 0U.^.(.c.>>.1.);.else.c.>>=.1;.}
4b5a0 0a 20 20 20 20 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 .......data[n].=.c;.......}.....
4b5c0 7d 0a 0a 20 20 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 }....void.update_buf(.uint32_t.&
4b5e0 20 63 72 63 2c 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 .crc,.const.uint8_t.*.const.buff
4b600 65 72 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 69 6e 74 er,....................const.int
4b620 20 73 69 7a 65 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 .size.).const.....{.....for(.int
4b640 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 63 72 .i.=.0;.i.<.size;.++i.).......cr
4b660 63 20 3d 20 64 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 c.=.data[(crc^buffer[i])&0xFF].^
4b680 20 28 20 63 72 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 .(.crc.>>.8.);.....}...};..const
4b6a0 20 43 52 43 33 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 .CRC32.crc32;...typedef.uint8_t.
4b6c0 4c 7a 69 70 5f 68 65 61 64 65 72 5b 36 5d 3b 09 09 2f 2f 20 30 2d 33 20 6d 61 67 69 63 20 62 79 Lzip_header[6];..//.0-3.magic.by
4b6e0 74 65 73 0a 09 09 09 09 09 2f 2f 20 20 20 34 20 76 65 72 73 69 6f 6e 0a 09 09 09 09 09 2f 2f 20 tes......//...4.version......//.
4b700 20 20 35 20 63 6f 64 65 64 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 0a 74 79 70 65 64 65 ..5.coded.dictionary.size.typede
4b720 66 20 75 69 6e 74 38 5f 74 20 4c 7a 69 70 5f 74 72 61 69 6c 65 72 5b 32 30 5d 3b 0a 09 09 09 2f f.uint8_t.Lzip_trailer[20];..../
4b740 2f 20 20 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 /..0-3..CRC32.of.the.uncompresse
4b760 64 20 64 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 d.data....//..4-11.size.of.the.u
4b780 6e 63 6f 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 ncompressed.data....//.12-19.mem
4b7a0 62 65 72 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 ber.size.including.header.and.tr
4b7c0 61 69 6c 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 ailer..class.Range_decoder...{..
4b7e0 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 3b 0a .unsigned.long.long.member_pos;.
4b800 20 20 75 69 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 ..uint32_t.code;...uint32_t.rang
4b820 65 3b 0a 0a 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 e;..public:...Range_decoder().:.
4b840 6d 65 6d 62 65 72 5f 70 6f 73 28 20 36 20 29 2c 20 63 6f 64 65 28 20 30 20 29 2c 20 72 61 6e 67 member_pos(.6.),.code(.0.),.rang
4b860 65 28 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 e(.0xFFFFFFFFU.).....{.....for(.
4b880 69 6e 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 int.i.=.0;.i.<.5;.++i.).code.=.(
4b8a0 20 63 6f 64 65 20 3c 3c 20 38 20 29 20 7c 20 67 65 74 5f 62 79 74 65 28 29 3b 0a 20 20 20 20 7d .code.<<.8.).|.get_byte();.....}
4b8c0 0a 0a 20 20 75 69 6e 74 38 5f 74 20 67 65 74 5f 62 79 74 65 28 29 20 7b 20 2b 2b 6d 65 6d 62 65 ....uint8_t.get_byte().{.++membe
4b8e0 72 5f 70 6f 73 3b 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 r_pos;.return.std::getc(.stdin.)
4b900 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 6d 65 6d 62 65 72 5f ;.}...unsigned.long.long.member_
4b920 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 6d 65 6d 62 65 72 position().const.{.return.member
4b940 5f 70 6f 73 3b 20 7d 0a 0a 20 20 75 6e 73 69 67 6e 65 64 20 64 65 63 6f 64 65 28 20 63 6f 6e 73 _pos;.}....unsigned.decode(.cons
4b960 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
4b980 6e 65 64 20 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 ned.symbol.=.0;.....for(.int.i.=
4b9a0 20 6e 75 6d 5f 62 69 74 73 3b 20 69 20 3e 20 30 3b 20 2d 2d 69 20 29 0a 20 20 20 20 20 20 7b 0a .num_bits;.i.>.0;.--i.).......{.
4b9c0 20 20 20 20 20 20 72 61 6e 67 65 20 3e 3e 3d 20 31 3b 0a 20 20 20 20 20 20 73 79 6d 62 6f 6c 20 ......range.>>=.1;.......symbol.
4b9e0 3c 3c 3d 20 31 3b 0a 20 20 20 20 20 20 69 66 28 20 63 6f 64 65 20 3e 3d 20 72 61 6e 67 65 20 29 <<=.1;.......if(.code.>=.range.)
4ba00 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 3d 20 31 3b 20 7d .{.code.-=.range;.symbol.|=.1;.}
4ba20 0a 20 20 20 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 .......if(.range.<=.0x00FFFFFFU.
4ba40 29 09 09 09 2f 2f 20 6e 6f 72 6d 61 6c 69 7a 65 0a 20 20 20 20 20 20 20 20 7b 20 72 61 6e 67 65 )...//.normalize.........{.range
4ba60 20 3c 3c 3d 20 38 3b 20 63 6f 64 65 20 3d 20 28 20 63 6f 64 65 20 3c 3c 20 38 20 29 20 7c 20 67 .<<=.8;.code.=.(.code.<<.8.).|.g
4ba80 65 74 5f 62 79 74 65 28 29 3b 20 7d 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 72 65 74 75 72 6e 20 et_byte();.}.......}.....return.
4baa0 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 63 6f 64 65 symbol;.....}....unsigned.decode
4bac0 5f 62 69 74 28 20 42 69 74 5f 6d 6f 64 65 6c 20 26 20 62 6d 20 29 0a 20 20 20 20 7b 0a 20 20 20 _bit(.Bit_model.&.bm.).....{....
4bae0 20 75 6e 73 69 67 6e 65 64 20 73 79 6d 62 6f 6c 3b 0a 20 20 20 20 63 6f 6e 73 74 20 75 69 6e 74 .unsigned.symbol;.....const.uint
4bb00 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 6d 6f 64 65 32_t.bound.=.(.range.>>.bit_mode
4bb20 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 69 74 79 3b l_total_bits.).*.bm.probability;
4bb40 0a 20 20 20 20 69 66 28 20 63 6f 64 65 20 3c 20 62 6f 75 6e 64 20 29 0a 20 20 20 20 20 20 7b 0a .....if(.code.<.bound.).......{.
4bb60 20 20 20 20 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 ......range.=.bound;.......bm.pr
4bb80 6f 62 61 62 69 6c 69 74 79 20 2b 3d 0a 20 20 20 20 20 20 20 20 28 20 62 69 74 5f 6d 6f 64 65 6c obability.+=.........(.bit_model
4bba0 5f 74 6f 74 61 6c 20 2d 20 62 6d 2e 70 72 6f 62 61 62 69 6c 69 74 79 20 29 20 3e 3e 20 62 69 74 _total.-.bm.probability.).>>.bit
4bbc0 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.=
4bbe0 20 30 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 .0;.......}.....else.......{....
4bc00 20 20 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 ...range.-=.bound;.......code.-=
4bc20 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 2d 3d 20 .bound;.......bm.probability.-=.
4bc40 62 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 bm.probability.>>.bit_model_move
4bc60 5f 62 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 _bits;.......symbol.=.1;.......}
4bc80 0a 20 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 .....if(.range.<=.0x00FFFFFFU.).
4bca0 09 09 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 ...//.normalize.......{.range.<<
4bcc0 3d 20 38 3b 20 63 6f 64 65 20 3d 20 28 20 63 6f 64 65 20 3c 3c 20 38 20 29 20 7c 20 67 65 74 5f =.8;.code.=.(.code.<<.8.).|.get_
4bce0 62 79 74 65 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 byte();.}.....return.symbol;....
4bd00 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 28 20 42 69 74 5f .}....unsigned.decode_tree(.Bit_
4bd20 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 29 model.bm[],.const.int.num_bits.)
4bd40 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 20 31 3b 0a .....{.....unsigned.symbol.=.1;.
4bd60 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 6d 5f 62 69 74 73 ....for(.int.i.=.0;.i.<.num_bits
4bd80 3b 20 2b 2b 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 ;.++i.).......symbol.=.(.symbol.
4bda0 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].
4bdc0 29 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 73 79 6d 62 6f 6c 20 2d 20 28 20 31 20 3c 3c 20 6e 75 );.....return.symbol.-.(.1.<<.nu
4bde0 6d 5f 62 69 74 73 20 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 m_bits.);.....}....unsigned.deco
4be00 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 20 62 6d 5b 5d de_tree_reversed(.Bit_model.bm[]
4be20 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 20 7b 0a 20 20 20 ,.const.int.num_bits.).....{....
4be40 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 5f 74 72 65 65 28 20 .unsigned.symbol.=.decode_tree(.
4be60 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 6e 65 64 20 72 65 76 bm,.num_bits.);.....unsigned.rev
4be80 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 28 20 69 6e 74 20 69 ersed_symbol.=.0;.....for(.int.i
4bea0 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 0a 20 20 20 20 20 20 .=.0;.i.<.num_bits;.++i.).......
4bec0 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 20 28 20 72 65 76 65 {.......reversed_symbol.=.(.reve
4bee0 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 6d 62 6f 6c 20 26 20 rsed_symbol.<<.1.).|.(.symbol.&.
4bf00 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 20 20 20 20 20 20 7d 1.);.......symbol.>>=.1;.......}
4bf20 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 6f 6c 3b 0a 20 20 20 .....return.reversed_symbol;....
4bf40 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 63 68 65 64 28 20 42 .}....unsigned.decode_matched(.B
4bf60 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 67 6e 65 64 20 6d 61 it_model.bm[],.const.unsigned.ma
4bf80 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 73 79 tch_byte.).....{.....unsigned.sy
4bfa0 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 3d 20 37 3b 20 69 20 mbol.=.1;.....for(.int.i.=.7;.i.
4bfc0 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 73 74 20 >=.0;.--i.).......{.......const.
4bfe0 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 74 63 68 5f 62 79 74 unsigned.match_bit.=.(.match_byt
4c000 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 20 75 6e 73 69 67 6e e.>>.i.).&.1;.......const.unsign
4c020 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 79 6d 62 6f 6c 2b 28 ed.bit.=.decode_bit(.bm[symbol+(
4c040 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 20 20 20 20 20 73 79 match_bit<<8)+0x100].);.......sy
4c060 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 69 74 3b 0a 20 20 mbol.=.(.symbol.<<.1.).|.bit;...
4c080 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 29 0a 20 20 20 20 20 ....if(.match_bit.!=.bit.)......
4c0a0 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 6c 20 3c 20 30 78 31 ...{.........while(.symbol.<.0x1
4c0c0 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 20 73 79 6d 62 6f 6c 00.)...........symbol.=.(.symbol
4c0e0 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 6c 5d .<<.1.).|.decode_bit(.bm[symbol]
4c100 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 20 20 7d 0a 20 20 20 .);.........break;.........}....
4c120 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 30 78 46 46 3b 0a 20 ...}.....return.symbol.&.0xFF;..
4c140 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 65 6e 28 20 4c 65 6e ...}....unsigned.decode_len(.Len
4c160 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 73 5f 73 74 61 74 65 _model.&.lm,.const.int.pos_state
4c180 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 69 74 28 20 6c 6d 2e .).....{.....if(.decode_bit(.lm.
4c1a0 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 74 75 72 6e 20 64 65 choice1.).==.0.).......return.de
4c1c0 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 73 74 61 74 65 5d 2c code_tree(.lm.bm_low[pos_state],
4c1e0 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 64 65 63 6f 64 65 5f .len_low_bits.);.....if(.decode_
4c200 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 20 20 20 20 20 20 72 bit(.lm.choice2.).==.0.).......r
4c220 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 20 20 20 20 20 20 20 eturn.len_low_symbols.+.........
4c240 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 69 64 5b 70 6f 73 5f .....decode_tree(.lm.bm_mid[pos_
4c260 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 20 20 20 72 65 74 75 state],.len_mid_bits.);.....retu
4c280 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 5f 73 79 6d rn.len_low_symbols.+.len_mid_sym
4c2a0 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 74 72 65 65 28 20 6c bols.+............decode_tree(.l
4c2c0 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 29 3b 0a 20 20 20 20 m.bm_high,.len_high_bits.);.....
4c2e0 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 0a 20 20 7b 0a 20 20 }...};...class.LZ_decoder...{...
4c300 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 64 61 74 61 5f unsigned.long.long.partial_data_
4c320 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 3b 0a 20 20 63 6f 6e pos;...Range_decoder.rdec;...con
4c340 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 3b 0a 20 20 75 st.unsigned.dictionary_size;...u
4c360 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 74 int8_t.*.const.buffer;.//.output
4c380 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 09 2f 2f 20 63 75 72 .buffer...unsigned.pos;...//.cur
4c3a0 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 67 6e 65 64 20 73 74 rent.pos.in.buffer...unsigned.st
4c3c0 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 6e 6f 74 20 79 65 74 ream_pos;..//.first.byte.not.yet
4c3e0 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 33 32 5f 74 20 63 72 .written.to.stdout...uint32_t.cr
4c400 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 20 20 76 6f 69 64 20 c_;...bool.pos_wrapped;....void.
4c420 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 70 65 65 6b 28 20 63 flush_data();....uint8_t.peek(.c
4c440 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 63 6f 6e 73 74 0a 20 onst.unsigned.distance.).const..
4c460 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 63 65 20 29 20 72 65 ...{.....if(.pos.>.distance.).re
4c480 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 65 20 2d 20 31 5d 3b turn.buffer[pos.-.distance.-.1];
4c4a0 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 74 75 72 6e 20 62 75 .....if(.pos_wrapped.).return.bu
4c4c0 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 73 20 2d 20 64 69 73 ffer[dictionary_size.+.pos.-.dis
4c4e0 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 09 09 09 2f 2f 20 70 tance.-.1];.....return.0;...//.p
4c500 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 20 20 7d 0a 0a 20 20 rev_byte.of.first.byte.....}....
4c520 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 29 void.put_byte(.const.uint8_t.b.)
4c540 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 20 .....{.....buffer[pos].=.b;.....
4c560 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 66 if(.++pos.>=.dictionary_size.).f
4c580 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 63 3a 0a 20 20 65 78 lush_data();.....}..public:...ex
4c5a0 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 75 6e 73 69 67 6e 65 plicit.LZ_decoder(.const.unsigne
4c5c0 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 61 72 74 69 61 6c 5f d.dict_size.).....:.....partial_
4c5e0 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 6e 61 72 79 5f 73 69 data_pos(.0.),.....dictionary_si
4c600 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 65 72 28 20 6e 65 77 ze(.dict_size.),.....buffer(.new
4c620 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 20 29 2c 0a 20 20 20 .uint8_t[dictionary_size].),....
4c640 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 28 20 30 20 29 2c 0a .pos(.0.),.....stream_pos(.0.),.
4c660 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 70 6f 73 ....crc_(.0xFFFFFFFFU.),.....pos
4c680 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 0a 20 20 7e 4c 5a 5f _wrapped(.false.).....{}....~LZ_
4c6a0 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 65 72 3b 20 7d 0a 0a decoder().{.delete[].buffer;.}..
4c6c0 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 72 65 74 75 72 6e 20 ..unsigned.crc().const.{.return.
4c6e0 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 6e 73 69 67 6e 65 64 crc_.^.0xFFFFFFFFU;.}...unsigned
4c700 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 29 20 63 6f 6e 73 74 .long.long.data_position().const
4c720 0a 20 20 20 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 73 20 2b .....{.return.partial_data_pos.+
4c740 20 70 6f 73 3b 20 7d 0a 20 20 75 69 6e 74 38 5f 74 20 67 65 74 5f 62 79 74 65 28 29 20 7b 20 72 .pos;.}...uint8_t.get_byte().{.r
4c760 65 74 75 72 6e 20 72 64 65 63 2e 67 65 74 5f 62 79 74 65 28 29 3b 20 7d 0a 20 20 75 6e 73 69 67 eturn.rdec.get_byte();.}...unsig
4c780 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 6f 6e 28 29 20 ned.long.long.member_position().
4c7a0 63 6f 6e 73 74 0a 20 20 20 20 7b 20 72 65 74 75 72 6e 20 72 64 65 63 2e 6d 65 6d 62 65 72 5f 70 const.....{.return.rdec.member_p
4c7c0 6f 73 69 74 69 6f 6e 28 29 3b 20 7d 0a 0a 20 20 62 6f 6f 6c 20 64 65 63 6f 64 65 5f 6d 65 6d 62 osition();.}....bool.decode_memb
4c7e0 65 72 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 er();...};...void.LZ_decoder::fl
4c800 75 73 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 ush_data()...{...if(.pos.>.strea
4c820 6d 5f 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 m_pos.).....{.....const.unsigned
4c840 20 73 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 .size.=.pos.-.stream_pos;.....cr
4c860 63 33 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 c32.update_buf(.crc_,.buffer.+.s
4c880 74 72 65 61 6d 5f 70 6f 73 2c 20 73 69 7a 65 20 29 3b 0a 20 20 20 20 69 66 28 20 73 74 64 3a 3a tream_pos,.size.);.....if(.std::
4c8a0 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,.
4c8c0 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.).......{
4c8e0 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
4c900 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
4c920 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.);.}.
4c940 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.)
4c960 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
4c980 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;.}
4c9a0 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;.....}...}
4c9c0 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
4c9e0 72 28 29 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 20 r().//.Returns.false.if.error...
4ca00 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 65 {...Bit_model.bm_literal[1<<lite
4ca20 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 5f ral_context_bits][0x300];...Bit_
4ca40 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 6f model.bm_match[State::states][po
4ca60 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 74 s_states];...Bit_model.bm_rep[St
4ca80 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 70 ate::states];...Bit_model.bm_rep
4caa0 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 6d 0[State::states];...Bit_model.bm
4cac0 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 65 _rep1[State::states];...Bit_mode
4cae0 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 5f l.bm_rep2[State::states];...Bit_
4cb00 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 5f model.bm_len[State::states][pos_
4cb20 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 74 states];...Bit_model.bm_dis_slot
4cb40 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 0a [len_states][1<<dis_slot_bits];.
4cb60 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 61 ..Bit_model.bm_dis[modeled_dista
4cb80 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 64 nces-end_dis_model+1];...Bit_mod
4cba0 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 4c el.bm_align[dis_align_size];...L
4cbc0 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 5f en_model.match_len_model;...Len_
4cbe0 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 20 model.rep_len_model;...unsigned.
4cc00 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 6f rep0.=.0;..//.rep[0-3].latest.fo
4cc20 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 30 ur.distances...unsigned.rep1.=.0
4cc40 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 20 ;..//.used.for.efficient.coding.
4cc60 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 65 of...unsigned.rep2.=.0;..//.repe
4cc80 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 3d ated.distances...unsigned.rep3.=
4cca0 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 74 .0;...State.state;....while(.!st
4ccc0 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 72 d::feof(.stdin.).&&.!std::ferror
4cce0 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 20 (.stdin.).).....{.....const.int.
4cd00 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 6f pos_state.=.data_position().&.po
4cd20 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 64 s_state_mask;.....if(.rdec.decod
4cd40 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 61 e_bit(.bm_match[state()][pos_sta
4cd60 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 0a te].).==.0.).//.1st.bit.......{.
4cd80 20 20 20 20 20 20 2f 2f 20 6c 69 74 65 72 61 6c 20 62 79 74 65 0a 20 20 20 20 20 20 63 6f 6e 73 ......//.literal.byte.......cons
4cda0 74 20 75 69 6e 74 38 5f 74 20 70 72 65 76 5f 62 79 74 65 20 3d 20 70 65 65 6b 28 20 30 20 29 3b t.uint8_t.prev_byte.=.peek(.0.);
4cdc0 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 6c 69 74 65 72 61 6c 5f 73 74 61 74 65 20 3d .......const.int.literal_state.=
4cde0 20 70 72 65 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 .prev_byte.>>.(.8.-.literal_cont
4ce00 65 78 74 5f 62 69 74 73 20 29 3b 0a 20 20 20 20 20 20 42 69 74 5f 6d 6f 64 65 6c 20 2a 20 63 6f ext_bits.);.......Bit_model.*.co
4ce20 6e 73 74 20 62 6d 20 3d 20 62 6d 5f 6c 69 74 65 72 61 6c 5b 6c 69 74 65 72 61 6c 5f 73 74 61 74 nst.bm.=.bm_literal[literal_stat
4ce40 65 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 28 29 20 29 0a e];.......if(.state.is_char().).
4ce60 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 5f 74 72 ........put_byte(.rdec.decode_tr
4ce80 65 65 28 20 62 6d 2c 20 38 20 29 20 29 3b 0a 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 ee(.bm,.8.).);.......else.......
4cea0 20 20 70 75 74 5f 62 79 74 65 28 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 6d 61 74 63 68 65 64 28 ..put_byte(.rdec.decode_matched(
4cec0 20 62 6d 2c 20 70 65 65 6b 28 20 72 65 70 30 20 29 20 29 20 29 3b 0a 20 20 20 20 20 20 73 74 61 .bm,.peek(.rep0.).).);.......sta
4cee0 74 65 2e 73 65 74 5f 63 68 61 72 28 29 3b 0a 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 te.set_char();.......continue;..
4cf00 20 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 6d 61 74 63 68 20 6f 72 20 72 65 70 65 61 74 65 64 20 .....}.....//.match.or.repeated.
4cf20 6d 61 74 63 68 0a 20 20 20 20 69 6e 74 20 6c 65 6e 3b 0a 20 20 20 20 69 66 28 20 72 64 65 63 2e match.....int.len;.....if(.rdec.
4cf40 64 65 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 20 29 20 21 3d decode_bit(.bm_rep[state()].).!=
4cf60 20 30 20 29 09 09 2f 2f 20 32 6e 64 20 62 69 74 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 69 .0.)..//.2nd.bit.......{.......i
4cf80 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 74 f(.rdec.decode_bit(.bm_rep0[stat
4cfa0 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 20 e()].).==.0.)..//.3rd.bit.......
4cfc0 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 64 65 5f 62 69 74 28 ..{.........if(.rdec.decode_bit(
4cfe0 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 20 29 20 3d 3d .bm_len[state()][pos_state].).==
4d000 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 7b 20 73 74 61 74 .0.).//.4th.bit...........{.stat
4d020 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
4d040 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;.}........
4d060 20 7d 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 20 20 20 20 .}.......else.........{.........
4d080 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 69 66 28 20 72 unsigned.distance;.........if(.r
4d0a0 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 65 28 29 5d dec.decode_bit(.bm_rep1[state()]
4d0c0 20 29 20 3d 3d 20 30 20 29 09 09 2f 2f 20 34 74 68 20 62 69 74 0a 20 20 20 20 20 20 20 20 20 20 .).==.0.)..//.4th.bit...........
4d0e0 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 65 6c 73 65 0a 20 20 distance.=.rep1;.........else...
4d100 20 20 20 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 ........{...........if(.rdec.dec
4d120 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 20 29 20 3d 3d 20 30 ode_bit(.bm_rep2[state()].).==.0
4d140 20 29 09 2f 2f 20 35 74 68 20 62 69 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 69 73 74 61 6e .).//.5th.bit.............distan
4d160 63 65 20 3d 20 72 65 70 32 3b 0a 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 ce.=.rep2;...........else.......
4d180 20 20 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 ......{.distance.=.rep3;.rep3.=.
4d1a0 72 65 70 32 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 72 65 70 32 20 3d 20 72 65 70 31 3b 0a 20 rep2;.}...........rep2.=.rep1;..
4d1c0 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 70 31 20 3d 20 72 65 70 30 3b 0a .........}.........rep1.=.rep0;.
4d1e0 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 20 20 20 20 20 20 ........rep0.=.distance;........
4d200 20 7d 0a 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 .}.......state.set_rep();.......
4d220 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 64 65 63 6f 64 len.=.min_match_len.+.rdec.decod
4d240 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 74 61 74 65 20 e_len(.rep_len_model,.pos_state.
4d260 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 61 74 63 68 );.......}.....else.....//.match
4d280 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 72 65 70 33 20 3d 20 72 65 70 32 3b 20 72 65 70 32 .......{.......rep3.=.rep2;.rep2
4d2a0 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 20 20 20 6c 65 6e 20 .=.rep1;.rep1.=.rep0;.......len.
4d2c0 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
4d2e0 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.);
4d300 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 6c 65 6e 5f 73 74 61 74 65 20 3d 20 73 74 64 .......const.int.len_state.=.std
4d320 3a 3a 6d 69 6e 28 20 6c 65 6e 20 2d 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 2c 20 6c 65 6e 5f ::min(.len.-.min_match_len,.len_
4d340 73 74 61 74 65 73 20 2d 20 31 20 29 3b 0a 20 20 20 20 20 20 72 65 70 30 20 3d 20 72 64 65 63 2e states.-.1.);.......rep0.=.rdec.
4d360 64 65 63 6f 64 65 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 decode_tree(.bm_dis_slot[len_sta
4d380 74 65 5d 2c 20 64 69 73 5f 73 6c 6f 74 5f 62 69 74 73 20 29 3b 0a 20 20 20 20 20 20 69 66 28 20 te],.dis_slot_bits.);.......if(.
4d3a0 72 65 70 30 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 rep0.>=.start_dis_model.).......
4d3c0 20 20 7b 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 73 5f 73 ..{.........const.unsigned.dis_s
4d3e0 6c 6f 74 20 3d 20 72 65 70 30 3b 0a 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 64 69 lot.=.rep0;.........const.int.di
4d400 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 2d 20 rect_bits.=.(.dis_slot.>>.1.).-.
4d420 31 3b 0a 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 73 5f 73 6c 1;.........rep0.=.(.2.|.(.dis_sl
4d440 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 20 20 20 20 ot.&.1.).).<<.direct_bits;......
4d460 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 6d 6f 64 65 6c 20 ...if(.dis_slot.<.end_dis_model.
4d480 29 0a 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 64 65 5f )...........rep0.+=.rdec.decode_
4d4a0 74 72 65 65 5f 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 tree_reversed(.bm_dis.+.(.rep0.-
4d4c0 20 64 69 73 5f 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 .dis_slot.),....................
4d4e0 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 72 65 63 74 ..........................direct
4d500 5f 62 69 74 73 20 29 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 _bits.);.........else...........
4d520 7b 0a 20 20 20 20 20 20 20 20 20 20 72 65 70 30 20 2b 3d 0a 20 20 20 20 20 20 20 20 20 20 20 20 {...........rep0.+=.............
4d540 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 69 73 5f 61 rdec.decode(.direct_bits.-.dis_a
4d560 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 73 3b 0a 20 lign_bits.).<<.dis_align_bits;..
4d580 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 64 65 5f 74 72 65 .........rep0.+=.rdec.decode_tre
4d5a0 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 61 6c 69 67 6e 5f e_reversed(.bm_align,.dis_align_
4d5c0 62 69 74 73 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 69 66 28 20 72 65 70 30 20 3d 3d 20 30 78 bits.);...........if(.rep0.==.0x
4d5e0 46 46 46 46 46 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 FFFFFFFFU.)..//.marker.found....
4d600 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6c 75 73 68 5f 64 61 74 .........{.............flush_dat
4d620 61 28 29 3b 0a 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 3d a();.............return.(.len.==
4d640 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 65 .min_match_len.);.//.End.Of.Stre
4d660 61 6d 20 6d 61 72 6b 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 am.marker.............}.........
4d680 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 73 74 61 74 65 2e 73 65 74 5f 6d 61 ..}.........}.......state.set_ma
4d6a0 74 63 68 28 29 3b 0a 20 20 20 20 20 20 69 66 28 20 72 65 70 30 20 3e 3d 20 64 69 63 74 69 6f 6e tch();.......if(.rep0.>=.diction
4d6c0 61 72 79 5f 73 69 7a 65 20 7c 7c 20 28 20 72 65 70 30 20 3e 3d 20 70 6f 73 20 26 26 20 21 70 6f ary_size.||.(.rep0.>=.pos.&&.!po
4d6e0 73 5f 77 72 61 70 70 65 64 20 29 20 29 0a 20 20 20 20 20 20 20 20 7b 20 66 6c 75 73 68 5f 64 61 s_wrapped.).).........{.flush_da
4d700 74 61 28 29 3b 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 20 7d 0a 20 20 20 20 20 20 7d 0a 20 20 ta();.return.false;.}.......}...
4d720 20 20 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 ..for(.int.i.=.0;.i.<.len;.++i.)
4d740 20 70 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 7d .put_byte(.peek(.rep0.).);.....}
4d760 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 66 61 6c 73 65 3b ...flush_data();...return.false;
4d780 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 20 61 72 67 63 2c ...}...int.main(.const.int.argc,
4d7a0 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 20 29 0a 20 20 7b .const.char.*.const.argv[].)...{
4d7c0 0a 20 20 69 66 28 20 61 72 67 63 20 3e 20 32 20 7c 7c 20 28 20 61 72 67 63 20 3d 3d 20 32 20 26 ...if(.argc.>.2.||.(.argc.==.2.&
4d7e0 26 20 73 74 64 3a 3a 73 74 72 63 6d 70 28 20 61 72 67 76 5b 31 5d 2c 20 22 2d 64 22 20 29 20 21 &.std::strcmp(.argv[1],."-d".).!
4d800 3d 20 30 20 29 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 73 74 64 3a 3a 70 72 69 6e 74 66 28 0a 20 =.0.).).....{.....std::printf(..
4d820 20 20 20 20 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 ....."Lzd.%s.-.Educational.decom
4d840 70 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 2e 5c 6e 22 0a pressor.for.the.lzip.format.\n".
4d860 20 20 20 20 20 20 22 53 74 75 64 79 20 74 68 65 20 73 6f 75 72 63 65 20 74 6f 20 6c 65 61 72 6e ......"Study.the.source.to.learn
4d880 20 68 6f 77 20 61 20 6c 7a 69 70 20 64 65 63 6f 6d 70 72 65 73 73 6f 72 20 77 6f 72 6b 73 2e 5c .how.a.lzip.decompressor.works.\
4d8a0 6e 22 0a 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 6f n"......."See.the.lzip.manual.fo
4d8c0 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 22 r.an.explanation.of.the.code.\n"
4d8e0 0a 20 20 20 20 20 20 22 5c 6e 55 73 61 67 65 3a 20 25 73 20 5b 2d 64 5d 20 3c 20 66 69 6c 65 2e ......."\nUsage:.%s.[-d].<.file.
4d900 6c 7a 20 3e 20 66 69 6c 65 5c 6e 22 0a 20 20 20 20 20 20 22 4c 7a 64 20 64 65 63 6f 6d 70 72 65 lz.>.file\n"......."Lzd.decompre
4d920 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
4d940 64 61 72 64 20 6f 75 74 70 75 74 2e 5c 6e 22 0a 20 20 20 20 20 20 22 5c 6e 43 6f 70 79 72 69 67 dard.output.\n"......."\nCopyrig
4d960 68 74 20 28 43 29 20 32 30 32 32 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 5c 6e ht.(C).2022.Antonio.Diaz.Diaz.\n
4d980 22 0a 20 20 20 20 20 20 22 4c 69 63 65 6e 73 65 20 32 2d 63 6c 61 75 73 65 20 42 53 44 2e 5c 6e "......."License.2-clause.BSD.\n
4d9a0 22 0a 20 20 20 20 20 20 22 54 68 69 73 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 "......."This.is.free.software:.
4d9c0 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 20 72 65 64 69 73 you.are.free.to.change.and.redis
4d9e0 74 72 69 62 75 74 65 20 69 74 2e 5c 6e 22 0a 20 20 20 20 20 20 22 54 68 65 72 65 20 69 73 20 4e tribute.it.\n"......."There.is.N
4da00 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 74 O.WARRANTY,.to.the.extent.permit
4da20 74 65 64 20 62 79 20 6c 61 77 2e 5c 6e 22 0a 20 20 20 20 20 20 22 52 65 70 6f 72 74 20 62 75 67 ted.by.law.\n"......."Report.bug
4da40 73 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 s.to.lzip-bug@nongnu.org\n".....
4da60 20 20 22 4c 7a 64 20 68 6f 6d 65 20 70 61 67 65 3a 20 68 74 74 70 3a 2f 2f 77 77 77 2e 6e 6f 6e .."Lzd.home.page:.http://www.non
4da80 67 6e 75 2e 6f 72 67 2f 6c 7a 69 70 2f 6c 7a 64 2e 68 74 6d 6c 5c 6e 22 2c 0a 20 20 20 20 20 20 gnu.org/lzip/lzd.html\n",.......
4daa0 50 52 4f 47 56 45 52 53 49 4f 4e 2c 20 61 72 67 76 5b 30 5d 20 29 3b 0a 20 20 20 20 72 65 74 75 PROGVERSION,.argv[0].);.....retu
4dac0 72 6e 20 30 3b 0a 20 20 20 20 7d 0a 0a 23 69 66 20 64 65 66 69 6e 65 64 20 5f 5f 4d 53 56 43 52 rn.0;.....}..#if.defined.__MSVCR
4dae0 54 5f 5f 20 7c 7c 20 64 65 66 69 6e 65 64 20 5f 5f 4f 53 32 5f 5f 20 7c 7c 20 64 65 66 69 6e 65 T__.||.defined.__OS2__.||.define
4db00 64 20 5f 5f 44 4a 47 50 50 5f 5f 0a 20 20 73 65 74 6d 6f 64 65 28 20 53 54 44 49 4e 5f 46 49 4c d.__DJGPP__...setmode(.STDIN_FIL
4db20 45 4e 4f 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 ENO,.O_BINARY.);...setmode(.STDO
4db40 55 54 5f 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 UT_FILENO,.O_BINARY.);.#endif...
4db60 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 65 3b 20 .for(.bool.first_member.=.true;.
4db80 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 7b 0a 20 ;.first_member.=.false.).....{..
4dba0 20 20 20 4c 7a 69 70 5f 68 65 61 64 65 72 20 68 65 61 64 65 72 3b 09 09 09 09 2f 2f 20 76 65 72 ...Lzip_header.header;....//.ver
4dbc0 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 3b 20 69 ify.header.....for(.int.i.=.0;.i
4dbe0 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 67 65 74 .<.6;.++i.).header[i].=.std::get
4dc00 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 28 20 73 c(.stdin.);.....if(.std::feof(.s
4dc20 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 2c 20 22 tdin.).||.std::memcmp(.header,."
4dc40 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 0a 20 20 LZIP\x01",.5.).!=.0.).......{...
4dc60 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 20 20 7b ....if(.first_member.).........{
4dc80 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 72 20 28 .std::fputs(."Bad.magic.number.(
4dca0 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 0a 20 20 file.not.in.lzip.format).\n",...
4dcc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 64 65 72 72 20 29 3b 20 72 65 ....................stderr.);.re
4dce0 74 75 72 6e 20 32 3b 20 7d 0a 20 20 20 20 20 20 62 72 65 61 6b 3b 09 09 09 09 09 2f 2f 20 69 67 turn.2;.}.......break;.....//.ig
4dd00 6e 6f 72 65 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 75 nore.trailing.data.......}.....u
4dd20 6e 73 69 67 6e 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 nsigned.dict_size.=.1.<<.(.heade
4dd40 72 5b 35 5d 20 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 r[5].&.0x1F.);.....dict_size.-=.
4dd60 28 20 64 69 63 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 (.dict_size./.16.).*.(.(.header[
4dd80 35 5d 20 3e 3e 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 5].>>.5.).&.7.);.....if(.dict_si
4dda0 7a 65 20 3c 20 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 ze.<.min_dictionary_size.||.dict
4ddc0 5f 73 69 7a 65 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 _size.>.max_dictionary_size.)...
4dde0 20 20 20 20 7b 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 ....{.std::fputs(."Invalid.dicti
4de00 6f 6e 61 72 79 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 onary.size.in.member.header.\n",
4de20 20 73 74 64 65 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 .stderr.);.........return.2;.}..
4de40 20 20 20 20 4c 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 ....LZ_decoder.decoder(.dict_siz
4de60 65 20 29 3b 09 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 e.);..//.decode.LZMA.stream.....
4de80 69 66 28 20 21 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 if(.!decoder.decode_member().)..
4dea0 20 20 20 20 20 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 .....{.std::fputs(."Data.error\n
4dec0 22 2c 20 73 74 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 4c 7a ",.stderr.);.return.2;.}......Lz
4dee0 69 70 5f 74 72 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 ip_trailer.trailer;...//.verify.
4df00 74 72 61 69 6c 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 trailer.....for(.int.i.=.0;.i.<.
4df20 32 30 3b 20 2b 2b 69 20 29 20 74 72 61 69 6c 65 72 5b 69 5d 20 3d 20 64 65 63 6f 64 65 72 2e 67 20;.++i.).trailer[i].=.decoder.g
4df40 65 74 5f 62 79 74 65 28 29 3b 0a 20 20 20 20 69 6e 74 20 72 65 74 76 61 6c 20 3d 20 30 3b 0a 20 et_byte();.....int.retval.=.0;..
4df60 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 66 6f 72 28 20 69 6e ...unsigned.crc.=.0;.....for(.in
4df80 74 20 69 20 3d 20 33 3b 20 69 20 3e 3d 20 30 3b 20 2d 2d 69 20 29 20 63 72 63 20 3d 20 28 20 63 t.i.=.3;.i.>=.0;.--i.).crc.=.(.c
4dfa0 72 63 20 3c 3c 20 38 20 29 20 2b 20 74 72 61 69 6c 65 72 5b 69 5d 3b 0a 20 20 20 20 69 66 28 20 rc.<<.8.).+.trailer[i];.....if(.
4dfc0 63 72 63 20 21 3d 20 64 65 63 6f 64 65 72 2e 63 72 63 28 29 20 29 0a 20 20 20 20 20 20 7b 20 73 crc.!=.decoder.crc().).......{.s
4dfe0 74 64 3a 3a 66 70 75 74 73 28 20 22 43 52 43 20 6d 69 73 6d 61 74 63 68 5c 6e 22 2c 20 73 74 64 td::fputs(."CRC.mismatch\n",.std
4e000 65 72 72 20 29 3b 20 72 65 74 76 61 6c 20 3d 20 32 3b 20 7d 0a 0a 20 20 20 20 75 6e 73 69 67 6e err.);.retval.=.2;.}......unsign
4e020 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 30 3b 0a 20 20 20 20 ed.long.long.data_size.=.0;.....
4e040 66 6f 72 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 0a 20 for(.int.i.=.11;.i.>=.4;.--i.)..
4e060 20 20 20 20 20 64 61 74 61 5f 73 69 7a 65 20 3d 20 28 20 64 61 74 61 5f 73 69 7a 65 20 3c 3c 20 .....data_size.=.(.data_size.<<.
4e080 38 20 29 20 2b 20 74 72 61 69 6c 65 72 5b 69 5d 3b 0a 20 20 20 20 69 66 28 20 64 61 74 61 5f 73 8.).+.trailer[i];.....if(.data_s
4e0a0 69 7a 65 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 ize.!=.decoder.data_position().)
4e0c0 0a 20 20 20 20 20 20 7b 20 73 74 64 3a 3a 66 70 75 74 73 28 20 22 44 61 74 61 20 73 69 7a 65 20 .......{.std::fputs(."Data.size.
4e0e0 6d 69 73 6d 61 74 63 68 5c 6e 22 2c 20 73 74 64 65 72 72 20 29 3b 20 72 65 74 76 61 6c 20 3d 20 mismatch\n",.stderr.);.retval.=.
4e100 32 3b 20 7d 0a 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6d 65 6d 2;.}......unsigned.long.long.mem
4e120 62 65 72 5f 73 69 7a 65 20 3d 20 30 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 31 ber_size.=.0;.....for(.int.i.=.1
4e140 39 3b 20 69 20 3e 3d 20 31 32 3b 20 2d 2d 69 20 29 0a 20 20 20 20 20 20 6d 65 6d 62 65 72 5f 73 9;.i.>=.12;.--i.).......member_s
4e160 69 7a 65 20 3d 20 28 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 3c 3c 20 38 20 29 20 2b 20 74 72 61 ize.=.(.member_size.<<.8.).+.tra
4e180 69 6c 65 72 5b 69 5d 3b 0a 20 20 20 20 69 66 28 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 21 3d 20 iler[i];.....if(.member_size.!=.
4e1a0 64 65 63 6f 64 65 72 2e 6d 65 6d 62 65 72 5f 70 6f 73 69 74 69 6f 6e 28 29 20 29 0a 20 20 20 20 decoder.member_position().).....
4e1c0 20 20 7b 20 73 74 64 3a 3a 66 70 75 74 73 28 20 22 4d 65 6d 62 65 72 20 73 69 7a 65 20 6d 69 73 ..{.std::fputs(."Member.size.mis
4e1e0 6d 61 74 63 68 5c 6e 22 2c 20 73 74 64 65 72 72 20 29 3b 20 72 65 74 76 61 6c 20 3d 20 32 3b 20 match\n",.stderr.);.retval.=.2;.
4e200 7d 0a 20 20 20 20 69 66 28 20 72 65 74 76 61 6c 20 29 20 72 65 74 75 72 6e 20 72 65 74 76 61 6c }.....if(.retval.).return.retval
4e220 3b 0a 20 20 20 20 7d 0a 0a 20 20 69 66 28 20 73 74 64 3a 3a 66 63 6c 6f 73 65 28 20 73 74 64 6f ;.....}....if(.std::fclose(.stdo
4e240 75 74 20 29 20 21 3d 20 30 20 29 0a 20 20 20 20 7b 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 28 20 ut.).!=.0.).....{.std::fprintf(.
4e260 73 74 64 65 72 72 2c 20 22 45 72 72 6f 72 20 63 6c 6f 73 69 6e 67 20 73 74 64 6f 75 74 3a 20 25 stderr,."Error.closing.stdout:.%
4e280 73 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 73 74 64 3a 3a 73 s\n",.....................std::s
4e2a0 74 72 65 72 72 6f 72 28 20 65 72 72 6e 6f 20 29 20 29 3b 20 72 65 74 75 72 6e 20 31 3b 20 7d 0a trerror(.errno.).);.return.1;.}.
4e2c0 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 61 74 69 6d 0a 0a 0a ..return.0;...}.@end.verbatim...
4e2e0 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 6d 62 65 72 65 64 20 @node.Concept.index.@unnumbered.
4e300 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 78 20 63 70 0a 0a 40 Concept.index..@printindex.cp..@
4e320 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 00 00 00 00 00 00 00 bye.............................
4e340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e400 6c 7a 69 70 2d 31 2e 32 33 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.23/doc/lzip.1............
4e420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
4e480 30 30 31 30 33 31 34 00 31 34 31 37 33 35 37 31 31 33 36 00 30 31 34 32 32 37 00 20 30 00 00 00 0010314.14173571136.014227..0...
4e4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e500 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
4e520 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
4e540 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
4e560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e600 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
4e620 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 37 2e .was.generated.by.help2man.1.47.
4e640 31 36 2e 0a 2e 54 48 20 4c 5a 49 50 20 22 31 22 20 22 4a 61 6e 75 61 72 79 20 32 30 32 32 22 20 16...TH.LZIP."1"."January.2022".
4e660 22 6c 7a 69 70 20 31 2e 32 33 22 20 22 55 73 65 72 20 43 6f 6d 6d 61 6e 64 73 22 0a 2e 53 48 20 "lzip.1.23"."User.Commands"..SH.
4e680 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
4e6a0 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
4e6c0 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
4e6e0 5d 0a 2e 53 48 20 44 45 53 43 52 49 50 54 49 4f 4e 0a 4c 7a 69 70 20 69 73 20 61 20 6c 6f 73 73 ]..SH.DESCRIPTION.Lzip.is.a.loss
4e700 6c 65 73 73 20 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 less.data.compressor.with.a.user
4e720 20 69 6e 74 65 72 66 61 63 65 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 65 20 6f 6e 65 0a 6f 66 .interface.similar.to.the.one.of
4e740 20 67 7a 69 70 20 6f 72 20 62 7a 69 70 32 2e 20 4c 7a 69 70 20 75 73 65 73 20 61 20 73 69 6d 70 .gzip.or.bzip2..Lzip.uses.a.simp
4e760 6c 69 66 69 65 64 20 66 6f 72 6d 20 6f 66 20 74 68 65 20 27 4c 65 6d 70 65 6c 5c 2d 5a 69 76 5c lified.form.of.the.'Lempel\-Ziv\
4e780 2d 4d 61 72 6b 6f 76 0a 63 68 61 69 6e 5c 2d 41 6c 67 6f 72 69 74 68 6d 27 20 28 4c 5a 4d 41 29 -Markov.chain\-Algorithm'.(LZMA)
4e7a0 20 73 74 72 65 61 6d 20 66 6f 72 6d 61 74 20 61 6e 64 20 70 72 6f 76 69 64 65 73 20 61 20 33 20 .stream.format.and.provides.a.3.
4e7c0 66 61 63 74 6f 72 20 69 6e 74 65 67 72 69 74 79 0a 63 68 65 63 6b 69 6e 67 20 74 6f 20 6d 61 78 factor.integrity.checking.to.max
4e7e0 69 6d 69 7a 65 20 69 6e 74 65 72 6f 70 65 72 61 62 69 6c 69 74 79 20 61 6e 64 20 6f 70 74 69 6d imize.interoperability.and.optim
4e800 69 7a 65 20 73 61 66 65 74 79 2e 20 4c 7a 69 70 20 63 61 6e 20 63 6f 6d 70 72 65 73 73 0a 61 62 ize.safety..Lzip.can.compress.ab
4e820 6f 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 5c 66 42 5c 2d 30 out.as.fast.as.gzip.(lzip.\fB\-0
4e840 5c 66 52 29 20 6f 72 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 \fR).or.compress.most.files.more
4e860 20 74 68 61 6e 20 62 7a 69 70 32 0a 28 6c 7a 69 70 20 5c 66 42 5c 2d 39 5c 66 52 29 2e 20 44 65 .than.bzip2.(lzip.\fB\-9\fR)..De
4e880 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 69 61 74 compression.speed.is.intermediat
4e8a0 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 0a 4c 7a 69 70 20 69 e.between.gzip.and.bzip2..Lzip.i
4e8c0 73 20 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 66 72 6f s.better.than.gzip.and.bzip2.fro
4e8e0 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 2e 20 4c m.a.data.recovery.perspective..L
4e900 7a 69 70 0a 68 61 73 20 62 65 65 6e 20 64 65 73 69 67 6e 65 64 2c 20 77 72 69 74 74 65 6e 2c 20 zip.has.been.designed,.written,.
4e920 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 20 74 6f 20 72 65 and.tested.with.great.care.to.re
4e940 70 6c 61 63 65 20 67 7a 69 70 20 61 6e 64 0a 62 7a 69 70 32 20 61 73 20 74 68 65 20 73 74 61 6e place.gzip.and.bzip2.as.the.stan
4e960 64 61 72 64 20 67 65 6e 65 72 61 6c 5c 2d 70 75 72 70 6f 73 65 20 63 6f 6d 70 72 65 73 73 65 64 dard.general\-purpose.compressed
4e980 20 66 6f 72 6d 61 74 20 66 6f 72 20 75 6e 69 78 5c 2d 6c 69 6b 65 0a 73 79 73 74 65 6d 73 2e 0a .format.for.unix\-like.systems..
4e9a0 2e 53 48 20 4f 50 54 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 .SH.OPTIONS..TP.\fB\-h\fR,.\fB\-
4e9c0 5c 2d 68 65 6c 70 5c 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 \-help\fR.display.this.help.and.
4e9e0 65 78 69 74 0a 2e 54 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 exit..TP.\fB\-V\fR,.\fB\-\-versi
4ea00 6f 6e 5c 66 52 0a 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 on\fR.output.version.information
4ea20 20 61 6e 64 20 65 78 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 .and.exit..TP.\fB\-a\fR,.\fB\-\-
4ea40 74 72 61 69 6c 69 6e 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 trailing\-error\fR.exit.with.err
4ea60 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 0a 2e 54 50 0a 5c or.status.if.trailing.data..TP.\
4ea80 66 42 5c 2d 62 5c 66 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 fB\-b\fR,.\fB\-\-member\-size=\f
4eaa0 52 3c 62 79 74 65 73 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 R<bytes>.set.member.size.limit.i
4eac0 6e 20 62 79 74 65 73 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 n.bytes..TP.\fB\-c\fR,.\fB\-\-st
4eae0 64 6f 75 74 5c 66 52 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 dout\fR.write.to.standard.output
4eb00 2c 20 6b 65 65 70 20 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 ,.keep.input.files..TP.\fB\-d\fR
4eb20 2c 20 5c 66 42 5c 2d 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 ,.\fB\-\-decompress\fR.decompres
4eb40 73 0a 2e 54 50 0a 5c 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 s..TP.\fB\-f\fR,.\fB\-\-force\fR
4eb60 0a 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 66 69 6c 65 73 .overwrite.existing.output.files
4eb80 0a 2e 54 50 0a 5c 66 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 ..TP.\fB\-F\fR,.\fB\-\-recompres
4eba0 73 5c 66 52 0a 66 6f 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 s\fR.force.re\-compression.of.co
4ebc0 6d 70 72 65 73 73 65 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 mpressed.files..TP.\fB\-k\fR,.\f
4ebe0 42 5c 2d 5c 2d 6b 65 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 B\-\-keep\fR.keep.(don't.delete)
4ec00 20 69 6e 70 75 74 20 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 .input.files..TP.\fB\-l\fR,.\fB\
4ec20 2d 5c 2d 6c 69 73 74 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 -\-list\fR.print.(un)compressed.
4ec40 66 69 6c 65 20 73 69 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 file.sizes..TP.\fB\-m\fR,.\fB\-\
4ec60 2d 6d 61 74 63 68 5c 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 -match\-length=\fR<bytes>.set.ma
4ec80 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 33 36 5d 0a 2e tch.length.limit.in.bytes.[36]..
4eca0 54 50 0a 5c 66 42 5c 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 TP.\fB\-o\fR,.\fB\-\-output=\fR<
4ecc0 66 69 6c 65 3e 0a 77 72 69 74 65 20 74 6f 20 3c 66 69 6c 65 3e 2c 20 6b 65 65 70 20 69 6e 70 75 file>.write.to.<file>,.keep.inpu
4ece0 74 20 66 69 6c 65 73 0a 2e 54 50 0a 5c 66 42 5c 2d 71 5c 66 52 2c 20 5c 66 42 5c 2d 5c 2d 71 75 t.files..TP.\fB\-q\fR,.\fB\-\-qu
4ed00 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 54 50 iet\fR.suppress.all.messages..TP
4ed20 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 2d 73 .\fB\-s\fR,.\fB\-\-dictionary\-s
4ed40 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 73 69 ize=\fR<bytes>.set.dictionary.si
4ed60 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 5c 66 ze.limit.in.bytes.[8.MiB]..TP.\f
4ed80 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 66 52 B\-S\fR,.\fB\-\-volume\-size=\fR
4eda0 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 69 6e <bytes>.set.volume.size.limit.in
4edc0 20 62 79 74 65 73 0a 2e 54 50 0a 5c 66 42 5c 2d 74 5c 66 52 2c 20 5c 66 42 5c 2d 5c 2d 74 65 73 .bytes..TP.\fB\-t\fR,.\fB\-\-tes
4ede0 74 5c 66 52 0a 74 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 t\fR.test.compressed.file.integr
4ee00 69 74 79 0a 2e 54 50 0a 5c 66 42 5c 2d 76 5c 66 52 2c 20 5c 66 42 5c 2d 5c 2d 76 65 72 62 6f 73 ity..TP.\fB\-v\fR,.\fB\-\-verbos
4ee20 65 5c 66 52 0a 62 65 20 76 65 72 62 6f 73 65 20 28 61 20 32 6e 64 20 5c 66 42 5c 2d 76 5c 66 52 e\fR.be.verbose.(a.2nd.\fB\-v\fR
4ee40 20 67 69 76 65 73 20 6d 6f 72 65 29 0a 2e 54 50 0a 5c 66 42 5c 2d 30 5c 66 52 20 2e 2e 20 5c 66 .gives.more)..TP.\fB\-0\fR....\f
4ee60 42 5c 2d 39 5c 66 52 0a 73 65 74 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6c 65 76 65 6c 20 5b 64 B\-9\fR.set.compression.level.[d
4ee80 65 66 61 75 6c 74 20 36 5d 0a 2e 54 50 0a 5c 66 42 5c 2d 5c 2d 66 61 73 74 5c 66 52 0a 61 6c 69 efault.6]..TP.\fB\-\-fast\fR.ali
4eea0 61 73 20 66 6f 72 20 5c 66 42 5c 2d 30 5c 66 52 0a 2e 54 50 0a 5c 66 42 5c 2d 5c 2d 62 65 73 74 as.for.\fB\-0\fR..TP.\fB\-\-best
4eec0 5c 66 52 0a 61 6c 69 61 73 20 66 6f 72 20 5c 66 42 5c 2d 39 5c 66 52 0a 2e 54 50 0a 5c 66 42 5c \fR.alias.for.\fB\-9\fR..TP.\fB\
4eee0 2d 5c 2d 6c 6f 6f 73 65 5c 2d 74 72 61 69 6c 69 6e 67 5c 66 52 0a 61 6c 6c 6f 77 20 74 72 61 69 -\-loose\-trailing\fR.allow.trai
4ef00 6c 69 6e 67 20 64 61 74 61 20 73 65 65 6d 69 6e 67 20 63 6f 72 72 75 70 74 20 68 65 61 64 65 72 ling.data.seeming.corrupt.header
4ef20 0a 2e 50 50 0a 49 66 20 6e 6f 20 66 69 6c 65 20 6e 61 6d 65 73 20 61 72 65 20 67 69 76 65 6e 2c ..PP.If.no.file.names.are.given,
4ef40 20 6f 72 20 69 66 20 61 20 66 69 6c 65 20 69 73 20 27 5c 2d 27 2c 20 6c 7a 69 70 20 63 6f 6d 70 .or.if.a.file.is.'\-',.lzip.comp
4ef60 72 65 73 73 65 73 20 6f 72 0a 64 65 63 6f 6d 70 72 65 73 73 65 73 20 66 72 6f 6d 20 73 74 61 6e resses.or.decompresses.from.stan
4ef80 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 0a 4e dard.input.to.standard.output..N
4efa0 75 6d 62 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 umbers.may.be.followed.by.a.mult
4efc0 69 70 6c 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 0a 4b 69 iplier:.k.=.kB.=.10^3.=.1000,.Ki
4efe0 20 3d 20 4b 69 42 20 3d 20 32 5e 31 30 20 3d 20 31 30 32 34 2c 20 4d 20 3d 20 31 30 5e 36 2c 20 .=.KiB.=.2^10.=.1024,.M.=.10^6,.
4f000 4d 69 20 3d 20 32 5e 32 30 2c 20 47 20 3d 20 31 30 5e 39 2c 20 47 69 20 3d 20 32 5e 33 30 2c 20 Mi.=.2^20,.G.=.10^9,.Gi.=.2^30,.
4f020 65 74 63 2e 2e 2e 0a 44 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 73 20 31 32 20 74 6f 20 32 39 etc....Dictionary.sizes.12.to.29
4f040 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 20 74 77 .are.interpreted.as.powers.of.tw
4f060 6f 2c 20 6d 65 61 6e 69 6e 67 20 32 5e 31 32 0a 74 6f 20 32 5e 32 39 20 62 79 74 65 73 2e 0a 2e o,.meaning.2^12.to.2^29.bytes...
4f080 50 50 0a 54 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 PP.The.bidimensional.parameter.s
4f0a0 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 70 65 64 20 74 6f 20 pace.of.LZMA.can't.be.mapped.to.
4f0c0 61 20 6c 69 6e 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 a.linear.scale.optimal.for.all.f
4f0e0 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 76 iles..If.your.files.are.large,.v
4f100 65 72 79 20 72 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 ery.repetitive,.etc,.you.may.nee
4f120 64 20 74 6f 20 75 73 65 20 74 68 65 20 6f 70 74 69 6f 6e 73 20 5c 66 42 5c 2d 5c 2d 64 69 63 74 d.to.use.the.options.\fB\-\-dict
4f140 69 6f 6e 61 72 79 5c 2d 73 69 7a 65 5c 66 52 20 61 6e 64 20 5c 66 42 5c 2d 5c 2d 6d 61 74 63 68 ionary\-size\fR.and.\fB\-\-match
4f160 5c 2d 6c 65 6e 67 74 68 5c 66 52 0a 64 69 72 65 63 74 6c 79 20 74 6f 20 61 63 68 69 65 76 65 20 \-length\fR.directly.to.achieve.
4f180 6f 70 74 69 6d 61 6c 20 70 65 72 66 6f 72 6d 61 6e 63 65 2e 0a 2e 50 50 0a 54 6f 20 65 78 74 72 optimal.performance...PP.To.extr
4f1a0 61 63 74 20 61 6c 6c 20 74 68 65 20 66 69 6c 65 73 20 66 72 6f 6d 20 61 72 63 68 69 76 65 20 27 act.all.the.files.from.archive.'
4f1c0 66 6f 6f 2e 74 61 72 2e 6c 7a 27 2c 20 75 73 65 20 74 68 65 20 63 6f 6d 6d 61 6e 64 73 0a 5c 26 foo.tar.lz',.use.the.commands.\&
4f1e0 27 74 61 72 20 5c 66 42 5c 2d 78 66 5c 66 52 20 66 6f 6f 2e 74 61 72 2e 6c 7a 27 20 6f 72 20 27 'tar.\fB\-xf\fR.foo.tar.lz'.or.'
4f200 6c 7a 69 70 20 5c 66 42 5c 2d 63 64 5c 66 52 20 66 6f 6f 2e 74 61 72 2e 6c 7a 20 7c 20 74 61 72 lzip.\fB\-cd\fR.foo.tar.lz.|.tar
4f220 20 5c 66 42 5c 2d 78 66 5c 66 52 20 5c 2d 27 2e 0a 2e 50 50 0a 45 78 69 74 20 73 74 61 74 75 73 .\fB\-xf\fR.\-'...PP.Exit.status
4f240 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 65 6e 76 :.0.for.a.normal.exit,.1.for.env
4f260 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 0a 6e 6f 74 20 66 6f ironmental.problems.(file.not.fo
4f280 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 73 2c 20 und,.invalid.flags,.I/O.errors,.
4f2a0 65 74 63 29 2c 20 32 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 etc),.2.to.indicate.a.corrupt.or
4f2c0 0a 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 69 6e .invalid.input.file,.3.for.an.in
4f2e0 74 65 72 6e 61 6c 20 63 6f 6e 73 69 73 74 65 6e 63 79 20 65 72 72 6f 72 20 28 65 2e 67 2e 2c 20 ternal.consistency.error.(e.g.,.
4f300 62 75 67 29 20 77 68 69 63 68 0a 63 61 75 73 65 64 20 6c 7a 69 70 20 74 6f 20 70 61 6e 69 63 2e bug).which.caused.lzip.to.panic.
4f320 0a 2e 50 50 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 69 70 20 ..PP.The.ideas.embodied.in.lzip.
4f340 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 6c 6f 77 are.due.to.(at.least).the.follow
4f360 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 64 20 4a ing.people:.Abraham.Lempel.and.J
4f380 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 6d 29 2c acob.Ziv.(for.the.LZ.algorithm),
4f3a0 20 41 6e 64 72 65 79 20 4d 61 72 6b 6f 76 20 28 66 6f 72 20 74 68 65 0a 64 65 66 69 6e 69 74 69 .Andrey.Markov.(for.the.definiti
4f3c0 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 4d 61 72 on.of.Markov.chains),.G.N.N..Mar
4f3e0 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 20 72 61 6e 67 65 tin.(for.the.definition.of.range
4f400 0a 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 70 75 74 .encoding),.Igor.Pavlov.(for.put
4f420 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 6e 20 4c ting.all.the.above.together.in.L
4f440 5a 4d 41 29 2c 20 61 6e 64 0a 4a 75 6c 69 61 6e 20 53 65 77 61 72 64 20 28 66 6f 72 20 62 7a 69 ZMA),.and.Julian.Seward.(for.bzi
4f460 70 32 27 73 20 43 4c 49 29 2e 0a 2e 53 48 20 22 52 45 50 4f 52 54 49 4e 47 20 42 55 47 53 22 0a p2's.CLI)...SH."REPORTING.BUGS".
4f480 52 65 70 6f 72 74 20 62 75 67 73 20 74 6f 20 6c 7a 69 70 5c 2d 62 75 67 40 6e 6f 6e 67 6e 75 2e Report.bugs.to.lzip\-bug@nongnu.
4f4a0 6f 72 67 0a 2e 62 72 0a 4c 7a 69 70 20 68 6f 6d 65 20 70 61 67 65 3a 20 68 74 74 70 3a 2f 2f 77 org..br.Lzip.home.page:.http://w
4f4c0 77 77 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 0a 2e 53 48 ww.nongnu.org/lzip/lzip.html..SH
4f4e0 20 43 4f 50 59 52 49 47 48 54 0a 43 6f 70 79 72 69 67 68 74 20 5c 28 63 6f 20 32 30 32 32 20 41 .COPYRIGHT.Copyright.\(co.2022.A
4f500 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 4c 69 63 65 6e 73 65 20 47 50 4c 76 32 2b ntonio.Diaz.Diaz..License.GPLv2+
4f520 3a 20 47 4e 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 :.GNU.GPL.version.2.or.later.<ht
4f540 74 70 3a 2f 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 0a tp://gnu.org/licenses/gpl.html>.
4f560 2e 62 72 0a 54 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 .br.This.is.free.software:.you.a
4f580 72 65 20 66 72 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 re.free.to.change.and.redistribu
4f5a0 74 65 20 69 74 2e 0a 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 te.it..There.is.NO.WARRANTY,.to.
4f5c0 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 0a 2e 53 48 the.extent.permitted.by.law...SH
4f5e0 20 22 53 45 45 20 41 4c 53 4f 22 0a 54 68 65 20 66 75 6c 6c 20 64 6f 63 75 6d 65 6e 74 61 74 69 ."SEE.ALSO".The.full.documentati
4f600 6f 6e 20 66 6f 72 0a 2e 42 20 6c 7a 69 70 0a 69 73 20 6d 61 69 6e 74 61 69 6e 65 64 20 61 73 20 on.for..B.lzip.is.maintained.as.
4f620 61 20 54 65 78 69 6e 66 6f 20 6d 61 6e 75 61 6c 2e 20 20 49 66 20 74 68 65 0a 2e 42 20 69 6e 66 a.Texinfo.manual...If.the..B.inf
4f640 6f 0a 61 6e 64 0a 2e 42 20 6c 7a 69 70 0a 70 72 6f 67 72 61 6d 73 20 61 72 65 20 70 72 6f 70 65 o.and..B.lzip.programs.are.prope
4f660 72 6c 79 20 69 6e 73 74 61 6c 6c 65 64 20 61 74 20 79 6f 75 72 20 73 69 74 65 2c 20 74 68 65 20 rly.installed.at.your.site,.the.
4f680 63 6f 6d 6d 61 6e 64 0a 2e 49 50 0a 2e 42 20 69 6e 66 6f 20 6c 7a 69 70 0a 2e 50 50 0a 73 68 6f command..IP..B.info.lzip..PP.sho
4f6a0 75 6c 64 20 67 69 76 65 20 79 6f 75 20 61 63 63 65 73 73 20 74 6f 20 74 68 65 20 63 6f 6d 70 6c uld.give.you.access.to.the.compl
4f6c0 65 74 65 20 6d 61 6e 75 61 6c 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ete.manual......................
4f6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f800 6c 7a 69 70 2d 31 2e 32 33 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.23/doc/lzip.info.........
4f820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f860 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
4f880 30 32 30 33 31 36 35 00 31 34 31 37 33 35 36 36 33 35 34 00 30 31 35 30 34 30 00 20 30 00 00 00 0203165.14173566354.015040..0...
4f8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f900 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
4f920 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
4f940 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
4f960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4fa00 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
4fa20 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.
4fa40 74 65 78 69 2e 0a 0a 49 4e 46 4f 2d 44 49 52 2d 53 45 43 54 49 4f 4e 20 43 6f 6d 70 72 65 73 73 texi...INFO-DIR-SECTION.Compress
4fa60 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 4c 7a 69 70 3a ion.START-INFO-DIR-ENTRY.*.Lzip:
4fa80 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
4faa0 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 49 4e 46 4f 2d ssless.data.compressor.END-INFO-
4fac0 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 6f 2c 20 20 4e DIR-ENTRY....File:.lzip.info,..N
4fae0 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 6f 6e 2c 20 20 ode:.Top,..Next:.Introduction,..
4fb00 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 2a 2a 2a 2a 2a Up:.(dir)..Lzip.Manual.*********
4fb20 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 20 28 76 65 72 **..This.manual.is.for.Lzip.(ver
4fb40 73 69 6f 6e 20 31 2e 32 33 2c 20 32 34 20 4a 61 6e 75 61 72 79 20 32 30 32 32 29 2e 0a 0a 2a 20 sion.1.23,.24.January.2022)...*.
4fb60 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 20 20 20 20 20 20 Menu:..*.Introduction::.........
4fb80 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 6c 7a 69 70 0a 2a ..Purpose.and.features.of.lzip.*
4fba0 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 4d 65 61 6e 69 6e .Output::.................Meanin
4fbc0 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 69 6e 67 20 6c 7a g.of.lzip's.output.*.Invoking.lz
4fbe0 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 20 69 6e 74 65 72 ip::..........Command.line.inter
4fc00 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 20 20 20 20 20 20 face.*.Quality.assurance::......
4fc20 44 65 73 69 67 6e 2c 20 64 65 76 65 6c 6f 70 6d 65 6e 74 2c 20 61 6e 64 20 74 65 73 74 69 6e 67 Design,.development,.and.testing
4fc40 20 6f 66 20 6c 7a 69 70 0a 2a 20 41 6c 67 6f 72 69 74 68 6d 3a 3a 20 20 20 20 20 20 20 20 20 20 .of.lzip.*.Algorithm::..........
4fc60 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 68 65 20 64 61 74 61 ....How.lzip.compresses.the.data
4fc80 0a 2a 20 46 69 6c 65 20 66 6f 72 6d 61 74 3a 3a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 74 61 .*.File.format::............Deta
4fca0 69 6c 65 64 20 66 6f 72 6d 61 74 20 6f 66 20 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 20 66 69 iled.format.of.the.compressed.fi
4fcc0 6c 65 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 20 20 20 46 6f le.*.Stream.format::..........Fo
4fce0 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 69 70 20 rmat.of.the.LZMA.stream.in.lzip.
4fd00 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 20 20 20 20 20 files.*.Trailing.data::.........
4fd20 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 20 66 69 6c 65 .Extra.data.appended.to.the.file
4fd40 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 20 41 20 73 6d .*.Examples::...............A.sm
4fd60 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 20 50 72 6f all.tutorial.with.examples.*.Pro
4fd80 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 74 69 6e 67 20 blems::...............Reporting.
4fda0 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 65 3a 3a 20 20 bugs.*.Reference.source.code::..
4fdc0 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 72 65 61 6d 20 Source.code.illustrating.stream.
4fde0 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 20 20 20 20 20 format.*.Concept.index::........
4fe00 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 70 79 72 69 67 ..Index.of.concepts......Copyrig
4fe20 68 74 20 28 43 29 20 32 30 30 38 2d 32 30 32 32 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 ht.(C).2008-2022.Antonio.Diaz.Di
4fe40 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 20 64 6f 63 75 az......This.manual.is.free.docu
4fe60 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 20 70 65 mentation:.you.have.unlimited.pe
4fe80 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 2c 20 61 6e rmission.to.copy,.distribute,.an
4fea0 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 6e 66 6f 2c d.modify.it.....File:.lzip.info,
4fec0 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 20 4f 75 74 ..Node:.Introduction,..Next:.Out
4fee0 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 20 49 6e 74 put,..Prev:.Top,..Up:.Top..1.Int
4ff00 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 69 70 20 69 roduction.**************..Lzip.i
4ff20 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 20 77 69 74 s.a.lossless.data.compressor.wit
4ff40 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 6f 20 74 68 h.a.user.interface.similar.to.th
4ff60 65 20 6f 6e 65 0a 6f 66 20 67 7a 69 70 20 6f 72 20 62 7a 69 70 32 2e 20 4c 7a 69 70 20 75 73 65 e.one.of.gzip.or.bzip2..Lzip.use
4ff80 73 20 61 20 73 69 6d 70 6c 69 66 69 65 64 20 66 6f 72 6d 20 6f 66 20 74 68 65 20 27 4c 65 6d 70 s.a.simplified.form.of.the.'Lemp
4ffa0 65 6c 2d 5a 69 76 2d 4d 61 72 6b 6f 76 0a 63 68 61 69 6e 2d 41 6c 67 6f 72 69 74 68 6d 27 20 28 el-Ziv-Markov.chain-Algorithm'.(
4ffc0 4c 5a 4d 41 29 20 73 74 72 65 61 6d 20 66 6f 72 6d 61 74 20 61 6e 64 20 70 72 6f 76 69 64 65 73 LZMA).stream.format.and.provides
4ffe0 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 6e 67 20 74 .a.3.factor.integrity.checking.t
50000 6f 20 6d 61 78 69 6d 69 7a 65 20 69 6e 74 65 72 6f 70 65 72 61 62 69 6c 69 74 79 20 61 6e 64 20 o.maximize.interoperability.and.
50020 6f 70 74 69 6d 69 7a 65 20 73 61 66 65 74 79 2e 20 4c 7a 69 70 20 63 61 6e 20 63 6f 6d 70 72 65 optimize.safety..Lzip.can.compre
50040 73 73 0a 61 62 6f 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 ss.about.as.fast.as.gzip.(lzip.-
50060 30 29 20 6f 72 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 0).or.compress.most.files.more.t
50080 68 61 6e 20 62 7a 69 70 32 0a 28 6c 7a 69 70 20 2d 39 29 2e 20 44 65 63 6f 6d 70 72 65 73 73 69 han.bzip2.(lzip.-9)..Decompressi
500a0 6f 6e 20 73 70 65 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 on.speed.is.intermediate.between
500c0 20 67 7a 69 70 20 61 6e 64 20 62 7a 69 70 32 2e 20 4c 7a 69 70 0a 69 73 20 62 65 74 74 65 72 20 .gzip.and.bzip2..Lzip.is.better.
500e0 74 68 61 6e 20 67 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 than.gzip.and.bzip2.from.a.data.
50100 72 65 63 6f 76 65 72 79 20 70 65 72 73 70 65 63 74 69 76 65 2e 20 4c 7a 69 70 20 68 61 73 0a 62 recovery.perspective..Lzip.has.b
50120 65 65 6e 20 64 65 73 69 67 6e 65 64 2c 20 77 72 69 74 74 65 6e 2c 20 61 6e 64 20 74 65 73 74 65 een.designed,.written,.and.teste
50140 64 20 77 69 74 68 20 67 72 65 61 74 20 63 61 72 65 20 74 6f 20 72 65 70 6c 61 63 65 20 67 7a 69 d.with.great.care.to.replace.gzi
50160 70 20 61 6e 64 0a 62 7a 69 70 32 20 61 73 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 67 65 6e 65 p.and.bzip2.as.the.standard.gene
50180 72 61 6c 2d 70 75 72 70 6f 73 65 20 63 6f 6d 70 72 65 73 73 65 64 20 66 6f 72 6d 61 74 20 66 6f ral-purpose.compressed.format.fo
501a0 72 20 75 6e 69 78 2d 6c 69 6b 65 0a 73 79 73 74 65 6d 73 2e 0a 0a 20 20 20 46 6f 72 20 63 6f 6d r.unix-like.systems......For.com
501c0 70 72 65 73 73 69 6e 67 2f 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 20 6c 61 72 67 65 20 66 69 6c pressing/decompressing.large.fil
501e0 65 73 20 6f 6e 20 6d 75 6c 74 69 70 72 6f 63 65 73 73 6f 72 20 6d 61 63 68 69 6e 65 73 0a 70 6c es.on.multiprocessor.machines.pl
50200 7a 69 70 20 63 61 6e 20 62 65 20 6d 75 63 68 20 66 61 73 74 65 72 20 74 68 61 6e 20 6c 7a 69 70 zip.can.be.much.faster.than.lzip
50220 20 61 74 20 74 68 65 20 63 6f 73 74 20 6f 66 20 61 20 73 6c 69 67 68 74 6c 79 20 72 65 64 75 63 .at.the.cost.of.a.slightly.reduc
50240 65 64 0a 63 6f 6d 70 72 65 73 73 69 6f 6e 20 72 61 74 69 6f 2e 20 2a 4e 6f 74 65 20 70 6c 7a 69 ed.compression.ratio..*Note.plzi
50260 70 20 6d 61 6e 75 61 6c 3a 20 28 70 6c 7a 69 70 29 54 6f 70 2e 0a 0a 20 20 20 46 6f 72 20 63 72 p.manual:.(plzip)Top......For.cr
50280 65 61 74 69 6f 6e 20 61 6e 64 20 6d 61 6e 69 70 75 6c 61 74 69 6f 6e 20 6f 66 20 63 6f 6d 70 72 eation.and.manipulation.of.compr
502a0 65 73 73 65 64 20 74 61 72 20 61 72 63 68 69 76 65 73 20 74 61 72 6c 7a 20 63 61 6e 20 62 65 0a essed.tar.archives.tarlz.can.be.
502c0 6d 6f 72 65 20 65 66 66 69 63 69 65 6e 74 20 74 68 61 6e 20 75 73 69 6e 67 20 74 61 72 20 61 6e more.efficient.than.using.tar.an
502e0 64 20 70 6c 7a 69 70 20 62 65 63 61 75 73 65 20 74 61 72 6c 7a 20 69 73 20 61 62 6c 65 20 74 6f d.plzip.because.tarlz.is.able.to
50300 20 6b 65 65 70 20 74 68 65 0a 61 6c 69 67 6e 6d 65 6e 74 20 62 65 74 77 65 65 6e 20 74 61 72 20 .keep.the.alignment.between.tar.
50320 6d 65 6d 62 65 72 73 20 61 6e 64 20 6c 7a 69 70 20 6d 65 6d 62 65 72 73 2e 20 2a 4e 6f 74 65 20 members.and.lzip.members..*Note.
50340 74 61 72 6c 7a 20 6d 61 6e 75 61 6c 3a 0a 28 74 61 72 6c 7a 29 54 6f 70 2e 0a 0a 20 20 20 54 68 tarlz.manual:.(tarlz)Top......Th
50360 65 20 6c 7a 69 70 20 66 69 6c 65 20 66 6f 72 6d 61 74 20 69 73 20 64 65 73 69 67 6e 65 64 20 66 e.lzip.file.format.is.designed.f
50380 6f 72 20 64 61 74 61 20 73 68 61 72 69 6e 67 20 61 6e 64 20 6c 6f 6e 67 2d 74 65 72 6d 0a 61 72 or.data.sharing.and.long-term.ar
503a0 63 68 69 76 69 6e 67 2c 20 74 61 6b 69 6e 67 20 69 6e 74 6f 20 61 63 63 6f 75 6e 74 20 62 6f 74 chiving,.taking.into.account.bot
503c0 68 20 64 61 74 61 20 69 6e 74 65 67 72 69 74 79 20 61 6e 64 20 64 65 63 6f 64 65 72 20 61 76 61 h.data.integrity.and.decoder.ava
503e0 69 6c 61 62 69 6c 69 74 79 3a 0a 0a 20 20 20 2a 20 54 68 65 20 6c 7a 69 70 20 66 6f 72 6d 61 74 ilability:.....*.The.lzip.format
50400 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 74 79 20 63 68 .provides.very.safe.integrity.ch
50420 65 63 6b 69 6e 67 20 61 6e 64 20 73 6f 6d 65 20 64 61 74 61 0a 20 20 20 20 20 72 65 63 6f 76 65 ecking.and.some.data......recove
50440 72 79 20 6d 65 61 6e 73 2e 20 54 68 65 20 70 72 6f 67 72 61 6d 20 6c 7a 69 70 72 65 63 6f 76 65 ry.means..The.program.lziprecove
50460 72 20 63 61 6e 20 72 65 70 61 69 72 20 62 69 74 20 66 6c 69 70 20 65 72 72 6f 72 73 0a 20 20 20 r.can.repair.bit.flip.errors....
50480 20 20 28 6f 6e 65 20 6f 66 20 74 68 65 20 6d 6f 73 74 20 63 6f 6d 6d 6f 6e 20 66 6f 72 6d 73 20 ..(one.of.the.most.common.forms.
504a0 6f 66 20 64 61 74 61 20 63 6f 72 72 75 70 74 69 6f 6e 29 20 69 6e 20 6c 7a 69 70 20 66 69 6c 65 of.data.corruption).in.lzip.file
504c0 73 2c 20 61 6e 64 0a 20 20 20 20 20 70 72 6f 76 69 64 65 73 20 64 61 74 61 20 72 65 63 6f 76 65 s,.and......provides.data.recove
504e0 72 79 20 63 61 70 61 62 69 6c 69 74 69 65 73 2c 20 69 6e 63 6c 75 64 69 6e 67 20 65 72 72 6f 72 ry.capabilities,.including.error
50500 2d 63 68 65 63 6b 65 64 20 6d 65 72 67 69 6e 67 0a 20 20 20 20 20 6f 66 20 64 61 6d 61 67 65 64 -checked.merging......of.damaged
50520 20 63 6f 70 69 65 73 20 6f 66 20 61 20 66 69 6c 65 2e 20 2a 4e 6f 74 65 20 44 61 74 61 20 73 61 .copies.of.a.file..*Note.Data.sa
50540 66 65 74 79 3a 20 28 6c 7a 69 70 72 65 63 6f 76 65 72 29 44 61 74 61 0a 20 20 20 20 20 73 61 66 fety:.(lziprecover)Data......saf
50560 65 74 79 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 61 73 ety......*.The.lzip.format.is.as
50580 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 69 6d .simple.as.possible.(but.not.sim
505a0 70 6c 65 72 29 2e 20 54 68 65 20 6c 7a 69 70 0a 20 20 20 20 20 6d 61 6e 75 61 6c 20 70 72 6f 76 pler)..The.lzip......manual.prov
505c0 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 6c 65 ides.the.source.code.of.a.simple
505e0 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 20 20 20 20 20 .decompressor.along.with.a......
50600 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
50620 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
50640 20 6f 66 20 74 68 65 0a 20 20 20 20 20 6c 7a 69 70 20 6d 61 6e 75 61 6c 20 69 74 20 77 6f 75 6c .of.the......lzip.manual.it.woul
50660 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 20 61 72 63 68 d.be.possible.for.a.digital.arch
50680 61 65 6f 6c 6f 67 69 73 74 20 74 6f 20 65 78 74 72 61 63 74 0a 20 20 20 20 20 74 68 65 20 64 61 aeologist.to.extract......the.da
506a0 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 20 71 ta.from.a.lzip.file.long.after.q
506c0 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 6c 79 0a 20 20 20 20 uantum.computers.eventually.....
506e0 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 64 64 .render.LZMA.obsolete......*.Add
50700 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 6d 70 itionally.the.lzip.reference.imp
50720 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 63 68 lementation.is.copylefted,.which
50740 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 72 65 ......guarantees.that.it.will.re
50760 6d 61 69 6e 20 66 72 65 65 20 66 6f 72 65 76 65 72 2e 0a 0a 20 20 20 41 20 6e 69 63 65 20 66 65 main.free.forever......A.nice.fe
50780 61 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 ature.of.the.lzip.format.is.that
507a0 20 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 .a.corrupt.byte.is.easier.to.rep
507c0 61 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 air.the.nearer.it.is.from.the.be
507e0 67 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 ginning.of.the.file..Therefore,.
50800 77 69 74 68 20 74 68 65 0a 68 65 6c 70 20 6f 66 20 6c 7a 69 70 72 65 63 6f 76 65 72 2c 20 6c 6f with.the.help.of.lziprecover,.lo
50820 73 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 sing.an.entire.archive.just.beca
50840 75 73 65 20 6f 66 20 61 20 63 6f 72 72 75 70 74 0a 62 79 74 65 20 6e 65 61 72 20 74 68 65 20 62 use.of.a.corrupt.byte.near.the.b
50860 65 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 eginning.is.a.thing.of.the.past.
50880 0a 0a 20 20 20 54 68 65 20 6d 65 6d 62 65 72 20 74 72 61 69 6c 65 72 20 73 74 6f 72 65 73 20 74 .....The.member.trailer.stores.t
508a0 68 65 20 33 32 2d 62 69 74 20 43 52 43 20 6f 66 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 64 61 he.32-bit.CRC.of.the.original.da
508c0 74 61 2c 20 74 68 65 20 73 69 7a 65 0a 6f 66 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 64 61 74 ta,.the.size.of.the.original.dat
508e0 61 2c 20 61 6e 64 20 74 68 65 20 73 69 7a 65 20 6f 66 20 74 68 65 20 6d 65 6d 62 65 72 2e 20 54 a,.and.the.size.of.the.member..T
50900 68 65 73 65 20 76 61 6c 75 65 73 2c 20 74 6f 67 65 74 68 65 72 0a 77 69 74 68 20 74 68 65 20 22 hese.values,.together.with.the."
50920 45 6e 64 20 4f 66 20 53 74 72 65 61 6d 22 20 6d 61 72 6b 65 72 2c 20 70 72 6f 76 69 64 65 20 61 End.Of.Stream".marker,.provide.a
50940 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 0a 77 68 69 .3.factor.integrity.checking.whi
50960 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 6f 6d 70 72 65 73 ch.guarantees.that.the.decompres
50980 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 20 69 64 65 6e 74 sed.version.of.the.data.is.ident
509a0 69 63 61 6c 20 74 6f 0a 74 68 65 20 6f 72 69 67 69 6e 61 6c 2e 20 54 68 69 73 20 67 75 61 72 64 ical.to.the.original..This.guard
509c0 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 65 20 63 6f 6d 70 s.against.corruption.of.the.comp
509e0 72 65 73 73 65 64 20 64 61 74 61 2c 20 61 6e 64 0a 61 67 61 69 6e 73 74 20 75 6e 64 65 74 65 63 ressed.data,.and.against.undetec
50a00 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 79 20 76 65 72 79 ted.bugs.in.lzip.(hopefully.very
50a20 20 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 0a 64 61 74 61 20 .unlikely)..The.chances.of.data.
50a40 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 64 20 61 72 65 20 corruption.going.undetected.are.
50a60 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 75 67 68 2c 20 74 microscopic..Be.aware,.though,.t
50a80 68 61 74 0a 74 68 65 20 63 68 65 63 6b 20 6f 63 63 75 72 73 20 75 70 6f 6e 20 64 65 63 6f 6d 70 hat.the.check.occurs.upon.decomp
50aa0 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 6c 6c 20 79 6f 75 ression,.so.it.can.only.tell.you
50ac0 20 74 68 61 74 20 73 6f 6d 65 74 68 69 6e 67 0a 69 73 20 77 72 6f 6e 67 2e 20 49 74 20 63 61 6e .that.something.is.wrong..It.can
50ae0 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 69 67 69 6e 61 6c 't.help.you.recover.the.original
50b00 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 69 70 20 75 73 65 .uncompressed.data......Lzip.use
50b20 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 69 74 20 73 74 61 s.the.same.well-defined.exit.sta
50b40 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 20 77 68 69 63 68 0a tus.values.used.by.bzip2,.which.
50b60 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 73 73 6f 72 73 20 makes.it.safer.than.compressors.
50b80 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 67 20 76 61 6c 75 returning.ambiguous.warning.valu
50ba0 65 73 20 28 6c 69 6b 65 0a 67 7a 69 70 29 20 77 68 65 6e 20 69 74 20 69 73 20 75 73 65 64 20 61 es.(like.gzip).when.it.is.used.a
50bc0 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 67 72 61 6d 73 20 s.a.back.end.for.other.programs.
50be0 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 69 70 20 77 69 6c like.tar.or.zutils......Lzip.wil
50c00 6c 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 75 73 65 20 66 6f 72 20 65 61 63 68 20 66 69 6c l.automatically.use.for.each.fil
50c20 65 20 74 68 65 20 6c 61 72 67 65 73 74 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 0a 74 68 e.the.largest.dictionary.size.th
50c40 61 74 20 64 6f 65 73 20 6e 6f 74 20 65 78 63 65 65 64 20 6e 65 69 74 68 65 72 20 74 68 65 20 66 at.does.not.exceed.neither.the.f
50c60 69 6c 65 20 73 69 7a 65 20 6e 6f 72 20 74 68 65 20 6c 69 6d 69 74 20 67 69 76 65 6e 2e 20 4b 65 ile.size.nor.the.limit.given..Ke
50c80 65 70 20 69 6e 0a 6d 69 6e 64 20 74 68 61 74 20 74 68 65 20 64 65 63 6f 6d 70 72 65 73 73 69 6f ep.in.mind.that.the.decompressio
50ca0 6e 20 6d 65 6d 6f 72 79 20 72 65 71 75 69 72 65 6d 65 6e 74 20 69 73 20 61 66 66 65 63 74 65 64 n.memory.requirement.is.affected
50cc0 20 61 74 20 63 6f 6d 70 72 65 73 73 69 6f 6e 0a 74 69 6d 65 20 62 79 20 74 68 65 20 63 68 6f 69 .at.compression.time.by.the.choi
50ce0 63 65 20 6f 66 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 6c 69 6d 69 74 2e 0a 0a 20 20 ce.of.dictionary.size.limit.....
50d00 20 54 68 65 20 61 6d 6f 75 6e 74 20 6f 66 20 6d 65 6d 6f 72 79 20 72 65 71 75 69 72 65 64 20 66 .The.amount.of.memory.required.f
50d20 6f 72 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 69 73 20 61 62 6f 75 74 20 31 20 6f 72 20 32 20 74 or.compression.is.about.1.or.2.t
50d40 69 6d 65 73 20 74 68 65 0a 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 6c 69 6d 69 74 20 28 imes.the.dictionary.size.limit.(
50d60 31 20 69 66 20 69 6e 70 75 74 20 66 69 6c 65 20 73 69 7a 65 20 69 73 20 6c 65 73 73 20 74 68 61 1.if.input.file.size.is.less.tha
50d80 6e 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 0a 6c 69 6d 69 74 2c 20 65 6c 73 65 20 32 29 n.dictionary.size.limit,.else.2)
50da0 20 70 6c 75 73 20 39 20 74 69 6d 65 73 20 74 68 65 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a .plus.9.times.the.dictionary.siz
50dc0 65 20 72 65 61 6c 6c 79 20 75 73 65 64 2e 20 54 68 65 20 6f 70 74 69 6f 6e 0a 27 2d 30 27 20 69 e.really.used..The.option.'-0'.i
50de0 73 20 73 70 65 63 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 s.special.and.only.requires.abou
50e00 74 20 31 2e 35 20 4d 69 42 20 61 74 20 6d 6f 73 74 2e 20 54 68 65 20 61 6d 6f 75 6e 74 20 6f 66 t.1.5.MiB.at.most..The.amount.of
50e20 0a 6d 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 .memory.required.for.decompressi
50e40 6f 6e 20 69 73 20 61 62 6f 75 74 20 34 36 20 6b 42 20 6c 61 72 67 65 72 20 74 68 61 6e 20 74 68 on.is.about.46.kB.larger.than.th
50e60 65 20 64 69 63 74 69 6f 6e 61 72 79 0a 73 69 7a 65 20 72 65 61 6c 6c 79 20 75 73 65 64 2e 0a 0a e.dictionary.size.really.used...
50e80 20 20 20 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 ...When.compressing,.lzip.replac
50ea0 65 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 es.every.file.given.in.the.comma
50ec0 6e 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 nd.line.with.a.compressed.versio
50ee0 6e 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 n.of.itself,.with.the.name."orig
50f00 69 6e 61 6c 5f 6e 61 6d 65 2e 6c 7a 22 2e 20 57 68 65 6e 0a 64 65 63 6f 6d 70 72 65 73 73 69 6e inal_name.lz"..When.decompressin
50f20 67 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 g,.lzip.attempts.to.guess.the.na
50f40 6d 65 20 66 6f 72 20 74 68 65 20 64 65 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 0a 66 72 6f me.for.the.decompressed.file.fro
50f60 6d 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 m.that.of.the.compressed.file.as
50f80 20 66 6f 6c 6c 6f 77 73 3a 0a 0a 66 69 6c 65 6e 61 6d 65 2e 6c 7a 20 20 20 20 62 65 63 6f 6d 65 .follows:..filename.lz....become
50fa0 73 20 20 20 66 69 6c 65 6e 61 6d 65 0a 66 69 6c 65 6e 61 6d 65 2e 74 6c 7a 20 20 20 62 65 63 6f s...filename.filename.tlz...beco
50fc0 6d 65 73 20 20 20 66 69 6c 65 6e 61 6d 65 2e 74 61 72 0a 61 6e 79 6f 74 68 65 72 6e 61 6d 65 20 mes...filename.tar.anyothername.
50fe0 20 20 62 65 63 6f 6d 65 73 20 20 20 61 6e 79 6f 74 68 65 72 6e 61 6d 65 2e 6f 75 74 0a 0a 20 20 ..becomes...anyothername.out....
51000 20 28 44 65 29 63 6f 6d 70 72 65 73 73 69 6e 67 20 61 20 66 69 6c 65 20 69 73 20 6d 75 63 68 20 .(De)compressing.a.file.is.much.
51020 6c 69 6b 65 20 63 6f 70 79 69 6e 67 20 6f 72 20 6d 6f 76 69 6e 67 20 69 74 2e 20 54 68 65 72 65 like.copying.or.moving.it..There
51040 66 6f 72 65 20 6c 7a 69 70 0a 70 72 65 73 65 72 76 65 73 20 74 68 65 20 61 63 63 65 73 73 20 61 fore.lzip.preserves.the.access.a
51060 6e 64 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 64 61 74 65 73 2c 20 70 65 72 6d 69 73 73 69 6f nd.modification.dates,.permissio
51080 6e 73 2c 20 61 6e 64 2c 20 77 68 65 6e 0a 70 6f 73 73 69 62 6c 65 2c 20 6f 77 6e 65 72 73 68 69 ns,.and,.when.possible,.ownershi
510a0 70 20 6f 66 20 74 68 65 20 66 69 6c 65 20 6a 75 73 74 20 61 73 20 27 63 70 20 2d 70 27 20 64 6f p.of.the.file.just.as.'cp.-p'.do
510c0 65 73 2e 20 28 49 66 20 74 68 65 20 75 73 65 72 20 49 44 20 6f 72 0a 74 68 65 20 67 72 6f 75 70 es..(If.the.user.ID.or.the.group
510e0 20 49 44 20 63 61 6e 27 74 20 62 65 20 64 75 70 6c 69 63 61 74 65 64 2c 20 74 68 65 20 66 69 6c .ID.can't.be.duplicated,.the.fil
51100 65 20 70 65 72 6d 69 73 73 69 6f 6e 20 62 69 74 73 20 53 5f 49 53 55 49 44 20 61 6e 64 0a 53 5f e.permission.bits.S_ISUID.and.S_
51120 49 53 47 49 44 20 61 72 65 20 63 6c 65 61 72 65 64 29 2e 0a 0a 20 20 20 4c 7a 69 70 20 69 73 20 ISGID.are.cleared)......Lzip.is.
51140 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 73 20 6f 66 20 able.to.read.from.some.types.of.
51160 6e 6f 6e 2d 72 65 67 75 6c 61 72 20 66 69 6c 65 73 20 69 66 20 65 69 74 68 65 72 20 74 68 65 0a non-regular.files.if.either.the.
51180 6f 70 74 69 6f 6e 20 27 2d 63 27 20 6f 72 20 74 68 65 20 6f 70 74 69 6f 6e 20 27 2d 6f 27 20 69 option.'-c'.or.the.option.'-o'.i
511a0 73 20 73 70 65 63 69 66 69 65 64 2e 0a 0a 20 20 20 4c 7a 69 70 20 77 69 6c 6c 20 72 65 66 75 73 s.specified......Lzip.will.refus
511c0 65 20 74 6f 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 e.to.read.compressed.data.from.a
511e0 20 74 65 72 6d 69 6e 61 6c 20 6f 72 20 77 72 69 74 65 0a 63 6f 6d 70 72 65 73 73 65 64 20 64 61 .terminal.or.write.compressed.da
51200 74 61 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 6c 64 20 ta.to.a.terminal,.as.this.would.
51220 62 65 20 65 6e 74 69 72 65 6c 79 20 69 6e 63 6f 6d 70 72 65 68 65 6e 73 69 62 6c 65 0a 61 6e 64 be.entirely.incomprehensible.and
51240 20 6d 69 67 68 74 20 6c 65 61 76 65 20 74 68 65 20 74 65 72 6d 69 6e 61 6c 20 69 6e 20 61 6e 20 .might.leave.the.terminal.in.an.
51260 61 62 6e 6f 72 6d 61 6c 20 73 74 61 74 65 2e 0a 0a 20 20 20 4c 7a 69 70 20 77 69 6c 6c 20 63 6f abnormal.state......Lzip.will.co
51280 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 77 68 69 63 68 20 rrectly.decompress.a.file.which.
512a0 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 6f 0a 6f 72 20 6d is.the.concatenation.of.two.or.m
512c0 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 72 65 73 75 6c 74 ore.compressed.files..The.result
512e0 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 68 65 0a 63 6f 72 .is.the.concatenation.of.the.cor
51300 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 6c 65 73 2e 20 49 responding.decompressed.files..I
51320 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 65 6e 61 74 65 64 ntegrity.testing.of.concatenated
51340 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 73 75 70 70 6f 72 .compressed.files.is.also.suppor
51360 74 65 64 2e 0a 0a 20 20 20 4c 7a 69 70 20 63 61 6e 20 70 72 6f 64 75 63 65 20 6d 75 6c 74 69 6d ted......Lzip.can.produce.multim
51380 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 63 61 6e ember.files,.and.lziprecover.can
513a0 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 20 6d 65 .safely.recover.the.undamaged.me
513c0 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 20 4c 7a mbers.in.case.of.file.damage..Lz
513e0 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 73 65 64 ip.can.also.split.the.compressed
51400 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 20 73 69 .output.in.volumes.of.a.given.si
51420 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 61 6e 64 ze,.even.when.reading.from.stand
51440 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 72 65 63 ard.input..This.allows.the.direc
51460 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 20 63 6f 6d 70 72 65 t.creation.of.multivolume.compre
51480 73 73 65 64 0a 74 61 72 20 61 72 63 68 69 76 65 73 2e 0a 0a 20 20 20 4c 7a 69 70 20 69 73 20 61 ssed.tar.archives......Lzip.is.a
514a0 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
514c0 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
514e0 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
51500 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
51520 65 20 6c 61 72 67 65 2c 0a 61 62 6f 75 74 20 32 20 50 69 42 20 65 61 63 68 2e 0a 0a 1f 0a 46 69 e.large,.about.2.PiB.each.....Fi
51540 6c 65 3a 20 6c 7a 69 70 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 4f 75 74 70 75 74 2c 20 20 4e le:.lzip.info,..Node:.Output,..N
51560 65 78 74 3a 20 49 6e 76 6f 6b 69 6e 67 20 6c 7a 69 70 2c 20 20 50 72 65 76 3a 20 49 6e 74 72 6f ext:.Invoking.lzip,..Prev:.Intro
51580 64 75 63 74 69 6f 6e 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 32 20 4d 65 61 6e 69 6e 67 20 6f 66 20 duction,..Up:.Top..2.Meaning.of.
515a0 6c 7a 69 70 27 73 20 6f 75 74 70 75 74 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a lzip's.output.******************
515c0 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 54 68 65 20 6f 75 74 70 75 74 20 6f 66 20 6c 7a 69 70 20 6c 6f 6f ********..The.output.of.lzip.loo
515e0 6b 73 20 6c 69 6b 65 20 74 68 69 73 3a 0a 0a 20 20 20 20 20 6c 7a 69 70 20 2d 76 20 66 6f 6f 0a ks.like.this:.......lzip.-v.foo.
51600 20 20 20 20 20 20 20 66 6f 6f 3a 20 20 36 2e 36 37 36 3a 31 2c 20 31 34 2e 39 38 25 20 72 61 74 .......foo:..6.676:1,.14.98%.rat
51620 69 6f 2c 20 38 35 2e 30 32 25 20 73 61 76 65 64 2c 20 34 35 30 35 36 30 20 69 6e 2c 20 36 37 34 io,.85.02%.saved,.450560.in,.674
51640 39 33 20 6f 75 74 2e 0a 0a 20 20 20 20 20 6c 7a 69 70 20 2d 74 76 76 76 20 66 6f 6f 2e 6c 7a 0a 93.out........lzip.-tvvv.foo.lz.
51660 20 20 20 20 20 20 20 66 6f 6f 2e 6c 7a 3a 20 20 36 2e 36 37 36 3a 31 2c 20 31 34 2e 39 38 25 20 .......foo.lz:..6.676:1,.14.98%.
51680 72 61 74 69 6f 2c 20 38 35 2e 30 32 25 20 73 61 76 65 64 2e 20 20 34 35 30 35 36 30 20 6f 75 74 ratio,.85.02%.saved...450560.out
516a0 2c 20 20 36 37 34 39 33 20 69 6e 2e 20 6f 6b 0a 0a 20 20 20 54 68 65 20 6d 65 61 6e 69 6e 67 20 ,..67493.in..ok.....The.meaning.
516c0 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
516e0 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.(
51700 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
51720 69 7a 65 29 2c 20 73 68 6f 77 6e 20 61 73 0a 20 20 20 20 20 4e 20 74 6f 20 31 2e 0a 0a 27 72 61 ize),.shown.as......N.to.1...'ra
51740 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
51760 6e 20 72 61 74 69 6f 20 28 63 6f 6d 70 72 65 73 73 65 64 5f 73 69 7a 65 20 2f 20 75 6e 63 6f 6d n.ratio.(compressed_size./.uncom
51780 70 72 65 73 73 65 64 5f 73 69 7a 65 29 2c 0a 20 20 20 20 20 73 68 6f 77 6e 20 61 73 20 61 20 70 pressed_size),......shown.as.a.p
517a0 65 72 63 65 6e 74 61 67 65 2e 20 41 20 64 65 63 69 6d 61 6c 20 72 61 74 69 6f 20 69 73 20 65 61 ercentage..A.decimal.ratio.is.ea
517c0 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 0a 20 20 20 20 sily.obtained.by.moving.the.....
517e0 20 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 20 74 68 65 .decimal.point.two.places.to.the
51800 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 61 76 65 64 27 .left;.14.98%.=.0.1498...'saved'
51820 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 6d 70 72 65 73 ......The.space.saved.by.compres
51840 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 61 20 70 65 72 sion.(1.-.ratio),.shown.as.a.per
51860 63 65 6e 74 61 67 65 2e 0a 0a 27 69 6e 27 0a 20 20 20 20 20 53 69 7a 65 20 6f 66 20 74 68 65 20 centage...'in'......Size.of.the.
51880 69 6e 70 75 74 20 64 61 74 61 2e 20 54 68 69 73 20 69 73 20 74 68 65 20 75 6e 63 6f 6d 70 72 65 input.data..This.is.the.uncompre
518a0 73 73 65 64 20 73 69 7a 65 20 77 68 65 6e 0a 20 20 20 20 20 63 6f 6d 70 72 65 73 73 69 6e 67 2c ssed.size.when......compressing,
518c0 20 6f 72 20 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 20 73 69 7a 65 20 77 68 65 6e 20 64 65 63 .or.the.compressed.size.when.dec
518e0 6f 6d 70 72 65 73 73 69 6e 67 20 6f 72 20 74 65 73 74 69 6e 67 2e 0a 20 20 20 20 20 4e 6f 74 65 ompressing.or.testing.......Note
51900 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 20 75 6e 63 .that.lzip.always.prints.the.unc
51920 6f 6d 70 72 65 73 73 65 64 20 73 69 7a 65 20 62 65 66 6f 72 65 20 74 68 65 0a 20 20 20 20 20 63 ompressed.size.before.the......c
51940 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 6e 67 2c ompressed.size.when.compressing,
51960 20 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 2c 20 74 65 73 74 69 6e 67 2c 20 6f 72 20 6c 69 73 74 .decompressing,.testing,.or.list
51980 69 6e 67 2e 0a 0a 27 6f 75 74 27 0a 20 20 20 20 20 53 69 7a 65 20 6f 66 20 74 68 65 20 6f 75 74 ing...'out'......Size.of.the.out
519a0 70 75 74 20 64 61 74 61 2e 20 54 68 69 73 20 69 73 20 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 put.data..This.is.the.compressed
519c0 20 73 69 7a 65 20 77 68 65 6e 20 63 6f 6d 70 72 65 73 73 69 6e 67 2c 0a 20 20 20 20 20 6f 72 20 .size.when.compressing,......or.
519e0 74 68 65 20 64 65 63 6f 6d 70 72 65 73 73 65 64 20 73 69 7a 65 20 77 68 65 6e 20 64 65 63 6f 6d the.decompressed.size.when.decom
51a00 70 72 65 73 73 69 6e 67 20 6f 72 20 74 65 73 74 69 6e 67 2e 0a 0a 0a 20 20 20 57 68 65 6e 20 64 pressing.or.testing.......When.d
51a20 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 76 65 72 62 6f ecompressing.or.testing.at.verbo
51a40 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 69 63 74 69 6f sity.level.4.(-vvvv),.the.dictio
51a60 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 74 68 65 20 66 nary.size.used.to.compress.the.f
51a80 69 6c 65 20 61 6e 64 20 74 68 65 20 43 52 43 33 32 20 6f 66 20 74 68 65 20 75 6e 63 6f 6d 70 72 ile.and.the.CRC32.of.the.uncompr
51aa0 65 73 73 65 64 0a 64 61 74 61 20 61 72 65 20 61 6c 73 6f 20 73 68 6f 77 6e 2e 0a 0a 20 20 20 4c essed.data.are.also.shown......L
51ac0 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 20 6e 6f 74 ANGUAGE.NOTE:.Uncompressed.=.not
51ae0 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 20 6d 61 79 .compressed.=.plain.data;.it.may
51b00 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 20 44 65 63 .never.have.been.compressed..Dec
51b20 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 6f 20 64 61 ompressed.is.used.to.refer.to.da
51b40 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 70 72 6f 63 ta.which.have.undergone.the.proc
51b60 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 6c 65 3a 20 6c ess.of.decompression.....File:.l
51b80 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 7a 69 70 2c 20 zip.info,..Node:.Invoking.lzip,.
51ba0 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 50 72 65 76 3a .Next:.Quality.assurance,..Prev:
51bc0 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 6e 67 20 6c 7a .Output,..Up:.Top..3.Invoking.lz
51be0 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 6d 61 74 20 66 ip.***************..The.format.f
51c00 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 7a 69 70 20 5b or.running.lzip.is:.......lzip.[
51c20 4f 50 54 49 4f 4e 53 5d 20 5b 46 49 4c 45 53 5d 0a 0a 49 66 20 6e 6f 20 66 69 6c 65 20 6e 61 6d OPTIONS].[FILES]..If.no.file.nam
51c40 65 73 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 es.are.specified,.lzip.compresse
51c60 73 20 28 6f 72 20 64 65 63 6f 6d 70 72 65 73 73 65 73 29 20 66 72 6f 6d 0a 73 74 61 6e 64 61 72 s.(or.decompresses).from.standar
51c80 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 20 41 20 68 79 d.input.to.standard.output..A.hy
51ca0 70 68 65 6e 20 27 2d 27 20 75 73 65 64 20 61 73 20 61 20 46 49 4c 45 20 61 72 67 75 6d 65 6e 74 phen.'-'.used.as.a.FILE.argument
51cc0 0a 6d 65 61 6e 73 20 73 74 61 6e 64 61 72 64 20 69 6e 70 75 74 2e 20 49 74 20 63 61 6e 20 62 65 .means.standard.input..It.can.be
51ce0 20 6d 69 78 65 64 20 77 69 74 68 20 6f 74 68 65 72 20 46 49 4c 45 53 20 61 6e 64 20 69 73 20 72 .mixed.with.other.FILES.and.is.r
51d00 65 61 64 20 6a 75 73 74 0a 6f 6e 63 65 2c 20 74 68 65 20 66 69 72 73 74 20 74 69 6d 65 20 69 74 ead.just.once,.the.first.time.it
51d20 20 61 70 70 65 61 72 73 20 69 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 2e 0a 0a 20 .appears.in.the.command.line....
51d40 20 20 6c 7a 69 70 20 73 75 70 70 6f 72 74 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6f 70 ..lzip.supports.the.following.op
51d60 74 69 6f 6e 73 3a 20 2a 4e 6f 74 65 20 41 72 67 75 6d 65 6e 74 20 73 79 6e 74 61 78 3a 0a 28 61 tions:.*Note.Argument.syntax:.(a
51d80 72 67 5f 70 61 72 73 65 72 29 41 72 67 75 6d 65 6e 74 20 73 79 6e 74 61 78 2e 0a 0a 27 2d 68 27 rg_parser)Argument.syntax...'-h'
51da0 0a 27 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 .'--help'......Print.an.informat
51dc0 69 76 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 ive.help.message.describing.the.
51de0 6f 70 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 options.and.exit...'-V'.'--versi
51e00 6f 6e 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 on'......Print.the.version.numbe
51e20 72 20 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 r.of.lzip.on.the.standard.output
51e40 20 61 6e 64 20 65 78 69 74 2e 20 54 68 69 73 0a 20 20 20 20 20 76 65 72 73 69 6f 6e 20 6e 75 6d .and.exit..This......version.num
51e60 62 65 72 20 73 68 6f 75 6c 64 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 61 6c 6c 20 62 75 ber.should.be.included.in.all.bu
51e80 67 20 72 65 70 6f 72 74 73 2e 0a 0a 27 2d 61 27 0a 27 2d 2d 74 72 61 69 6c 69 6e 67 2d 65 72 72 g.reports...'-a'.'--trailing-err
51ea0 6f 72 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 or'......Exit.with.error.status.
51ec0 32 20 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 2.if.any.remaining.input.is.dete
51ee0 63 74 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 cted.after......decompressing.th
51f00 65 20 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 e.last.member..Such.remaining.in
51f20 70 75 74 20 69 73 20 75 73 75 61 6c 6c 79 20 74 72 61 69 6c 69 6e 67 0a 20 20 20 20 20 67 61 72 put.is.usually.trailing......gar
51f40 62 61 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 bage.that.can.be.safely.ignored.
51f60 20 2a 4e 6f 74 65 20 63 6f 6e 63 61 74 2d 65 78 61 6d 70 6c 65 3a 3a 2e 0a 0a 27 2d 62 20 42 59 .*Note.concat-example::...'-b.BY
51f80 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 20 20 20 TES'.'--member-size=BYTES'......
51fa0 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 62 65 72 When.compressing,.set.the.member
51fc0 20 73 69 7a 65 20 6c 69 6d 69 74 20 74 6f 20 42 59 54 45 53 2e 20 49 74 20 69 73 20 61 64 76 69 .size.limit.to.BYTES..It.is.advi
51fe0 73 61 62 6c 65 0a 20 20 20 20 20 74 6f 20 6b 65 65 70 20 6d 65 6d 62 65 72 73 20 73 6d 61 6c 6c sable......to.keep.members.small
52000 65 72 20 74 68 61 6e 20 52 41 4d 20 73 69 7a 65 20 73 6f 20 74 68 61 74 20 74 68 65 79 20 63 61 er.than.RAM.size.so.that.they.ca
52020 6e 20 62 65 20 72 65 70 61 69 72 65 64 20 77 69 74 68 0a 20 20 20 20 20 6c 7a 69 70 72 65 63 6f n.be.repaired.with......lzipreco
52040 76 65 72 20 69 6e 20 63 61 73 65 20 6f 66 20 63 6f 72 72 75 70 74 69 6f 6e 2e 20 41 20 73 6d 61 ver.in.case.of.corruption..A.sma
52060 6c 6c 20 6d 65 6d 62 65 72 20 73 69 7a 65 20 6d 61 79 20 64 65 67 72 61 64 65 0a 20 20 20 20 20 ll.member.size.may.degrade......
52080 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 6f 6e 6c compression.ratio,.so.use.it.onl
520a0 79 20 77 68 65 6e 20 6e 65 65 64 65 64 2e 20 56 61 6c 69 64 20 76 61 6c 75 65 73 20 72 61 6e 67 y.when.needed..Valid.values.rang
520c0 65 20 66 72 6f 6d 0a 20 20 20 20 20 31 30 30 20 6b 42 20 74 6f 20 32 20 50 69 42 2e 20 44 65 66 e.from......100.kB.to.2.PiB..Def
520e0 61 75 6c 74 73 20 74 6f 20 32 20 50 69 42 2e 0a 0a 27 2d 63 27 0a 27 2d 2d 73 74 64 6f 75 74 27 aults.to.2.PiB...'-c'.'--stdout'
52100 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 20 74 6f 20 ......Compress.or.decompress.to.
52120 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
52140 73 20 75 6e 63 68 61 6e 67 65 64 2e 0a 20 20 20 20 20 49 66 20 63 6f 6d 70 72 65 73 73 69 6e 67 s.unchanged.......If.compressing
52160 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 73 20 63 6f 6d .several.files,.each.file.is.com
52180 70 72 65 73 73 65 64 20 69 6e 64 65 70 65 6e 64 65 6e 74 6c 79 2e 0a 20 20 20 20 20 28 54 68 65 pressed.independently.......(The
521a0 20 6f 75 74 70 75 74 20 63 6f 6e 73 69 73 74 73 20 6f 66 20 61 20 73 65 71 75 65 6e 63 65 20 6f .output.consists.of.a.sequence.o
521c0 66 20 69 6e 64 65 70 65 6e 64 65 6e 74 6c 79 20 63 6f 6d 70 72 65 73 73 65 64 0a 20 20 20 20 20 f.independently.compressed......
521e0 6d 65 6d 62 65 72 73 29 2e 20 54 68 69 73 20 6f 70 74 69 6f 6e 20 28 6f 72 20 27 2d 6f 27 29 20 members)..This.option.(or.'-o').
52200 69 73 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 is.needed.when.reading.from.a.na
52220 6d 65 64 0a 20 20 20 20 20 70 69 70 65 20 28 66 69 66 6f 29 20 6f 72 20 66 72 6f 6d 20 61 20 64 med......pipe.(fifo).or.from.a.d
52240 65 76 69 63 65 2e 20 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 evice..Use.it.also.to.recover.as
52260 20 6d 75 63 68 20 6f 66 20 74 68 65 0a 20 20 20 20 20 64 65 63 6f 6d 70 72 65 73 73 65 64 20 64 .much.of.the......decompressed.d
52280 61 74 61 20 61 73 20 70 6f 73 73 69 62 6c 65 20 77 68 65 6e 20 64 65 63 6f 6d 70 72 65 73 73 69 ata.as.possible.when.decompressi
522a0 6e 67 20 61 20 63 6f 72 72 75 70 74 20 66 69 6c 65 2e 20 27 2d 63 27 0a 20 20 20 20 20 6f 76 65 ng.a.corrupt.file..'-c'......ove
522c0 72 72 69 64 65 73 20 27 2d 6f 27 20 61 6e 64 20 27 2d 53 27 2e 20 27 2d 63 27 20 68 61 73 20 6e rrides.'-o'.and.'-S'..'-c'.has.n
522e0 6f 20 65 66 66 65 63 74 20 77 68 65 6e 20 74 65 73 74 69 6e 67 20 6f 72 20 6c 69 73 74 69 6e 67 o.effect.when.testing.or.listing
52300 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 44 65 63 6f ...'-d'.'--decompress'......Deco
52320 6d 70 72 65 73 73 20 74 68 65 20 66 69 6c 65 73 20 73 70 65 63 69 66 69 65 64 2e 20 49 66 20 61 mpress.the.files.specified..If.a
52340 20 66 69 6c 65 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 0a 20 .file.does.not.exist,.can't.be..
52360 20 20 20 20 6f 70 65 6e 65 64 2c 20 6f 72 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 66 ....opened,.or.the.destination.f
52380 69 6c 65 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 73 20 61 6e 64 20 27 2d 2d 66 6f 72 63 65 27 ile.already.exists.and.'--force'
523a0 20 68 61 73 20 6e 6f 74 0a 20 20 20 20 20 62 65 65 6e 20 73 70 65 63 69 66 69 65 64 2c 20 6c 7a .has.not......been.specified,.lz
523c0 69 70 20 63 6f 6e 74 69 6e 75 65 73 20 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 20 74 68 65 20 72 ip.continues.decompressing.the.r
523e0 65 73 74 20 6f 66 20 74 68 65 20 66 69 6c 65 73 20 61 6e 64 0a 20 20 20 20 20 65 78 69 74 73 20 est.of.the.files.and......exits.
52400 77 69 74 68 20 65 72 72 6f 72 20 73 74 61 74 75 73 20 31 2e 20 49 66 20 61 20 66 69 6c 65 20 66 with.error.status.1..If.a.file.f
52420 61 69 6c 73 20 74 6f 20 64 65 63 6f 6d 70 72 65 73 73 2c 20 6f 72 20 69 73 20 61 0a 20 20 20 20 ails.to.decompress,.or.is.a.....
52440 20 74 65 72 6d 69 6e 61 6c 2c 20 6c 7a 69 70 20 65 78 69 74 73 20 69 6d 6d 65 64 69 61 74 65 6c .terminal,.lzip.exits.immediatel
52460 79 20 77 69 74 68 20 65 72 72 6f 72 20 73 74 61 74 75 73 20 32 20 77 69 74 68 6f 75 74 0a 20 20 y.with.error.status.2.without...
52480 20 20 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 ...decompressing.the.rest.of.the
524a0 20 66 69 6c 65 73 2e 20 41 20 74 65 72 6d 69 6e 61 6c 20 69 73 20 63 6f 6e 73 69 64 65 72 65 64 .files..A.terminal.is.considered
524c0 20 61 6e 0a 20 20 20 20 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 2c 20 61 6e 64 20 .an......uncompressed.file,.and.
524e0 74 68 65 72 65 66 6f 72 65 20 69 6e 76 61 6c 69 64 2e 0a 0a 27 2d 66 27 0a 27 2d 2d 66 6f 72 63 therefore.invalid...'-f'.'--forc
52500 65 27 0a 20 20 20 20 20 46 6f 72 63 65 20 6f 76 65 72 77 72 69 74 65 20 6f 66 20 6f 75 74 70 75 e'......Force.overwrite.of.outpu
52520 74 20 66 69 6c 65 73 2e 0a 0a 27 2d 46 27 0a 27 2d 2d 72 65 63 6f 6d 70 72 65 73 73 27 0a 20 20 t.files...'-F'.'--recompress'...
52540 20 20 20 57 68 65 6e 20 63 6f 6d 70 72 65 73 73 69 6e 67 2c 20 66 6f 72 63 65 20 72 65 2d 63 6f ...When.compressing,.force.re-co
52560 6d 70 72 65 73 73 69 6f 6e 20 6f 66 20 66 69 6c 65 73 20 77 68 6f 73 65 20 6e 61 6d 65 20 61 6c mpression.of.files.whose.name.al
52580 72 65 61 64 79 20 68 61 73 0a 20 20 20 20 20 74 68 65 20 27 2e 6c 7a 27 20 6f 72 20 27 2e 74 6c ready.has......the.'.lz'.or.'.tl
525a0 7a 27 20 73 75 66 66 69 78 2e 0a 0a 27 2d 6b 27 0a 27 2d 2d 6b 65 65 70 27 0a 20 20 20 20 20 4b z'.suffix...'-k'.'--keep'......K
525c0 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 66 69 6c 65 73 20 64 eep.(don't.delete).input.files.d
525e0 75 72 69 6e 67 20 63 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 uring.compression.or.decompressi
52600 6f 6e 2e 0a 0a 27 2d 6c 27 0a 27 2d 2d 6c 69 73 74 27 0a 20 20 20 20 20 50 72 69 6e 74 20 74 68 on...'-l'.'--list'......Print.th
52620 65 20 75 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 e.uncompressed.size,.compressed.
52640 73 69 7a 65 2c 20 61 6e 64 20 70 65 72 63 65 6e 74 61 67 65 20 73 61 76 65 64 20 6f 66 0a 20 20 size,.and.percentage.saved.of...
52660 20 20 20 74 68 65 20 66 69 6c 65 73 20 73 70 65 63 69 66 69 65 64 2e 20 54 72 61 69 6c 69 6e 67 ...the.files.specified..Trailing
52680 20 64 61 74 61 20 61 72 65 20 69 67 6e 6f 72 65 64 2e 20 54 68 65 20 76 61 6c 75 65 73 20 70 72 .data.are.ignored..The.values.pr
526a0 6f 64 75 63 65 64 0a 20 20 20 20 20 61 72 65 20 63 6f 72 72 65 63 74 20 65 76 65 6e 20 66 6f 72 oduced......are.correct.even.for
526c0 20 6d 75 6c 74 69 6d 65 6d 62 65 72 20 66 69 6c 65 73 2e 20 49 66 20 6d 6f 72 65 20 74 68 61 6e .multimember.files..If.more.than
526e0 20 6f 6e 65 20 66 69 6c 65 20 69 73 0a 20 20 20 20 20 67 69 76 65 6e 2c 20 61 20 66 69 6e 61 6c .one.file.is......given,.a.final
52700 20 6c 69 6e 65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 63 75 6d 75 6c 61 74 69 76 65 20 .line.containing.the.cumulative.
52720 73 69 7a 65 73 20 69 73 20 70 72 69 6e 74 65 64 2e 20 57 69 74 68 0a 20 20 20 20 20 27 2d 76 27 sizes.is.printed..With......'-v'
52740 2c 20 74 68 65 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 2c 20 74 68 65 20 6e 75 6d 62 65 ,.the.dictionary.size,.the.numbe
52760 72 20 6f 66 20 6d 65 6d 62 65 72 73 20 69 6e 20 74 68 65 20 66 69 6c 65 2c 20 61 6e 64 20 74 68 r.of.members.in.the.file,.and.th
52780 65 0a 20 20 20 20 20 61 6d 6f 75 6e 74 20 6f 66 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 20 28 e......amount.of.trailing.data.(
527a0 69 66 20 61 6e 79 29 20 61 72 65 20 61 6c 73 6f 20 70 72 69 6e 74 65 64 2e 20 57 69 74 68 20 27 if.any).are.also.printed..With.'
527c0 2d 76 76 27 2c 20 74 68 65 0a 20 20 20 20 20 70 6f 73 69 74 69 6f 6e 73 20 61 6e 64 20 73 69 7a -vv',.the......positions.and.siz
527e0 65 73 20 6f 66 20 65 61 63 68 20 6d 65 6d 62 65 72 20 69 6e 20 6d 75 6c 74 69 6d 65 6d 62 65 72 es.of.each.member.in.multimember
52800 20 66 69 6c 65 73 20 61 72 65 20 61 6c 73 6f 0a 20 20 20 20 20 70 72 69 6e 74 65 64 2e 0a 0a 20 .files.are.also......printed....
52820 20 20 20 20 49 66 20 61 6e 79 20 66 69 6c 65 20 69 73 20 64 61 6d 61 67 65 64 2c 20 64 6f 65 73 ....If.any.file.is.damaged,.does
52840 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 64 2c 20 6f 72 20 .not.exist,.can't.be.opened,.or.
52860 69 73 20 6e 6f 74 0a 20 20 20 20 20 72 65 67 75 6c 61 72 2c 20 74 68 65 20 66 69 6e 61 6c 20 65 is.not......regular,.the.final.e
52880 78 69 74 20 73 74 61 74 75 73 20 77 69 6c 6c 20 62 65 20 3e 20 30 2e 20 27 2d 6c 71 27 20 63 61 xit.status.will.be.>.0..'-lq'.ca
528a0 6e 20 62 65 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 n.be.used.to.verify......quickly
528c0 20 28 77 69 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 .(without.decompressing).the.str
528e0 75 63 74 75 72 61 6c 20 69 6e 74 65 67 72 69 74 79 20 6f 66 20 74 68 65 20 66 69 6c 65 73 0a 20 uctural.integrity.of.the.files..
52900 20 20 20 20 73 70 65 63 69 66 69 65 64 2e 20 28 55 73 65 20 27 2d 2d 74 65 73 74 27 20 74 6f 20 ....specified..(Use.'--test'.to.
52920 76 65 72 69 66 79 20 74 68 65 20 64 61 74 61 20 69 6e 74 65 67 72 69 74 79 29 2e 20 27 2d 61 6c verify.the.data.integrity)..'-al
52940 71 27 0a 20 20 20 20 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 q'......additionally.verifies.th
52960 61 74 20 6e 6f 6e 65 20 6f 66 20 74 68 65 20 66 69 6c 65 73 20 73 70 65 63 69 66 69 65 64 20 63 at.none.of.the.files.specified.c
52980 6f 6e 74 61 69 6e 0a 20 20 20 20 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 2e 0a 0a 27 2d 6d 20 ontain......trailing.data...'-m.
529a0 42 59 54 45 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 BYTES'.'--match-length=BYTES'...
529c0 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 61 74 ...When.compressing,.set.the.mat
529e0 63 68 20 6c 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 ch.length.limit.in.bytes..After.
52a00 61 20 6d 61 74 63 68 0a 20 20 20 20 20 74 68 69 73 20 6c 6f 6e 67 20 69 73 20 66 6f 75 6e 64 2c a.match......this.long.is.found,
52a20 20 74 68 65 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 .the.search.is.finished..Valid.v
52a40 61 6c 75 65 73 20 72 61 6e 67 65 20 66 72 6f 6d 20 35 0a 20 20 20 20 20 74 6f 20 32 37 33 2e 20 alues.range.from.5......to.273..
52a60 4c 61 72 67 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 Larger.values.usually.give.bette
52a80 72 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 72 61 74 69 6f 73 20 62 75 74 20 6c 6f 6e 67 65 72 0a r.compression.ratios.but.longer.
52aa0 20 20 20 20 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 .....compression.times...'-o.FIL
52ac0 45 27 0a 27 2d 2d 6f 75 74 70 75 74 3d 46 49 4c 45 27 0a 20 20 20 20 20 49 66 20 27 2d 63 27 20 E'.'--output=FILE'......If.'-c'.
52ae0 68 61 73 20 6e 6f 74 20 62 65 65 6e 20 61 6c 73 6f 20 73 70 65 63 69 66 69 65 64 2c 20 77 72 69 has.not.been.also.specified,.wri
52b00 74 65 20 74 68 65 20 28 64 65 29 63 6f 6d 70 72 65 73 73 65 64 20 6f 75 74 70 75 74 20 74 6f 0a te.the.(de)compressed.output.to.
52b20 20 20 20 20 20 46 49 4c 45 3b 20 6b 65 65 70 20 69 6e 70 75 74 20 66 69 6c 65 73 20 75 6e 63 68 .....FILE;.keep.input.files.unch
52b40 61 6e 67 65 64 2e 20 49 66 20 63 6f 6d 70 72 65 73 73 69 6e 67 20 73 65 76 65 72 61 6c 20 66 69 anged..If.compressing.several.fi
52b60 6c 65 73 2c 20 65 61 63 68 0a 20 20 20 20 20 66 69 6c 65 20 69 73 20 63 6f 6d 70 72 65 73 73 65 les,.each......file.is.compresse
52b80 64 20 69 6e 64 65 70 65 6e 64 65 6e 74 6c 79 2e 20 28 54 68 65 20 6f 75 74 70 75 74 20 63 6f 6e d.independently..(The.output.con
52ba0 73 69 73 74 73 20 6f 66 20 61 20 73 65 71 75 65 6e 63 65 20 6f 66 0a 20 20 20 20 20 69 6e 64 65 sists.of.a.sequence.of......inde
52bc0 70 65 6e 64 65 6e 74 6c 79 20 63 6f 6d 70 72 65 73 73 65 64 20 6d 65 6d 62 65 72 73 29 2e 20 54 pendently.compressed.members)..T
52be0 68 69 73 20 6f 70 74 69 6f 6e 20 28 6f 72 20 27 2d 63 27 29 20 69 73 20 6e 65 65 64 65 64 20 77 his.option.(or.'-c').is.needed.w
52c00 68 65 6e 0a 20 20 20 20 20 72 65 61 64 69 6e 67 20 66 72 6f 6d 20 61 20 6e 61 6d 65 64 20 70 69 hen......reading.from.a.named.pi
52c20 70 65 20 28 66 69 66 6f 29 20 6f 72 20 66 72 6f 6d 20 61 20 64 65 76 69 63 65 2e 20 27 2d 6f 20 pe.(fifo).or.from.a.device..'-o.
52c40 2d 27 20 69 73 0a 20 20 20 20 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 27 2d 63 27 2e 20 27 -'.is......equivalent.to.'-c'..'
52c60 2d 6f 27 20 68 61 73 20 6e 6f 20 65 66 66 65 63 74 20 77 68 65 6e 20 74 65 73 74 69 6e 67 20 6f -o'.has.no.effect.when.testing.o
52c80 72 20 6c 69 73 74 69 6e 67 2e 0a 0a 20 20 20 20 20 49 6e 20 6f 72 64 65 72 20 74 6f 20 6b 65 65 r.listing........In.order.to.kee
52ca0 70 20 62 61 63 6b 77 61 72 64 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 6c 7a p.backward.compatibility.with.lz
52cc0 69 70 20 76 65 72 73 69 6f 6e 73 20 70 72 69 6f 72 20 74 6f 0a 20 20 20 20 20 31 2e 32 32 2c 20 ip.versions.prior.to......1.22,.
52ce0 77 68 65 6e 20 63 6f 6d 70 72 65 73 73 69 6e 67 20 66 72 6f 6d 20 73 74 61 6e 64 61 72 64 20 69 when.compressing.from.standard.i
52d00 6e 70 75 74 20 61 6e 64 20 6e 6f 20 6f 74 68 65 72 20 66 69 6c 65 20 6e 61 6d 65 73 20 61 72 65 nput.and.no.other.file.names.are
52d20 0a 20 20 20 20 20 67 69 76 65 6e 2c 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 20 27 2e 6c 7a 27 ......given,.the.extension.'.lz'
52d40 20 69 73 20 61 70 70 65 6e 64 65 64 20 74 6f 20 46 49 4c 45 20 75 6e 6c 65 73 73 20 69 74 20 61 .is.appended.to.FILE.unless.it.a
52d60 6c 72 65 61 64 79 20 65 6e 64 73 0a 20 20 20 20 20 69 6e 20 27 2e 6c 7a 27 20 6f 72 20 27 2e 74 lready.ends......in.'.lz'.or.'.t
52d80 6c 7a 27 2e 20 54 68 69 73 20 66 65 61 74 75 72 65 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 lz'..This.feature.will.be.remove
52da0 64 20 69 6e 20 61 20 66 75 74 75 72 65 20 76 65 72 73 69 6f 6e 0a 20 20 20 20 20 6f 66 20 6c 7a d.in.a.future.version......of.lz
52dc0 69 70 2e 20 4d 65 61 6e 77 68 69 6c 65 2c 20 72 65 64 69 72 65 63 74 69 6f 6e 20 6d 61 79 20 62 ip..Meanwhile,.redirection.may.b
52de0 65 20 75 73 65 64 20 69 6e 73 74 65 61 64 20 6f 66 20 27 2d 6f 27 20 74 6f 20 77 72 69 74 65 0a e.used.instead.of.'-o'.to.write.
52e00 20 20 20 20 20 74 68 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 .....the.compressed.output.to.a.
52e20 66 69 6c 65 20 77 69 74 68 6f 75 74 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 20 27 2e 6c 7a 27 file.without.the.extension.'.lz'
52e40 20 69 6e 20 69 74 73 0a 20 20 20 20 20 6e 61 6d 65 3a 20 27 6c 7a 69 70 20 3c 20 66 69 6c 65 20 .in.its......name:.'lzip.<.file.
52e60 3e 20 66 6f 6f 27 2e 0a 0a 20 20 20 20 20 57 68 65 6e 20 63 6f 6d 70 72 65 73 73 69 6e 67 20 61 >.foo'........When.compressing.a
52e80 6e 64 20 73 70 6c 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 nd.splitting.the.output.in.volum
52ea0 65 73 2c 20 46 49 4c 45 20 69 73 20 75 73 65 64 20 61 73 0a 20 20 20 20 20 61 20 70 72 65 66 69 es,.FILE.is.used.as......a.prefi
52ec0 78 2c 20 61 6e 64 20 73 65 76 65 72 61 6c 20 66 69 6c 65 73 20 6e 61 6d 65 64 20 27 46 49 4c 45 x,.and.several.files.named.'FILE
52ee0 30 30 30 30 31 2e 6c 7a 27 2c 20 27 46 49 4c 45 30 30 30 30 32 2e 6c 7a 27 2c 20 65 74 63 2c 0a 00001.lz',.'FILE00002.lz',.etc,.
52f00 20 20 20 20 20 61 72 65 20 63 72 65 61 74 65 64 2e 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 .....are.created..In.this.case,.
52f20 6f 6e 6c 79 20 6f 6e 65 20 69 6e 70 75 74 20 66 69 6c 65 20 69 73 20 61 6c 6c 6f 77 65 64 2e 0a only.one.input.file.is.allowed..
52f40 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 72 61 .'-q'.'--quiet'......Quiet.opera
52f60 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 27 2d tion..Suppress.all.messages...'-
52f80 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 54 45 s.BYTES'.'--dictionary-size=BYTE
52fa0 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 74 68 S'......When.compressing,.set.th
52fc0 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 65 73 e.dictionary.size.limit.in.bytes
52fe0 2e 20 4c 7a 69 70 20 77 69 6c 6c 20 75 73 65 0a 20 20 20 20 20 66 6f 72 20 65 61 63 68 20 66 69 ..Lzip.will.use......for.each.fi
53000 6c 65 20 74 68 65 20 6c 61 72 67 65 73 74 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 74 le.the.largest.dictionary.size.t
53020 68 61 74 20 64 6f 65 73 20 6e 6f 74 20 65 78 63 65 65 64 20 6e 65 69 74 68 65 72 0a 20 20 20 20 hat.does.not.exceed.neither.....
53040 20 74 68 65 20 66 69 6c 65 20 73 69 7a 65 20 6e 6f 72 20 74 68 69 73 20 6c 69 6d 69 74 2e 20 56 .the.file.size.nor.this.limit..V
53060 61 6c 69 64 20 76 61 6c 75 65 73 20 72 61 6e 67 65 20 66 72 6f 6d 20 34 20 4b 69 42 20 74 6f 0a alid.values.range.from.4.KiB.to.
53080 20 20 20 20 20 35 31 32 20 4d 69 42 2e 20 56 61 6c 75 65 73 20 31 32 20 74 6f 20 32 39 20 61 72 .....512.MiB..Values.12.to.29.ar
530a0 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 20 74 77 6f 2c 20 e.interpreted.as.powers.of.two,.
530c0 6d 65 61 6e 69 6e 67 0a 20 20 20 20 20 32 5e 31 32 20 74 6f 20 32 5e 32 39 20 62 79 74 65 73 2e meaning......2^12.to.2^29.bytes.
530e0 20 44 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 73 20 61 72 65 20 71 75 61 6e 74 69 7a 65 64 20 .Dictionary.sizes.are.quantized.
53100 73 6f 20 74 68 61 74 20 74 68 65 79 20 63 61 6e 20 62 65 0a 20 20 20 20 20 63 6f 64 65 64 20 69 so.that.they.can.be......coded.i
53120 6e 20 6a 75 73 74 20 6f 6e 65 20 62 79 74 65 20 28 2a 6e 6f 74 65 20 63 6f 64 65 64 2d 64 69 63 n.just.one.byte.(*note.coded-dic
53140 74 2d 73 69 7a 65 3a 3a 29 2e 20 49 66 20 74 68 65 20 73 69 7a 65 20 73 70 65 63 69 66 69 65 64 t-size::)..If.the.size.specified
53160 0a 20 20 20 20 20 64 6f 65 73 20 6e 6f 74 20 6d 61 74 63 68 20 6f 6e 65 20 6f 66 20 74 68 65 20 ......does.not.match.one.of.the.
53180 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 65 64 20 valid.sizes,.it.will.be.rounded.
531a0 75 70 77 61 72 64 73 20 62 79 0a 20 20 20 20 20 61 64 64 69 6e 67 20 75 70 20 74 6f 20 28 42 59 upwards.by......adding.up.to.(BY
531c0 54 45 53 20 2f 20 38 29 20 74 6f 20 69 74 2e 0a 0a 20 20 20 20 20 46 6f 72 20 6d 61 78 69 6d 75 TES./.8).to.it........For.maximu
531e0 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 61 20 64 m.compression.you.should.use.a.d
53200 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 0a 20 20 ictionary.size.limit.as.large...
53220 20 20 20 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 ...as.possible,.but.keep.in.mind
53240 20 74 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 .that.the.decompression.memory.r
53260 65 71 75 69 72 65 6d 65 6e 74 0a 20 20 20 20 20 69 73 20 61 66 66 65 63 74 65 64 20 61 74 20 63 equirement......is.affected.at.c
53280 6f 6d 70 72 65 73 73 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 ompression.time.by.the.choice.of
532a0 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 6c 69 6d 69 74 2e 0a 0a 27 2d 53 20 42 59 54 .dictionary.size.limit...'-S.BYT
532c0 45 53 27 0a 27 2d 2d 76 6f 6c 75 6d 65 2d 73 69 7a 65 3d 42 59 54 45 53 27 0a 20 20 20 20 20 57 ES'.'--volume-size=BYTES'......W
532e0 68 65 6e 20 63 6f 6d 70 72 65 73 73 69 6e 67 2c 20 61 6e 64 20 27 2d 63 27 20 68 61 73 20 6e 6f hen.compressing,.and.'-c'.has.no
53300 74 20 62 65 65 6e 20 61 6c 73 6f 20 73 70 65 63 69 66 69 65 64 2c 20 73 70 6c 69 74 20 74 68 65 t.been.also.specified,.split.the
53320 0a 20 20 20 20 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 ......compressed.output.into.sev
53340 65 72 61 6c 20 76 6f 6c 75 6d 65 20 66 69 6c 65 73 20 77 69 74 68 20 6e 61 6d 65 73 0a 20 20 20 eral.volume.files.with.names....
53360 20 20 27 6f 72 69 67 69 6e 61 6c 5f 6e 61 6d 65 30 30 30 30 31 2e 6c 7a 27 2c 20 27 6f 72 69 67 ..'original_name00001.lz',.'orig
53380 69 6e 61 6c 5f 6e 61 6d 65 30 30 30 30 32 2e 6c 7a 27 2c 20 65 74 63 2c 20 61 6e 64 20 73 65 74 inal_name00002.lz',.etc,.and.set
533a0 20 74 68 65 0a 20 20 20 20 20 76 6f 6c 75 6d 65 20 73 69 7a 65 20 6c 69 6d 69 74 20 74 6f 20 42 .the......volume.size.limit.to.B
533c0 59 54 45 53 2e 20 49 6e 70 75 74 20 66 69 6c 65 73 20 61 72 65 20 6b 65 70 74 20 75 6e 63 68 61 YTES..Input.files.are.kept.uncha
533e0 6e 67 65 64 2e 20 45 61 63 68 0a 20 20 20 20 20 76 6f 6c 75 6d 65 20 69 73 20 61 20 63 6f 6d 70 nged..Each......volume.is.a.comp
53400 6c 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 lete,.maybe.multimember,.lzip.fi
53420 6c 65 2e 20 41 20 73 6d 61 6c 6c 20 76 6f 6c 75 6d 65 0a 20 20 20 20 20 73 69 7a 65 20 6d 61 79 le..A.small.volume......size.may
53440 20 64 65 67 72 61 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 .degrade.compression.ratio,.so.u
53460 73 65 20 69 74 20 6f 6e 6c 79 20 77 68 65 6e 20 6e 65 65 64 65 64 2e 20 56 61 6c 69 64 0a 20 20 se.it.only.when.needed..Valid...
53480 20 20 20 76 61 6c 75 65 73 20 72 61 6e 67 65 20 66 72 6f 6d 20 31 30 30 20 6b 42 20 74 6f 20 34 ...values.range.from.100.kB.to.4
534a0 20 45 69 42 2e 0a 0a 27 2d 74 27 0a 27 2d 2d 74 65 73 74 27 0a 20 20 20 20 20 43 68 65 63 6b 20 .EiB...'-t'.'--test'......Check.
534c0 69 6e 74 65 67 72 69 74 79 20 6f 66 20 74 68 65 20 66 69 6c 65 73 20 73 70 65 63 69 66 69 65 64 integrity.of.the.files.specified
534e0 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 69 ,.but.don't.decompress.them..Thi
53500 73 0a 20 20 20 20 20 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 s......really.performs.a.trial.d
53520 65 63 6f 6d 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 ecompression.and.throws.away.the
53540 20 72 65 73 75 6c 74 2e 20 55 73 65 0a 20 20 20 20 20 69 74 20 74 6f 67 65 74 68 65 72 20 77 69 .result..Use......it.together.wi
53560 74 68 20 27 2d 76 27 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 th.'-v'.to.see.information.about
53580 20 74 68 65 20 66 69 6c 65 73 2e 20 49 66 20 61 20 66 69 6c 65 0a 20 20 20 20 20 66 61 69 6c 73 .the.files..If.a.file......fails
535a0 20 74 68 65 20 74 65 73 74 2c 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2c 20 63 61 6e 27 74 .the.test,.does.not.exist,.can't
535c0 20 62 65 20 6f 70 65 6e 65 64 2c 20 6f 72 20 69 73 20 61 20 74 65 72 6d 69 6e 61 6c 2c 20 6c 7a .be.opened,.or.is.a.terminal,.lz
535e0 69 70 0a 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 73 20 63 68 65 63 6b 69 6e 67 20 74 68 65 20 72 ip......continues.checking.the.r
53600 65 73 74 20 6f 66 20 74 68 65 20 66 69 6c 65 73 2e 20 41 20 66 69 6e 61 6c 20 64 69 61 67 6e 6f est.of.the.files..A.final.diagno
53620 73 74 69 63 20 69 73 20 73 68 6f 77 6e 0a 20 20 20 20 20 61 74 20 76 65 72 62 6f 73 69 74 79 20 stic.is.shown......at.verbosity.
53640 6c 65 76 65 6c 20 31 20 6f 72 20 68 69 67 68 65 72 20 69 66 20 61 6e 79 20 66 69 6c 65 20 66 61 level.1.or.higher.if.any.file.fa
53660 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 0a 20 20 20 20 20 6d ils.the.test.when.testing......m
53680 75 6c 74 69 70 6c 65 20 66 69 6c 65 73 2e 0a 0a 27 2d 76 27 0a 27 2d 2d 76 65 72 62 6f 73 65 27 ultiple.files...'-v'.'--verbose'
536a0 0a 20 20 20 20 20 56 65 72 62 6f 73 65 20 6d 6f 64 65 2e 0a 20 20 20 20 20 57 68 65 6e 20 63 6f ......Verbose.mode.......When.co
536c0 6d 70 72 65 73 73 69 6e 67 2c 20 73 68 6f 77 20 74 68 65 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 mpressing,.show.the.compression.
536e0 72 61 74 69 6f 20 61 6e 64 20 73 69 7a 65 20 66 6f 72 20 65 61 63 68 20 66 69 6c 65 0a 20 20 20 ratio.and.size.for.each.file....
53700 20 20 70 72 6f 63 65 73 73 65 64 2e 0a 20 20 20 20 20 57 68 65 6e 20 64 65 63 6f 6d 70 72 65 73 ..processed.......When.decompres
53720 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 75 sing.or.testing,.further.-v's.(u
53740 70 20 74 6f 20 34 29 20 69 6e 63 72 65 61 73 65 20 74 68 65 0a 20 20 20 20 20 76 65 72 62 6f 73 p.to.4).increase.the......verbos
53760 69 74 79 20 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 ity.level,.showing.status,.compr
53780 65 73 73 69 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 20 ession.ratio,.dictionary.size,..
537a0 20 20 20 20 74 72 61 69 6c 65 72 20 63 6f 6e 74 65 6e 74 73 20 28 43 52 43 2c 20 64 61 74 61 20 ....trailer.contents.(CRC,.data.
537c0 73 69 7a 65 2c 20 6d 65 6d 62 65 72 20 73 69 7a 65 29 2c 20 61 6e 64 20 75 70 20 74 6f 20 36 20 size,.member.size),.and.up.to.6.
537e0 62 79 74 65 73 20 6f 66 0a 20 20 20 20 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 20 28 69 66 20 bytes.of......trailing.data.(if.
53800 61 6e 79 29 20 62 6f 74 68 20 69 6e 20 68 65 78 61 64 65 63 69 6d 61 6c 20 61 6e 64 20 61 73 20 any).both.in.hexadecimal.and.as.
53820 61 20 73 74 72 69 6e 67 20 6f 66 20 70 72 69 6e 74 61 62 6c 65 0a 20 20 20 20 20 41 53 43 49 49 a.string.of.printable......ASCII
53840 20 63 68 61 72 61 63 74 65 72 73 2e 0a 20 20 20 20 20 54 77 6f 20 6f 72 20 6d 6f 72 65 20 27 2d .characters.......Two.or.more.'-
53860 76 27 20 6f 70 74 69 6f 6e 73 20 73 68 6f 77 20 74 68 65 20 70 72 6f 67 72 65 73 73 20 6f 66 20 v'.options.show.the.progress.of.
53880 28 64 65 29 63 6f 6d 70 72 65 73 73 69 6f 6e 2e 0a 0a 27 2d 30 20 2e 2e 20 2d 39 27 0a 20 20 20 (de)compression...'-0....-9'....
538a0 20 20 43 6f 6d 70 72 65 73 73 69 6f 6e 20 6c 65 76 65 6c 2e 20 53 65 74 20 74 68 65 20 63 6f 6d ..Compression.level..Set.the.com
538c0 70 72 65 73 73 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 pression.parameters.(dictionary.
538e0 73 69 7a 65 20 61 6e 64 0a 20 20 20 20 20 6d 61 74 63 68 20 6c 65 6e 67 74 68 20 6c 69 6d 69 74 size.and......match.length.limit
53900 29 20 61 73 20 73 68 6f 77 6e 20 69 6e 20 74 68 65 20 74 61 62 6c 65 20 62 65 6c 6f 77 2e 20 54 ).as.shown.in.the.table.below..T
53920 68 65 20 64 65 66 61 75 6c 74 0a 20 20 20 20 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6c 65 76 65 he.default......compression.leve
53940 6c 20 69 73 20 27 2d 36 27 2c 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 27 2d 73 38 4d 69 42 l.is.'-6',.equivalent.to.'-s8MiB
53960 20 2d 6d 33 36 27 2e 20 4e 6f 74 65 20 74 68 61 74 20 27 2d 39 27 0a 20 20 20 20 20 63 61 6e 20 .-m36'..Note.that.'-9'......can.
53980 62 65 20 6d 75 63 68 20 73 6c 6f 77 65 72 20 74 68 61 6e 20 27 2d 30 27 2e 20 54 68 65 73 65 20 be.much.slower.than.'-0'..These.
539a0 6f 70 74 69 6f 6e 73 20 68 61 76 65 20 6e 6f 20 65 66 66 65 63 74 20 77 68 65 6e 0a 20 20 20 20 options.have.no.effect.when.....
539c0 20 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 2c 20 74 65 73 74 69 6e 67 2c 20 6f 72 20 6c 69 73 74 .decompressing,.testing,.or.list
539e0 69 6e 67 2e 0a 0a 20 20 20 20 20 54 68 65 20 62 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 20 70 61 72 ing........The.bidimensional.par
53a00 61 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 ameter.space.of.LZMA.can't.be.ma
53a20 70 70 65 64 20 74 6f 20 61 20 6c 69 6e 65 61 72 0a 20 20 20 20 20 73 63 61 6c 65 20 6f 70 74 69 pped.to.a.linear......scale.opti
53a40 6d 61 6c 20 66 6f 72 20 61 6c 6c 20 66 69 6c 65 73 2e 20 49 66 20 79 6f 75 72 20 66 69 6c 65 73 mal.for.all.files..If.your.files
53a60 20 61 72 65 20 6c 61 72 67 65 2c 20 76 65 72 79 20 72 65 70 65 74 69 74 69 76 65 2c 0a 20 20 20 .are.large,.very.repetitive,....
53a80 20 20 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 65 20 6f ..etc,.you.may.need.to.use.the.o
53aa0 70 74 69 6f 6e 73 20 27 2d 2d 64 69 63 74 69 6f 6e 61 72 79 2d 73 69 7a 65 27 20 61 6e 64 0a 20 ptions.'--dictionary-size'.and..
53ac0 20 20 20 20 27 2d 2d 6d 61 74 63 68 2d 6c 65 6e 67 74 68 27 20 64 69 72 65 63 74 6c 79 20 74 6f ....'--match-length'.directly.to
53ae0 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 65 2e 0a 0a 20 .achieve.optimal.performance....
53b00 20 20 20 20 49 66 20 73 65 76 65 72 61 6c 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6c 65 76 65 6c ....If.several.compression.level
53b20 73 20 6f 72 20 27 2d 73 27 20 6f 72 20 27 2d 6d 27 20 6f 70 74 69 6f 6e 73 20 61 72 65 20 67 69 s.or.'-s'.or.'-m'.options.are.gi
53b40 76 65 6e 2c 20 74 68 65 0a 20 20 20 20 20 6c 61 73 74 20 73 65 74 74 69 6e 67 20 69 73 20 75 73 ven,.the......last.setting.is.us
53b60 65 64 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 20 27 2d 39 20 2d 73 36 34 4d 69 42 27 20 69 73 20 ed..For.example.'-9.-s64MiB'.is.
53b80 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 0a 20 20 20 20 20 27 2d 73 36 34 4d 69 42 20 2d 6d 32 37 equivalent.to......'-s64MiB.-m27
53ba0 33 27 0a 0a 20 20 20 20 20 4c 65 76 65 6c 20 20 20 44 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 3'.......Level...Dictionary.size
53bc0 20 28 2d 73 29 20 20 20 4d 61 74 63 68 20 6c 65 6e 67 74 68 20 6c 69 6d 69 74 20 28 2d 6d 29 0a .(-s)...Match.length.limit.(-m).
53be0 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 20 20 20 20 20 .....-0......64.KiB.............
53c00 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.
53c20 20 20 20 20 20 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 .................5.bytes......-2
53c40 20 20 20 20 20 20 31 2e 35 20 4d 69 42 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 36 20 62 ......1.5.MiB................6.b
53c60 79 74 65 73 0a 20 20 20 20 20 2d 33 20 20 20 20 20 20 32 20 4d 69 42 20 20 20 20 20 20 20 20 20 ytes......-3......2.MiB.........
53c80 20 20 20 20 20 20 20 20 20 38 20 62 79 74 65 73 0a 20 20 20 20 20 2d 34 20 20 20 20 20 20 33 20 .........8.bytes......-4......3.
53ca0 4d 69 42 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31 32 20 62 79 74 65 73 0a 20 20 MiB..................12.bytes...
53cc0 20 20 20 2d 35 20 20 20 20 20 20 34 20 4d 69 42 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...-5......4.MiB................
53ce0 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 4d 69 42 20 20 20 ..20.bytes......-6......8.MiB...
53d00 20 20 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 37 20 ...............36.bytes......-7.
53d20 20 20 20 20 20 31 36 20 4d 69 42 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 36 38 20 62 .....16.MiB.................68.b
53d40 79 74 65 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 ytes......-8......24.MiB........
53d60 20 20 20 20 20 20 20 20 20 31 33 32 20 62 79 74 65 73 0a 20 20 20 20 20 2d 39 20 20 20 20 20 20 .........132.bytes......-9......
53d80 33 32 20 4d 69 42 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 32 37 33 20 62 79 74 65 73 32.MiB.................273.bytes
53da0 0a 0a 27 2d 2d 66 61 73 74 27 0a 27 2d 2d 62 65 73 74 27 0a 20 20 20 20 20 41 6c 69 61 73 65 73 ..'--fast'.'--best'......Aliases
53dc0 20 66 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 27 2d .for.GNU.gzip.compatibility...'-
53de0 2d 6c 6f 6f 73 65 2d 74 72 61 69 6c 69 6e 67 27 0a 20 20 20 20 20 57 68 65 6e 20 64 65 63 6f 6d -loose-trailing'......When.decom
53e00 70 72 65 73 73 69 6e 67 2c 20 74 65 73 74 69 6e 67 2c 20 6f 72 20 6c 69 73 74 69 6e 67 2c 20 61 pressing,.testing,.or.listing,.a
53e20 6c 6c 6f 77 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 20 77 68 6f 73 65 0a 20 20 20 20 20 66 69 llow.trailing.data.whose......fi
53e40 72 73 74 20 62 79 74 65 73 20 61 72 65 20 73 6f 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 65 20 rst.bytes.are.so.similar.to.the.
53e60 6d 61 67 69 63 20 62 79 74 65 73 20 6f 66 20 61 20 6c 7a 69 70 20 68 65 61 64 65 72 20 74 68 61 magic.bytes.of.a.lzip.header.tha
53e80 74 0a 20 20 20 20 20 74 68 65 79 20 63 61 6e 20 62 65 20 63 6f 6e 66 75 73 65 64 20 77 69 74 68 t......they.can.be.confused.with
53ea0 20 61 20 63 6f 72 72 75 70 74 20 68 65 61 64 65 72 2e 20 55 73 65 20 74 68 69 73 20 6f 70 74 69 .a.corrupt.header..Use.this.opti
53ec0 6f 6e 20 69 66 20 61 20 66 69 6c 65 0a 20 20 20 20 20 74 72 69 67 67 65 72 73 20 61 20 22 63 6f on.if.a.file......triggers.a."co
53ee0 72 72 75 70 74 20 68 65 61 64 65 72 22 20 65 72 72 6f 72 20 61 6e 64 20 74 68 65 20 63 61 75 73 rrupt.header".error.and.the.caus
53f00 65 20 69 73 20 6e 6f 74 20 69 6e 64 65 65 64 20 61 0a 20 20 20 20 20 63 6f 72 72 75 70 74 20 68 e.is.not.indeed.a......corrupt.h
53f20 65 61 64 65 72 2e 0a 0a 0a 20 20 20 4e 75 6d 62 65 72 73 20 67 69 76 65 6e 20 61 73 20 61 72 67 eader.......Numbers.given.as.arg
53f40 75 6d 65 6e 74 73 20 74 6f 20 6f 70 74 69 6f 6e 73 20 6d 61 79 20 62 65 20 66 6f 6c 6c 6f 77 65 uments.to.options.may.be.followe
53f60 64 20 62 79 20 61 20 6d 75 6c 74 69 70 6c 69 65 72 0a 61 6e 64 20 61 6e 20 6f 70 74 69 6f 6e 61 d.by.a.multiplier.and.an.optiona
53f80 6c 20 27 42 27 20 66 6f 72 20 22 62 79 74 65 22 2e 0a 0a 20 20 20 54 61 62 6c 65 20 6f 66 20 53 l.'B'.for."byte"......Table.of.S
53fa0 49 20 61 6e 64 20 62 69 6e 61 72 79 20 70 72 65 66 69 78 65 73 20 28 75 6e 69 74 20 6d 75 6c 74 I.and.binary.prefixes.(unit.mult
53fc0 69 70 6c 69 65 72 73 29 3a 0a 0a 50 72 65 66 69 78 20 20 20 56 61 6c 75 65 20 20 20 20 20 20 20 ipliers):..Prefix...Value.......
53fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 20 20 50 72 65 66 69 78 20 20 20 56 61 6c 75 65 ..............|...Prefix...Value
54000 0a 6b 20 20 20 20 20 20 20 20 6b 69 6c 6f 62 79 74 65 20 20 28 31 30 5e 33 20 3d 20 31 30 30 30 .k........kilobyte..(10^3.=.1000
54020 29 20 20 20 7c 20 20 20 4b 69 20 20 20 20 20 20 20 6b 69 62 69 62 79 74 65 20 28 32 5e 31 30 20 )...|...Ki.......kibibyte.(2^10.
54040 3d 20 31 30 32 34 29 0a 4d 20 20 20 20 20 20 20 20 6d 65 67 61 62 79 74 65 20 20 28 31 30 5e 36 =.1024).M........megabyte..(10^6
54060 29 20 20 20 20 20 20 20 20 20 20 7c 20 20 20 4d 69 20 20 20 20 20 20 20 6d 65 62 69 62 79 74 65 )..........|...Mi.......mebibyte
54080 20 28 32 5e 32 30 29 0a 47 20 20 20 20 20 20 20 20 67 69 67 61 62 79 74 65 20 20 28 31 30 5e 39 .(2^20).G........gigabyte..(10^9
540a0 29 20 20 20 20 20 20 20 20 20 20 7c 20 20 20 47 69 20 20 20 20 20 20 20 67 69 62 69 62 79 74 65 )..........|...Gi.......gibibyte
540c0 20 28 32 5e 33 30 29 0a 54 20 20 20 20 20 20 20 20 74 65 72 61 62 79 74 65 20 20 28 31 30 5e 31 .(2^30).T........terabyte..(10^1
540e0 32 29 20 20 20 20 20 20 20 20 20 7c 20 20 20 54 69 20 20 20 20 20 20 20 74 65 62 69 62 79 74 65 2).........|...Ti.......tebibyte
54100 20 28 32 5e 34 30 29 0a 50 20 20 20 20 20 20 20 20 70 65 74 61 62 79 74 65 20 20 28 31 30 5e 31 .(2^40).P........petabyte..(10^1
54120 35 29 20 20 20 20 20 20 20 20 20 7c 20 20 20 50 69 20 20 20 20 20 20 20 70 65 62 69 62 79 74 65 5).........|...Pi.......pebibyte
54140 20 28 32 5e 35 30 29 0a 45 20 20 20 20 20 20 20 20 65 78 61 62 79 74 65 20 20 20 28 31 30 5e 31 .(2^50).E........exabyte...(10^1
54160 38 29 20 20 20 20 20 20 20 20 20 7c 20 20 20 45 69 20 20 20 20 20 20 20 65 78 62 69 62 79 74 65 8).........|...Ei.......exbibyte
54180 20 28 32 5e 36 30 29 0a 5a 20 20 20 20 20 20 20 20 7a 65 74 74 61 62 79 74 65 20 28 31 30 5e 32 .(2^60).Z........zettabyte.(10^2
541a0 31 29 20 20 20 20 20 20 20 20 20 7c 20 20 20 5a 69 20 20 20 20 20 20 20 7a 65 62 69 62 79 74 65 1).........|...Zi.......zebibyte
541c0 20 28 32 5e 37 30 29 0a 59 20 20 20 20 20 20 20 20 79 6f 74 74 61 62 79 74 65 20 28 31 30 5e 32 .(2^70).Y........yottabyte.(10^2
541e0 34 29 20 20 20 20 20 20 20 20 20 7c 20 20 20 59 69 20 20 20 20 20 20 20 79 6f 62 69 62 79 74 65 4).........|...Yi.......yobibyte
54200 20 28 32 5e 38 30 29 0a 0a 0a 20 20 20 45 78 69 74 20 73 74 61 74 75 73 3a 20 30 20 66 6f 72 20 .(2^80)......Exit.status:.0.for.
54220 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 74 a.normal.exit,.1.for.environment
54240 61 6c 20 70 72 6f 62 6c 65 6d 73 20 28 66 69 6c 65 20 6e 6f 74 0a 66 6f 75 6e 64 2c 20 69 6e 76 al.problems.(file.not.found,.inv
54260 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 20 alid.flags,.I/O.errors,.etc),.2.
54280 74 6f 20 69 6e 64 69 63 61 74 65 20 61 20 63 6f 72 72 75 70 74 20 6f 72 20 69 6e 76 61 6c 69 64 to.indicate.a.corrupt.or.invalid
542a0 0a 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 63 .input.file,.3.for.an.internal.c
542c0 6f 6e 73 69 73 74 65 6e 63 79 20 65 72 72 6f 72 20 28 65 2e 67 2e 2c 20 62 75 67 29 20 77 68 69 onsistency.error.(e.g.,.bug).whi
542e0 63 68 20 63 61 75 73 65 64 0a 6c 7a 69 70 20 74 6f 20 70 61 6e 69 63 2e 0a 0a 1f 0a 46 69 6c 65 ch.caused.lzip.to.panic.....File
54300 3a 20 6c 7a 69 70 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 51 75 61 6c 69 74 79 20 61 73 73 75 :.lzip.info,..Node:.Quality.assu
54320 72 61 6e 63 65 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 3a 20 rance,..Next:.Algorithm,..Prev:.
54340 49 6e 76 6f 6b 69 6e 67 20 6c 7a 69 70 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 34 20 44 65 73 69 67 Invoking.lzip,..Up:.Top..4.Desig
54360 6e 2c 20 64 65 76 65 6c 6f 70 6d 65 6e 74 2c 20 61 6e 64 20 74 65 73 74 69 6e 67 20 6f 66 20 6c n,.development,.and.testing.of.l
54380 7a 69 70 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 zip.****************************
543a0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 54 68 65 72 65 20 61 72 65 20 74 77 6f 20 77 61 **************..There.are.two.wa
543c0 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 65 20 64 65 ys.of.constructing.a.software.de
543e0 73 69 67 6e 3a 20 4f 6e 65 20 77 61 79 20 69 73 20 74 6f 20 6d 61 6b 65 20 69 74 0a 73 6f 20 73 sign:.One.way.is.to.make.it.so.s
54400 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 6c 79 20 6e imple.that.there.are.obviously.n
54420 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 20 77 61 79 o.deficiencies.and.the.other.way
54440 20 69 73 20 74 6f 0a 6d 61 6b 65 20 69 74 20 73 6f 20 63 6f 6d 70 6c 69 63 61 74 65 64 20 74 68 .is.to.make.it.so.complicated.th
54460 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 63 69 65 6e at.there.are.no.obvious.deficien
54480 63 69 65 73 2e 20 54 68 65 20 66 69 72 73 74 0a 6d 65 74 68 6f 64 20 69 73 20 66 61 72 20 6d 6f cies..The.first.method.is.far.mo
544a0 72 65 20 64 69 66 66 69 63 75 6c 74 2e 0a 2d 2d 20 43 2e 41 2e 52 2e 20 48 6f 61 72 65 0a 0a 20 re.difficult..--.C.A.R..Hoare...
544c0 20 20 4c 7a 69 70 20 69 73 20 64 65 76 65 6c 6f 70 65 64 20 62 79 20 76 6f 6c 75 6e 74 65 65 72 ..Lzip.is.developed.by.volunteer
544e0 73 20 77 68 6f 20 6c 61 63 6b 20 74 68 65 20 72 65 73 6f 75 72 63 65 73 20 72 65 71 75 69 72 65 s.who.lack.the.resources.require
54500 64 20 66 6f 72 0a 65 78 74 65 6e 73 69 76 65 20 74 65 73 74 69 6e 67 20 69 6e 20 61 6c 6c 20 63 d.for.extensive.testing.in.all.c
54520 69 72 63 75 6d 73 74 61 6e 63 65 73 2e 20 49 74 20 69 73 20 75 70 20 74 6f 20 79 6f 75 20 74 6f ircumstances..It.is.up.to.you.to
54540 20 74 65 73 74 20 6c 7a 69 70 20 62 65 66 6f 72 65 0a 75 73 69 6e 67 20 69 74 20 69 6e 20 6d 69 .test.lzip.before.using.it.in.mi
54560 73 73 69 6f 6e 2d 63 72 69 74 69 63 61 6c 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 2e 20 48 6f 77 ssion-critical.applications..How
54580 65 76 65 72 2c 20 61 20 63 6f 6d 70 72 65 73 73 6f 72 20 6c 69 6b 65 20 6c 7a 69 70 0a 69 73 20 ever,.a.compressor.like.lzip.is.
545a0 6e 6f 74 20 61 20 74 6f 79 2c 20 61 6e 64 20 6d 61 69 6e 74 61 69 6e 69 6e 67 20 69 74 20 69 73 not.a.toy,.and.maintaining.it.is
545c0 20 6e 6f 74 20 61 20 68 6f 62 62 79 2e 20 4d 61 6e 79 20 70 65 6f 70 6c 65 27 73 20 64 61 74 61 .not.a.hobby..Many.people's.data
545e0 20 64 65 70 65 6e 64 0a 6f 6e 20 69 74 2e 20 54 68 65 72 65 66 6f 72 65 20 74 68 65 20 6c 7a 69 .depend.on.it..Therefore.the.lzi
54600 70 20 66 69 6c 65 20 66 6f 72 6d 61 74 20 68 61 73 20 62 65 65 6e 20 72 65 76 69 65 77 65 64 20 p.file.format.has.been.reviewed.
54620 63 61 72 65 66 75 6c 6c 79 20 61 6e 64 20 69 73 0a 62 65 6c 69 65 76 65 64 20 74 6f 20 62 65 20 carefully.and.is.believed.to.be.
54640 66 72 65 65 20 66 72 6f 6d 20 6e 65 67 6c 69 67 65 6e 74 20 64 65 73 69 67 6e 20 65 72 72 6f 72 free.from.negligent.design.error
54660 73 2e 0a 0a 20 20 20 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 s......Lzip.has.been.designed,.w
54680 72 69 74 74 65 6e 2c 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 ritten,.and.tested.with.great.ca
546a0 72 65 20 74 6f 20 72 65 70 6c 61 63 65 0a 67 7a 69 70 20 61 6e 64 20 62 7a 69 70 32 20 61 73 20 re.to.replace.gzip.and.bzip2.as.
546c0 74 68 65 20 73 74 61 6e 64 61 72 64 20 67 65 6e 65 72 61 6c 2d 70 75 72 70 6f 73 65 20 63 6f 6d the.standard.general-purpose.com
546e0 70 72 65 73 73 65 64 20 66 6f 72 6d 61 74 20 66 6f 72 0a 75 6e 69 78 2d 6c 69 6b 65 20 73 79 73 pressed.format.for.unix-like.sys
54700 74 65 6d 73 2e 20 54 68 69 73 20 63 68 61 70 74 65 72 20 64 65 73 63 72 69 62 65 73 20 74 68 65 tems..This.chapter.describes.the
54720 20 6c 65 73 73 6f 6e 73 20 6c 65 61 72 6e 65 64 20 66 72 6f 6d 20 74 68 65 73 65 0a 70 72 65 76 .lessons.learned.from.these.prev
54740 69 6f 75 73 20 66 6f 72 6d 61 74 73 2c 20 61 6e 64 20 74 68 65 69 72 20 61 70 70 6c 69 63 61 74 ious.formats,.and.their.applicat
54760 69 6f 6e 20 74 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 ion.to.the.design.of.lzip....4.1
54780 20 46 6f 72 6d 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 .Format.design.=================
547a0 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 69 6e 20 31 39 39 32 ..When.gzip.was.designed.in.1992
547c0 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 20 73 79 73 74 65 6d ,.computers.and.operating.system
547e0 73 20 77 65 72 65 20 6d 75 63 68 0a 6c 65 73 73 20 63 61 70 61 62 6c 65 20 74 68 61 6e 20 74 68 s.were.much.less.capable.than.th
54800 65 79 20 61 72 65 20 74 6f 64 61 79 2e 20 54 68 65 20 64 65 73 69 67 6e 65 72 73 20 6f 66 20 67 ey.are.today..The.designers.of.g
54820 7a 69 70 20 74 72 69 65 64 20 74 6f 20 77 6f 72 6b 20 61 72 6f 75 6e 64 0a 73 6f 6d 65 20 6f 66 zip.tried.to.work.around.some.of
54840 20 74 68 6f 73 65 20 6c 69 6d 69 74 61 74 69 6f 6e 73 2c 20 6c 69 6b 65 20 38 2e 33 20 66 69 6c .those.limitations,.like.8.3.fil
54860 65 20 6e 61 6d 65 73 2c 20 77 69 74 68 20 61 64 64 69 74 69 6f 6e 61 6c 20 66 69 65 6c 64 73 20 e.names,.with.additional.fields.
54880 69 6e 0a 74 68 65 20 66 69 6c 65 20 66 6f 72 6d 61 74 2e 0a 0a 20 20 20 54 6f 64 61 79 20 74 68 in.the.file.format......Today.th
548a0 6f 73 65 20 6c 69 6d 69 74 61 74 69 6f 6e 73 20 68 61 76 65 20 6d 6f 73 74 6c 79 20 64 69 73 61 ose.limitations.have.mostly.disa
548c0 70 70 65 61 72 65 64 2c 20 61 6e 64 20 74 68 65 20 66 6f 72 6d 61 74 20 6f 66 20 67 7a 69 70 0a ppeared,.and.the.format.of.gzip.
548e0 68 61 73 20 70 72 6f 76 65 64 20 74 6f 20 62 65 20 75 6e 6e 65 63 65 73 73 61 72 69 6c 79 20 63 has.proved.to.be.unnecessarily.c
54900 6f 6d 70 6c 69 63 61 74 65 64 2e 20 49 74 20 69 6e 63 6c 75 64 65 73 20 66 69 65 6c 64 73 20 74 omplicated..It.includes.fields.t
54920 68 61 74 20 77 65 72 65 0a 6e 65 76 65 72 20 75 73 65 64 2c 20 6f 74 68 65 72 73 20 74 68 61 74 hat.were.never.used,.others.that
54940 20 68 61 76 65 20 6c 6f 73 74 20 74 68 65 69 72 20 75 73 65 66 75 6c 6e 65 73 73 2c 20 61 6e 64 .have.lost.their.usefulness,.and
54960 20 66 69 6e 61 6c 6c 79 20 6f 74 68 65 72 73 20 74 68 61 74 0a 68 61 76 65 20 62 65 63 6f 6d 65 .finally.others.that.have.become
54980 20 74 6f 6f 20 6c 69 6d 69 74 65 64 2e 0a 0a 20 20 20 42 7a 69 70 32 20 77 61 73 20 64 65 73 69 .too.limited......Bzip2.was.desi
549a0 67 6e 65 64 20 35 20 79 65 61 72 73 20 6c 61 74 65 72 2c 20 61 6e 64 20 69 74 73 20 66 6f 72 6d gned.5.years.later,.and.its.form
549c0 61 74 20 69 73 20 73 69 6d 70 6c 65 72 20 74 68 61 6e 20 74 68 65 20 6f 6e 65 0a 6f 66 20 67 7a at.is.simpler.than.the.one.of.gz
549e0 69 70 2e 0a 0a 20 20 20 50 72 6f 62 61 62 6c 79 20 74 68 65 20 77 6f 72 73 74 20 64 65 66 65 63 ip......Probably.the.worst.defec
54a00 74 20 6f 66 20 74 68 65 20 67 7a 69 70 20 66 6f 72 6d 61 74 20 66 72 6f 6d 20 74 68 65 20 70 6f t.of.the.gzip.format.from.the.po
54a20 69 6e 74 20 6f 66 20 76 69 65 77 20 6f 66 0a 64 61 74 61 20 73 61 66 65 74 79 20 69 73 20 74 68 int.of.view.of.data.safety.is.th
54a40 65 20 76 61 72 69 61 62 6c 65 20 73 69 7a 65 20 6f 66 20 69 74 73 20 68 65 61 64 65 72 2e 20 49 e.variable.size.of.its.header..I
54a60 66 20 74 68 65 20 62 79 74 65 20 61 74 20 6f 66 66 73 65 74 20 33 0a 28 66 6c 61 67 73 29 20 6f f.the.byte.at.offset.3.(flags).o
54a80 66 20 61 20 67 7a 69 70 20 6d 65 6d 62 65 72 20 67 65 74 73 20 63 6f 72 72 75 70 74 65 64 2c 20 f.a.gzip.member.gets.corrupted,.
54aa0 69 74 20 6d 61 79 20 62 65 63 6f 6d 65 20 64 69 66 66 69 63 75 6c 74 20 74 6f 20 72 65 63 6f 76 it.may.become.difficult.to.recov
54ac0 65 72 0a 74 68 65 20 64 61 74 61 2c 20 65 76 65 6e 20 69 66 20 74 68 65 20 63 6f 6d 70 72 65 73 er.the.data,.even.if.the.compres
54ae0 73 65 64 20 62 6c 6f 63 6b 73 20 61 72 65 20 69 6e 74 61 63 74 2c 20 62 65 63 61 75 73 65 20 69 sed.blocks.are.intact,.because.i
54b00 74 20 63 61 6e 27 74 20 62 65 0a 6b 6e 6f 77 6e 20 77 69 74 68 20 63 65 72 74 61 69 6e 74 79 20 t.can't.be.known.with.certainty.
54b20 77 68 65 72 65 20 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 20 62 6c 6f 63 6b 73 20 62 65 67 69 where.the.compressed.blocks.begi
54b40 6e 2e 0a 0a 20 20 20 42 79 20 63 6f 6e 74 72 61 73 74 2c 20 74 68 65 20 68 65 61 64 65 72 20 6f n......By.contrast,.the.header.o
54b60 66 20 61 20 6c 7a 69 70 20 6d 65 6d 62 65 72 20 68 61 73 20 61 20 66 69 78 65 64 20 6c 65 6e 67 f.a.lzip.member.has.a.fixed.leng
54b80 74 68 20 6f 66 20 36 2e 20 54 68 65 0a 4c 5a 4d 41 20 73 74 72 65 61 6d 20 69 6e 20 61 20 6c 7a th.of.6..The.LZMA.stream.in.a.lz
54ba0 69 70 20 6d 65 6d 62 65 72 20 61 6c 77 61 79 73 20 73 74 61 72 74 73 20 61 74 20 6f 66 66 73 65 ip.member.always.starts.at.offse
54bc0 74 20 36 2c 20 6d 61 6b 69 6e 67 20 69 74 20 74 72 69 76 69 61 6c 20 74 6f 0a 72 65 63 6f 76 65 t.6,.making.it.trivial.to.recove
54be0 72 20 74 68 65 20 64 61 74 61 20 65 76 65 6e 20 69 66 20 74 68 65 20 77 68 6f 6c 65 20 68 65 61 r.the.data.even.if.the.whole.hea
54c00 64 65 72 20 62 65 63 6f 6d 65 73 20 63 6f 72 72 75 70 74 2e 0a 0a 20 20 20 42 7a 69 70 32 20 61 der.becomes.corrupt......Bzip2.a
54c20 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 66 69 78 65 64 20 6c lso.provides.a.header.of.fixed.l
54c40 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 20 61 6e 64 20 65 6e ength.and.marks.the.begin.and.en
54c60 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 6b 20 77 69 74 68 20 d.of.each.compressed.block.with.
54c80 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 74 20 70 6f 73 73 69 six.magic.bytes,.making.it.possi
54ca0 62 6c 65 20 74 6f 20 66 69 6e 64 0a 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 20 62 6c 6f 63 6b ble.to.find.the.compressed.block
54cc0 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 6d 61 67 65 2e 20 42 s.even.in.case.of.file.damage..B
54ce0 75 74 20 62 7a 69 70 32 20 64 6f 65 73 20 6e 6f 74 20 73 74 6f 72 65 0a 74 68 65 20 73 69 7a 65 ut.bzip2.does.not.store.the.size
54d00 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 2c 20 61 73 20 6c 7a .of.each.compressed.block,.as.lz
54d20 69 70 20 64 6f 65 73 2e 0a 0a 20 20 20 4c 7a 69 70 72 65 63 6f 76 65 72 20 69 73 20 61 62 6c 65 ip.does......Lziprecover.is.able
54d40 20 74 6f 20 70 72 6f 76 69 64 65 20 75 6e 69 71 75 65 20 64 61 74 61 20 72 65 63 6f 76 65 72 79 .to.provide.unique.data.recovery
54d60 20 63 61 70 61 62 69 6c 69 74 69 65 73 20 62 65 63 61 75 73 65 0a 74 68 65 20 6c 7a 69 70 20 66 .capabilities.because.the.lzip.f
54d80 6f 72 6d 61 74 20 69 73 20 65 78 74 72 61 6f 72 64 69 6e 61 72 69 6c 79 20 73 61 66 65 2e 20 54 ormat.is.extraordinarily.safe..T
54da0 68 65 20 73 69 6d 70 6c 65 20 61 6e 64 20 73 61 66 65 20 64 65 73 69 67 6e 20 6f 66 20 74 68 65 he.simple.and.safe.design.of.the
54dc0 0a 66 69 6c 65 20 66 6f 72 6d 61 74 20 63 6f 6d 70 6c 65 6d 65 6e 74 73 20 74 68 65 20 65 6d 62 .file.format.complements.the.emb
54de0 65 64 64 65 64 20 65 72 72 6f 72 20 64 65 74 65 63 74 69 6f 6e 20 70 72 6f 76 69 64 65 64 20 62 edded.error.detection.provided.b
54e00 79 20 74 68 65 20 4c 5a 4d 41 0a 64 61 74 61 20 73 74 72 65 61 6d 2e 20 41 6e 79 20 64 69 73 74 y.the.LZMA.data.stream..Any.dist
54e20 61 6e 63 65 20 6c 61 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 ance.larger.than.the.dictionary.
54e40 73 69 7a 65 20 61 63 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 size.acts.as.a.forbidden.symbol,
54e60 20 61 6c 6c 6f 77 69 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 .allowing.the.decompressor.to.de
54e80 74 65 63 74 20 74 68 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 tect.the.approximate.position.of
54ea0 20 65 72 72 6f 72 73 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 .errors,.and.leaving.very.little
54ec0 20 77 6f 72 6b 20 66 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 .work.for.the.check.sequence.(CR
54ee0 43 20 61 6e 64 20 64 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 C.and.data.sizes).in.the.detecti
54f00 6f 6e 20 6f 66 20 65 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 on.of.errors..Lzip.is.usually.ab
54f20 6c 65 20 74 6f 0a 64 65 74 65 63 74 20 61 6c 6c 20 70 6f 73 73 69 62 6c 65 20 62 69 74 20 66 6c le.to.detect.all.possible.bit.fl
54f40 69 70 73 20 69 6e 20 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 20 77 69 74 68 6f ips.in.the.compressed.data.witho
54f60 75 74 20 72 65 73 6f 72 74 69 6e 67 20 74 6f 0a 74 68 65 20 63 68 65 63 6b 20 73 65 71 75 65 6e ut.resorting.to.the.check.sequen
54f80 63 65 2e 20 49 74 20 77 6f 75 6c 64 20 62 65 20 64 69 66 66 69 63 75 6c 74 20 74 6f 20 77 72 69 ce..It.would.be.difficult.to.wri
54fa0 74 65 20 61 6e 20 61 75 74 6f 6d 61 74 69 63 20 72 65 63 6f 76 65 72 79 0a 74 6f 6f 6c 20 6c 69 te.an.automatic.recovery.tool.li
54fc0 6b 65 20 6c 7a 69 70 72 65 63 6f 76 65 72 20 66 6f 72 20 74 68 65 20 67 7a 69 70 20 66 6f 72 6d ke.lziprecover.for.the.gzip.form
54fe0 61 74 2e 20 41 6e 64 2c 20 61 73 20 66 61 72 20 61 73 20 49 20 6b 6e 6f 77 2c 20 69 74 20 68 61 at..And,.as.far.as.I.know,.it.ha
55000 73 0a 6e 65 76 65 72 20 62 65 65 6e 20 77 72 69 74 74 65 6e 2e 0a 0a 20 20 20 4c 7a 69 70 2c 20 s.never.been.written......Lzip,.
55020 6c 69 6b 65 20 67 7a 69 70 20 61 6e 64 20 62 7a 69 70 32 2c 20 75 73 65 73 20 61 20 43 52 43 33 like.gzip.and.bzip2,.uses.a.CRC3
55040 32 20 74 6f 20 63 68 65 63 6b 20 74 68 65 20 69 6e 74 65 67 72 69 74 79 20 6f 66 20 74 68 65 0a 2.to.check.the.integrity.of.the.
55060 64 65 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 20 62 65 63 61 75 73 65 20 69 74 20 70 72 6f decompressed.data.because.it.pro
55080 76 69 64 65 73 20 6f 70 74 69 6d 61 6c 20 61 63 63 75 72 61 63 79 20 69 6e 20 74 68 65 20 64 65 vides.optimal.accuracy.in.the.de
550a0 74 65 63 74 69 6f 6e 20 6f 66 0a 65 72 72 6f 72 73 20 75 70 20 74 6f 20 61 20 63 6f 6d 70 72 65 tection.of.errors.up.to.a.compre
550c0 73 73 65 64 20 73 69 7a 65 20 6f 66 20 61 62 6f 75 74 20 31 36 20 47 69 42 2c 20 61 20 73 69 7a ssed.size.of.about.16.GiB,.a.siz
550e0 65 20 6c 61 72 67 65 72 20 74 68 61 6e 20 74 68 61 74 20 6f 66 0a 6d 6f 73 74 20 66 69 6c 65 73 e.larger.than.that.of.most.files
55100 2e 20 49 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20 6c 7a 69 70 2c 20 74 68 65 20 61 64 64 69 74 ..In.the.case.of.lzip,.the.addit
55120 69 6f 6e 61 6c 20 64 65 74 65 63 74 69 6f 6e 20 63 61 70 61 62 69 6c 69 74 79 20 6f 66 20 74 68 ional.detection.capability.of.th
55140 65 0a 64 65 63 6f 6d 70 72 65 73 73 6f 72 20 72 65 64 75 63 65 73 20 74 68 65 20 70 72 6f 62 61 e.decompressor.reduces.the.proba
55160 62 69 6c 69 74 79 20 6f 66 20 75 6e 64 65 74 65 63 74 65 64 20 65 72 72 6f 72 73 20 73 65 76 65 bility.of.undetected.errors.seve
55180 72 61 6c 20 6d 69 6c 6c 69 6f 6e 0a 74 69 6d 65 73 20 6d 6f 72 65 2c 20 72 65 73 75 6c 74 69 6e ral.million.times.more,.resultin
551a0 67 20 69 6e 20 61 20 63 6f 6d 62 69 6e 65 64 20 69 6e 74 65 67 72 69 74 79 20 63 68 65 63 6b 69 g.in.a.combined.integrity.checki
551c0 6e 67 20 6f 70 74 69 6d 61 6c 6c 79 20 61 63 63 75 72 61 74 65 0a 66 6f 72 20 61 6e 79 20 6d 65 ng.optimally.accurate.for.any.me
551e0 6d 62 65 72 20 73 69 7a 65 20 70 72 6f 64 75 63 65 64 20 62 79 20 6c 7a 69 70 2e 20 50 72 65 6c mber.size.produced.by.lzip..Prel
55200 69 6d 69 6e 61 72 79 20 72 65 73 75 6c 74 73 20 73 75 67 67 65 73 74 20 74 68 61 74 20 74 68 65 iminary.results.suggest.that.the
55220 0a 6c 7a 69 70 20 66 6f 72 6d 61 74 20 69 73 20 73 61 66 65 20 65 6e 6f 75 67 68 20 74 6f 20 62 .lzip.format.is.safe.enough.to.b
55240 65 20 75 73 65 64 20 69 6e 20 63 72 69 74 69 63 61 6c 20 73 61 66 65 74 79 20 61 76 69 6f 6e 69 e.used.in.critical.safety.avioni
55260 63 73 20 73 79 73 74 65 6d 73 2e 0a 0a 20 20 20 54 68 65 20 6c 7a 69 70 20 66 6f 72 6d 61 74 20 cs.systems......The.lzip.format.
55280 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 72 63 68 69 76 is.designed.for.long-term.archiv
552a0 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 61 6e 79 20 75 ing..Therefore.it.excludes.any.u
552c0 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 6e 74 65 72 66 nneeded.features.that.may.interf
552e0 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 69 6f 6e 20 6f ere.with.the.future.extraction.o
55300 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 34 2e 31 2e 31 f.the.decompressed.data....4.1.1
55320 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 6e 6f 74 20 70 .Gzip.format.(mis)features.not.p
55340 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 2d 2d 2d 2d 2d resent.in.lzip.-----------------
55360 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 --------------------------------
55380 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 20 20 20 20 47 --..'Multiple.algorithms'......G
553a0 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 4d zip.provides.a.CM.(Compression.M
553c0 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 6e ethod).field.that.has.never.been
553e0 20 75 73 65 64 0a 20 20 20 20 20 62 65 63 61 75 73 65 20 69 74 20 69 73 20 61 20 62 61 64 20 69 .used......because.it.is.a.bad.i
55400 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 72 65 73 73 69 dea.to.begin.with..New.compressi
55420 6f 6e 20 6d 65 74 68 6f 64 73 20 6d 61 79 0a 20 20 20 20 20 72 65 71 75 69 72 65 20 61 64 64 69 on.methods.may......require.addi
55440 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 70 6f 73 73 69 tional.fields,.making.it.impossi
55460 62 6c 65 20 74 6f 20 69 6d 70 6c 65 6d 65 6e 74 20 6e 65 77 0a 20 20 20 20 20 6d 65 74 68 6f 64 ble.to.implement.new......method
55480 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 65 70 20 74 68 s.and,.at.the.same.time,.keep.th
554a0 65 20 73 61 6d 65 20 66 6f 72 6d 61 74 2e 20 54 68 69 73 20 66 69 65 6c 64 20 64 6f 65 73 0a 20 e.same.format..This.field.does..
554c0 20 20 20 20 6e 6f 74 20 73 6f 6c 76 65 20 74 68 65 20 70 72 6f 62 6c 65 6d 20 6f 66 20 66 6f 72 ....not.solve.the.problem.of.for
554e0 6d 61 74 20 70 72 6f 6c 69 66 65 72 61 74 69 6f 6e 3b 20 69 74 20 6a 75 73 74 20 6d 61 6b 65 73 mat.proliferation;.it.just.makes
55500 20 74 68 65 0a 20 20 20 20 20 70 72 6f 62 6c 65 6d 20 6c 65 73 73 20 6f 62 76 69 6f 75 73 2e 0a .the......problem.less.obvious..
55520 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 27 0a 20 20 20 .'Optional.fields.in.header'....
55540 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 73 20 61 72 65 ..Unless.special.precautions.are
55560 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 20 67 65 6e 65 .taken,.optional.fields.are.gene
55580 72 61 6c 6c 79 20 61 0a 20 20 20 20 20 62 61 64 20 69 64 65 61 20 62 65 63 61 75 73 65 20 74 68 rally.a......bad.idea.because.th
555a0 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 6c 65 20 ey.produce.a.header.of.variable.
555c0 73 69 7a 65 2e 20 54 68 65 20 67 7a 69 70 0a 20 20 20 20 20 68 65 61 64 65 72 20 68 61 73 20 32 size..The.gzip......header.has.2
555e0 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 6f 20 62 65 69 .fields.that,.in.addition.to.bei
55600 6e 67 20 6f 70 74 69 6f 6e 61 6c 2c 20 61 72 65 0a 20 20 20 20 20 7a 65 72 6f 2d 74 65 72 6d 69 ng.optional,.are......zero-termi
55620 6e 61 74 65 64 2e 20 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 nated..This.means.that.if.any.by
55640 74 65 20 69 6e 73 69 64 65 20 74 68 65 20 66 69 65 6c 64 20 67 65 74 73 0a 20 20 20 20 20 7a 65 te.inside.the.field.gets......ze
55660 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 67 20 7a 65 72 6f roed,.or.if.the.terminating.zero
55680 20 67 65 74 73 20 61 6c 74 65 72 65 64 2c 20 67 7a 69 70 20 77 6f 6e 27 74 20 62 65 20 61 62 6c .gets.altered,.gzip.won't.be.abl
556a0 65 20 74 6f 0a 20 20 20 20 20 66 69 6e 64 20 6e 65 69 74 68 65 72 20 74 68 65 20 68 65 61 64 65 e.to......find.neither.the.heade
556c0 72 20 43 52 43 20 6e 6f 72 20 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 20 62 6c 6f 63 6b 73 2e r.CRC.nor.the.compressed.blocks.
556e0 0a 0a 27 4f 70 74 69 6f 6e 61 6c 20 43 52 43 20 66 6f 72 20 74 68 65 20 68 65 61 64 65 72 27 0a ..'Optional.CRC.for.the.header'.
55700 20 20 20 20 20 55 73 69 6e 67 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 43 52 43 20 66 6f 72 20 74 .....Using.an.optional.CRC.for.t
55720 68 65 20 68 65 61 64 65 72 20 69 73 20 6e 6f 74 20 6f 6e 6c 79 20 61 20 62 61 64 20 69 64 65 61 he.header.is.not.only.a.bad.idea
55740 2c 20 69 74 20 69 73 20 61 6e 0a 20 20 20 20 20 65 72 72 6f 72 3b 20 69 74 20 63 69 72 63 75 6d ,.it.is.an......error;.it.circum
55760 76 65 6e 74 73 20 74 68 65 20 48 61 6d 6d 69 6e 67 20 64 69 73 74 61 6e 63 65 20 28 48 44 29 20 vents.the.Hamming.distance.(HD).
55780 6f 66 20 74 68 65 20 43 52 43 20 61 6e 64 20 6d 61 79 0a 20 20 20 20 20 70 72 65 76 65 6e 74 20 of.the.CRC.and.may......prevent.
557a0 74 68 65 20 65 78 74 72 61 63 74 69 6f 6e 20 6f 66 20 70 65 72 66 65 63 74 6c 79 20 67 6f 6f 64 the.extraction.of.perfectly.good
557c0 20 64 61 74 61 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 74 68 65 20 43 52 43 0a 20 .data..For.example,.if.the.CRC..
557e0 20 20 20 20 69 73 20 75 73 65 64 20 61 6e 64 20 74 68 65 20 62 69 74 20 65 6e 61 62 6c 69 6e 67 ....is.used.and.the.bit.enabling
55800 20 69 74 20 69 73 20 72 65 73 65 74 20 62 79 20 61 20 62 69 74 20 66 6c 69 70 2c 20 74 68 65 20 .it.is.reset.by.a.bit.flip,.the.
55820 68 65 61 64 65 72 0a 20 20 20 20 20 77 69 6c 6c 20 61 70 70 65 61 72 20 74 6f 20 62 65 20 69 6e header......will.appear.to.be.in
55840 74 61 63 74 20 28 69 6e 20 73 70 69 74 65 20 6f 66 20 62 65 69 6e 67 20 63 6f 72 72 75 70 74 29 tact.(in.spite.of.being.corrupt)
55860 20 77 68 69 6c 65 20 74 68 65 0a 20 20 20 20 20 63 6f 6d 70 72 65 73 73 65 64 20 62 6c 6f 63 6b .while.the......compressed.block
55880 73 20 77 69 6c 6c 20 61 70 70 65 61 72 20 74 6f 20 62 65 20 74 6f 74 61 6c 6c 79 20 75 6e 72 65 s.will.appear.to.be.totally.unre
558a0 63 6f 76 65 72 61 62 6c 65 20 28 69 6e 20 73 70 69 74 65 20 6f 66 0a 20 20 20 20 20 62 65 69 6e coverable.(in.spite.of......bein
558c0 67 20 69 6e 74 61 63 74 29 2e 20 56 65 72 79 20 6d 69 73 6c 65 61 64 69 6e 67 20 69 6e 64 65 65 g.intact)..Very.misleading.indee
558e0 64 2e 0a 0a 27 4d 65 74 61 64 61 74 61 27 0a 20 20 20 20 20 54 68 65 20 67 7a 69 70 20 66 6f 72 d...'Metadata'......The.gzip.for
55900 6d 61 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 mat.stores.some.metadata,.like.t
55920 68 65 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 20 20 20 20 he.modification.time.of.the.....
55940 20 6f 72 69 67 69 6e 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 .original.file.or.the.operating.
55960 73 79 73 74 65 6d 20 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 system.on.which.compression.took
55980 20 70 6c 61 63 65 2e 0a 20 20 20 20 20 54 68 69 73 20 63 6f 6d 70 6c 69 63 61 74 65 73 20 72 65 .place.......This.complicates.re
559a0 70 72 6f 64 75 63 69 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 producible.compression.(obtainin
559c0 67 20 69 64 65 6e 74 69 63 61 6c 0a 20 20 20 20 20 63 6f 6d 70 72 65 73 73 65 64 20 6f 75 74 70 g.identical......compressed.outp
559e0 75 74 20 66 72 6f 6d 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 ut.from.identical.input)....4.1.
55a00 32 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 2.Lzip.format.improvements.over.
55a20 67 7a 69 70 20 61 6e 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 gzip.and.bzip2.-----------------
55a40 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 --------------------------------
55a60 2d 0a 0a 27 36 34 2d 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 -..'64-bit.size.field'......Prob
55a80 61 62 6c 79 20 74 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 ably.the.most.frequently.reporte
55aa0 64 20 73 68 6f 72 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 d.shortcoming.of.the.gzip.format
55ac0 0a 20 20 20 20 20 69 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 ......is.that.it.only.stores.the
55ae0 20 6c 65 61 73 74 20 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 .least.significant.32.bits.of.th
55b00 65 0a 20 20 20 20 20 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 e......uncompressed.size..The.si
55b20 7a 65 20 6f 66 20 61 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 ze.of.any.file.larger.than.4.GiB
55b40 20 67 65 74 73 0a 20 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 .gets......truncated........Bzip
55b60 32 20 64 6f 65 73 20 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 2.does.not.store.the.uncompresse
55b80 64 20 73 69 7a 65 20 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 d.size.of.the.file........The.lz
55ba0 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 20 66 69 65 6c ip.format.provides.a.64-bit.fiel
55bc0 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 2e 0a 20 20 20 d.for.the.uncompressed.size.....
55be0 20 20 41 64 64 69 74 69 6f 6e 61 6c 6c 79 2c 20 6c 7a 69 70 20 70 72 6f 64 75 63 65 73 20 6d 75 ..Additionally,.lzip.produces.mu
55c00 6c 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 ltimember.output.automatically.w
55c20 68 65 6e 20 74 68 65 0a 20 20 20 20 20 73 69 7a 65 20 69 73 20 74 6f 6f 20 6c 61 72 67 65 20 66 hen.the......size.is.too.large.f
55c40 6f 72 20 61 20 73 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 or.a.single.member,.allowing.for
55c60 20 61 6e 20 75 6e 6c 69 6d 69 74 65 64 0a 20 20 20 20 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 .an.unlimited......uncompressed.
55c80 73 69 7a 65 2e 0a 0a 27 44 69 73 74 72 69 62 75 74 65 64 20 69 6e 64 65 78 27 0a 20 20 20 20 20 size...'Distributed.index'......
55ca0 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 61 20 64 69 73 74 72 The.lzip.format.provides.a.distr
55cc0 69 62 75 74 65 64 20 69 6e 64 65 78 20 74 68 61 74 2c 20 61 6d 6f 6e 67 20 6f 74 68 65 72 20 74 ibuted.index.that,.among.other.t
55ce0 68 69 6e 67 73 2c 0a 20 20 20 20 20 68 65 6c 70 73 20 70 6c 7a 69 70 20 74 6f 20 64 65 63 6f 6d hings,......helps.plzip.to.decom
55d00 70 72 65 73 73 20 73 65 76 65 72 61 6c 20 74 69 6d 65 73 20 66 61 73 74 65 72 20 74 68 61 6e 20 press.several.times.faster.than.
55d20 70 69 67 7a 20 61 6e 64 20 68 65 6c 70 73 0a 20 20 20 20 20 6c 7a 69 70 72 65 63 6f 76 65 72 20 pigz.and.helps......lziprecover.
55d40 64 6f 20 69 74 73 20 6a 6f 62 2e 20 4e 65 69 74 68 65 72 20 74 68 65 20 67 7a 69 70 20 66 6f 72 do.its.job..Neither.the.gzip.for
55d60 6d 61 74 20 6e 6f 72 20 74 68 65 20 62 7a 69 70 32 20 66 6f 72 6d 61 74 0a 20 20 20 20 20 64 6f mat.nor.the.bzip2.format......do
55d80 20 70 72 6f 76 69 64 65 20 61 6e 20 69 6e 64 65 78 2e 0a 0a 20 20 20 20 20 41 20 64 69 73 74 72 .provide.an.index........A.distr
55da0 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 73 ibuted.index.is.safer.and.more.s
55dc0 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 0a 20 20 20 20 20 69 calable.than.a.monolithic......i
55de0 6e 64 65 78 2e 20 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 ndex..The.monolithic.index.intro
55e00 64 75 63 65 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 duces.a.single.point.of.failure.
55e20 69 6e 0a 20 20 20 20 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 in......the.compressed.file.and.
55e40 6d 61 79 20 6c 69 6d 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 may.limit.the.number.of.members.
55e60 6f 72 20 74 68 65 20 74 6f 74 61 6c 0a 20 20 20 20 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 73 or.the.total......uncompressed.s
55e80 69 7a 65 2e 0a 0a 0a 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 ize....4.2.Quality.of.implementa
55ea0 74 69 6f 6e 0a 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 tion.===========================
55ec0 3d 3d 0a 0a 27 41 63 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 ==..'Accurate.and.robust.error.d
55ee0 65 74 65 63 74 69 6f 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 etection'......The.lzip.format.p
55f00 72 6f 76 69 64 65 73 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 rovides.3.factor.integrity.check
55f20 69 6e 67 2c 20 61 6e 64 20 74 68 65 0a 20 20 20 20 20 64 65 63 6f 6d 70 72 65 73 73 6f 72 73 20 ing,.and.the......decompressors.
55f40 72 65 70 6f 72 74 20 6d 69 73 6d 61 74 63 68 65 73 20 69 6e 20 65 61 63 68 20 66 61 63 74 6f 72 report.mismatches.in.each.factor
55f60 20 73 65 70 61 72 61 74 65 6c 79 2e 20 54 68 69 73 20 6d 65 74 68 6f 64 0a 20 20 20 20 20 64 65 .separately..This.method......de
55f80 74 65 63 74 73 20 6d 6f 73 74 20 66 61 6c 73 65 20 70 6f 73 69 74 69 76 65 73 20 66 6f 72 20 63 tects.most.false.positives.for.c
55fa0 6f 72 72 75 70 74 69 6f 6e 2e 20 49 66 20 6a 75 73 74 20 6f 6e 65 20 62 79 74 65 20 69 6e 20 6f orruption..If.just.one.byte.in.o
55fc0 6e 65 0a 20 20 20 20 20 66 61 63 74 6f 72 20 66 61 69 6c 73 20 62 75 74 20 74 68 65 20 6f 74 68 ne......factor.fails.but.the.oth
55fe0 65 72 20 74 77 6f 20 66 61 63 74 6f 72 73 20 6d 61 74 63 68 20 74 68 65 20 64 61 74 61 2c 20 69 er.two.factors.match.the.data,.i
56000 74 20 70 72 6f 62 61 62 6c 79 0a 20 20 20 20 20 6d 65 61 6e 73 20 74 68 61 74 20 74 68 65 20 64 t.probably......means.that.the.d
56020 61 74 61 20 61 72 65 20 69 6e 74 61 63 74 20 61 6e 64 20 74 68 65 20 63 6f 72 72 75 70 74 69 6f ata.are.intact.and.the.corruptio
56040 6e 20 6a 75 73 74 20 61 66 66 65 63 74 73 20 74 68 65 0a 20 20 20 20 20 6d 69 73 6d 61 74 63 68 n.just.affects.the......mismatch
56060 69 6e 67 20 66 61 63 74 6f 72 20 28 43 52 43 2c 20 64 61 74 61 20 73 69 7a 65 2c 20 6f 72 20 6d ing.factor.(CRC,.data.size,.or.m
56080 65 6d 62 65 72 20 73 69 7a 65 29 20 69 6e 20 74 68 65 20 6d 65 6d 62 65 72 0a 20 20 20 20 20 74 ember.size).in.the.member......t
560a0 72 61 69 6c 65 72 2e 0a 0a 27 4d 75 6c 74 69 70 6c 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f railer...'Multiple.implementatio
560c0 6e 73 27 0a 20 20 20 20 20 4a 75 73 74 20 6c 69 6b 65 20 74 68 65 20 6c 7a 69 70 20 66 6f 72 6d ns'......Just.like.the.lzip.form
560e0 61 74 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 at.provides.3.factor.protection.
56100 61 67 61 69 6e 73 74 0a 20 20 20 20 20 75 6e 64 65 74 65 63 74 65 64 20 64 61 74 61 20 63 6f 72 against......undetected.data.cor
56120 72 75 70 74 69 6f 6e 2c 20 74 68 65 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 6d 65 74 68 6f 64 6f ruption,.the.development.methodo
56140 6c 6f 67 79 20 6f 66 20 74 68 65 20 6c 7a 69 70 0a 20 20 20 20 20 66 61 6d 69 6c 79 20 6f 66 20 logy.of.the.lzip......family.of.
56160 63 6f 6d 70 72 65 73 73 6f 72 73 20 70 72 6f 76 69 64 65 73 20 33 20 66 61 63 74 6f 72 20 70 72 compressors.provides.3.factor.pr
56180 6f 74 65 63 74 69 6f 6e 20 61 67 61 69 6e 73 74 20 75 6e 64 65 74 65 63 74 65 64 0a 20 20 20 20 otection.against.undetected.....
561a0 20 70 72 6f 67 72 61 6d 6d 69 6e 67 20 65 72 72 6f 72 73 2e 0a 0a 20 20 20 20 20 54 68 72 65 65 .programming.errors........Three
561c0 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
561e0 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
56200 2c 0a 20 20 20 20 20 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 ,......and.minilzip/lzlib,.are.d
56220 65 76 65 6c 6f 70 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 eveloped.concurrently..Every.sta
56240 62 6c 65 20 72 65 6c 65 61 73 65 0a 20 20 20 20 20 6f 66 20 61 6e 79 20 6f 66 20 74 68 65 6d 20 ble.release......of.any.of.them.
56260 69 73 20 74 65 73 74 65 64 20 74 6f 20 76 65 72 69 66 79 20 74 68 61 74 20 69 74 20 70 72 6f 64 is.tested.to.verify.that.it.prod
56280 75 63 65 73 20 69 64 65 6e 74 69 63 61 6c 20 6f 75 74 70 75 74 0a 20 20 20 20 20 74 6f 20 74 68 uces.identical.output......to.th
562a0 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 20 74 68 61 e.other.two..This.guarantees.tha
562c0 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 6d 65 0a 20 t.all.three.implement.the.same..
562e0 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 75 6e 6c 69 ....algorithm,.and.makes.it.unli
56300 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 6e 74 61 69 kely.that.any.of.them.may.contai
56320 6e 20 73 65 72 69 6f 75 73 0a 20 20 20 20 20 75 6e 64 69 73 63 6f 76 65 72 65 64 20 65 72 72 6f n.serious......undiscovered.erro
56340 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 62 65 65 6e rs..In.fact,.no.errors.have.been
56360 20 64 69 73 63 6f 76 65 72 65 64 20 69 6e 20 6c 7a 69 70 0a 20 20 20 20 20 73 69 6e 63 65 20 32 .discovered.in.lzip......since.2
56380 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 20 74 68 72 009........Additionally,.the.thr
563a0 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 20 65 78 74 ee.implementations.have.been.ext
563c0 65 6e 73 69 76 65 6c 79 20 74 65 73 74 65 64 0a 20 20 20 20 20 77 69 74 68 20 75 6e 7a 63 72 61 ensively.tested......with.unzcra
563e0 73 68 2c 20 76 61 6c 67 72 69 6e 64 2c 20 61 6e 64 20 27 61 6d 65 72 69 63 61 6e 20 66 75 7a 7a sh,.valgrind,.and.'american.fuzz
56400 79 20 6c 6f 70 27 20 77 69 74 68 6f 75 74 20 66 69 6e 64 69 6e 67 20 61 0a 20 20 20 20 20 73 69 y.lop'.without.finding.a......si
56420 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 65 67 61 ngle.vulnerability.or.false.nega
56440 74 69 76 65 2e 20 2a 4e 6f 74 65 20 55 6e 7a 63 72 61 73 68 3a 0a 20 20 20 20 20 28 6c 7a 69 70 tive..*Note.Unzcrash:......(lzip
56460 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 72 79 20 73 recover)Unzcrash...'Dictionary.s
56480 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 20 61 64 61 ize'......Lzip.automatically.ada
564a0 70 74 73 20 74 68 65 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 74 6f 20 74 68 65 20 73 pts.the.dictionary.size.to.the.s
564c0 69 7a 65 20 6f 66 20 65 61 63 68 20 66 69 6c 65 2e 0a 20 20 20 20 20 49 6e 20 61 64 64 69 74 69 ize.of.each.file.......In.additi
564e0 6f 6e 20 74 6f 20 72 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 on.to.reducing.the.amount.of.mem
56500 6f 72 79 20 72 65 71 75 69 72 65 64 20 66 6f 72 0a 20 20 20 20 20 64 65 63 6f 6d 70 72 65 73 73 ory.required.for......decompress
56520 69 6f 6e 2c 20 74 68 69 73 20 66 65 61 74 75 72 65 20 61 6c 73 6f 20 6d 69 6e 69 6d 69 7a 65 73 ion,.this.feature.also.minimizes
56540 20 74 68 65 20 70 72 6f 62 61 62 69 6c 69 74 79 20 6f 66 20 62 65 69 6e 67 0a 20 20 20 20 20 61 .the.probability.of.being......a
56560 66 66 65 63 74 65 64 20 62 79 20 52 41 4d 20 65 72 72 6f 72 73 20 64 75 72 69 6e 67 20 63 6f 6d ffected.by.RAM.errors.during.com
56580 70 72 65 73 73 69 6f 6e 2e 0a 0a 27 45 78 69 74 20 73 74 61 74 75 73 27 0a 20 20 20 20 20 52 65 pression...'Exit.status'......Re
565a0 74 75 72 6e 69 6e 67 20 61 20 77 61 72 6e 69 6e 67 20 73 74 61 74 75 73 20 6f 66 20 32 20 69 73 turning.a.warning.status.of.2.is
565c0 20 61 20 64 65 73 69 67 6e 20 66 6c 61 77 20 6f 66 20 63 6f 6d 70 72 65 73 73 20 74 68 61 74 0a .a.design.flaw.of.compress.that.
565e0 20 20 20 20 20 6c 65 61 6b 65 64 20 69 6e 74 6f 20 74 68 65 20 64 65 73 69 67 6e 20 6f 66 20 67 .....leaked.into.the.design.of.g
56600 7a 69 70 2e 20 42 6f 74 68 20 62 7a 69 70 32 20 61 6e 64 20 6c 7a 69 70 20 61 72 65 20 66 72 65 zip..Both.bzip2.and.lzip.are.fre
56620 65 20 66 72 6f 6d 20 74 68 69 73 0a 20 20 20 20 20 66 6c 61 77 2e 0a 0a 0a 1f 0a 46 69 6c 65 3a e.from.this......flaw......File:
56640 20 6c 7a 69 70 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 41 6c 67 6f 72 69 74 68 6d 2c 20 20 4e .lzip.info,..Node:.Algorithm,..N
56660 65 78 74 3a 20 46 69 6c 65 20 66 6f 72 6d 61 74 2c 20 20 50 72 65 76 3a 20 51 75 61 6c 69 74 79 ext:.File.format,..Prev:.Quality
56680 20 61 73 73 75 72 61 6e 63 65 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 35 20 41 6c 67 6f 72 69 74 68 .assurance,..Up:.Top..5.Algorith
566a0 6d 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 49 6e 20 73 70 69 74 65 20 6f 66 20 69 74 73 20 6e m.***********..In.spite.of.its.n
566c0 61 6d 65 20 28 4c 65 6d 70 65 6c 2d 5a 69 76 2d 4d 61 72 6b 6f 76 20 63 68 61 69 6e 2d 41 6c 67 ame.(Lempel-Ziv-Markov.chain-Alg
566e0 6f 72 69 74 68 6d 29 2c 20 4c 5a 4d 41 20 69 73 20 6e 6f 74 20 61 0a 63 6f 6e 63 72 65 74 65 20 orithm),.LZMA.is.not.a.concrete.
56700 61 6c 67 6f 72 69 74 68 6d 3b 20 69 74 20 69 73 20 6d 6f 72 65 20 6c 69 6b 65 20 22 61 6e 79 20 algorithm;.it.is.more.like."any.
56720 61 6c 67 6f 72 69 74 68 6d 20 75 73 69 6e 67 20 74 68 65 20 4c 5a 4d 41 20 63 6f 64 69 6e 67 0a algorithm.using.the.LZMA.coding.
56740 73 63 68 65 6d 65 22 2e 20 4c 5a 4d 41 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 63 6f 6e 73 69 73 scheme"..LZMA.compression.consis
56760 74 73 20 69 6e 20 64 65 73 63 72 69 62 69 6e 67 20 74 68 65 20 75 6e 63 6f 6d 70 72 65 73 73 65 ts.in.describing.the.uncompresse
56780 64 20 64 61 74 61 20 61 73 20 61 0a 73 75 63 63 65 73 73 69 6f 6e 20 6f 66 20 63 6f 64 69 6e 67 d.data.as.a.succession.of.coding
567a0 20 73 65 71 75 65 6e 63 65 73 20 66 72 6f 6d 20 74 68 65 20 73 65 74 20 73 68 6f 77 6e 20 69 6e .sequences.from.the.set.shown.in
567c0 20 53 65 63 74 69 6f 6e 20 27 57 68 61 74 20 69 73 0a 63 6f 64 65 64 27 20 28 2a 6e 6f 74 65 20 .Section.'What.is.coded'.(*note.
567e0 77 68 61 74 2d 69 73 2d 63 6f 64 65 64 3a 3a 29 2c 20 61 6e 64 20 74 68 65 6e 20 65 6e 63 6f 64 what-is-coded::),.and.then.encod
56800 69 6e 67 20 74 68 65 6d 20 75 73 69 6e 67 20 61 20 72 61 6e 67 65 0a 65 6e 63 6f 64 65 72 2e 20 ing.them.using.a.range.encoder..
56820 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 6f 70 74 69 6f 6e 20 27 2d 30 27 20 6f 66 20 For.example,.the.option.'-0'.of.
56840 6c 7a 69 70 20 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 20 74 lzip.uses.the.scheme.in.almost.t
56860 68 65 0a 73 69 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 he.simplest.way.possible;.issuin
56880 67 20 74 68 65 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 g.the.longest.match.it.can.find,
568a0 20 6f 72 20 61 20 6c 69 74 65 72 61 6c 0a 62 79 74 65 20 69 66 20 69 74 20 63 61 6e 27 74 20 66 .or.a.literal.byte.if.it.can't.f
568c0 69 6e 64 20 61 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 ind.a.match..Inversely,.a.much.m
568e0 6f 72 65 20 65 6c 61 62 6f 72 61 74 65 64 20 77 61 79 20 6f 66 0a 66 69 6e 64 69 6e 67 20 63 6f ore.elaborated.way.of.finding.co
56900 64 69 6e 67 20 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 ding.sequences.of.minimum.size.t
56920 68 61 6e 20 74 68 65 20 6f 6e 65 20 63 75 72 72 65 6e 74 6c 79 20 75 73 65 64 20 62 79 0a 6c 7a han.the.one.currently.used.by.lz
56940 69 70 20 63 6f 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 ip.could.be.developed,.and.the.r
56960 65 73 75 6c 74 69 6e 67 20 73 65 71 75 65 6e 63 65 20 63 6f 75 6c 64 20 61 6c 73 6f 20 62 65 20 esulting.sequence.could.also.be.
56980 63 6f 64 65 64 0a 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 coded.using.the.LZMA.coding.sche
569a0 6d 65 2e 0a 0a 20 20 20 4c 7a 69 70 20 63 75 72 72 65 6e 74 6c 79 20 69 6d 70 6c 65 6d 65 6e 74 me......Lzip.currently.implement
569c0 73 20 74 77 6f 20 76 61 72 69 61 6e 74 73 20 6f 66 20 74 68 65 20 4c 5a 4d 41 20 61 6c 67 6f 72 s.two.variants.of.the.LZMA.algor
569e0 69 74 68 6d 3a 20 66 61 73 74 20 28 75 73 65 64 0a 62 79 20 6f 70 74 69 6f 6e 20 27 2d 30 27 29 ithm:.fast.(used.by.option.'-0')
56a00 20 61 6e 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 .and.normal.(used.by.all.other.c
56a20 6f 6d 70 72 65 73 73 69 6f 6e 20 6c 65 76 65 6c 73 29 2e 0a 0a 20 20 20 54 68 65 20 68 69 67 68 ompression.levels)......The.high
56a40 20 63 6f 6d 70 72 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 .compression.of.LZMA.comes.from.
56a60 63 6f 6d 62 69 6e 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 combining.two.basic,.well-proven
56a80 0a 63 6f 6d 70 72 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 .compression.ideas:.sliding.dict
56aa0 69 6f 6e 61 72 69 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 ionaries.(LZ77/78).and.markov.mo
56ac0 64 65 6c 73 20 28 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 dels.(the.thing.used.by.every.co
56ae0 6d 70 72 65 73 73 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 mpression.algorithm.that.uses.a.
56b00 72 61 6e 67 65 20 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 range.encoder.or.similar.order-0
56b20 20 65 6e 74 72 6f 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 .entropy.coder.as.its.last.stage
56b40 29 20 77 69 74 68 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 ).with.segregation.of.contexts.a
56b60 63 63 6f 72 64 69 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 ccording.to.what.the.bits.are.us
56b80 65 64 20 66 6f 72 2e 0a 0a 20 20 20 4c 7a 69 70 20 69 73 20 61 20 74 77 6f 20 73 74 61 67 65 20 ed.for......Lzip.is.a.two.stage.
56ba0 63 6f 6d 70 72 65 73 73 6f 72 2e 20 54 68 65 20 66 69 72 73 74 20 73 74 61 67 65 20 69 73 20 61 compressor..The.first.stage.is.a
56bc0 20 4c 65 6d 70 65 6c 2d 5a 69 76 20 63 6f 64 65 72 2c 0a 77 68 69 63 68 20 72 65 64 75 63 65 73 .Lempel-Ziv.coder,.which.reduces
56be0 20 72 65 64 75 6e 64 61 6e 63 79 20 62 79 20 74 72 61 6e 73 6c 61 74 69 6e 67 20 63 68 75 6e 6b .redundancy.by.translating.chunk
56c00 73 20 6f 66 20 64 61 74 61 20 74 6f 20 74 68 65 69 72 0a 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 s.of.data.to.their.corresponding
56c20 20 64 69 73 74 61 6e 63 65 2d 6c 65 6e 67 74 68 20 70 61 69 72 73 2e 20 54 68 65 20 73 65 63 6f .distance-length.pairs..The.seco
56c40 6e 64 20 73 74 61 67 65 20 69 73 20 61 20 72 61 6e 67 65 20 65 6e 63 6f 64 65 72 0a 74 68 61 74 nd.stage.is.a.range.encoder.that
56c60 20 75 73 65 73 20 61 20 64 69 66 66 65 72 65 6e 74 20 70 72 6f 62 61 62 69 6c 69 74 79 20 6d 6f .uses.a.different.probability.mo
56c80 64 65 6c 20 66 6f 72 20 65 61 63 68 20 74 79 70 65 20 6f 66 20 64 61 74 61 3a 20 64 69 73 74 61 del.for.each.type.of.data:.dista
56ca0 6e 63 65 73 2c 0a 6c 65 6e 67 74 68 73 2c 20 6c 69 74 65 72 61 6c 20 62 79 74 65 73 2c 20 65 74 nces,.lengths,.literal.bytes,.et
56cc0 63 2e 0a 0a 20 20 20 48 65 72 65 20 69 73 20 68 6f 77 20 69 74 20 77 6f 72 6b 73 2c 20 73 74 65 c......Here.is.how.it.works,.ste
56ce0 70 20 62 79 20 73 74 65 70 3a 0a 0a 20 20 20 31 29 20 54 68 65 20 6d 65 6d 62 65 72 20 68 65 61 p.by.step:.....1).The.member.hea
56d00 64 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 73 74 72 der.is.written.to.the.output.str
56d20 65 61 6d 2e 0a 0a 20 20 20 32 29 20 54 68 65 20 66 69 72 73 74 20 62 79 74 65 20 69 73 20 63 6f eam......2).The.first.byte.is.co
56d40 64 65 64 20 6c 69 74 65 72 61 6c 6c 79 2c 20 62 65 63 61 75 73 65 20 74 68 65 72 65 20 61 72 65 ded.literally,.because.there.are
56d60 20 6e 6f 20 70 72 65 76 69 6f 75 73 0a 62 79 74 65 73 20 74 6f 20 77 68 69 63 68 20 74 68 65 20 .no.previous.bytes.to.which.the.
56d80 6d 61 74 63 68 20 66 69 6e 64 65 72 20 63 61 6e 20 72 65 66 65 72 20 74 6f 2e 0a 0a 20 20 20 33 match.finder.can.refer.to......3
56da0 29 20 54 68 65 20 6d 61 69 6e 20 65 6e 63 6f 64 65 72 20 61 64 76 61 6e 63 65 73 20 74 6f 20 74 ).The.main.encoder.advances.to.t
56dc0 68 65 20 6e 65 78 74 20 62 79 74 65 20 69 6e 20 74 68 65 20 69 6e 70 75 74 20 64 61 74 61 20 61 he.next.byte.in.the.input.data.a
56de0 6e 64 0a 63 61 6c 6c 73 20 74 68 65 20 6d 61 74 63 68 20 66 69 6e 64 65 72 2e 0a 0a 20 20 20 34 nd.calls.the.match.finder......4
56e00 29 20 54 68 65 20 6d 61 74 63 68 20 66 69 6e 64 65 72 20 66 69 6c 6c 73 20 61 6e 20 61 72 72 61 ).The.match.finder.fills.an.arra
56e20 79 20 77 69 74 68 20 74 68 65 20 6d 69 6e 69 6d 75 6d 20 64 69 73 74 61 6e 63 65 73 20 62 65 66 y.with.the.minimum.distances.bef
56e40 6f 72 65 20 74 68 65 0a 63 75 72 72 65 6e 74 20 62 79 74 65 20 77 68 65 72 65 20 61 20 6d 61 74 ore.the.current.byte.where.a.mat
56e60 63 68 20 6f 66 20 61 20 67 69 76 65 6e 20 6c 65 6e 67 74 68 20 63 61 6e 20 62 65 20 66 6f 75 6e ch.of.a.given.length.can.be.foun
56e80 64 2e 0a 0a 20 20 20 35 29 20 47 6f 20 62 61 63 6b 20 74 6f 20 73 74 65 70 20 33 20 75 6e 74 69 d......5).Go.back.to.step.3.unti
56ea0 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 72 73 2c 20 72 l.a.sequence.(formed.of.pairs,.r
56ec0 65 70 65 61 74 65 64 0a 64 69 73 74 61 6e 63 65 73 2c 20 61 6e 64 20 6c 69 74 65 72 61 6c 20 62 epeated.distances,.and.literal.b
56ee0 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 65 65 6e 20 ytes).of.minimum.price.has.been.
56f00 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 65 73 65 6e formed..Where.the.price.represen
56f20 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 20 70 72 6f ts.the.number.of.output.bits.pro
56f40 64 75 63 65 64 2e 0a 0a 20 20 20 36 29 20 54 68 65 20 72 61 6e 67 65 20 65 6e 63 6f 64 65 72 20 duced......6).The.range.encoder.
56f60 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 79 encodes.the.sequence.produced.by
56f80 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 20 .the.main.encoder.and.sends.the.
56fa0 62 79 74 65 73 20 70 72 6f 64 75 63 65 64 20 74 6f 20 74 68 65 20 6f 75 74 70 75 74 20 73 74 72 bytes.produced.to.the.output.str
56fc0 65 61 6d 2e 0a 0a 20 20 20 37 29 20 47 6f 20 62 61 63 6b 20 74 6f 20 73 74 65 70 20 33 20 75 6e eam......7).Go.back.to.step.3.un
56fe0 74 69 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 til.the.input.data.are.finished.
57000 6f 72 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 or.until.the.member.or.volume.si
57020 7a 65 20 6c 69 6d 69 74 73 20 61 72 65 20 72 65 61 63 68 65 64 2e 0a 0a 20 20 20 38 29 20 54 68 ze.limits.are.reached......8).Th
57040 65 20 72 61 6e 67 65 20 65 6e 63 6f 64 65 72 20 69 73 20 66 6c 75 73 68 65 64 2e 0a 0a 20 20 20 e.range.encoder.is.flushed......
57060 39 29 20 54 68 65 20 6d 65 6d 62 65 72 20 74 72 61 69 6c 65 72 20 69 73 20 77 72 69 74 74 65 6e 9).The.member.trailer.is.written
57080 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 31 30 29 20 49 .to.the.output.stream......10).I
570a0 66 20 74 68 65 72 65 20 61 72 65 20 6d 6f 72 65 20 64 61 74 61 20 74 6f 20 63 6f 6d 70 72 65 73 f.there.are.more.data.to.compres
570c0 73 2c 20 67 6f 20 62 61 63 6b 20 74 6f 20 73 74 65 70 20 31 2e 0a 0a 0a 20 20 20 44 75 72 69 6e s,.go.back.to.step.1.......Durin
570e0 67 20 63 6f 6d 70 72 65 73 73 69 6f 6e 2c 20 6c 7a 69 70 20 72 65 61 64 73 20 64 61 74 61 20 69 g.compression,.lzip.reads.data.i
57100 6e 20 6c 61 72 67 65 20 62 6c 6f 63 6b 73 20 28 6f 6e 65 20 64 69 63 74 69 6f 6e 61 72 79 20 73 n.large.blocks.(one.dictionary.s
57120 69 7a 65 0a 61 74 20 61 20 74 69 6d 65 29 2e 20 54 68 65 72 65 66 6f 72 65 20 69 74 20 6d 61 79 ize.at.a.time)..Therefore.it.may
57140 20 62 6c 6f 63 6b 20 66 6f 72 20 75 70 20 74 6f 20 74 65 6e 73 20 6f 66 20 73 65 63 6f 6e 64 73 .block.for.up.to.tens.of.seconds
57160 20 61 6e 79 20 70 72 6f 63 65 73 73 0a 66 65 65 64 69 6e 67 20 64 61 74 61 20 74 6f 20 69 74 20 .any.process.feeding.data.to.it.
57180 74 68 72 6f 75 67 68 20 61 20 70 69 70 65 2e 20 54 68 69 73 20 69 73 20 6e 6f 72 6d 61 6c 2e 20 through.a.pipe..This.is.normal..
571a0 54 68 65 20 62 6c 6f 63 6b 69 6e 67 20 69 6e 74 65 72 76 61 6c 73 0a 67 65 74 20 6c 6f 6e 67 65 The.blocking.intervals.get.longe
571c0 72 20 77 69 74 68 20 68 69 67 68 65 72 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6c 65 76 65 6c 73 r.with.higher.compression.levels
571e0 20 62 65 63 61 75 73 65 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 69 6e 63 72 65 61 73 .because.dictionary.size.increas
57200 65 73 0a 28 61 6e 64 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 73 70 65 65 64 20 64 65 63 72 65 61 es.(and.compression.speed.decrea
57220 73 65 73 29 20 77 69 74 68 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6c 65 76 65 6c 2e 0a 0a 54 68 ses).with.compression.level...Th
57240 65 20 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 e.ideas.embodied.in.lzip.are.due
57260 20 74 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 .to.(at.least).the.following.peo
57280 70 6c 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 ple:.Abraham.Lempel.and.Jacob.Zi
572a0 76 20 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 v.(for.the.LZ.algorithm),.Andrey
572c0 20 4d 61 72 6b 6f 76 20 28 66 6f 72 20 74 68 65 0a 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 4d .Markov.(for.the.definition.of.M
572e0 61 72 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 arkov.chains),.G.N.N..Martin.(fo
57300 72 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 72 61 6e 67 65 0a 65 6e 63 6f 64 69 r.the.definition.of.range.encodi
57320 6e 67 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 ng),.Igor.Pavlov.(for.putting.al
57340 6c 20 74 68 65 20 61 62 6f 76 65 20 74 6f 67 65 74 68 65 72 20 69 6e 20 4c 5a 4d 41 29 2c 20 61 l.the.above.together.in.LZMA),.a
57360 6e 64 0a 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 nd.Julian.Seward.(for.bzip2's.CL
57380 49 29 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 46 I).....File:.lzip.info,..Node:.F
573a0 69 6c 65 20 66 6f 72 6d 61 74 2c 20 20 4e 65 78 74 3a 20 53 74 72 65 61 6d 20 66 6f 72 6d 61 74 ile.format,..Next:.Stream.format
573c0 2c 20 20 50 72 65 76 3a 20 41 6c 67 6f 72 69 74 68 6d 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 36 20 ,..Prev:.Algorithm,..Up:.Top..6.
573e0 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 65 File.format.*************..Perfe
57400 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 65 ction.is.reached,.not.when.there
57420 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 62 .is.no.longer.anything.to.add,.b
57440 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 68 ut.when.there.is.no.longer.anyth
57460 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 20 ing.to.take.away..--.Antoine.de.
57480 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 61 Saint-Exupery......In.the.diagra
574a0 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 0a 2b 2d 2d 2d 2b m.below,.a.box.like.this:..+---+
574c0 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
574e0 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
57500 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 0a 2b ts.one.byte;.a.box.like.this:..+
57520 3d 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 ==============+.|..............|
57540 0a 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 .+==============+.....represents
57560 20 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 .a.variable.number.of.bytes.....
57580 20 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 ..A.lzip.file.consists.of.a.seri
575a0 65 73 20 6f 66 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 22 6d 65 6d 62 65 72 73 22 20 28 63 6f 6d es.of.independent."members".(com
575c0 70 72 65 73 73 65 64 0a 64 61 74 61 20 73 65 74 73 29 2e 20 54 68 65 20 6d 65 6d 62 65 72 73 20 pressed.data.sets)..The.members.
575e0 73 69 6d 70 6c 79 20 61 70 70 65 61 72 20 6f 6e 65 20 61 66 74 65 72 20 61 6e 6f 74 68 65 72 20 simply.appear.one.after.another.
57600 69 6e 20 74 68 65 20 66 69 6c 65 2c 20 77 69 74 68 20 6e 6f 0a 61 64 64 69 74 69 6f 6e 61 6c 20 in.the.file,.with.no.additional.
57620 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 62 65 66 6f 72 65 2c 20 62 65 74 77 65 65 6e 2c 20 6f 72 20 information.before,.between,.or.
57640 61 66 74 65 72 20 74 68 65 6d 2e 20 45 61 63 68 20 6d 65 6d 62 65 72 20 63 61 6e 0a 65 6e 63 6f after.them..Each.member.can.enco
57660 64 65 20 69 6e 20 63 6f 6d 70 72 65 73 73 65 64 20 66 6f 72 6d 20 75 70 20 74 6f 20 31 36 20 45 de.in.compressed.form.up.to.16.E
57680 69 42 20 2d 20 31 20 62 79 74 65 20 6f 66 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 iB.-.1.byte.of.uncompressed.data
576a0 2e 20 54 68 65 0a 73 69 7a 65 20 6f 66 20 61 20 6d 75 6c 74 69 6d 65 6d 62 65 72 20 66 69 6c 65 ..The.size.of.a.multimember.file
576c0 20 69 73 20 75 6e 6c 69 6d 69 74 65 64 2e 0a 0a 20 20 20 45 61 63 68 20 6d 65 6d 62 65 72 20 68 .is.unlimited......Each.member.h
576e0 61 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 73 74 72 75 63 74 75 72 65 3a 0a 0a 2b 2d 2d as.the.following.structure:..+--
57700 2b 2d 2d 2b 2d 2d 2b 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d +--+--+--+----+----+============
57720 3d 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 2d 2b 2d 2b =+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
57740 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 0a 7c 20 49 44 20 73 74 72 69 6e 67 20 7c 20 56 4e 20 7c 20 44 53 -+-+-+-+-+.|.ID.string.|.VN.|.DS
57760 20 7c 20 4c 5a 4d 41 20 73 74 72 65 61 6d 20 7c 20 43 52 43 33 32 20 7c 20 20 20 44 61 74 61 20 .|.LZMA.stream.|.CRC32.|...Data.
57780 73 69 7a 65 20 20 20 7c 20 20 4d 65 6d 62 65 72 20 73 69 7a 65 20 20 7c 0a 2b 2d 2d 2b 2d 2d 2b size...|..Member.size..|.+--+--+
577a0 2d 2d 2b 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 2b 2d 2b --+--+----+----+=============+-+
577c0 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 2d 2b 2d 2b 2d 2b -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
577e0 2d 2b 2d 2b 2d 2b 0a 0a 20 20 20 41 6c 6c 20 6d 75 6c 74 69 62 79 74 65 20 76 61 6c 75 65 73 20 -+-+-+.....All.multibyte.values.
57800 61 72 65 20 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 are.stored.in.little.endian.orde
57820 72 2e 0a 0a 27 49 44 20 73 74 72 69 6e 67 20 28 74 68 65 20 22 6d 61 67 69 63 22 20 62 79 74 65 r...'ID.string.(the."magic".byte
57840 73 29 27 0a 20 20 20 20 20 41 20 66 6f 75 72 20 62 79 74 65 20 73 74 72 69 6e 67 2c 20 69 64 65 s)'......A.four.byte.string,.ide
57860 6e 74 69 66 79 69 6e 67 20 74 68 65 20 6c 7a 69 70 20 66 6f 72 6d 61 74 2c 20 77 69 74 68 20 74 ntifying.the.lzip.format,.with.t
57880 68 65 20 76 61 6c 75 65 20 22 4c 5a 49 50 22 0a 20 20 20 20 20 28 30 78 34 43 2c 20 30 78 35 41 he.value."LZIP"......(0x4C,.0x5A
578a0 2c 20 30 78 34 39 2c 20 30 78 35 30 29 2e 0a 0a 27 56 4e 20 28 76 65 72 73 69 6f 6e 20 6e 75 6d ,.0x49,.0x50)...'VN.(version.num
578c0 62 65 72 2c 20 31 20 62 79 74 65 29 27 0a 20 20 20 20 20 4a 75 73 74 20 69 6e 20 63 61 73 65 20 ber,.1.byte)'......Just.in.case.
578e0 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 20 69 something.needs.to.be.modified.i
57900 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 27 44 53 20 28 63 n.the.future..1.for.now...'DS.(c
57920 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 79 74 65 29 27 0a 20 oded.dictionary.size,.1.byte)'..
57940 20 20 20 20 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 75 ....The.dictionary.size.is.calcu
57960 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 68 lated.by.taking.a.power.of.2.(th
57980 65 20 62 61 73 65 0a 20 20 20 20 20 73 69 7a 65 29 20 61 6e 64 20 73 75 62 74 72 61 63 74 69 6e e.base......size).and.subtractin
579a0 67 20 66 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 g.from.it.a.fraction.between.0/1
579c0 36 20 61 6e 64 20 37 2f 31 36 20 6f 66 20 74 68 65 0a 20 20 20 20 20 62 61 73 65 20 73 69 7a 65 6.and.7/16.of.the......base.size
579e0 2e 0a 20 20 20 20 20 42 69 74 73 20 34 2d 30 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 62 61 73 65 .......Bits.4-0.contain.the.base
57a00 20 32 20 6c 6f 67 61 72 69 74 68 6d 20 6f 66 20 74 68 65 20 62 61 73 65 20 73 69 7a 65 20 28 31 .2.logarithm.of.the.base.size.(1
57a20 32 20 74 6f 20 32 39 29 2e 0a 20 20 20 20 20 42 69 74 73 20 37 2d 35 20 63 6f 6e 74 61 69 6e 20 2.to.29).......Bits.7-5.contain.
57a40 74 68 65 20 6e 75 6d 65 72 61 74 6f 72 20 6f 66 20 74 68 65 20 66 72 61 63 74 69 6f 6e 20 28 30 the.numerator.of.the.fraction.(0
57a60 20 74 6f 20 37 29 20 74 6f 20 73 75 62 74 72 61 63 74 0a 20 20 20 20 20 66 72 6f 6d 20 74 68 65 .to.7).to.subtract......from.the
57a80 20 62 61 73 65 20 73 69 7a 65 20 74 6f 20 6f 62 74 61 69 6e 20 74 68 65 20 64 69 63 74 69 6f 6e .base.size.to.obtain.the.diction
57aa0 61 72 79 20 73 69 7a 65 2e 0a 20 20 20 20 20 45 78 61 6d 70 6c 65 3a 20 30 78 44 33 20 3d 20 32 ary.size.......Example:.0xD3.=.2
57ac0 5e 31 39 20 2d 20 36 20 2a 20 32 5e 31 35 20 3d 20 35 31 32 20 4b 69 42 20 2d 20 36 20 2a 20 33 ^19.-.6.*.2^15.=.512.KiB.-.6.*.3
57ae0 32 20 4b 69 42 20 3d 20 33 32 30 20 4b 69 42 0a 20 20 20 20 20 56 61 6c 69 64 20 76 61 6c 75 65 2.KiB.=.320.KiB......Valid.value
57b00 73 20 66 6f 72 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 72 61 6e 67 65 20 66 72 6f 6d s.for.dictionary.size.range.from
57b20 20 34 20 4b 69 42 20 74 6f 20 35 31 32 20 4d 69 42 2e 0a 0a 27 4c 5a 4d 41 20 73 74 72 65 61 6d .4.KiB.to.512.MiB...'LZMA.stream
57b40 27 0a 20 20 20 20 20 54 68 65 20 4c 5a 4d 41 20 73 74 72 65 61 6d 2c 20 66 69 6e 69 73 68 65 64 '......The.LZMA.stream,.finished
57b60 20 62 79 20 61 6e 20 22 45 6e 64 20 4f 66 20 53 74 72 65 61 6d 22 20 6d 61 72 6b 65 72 2e 20 55 .by.an."End.Of.Stream".marker..U
57b80 73 65 73 20 64 65 66 61 75 6c 74 0a 20 20 20 20 20 76 61 6c 75 65 73 20 66 6f 72 20 65 6e 63 6f ses.default......values.for.enco
57ba0 64 65 72 20 70 72 6f 70 65 72 74 69 65 73 2e 20 2a 4e 6f 74 65 20 53 74 72 65 61 6d 20 66 6f 72 der.properties..*Note.Stream.for
57bc0 6d 61 74 3a 3a 2c 20 66 6f 72 20 61 20 63 6f 6d 70 6c 65 74 65 0a 20 20 20 20 20 64 65 73 63 72 mat::,.for.a.complete......descr
57be0 69 70 74 69 6f 6e 2e 0a 0a 27 43 52 43 33 32 20 28 34 20 62 79 74 65 73 29 27 0a 20 20 20 20 20 iption...'CRC32.(4.bytes)'......
57c00 43 79 63 6c 69 63 20 52 65 64 75 6e 64 61 6e 63 79 20 43 68 65 63 6b 20 28 43 52 43 29 20 6f 66 Cyclic.Redundancy.Check.(CRC).of
57c20 20 74 68 65 20 6f 72 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 .the.original.uncompressed.data.
57c40 0a 0a 27 44 61 74 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 ..'Data.size.(8.bytes)'......Siz
57c60 65 20 6f 66 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 64 e.of.the.original.uncompressed.d
57c80 61 74 61 2e 0a 0a 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 ata...'Member.size.(8.bytes)'...
57ca0 20 20 20 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 ...Total.size.of.the.member,.inc
57cc0 6c 75 64 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 luding.header.and.trailer..This.
57ce0 66 69 65 6c 64 20 61 63 74 73 0a 20 20 20 20 20 61 73 20 61 20 64 69 73 74 72 69 62 75 74 65 64 field.acts......as.a.distributed
57d00 20 69 6e 64 65 78 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 .index,.allows.the.verification.
57d20 6f 66 20 73 74 72 65 61 6d 20 69 6e 74 65 67 72 69 74 79 2c 0a 20 20 20 20 20 61 6e 64 20 66 61 of.stream.integrity,......and.fa
57d40 63 69 6c 69 74 61 74 65 73 20 74 68 65 20 73 61 66 65 20 72 65 63 6f 76 65 72 79 20 6f 66 20 75 cilitates.the.safe.recovery.of.u
57d60 6e 64 61 6d 61 67 65 64 20 6d 65 6d 62 65 72 73 20 66 72 6f 6d 0a 20 20 20 20 20 6d 75 6c 74 69 ndamaged.members.from......multi
57d80 6d 65 6d 62 65 72 20 66 69 6c 65 73 2e 20 4d 65 6d 62 65 72 20 73 69 7a 65 20 73 68 6f 75 6c 64 member.files..Member.size.should
57da0 20 62 65 20 6c 69 6d 69 74 65 64 20 74 6f 20 32 20 50 69 42 20 74 6f 20 70 72 65 76 65 6e 74 0a .be.limited.to.2.PiB.to.prevent.
57dc0 20 20 20 20 20 74 68 65 20 64 61 74 61 20 73 69 7a 65 20 66 69 65 6c 64 20 66 72 6f 6d 20 6f 76 .....the.data.size.field.from.ov
57de0 65 72 66 6c 6f 77 69 6e 67 2e 0a 0a 0a 1f 0a 46 69 6c 65 3a 20 6c 7a 69 70 2e 69 6e 66 6f 2c 20 erflowing......File:.lzip.info,.
57e00 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 54 72 61 .Node:.Stream.format,..Next:.Tra
57e20 69 6c 69 6e 67 20 64 61 74 61 2c 20 20 50 72 65 76 3a 20 46 69 6c 65 20 66 6f 72 6d 61 74 2c 20 iling.data,..Prev:.File.format,.
57e40 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 73 .Up:.Top..7.Format.of.the.LZMA.s
57e60 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 2a tream.in.lzip.files.************
57e80 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 54 *****************************..T
57ea0 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 61 he.LZMA.algorithm.has.three.para
57ec0 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 20 70 72 6f meters,.called."special.LZMA.pro
57ee0 70 65 72 74 69 65 73 22 2c 0a 74 6f 20 61 64 6a 75 73 74 20 69 74 20 66 6f 72 20 73 6f 6d 65 20 perties",.to.adjust.it.for.some.
57f00 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 20 70 61 72 61 kinds.of.binary.data..These.para
57f20 6d 65 74 65 72 73 20 61 72 65 3a 0a 27 6c 69 74 65 72 61 6c 5f 63 6f 6e 74 65 78 74 5f 62 69 74 meters.are:.'literal_context_bit
57f40 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 0a s'.(with.a.default.value.of.3),.
57f60 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 61 'literal_pos_state_bits'.(with.a
57f80 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 20 27 70 6f 73 5f 73 .default.value.of.0),.and.'pos_s
57fa0 74 61 74 65 5f 62 69 74 73 27 0a 28 77 69 74 68 20 61 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 tate_bits'.(with.a.default.value
57fc0 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 20 63 6f 6d .of.2)..As.a.general.purpose.com
57fe0 70 72 65 73 73 6f 72 2c 20 6c 7a 69 70 20 6f 6e 6c 79 0a 75 73 65 73 20 74 68 65 20 64 65 66 61 pressor,.lzip.only.uses.the.defa
58000 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 2e ult.values.for.these.parameters.
58020 20 49 6e 20 70 61 72 74 69 63 75 6c 61 72 0a 27 6c 69 74 65 72 61 6c 5f 70 6f 73 5f 73 74 61 74 .In.particular.'literal_pos_stat
58040 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 20 e_bits'.has.been.optimized.away.
58060 61 6e 64 20 64 6f 65 73 20 6e 6f 74 20 65 76 65 6e 20 61 70 70 65 61 72 0a 69 6e 20 74 68 65 20 and.does.not.even.appear.in.the.
58080 63 6f 64 65 2e 0a 0a 20 20 20 4c 7a 69 70 20 66 69 6e 69 73 68 65 73 20 74 68 65 20 4c 5a 4d 41 code......Lzip.finishes.the.LZMA
580a0 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 6d 22 20 .stream.with.an."End.Of.Stream".
580c0 28 45 4f 53 29 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 (EOS).marker.(the.distance-lengt
580e0 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
58100 20 63 6f 6e 6a 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65 20 27 6d 65 6d 62 65 72 0a 73 69 .conjunction.with.the.'member.si
58120 7a 65 27 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.
58140 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
58160 6d 0a 69 6e 74 65 67 72 69 74 79 2e 20 54 68 65 20 45 4f 53 20 6d 61 72 6b 65 72 20 69 73 20 74 m.integrity..The.EOS.marker.is.t
58180 68 65 20 6f 6e 6c 79 20 6d 61 72 6b 65 72 20 61 6c 6c 6f 77 65 64 20 69 6e 20 6c 7a 69 70 20 66 he.only.marker.allowed.in.lzip.f
581a0 69 6c 65 73 2e 20 54 68 65 0a 4c 5a 4d 41 20 73 74 72 65 61 6d 20 69 6e 20 6c 7a 69 70 20 66 69 iles..The.LZMA.stream.in.lzip.fi
581c0 6c 65 73 20 61 6c 77 61 79 73 20 68 61 73 20 74 68 65 73 65 20 74 77 6f 20 66 65 61 74 75 72 65 les.always.has.these.two.feature
581e0 73 20 28 64 65 66 61 75 6c 74 20 70 72 6f 70 65 72 74 69 65 73 0a 61 6e 64 20 45 4f 53 20 6d 61 s.(default.properties.and.EOS.ma
58200 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 74 68 69 73 rker).and.is.referred.to.in.this
58220 20 64 6f 63 75 6d 65 6e 74 20 61 73 20 4c 5a 4d 41 2d 33 30 32 65 6f 73 2e 20 54 68 69 73 0a 73 .document.as.LZMA-302eos..This.s
58240 69 6d 70 6c 69 66 69 65 64 20 66 6f 72 6d 20 6f 66 20 74 68 65 20 4c 5a 4d 41 20 73 74 72 65 61 implified.form.of.the.LZMA.strea
58260 6d 20 66 6f 72 6d 61 74 20 68 61 73 20 62 65 65 6e 20 63 68 6f 73 65 6e 20 74 6f 20 6d 61 78 69 m.format.has.been.chosen.to.maxi
58280 6d 69 7a 65 0a 69 6e 74 65 72 6f 70 65 72 61 62 69 6c 69 74 79 20 61 6e 64 20 73 61 66 65 74 79 mize.interoperability.and.safety
582a0 2e 0a 0a 20 20 20 54 68 65 20 73 65 63 6f 6e 64 20 73 74 61 67 65 20 6f 66 20 4c 5a 4d 41 20 69 ......The.second.stage.of.LZMA.i
582c0 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 73 20 61 20 64 69 s.a.range.encoder.that.uses.a.di
582e0 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 66 6f 72 20 65 61 fferent.probability.model.for.ea
58300 63 68 20 74 79 70 65 20 6f 66 20 73 79 6d 62 6f 6c 3a 20 64 69 73 74 61 6e 63 65 73 2c 20 6c 65 ch.type.of.symbol:.distances,.le
58320 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 20 52 61 6e 67 65 ngths,.literal.bytes,.etc..Range
58340 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 6f 64 65 73 20 61 .encoding.conceptually.encodes.a
58360 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 61 67 65 20 69 6e ll.the.symbols.of.the.message.in
58380 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 6d 61 6e 20 63 6f to.one.number..Unlike.Huffman.co
583a0 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 68 0a 73 79 6d 62 ding,.which.assigns.to.each.symb
583c0 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 74 65 6e 61 74 65 ol.a.bit-pattern.and.concatenate
583e0 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 65 74 68 65 72 2c s.all.the.bit-patterns.together,
58400 20 72 61 6e 67 65 0a 65 6e 63 6f 64 69 6e 67 20 63 61 6e 20 63 6f 6d 70 72 65 73 73 20 6f 6e 65 .range.encoding.can.compress.one
58420 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 69 74 2e 20 54 68 .symbol.to.less.than.one.bit..Th
58440 65 72 65 66 6f 72 65 20 74 68 65 0a 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 20 70 72 6f 64 erefore.the.compressed.data.prod
58460 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 6e 27 74 20 62 65 uced.by.a.range.encoder.can't.be
58480 20 73 70 6c 69 74 20 69 6e 20 70 69 65 63 65 73 20 74 68 61 74 0a 63 6f 75 6c 64 20 62 65 20 64 .split.in.pieces.that.could.be.d
584a0 65 73 63 72 69 62 65 64 20 69 6e 64 69 76 69 64 75 61 6c 6c 79 2e 0a 0a 20 20 20 49 74 20 73 65 escribed.individually......It.se
584c0 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 72 69 62 ems.that.the.only.way.of.describ
584e0 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 20 74 6f ing.the.LZMA-302eos.stream.is.to
58500 0a 64 65 73 63 72 69 62 65 20 74 68 65 20 61 6c 67 6f 72 69 74 68 6d 20 74 68 61 74 20 64 65 63 .describe.the.algorithm.that.dec
58520 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 74 61 odes.it..And.given.the.many.deta
58540 69 6c 73 20 61 62 6f 75 74 0a 74 68 65 20 72 61 6e 67 65 20 64 65 63 6f 64 65 72 20 74 68 61 74 ils.about.the.range.decoder.that
58560 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 6c 79 .need.to.be.described.accurately
58580 2c 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 6f 66 0a 61 20 72 65 61 6c 20 64 65 63 6f ,.the.source.code.of.a.real.deco
585a0 6d 70 72 65 73 73 6f 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 mpressor.seems.the.only.appropri
585c0 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 57 68 61 74 20 66 ate.reference.to.use......What.f
585e0 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 20 74 68 65 20 64 ollows.is.a.description.of.the.d
58600 65 63 6f 64 69 6e 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 ecoding.algorithm.for.LZMA-302eo
58620 73 0a 73 74 72 65 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 s.streams.using.as.reference.the
58640 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 20 65 64 75 63 61 74 .source.code.of."lzd",.an.educat
58660 69 6f 6e 61 6c 0a 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 ional.decompressor.for.lzip.file
58680 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 66 72 6f 6d 20 74 s.which.can.be.downloaded.from.t
586a0 68 65 20 6c 7a 69 70 20 64 6f 77 6e 6c 6f 61 64 0a 64 69 72 65 63 74 6f 72 79 2e 20 4c 7a 64 20 he.lzip.download.directory..Lzd.
586c0 69 73 20 77 72 69 74 74 65 6e 20 69 6e 20 43 2b 2b 31 31 20 61 6e 64 20 69 74 73 20 73 6f 75 72 is.written.in.C++11.and.its.sour
586e0 63 65 20 63 6f 64 65 20 69 73 20 69 6e 63 6c 75 64 65 64 20 69 6e 0a 61 70 70 65 6e 64 69 78 20 ce.code.is.included.in.appendix.
58700 41 2e 20 2a 4e 6f 74 65 20 52 65 66 65 72 65 6e 63 65 20 73 6f 75 72 63 65 20 63 6f 64 65 3a 3a A..*Note.Reference.source.code::
58720 2e 0a 0a 0a 37 2e 31 20 57 68 61 74 20 69 73 20 63 6f 64 65 64 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ....7.1.What.is.coded.==========
58740 3d 3d 3d 3d 3d 3d 3d 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 =======..The.LZMA.stream.include
58760 73 20 6c 69 74 65 72 61 6c 73 2c 20 6d 61 74 63 68 65 73 2c 20 61 6e 64 20 72 65 70 65 61 74 65 s.literals,.matches,.and.repeate
58780 64 20 6d 61 74 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 d.matches.(matches.reusing.a.rec
587a0 65 6e 74 6c 79 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 ently.used.distance)..There.are.
587c0 37 20 64 69 66 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 42 7.different.coding.sequences:..B
587e0 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 4e 61 6d 65 20 it.sequence................Name.
58800 20 20 20 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 .......Description.-------------
58820 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 --------------------------------
58840 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 --------------------------------
58860 0a 30 20 2b 20 62 79 74 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 69 74 .0.+.byte....................lit
58880 65 72 61 6c 20 20 20 20 20 6c 69 74 65 72 61 6c 20 62 79 74 65 0a 31 20 2b 20 30 20 2b 20 6c 65 eral.....literal.byte.1.+.0.+.le
588a0 6e 20 2b 20 64 69 73 20 20 20 20 20 20 20 20 20 20 20 6d 61 74 63 68 20 20 20 20 20 20 20 64 69 n.+.dis...........match.......di
588c0 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 2b 20 30 20 2b 20 30 stance-length.pair.1.+.1.+.0.+.0
588e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 68 6f 72 74 72 65 70 20 20 20 20 31 20 62 79 74 ...............shortrep....1.byt
58900 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 6e 63 65 0a e.match.at.latest.used.distance.
58920 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 20 20 72 65 70 30 1.+.1.+.0.+.1.+.len.........rep0
58940 20 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 73 ........len.bytes.match.at.lates
58960 74 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 30 20 2b 20 t.used.distance.1.+.1.+.1.+.0.+.
58980 6c 65 6e 20 20 20 20 20 20 20 20 20 72 65 70 31 20 20 20 20 20 20 20 20 6c 65 6e 20 62 79 74 65 len.........rep1........len.byte
589a0 73 20 6d 61 74 63 68 20 61 74 20 73 65 63 6f 6e 64 20 6c 61 74 65 73 74 20 75 73 65 64 0a 20 20 s.match.at.second.latest.used...
589c0 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 ................................
589e0 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 2b 20 31 20 2b 20 30 ......distance.1.+.1.+.1.+.1.+.0
58a00 20 2b 20 6c 65 6e 20 20 20 20 20 72 65 70 32 20 20 20 20 20 20 20 20 6c 65 6e 20 62 79 74 65 73 .+.len.....rep2........len.bytes
58a20 20 6d 61 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 .match.at.third.latest.used.....
58a40 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 ................................
58a60 20 20 20 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 31 20 2b ....distance.1.+.1.+.1.+.1.+.1.+
58a80 20 6c 65 6e 20 20 20 20 20 72 65 70 33 20 20 20 20 20 20 20 20 6c 65 6e 20 62 79 74 65 73 20 6d .len.....rep3........len.bytes.m
58aa0 61 74 63 68 20 61 74 20 66 6f 75 72 74 68 20 6c 61 74 65 73 74 20 75 73 65 64 0a 20 20 20 20 20 atch.at.fourth.latest.used......
58ac0 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 ................................
58ae0 20 20 20 64 69 73 74 61 6e 63 65 0a 0a 0a 20 20 20 49 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e ...distance......In.the.followin
58b00 67 20 74 61 62 6c 65 73 2c 20 6d 75 6c 74 69 62 69 74 20 73 65 71 75 65 6e 63 65 73 20 61 72 65 g.tables,.multibit.sequences.are
58b20 20 63 6f 64 65 64 20 69 6e 20 6e 6f 72 6d 61 6c 20 6f 72 64 65 72 2c 0a 66 72 6f 6d 20 6d 6f 73 .coded.in.normal.order,.from.mos
58b40 74 20 73 69 67 6e 69 66 69 63 61 6e 74 20 62 69 74 20 28 4d 53 42 29 20 74 6f 20 6c 65 61 73 74 t.significant.bit.(MSB).to.least
58b60 20 73 69 67 6e 69 66 69 63 61 6e 74 20 62 69 74 20 28 4c 53 42 29 2c 20 65 78 63 65 70 74 0a 77 .significant.bit.(LSB),.except.w
58b80 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 65 6e 67 74 68 here.noted.otherwise......Length
58ba0 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 62 6f 76 65 29 s.(the.'len'.in.the.table.above)
58bc0 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 20 73 65 71 75 .are.coded.as.follows:..Bit.sequ
58be0 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 20 20 20 20 44 ence...........................D
58c00 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 2d 2d 2d escription.---------------------
58c20 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 --------------------------------
58c40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 30 20 2b 20 33 20 62 69 -----------------------.0.+.3.bi
58c60 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 20 20 6c ts.............................l
58c80 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
58ca0 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 6c 65 6e 67 74 68 s.........................length
58cc0 73 20 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 s.from.10.to.17.1.+.1.+.8.bits..
58ce0 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 66 .......................lengths.f
58d00 72 6f 6d 20 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 rom.18.to.273......The.coding.of
58d20 20 64 69 73 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 .distances.is.a.little.more.comp
58d40 6c 69 63 61 74 65 64 2c 20 73 6f 20 49 27 6c 6c 20 62 65 67 69 6e 20 62 79 0a 65 78 70 6c 61 69 licated,.so.I'll.begin.by.explai
58d60 6e 69 6e 67 20 61 20 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 ning.a.simpler.version.of.the.en
58d80 63 6f 64 69 6e 67 2e 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 coding......Imagine.you.need.to.
58da0 65 6e 63 6f 64 65 20 61 20 6e 75 6d 62 65 72 20 66 72 6f 6d 20 30 20 74 6f 20 32 5e 33 32 20 2d encode.a.number.from.0.to.2^32.-
58dc0 20 31 2c 20 61 6e 64 20 79 6f 75 20 77 61 6e 74 20 74 6f 0a 64 6f 20 69 74 20 69 6e 20 61 20 77 .1,.and.you.want.to.do.it.in.a.w
58de0 61 79 20 74 68 61 74 20 70 72 6f 64 75 63 65 73 20 73 68 6f 72 74 65 72 20 63 6f 64 65 73 20 66 ay.that.produces.shorter.codes.f
58e00 6f 72 20 74 68 65 20 73 6d 61 6c 6c 65 72 20 6e 75 6d 62 65 72 73 2e 20 59 6f 75 20 6d 61 79 0a or.the.smaller.numbers..You.may.
58e20 66 69 72 73 74 20 65 6e 63 6f 64 65 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 first.encode.the.position.of.the
58e40 20 6d 6f 73 74 20 73 69 67 6e 69 66 69 63 61 6e 74 20 62 69 74 20 74 68 61 74 20 69 73 20 73 65 .most.significant.bit.that.is.se
58e60 74 20 74 6f 20 31 2c 0a 77 68 69 63 68 20 79 6f 75 20 6d 61 79 20 66 69 6e 64 20 62 79 20 6d 61 t.to.1,.which.you.may.find.by.ma
58e80 6b 69 6e 67 20 61 20 62 69 74 20 73 63 61 6e 20 66 72 6f 6d 20 74 68 65 20 6c 65 66 74 20 28 66 king.a.bit.scan.from.the.left.(f
58ea0 72 6f 6d 20 74 68 65 20 4d 53 42 29 2e 20 41 0a 70 6f 73 69 74 69 6f 6e 20 6f 66 20 30 20 6d 65 rom.the.MSB)..A.position.of.0.me
58ec0 61 6e 73 20 74 68 61 74 20 74 68 65 20 6e 75 6d 62 65 72 20 69 73 20 30 20 28 6e 6f 20 62 69 74 ans.that.the.number.is.0.(no.bit
58ee0 20 69 73 20 73 65 74 29 2c 20 31 20 6d 65 61 6e 73 20 74 68 65 20 4c 53 42 20 69 73 0a 74 68 65 .is.set),.1.means.the.LSB.is.the
58f00 20 66 69 72 73 74 20 62 69 74 20 73 65 74 20 28 74 68 65 20 6e 75 6d 62 65 72 20 69 73 20 31 29 .first.bit.set.(the.number.is.1)
58f20 2c 20 61 6e 64 20 33 32 20 6d 65 61 6e 73 20 74 68 65 20 4d 53 42 20 69 73 20 73 65 74 20 28 69 ,.and.32.means.the.MSB.is.set.(i
58f40 2e 65 2e 2c 20 74 68 65 0a 6e 75 6d 62 65 72 20 69 73 20 3e 3d 20 30 78 38 30 30 30 30 30 30 30 .e.,.the.number.is.>=.0x80000000
58f60 29 2e 20 54 68 65 6e 2c 20 69 66 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 69 73 20 3e 3d 20 32 )..Then,.if.the.position.is.>=.2
58f80 2c 20 79 6f 75 20 65 6e 63 6f 64 65 20 74 68 65 0a 72 65 6d 61 69 6e 69 6e 67 20 70 6f 73 69 74 ,.you.encode.the.remaining.posit
58fa0 69 6f 6e 20 2d 20 31 20 62 69 74 73 2e 20 4c 65 74 27 73 20 63 61 6c 6c 20 74 68 65 73 65 20 62 ion.-.1.bits..Let's.call.these.b
58fc0 69 74 73 20 22 64 69 72 65 63 74 20 62 69 74 73 22 20 62 65 63 61 75 73 65 0a 74 68 65 79 20 61 its."direct.bits".because.they.a
58fe0 72 65 20 63 6f 64 65 64 20 64 69 72 65 63 74 6c 79 20 62 79 20 76 61 6c 75 65 20 69 6e 73 74 65 re.coded.directly.by.value.inste
59000 61 64 20 6f 66 20 69 6e 64 69 72 65 63 74 6c 79 20 62 79 20 70 6f 73 69 74 69 6f 6e 2e 0a 0a 20 ad.of.indirectly.by.position....
59020 20 20 54 68 65 20 69 6e 63 6f 6e 76 65 6e 69 65 6e 74 20 6f 66 20 74 68 69 73 20 73 69 6d 70 6c ..The.inconvenient.of.this.simpl
59040 65 20 6d 65 74 68 6f 64 20 69 73 20 74 68 61 74 20 69 74 20 6e 65 65 64 73 20 36 20 62 69 74 73 e.method.is.that.it.needs.6.bits
59060 20 74 6f 20 65 6e 63 6f 64 65 0a 74 68 65 20 70 6f 73 69 74 69 6f 6e 2c 20 62 75 74 20 69 74 20 .to.encode.the.position,.but.it.
59080 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 73 73 69 62 6c 65 20 just.uses.33.of.the.64.possible.
590a0 76 61 6c 75 65 73 2c 20 77 61 73 74 69 6e 67 20 61 6c 6d 6f 73 74 0a 68 61 6c 66 20 6f 66 20 74 values,.wasting.almost.half.of.t
590c0 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 67 65 6e 74 20 74 72 he.codes......The.intelligent.tr
590e0 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 63 6f 64 65 73 20 69 ick.of.LZMA.is.that.it.encodes.i
59100 6e 20 77 68 61 74 20 69 74 20 63 61 6c 6c 73 20 61 0a 22 73 6c 6f 74 22 20 74 68 65 20 70 6f 73 n.what.it.calls.a."slot".the.pos
59120 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 6e 74 20 62 69 ition.of.the.most.significant.bi
59140 74 20 73 65 74 2c 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 65 20 76 61 6c 75 65 0a 6f 66 20 74 t.set,.along.with.the.value.of.t
59160 68 65 20 6e 65 78 74 20 62 69 74 2c 20 75 73 69 6e 67 20 74 68 65 20 73 61 6d 65 20 36 20 62 69 he.next.bit,.using.the.same.6.bi
59180 74 73 20 74 68 61 74 20 77 6f 75 6c 64 20 74 61 6b 65 20 74 6f 20 65 6e 63 6f 64 65 20 74 68 65 ts.that.would.take.to.encode.the
591a0 0a 70 6f 73 69 74 69 6f 6e 20 61 6c 6f 6e 65 2e 20 54 68 69 73 20 73 65 65 6d 73 20 74 6f 20 6e .position.alone..This.seems.to.n
591c0 65 65 64 20 36 36 20 73 6c 6f 74 73 20 28 74 77 69 63 65 20 74 68 65 20 6e 75 6d 62 65 72 20 6f eed.66.slots.(twice.the.number.o
591e0 66 0a 70 6f 73 69 74 69 6f 6e 73 29 2c 20 62 75 74 20 66 6f 72 20 70 6f 73 69 74 69 6f 6e 73 20 f.positions),.but.for.positions.
59200 30 20 61 6e 64 20 31 20 74 68 65 72 65 20 69 73 20 6e 6f 20 6e 65 78 74 20 62 69 74 2c 20 73 6f 0.and.1.there.is.no.next.bit,.so
59220 20 74 68 65 20 6e 75 6d 62 65 72 0a 6f 66 20 73 6c 6f 74 73 20 6e 65 65 64 65 64 20 69 73 20 36 .the.number.of.slots.needed.is.6
59240 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
59260 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.
59280 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
592a0 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.
592c0 61 72 65 20 65 6e 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 are.encoded.as.follows..'direct_
592e0 62 69 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 bits'.is.the.amount.of.remaining
59300 20 62 69 74 73 20 28 66 72 6f 6d 20 31 20 74 6f 20 33 30 29 20 6e 65 65 64 65 64 20 74 6f 20 66 .bits.(from.1.to.30).needed.to.f
59320 6f 72 6d 0a 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 orm.a.complete.distance,.and.is.
59340 63 61 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 49 calculated.as.(slot.>>.1).-.1..I
59360 66 20 61 20 64 69 73 74 61 6e 63 65 0a 6e 65 65 64 73 20 36 20 6f 72 20 6d 6f 72 65 20 64 69 72 f.a.distance.needs.6.or.more.dir
59380 65 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 65 6e ect_bits,.the.last.4.bits.are.en
593a0 63 6f 64 65 64 20 73 65 70 61 72 61 74 65 6c 79 2e 20 54 68 65 0a 6c 61 73 74 20 70 69 65 63 65 coded.separately..The.last.piece
593c0 20 28 61 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 .(all.the.direct_bits.for.distan
593e0 63 65 73 20 34 20 74 6f 20 31 32 37 2c 20 6f 72 20 74 68 65 20 6c 61 73 74 20 34 20 62 69 74 73 ces.4.to.127,.or.the.last.4.bits
59400 0a 66 6f 72 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 .for.distances.>=.128).is.contex
59420 74 2d 63 6f 64 65 64 20 69 6e 20 72 65 76 65 72 73 65 20 6f 72 64 65 72 20 28 66 72 6f 6d 20 4c t-coded.in.reverse.order.(from.L
59440 53 42 20 74 6f 20 4d 53 42 29 2e 0a 46 6f 72 20 64 69 73 74 61 6e 63 65 73 20 3e 3d 20 31 32 38 SB.to.MSB)..For.distances.>=.128
59460 2c 20 74 68 65 20 27 64 69 72 65 63 74 5f 62 69 74 73 20 2d 20 34 27 20 70 61 72 74 20 69 73 20 ,.the.'direct_bits.-.4'.part.is.
59480 65 6e 63 6f 64 65 64 20 77 69 74 68 20 66 69 78 65 64 20 30 2e 35 0a 70 72 6f 62 61 62 69 6c 69 encoded.with.fixed.0.5.probabili
594a0 74 79 2e 0a 0a 42 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 ty...Bit.sequence...............
594c0 20 20 20 20 20 20 20 20 20 20 20 20 44 65 73 63 72 69 70 74 69 6f 6e 0a 2d 2d 2d 2d 2d 2d 2d 2d ............Description.--------
594e0 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 --------------------------------
59500 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 --------------------------------
59520 2d 2d 2d 2d 0a 73 6c 6f 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ----.slot.......................
59540 20 20 20 20 20 20 20 20 20 20 20 20 64 69 73 74 61 6e 63 65 73 20 66 72 6f 6d 20 30 20 74 6f 20 ............distances.from.0.to.
59560 33 0a 73 6c 6f 74 20 2b 20 64 69 72 65 63 74 5f 62 69 74 73 20 20 20 20 20 20 20 20 20 20 20 20 3.slot.+.direct_bits............
59580 20 20 20 20 20 20 20 20 20 64 69 73 74 61 6e 63 65 73 20 66 72 6f 6d 20 34 20 74 6f 20 31 32 37 .........distances.from.4.to.127
595a0 0a 73 6c 6f 74 20 2b 20 28 64 69 72 65 63 74 5f 62 69 74 73 20 2d 20 34 29 20 2b 20 34 20 62 69 .slot.+.(direct_bits.-.4).+.4.bi
595c0 74 73 20 20 20 20 20 20 64 69 73 74 61 6e 63 65 73 20 66 72 6f 6d 20 31 32 38 20 74 6f 20 32 5e ts......distances.from.128.to.2^
595e0 33 32 20 2d 20 31 0a 0a 0a 37 2e 32 20 54 68 65 20 63 6f 64 69 6e 67 20 63 6f 6e 74 65 78 74 73 32.-.1...7.2.The.coding.contexts
59600 0a 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 54 68 65 73 65 20 .=======================..These.
59620 63 6f 6e 74 65 78 74 73 20 28 27 42 69 74 5f 6d 6f 64 65 6c 27 20 69 6e 20 74 68 65 20 73 6f 75 contexts.('Bit_model'.in.the.sou
59640 72 63 65 29 2c 20 61 72 65 20 69 6e 74 65 67 65 72 73 20 6f 72 20 61 72 72 61 79 73 20 6f 66 0a rce),.are.integers.or.arrays.of.
59660 69 6e 74 65 67 65 72 73 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 70 72 6f 62 61 62 integers.representing.the.probab
59680 69 6c 69 74 79 20 6f 66 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 62 69 74 20 62 ility.of.the.corresponding.bit.b
596a0 65 69 6e 67 20 30 2e 0a 0a 20 20 20 54 68 65 20 69 6e 64 69 63 65 73 20 75 73 65 64 20 69 6e 20 eing.0......The.indices.used.in.
596c0 74 68 65 73 65 20 61 72 72 61 79 73 20 61 72 65 3a 0a 0a 27 73 74 61 74 65 27 0a 20 20 20 20 20 these.arrays.are:..'state'......
596e0 41 20 73 74 61 74 65 20 6d 61 63 68 69 6e 65 20 28 27 53 74 61 74 65 27 20 69 6e 20 74 68 65 20 A.state.machine.('State'.in.the.
59700 73 6f 75 72 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 source).with.12.states.(0.to.11)
59720 2c 0a 20 20 20 20 20 63 6f 64 69 6e 67 20 74 68 65 20 6c 61 74 65 73 74 20 32 20 74 6f 20 34 20 ,......coding.the.latest.2.to.4.
59740 74 79 70 65 73 20 6f 66 20 73 65 71 75 65 6e 63 65 73 20 70 72 6f 63 65 73 73 65 64 2e 20 54 68 types.of.sequences.processed..Th
59760 65 20 69 6e 69 74 69 61 6c 0a 20 20 20 20 20 73 74 61 74 65 20 69 73 20 30 2e 0a 0a 27 70 6f 73 e.initial......state.is.0...'pos
59780 5f 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 32 20 6c 65 61 73 _state'......Value.of.the.2.leas
597a0 74 20 73 69 67 6e 69 66 69 63 61 6e 74 20 62 69 74 73 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e t.significant.bits.of.the.curren
597c0 74 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 74 68 65 0a 20 20 20 20 20 64 65 63 6f 64 65 64 20 64 t.position.in.the......decoded.d
597e0 61 74 61 2e 0a 0a 27 6c 69 74 65 72 61 6c 5f 73 74 61 74 65 27 0a 20 20 20 20 20 56 61 6c 75 65 ata...'literal_state'......Value
59800 20 6f 66 20 74 68 65 20 33 20 6d 6f 73 74 20 73 69 67 6e 69 66 69 63 61 6e 74 20 62 69 74 73 20 .of.the.3.most.significant.bits.
59820 6f 66 20 74 68 65 20 6c 61 74 65 73 74 20 62 79 74 65 20 64 65 63 6f 64 65 64 2e 0a 0a 27 6c 65 of.the.latest.byte.decoded...'le
59840 6e 5f 73 74 61 74 65 27 0a 20 20 20 20 20 43 6f 64 65 64 20 76 61 6c 75 65 20 6f 66 20 74 68 65 n_state'......Coded.value.of.the
59860 20 63 75 72 72 65 6e 74 20 6d 61 74 63 68 20 6c 65 6e 67 74 68 20 28 6c 65 6e 67 74 68 20 2d 20 .current.match.length.(length.-.
59880 32 29 2c 20 77 69 74 68 20 61 20 6d 61 78 69 6d 75 6d 0a 20 20 20 20 20 6f 66 20 33 2e 20 54 68 2),.with.a.maximum......of.3..Th
598a0 65 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 e.resulting.value.is.in.the.rang
598c0 65 20 30 20 74 6f 20 33 2e 0a 0a 0a 20 20 20 54 68 65 20 74 79 70 65 73 20 6f 66 20 70 72 65 76 e.0.to.3.......The.types.of.prev
598e0 69 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 ious.sequences.corresponding.to.
59900 65 61 63 68 20 73 74 61 74 65 20 61 72 65 20 73 68 6f 77 6e 20 69 6e 0a 74 68 65 20 66 6f 6c 6c each.state.are.shown.in.the.foll
59920 6f 77 69 6e 67 20 74 61 62 6c 65 2e 20 27 21 6c 69 74 65 72 61 6c 27 20 69 73 20 61 6e 79 20 73 owing.table..'!literal'.is.any.s
59940 65 71 75 65 6e 63 65 20 65 78 63 65 70 74 20 61 20 6c 69 74 65 72 61 6c 20 62 79 74 65 2e 0a 27 equence.except.a.literal.byte..'
59960 72 65 70 27 20 69 73 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 rep'.is.any.one.of.'rep0',.'rep1
59980 27 2c 20 27 72 65 70 32 27 2c 20 6f 72 20 27 72 65 70 33 27 2e 20 54 68 65 20 6c 61 73 74 20 74 ',.'rep2',.or.'rep3'..The.last.t
599a0 79 70 65 20 69 6e 0a 65 61 63 68 20 6c 69 6e 65 20 69 73 20 74 68 65 20 6d 6f 73 74 20 72 65 63 ype.in.each.line.is.the.most.rec
599c0 65 6e 74 2e 0a 0a 53 74 61 74 65 20 20 20 54 79 70 65 73 20 6f 66 20 70 72 65 76 69 6f 75 73 20 ent...State...Types.of.previous.
599e0 73 65 71 75 65 6e 63 65 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d sequences.----------------------
59a00 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 --------------------------------
59a20 0a 30 20 20 20 20 20 20 20 6c 69 74 65 72 61 6c 2c 20 6c 69 74 65 72 61 6c 2c 20 6c 69 74 65 72 .0.......literal,.literal,.liter
59a40 61 6c 0a 31 20 20 20 20 20 20 20 6d 61 74 63 68 2c 20 6c 69 74 65 72 61 6c 2c 20 6c 69 74 65 72 al.1.......match,.literal,.liter
59a60 61 6c 0a 32 20 20 20 20 20 20 20 72 65 70 20 6f 72 20 28 21 6c 69 74 65 72 61 6c 2c 20 73 68 6f al.2.......rep.or.(!literal,.sho
59a80 72 74 72 65 70 29 2c 20 6c 69 74 65 72 61 6c 2c 20 6c 69 74 65 72 61 6c 0a 33 20 20 20 20 20 20 rtrep),.literal,.literal.3......
59aa0 20 6c 69 74 65 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 .literal,.shortrep,.literal,.lit
59ac0 65 72 61 6c 0a 34 20 20 20 20 20 20 20 6d 61 74 63 68 2c 20 6c 69 74 65 72 61 6c 0a 35 20 20 20 eral.4.......match,.literal.5...
59ae0 20 20 20 20 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 ....rep.or.(!literal,.shortrep),
59b00 20 6c 69 74 65 72 61 6c 0a 36 20 20 20 20 20 20 20 6c 69 74 65 72 61 6c 2c 20 73 68 6f 72 74 72 .literal.6.......literal,.shortr
59b20 65 70 2c 20 6c 69 74 65 72 61 6c 0a 37 20 20 20 20 20 20 20 6c 69 74 65 72 61 6c 2c 20 6d 61 74 ep,.literal.7.......literal,.mat
59b40 63 68 0a 38 20 20 20 20 20 20 20 6c 69 74 65 72 61 6c 2c 20 72 65 70 0a 39 20 20 20 20 20 20 20 ch.8.......literal,.rep.9.......
59b60 6c 69 74 65 72 61 6c 2c 20 73 68 6f 72 74 72 65 70 0a 31 30 20 20 20 20 20 20 21 6c 69 74 65 72 literal,.shortrep.10......!liter
59b80 61 6c 2c 20 6d 61 74 63 68 0a 31 31 20 20 20 20 20 20 21 6c 69 74 65 72 61 6c 2c 20 28 72 65 70 al,.match.11......!literal,.(rep
59ba0 20 6f 72 20 73 68 6f 72 74 72 65 70 29 0a 0a 0a 20 20 20 54 68 65 20 63 6f 6e 74 65 78 74 73 20 .or.shortrep)......The.contexts.
59bc0 66 6f 72 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 for.decoding.the.type.of.coding.
59be0 73 65 71 75 65 6e 63 65 20 61 72 65 3a 0a 0a 4e 61 6d 65 20 20 20 20 20 20 20 20 20 20 20 20 49 sequence.are:..Name............I
59c00 6e 64 69 63 65 73 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 ndices.....................Used.
59c20 77 68 65 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 when.---------------------------
59c40 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 --------------------------------
59c60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 62 6d 5f 6d 61 74 63 68 20 20 20 20 20 20 -----------------.bm_match......
59c80 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 20 20 20 20 20 73 65 ..state,.pos_state............se
59ca0 71 75 65 6e 63 65 20 73 74 61 72 74 0a 62 6d 5f 72 65 70 20 20 20 20 20 20 20 20 20 20 73 74 61 quence.start.bm_rep..........sta
59cc0 74 65 20 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 te.......................after.s
59ce0 65 71 75 65 6e 63 65 20 31 0a 62 6d 5f 72 65 70 30 20 20 20 20 20 20 20 20 20 73 74 61 74 65 20 equence.1.bm_rep0.........state.
59d00 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
59d20 65 6e 63 65 20 31 31 0a 62 6d 5f 72 65 70 31 20 20 20 20 20 20 20 20 20 73 74 61 74 65 20 20 20 ence.11.bm_rep1.........state...
59d40 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 65 6e ....................after.sequen
59d60 63 65 20 31 31 31 0a 62 6d 5f 72 65 70 32 20 20 20 20 20 20 20 20 20 73 74 61 74 65 20 20 20 20 ce.111.bm_rep2.........state....
59d80 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 65 6e 63 ...................after.sequenc
59da0 65 20 31 31 31 31 0a 62 6d 5f 6c 65 6e 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 2c 20 70 6f e.1111.bm_len..........state,.po
59dc0 73 5f 73 74 61 74 65 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 s_state............after.sequenc
59de0 65 20 31 31 30 0a 0a 0a 20 20 20 54 68 65 20 63 6f 6e 74 65 78 74 73 20 66 6f 72 20 64 65 63 6f e.110......The.contexts.for.deco
59e00 64 69 6e 67 20 64 69 73 74 61 6e 63 65 73 20 61 72 65 3a 0a 0a 4e 61 6d 65 20 20 20 20 20 20 20 ding.distances.are:..Name.......
59e20 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 20 20 20 55 73 65 .....Indices.................Use
59e40 64 20 77 68 65 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 d.when.-------------------------
59e60 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 --------------------------------
59e80 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 62 6d 5f 64 69 73 5f 73 6c 6f 74 20 -------------------.bm_dis_slot.
59ea0 20 20 20 20 6c 65 6e 5f 73 74 61 74 65 2c 20 62 69 74 20 74 72 65 65 20 20 20 20 20 64 69 73 74 ....len_state,.bit.tree.....dist
59ec0 61 6e 63 65 20 73 74 61 72 74 0a 62 6d 5f 64 69 73 20 20 20 20 20 20 20 20 20 20 72 65 76 65 72 ance.start.bm_dis..........rever
59ee0 73 65 20 62 69 74 20 74 72 65 65 20 20 20 20 20 20 20 20 61 66 74 65 72 20 73 6c 6f 74 73 20 34 se.bit.tree........after.slots.4
59f00 20 74 6f 20 31 33 0a 62 6d 5f 61 6c 69 67 6e 20 20 20 20 20 20 20 20 72 65 76 65 72 73 65 20 62 .to.13.bm_align........reverse.b
59f20 69 74 20 74 72 65 65 20 20 20 20 20 20 20 20 66 6f 72 20 64 69 73 74 61 6e 63 65 73 20 3e 3d 20 it.tree........for.distances.>=.
59f40 31 32 38 2c 20 61 66 74 65 72 20 66 69 78 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 128,.after.fixed................
59f60 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 6f 62 61 62 69 .........................probabi
59f80 6c 69 74 79 20 62 69 74 73 0a 0a 0a 20 20 20 54 68 65 72 65 20 61 72 65 20 74 77 6f 20 73 65 70 lity.bits......There.are.two.sep
59fa0 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 65 6e 67 74 arate.sets.of.contexts.for.lengt
59fc0 68 73 20 28 27 4c 65 6e 5f 6d 6f 64 65 6c 27 20 69 6e 20 74 68 65 0a 73 6f 75 72 63 65 29 2e 20 hs.('Len_model'.in.the.source)..
59fe0 4f 6e 65 20 66 6f 72 20 6e 6f 72 6d 61 6c 20 6d 61 74 63 68 65 73 2c 20 74 68 65 20 6f 74 68 65 One.for.normal.matches,.the.othe
5a000 72 20 66 6f 72 20 72 65 70 65 61 74 65 64 20 6d 61 74 63 68 65 73 2e 20 54 68 65 0a 63 6f 6e 74 r.for.repeated.matches..The.cont
5a020 65 78 74 73 20 69 6e 20 65 61 63 68 20 4c 65 6e 5f 6d 6f 64 65 6c 20 61 72 65 20 28 73 65 65 20 exts.in.each.Len_model.are.(see.
5a040 27 64 65 63 6f 64 65 5f 6c 65 6e 27 20 69 6e 20 74 68 65 20 73 6f 75 72 63 65 29 3a 0a 0a 4e 61 'decode_len'.in.the.source):..Na
5a060 6d 65 20 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 me............Indices...........
5a080 20 20 20 20 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 .............Used.when.---------
5a0a0 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 --------------------------------
5a0c0 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 --------------------------------
5a0e0 2d 2d 0a 63 68 6f 69 63 65 31 20 20 20 20 20 20 20 20 20 6e 6f 6e 65 20 20 20 20 20 20 20 20 20 --.choice1.........none.........
5a100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 65 6e 67 74 68 20 73 74 61 72 74 0a 63 ..................length.start.c
5a120 68 6f 69 63 65 32 20 20 20 20 20 20 20 20 20 6e 6f 6e 65 20 20 20 20 20 20 20 20 20 20 20 20 20 hoice2.........none.............
5a140 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 31 0a 62 ..............after.sequence.1.b
5a160 6d 5f 6c 6f 77 20 20 20 20 20 20 20 20 20 20 70 6f 73 5f 73 74 61 74 65 2c 20 62 69 74 20 74 72 m_low..........pos_state,.bit.tr
5a180 65 65 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 30 0a 62 ee............after.sequence.0.b
5a1a0 6d 5f 6d 69 64 20 20 20 20 20 20 20 20 20 20 70 6f 73 5f 73 74 61 74 65 2c 20 62 69 74 20 74 72 m_mid..........pos_state,.bit.tr
5a1c0 65 65 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 31 30 0a ee............after.sequence.10.
5a1e0 62 6d 5f 68 69 67 68 20 20 20 20 20 20 20 20 20 62 69 74 20 74 72 65 65 20 20 20 20 20 20 20 20 bm_high.........bit.tree........
5a200 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 31 31 ...............after.sequence.11
5a220 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 74 65 ......The.context.array.'bm_lite
5a240 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 69 74 ral'.is.special..In.principle.it
5a260 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 74 65 .acts.as.a.normal.bit.tree.conte
5a280 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 61 6c xt,.the.one.selected.by.'literal
5a2a0 5f 73 74 61 74 65 27 2e 20 42 75 74 20 69 66 20 74 68 65 0a 70 72 65 76 69 6f 75 73 20 64 65 63 _state'..But.if.the.previous.dec
5a2c0 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 77 6f oded.byte.was.not.a.literal,.two
5a2e0 20 6f 74 68 65 72 20 62 69 74 20 74 72 65 65 20 63 6f 6e 74 65 78 74 73 20 61 72 65 0a 75 73 65 .other.bit.tree.contexts.are.use
5a300 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 63 68 d.depending.on.the.value.of.each
5a320 20 62 69 74 20 69 6e 20 27 6d 61 74 63 68 5f 62 79 74 65 27 20 28 74 68 65 20 62 79 74 65 20 61 .bit.in.'match_byte'.(the.byte.a
5a340 74 20 74 68 65 0a 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 74 t.the.latest.used.distance),.unt
5a360 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 20 64 69 66 66 il.a.bit.is.decoded.that.is.diff
5a380 65 72 65 6e 74 20 66 72 6f 6d 20 69 74 73 0a 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 62 69 74 erent.from.its.corresponding.bit
5a3a0 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 72 73 .in.'match_byte'..After.the.firs
5a3c0 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 0a 72 65 73 74 20 t.difference.is.found,.the.rest.
5a3e0 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 68 65 of.the.byte.is.decoded.using.the
5a400 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 28 53 65 65 0a 27 .normal.bit.tree.context..(See.'
5a420 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 2e 0a decode_matched'.in.the.source)..
5a440 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 3d 3d ..7.3.The.range.decoder.========
5a460 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 20 69 =============..The.LZMA.stream.i
5a480 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 62 79 s.consumed.one.byte.at.a.time.by
5a4a0 20 74 68 65 20 72 61 6e 67 65 20 64 65 63 6f 64 65 72 2e 20 28 53 65 65 0a 27 6e 6f 72 6d 61 6c .the.range.decoder..(See.'normal
5a4c0 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 65 20 ize'.in.the.source)..Every.byte.
5a4e0 63 6f 6e 73 75 6d 65 64 20 70 72 6f 64 75 63 65 73 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d consumed.produces.a.variable.num
5a500 62 65 72 0a 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 20 6f ber.of.decoded.bits,.depending.o
5a520 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 20 77 69 74 68 n.how.well.these.bits.agree.with
5a540 20 74 68 65 69 72 20 63 6f 6e 74 65 78 74 2e 0a 28 53 65 65 20 27 64 65 63 6f 64 65 5f 62 69 74 .their.context..(See.'decode_bit
5a560 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 65 20 '.in.the.source)......The.range.
5a580 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 75 6e decoder.state.consists.of.two.un
5a5a0 73 69 67 6e 65 64 20 33 32 2d 62 69 74 20 76 61 72 69 61 62 6c 65 73 3a 0a 27 72 61 6e 67 65 27 signed.32-bit.variables:.'range'
5a5c0 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 69 63 .(representing.the.most.signific
5a5e0 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 20 79 ant.part.of.the.range.size.not.y
5a600 65 74 0a 64 65 63 6f 64 65 64 29 20 61 6e 64 20 27 63 6f 64 65 27 20 28 72 65 70 72 65 73 65 6e et.decoded).and.'code'.(represen
5a620 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 20 27 72 ting.the.current.point.within.'r
5a640 61 6e 67 65 27 29 2e 0a 27 72 61 6e 67 65 27 20 69 73 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 74 ange')..'range'.is.initialized.t
5a660 6f 20 32 5e 33 32 20 2d 20 31 2c 20 61 6e 64 20 27 63 6f 64 65 27 20 69 73 20 69 6e 69 74 69 61 o.2^32.-.1,.and.'code'.is.initia
5a680 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 6e 63 6f 64 65 lized.to.0......The.range.encode
5a6a0 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 74 20 6d r.produces.a.first.0.byte.that.m
5a6c0 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 65 63 6f ust.be.ignored.by.the.range.deco
5a6e0 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 20 35 20 der..This.is.done.by.shifting.5.
5a700 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 66 0a 27 bytes.in.the.initialization.of.'
5a720 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 65 20 27 52 61 code'.instead.of.4..(See.the.'Ra
5a740 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 20 74 68 65 20 nge_decoder'.constructor.in.the.
5a760 73 6f 75 72 63 65 29 2e 0a 0a 0a 37 2e 34 20 44 65 63 6f 64 69 6e 67 20 61 6e 64 20 76 65 72 69 source)....7.4.Decoding.and.veri
5a780 66 79 69 6e 67 20 74 68 65 20 4c 5a 4d 41 20 73 74 72 65 61 6d 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d fying.the.LZMA.stream.==========
5a7a0 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 3d 3d 3d 3d 3d ================================
5a7c0 0a 0a 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 ..After.decoding.the.member.head
5a7e0 65 72 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 er.and.obtaining.the.dictionary.
5a800 73 69 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 size,.the.range.decoder.is.initi
5a820 61 6c 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 alized.and.then.the.LZMA.decoder
5a840 20 65 6e 74 65 72 73 20 61 20 6c 6f 6f 70 20 28 73 65 65 0a 27 64 65 63 6f 64 65 5f 6d 65 6d 62 .enters.a.loop.(see.'decode_memb
5a860 65 72 27 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 6e 76 6f er'.in.the.source).where.it.invo
5a880 6b 65 73 20 74 68 65 20 72 61 6e 67 65 20 64 65 63 6f 64 65 72 20 77 69 74 68 20 74 68 65 0a 61 kes.the.range.decoder.with.the.a
5a8a0 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 20 74 68 ppropriate.contexts.to.decode.th
5a8c0 65 20 64 69 66 66 65 72 65 6e 74 20 63 6f 64 69 6e 67 20 73 65 71 75 65 6e 63 65 73 20 28 6d 61 e.different.coding.sequences.(ma
5a8e0 74 63 68 65 73 2c 0a 72 65 70 65 61 74 65 64 20 6d 61 74 63 68 65 73 2c 20 61 6e 64 20 6c 69 74 tches,.repeated.matches,.and.lit
5a900 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 20 4f 66 20 53 eral.bytes),.until.the."End.Of.S
5a920 74 72 65 61 6d 22 20 6d 61 72 6b 65 72 20 69 73 0a 64 65 63 6f 64 65 64 2e 0a 0a 20 20 20 4f 6e tream".marker.is.decoded......On
5a940 63 65 20 74 68 65 20 22 45 6e 64 20 4f 66 20 53 74 72 65 61 6d 22 20 6d 61 72 6b 65 72 20 68 61 ce.the."End.Of.Stream".marker.ha
5a960 73 20 62 65 65 6e 20 64 65 63 6f 64 65 64 2c 20 74 68 65 20 64 65 63 6f 6d 70 72 65 73 73 6f 72 s.been.decoded,.the.decompressor
5a980 20 72 65 61 64 73 0a 61 6e 64 20 64 65 63 6f 64 65 73 20 74 68 65 20 6d 65 6d 62 65 72 20 74 72 .reads.and.decodes.the.member.tr
5a9a0 61 69 6c 65 72 2c 20 61 6e 64 20 76 65 72 69 66 69 65 73 20 74 68 61 74 20 74 68 65 20 74 68 72 ailer,.and.verifies.that.the.thr
5a9c0 65 65 20 69 6e 74 65 67 72 69 74 79 0a 66 61 63 74 6f 72 73 20 73 74 6f 72 65 64 20 74 68 65 72 ee.integrity.factors.stored.ther
5a9e0 65 20 28 43 52 43 2c 20 64 61 74 61 20 73 69 7a 65 2c 20 61 6e 64 20 6d 65 6d 62 65 72 20 73 69 e.(CRC,.data.size,.and.member.si
5aa00 7a 65 29 20 6d 61 74 63 68 20 74 68 6f 73 65 20 63 6f 6d 70 75 74 65 64 0a 66 72 6f 6d 20 74 68 ze).match.those.computed.from.th
5aa20 65 20 64 61 74 61 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 e.data.....File:.lzip.info,..Nod
5aa40 65 3a 20 54 72 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 e:.Trailing.data,..Next:.Example
5aa60 73 2c 20 20 50 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 s,..Prev:.Stream.format,..Up:.To
5aa80 70 0a 0a 38 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 20 p..8.Extra.data.appended.to.the.
5aaa0 66 69 6c 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 file.***************************
5aac0 2a 2a 2a 2a 2a 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 ******..Sometimes.extra.data.are
5aae0 20 66 6f 75 6e 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 .found.appended.to.a.lzip.file.a
5ab00 66 74 65 72 20 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 fter.the.last.member..Such.trail
5ab20 69 6e 67 20 64 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 ing.data.may.be:.....*.Padding.a
5ab40 64 64 65 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 dded.to.make.the.file.size.a.mul
5ab60 74 69 70 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 20 20 tiple.of.some.block.size,.for...
5ab80 20 20 20 65 78 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 ...example.when.writing.to.a.tap
5aba0 65 2e 20 49 74 20 69 73 20 73 61 66 65 20 74 6f 20 61 70 70 65 6e 64 20 61 6e 79 20 61 6d 6f 75 e..It.is.safe.to.append.any.amou
5abc0 6e 74 20 6f 66 0a 20 20 20 20 20 70 61 64 64 69 6e 67 20 7a 65 72 6f 20 62 79 74 65 73 20 74 6f nt.of......padding.zero.bytes.to
5abe0 20 61 20 6c 7a 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 .a.lzip.file......*.Useful.data.
5ac00 61 64 64 65 64 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 added.by.the.user;.a.cryptograph
5ac20 69 63 61 6c 6c 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 ically.secure.hash,.a......descr
5ac40 69 70 74 69 6f 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 iption.of.file.contents,.etc..It
5ac60 20 69 73 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 .is.safe.to.append.any.amount.of
5ac80 0a 20 20 20 20 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 ......text.to.a.lzip.file.as.lon
5aca0 67 20 61 73 20 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 g.as.none.of.the.first.four.byte
5acc0 73 20 6f 66 20 74 68 65 20 74 65 78 74 0a 20 20 20 20 20 6d 61 74 63 68 20 74 68 65 20 63 6f 72 s.of.the.text......match.the.cor
5ace0 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 6e 67 20 22 4c responding.byte.in.the.string."L
5ad00 5a 49 50 22 2c 20 61 6e 64 20 74 68 65 20 74 65 78 74 20 64 6f 65 73 0a 20 20 20 20 20 6e 6f 74 ZIP",.and.the.text.does......not
5ad20 20 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
5ad40 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
5ad60 6f 0a 20 20 20 20 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 o......bytes.can't.be.safely.mix
5ad80 65 64 20 69 6e 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 2e 0a 0a 20 20 20 2a 20 47 61 72 62 61 ed.in.trailing.data......*.Garba
5ada0 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
5adc0 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
5ade0 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
5ae00 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 20 61 n.order.to.make.its.total.size.a
5ae20 6e 64 0a 20 20 20 20 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 nd......hash.value.(for.a.chosen
5ae40 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
5ae60 6f 74 68 65 72 20 66 69 6c 65 2e 0a 0a 20 20 20 2a 20 49 6e 20 72 61 72 65 20 63 61 73 65 73 2c other.file......*.In.rare.cases,
5ae80 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 20 63 6f 72 72 .trailing.data.could.be.the.corr
5aea0 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 6d 65 6d 62 65 upt.header.of.another......membe
5aec0 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 65 6e 61 74 65 r..In.multimember.or.concatenate
5aee0 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 20 20 20 20 20 d.files.the.probability.of......
5af00 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 20 6d 61 67 69 corruption.happening.in.the.magi
5af20 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 74 68 61 6e 20 c.bytes.is.5.times.smaller.than.
5af40 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 74 69 6e 67 20 the......probability.of.getting.
5af60 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 74 68 65 20 63 a.false.positive.caused.by.the.c
5af80 6f 72 72 75 70 74 69 6f 6e 20 6f 66 20 74 68 65 0a 20 20 20 20 20 69 6e 74 65 67 72 69 74 79 20 orruption.of.the......integrity.
5afa0 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 72 65 20 69 74 information.itself..Therefore.it
5afc0 20 63 61 6e 20 62 65 20 63 6f 6e 73 69 64 65 72 65 64 20 74 6f 20 62 65 0a 20 20 20 20 20 62 65 .can.be.considered.to.be......be
5afe0 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 6f 6e 61 6c 6c low.the.noise.level..Additionall
5b000 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 0a 20 20 20 20 y,.the.test.used.by.lzip.to.....
5b020 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 6f 6d .discriminate.trailing.data.from
5b040 20 61 20 63 6f 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 0a .a.corrupt.header.has.a.Hamming.
5b060 20 20 20 20 20 64 69 73 74 61 6e 63 65 20 28 48 44 29 20 6f 66 20 33 2c 20 61 6e 64 20 74 68 65 .....distance.(HD).of.3,.and.the
5b080 20 33 20 62 69 74 20 66 6c 69 70 73 20 6d 75 73 74 20 68 61 70 70 65 6e 20 69 6e 20 64 69 66 66 .3.bit.flips.must.happen.in.diff
5b0a0 65 72 65 6e 74 20 6d 61 67 69 63 0a 20 20 20 20 20 62 79 74 65 73 20 66 6f 72 20 74 68 65 20 74 erent.magic......bytes.for.the.t
5b0c0 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 68 65 20 6f 70 est.to.fail..In.any.case,.the.op
5b0e0 74 69 6f 6e 20 27 2d 2d 74 72 61 69 6c 69 6e 67 2d 65 72 72 6f 72 27 0a 20 20 20 20 20 67 75 61 tion.'--trailing-error'......gua
5b100 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 61 64 65 72 20 rantees.that.any.corrupt.header.
5b120 77 69 6c 6c 20 62 65 20 64 65 74 65 63 74 65 64 2e 0a 0a 20 20 20 54 72 61 69 6c 69 6e 67 20 64 will.be.detected......Trailing.d
5b140 61 74 61 20 61 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 ata.are.in.no.way.part.of.the.lz
5b160 69 70 20 66 69 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 ip.file.format,.but.tools.readin
5b180 67 20 6c 7a 69 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 g.lzip.files.are.expected.to.beh
5b1a0 61 76 65 20 61 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 ave.as.correctly.and.usefully.as
5b1c0 0a 70 6f 73 73 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 .possible.in.the.presence.of.tra
5b1e0 69 6c 69 6e 67 20 64 61 74 61 2e 0a 0a 20 20 20 54 72 61 69 6c 69 6e 67 20 64 61 74 61 20 63 61 iling.data......Trailing.data.ca
5b200 6e 20 62 65 20 73 61 66 65 6c 79 20 69 67 6e 6f 72 65 64 20 69 6e 20 6d 6f 73 74 20 63 61 73 65 n.be.safely.ignored.in.most.case
5b220 73 2e 20 49 6e 20 73 6f 6d 65 20 63 61 73 65 73 2c 20 6c 69 6b 65 0a 74 68 61 74 20 6f 66 20 75 s..In.some.cases,.like.that.of.u
5b240 73 65 72 2d 61 64 64 65 64 20 64 61 74 61 2c 20 74 68 65 79 20 61 72 65 20 65 78 70 65 63 74 65 ser-added.data,.they.are.expecte
5b260 64 20 74 6f 20 62 65 20 69 67 6e 6f 72 65 64 2e 20 49 6e 20 74 68 6f 73 65 20 63 61 73 65 73 0a d.to.be.ignored..In.those.cases.
5b280 77 68 65 72 65 20 61 20 66 69 6c 65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 72 61 69 6c 69 6e 67 where.a.file.containing.trailing
5b2a0 20 64 61 74 61 20 6d 75 73 74 20 62 65 20 72 65 6a 65 63 74 65 64 2c 20 74 68 65 20 6f 70 74 69 .data.must.be.rejected,.the.opti
5b2c0 6f 6e 0a 27 2d 2d 74 72 61 69 6c 69 6e 67 2d 65 72 72 6f 72 27 20 63 61 6e 20 62 65 20 75 73 65 on.'--trailing-error'.can.be.use
5b2e0 64 2e 20 2a 4e 6f 74 65 20 2d 2d 74 72 61 69 6c 69 6e 67 2d 65 72 72 6f 72 3a 3a 2e 0a 0a 1f 0a d..*Note.--trailing-error::.....
5b300 46 69 6c 65 3a 20 6c 7a 69 70 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 45 78 61 6d 70 6c 65 73 File:.lzip.info,..Node:.Examples
5b320 2c 20 20 4e 65 78 74 3a 20 50 72 6f 62 6c 65 6d 73 2c 20 20 50 72 65 76 3a 20 54 72 61 69 6c 69 ,..Next:.Problems,..Prev:.Traili
5b340 6e 67 20 64 61 74 61 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 39 20 41 20 73 6d 61 6c 6c 20 74 75 74 ng.data,..Up:.Top..9.A.small.tut
5b360 6f 72 69 61 6c 20 77 69 74 68 20 65 78 61 6d 70 6c 65 73 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a orial.with.examples.************
5b380 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 57 41 52 4e 49 4e 47 21 20 45 ********************..WARNING!.E
5b3a0 76 65 6e 20 69 66 20 6c 7a 69 70 20 69 73 20 62 75 67 2d 66 72 65 65 2c 20 6f 74 68 65 72 20 63 ven.if.lzip.is.bug-free,.other.c
5b3c0 61 75 73 65 73 20 6d 61 79 20 72 65 73 75 6c 74 20 69 6e 20 61 20 63 6f 72 72 75 70 74 0a 63 6f auses.may.result.in.a.corrupt.co
5b3e0 6d 70 72 65 73 73 65 64 20 66 69 6c 65 20 28 62 75 67 73 20 69 6e 20 74 68 65 20 73 79 73 74 65 mpressed.file.(bugs.in.the.syste
5b400 6d 20 6c 69 62 72 61 72 69 65 73 2c 20 6d 65 6d 6f 72 79 20 65 72 72 6f 72 73 2c 20 65 74 63 29 m.libraries,.memory.errors,.etc)
5b420 2e 0a 54 68 65 72 65 66 6f 72 65 2c 20 69 66 20 74 68 65 20 64 61 74 61 20 79 6f 75 20 61 72 65 ..Therefore,.if.the.data.you.are
5b440 20 67 6f 69 6e 67 20 74 6f 20 63 6f 6d 70 72 65 73 73 20 61 72 65 20 69 6d 70 6f 72 74 61 6e 74 .going.to.compress.are.important
5b460 2c 20 67 69 76 65 20 74 68 65 0a 6f 70 74 69 6f 6e 20 27 2d 2d 6b 65 65 70 27 20 74 6f 20 6c 7a ,.give.the.option.'--keep'.to.lz
5b480 69 70 20 61 6e 64 20 64 6f 6e 27 74 20 72 65 6d 6f 76 65 20 74 68 65 20 6f 72 69 67 69 6e 61 6c ip.and.don't.remove.the.original
5b4a0 20 66 69 6c 65 20 75 6e 74 69 6c 20 79 6f 75 20 76 65 72 69 66 79 0a 74 68 65 20 63 6f 6d 70 72 .file.until.you.verify.the.compr
5b4c0 65 73 73 65 64 20 66 69 6c 65 20 77 69 74 68 20 61 20 63 6f 6d 6d 61 6e 64 20 6c 69 6b 65 20 27 essed.file.with.a.command.like.'
5b4e0 6c 7a 69 70 20 2d 63 64 20 66 69 6c 65 2e 6c 7a 20 7c 20 63 6d 70 20 66 69 6c 65 20 2d 27 2e 0a lzip.-cd.file.lz.|.cmp.file.-'..
5b500 4d 6f 73 74 20 52 41 4d 20 65 72 72 6f 72 73 20 68 61 70 70 65 6e 69 6e 67 20 64 75 72 69 6e 67 Most.RAM.errors.happening.during
5b520 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 63 61 6e 20 6f 6e 6c 79 20 62 65 20 64 65 74 65 63 74 65 .compression.can.only.be.detecte
5b540 64 20 62 79 0a 63 6f 6d 70 61 72 69 6e 67 20 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 20 66 69 d.by.comparing.the.compressed.fi
5b560 6c 65 20 77 69 74 68 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 62 65 63 61 75 73 65 20 74 68 65 le.with.the.original.because.the
5b580 20 63 6f 72 72 75 70 74 69 6f 6e 0a 68 61 70 70 65 6e 73 20 62 65 66 6f 72 65 20 6c 7a 69 70 20 .corruption.happens.before.lzip.
5b5a0 63 6f 6d 70 72 65 73 73 65 73 20 74 68 65 20 52 41 4d 20 63 6f 6e 74 65 6e 74 73 2c 20 72 65 73 compresses.the.RAM.contents,.res
5b5c0 75 6c 74 69 6e 67 20 69 6e 20 61 20 76 61 6c 69 64 0a 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c ulting.in.a.valid.compressed.fil
5b5e0 65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 77 72 6f 6e 67 20 64 61 74 61 2e 0a 0a 0a 45 78 61 6d 70 e.containing.wrong.data....Examp
5b600 6c 65 20 31 3a 20 45 78 74 72 61 63 74 20 61 6c 6c 20 74 68 65 20 66 69 6c 65 73 20 66 72 6f 6d le.1:.Extract.all.the.files.from
5b620 20 61 72 63 68 69 76 65 20 27 66 6f 6f 2e 74 61 72 2e 6c 7a 27 2e 0a 0a 20 20 20 20 20 20 20 74 .archive.'foo.tar.lz'..........t
5b640 61 72 20 2d 78 66 20 66 6f 6f 2e 74 61 72 2e 6c 7a 0a 20 20 20 20 20 6f 72 0a 20 20 20 20 20 20 ar.-xf.foo.tar.lz......or.......
5b660 20 6c 7a 69 70 20 2d 63 64 20 66 6f 6f 2e 74 61 72 2e 6c 7a 20 7c 20 74 61 72 20 2d 78 66 20 2d .lzip.-cd.foo.tar.lz.|.tar.-xf.-
5b680 0a 0a 0a 45 78 61 6d 70 6c 65 20 32 3a 20 52 65 70 6c 61 63 65 20 61 20 72 65 67 75 6c 61 72 20 ...Example.2:.Replace.a.regular.
5b6a0 66 69 6c 65 20 77 69 74 68 20 69 74 73 20 63 6f 6d 70 72 65 73 73 65 64 20 76 65 72 73 69 6f 6e file.with.its.compressed.version
5b6c0 20 27 66 69 6c 65 2e 6c 7a 27 20 61 6e 64 0a 73 68 6f 77 20 74 68 65 20 63 6f 6d 70 72 65 73 73 .'file.lz'.and.show.the.compress
5b6e0 69 6f 6e 20 72 61 74 69 6f 2e 0a 0a 20 20 20 20 20 6c 7a 69 70 20 2d 76 20 66 69 6c 65 0a 0a 0a ion.ratio........lzip.-v.file...
5b700 45 78 61 6d 70 6c 65 20 33 3a 20 4c 69 6b 65 20 65 78 61 6d 70 6c 65 20 32 20 62 75 74 20 74 68 Example.3:.Like.example.2.but.th
5b720 65 20 63 72 65 61 74 65 64 20 27 66 69 6c 65 2e 6c 7a 27 20 69 73 20 6d 75 6c 74 69 6d 65 6d 62 e.created.'file.lz'.is.multimemb
5b740 65 72 20 77 69 74 68 20 61 0a 6d 65 6d 62 65 72 20 73 69 7a 65 20 6f 66 20 31 20 4d 69 42 2e 20 er.with.a.member.size.of.1.MiB..
5b760 54 68 65 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 72 61 74 69 6f 20 69 73 20 6e 6f 74 20 73 68 6f The.compression.ratio.is.not.sho
5b780 77 6e 2e 0a 0a 20 20 20 20 20 6c 7a 69 70 20 2d 62 20 31 4d 69 42 20 66 69 6c 65 0a 0a 0a 45 78 wn........lzip.-b.1MiB.file...Ex
5b7a0 61 6d 70 6c 65 20 34 3a 20 52 65 73 74 6f 72 65 20 61 20 72 65 67 75 6c 61 72 20 66 69 6c 65 20 ample.4:.Restore.a.regular.file.
5b7c0 66 72 6f 6d 20 69 74 73 20 63 6f 6d 70 72 65 73 73 65 64 20 76 65 72 73 69 6f 6e 20 27 66 69 6c from.its.compressed.version.'fil
5b7e0 65 2e 6c 7a 27 2e 20 49 66 0a 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 69 73 20 73 75 63 63 65 e.lz'..If.the.operation.is.succe
5b800 73 73 66 75 6c 2c 20 27 66 69 6c 65 2e 6c 7a 27 20 69 73 20 72 65 6d 6f 76 65 64 2e 0a 0a 20 20 ssful,.'file.lz'.is.removed.....
5b820 20 20 20 6c 7a 69 70 20 2d 64 20 66 69 6c 65 2e 6c 7a 0a 0a 0a 45 78 61 6d 70 6c 65 20 35 3a 20 ...lzip.-d.file.lz...Example.5:.
5b840 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 6d 70 Verify.the.integrity.of.the.comp
5b860 72 65 73 73 65 64 20 66 69 6c 65 20 27 66 69 6c 65 2e 6c 7a 27 20 61 6e 64 20 73 68 6f 77 0a 73 ressed.file.'file.lz'.and.show.s
5b880 74 61 74 75 73 2e 0a 0a 20 20 20 20 20 6c 7a 69 70 20 2d 74 76 20 66 69 6c 65 2e 6c 7a 0a 0a 0a tatus........lzip.-tv.file.lz...
5b8a0 45 78 61 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 Example.6:.The.right.way.of.conc
5b8c0 61 74 65 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 atenating.the.decompressed.outpu
5b8e0 74 20 6f 66 20 74 77 6f 20 6f 72 0a 6d 6f 72 65 20 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 t.of.two.or.more.compressed.file
5b900 73 2e 20 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 s..*Note.Trailing.data::........
5b920 44 6f 6e 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 Don't.do.this........cat.file1.l
5b940 7a 20 66 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 20 2d 0a z.file2.lz.file3.lz.|.lzip.-d.-.
5b960 20 20 20 20 20 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 .....Do.this.instead........lzip
5b980 20 2d 63 64 20 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 .-cd.file1.lz.file2.lz.file3.lz.
5b9a0 0a 0a 45 78 61 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 ..Example.7:.Decompress.'file.lz
5b9c0 27 20 70 61 72 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 '.partially.until.10.KiB.of.deco
5b9e0 6d 70 72 65 73 73 65 64 20 64 61 74 61 0a 61 72 65 20 70 72 6f 64 75 63 65 64 2e 0a 0a 20 20 20 mpressed.data.are.produced......
5ba00 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 73 3d 31 30 32 34 20 ..lzip.-cd.file.lz.|.dd.bs=1024.
5ba20 63 6f 75 6e 74 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 count=10...Example.8:.Decompress
5ba40 20 27 66 69 6c 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 .'file.lz'.partially.from.decomp
5ba60 72 65 73 73 65 64 20 62 79 74 65 20 61 74 20 6f 66 66 73 65 74 0a 31 30 30 30 30 20 74 6f 20 64 ressed.byte.at.offset.10000.to.d
5ba80 65 63 6f 6d 70 72 65 73 73 65 64 20 62 79 74 65 20 61 74 20 6f 66 66 73 65 74 20 31 34 39 39 39 ecompressed.byte.at.offset.14999
5baa0 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 20 20 20 .(5000.bytes.are.produced)......
5bac0 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 73 3d 31 30 30 30 20 ..lzip.-cd.file.lz.|.dd.bs=1000.
5bae0 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 20 39 3a 20 43 6f 6d skip=10.count=5...Example.9:.Com
5bb00 70 72 65 73 73 20 61 20 77 68 6f 6c 65 20 64 65 76 69 63 65 20 69 6e 20 2f 64 65 76 2f 73 64 63 press.a.whole.device.in./dev/sdc
5bb20 20 61 6e 64 20 73 65 6e 64 20 74 68 65 20 6f 75 74 70 75 74 20 74 6f 0a 27 66 69 6c 65 2e 6c 7a .and.send.the.output.to.'file.lz
5bb40 27 2e 0a 0a 20 20 20 20 20 20 20 6c 7a 69 70 20 2d 63 20 2f 64 65 76 2f 73 64 63 20 3e 20 66 69 '..........lzip.-c./dev/sdc.>.fi
5bb60 6c 65 2e 6c 7a 0a 20 20 20 20 20 6f 72 0a 20 20 20 20 20 20 20 6c 7a 69 70 20 2f 64 65 76 2f 73 le.lz......or........lzip./dev/s
5bb80 64 63 20 2d 6f 20 66 69 6c 65 2e 6c 7a 0a 0a 0a 45 78 61 6d 70 6c 65 20 31 30 3a 20 43 72 65 61 dc.-o.file.lz...Example.10:.Crea
5bba0 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 20 te.a.multivolume.compressed.tar.
5bbc0 61 72 63 68 69 76 65 20 77 69 74 68 20 61 20 76 6f 6c 75 6d 65 20 73 69 7a 65 0a 6f 66 20 31 34 archive.with.a.volume.size.of.14
5bbe0 34 30 20 4b 69 42 2e 0a 0a 20 20 20 20 20 74 61 72 20 2d 63 20 73 6f 6d 65 5f 64 69 72 65 63 74 40.KiB........tar.-c.some_direct
5bc00 6f 72 79 20 7c 20 6c 7a 69 70 20 2d 53 20 31 34 34 30 4b 69 42 20 2d 6f 20 76 6f 6c 75 6d 65 5f ory.|.lzip.-S.1440KiB.-o.volume_
5bc20 6e 61 6d 65 20 2d 0a 0a 0a 45 78 61 6d 70 6c 65 20 31 31 3a 20 45 78 74 72 61 63 74 20 61 20 6d name.-...Example.11:.Extract.a.m
5bc40 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 68 69 76 ultivolume.compressed.tar.archiv
5bc60 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 61 6d 65 2a 2e 6c e........lzip.-cd.volume_name*.l
5bc80 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 32 3a 20 43 72 65 61 z.|.tar.-xf.-...Example.12:.Crea
5bca0 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 61 63 6b te.a.multivolume.compressed.back
5bcc0 75 70 20 6f 66 20 61 20 6c 61 72 67 65 20 64 61 74 61 62 61 73 65 20 66 69 6c 65 0a 77 69 74 68 up.of.a.large.database.file.with
5bce0 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 77 68 65 72 65 20 .a.volume.size.of.650.MB,.where.
5bd00 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 65 72 20 66 69 6c each.volume.is.a.multimember.fil
5bd20 65 20 77 69 74 68 0a 61 20 6d 65 6d 62 65 72 20 73 69 7a 65 20 6f 66 20 33 32 20 4d 69 42 2e 0a e.with.a.member.size.of.32.MiB..
5bd40 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 4d 42 20 62 69 67 ......lzip.-b.32MiB.-S.650MB.big
5bd60 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 6f 64 65 3a 20 50 _db....File:.lzip.info,..Node:.P
5bd80 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 73 6f 75 72 63 65 roblems,..Next:.Reference.source
5bda0 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 70 3a 20 54 6f 70 .code,..Prev:.Examples,..Up:.Top
5bdc0 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 2a 2a 2a 2a 2a 2a ..10.Reporting.bugs.************
5bde0 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 62 75 67 73 20 69 *****..There.are.probably.bugs.i
5be00 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 20 65 72 72 6f n.lzip..There.are.certainly.erro
5be20 72 73 20 61 6e 64 20 6f 6d 69 73 73 69 6f 6e 73 0a 69 6e 20 74 68 69 73 20 6d 61 6e 75 61 6c 2e rs.and.omissions.in.this.manual.
5be40 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 69 6c 6c 20 67 .If.you.report.them,.they.will.g
5be60 65 74 20 66 69 78 65 64 2e 20 49 66 20 79 6f 75 20 64 6f 6e 27 74 2c 20 6e 6f 0a 6f 6e 65 20 77 et.fixed..If.you.don't,.no.one.w
5be80 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 64 20 74 68 65 ill.ever.know.about.them.and.the
5bea0 79 20 77 69 6c 6c 20 72 65 6d 61 69 6e 20 75 6e 66 69 78 65 64 20 66 6f 72 20 61 6c 6c 0a 65 74 y.will.remain.unfixed.for.all.et
5bec0 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 20 49 66 20 79 6f ernity,.if.not.longer......If.yo
5bee0 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 65 6e u.find.a.bug.in.lzip,.please.sen
5bf00 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 2d 62 75 67 40 6e d.electronic.mail.to.<lzip-bug@n
5bf20 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 72 73 69 6f 6e 20 ongnu.org>..Include.the.version.
5bf40 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 20 62 79 0a 72 75 number,.which.you.can.find.by.ru
5bf60 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 0a 46 69 6c 65 3a nning.'lzip.--version'.....File:
5bf80 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 63 65 20 73 6f 75 .lzip.info,..Node:.Reference.sou
5bfa0 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 6e 64 65 78 2c 20 rce.code,..Next:.Concept.index,.
5bfc0 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 0a 41 70 70 65 6e .Prev:.Problems,..Up:.Top..Appen
5bfe0 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 65 0a 2a 2a 2a 2a dix.A.Reference.source.code.****
5c000 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 2f 2a ****************************../*
5c020 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 72 65 73 73 6f 72 20 .Lzd.-.Educational.decompressor.
5c040 66 6f 72 20 74 68 65 20 6c 7a 69 70 20 66 6f 72 6d 61 74 0a 20 20 20 43 6f 70 79 72 69 67 68 74 for.the.lzip.format....Copyright
5c060 20 28 43 29 20 32 30 31 33 2d 32 30 32 32 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a .(C).2013-2022.Antonio.Diaz.Diaz
5c080 2e 0a 0a 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 ......This.program.is.free.softw
5c0a0 61 72 65 2e 20 52 65 64 69 73 74 72 69 62 75 74 69 6f 6e 20 61 6e 64 20 75 73 65 20 69 6e 20 73 are..Redistribution.and.use.in.s
5c0c0 6f 75 72 63 65 20 61 6e 64 0a 20 20 20 62 69 6e 61 72 79 20 66 6f 72 6d 73 2c 20 77 69 74 68 20 ource.and....binary.forms,.with.
5c0e0 6f 72 20 77 69 74 68 6f 75 74 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 2c 20 61 72 65 20 70 65 72 or.without.modification,.are.per
5c100 6d 69 74 74 65 64 20 70 72 6f 76 69 64 65 64 0a 20 20 20 74 68 61 74 20 74 68 65 20 66 6f 6c 6c mitted.provided....that.the.foll
5c120 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 6d 65 74 3a 0a 0a 20 20 20 31 2e owing.conditions.are.met:.....1.
5c140 20 52 65 64 69 73 74 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 .Redistributions.of.source.code.
5c160 6d 75 73 74 20 72 65 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 must.retain.the.above.copyright.
5c180 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 64 69 74 69 6f ...notice,.this.list.of.conditio
5c1a0 6e 73 2c 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 69 6d 65 72 ns,.and.the.following.disclaimer
5c1c0 2e 0a 0a 20 20 20 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 ......2..Redistributions.in.bina
5c1e0 72 79 20 66 6f 72 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 ry.form.must.reproduce.the.above
5c200 20 63 6f 70 79 72 69 67 68 74 0a 20 20 20 6e 6f 74 69 63 65 2c 20 74 68 69 73 20 6c 69 73 74 20 .copyright....notice,.this.list.
5c220 6f 66 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 20 61 6e 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 of.conditions,.and.the.following
5c240 20 64 69 73 63 6c 61 69 6d 65 72 20 69 6e 20 74 68 65 0a 20 20 20 64 6f 63 75 6d 65 6e 74 61 74 .disclaimer.in.the....documentat
5c260 69 6f 6e 20 61 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 ion.and/or.other.materials.provi
5c280 64 65 64 20 77 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 54 ded.with.the.distribution......T
5c2a0 68 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 his.program.is.distributed.in.th
5c2c0 65 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 e.hope.that.it.will.be.useful,..
5c2e0 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
5c300 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
5c320 0a 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 46 ....MERCHANTABILITY.or.FITNESS.F
5c340 4f 52 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 OR.A.PARTICULAR.PURPOSE..*/./*..
5c360 20 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 ..Exit.status:.0.for.a.normal.ex
5c380 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 6d 73 it,.1.for.environmental.problems
5c3a0 0a 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
5c3c0 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
5c3e0 61 74 65 20 61 0a 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 75 ate.a....corrupt.or.invalid.inpu
5c400 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 3e t.file..*/..#include.<algorithm>
5c420 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 74 .#include.<cerrno>.#include.<cst
5c440 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 65 dio>.#include.<cstdlib>.#include
5c460 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 23 .<cstring>.#include.<stdint.h>.#
5c480 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 20 5f include.<unistd.h>.#if.defined._
5c4a0 5f 4d 53 56 43 52 54 5f 5f 20 7c 7c 20 64 65 66 69 6e 65 64 20 5f 5f 4f 53 32 5f 5f 20 7c 7c 20 _MSVCRT__.||.defined.__OS2__.||.
5c4c0 64 65 66 69 6e 65 64 20 5f 5f 44 4a 47 50 50 5f 5f 0a 23 69 6e 63 6c 75 64 65 20 3c 66 63 6e 74 defined.__DJGPP__.#include.<fcnt
5c4e0 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 0a 63 6c l.h>.#include.<io.h>.#endif...cl
5c500 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 69 63 3a ass.State...{...int.st;..public:
5c520 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 61 74 65 ...enum.{.states.=.12.};...State
5c540 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 72 28 29 ().:.st(.0.).{}...int.operator()
5c560 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 6c 20 69 ().const.{.return.st;.}...bool.i
5c580 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 37 3b 20 s_char().const.{.return.st.<.7;.
5c5a0 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 20 20 63 }....void.set_char().....{.....c
5c5c0 6f 6e 73 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 onst.int.next[states].=.{.0,.0,.
5c5e0 30 2c 20 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 0,.0,.1,.2,.3,.4,.5,.6,.4,.5.};.
5c600 20 20 20 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 ....st.=.next[st];.....}...void.
5c620 73 65 74 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 set_match().....{.st.=.(.st.<.7.
5c640 29 20 3f 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 ).?.7.:.10;.}...void.set_rep()..
5c660 20 20 20 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 .....{.st.=.(.st.<.7.).?.8.:.11;
5c680 20 7d 0a 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 .}...void.set_short_rep().{.st.=
5c6a0 20 28 20 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 .(.st.<.7.).?.9.:.11;.}...};...e
5c6c0 6e 75 6d 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 num.{...min_dictionary_size.=.1.
5c6e0 3c 3c 20 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 <<.12,...max_dictionary_size.=.1
5c700 20 3c 3c 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 .<<.29,...literal_context_bits.=
5c720 20 33 2c 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 .3,...literal_pos_state_bits.=.0
5c740 2c 09 09 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 ,....//.not.used...pos_state_bit
5c760 73 20 3d 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 s.=.2,...pos_states.=.1.<<.pos_s
5c780 74 61 74 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 tate_bits,...pos_state_mask.=.po
5c7a0 73 5f 73 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 s_states.-.1,....len_states.=.4,
5c7c0 0a 20 20 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 ...dis_slot_bits.=.6,...start_di
5c7e0 73 5f 6d 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 s_model.=.4,...end_dis_model.=.1
5c800 34 2c 0a 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 20 4,...modeled_distances.=.1.<<.(.
5c820 65 6e 64 5f 64 69 73 5f 6d 6f 64 65 6c 20 2f 20 32 20 29 2c 09 2f 2f 20 31 32 38 0a 20 20 64 69 end_dis_model./.2.),.//.128...di
5c840 73 5f 61 6c 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 s_align_bits.=.4,...dis_align_si
5c860 7a 65 20 3d 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 ze.=.1.<<.dis_align_bits,....len
5c880 5f 6c 6f 77 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 _low_bits.=.3,...len_mid_bits.=.
5c8a0 33 2c 0a 20 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 3,...len_high_bits.=.8,...len_lo
5c8c0 77 5f 73 79 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 w_symbols.=.1.<<.len_low_bits,..
5c8e0 20 6c 65 6e 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 .len_mid_symbols.=.1.<<.len_mid_
5c900 62 69 74 73 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 bits,...len_high_symbols.=.1.<<.
5c920 6c 65 6e 5f 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 len_high_bits,...max_len_symbols
5c940 20 3d 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 5f 73 79 6d .=.len_low_symbols.+.len_mid_sym
5c960 62 6f 6c 73 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 bols.+.len_high_symbols,....min_
5c980 6d 61 74 63 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 match_len.=.2,.....//.must.be.2.
5c9a0 0a 20 20 62 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 ...bit_model_move_bits.=.5,...bi
5c9c0 74 5f 6d 6f 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 t_model_total_bits.=.11,...bit_m
5c9e0 6f 64 65 6c 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 odel_total.=.1.<<.bit_model_tota
5ca00 6c 5f 62 69 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 l_bits.};..struct.Bit_model...{.
5ca20 20 20 69 6e 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 ..int.probability;...Bit_model()
5ca40 20 3a 20 70 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 .:.probability(.bit_model_total.
5ca60 2f 20 32 20 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 /.2.).{}...};..struct.Len_model.
5ca80 20 20 7b 0a 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 ..{...Bit_model.choice1;...Bit_m
5caa0 6f 64 65 6c 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 odel.choice2;...Bit_model.bm_low
5cac0 5b 70 6f 73 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 [pos_states][len_low_symbols];..
5cae0 20 42 69 74 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 .Bit_model.bm_mid[pos_states][le
5cb00 6e 5f 6d 69 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 n_mid_symbols];...Bit_model.bm_h
5cb20 69 67 68 5b 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 igh[len_high_symbols];...};...cl
5cb40 61 73 73 20 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 ass.CRC32...{...uint32_t.data[25
5cb60 36 5d 3b 09 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 6];..//.Table.of.CRCs.of.all.8-b
5cb80 69 74 20 6d 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 it.messages...public:...CRC32().
5cba0 20 20 20 20 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 ....{.....for(.unsigned.n.=.0;.n
5cbc0 20 3c 20 32 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 .<.256;.++n.).......{.......unsi
5cbe0 67 6e 65 64 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 gned.c.=.n;.......for(.int.k.=.0
5cc00 3b 20 6b 20 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 ;.k.<.8;.++k.).........{.if(.c.&
5cc20 20 31 20 29 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 .1.).c.=.0xEDB88320U.^.(.c.>>.1.
5cc40 29 3b 20 65 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 );.else.c.>>=.1;.}.......data[n]
5cc60 20 3d 20 63 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 .=.c;.......}.....}....void.upda
5cc80 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 6f 6e 73 74 20 75 69 te_buf(.uint32_t.&.crc,.const.ui
5cca0 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 20 20 20 20 20 20 20 nt8_t.*.const.buffer,...........
5ccc0 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 20 63 6f 6e 73 74 0a .........const.int.size.).const.
5cce0 20 20 20 20 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 ....{.....for(.int.i.=.0;.i.<.si
5cd00 7a 65 3b 20 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 ze;.++i.).......crc.=.data[(crc^
5cd20 62 75 66 66 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 buffer[i])&0xFF].^.(.crc.>>.8.);
5cd40 0a 20 20 20 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 .....}...};..const.CRC32.crc32;.
5cd60 0a 0a 74 79 70 65 64 65 66 20 75 69 6e 74 38 5f 74 20 4c 7a 69 70 5f 68 65 61 64 65 72 5b 36 5d ..typedef.uint8_t.Lzip_header[6]
5cd80 3b 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 09 2f 2f 20 20 20 ;..//.0-3.magic.bytes......//...
5cda0 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 64 20 64 69 63 74 4.version......//...5.coded.dict
5cdc0 69 6f 6e 61 72 79 20 73 69 7a 65 0a 74 79 70 65 64 65 66 20 75 69 6e 74 38 5f 74 20 4c 7a 69 70 ionary.size.typedef.uint8_t.Lzip
5cde0 5f 74 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 _trailer[20];....//..0-3..CRC32.
5ce00 6f 66 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 of.the.uncompressed.data....//..
5ce20 34 2d 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 4-11.size.of.the.uncompressed.da
5ce40 74 61 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 ta....//.12-19.member.size.inclu
5ce60 64 69 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 ding.header.and.trailer..class.R
5ce80 61 6e 67 65 5f 64 65 63 6f 64 65 72 0a 20 20 7b 0a 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 ange_decoder...{...unsigned.long
5cea0 20 6c 6f 6e 67 20 6d 65 6d 62 65 72 5f 70 6f 73 3b 0a 20 20 75 69 6e 74 33 32 5f 74 20 63 6f 64 .long.member_pos;...uint32_t.cod
5cec0 65 3b 0a 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 e;...uint32_t.range;..public:...
5cee0 52 61 6e 67 65 5f 64 65 63 6f 64 65 72 28 29 20 3a 20 6d 65 6d 62 65 72 5f 70 6f 73 28 20 36 20 Range_decoder().:.member_pos(.6.
5cf00 29 2c 20 63 6f 64 65 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 ),.code(.0.),.range(.0xFFFFFFFFU
5cf20 20 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 30 3b 20 69 20 3c .).....{.....for(.int.i.=.0;.i.<
5cf40 20 35 3b 20 2b 2b 69 20 29 20 63 6f 64 65 20 3d 20 28 20 63 6f 64 65 20 3c 3c 20 38 20 29 20 7c .5;.++i.).code.=.(.code.<<.8.).|
5cf60 20 67 65 74 5f 62 79 74 65 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 75 69 6e 74 38 5f 74 20 67 65 .get_byte();.....}....uint8_t.ge
5cf80 74 5f 62 79 74 65 28 29 20 7b 20 2b 2b 6d 65 6d 62 65 72 5f 70 6f 73 3b 20 72 65 74 75 72 6e 20 t_byte().{.++member_pos;.return.
5cfa0 73 74 64 3a 3a 67 65 74 63 28 20 73 74 64 69 6e 20 29 3b 20 7d 0a 20 20 75 6e 73 69 67 6e 65 64 std::getc(.stdin.);.}...unsigned
5cfc0 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6d 65 6d 62 65 72 5f 70 6f 73 69 74 69 6f 6e 28 29 20 63 6f 6e .long.long.member_position().con
5cfe0 73 74 20 7b 20 72 65 74 75 72 6e 20 6d 65 6d 62 65 72 5f 70 6f 73 3b 20 7d 0a 0a 20 20 75 6e 73 st.{.return.member_pos;.}....uns
5d000 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 5f 62 69 74 73 igned.decode(.const.int.num_bits
5d020 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 20 30 .).....{.....unsigned.symbol.=.0
5d040 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 3b 20 69 20 3e ;.....for(.int.i.=.num_bits;.i.>
5d060 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 67 65 20 3e 3e .0;.--i.).......{.......range.>>
5d080 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 20 20 20 20 69 =.1;.......symbol.<<=.1;.......i
5d0a0 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 3d 20 72 61 6e f(.code.>=.range.).{.code.-=.ran
5d0c0 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 28 20 72 61 6e ge;.symbol.|=.1;.}.......if(.ran
5d0e0 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 72 6d 61 6c 69 ge.<=.0x00FFFFFFU.)...//.normali
5d100 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 6f 64 65 20 3d ze.........{.range.<<=.8;.code.=
5d120 20 28 20 63 6f 64 65 20 3c 3c 20 38 20 29 20 7c 20 67 65 74 5f 62 79 74 65 28 29 3b 20 7d 0a 20 .(.code.<<.8.).|.get_byte();.}..
5d140 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;.....}.
5d160 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 6f 64 65 ...unsigned.decode_bit(.Bit_mode
5d180 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 79 6d 62 l.&.bm.).....{.....unsigned.symb
5d1a0 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 3d 20 28 ol;.....const.uint32_t.bound.=.(
5d1c0 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 73 20 29 .range.>>.bit_model_total_bits.)
5d1e0 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 64 65 20 .*.bm.probability;.....if(.code.
5d200 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 20 3d 20 <.bound.).......{.......range.=.
5d220 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 3d 0a 20 bound;.......bm.probability.+=..
5d240 20 20 20 20 20 20 20 28 20 62 69 74 5f 6d 6f 64 65 6c 5f 74 6f 74 61 6c 20 2d 20 62 6d 2e 70 72 .......(.bit_model_total.-.bm.pr
5d260 6f 62 61 62 69 6c 69 74 79 20 29 20 3e 3e 20 62 69 74 5f 6d 6f 64 65 6c 5f 6d 6f 76 65 5f 62 69 obability.).>>.bit_model_move_bi
5d280 74 73 3b 0a 20 20 20 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 ts;.......symbol.=.0;.......}...
5d2a0 20 20 65 6c 73 65 0a 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 ..else.......{.......range.-=.bo
5d2c0 75 6e 64 3b 0a 20 20 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 und;.......code.-=.bound;.......
5d2e0 62 6d 2e 70 72 6f 62 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 bm.probability.-=.bm.probability
5d300 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 20 20 20 73 .>>.bit_model_move_bits;.......s
5d320 79 6d 62 6f 6c 20 3d 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 ymbol.=.1;.......}.....if(.range
5d340 20 3c 3d 20 30 78 30 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 .<=.0x00FFFFFFU.)....//.normaliz
5d360 65 0a 20 20 20 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 20 e.......{.range.<<=.8;.code.=.(.
5d380 63 6f 64 65 20 3c 3c 20 38 20 29 20 7c 20 67 65 74 5f 62 79 74 65 28 29 3b 20 7d 0a 20 20 20 20 code.<<.8.).|.get_byte();.}.....
5d3a0 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 64 return.symbol;.....}....unsigned
5d3c0 20 64 65 63 6f 64 65 5f 74 72 65 65 28 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5b 5d 2c 20 63 6f .decode_tree(.Bit_model.bm[],.co
5d3e0 6e 73 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 nst.int.num_bits.).....{.....uns
5d400 69 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 igned.symbol.=.1;.....for(.int.i
5d420 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 0a 20 20 20 20 20 20 .=.0;.i.<.num_bits;.++i.).......
5d440 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
5d460 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.
5d480 73 79 6d 62 6f 6c 20 2d 20 28 20 31 20 3c 3c 20 6e 75 6d 5f 62 69 74 73 20 29 3b 0a 20 20 20 20 symbol.-.(.1.<<.num_bits.);.....
5d4a0 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 5f 72 65 76 65 72 73 }....unsigned.decode_tree_revers
5d4c0 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 69 6e 74 20 6e 75 ed(.Bit_model.bm[],.const.int.nu
5d4e0 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 62 m_bits.).....{.....unsigned.symb
5d500 6f 6c 20 3d 20 64 65 63 6f 64 65 5f 74 72 65 65 28 20 62 6d 2c 20 6e 75 6d 5f 62 69 74 73 20 29 ol.=.decode_tree(.bm,.num_bits.)
5d520 3b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 72 65 76 65 72 73 65 64 5f 73 79 6d 62 6f 6c 20 3d ;.....unsigned.reversed_symbol.=
5d540 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 6e 75 6d 5f .0;.....for(.int.i.=.0;.i.<.num_
5d560 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 72 65 76 65 72 73 bits;.++i.).......{.......revers
5d580 65 64 5f 73 79 6d 62 6f 6c 20 3d 20 28 20 72 65 76 65 72 73 65 64 5f 73 79 6d 62 6f 6c 20 3c 3c ed_symbol.=.(.reversed_symbol.<<
5d5a0 20 31 20 29 20 7c 20 28 20 73 79 6d 62 6f 6c 20 26 20 31 20 29 3b 0a 20 20 20 20 20 20 73 79 6d .1.).|.(.symbol.&.1.);.......sym
5d5c0 62 6f 6c 20 3e 3e 3d 20 31 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 72 65 74 75 72 6e 20 72 65 bol.>>=.1;.......}.....return.re
5d5e0 76 65 72 73 65 64 5f 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 versed_symbol;.....}....unsigned
5d600 20 64 65 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 .decode_matched(.Bit_model.bm[],
5d620 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6d 61 74 63 68 5f 62 79 74 65 20 29 0a 20 20 20 .const.unsigned.match_byte.)....
5d640 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;.....
5d660 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 37 3b 20 69 20 3e 3d 20 30 3b 20 2d 2d 69 20 29 0a 20 20 for(.int.i.=.7;.i.>=.0;.--i.)...
5d680 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 6d 61 74 63 68 ....{.......const.unsigned.match
5d6a0 5f 62 69 74 20 3d 20 28 20 6d 61 74 63 68 5f 62 79 74 65 20 3e 3e 20 69 20 29 20 26 20 31 3b 0a _bit.=.(.match_byte.>>.i.).&.1;.
5d6c0 20 20 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 ......const.unsigned.bit.=.decod
5d6e0 65 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 2b 28 6d 61 74 63 68 5f 62 69 74 3c 3c 38 29 2b e_bit(.bm[symbol+(match_bit<<8)+
5d700 30 78 31 30 30 5d 20 29 3b 0a 20 20 20 20 20 20 73 79 6d 62 6f 6c 20 3d 20 28 20 73 79 6d 62 6f 0x100].);.......symbol.=.(.symbo
5d720 6c 20 3c 3c 20 31 20 29 20 7c 20 62 69 74 3b 0a 20 20 20 20 20 20 69 66 28 20 6d 61 74 63 68 5f l.<<.1.).|.bit;.......if(.match_
5d740 62 69 74 20 21 3d 20 62 69 74 20 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 77 bit.!=.bit.).........{.........w
5d760 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 20 20 20 hile(.symbol.<.0x100.)..........
5d780 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 63 6f .symbol.=.(.symbol.<<.1.).|.deco
5d7a0 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 20 20 20 20 62 72 de_bit(.bm[symbol].);.........br
5d7c0 65 61 6b 3b 0a 20 20 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 eak;.........}.......}.....retur
5d7e0 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 73 69 67 6e n.symbol.&.0xFF;.....}....unsign
5d800 65 64 20 64 65 63 6f 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 ed.decode_len(.Len_model.&.lm,.c
5d820 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 20 20 20 69 onst.int.pos_state.).....{.....i
5d840 66 28 20 64 65 63 6f 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 f(.decode_bit(.lm.choice1.).==.0
5d860 20 29 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 64 65 63 6f 64 65 5f 74 72 65 65 28 20 6c 6d 2e .).......return.decode_tree(.lm.
5d880 62 6d 5f 6c 6f 77 5b 70 6f 73 5f 73 74 61 74 65 5d 2c 20 6c 65 6e 5f 6c 6f 77 5f 62 69 74 73 20 bm_low[pos_state],.len_low_bits.
5d8a0 29 3b 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
5d8c0 32 20 29 20 3d 3d 20 30 20 29 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 6c 65 6e 5f 6c 6f 77 5f 2.).==.0.).......return.len_low_
5d8e0 73 79 6d 62 6f 6c 73 20 2b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 63 6f 64 65 5f 74 72 symbols.+..............decode_tr
5d900 65 65 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 5f 6d 69 ee(.lm.bm_mid[pos_state],.len_mi
5d920 64 5f 62 69 74 73 20 29 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 6c 65 6e 5f 6c 6f 77 5f 73 79 6d d_bits.);.....return.len_low_sym
5d940 62 6f 6c 73 20 2b 20 6c 65 6e 5f 6d 69 64 5f 73 79 6d 62 6f 6c 73 20 2b 0a 20 20 20 20 20 20 20 bols.+.len_mid_symbols.+........
5d960 20 20 20 20 64 65 63 6f 64 65 5f 74 72 65 65 28 20 6c 6d 2e 62 6d 5f 68 69 67 68 2c 20 6c 65 6e ....decode_tree(.lm.bm_high,.len
5d980 5f 68 69 67 68 5f 62 69 74 73 20 29 3b 0a 20 20 20 20 7d 0a 20 20 7d 3b 0a 0a 0a 63 6c 61 73 73 _high_bits.);.....}...};...class
5d9a0 20 4c 5a 5f 64 65 63 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 .LZ_decoder...{...unsigned.long.
5d9c0 6c 6f 6e 67 20 70 61 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 long.partial_data_pos;...Range_d
5d9e0 65 63 6f 64 65 72 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 ecoder.rdec;...const.unsigned.di
5da00 63 74 69 6f 6e 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 ctionary_size;...uint8_t.*.const
5da20 20 62 75 66 66 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 .buffer;.//.output.buffer...unsi
5da40 67 6e 65 64 20 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 gned.pos;...//.current.pos.in.bu
5da60 66 66 65 72 0a 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 ffer...unsigned.stream_pos;..//.
5da80 66 69 72 73 74 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 73 74 first.byte.not.yet.written.to.st
5daa0 64 6f 75 74 0a 20 20 75 69 6e 74 33 32 5f 74 20 63 72 63 5f 3b 0a 20 20 62 6f 6f 6c 20 70 6f 73 dout...uint32_t.crc_;...bool.pos
5dac0 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 61 74 61 28 29 3b 0a _wrapped;....void.flush_data();.
5dae0 0a 20 20 75 69 6e 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 ...uint8_t.peek(.const.unsigned.
5db00 64 69 73 74 61 6e 63 65 20 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 70 distance.).const.....{.....if(.p
5db20 6f 73 20 3e 20 64 69 73 74 61 6e 63 65 20 29 20 72 65 74 75 72 6e 20 62 75 66 66 65 72 5b 70 6f os.>.distance.).return.buffer[po
5db40 73 20 2d 20 64 69 73 74 61 6e 63 65 20 2d 20 31 5d 3b 0a 20 20 20 20 69 66 28 20 70 6f 73 5f 77 s.-.distance.-.1];.....if(.pos_w
5db60 72 61 70 70 65 64 20 29 20 72 65 74 75 72 6e 20 62 75 66 66 65 72 5b 64 69 63 74 69 6f 6e 61 72 rapped.).return.buffer[dictionar
5db80 79 5f 73 69 7a 65 20 2b 20 70 6f 73 20 2d 20 64 69 73 74 61 6e 63 65 20 2d 20 31 5d 3b 0a 20 20 y_size.+.pos.-.distance.-.1];...
5dba0 20 20 72 65 74 75 72 6e 20 30 3b 09 09 09 2f 2f 20 70 72 65 76 5f 62 79 74 65 20 6f 66 20 66 69 ..return.0;...//.prev_byte.of.fi
5dbc0 72 73 74 20 62 79 74 65 0a 20 20 20 20 7d 0a 0a 20 20 76 6f 69 64 20 70 75 74 5f 62 79 74 65 28 rst.byte.....}....void.put_byte(
5dbe0 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 20 20 20 62 75 66 .const.uint8_t.b.).....{.....buf
5dc00 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 73 20 3e 3d 20 64 fer[pos].=.b;.....if(.++pos.>=.d
5dc20 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 20 66 6c 75 73 68 5f 64 61 74 61 28 29 3b 0a 20 ictionary_size.).flush_data();..
5dc40 20 20 20 7d 0a 0a 70 75 62 6c 69 63 3a 0a 20 20 65 78 70 6c 69 63 69 74 20 4c 5a 5f 64 65 63 6f ...}..public:...explicit.LZ_deco
5dc60 64 65 72 28 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 64 69 63 74 5f 73 69 7a 65 20 29 0a der(.const.unsigned.dict_size.).
5dc80 20 20 20 20 3a 0a 20 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 ....:.....partial_data_pos(.0.),
5dca0 0a 20 20 20 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 .....dictionary_size(.dict_size.
5dcc0 29 2c 0a 20 20 20 20 62 75 66 66 65 72 28 20 6e 65 77 20 75 69 6e 74 38 5f 74 5b 64 69 63 74 69 ),.....buffer(.new.uint8_t[dicti
5dce0 6f 6e 61 72 79 5f 73 69 7a 65 5d 20 29 2c 0a 20 20 20 20 70 6f 73 28 20 30 20 29 2c 0a 20 20 20 onary_size].),.....pos(.0.),....
5dd00 20 73 74 72 65 61 6d 5f 70 6f 73 28 20 30 20 29 2c 0a 20 20 20 20 63 72 63 5f 28 20 30 78 46 46 .stream_pos(.0.),.....crc_(.0xFF
5dd20 46 46 46 46 46 46 55 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 FFFFFFU.),.....pos_wrapped(.fals
5dd40 65 20 29 0a 20 20 20 20 7b 7d 0a 0a 20 20 7e 4c 5a 5f 64 65 63 6f 64 65 72 28 29 20 7b 20 64 65 e.).....{}....~LZ_decoder().{.de
5dd60 6c 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 lete[].buffer;.}....unsigned.crc
5dd80 28 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 ().const.{.return.crc_.^.0xFFFFF
5dda0 46 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 FFFU;.}...unsigned.long.long.dat
5ddc0 61 5f 70 6f 73 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 a_position().const.....{.return.
5dde0 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 20 20 75 69 6e 74 partial_data_pos.+.pos;.}...uint
5de00 38 5f 74 20 67 65 74 5f 62 79 74 65 28 29 20 7b 20 72 65 74 75 72 6e 20 72 64 65 63 2e 67 65 74 8_t.get_byte().{.return.rdec.get
5de20 5f 62 79 74 65 28 29 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 _byte();.}...unsigned.long.long.
5de40 6d 65 6d 62 65 72 5f 70 6f 73 69 74 69 6f 6e 28 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 20 72 65 member_position().const.....{.re
5de60 74 75 72 6e 20 72 64 65 63 2e 6d 65 6d 62 65 72 5f 70 6f 73 69 74 69 6f 6e 28 29 3b 20 7d 0a 0a turn.rdec.member_position();.}..
5de80 20 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 ..bool.decode_member();...};...v
5dea0 6f 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 oid.LZ_decoder::flush_data()...{
5dec0 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 20 20 20 7b 0a ...if(.pos.>.stream_pos.).....{.
5dee0 20 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 ....const.unsigned.size.=.pos.-.
5df00 73 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 stream_pos;.....crc32.update_buf
5df20 28 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 (.crc_,.buffer.+.stream_pos,.siz
5df40 65 20 29 3b 0a 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 e.);.....if(.std::fwrite(.buffer
5df60 20 2b 20 73 74 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 .+.stream_pos,.1,.size,.stdout.)
5df80 20 21 3d 20 73 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 .!=.size.).......{.std::fprintf(
5dfa0 20 73 74 64 65 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 .stderr,."Write.error:.%s\n",.st
5dfc0 64 3a 3a 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 20 20 d::strerror(.errno.).);.........
5dfe0 73 74 64 3a 3a 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 std::exit(.1.);.}.....if(.pos.>=
5e000 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
5e020 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
5e040 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
5e060 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
5e080 6f 64 65 72 3a 3a 64 65 63 6f 64 65 5f 6d 65 6d 62 65 72 28 29 09 2f 2f 20 52 65 74 75 72 6e 73 oder::decode_member().//.Returns
5e0a0 20 66 61 6c 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 .false.if.error...{...Bit_model.
5e0c0 62 6d 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 bm_literal[1<<literal_context_bi
5e0e0 74 73 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 ts][0x300];...Bit_model.bm_match
5e100 5b 53 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 [State::states][pos_states];...B
5e120 69 74 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 it_model.bm_rep[State::states];.
5e140 20 20 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 ..Bit_model.bm_rep0[State::state
5e160 73 5d 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 s];...Bit_model.bm_rep1[State::s
5e180 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 32 5b 53 74 61 74 tates];...Bit_model.bm_rep2[Stat
5e1a0 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 6c 65 6e 5b 53 e::states];...Bit_model.bm_len[S
5e1c0 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
5e1e0 5f 6d 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 _model.bm_dis_slot[len_states][1
5e200 3c 3c 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 <<dis_slot_bits];...Bit_model.bm
5e220 5f 64 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 _dis[modeled_distances-end_dis_m
5e240 6f 64 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 odel+1];...Bit_model.bm_align[di
5e260 73 5f 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 s_align_size];...Len_model.match
5e280 5f 6c 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 _len_model;...Len_model.rep_len_
5e2a0 6d 6f 64 65 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 model;...unsigned.rep0.=.0;..//.
5e2c0 72 65 70 5b 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 rep[0-3].latest.four.distances..
5e2e0 20 75 6e 73 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 .unsigned.rep1.=.0;..//.used.for
5e300 20 65 66 66 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 .efficient.coding.of...unsigned.
5e320 72 65 70 32 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 rep2.=.0;..//.repeated.distances
5e340 0a 20 20 75 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 ...unsigned.rep3.=.0;...State.st
5e360 61 74 65 3b 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 ate;....while(.!std::feof(.stdin
5e380 20 29 20 26 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 .).&&.!std::ferror(.stdin.).)...
5e3a0 20 20 7b 0a 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 ..{.....const.int.pos_state.=.da
5e3c0 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 6d 61 73 6b 3b 0a ta_position().&.pos_state_mask;.
5e3e0 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 6d 61 74 63 ....if(.rdec.decode_bit(.bm_matc
5e400 68 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 20 29 09 2f h[state()][pos_state].).==.0.)./
5e420 2f 20 31 73 74 20 62 69 74 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 2f 2f 20 6c 69 74 65 72 /.1st.bit.......{.......//.liter
5e440 61 6c 20 62 79 74 65 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 al.byte.......const.uint8_t.prev
5e460 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 6f 6e 73 74 20 69 _byte.=.peek(.0.);.......const.i
5e480 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 74 65 20 3e 3e 20 nt.literal_state.=.prev_byte.>>.
5e4a0 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 20 29 3b 0a 20 20 (.8.-.literal_context_bits.);...
5e4c0 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 5f 6c 69 ....Bit_model.*.const.bm.=.bm_li
5e4e0 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 20 20 69 66 28 20 teral[literal_state];.......if(.
5e500 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 70 75 74 5f 62 79 state.is_char().).........put_by
5e520 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 38 20 29 20 29 3b te(.rdec.decode_tree(.bm,.8.).);
5e540 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 74 65 28 20 72 64 .......else.........put_byte(.rd
5e560 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 6b 28 20 72 65 70 ec.decode_matched(.bm,.peek(.rep
5e580 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 68 61 72 28 29 3b 0.).).);.......state.set_char();
5e5a0 0a 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 .......continue;.......}.....//.
5e5c0 6d 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 69 6e 74 20 match.or.repeated.match.....int.
5e5e0 6c 65 6e 3b 0a 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 len;.....if(.rdec.decode_bit(.bm
5e600 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 6e 64 20 62 _rep[state()].).!=.0.)..//.2nd.b
5e620 69 74 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 69 66 28 20 72 64 65 63 2e 64 65 63 6f 64 65 it.......{.......if(.rdec.decode
5e640 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 29 09 _bit(.bm_rep0[state()].).==.0.).
5e660 09 2f 2f 20 33 72 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 .//.3rd.bit.........{.........if
5e680 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 73 74 61 74 65 28 (.rdec.decode_bit(.bm_len[state(
5e6a0 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 34 74 68 20 62 69 )][pos_state].).==.0.).//.4th.bi
5e6c0 74 0a 20 20 20 20 20 20 20 20 20 20 7b 20 73 74 61 74 65 2e 73 65 74 5f 73 68 6f 72 74 5f 72 65 t...........{.state.set_short_re
5e6e0 70 28 29 3b 20 70 75 74 5f 62 79 74 65 28 20 70 65 65 6b 28 20 72 65 70 30 20 29 20 29 3b 20 63 p();.put_byte(.peek(.rep0.).);.c
5e700 6f 6e 74 69 6e 75 65 3b 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 65 6c 73 65 0a ontinue;.}.........}.......else.
5e720 20 20 20 20 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 73 74 61 ........{.........unsigned.dista
5e740 6e 63 65 3b 0a 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 nce;.........if(.rdec.decode_bit
5e760 28 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 09 2f 2f 20 (.bm_rep1[state()].).==.0.)..//.
5e780 34 74 68 20 62 69 74 0a 20 20 20 20 20 20 20 20 20 20 64 69 73 74 61 6e 63 65 20 3d 20 72 65 70 4th.bit...........distance.=.rep
5e7a0 31 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 0a 20 20 20 20 1;.........else...........{.....
5e7c0 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 65 ......if(.rdec.decode_bit(.bm_re
5e7e0 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 68 20 62 69 74 0a p2[state()].).==.0.).//.5th.bit.
5e800 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 20 ............distance.=.rep2;....
5e820 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 20 64 69 73 74 61 6e .......else.............{.distan
5e840 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 20 20 20 20 20 ce.=.rep3;.rep3.=.rep2;.}.......
5e860 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 7d 0a 20 20 20 ....rep2.=.rep1;...........}....
5e880 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 72 65 70 30 20 3d .....rep1.=.rep0;.........rep0.=
5e8a0 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
5e8c0 2e 73 65 74 5f 72 65 70 28 29 3b 0a 20 20 20 20 20 20 6c 65 6e 20 3d 20 6d 69 6e 5f 6d 61 74 63 .set_rep();.......len.=.min_matc
5e8e0 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 72 65 70 5f 6c 65 6e h_len.+.rdec.decode_len(.rep_len
5e900 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 7d 0a 20 20 20 _model,.pos_state.);.......}....
5e920 20 65 6c 73 65 09 09 09 09 09 2f 2f 20 6d 61 74 63 68 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 .else.....//.match.......{......
5e940 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 31 20 .rep3.=.rep2;.rep2.=.rep1;.rep1.
5e960 3d 20 72 65 70 30 3b 0a 20 20 20 20 20 20 6c 65 6e 20 3d 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 =.rep0;.......len.=.min_match_le
5e980 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 65 6e 5f 6d n.+.rdec.decode_len(.match_len_m
5e9a0 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 63 6f 6e 73 74 20 69 odel,.pos_state.);.......const.i
5e9c0 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 65 6e 20 2d 20 6d nt.len_state.=.std::min(.len.-.m
5e9e0 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 20 31 20 29 3b 0a in_match_len,.len_states.-.1.);.
5ea00 20 20 20 20 20 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 ......rep0.=.rdec.decode_tree(.b
5ea20 6d 5f 64 69 73 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 m_dis_slot[len_state],.dis_slot_
5ea40 62 69 74 73 20 29 3b 0a 20 20 20 20 20 20 69 66 28 20 72 65 70 30 20 3e 3d 20 73 74 61 72 74 5f bits.);.......if(.rep0.>=.start_
5ea60 64 69 73 5f 6d 6f 64 65 6c 20 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 63 6f dis_model.).........{.........co
5ea80 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 20 nst.unsigned.dis_slot.=.rep0;...
5eaa0 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 20 28 20 ......const.int.direct_bits.=.(.
5eac0 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 72 65 70 dis_slot.>>.1.).-.1;.........rep
5eae0 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 29 20 3c 3c 20 0.=.(.2.|.(.dis_slot.&.1.).).<<.
5eb00 64 69 72 65 63 74 5f 62 69 74 73 3b 0a 20 20 20 20 20 20 20 20 69 66 28 20 64 69 73 5f 73 6c 6f direct_bits;.........if(.dis_slo
5eb20 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 20 72 65 t.<.end_dis_model.)...........re
5eb40 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 73 65 64 28 p0.+=.rdec.decode_tree_reversed(
5eb60 20 62 6d 5f 64 69 73 20 2b 20 28 20 72 65 70 30 20 2d 20 64 69 73 5f 73 6c 6f 74 20 29 2c 0a 20 .bm_dis.+.(.rep0.-.dis_slot.),..
5eb80 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 ................................
5eba0 20 20 20 20 20 20 20 20 20 20 20 20 64 69 72 65 63 74 5f 62 69 74 73 20 29 3b 0a 20 20 20 20 20 ............direct_bits.);......
5ebc0 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 20 20 72 65 ...else...........{...........re
5ebe0 70 30 20 2b 3d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 64 65 63 2e 64 65 63 6f 64 65 28 20 64 p0.+=.............rdec.decode(.d
5ec00 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 29 20 3c 3c irect_bits.-.dis_align_bits.).<<
5ec20 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 72 65 70 30 20 .dis_align_bits;...........rep0.
5ec40 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 73 65 64 28 20 62 6d +=.rdec.decode_tree_reversed(.bm
5ec60 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 0a 20 20 20 20 20 20 _align,.dis_align_bits.);.......
5ec80 20 20 20 20 69 66 28 20 72 65 70 30 20 3d 3d 20 30 78 46 46 46 46 46 46 46 46 55 20 29 09 09 2f ....if(.rep0.==.0xFFFFFFFFU.)../
5eca0 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 7b 0a 20 20 20 /.marker.found.............{....
5ecc0 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 20 20 20 20 20 .........flush_data();..........
5ece0 20 20 20 72 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 ...return.(.len.==.min_match_len
5ed00 20 29 3b 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 20 .);.//.End.Of.Stream.marker.....
5ed20 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 20 20 7d 0a ........}...........}.........}.
5ed40 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 20 69 ......state.set_match();.......i
5ed60 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 7c 20 28 20 f(.rep0.>=.dictionary_size.||.(.
5ed80 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 29 20 29 0a rep0.>=.pos.&&.!pos_wrapped.).).
5eda0 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 74 75 72 6e 20 66 ........{.flush_data();.return.f
5edc0 61 6c 73 65 3b 20 7d 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d alse;.}.......}.....for(.int.i.=
5ede0 20 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 .0;.i.<.len;.++i.).put_byte(.pee
5ee00 6b 28 20 72 65 70 30 20 29 20 29 3b 0a 20 20 20 20 7d 0a 20 20 66 6c 75 73 68 5f 64 61 74 61 28 k(.rep0.).);.....}...flush_data(
5ee20 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 69 6e 74 20 6d 61 69 );...return.false;...}...int.mai
5ee40 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 63 68 61 72 20 2a 20 n(.const.int.argc,.const.char.*.
5ee60 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 61 72 67 63 20 3e 20 const.argv[].)...{...if(.argc.>.
5ee80 32 20 7c 7c 20 28 20 61 72 67 63 20 3d 3d 20 32 20 26 26 20 73 74 64 3a 3a 73 74 72 63 6d 70 28 2.||.(.argc.==.2.&&.std::strcmp(
5eea0 20 61 72 67 76 5b 31 5d 2c 20 22 2d 64 22 20 29 20 21 3d 20 30 20 29 20 29 0a 20 20 20 20 7b 0a .argv[1],."-d".).!=.0.).).....{.
5eec0 20 20 20 20 73 74 64 3a 3a 70 72 69 6e 74 66 28 0a 20 20 20 20 20 20 22 4c 7a 64 20 25 73 20 2d ....std::printf(......."Lzd.%s.-
5eee0 20 45 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 74 68 .Educational.decompressor.for.th
5ef00 65 20 6c 7a 69 70 20 66 6f 72 6d 61 74 2e 5c 6e 22 0a 20 20 20 20 20 20 22 53 74 75 64 79 20 74 e.lzip.format.\n"......."Study.t
5ef20 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 70 20 64 65 he.source.to.learn.how.a.lzip.de
5ef40 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 22 53 65 65 20 compressor.works.\n"......."See.
5ef60 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 74 69 the.lzip.manual.for.an.explanati
5ef80 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 22 5c 6e 55 73 61 67 on.of.the.code.\n"......."\nUsag
5efa0 65 3a 20 25 73 20 5b 2d 64 5d 20 3c 20 66 69 6c 65 2e 6c 7a 20 3e 20 66 69 6c 65 5c 6e 22 0a 20 e:.%s.[-d].<.file.lz.>.file\n"..
5efc0 20 20 20 20 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 6e ....."Lzd.decompresses.from.stan
5efe0 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 6e dard.input.to.standard.output.\n
5f000 22 0a 20 20 20 20 20 20 22 5c 6e 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 32 32 20 41 6e "......."\nCopyright.(C).2022.An
5f020 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 5c 6e 22 0a 20 20 20 20 20 20 22 4c 69 63 65 6e tonio.Diaz.Diaz.\n"......."Licen
5f040 73 65 20 32 2d 63 6c 61 75 73 65 20 42 53 44 2e 5c 6e 22 0a 20 20 20 20 20 20 22 54 68 69 73 20 se.2-clause.BSD.\n"......."This.
5f060 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 65 65 20 74 is.free.software:.you.are.free.t
5f080 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 2e 5c 6e 22 o.change.and.redistribute.it.\n"
5f0a0 0a 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 74 6f ......."There.is.NO.WARRANTY,.to
5f0c0 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 6e 22 .the.extent.permitted.by.law.\n"
5f0e0 0a 20 20 20 20 20 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 ......."Report.bugs.to.lzip-bug@
5f100 6e 6f 6e 67 6e 75 2e 6f 72 67 5c 6e 22 0a 20 20 20 20 20 20 22 4c 7a 64 20 68 6f 6d 65 20 70 61 nongnu.org\n"......."Lzd.home.pa
5f120 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 6c ge:.http://www.nongnu.org/lzip/l
5f140 7a 64 2e 68 74 6d 6c 5c 6e 22 2c 0a 20 20 20 20 20 20 50 52 4f 47 56 45 52 53 49 4f 4e 2c 20 61 zd.html\n",.......PROGVERSION,.a
5f160 72 67 76 5b 30 5d 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 rgv[0].);.....return.0;.....}..#
5f180 69 66 20 64 65 66 69 6e 65 64 20 5f 5f 4d 53 56 43 52 54 5f 5f 20 7c 7c 20 64 65 66 69 6e 65 64 if.defined.__MSVCRT__.||.defined
5f1a0 20 5f 5f 4f 53 32 5f 5f 20 7c 7c 20 64 65 66 69 6e 65 64 20 5f 5f 44 4a 47 50 50 5f 5f 0a 20 20 .__OS2__.||.defined.__DJGPP__...
5f1c0 73 65 74 6d 6f 64 65 28 20 53 54 44 49 4e 5f 46 49 4c 45 4e 4f 2c 20 4f 5f 42 49 4e 41 52 59 20 setmode(.STDIN_FILENO,.O_BINARY.
5f1e0 29 3b 0a 20 20 73 65 74 6d 6f 64 65 28 20 53 54 44 4f 55 54 5f 46 49 4c 45 4e 4f 2c 20 4f 5f 42 );...setmode(.STDOUT_FILENO,.O_B
5f200 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 20 66 69 72 INARY.);.#endif....for(.bool.fir
5f220 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 6d 62 65 72 st_member.=.true;.;.first_member
5f240 20 3d 20 66 61 6c 73 65 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 4c 7a 69 70 5f 68 65 61 64 65 72 .=.false.).....{.....Lzip_header
5f260 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 0a 20 20 20 .header;....//.verify.header....
5f280 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 29 20 68 65 .for(.int.i.=.0;.i.<.6;.++i.).he
5f2a0 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 3b 0a 20 20 ader[i].=.std::getc(.stdin.);...
5f2c0 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 73 74 64 3a ..if(.std::feof(.stdin.).||.std:
5f2e0 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 20 35 20 29 :memcmp(.header,."LZIP\x01",.5.)
5f300 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 72 73 74 5f .!=.0.).......{.......if(.first_
5f320 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 73 28 20 22 member.).........{.std::fputs(."
5f340 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 6e 20 6c 7a Bad.magic.number.(file.not.in.lz
5f360 69 70 20 66 6f 72 6d 61 74 29 2e 5c 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ip.format).\n",.................
5f380 20 20 20 20 20 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 ......stderr.);.return.2;.}.....
5f3a0 20 20 62 72 65 61 6b 3b 09 09 09 09 09 2f 2f 20 69 67 6e 6f 72 65 20 74 72 61 69 6c 69 6e 67 20 ..break;.....//.ignore.trailing.
5f3c0 64 61 74 61 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 data.......}.....unsigned.dict_s
5f3e0 69 7a 65 20 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 ize.=.1.<<.(.header[5].&.0x1F.);
5f400 0a 20 20 20 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 .....dict_size.-=.(.dict_size./.
5f420 31 36 20 29 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 16.).*.(.(.header[5].>>.5.).&.7.
5f440 29 3b 0a 20 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 );.....if(.dict_size.<.min_dicti
5f460 6f 6e 61 72 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 onary_size.||.dict_size.>.max_di
5f480 63 74 69 6f 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 ctionary_size.).......{.std::fpu
5f4a0 74 73 28 20 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 ts(."Invalid.dictionary.size.in.
5f4c0 6d 65 6d 62 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 member.header.\n",.stderr.);....
5f4e0 20 20 20 20 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 .....return.2;.}......LZ_decoder
5f500 20 64 65 63 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 .decoder(.dict_size.);..//.decod
5f520 65 20 4c 5a 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 e.LZMA.stream.....if(.!decoder.d
5f540 65 63 6f 64 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 ecode_member().).......{.std::fp
5f560 75 74 73 28 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 uts(."Data.error\n",.stderr.);.r
5f580 65 74 75 72 6e 20 32 3b 20 7d 0a 0a 20 20 20 20 4c 7a 69 70 5f 74 72 61 69 6c 65 72 20 74 72 61 eturn.2;.}......Lzip_trailer.tra
5f5a0 69 6c 65 72 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 iler;...//.verify.trailer.....fo
5f5c0 72 28 20 69 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 r(.int.i.=.0;.i.<.20;.++i.).trai
5f5e0 6c 65 72 5b 69 5d 20 3d 20 64 65 63 6f 64 65 72 2e 67 65 74 5f 62 79 74 65 28 29 3b 0a 20 20 20 ler[i].=.decoder.get_byte();....
5f600 20 69 6e 74 20 72 65 74 76 61 6c 20 3d 20 30 3b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 63 72 .int.retval.=.0;.....unsigned.cr
5f620 63 20 3d 20 30 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 33 3b 20 69 20 3e 3d 20 c.=.0;.....for(.int.i.=.3;.i.>=.
5f640 30 3b 20 2d 2d 69 20 29 20 63 72 63 20 3d 20 28 20 63 72 63 20 3c 3c 20 38 20 29 20 2b 20 74 72 0;.--i.).crc.=.(.crc.<<.8.).+.tr
5f660 61 69 6c 65 72 5b 69 5d 3b 0a 20 20 20 20 69 66 28 20 63 72 63 20 21 3d 20 64 65 63 6f 64 65 72 ailer[i];.....if(.crc.!=.decoder
5f680 2e 63 72 63 28 29 20 29 0a 20 20 20 20 20 20 7b 20 73 74 64 3a 3a 66 70 75 74 73 28 20 22 43 52 .crc().).......{.std::fputs(."CR
5f6a0 43 20 6d 69 73 6d 61 74 63 68 5c 6e 22 2c 20 73 74 64 65 72 72 20 29 3b 20 72 65 74 76 61 6c 20 C.mismatch\n",.stderr.);.retval.
5f6c0 3d 20 32 3b 20 7d 0a 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 64 =.2;.}......unsigned.long.long.d
5f6e0 61 74 61 5f 73 69 7a 65 20 3d 20 30 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 31 ata_size.=.0;.....for(.int.i.=.1
5f700 31 3b 20 69 20 3e 3d 20 34 3b 20 2d 2d 69 20 29 0a 20 20 20 20 20 20 64 61 74 61 5f 73 69 7a 65 1;.i.>=.4;.--i.).......data_size
5f720 20 3d 20 28 20 64 61 74 61 5f 73 69 7a 65 20 3c 3c 20 38 20 29 20 2b 20 74 72 61 69 6c 65 72 5b .=.(.data_size.<<.8.).+.trailer[
5f740 69 5d 3b 0a 20 20 20 20 69 66 28 20 64 61 74 61 5f 73 69 7a 65 20 21 3d 20 64 65 63 6f 64 65 72 i];.....if(.data_size.!=.decoder
5f760 2e 64 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 .data_position().).......{.std::
5f780 66 70 75 74 73 28 20 22 44 61 74 61 20 73 69 7a 65 20 6d 69 73 6d 61 74 63 68 5c 6e 22 2c 20 73 fputs(."Data.size.mismatch\n",.s
5f7a0 74 64 65 72 72 20 29 3b 20 72 65 74 76 61 6c 20 3d 20 32 3b 20 7d 0a 0a 20 20 20 20 75 6e 73 69 tderr.);.retval.=.2;.}......unsi
5f7c0 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 30 3b 0a gned.long.long.member_size.=.0;.
5f7e0 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 3b 20 2d 2d ....for(.int.i.=.19;.i.>=.12;.--
5f800 69 20 29 0a 20 20 20 20 20 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 3d 20 28 20 6d 65 6d 62 65 72 i.).......member_size.=.(.member
5f820 5f 73 69 7a 65 20 3c 3c 20 38 20 29 20 2b 20 74 72 61 69 6c 65 72 5b 69 5d 3b 0a 20 20 20 20 69 _size.<<.8.).+.trailer[i];.....i
5f840 66 28 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 21 3d 20 64 65 63 6f 64 65 72 2e 6d 65 6d 62 65 72 f(.member_size.!=.decoder.member
5f860 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 75 74 73 _position().).......{.std::fputs
5f880 28 20 22 4d 65 6d 62 65 72 20 73 69 7a 65 20 6d 69 73 6d 61 74 63 68 5c 6e 22 2c 20 73 74 64 65 (."Member.size.mismatch\n",.stde
5f8a0 72 72 20 29 3b 20 72 65 74 76 61 6c 20 3d 20 32 3b 20 7d 0a 20 20 20 20 69 66 28 20 72 65 74 76 rr.);.retval.=.2;.}.....if(.retv
5f8c0 61 6c 20 29 20 72 65 74 75 72 6e 20 72 65 74 76 61 6c 3b 0a 20 20 20 20 7d 0a 0a 20 20 69 66 28 al.).return.retval;.....}....if(
5f8e0 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 0a 20 20 .std::fclose(.stdout.).!=.0.)...
5f900 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 72 6f 72 ..{.std::fprintf(.stderr,."Error
5f920 20 63 6c 6f 73 69 6e 67 20 73 74 64 6f 75 74 3a 20 25 73 5c 6e 22 2c 0a 20 20 20 20 20 20 20 20 .closing.stdout:.%s\n",.........
5f940 20 20 20 20 20 20 20 20 20 20 20 20 73 74 64 3a 3a 73 74 72 65 72 72 6f 72 28 20 65 72 72 6e 6f ............std::strerror(.errno
5f960 20 29 20 29 3b 20 72 65 74 75 72 6e 20 31 3b 20 7d 0a 20 20 72 65 74 75 72 6e 20 30 3b 0a 20 20 .).);.return.1;.}...return.0;...
5f980 7d 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 43 6f 6e }....File:.lzip.info,..Node:.Con
5f9a0 63 65 70 74 20 69 6e 64 65 78 2c 20 20 50 72 65 76 3a 20 52 65 66 65 72 65 6e 63 65 20 73 6f 75 cept.index,..Prev:.Reference.sou
5f9c0 72 63 65 20 63 6f 64 65 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 43 6f 6e 63 65 70 74 20 69 6e 64 65 rce.code,..Up:.Top..Concept.inde
5f9e0 78 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 00 08 5b 69 6e 64 65 78 00 08 5d 0a 2a 20 4d x.*************....[index..].*.M
5fa00 65 6e 75 3a 0a 0a 2a 20 61 6c 67 6f 72 69 74 68 6d 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 enu:..*.algorithm:..............
5fa20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 6c 67 6f 72 69 74 68 6d 2e 20 20 20 20 20 20 20 ...............Algorithm........
5fa40 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 20 20 20 20 ..........(line.6).*.bugs:......
5fa60 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 50 72 6f 62 ............................Prob
5fa80 6c 65 6d 73 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 36 29 0a lems...................(line.6).
5faa0 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:.....................
5fac0 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...............
5fae0 20 20 20 20 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 ....(line.6).*.file.format:.....
5fb00 20 20 20 20 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 ......................File.forma
5fb20 74 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 36 29 0a 2a 20 66 6f 72 6d t................(line.6).*.form
5fb40 61 74 20 6f 66 20 74 68 65 20 4c 5a 4d 41 20 73 74 72 65 61 6d 3a 20 20 20 20 20 20 20 20 20 20 at.of.the.LZMA.stream:..........
5fb60 20 20 20 53 74 72 65 61 6d 20 66 6f 72 6d 61 74 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c ...Stream.format..............(l
5fb80 69 6e 65 20 36 29 0a 2a 20 67 65 74 74 69 6e 67 20 68 65 6c 70 3a 20 20 20 20 20 20 20 20 20 20 ine.6).*.getting.help:..........
5fba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 72 6f 62 6c 65 6d 73 2e 20 20 20 20 20 20 20 ................Problems........
5fbc0 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 36 29 0a 2a 20 69 6e 74 72 6f 64 75 63 74 69 ...........(line.6).*.introducti
5fbe0 6f 6e 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 20 20 49 6e 74 on:..........................Int
5fc00 72 6f 64 75 63 74 69 6f 6e 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 36 29 roduction...............(line.6)
5fc20 0a 2a 20 69 6e 76 6f 6b 69 6e 67 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .*.invoking:....................
5fc40 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 20 20 ..........Invoking.lzip.........
5fc60 20 20 20 20 20 28 6c 69 6e 65 20 36 29 0a 2a 20 6f 70 74 69 6f 6e 73 3a 20 20 20 20 20 20 20 20 .....(line.6).*.options:........
5fc80 20 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 .......................Invoking.
5fca0 6c 7a 69 70 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 6f 75 74 lzip..............(line.6).*.out
5fcc0 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 20 20 20 20 put:............................
5fce0 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 20 20 20 20 28 ....Output.....................(
5fd00 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:....
5fd20 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
5fd40 63 65 2e 20 20 20 20 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 ce..........(line.6).*.reference
5fd60 20 73 6f 75 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 .source.code:.................Re
5fd80 66 65 72 65 6e 63 65 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 20 20 20 20 20 28 6c 69 6e 65 20 36 ference.source.code......(line.6
5fda0 29 0a 2a 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).*.trailing.data:..............
5fdc0 20 20 20 20 20 20 20 20 20 20 20 54 72 61 69 6c 69 6e 67 20 64 61 74 61 2e 20 20 20 20 20 20 20 ...........Trailing.data........
5fde0 20 20 20 20 20 20 28 6c 69 6e 65 20 36 29 0a 2a 20 75 73 61 67 65 3a 20 20 20 20 20 20 20 20 20 ......(line.6).*.usage:.........
5fe00 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 6e 76 6f 6b 69 6e 67 ........................Invoking
5fe20 20 6c 7a 69 70 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 76 65 .lzip..............(line.6).*.ve
5fe40 72 73 69 6f 6e 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 20 20 rsion:..........................
5fe60 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 20 20 20 20 20 20 20 .....Invoking.lzip..............
5fe80 28 6c 69 6e 65 20 36 29 0a 0a 0a 1f 0a 54 61 67 20 54 61 62 6c 65 3a 0a 4e 6f 64 65 3a 20 54 6f (line.6).....Tag.Table:.Node:.To
5fea0 70 7f 32 30 33 0a 4e 6f 64 65 3a 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 7f 31 31 39 38 0a 4e 6f p.203.Node:.Introduction.1198.No
5fec0 64 65 3a 20 4f 75 74 70 75 74 7f 36 39 37 32 0a 4e 6f 64 65 3a 20 49 6e 76 6f 6b 69 6e 67 20 6c de:.Output.6972.Node:.Invoking.l
5fee0 7a 69 70 7f 38 35 36 37 0a 52 65 66 3a 20 2d 2d 74 72 61 69 6c 69 6e 67 2d 65 72 72 6f 72 7f 39 zip.8567.Ref:.--trailing-error.9
5ff00 33 35 36 0a 4e 6f 64 65 3a 20 51 75 61 6c 69 74 79 20 61 73 73 75 72 61 6e 63 65 7f 31 38 36 38 356.Node:.Quality.assurance.1868
5ff20 32 0a 4e 6f 64 65 3a 20 41 6c 67 6f 72 69 74 68 6d 7f 32 37 37 30 35 0a 4e 6f 64 65 3a 20 46 69 2.Node:.Algorithm.27705.Node:.Fi
5ff40 6c 65 20 66 6f 72 6d 61 74 7f 33 31 31 30 39 0a 52 65 66 3a 20 63 6f 64 65 64 2d 64 69 63 74 2d le.format.31109.Ref:.coded-dict-
5ff60 73 69 7a 65 7f 33 32 35 33 38 0a 4e 6f 64 65 3a 20 53 74 72 65 61 6d 20 66 6f 72 6d 61 74 7f 33 size.32538.Node:.Stream.format.3
5ff80 33 37 37 33 0a 52 65 66 3a 20 77 68 61 74 2d 69 73 2d 63 6f 64 65 64 7f 33 36 31 36 39 0a 4e 6f 3773.Ref:.what-is-coded.36169.No
5ffa0 64 65 3a 20 54 72 61 69 6c 69 6e 67 20 64 61 74 61 7f 34 35 30 39 37 0a 4e 6f 64 65 3a 20 45 78 de:.Trailing.data.45097.Node:.Ex
5ffc0 61 6d 70 6c 65 73 7f 34 37 33 35 38 0a 52 65 66 3a 20 63 6f 6e 63 61 74 2d 65 78 61 6d 70 6c 65 amples.47358.Ref:.concat-example
5ffe0 7f 34 38 38 30 30 0a 4e 6f 64 65 3a 20 50 72 6f 62 6c 65 6d 73 7f 35 30 30 32 31 0a 4e 6f 64 65 .48800.Node:.Problems.50021.Node
60000 3a 20 52 65 66 65 72 65 6e 63 65 20 73 6f 75 72 63 65 20 63 6f 64 65 7f 35 30 35 35 33 0a 4e 6f :.Reference.source.code.50553.No
60020 64 65 3a 20 43 6f 6e 63 65 70 74 20 69 6e 64 65 78 7f 36 35 34 31 31 0a 1f 0a 45 6e 64 20 54 61 de:.Concept.index.65411...End.Ta
60040 67 20 54 61 62 6c 65 0a 0a 1f 0a 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3a 0a 63 6f 64 69 g.Table....Local.Variables:.codi
60060 6e 67 3a 20 69 73 6f 2d 38 38 35 39 2d 31 35 0a 45 6e 64 3a 0a 00 00 00 00 00 00 00 00 00 00 00 ng:.iso-8859-15.End:............
60080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
600a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
600c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
600e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
601a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
601c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
601e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60200 6c 7a 69 70 2d 31 2e 32 33 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.23/arg_parser.h..........
60220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
60280 30 30 30 37 36 35 32 00 31 34 31 36 35 31 36 33 31 36 36 00 30 31 34 37 33 34 00 20 30 00 00 00 0007652.14165163166.014734..0...
602a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
602c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
602e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60300 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
60320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
60340 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
60360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
603a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
603c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
603e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60400 2f 2a 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 6e /*.Arg_parser.-.POSIX/GNU.comman
60420 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 72 d.line.argument.parser..(C++.ver
60440 73 69 6f 6e 29 0a 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 36 2d 32 30 32 32 sion)....Copyright.(C).2006-2022
60460 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 54 68 69 73 20 6c 69 62 .Antonio.Diaz.Diaz......This.lib
60480 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 72 69 62 rary.is.free.software..Redistrib
604a0 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 20 20 62 ution.and.use.in.source.and....b
604c0 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 20 6d 6f 64 inary.forms,.with.or.without.mod
604e0 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 76 69 64 65 ification,.are.permitted.provide
60500 64 0a 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 64 69 74 69 6f d....that.the.following.conditio
60520 6e 73 20 61 72 65 20 6d 65 74 3a 0a 0a 20 20 20 31 2e 20 52 65 64 69 73 74 72 69 62 75 74 69 6f ns.are.met:.....1..Redistributio
60540 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 61 69 6e 20 74 68 ns.of.source.code.must.retain.th
60560 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 67 68 74 0a 20 20 20 6e 6f 74 69 63 65 2c 20 74 68 69 e.above.copyright....notice,.thi
60580 73 20 6c 69 73 74 20 6f 66 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 20 61 6e 64 20 74 68 65 20 66 6f s.list.of.conditions,.and.the.fo
605a0 6c 6c 6f 77 69 6e 67 20 64 69 73 63 6c 61 69 6d 65 72 2e 0a 0a 20 20 20 32 2e 20 52 65 64 69 73 llowing.disclaimer......2..Redis
605c0 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 20 6d 75 73 74 20 72 tributions.in.binary.form.must.r
605e0 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 67 68 74 0a 20 20 20 eproduce.the.above.copyright....
60600 6e 6f 74 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 2c notice,.this.list.of.conditions,
60620 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 69 6d 65 72 20 69 6e .and.the.following.disclaimer.in
60640 20 74 68 65 0a 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 .the....documentation.and/or.oth
60660 65 72 20 6d 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 er.materials.provided.with.the.d
60680 69 73 74 72 69 62 75 74 69 6f 6e 2e 0a 0a 20 20 20 54 68 69 73 20 6c 69 62 72 61 72 79 20 69 73 istribution......This.library.is
606a0 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 69 74 .distributed.in.the.hope.that.it
606c0 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 .will.be.useful,....but.WITHOUT.
606e0 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 68 65 20 69 ANY.WARRANTY;.without.even.the.i
60700 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 20 20 20 4d 45 52 43 48 41 4e 54 41 42 mplied.warranty.of....MERCHANTAB
60720 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 54 49 43 55 4c 41 ILITY.or.FITNESS.FOR.A.PARTICULA
60740 52 20 50 55 52 50 4f 53 45 2e 0a 2a 2f 0a 0a 2f 2a 20 41 72 67 5f 70 61 72 73 65 72 20 72 65 61 R.PURPOSE..*/../*.Arg_parser.rea
60760 64 73 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 69 6e 20 27 61 72 67 76 27 20 61 6e 64 20 63 ds.the.arguments.in.'argv'.and.c
60780 72 65 61 74 65 73 20 61 20 6e 75 6d 62 65 72 20 6f 66 0a 20 20 20 6f 70 74 69 6f 6e 20 63 6f 64 reates.a.number.of....option.cod
607a0 65 73 2c 20 6f 70 74 69 6f 6e 20 61 72 67 75 6d 65 6e 74 73 2c 20 61 6e 64 20 6e 6f 6e 2d 6f 70 es,.option.arguments,.and.non-op
607c0 74 69 6f 6e 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 20 20 20 49 6e 20 63 61 73 65 20 6f 66 20 65 tion.arguments......In.case.of.e
607e0 72 72 6f 72 2c 20 27 65 72 72 6f 72 27 20 72 65 74 75 72 6e 73 20 61 20 6e 6f 6e 2d 65 6d 70 74 rror,.'error'.returns.a.non-empt
60800 79 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 2e 0a 0a 20 20 20 27 6f 70 74 69 6f 6e 73 27 20 69 y.error.message......'options'.i
60820 73 20 61 6e 20 61 72 72 61 79 20 6f 66 20 27 73 74 72 75 63 74 20 4f 70 74 69 6f 6e 27 20 74 65 s.an.array.of.'struct.Option'.te
60840 72 6d 69 6e 61 74 65 64 20 62 79 20 61 6e 20 65 6c 65 6d 65 6e 74 0a 20 20 20 63 6f 6e 74 61 69 rminated.by.an.element....contai
60860 6e 69 6e 67 20 61 20 63 6f 64 65 20 77 68 69 63 68 20 69 73 20 7a 65 72 6f 2e 20 41 20 6e 75 6c ning.a.code.which.is.zero..A.nul
60880 6c 20 6c 6f 6e 67 5f 6e 61 6d 65 20 6d 65 61 6e 73 20 61 20 73 68 6f 72 74 2d 6f 6e 6c 79 0a 20 l.long_name.means.a.short-only..
608a0 20 20 6f 70 74 69 6f 6e 2e 20 41 20 63 6f 64 65 20 76 61 6c 75 65 20 6f 75 74 73 69 64 65 20 74 ..option..A.code.value.outside.t
608c0 68 65 20 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 72 61 6e 67 65 20 6d 65 61 6e 73 20 61 20 6c he.unsigned.char.range.means.a.l
608e0 6f 6e 67 2d 6f 6e 6c 79 0a 20 20 20 6f 70 74 69 6f 6e 2e 0a 0a 20 20 20 41 72 67 5f 70 61 72 73 ong-only....option......Arg_pars
60900 65 72 20 6e 6f 72 6d 61 6c 6c 79 20 6d 61 6b 65 73 20 69 74 20 61 70 70 65 61 72 20 61 73 20 69 er.normally.makes.it.appear.as.i
60920 66 20 61 6c 6c 20 74 68 65 20 6f 70 74 69 6f 6e 20 61 72 67 75 6d 65 6e 74 73 0a 20 20 20 77 65 f.all.the.option.arguments....we
60940 72 65 20 73 70 65 63 69 66 69 65 64 20 62 65 66 6f 72 65 20 61 6c 6c 20 74 68 65 20 6e 6f 6e 2d re.specified.before.all.the.non-
60960 6f 70 74 69 6f 6e 20 61 72 67 75 6d 65 6e 74 73 20 66 6f 72 20 74 68 65 20 70 75 72 70 6f 73 65 option.arguments.for.the.purpose
60980 73 0a 20 20 20 6f 66 20 70 61 72 73 69 6e 67 2c 20 65 76 65 6e 20 69 66 20 74 68 65 20 75 73 65 s....of.parsing,.even.if.the.use
609a0 72 20 6f 66 20 79 6f 75 72 20 70 72 6f 67 72 61 6d 20 69 6e 74 65 72 6d 69 78 65 64 20 6f 70 74 r.of.your.program.intermixed.opt
609c0 69 6f 6e 20 61 6e 64 0a 20 20 20 6e 6f 6e 2d 6f 70 74 69 6f 6e 20 61 72 67 75 6d 65 6e 74 73 2e ion.and....non-option.arguments.
609e0 20 49 66 20 79 6f 75 20 77 61 6e 74 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 69 6e 20 74 68 .If.you.want.the.arguments.in.th
60a00 65 20 65 78 61 63 74 20 6f 72 64 65 72 0a 20 20 20 74 68 65 20 75 73 65 72 20 74 79 70 65 64 20 e.exact.order....the.user.typed.
60a20 74 68 65 6d 2c 20 63 61 6c 6c 20 27 41 72 67 5f 70 61 72 73 65 72 27 20 77 69 74 68 20 27 69 6e them,.call.'Arg_parser'.with.'in
60a40 5f 6f 72 64 65 72 27 20 3d 20 74 72 75 65 2e 0a 0a 20 20 20 54 68 65 20 61 72 67 75 6d 65 6e 74 _order'.=.true......The.argument
60a60 20 27 2d 2d 27 20 74 65 72 6d 69 6e 61 74 65 73 20 61 6c 6c 20 6f 70 74 69 6f 6e 73 3b 20 61 6e .'--'.terminates.all.options;.an
60a80 79 20 66 6f 6c 6c 6f 77 69 6e 67 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 0a 20 20 20 74 72 65 y.following.arguments.are....tre
60aa0 61 74 65 64 20 61 73 20 6e 6f 6e 2d 6f 70 74 69 6f 6e 20 61 72 67 75 6d 65 6e 74 73 2c 20 65 76 ated.as.non-option.arguments,.ev
60ac0 65 6e 20 69 66 20 74 68 65 79 20 62 65 67 69 6e 20 77 69 74 68 20 61 20 68 79 70 68 65 6e 2e 0a en.if.they.begin.with.a.hyphen..
60ae0 0a 20 20 20 54 68 65 20 73 79 6e 74 61 78 20 66 6f 72 20 6f 70 74 69 6f 6e 61 6c 20 6f 70 74 69 ....The.syntax.for.optional.opti
60b00 6f 6e 20 61 72 67 75 6d 65 6e 74 73 20 69 73 20 27 2d 3c 73 68 6f 72 74 5f 6f 70 74 69 6f 6e 3e on.arguments.is.'-<short_option>
60b20 3c 61 72 67 75 6d 65 6e 74 3e 27 0a 20 20 20 28 77 69 74 68 6f 75 74 20 77 68 69 74 65 73 70 61 <argument>'....(without.whitespa
60b40 63 65 29 2c 20 6f 72 20 27 2d 2d 3c 6c 6f 6e 67 5f 6f 70 74 69 6f 6e 3e 3d 3c 61 72 67 75 6d 65 ce),.or.'--<long_option>=<argume
60b60 6e 74 3e 27 2e 0a 2a 2f 0a 0a 63 6c 61 73 73 20 41 72 67 5f 70 61 72 73 65 72 0a 20 20 7b 0a 70 nt>'..*/..class.Arg_parser...{.p
60b80 75 62 6c 69 63 3a 0a 20 20 65 6e 75 6d 20 48 61 73 5f 61 72 67 20 7b 20 6e 6f 2c 20 79 65 73 2c ublic:...enum.Has_arg.{.no,.yes,
60ba0 20 6d 61 79 62 65 20 7d 3b 0a 0a 20 20 73 74 72 75 63 74 20 4f 70 74 69 6f 6e 0a 20 20 20 20 7b .maybe.};....struct.Option.....{
60bc0 0a 20 20 20 20 69 6e 74 20 63 6f 64 65 3b 09 09 09 2f 2f 20 53 68 6f 72 74 20 6f 70 74 69 6f 6e .....int.code;...//.Short.option
60be0 20 6c 65 74 74 65 72 20 6f 72 20 63 6f 64 65 20 28 20 63 6f 64 65 20 21 3d 20 30 20 29 0a 20 20 .letter.or.code.(.code.!=.0.)...
60c00 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 6c 6f 6e 67 5f 6e 61 6d 65 3b 09 2f 2f 20 4c 6f 6e ..const.char.*.long_name;.//.Lon
60c20 67 20 6f 70 74 69 6f 6e 20 6e 61 6d 65 20 28 6d 61 79 62 65 20 6e 75 6c 6c 29 0a 20 20 20 20 48 g.option.name.(maybe.null).....H
60c40 61 73 5f 61 72 67 20 68 61 73 5f 61 72 67 3b 0a 20 20 20 20 7d 3b 0a 0a 70 72 69 76 61 74 65 3a as_arg.has_arg;.....};..private:
60c60 0a 20 20 73 74 72 75 63 74 20 52 65 63 6f 72 64 0a 20 20 20 20 7b 0a 20 20 20 20 69 6e 74 20 63 ...struct.Record.....{.....int.c
60c80 6f 64 65 3b 0a 20 20 20 20 73 74 64 3a 3a 73 74 72 69 6e 67 20 70 61 72 73 65 64 5f 6e 61 6d 65 ode;.....std::string.parsed_name
60ca0 3b 0a 20 20 20 20 73 74 64 3a 3a 73 74 72 69 6e 67 20 61 72 67 75 6d 65 6e 74 3b 0a 20 20 20 20 ;.....std::string.argument;.....
60cc0 65 78 70 6c 69 63 69 74 20 52 65 63 6f 72 64 28 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 explicit.Record(.const.unsigned.
60ce0 63 68 61 72 20 63 20 29 0a 20 20 20 20 20 20 3a 20 63 6f 64 65 28 20 63 20 29 2c 20 70 61 72 73 char.c.).......:.code(.c.),.pars
60d00 65 64 5f 6e 61 6d 65 28 20 22 2d 22 20 29 20 7b 20 70 61 72 73 65 64 5f 6e 61 6d 65 20 2b 3d 20 ed_name(."-".).{.parsed_name.+=.
60d20 63 3b 20 7d 0a 20 20 20 20 52 65 63 6f 72 64 28 20 63 6f 6e 73 74 20 69 6e 74 20 63 2c 20 63 6f c;.}.....Record(.const.int.c,.co
60d40 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 6c 6f 6e 67 5f 6e 61 6d 65 20 29 0a 20 20 20 nst.char.*.const.long_name.)....
60d60 20 20 20 3a 20 63 6f 64 65 28 20 63 20 29 2c 20 70 61 72 73 65 64 5f 6e 61 6d 65 28 20 22 2d 2d ...:.code(.c.),.parsed_name(."--
60d80 22 20 29 20 7b 20 70 61 72 73 65 64 5f 6e 61 6d 65 20 2b 3d 20 6c 6f 6e 67 5f 6e 61 6d 65 3b 20 ".).{.parsed_name.+=.long_name;.
60da0 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
60dc0 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
60de0 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 63 6f 6e 73 74 20 ument(.arg.).{}.....};....const.
60e00 73 74 64 3a 3a 73 74 72 69 6e 67 20 65 6d 70 74 79 5f 61 72 67 3b 0a 20 20 73 74 64 3a 3a 73 74 std::string.empty_arg;...std::st
60e20 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 6f ring.error_;...std::vector<.Reco
60e40 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 70 rd.>.data;....bool.parse_long_op
60e60 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 6f tion(.const.char.*.const.opt,.co
60e80 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 20 nst.char.*.const.arg,...........
60ea0 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 74 ................const.Option.opt
60ec0 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 70 ions[],.int.&.argind.);...bool.p
60ee0 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 20 arse_short_option(.const.char.*.
60f00 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 72 const.opt,.const.char.*.const.ar
60f20 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 6f g,............................co
60f40 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 69 nst.Option.options[],.int.&.argi
60f60 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 6e nd.);..public:...Arg_parser(.con
60f80 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 20 st.int.argc,.const.char.*.const.
60fa0 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 69 argv[],...............const.Opti
60fc0 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 65 on.options[],.const.bool.in_orde
60fe0 72 20 3d 20 66 61 6c 73 65 20 29 3b 0a 0a 20 20 2f 2f 20 52 65 73 74 72 69 63 74 65 64 20 63 6f r.=.false.);....//.Restricted.co
61000 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 74 6f 6b 65 6e nstructor..Parses.a.single.token
61020 20 61 6e 64 20 61 72 67 75 6d 65 6e 74 20 28 69 66 20 61 6e 79 29 2e 0a 20 20 41 72 67 5f 70 61 .and.argument.(if.any)....Arg_pa
61040 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 2c 20 63 6f rser(.const.char.*.const.opt,.co
61060 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 20 nst.char.*.const.arg,...........
61080 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 3b 0a 0a 20 ....const.Option.options[].);...
610a0 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 20 63 6f 6e .const.std::string.&.error().con
610c0 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 2f 2f 20 54 68 65 20 st.{.return.error_;.}....//.The.
610e0 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 70 61 72 73 65 64 2e 20 4d 61 79 20 number.of.arguments.parsed..May.
61100 62 65 20 64 69 66 66 65 72 65 6e 74 20 66 72 6f 6d 20 61 72 67 63 2e 0a 20 20 69 6e 74 20 61 72 be.different.from.argc....int.ar
61120 67 75 6d 65 6e 74 73 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 64 61 74 61 2e 73 69 guments().const.{.return.data.si
61140 7a 65 28 29 3b 20 7d 0a 0a 20 20 2f 2a 20 49 66 20 63 6f 64 65 28 20 69 20 29 20 69 73 20 30 2c ze();.}..../*.If.code(.i.).is.0,
61160 20 61 72 67 75 6d 65 6e 74 28 20 69 20 29 20 69 73 20 61 20 6e 6f 6e 2d 6f 70 74 69 6f 6e 2e 0a .argument(.i.).is.a.non-option..
61180 20 20 20 20 20 45 6c 73 65 20 61 72 67 75 6d 65 6e 74 28 20 69 20 29 20 69 73 20 74 68 65 20 6f .....Else.argument(.i.).is.the.o
611a0 70 74 69 6f 6e 27 73 20 61 72 67 75 6d 65 6e 74 20 28 6f 72 20 65 6d 70 74 79 29 2e 20 2a 2f 0a ption's.argument.(or.empty)..*/.
611c0 20 20 69 6e 74 20 63 6f 64 65 28 20 63 6f 6e 73 74 20 69 6e 74 20 69 20 29 20 63 6f 6e 73 74 0a ..int.code(.const.int.i.).const.
611e0 20 20 20 20 7b 0a 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 ....{.....if(.i.>=.0.&&.i.<.argu
61200 6d 65 6e 74 73 28 29 20 29 20 72 65 74 75 72 6e 20 64 61 74 61 5b 69 5d 2e 63 6f 64 65 3b 0a 20 ments().).return.data[i].code;..
61220 20 20 20 65 6c 73 65 20 72 65 74 75 72 6e 20 30 3b 0a 20 20 20 20 7d 0a 0a 20 20 2f 2f 20 46 75 ...else.return.0;.....}....//.Fu
61240 6c 6c 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 6f 70 74 69 6f 6e 20 70 61 72 73 65 64 20 28 73 68 ll.name.of.the.option.parsed.(sh
61260 6f 72 74 20 6f 72 20 6c 6f 6e 67 29 2e 0a 20 20 63 6f 6e 73 74 20 73 74 64 3a 3a 73 74 72 69 6e ort.or.long)....const.std::strin
61280 67 20 26 20 70 61 72 73 65 64 5f 6e 61 6d 65 28 20 63 6f 6e 73 74 20 69 6e 74 20 69 20 29 20 63 g.&.parsed_name(.const.int.i.).c
612a0 6f 6e 73 74 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 69 20 3e 3d 20 30 20 26 26 20 69 20 3c onst.....{.....if(.i.>=.0.&&.i.<
612c0 20 61 72 67 75 6d 65 6e 74 73 28 29 20 29 20 72 65 74 75 72 6e 20 64 61 74 61 5b 69 5d 2e 70 61 .arguments().).return.data[i].pa
612e0 72 73 65 64 5f 6e 61 6d 65 3b 0a 20 20 20 20 65 6c 73 65 20 72 65 74 75 72 6e 20 65 6d 70 74 79 rsed_name;.....else.return.empty
61300 5f 61 72 67 3b 0a 20 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 _arg;.....}....const.std::string
61320 20 26 20 61 72 67 75 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 .&.argument(.const.int.i.).const
61340 0a 20 20 20 20 7b 0a 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 .....{.....if(.i.>=.0.&&.i.<.arg
61360 75 6d 65 6e 74 73 28 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 uments().).return.data[i].argume
61380 6e 74 3b 0a 20 20 20 20 65 6c 73 65 20 72 65 74 75 72 6e 20 65 6d 70 74 79 5f 61 72 67 3b 0a 20 nt;.....else.return.empty_arg;..
613a0 20 20 20 7d 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 ...}...};.......................
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 6c 7a 69 70 2d 31 2e 32 33 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.23/main.cc...............
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 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
61480 30 31 31 33 35 33 37 00 31 34 31 37 32 36 34 35 36 32 35 00 30 31 33 36 37 34 00 20 30 00 00 00 0113537.14172645625.013674..0...
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 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
61520 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
61540 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
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 2f 2a 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 /*.Lzip.-.LZMA.lossless.data.com
61620 70 72 65 73 73 6f 72 0a 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d 32 30 pressor....Copyright.(C).2008-20
61640 32 32 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 54 68 69 73 20 70 22.Antonio.Diaz.Diaz......This.p
61660 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 63 61 6e rogram.is.free.software:.you.can
61680 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 79 0a 20 .redistribute.it.and/or.modify..
616a0 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 47 4e 55 20 ..it.under.the.terms.of.the.GNU.
616c0 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 62 6c 69 73 General.Public.License.as.publis
616e0 68 65 64 20 62 79 0a 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e hed.by....the.Free.Software.Foun
61700 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 20 74 68 65 20 dation,.either.version.2.of.the.
61720 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 License,.or....(at.your.option).
61740 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 54 68 69 73 20 70 72 6f 67 any.later.version......This.prog
61760 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 70 65 20 74 ram.is.distributed.in.the.hope.t
61780 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 62 75 74 20 57 49 hat.it.will.be.useful,....but.WI
617a0 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 65 76 65 6e THOUT.ANY.WARRANTY;.without.even
617c0 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 4d 45 52 43 .the.implied.warranty.of....MERC
617e0 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
61800 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 0a 20 20 20 47 4e 55 TICULAR.PURPOSE...See.the....GNU
61820 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 72 65 .General.Public.License.for.more
61840 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 .details......You.should.have.re
61860 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 6e 65 72 61 6c ceived.a.copy.of.the.GNU.General
61880 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 .Public.License....along.with.th
618a0 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 3c 68 74 74 70 3a 2f is.program...If.not,.see.<http:/
618c0 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 2a 2f 0a 2f 2a 0a 20 /www.gnu.org/licenses/>..*/./*..
618e0 20 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 ..Exit.status:.0.for.a.normal.ex
61900 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 6d 73 it,.1.for.environmental.problems
61920 0a 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
61940 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
61960 61 74 65 20 61 0a 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 75 ate.a....corrupt.or.invalid.inpu
61980 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 63 6f 6e 73 69 73 t.file,.3.for.an.internal.consis
619a0 74 65 6e 63 79 20 65 72 72 6f 72 0a 20 20 20 28 65 2e 67 2e 2c 20 62 75 67 29 20 77 68 69 63 68 tency.error....(e.g.,.bug).which
619c0 20 63 61 75 73 65 64 20 6c 7a 69 70 20 74 6f 20 70 61 6e 69 63 2e 0a 2a 2f 0a 0a 23 64 65 66 69 .caused.lzip.to.panic..*/..#defi
619e0 6e 65 20 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 36 34 0a 0a 23 69 6e 63 6c 75 64 ne._FILE_OFFSET_BITS.64..#includ
61a00 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 63 74 79 70 65 3e 0a e.<algorithm>.#include.<cctype>.
61a20 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 6c 69 6d #include.<cerrno>.#include.<clim
61a40 69 74 73 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 63 73 69 67 6e 61 6c 3e 0a 23 69 6e 63 6c 75 64 65 its>.#include.<csignal>.#include
61a60 20 3c 63 73 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 .<cstdio>.#include.<cstdlib>.#in
61a80 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 6e 65 77 3e 0a 23 clude.<cstring>.#include.<new>.#
61aa0 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 20 3c 76 65 63 74 6f include.<string>.#include.<vecto
61ac0 72 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 r>.#include.<fcntl.h>.#include.<
61ae0 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 23 69 stdint.h>.#include.<unistd.h>.#i
61b00 6e 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 nclude.<utime.h>.#include.<sys/s
61b20 74 61 74 2e 68 3e 0a 23 69 66 20 64 65 66 69 6e 65 64 20 5f 5f 4d 53 56 43 52 54 5f 5f 20 7c 7c tat.h>.#if.defined.__MSVCRT__.||
61b40 20 64 65 66 69 6e 65 64 20 5f 5f 4f 53 32 5f 5f 20 7c 7c 20 64 65 66 69 6e 65 64 20 5f 5f 44 4a .defined.__OS2__.||.defined.__DJ
61b60 47 50 50 5f 5f 0a 23 69 6e 63 6c 75 64 65 20 3c 69 6f 2e 68 3e 0a 23 69 66 20 64 65 66 69 6e 65 GPP__.#include.<io.h>.#if.define
61b80 64 20 5f 5f 4d 53 56 43 52 54 5f 5f 0a 23 64 65 66 69 6e 65 20 66 63 68 6d 6f 64 28 78 2c 79 29 d.__MSVCRT__.#define.fchmod(x,y)
61ba0 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 69 .0.#define.fchown(x,y,z).0.#defi
61bc0 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 65 ne.strtoull.std::strtoul.#define
61be0 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 4b .SIGHUP.SIGTERM.#define.S_ISSOCK
61c00 28 78 29 20 30 0a 23 69 66 6e 64 65 66 20 53 5f 49 52 47 52 50 0a 23 64 65 66 69 6e 65 20 53 5f (x).0.#ifndef.S_IRGRP.#define.S_
61c20 49 52 47 52 50 20 30 0a 23 64 65 66 69 6e 65 20 53 5f 49 57 47 52 50 20 30 0a 23 64 65 66 69 6e IRGRP.0.#define.S_IWGRP.0.#defin
61c40 65 20 53 5f 49 52 4f 54 48 20 30 0a 23 64 65 66 69 6e 65 20 53 5f 49 57 4f 54 48 20 30 0a 23 65 e.S_IROTH.0.#define.S_IWOTH.0.#e
61c60 6e 64 69 66 0a 23 65 6e 64 69 66 0a 23 69 66 20 64 65 66 69 6e 65 64 20 5f 5f 44 4a 47 50 50 5f ndif.#endif.#if.defined.__DJGPP_
61c80 5f 0a 23 64 65 66 69 6e 65 20 53 5f 49 53 53 4f 43 4b 28 78 29 20 30 0a 23 64 65 66 69 6e 65 20 _.#define.S_ISSOCK(x).0.#define.
61ca0 53 5f 49 53 56 54 58 20 30 0a 23 65 6e 64 69 66 0a 23 65 6e 64 69 66 0a 0a 23 69 6e 63 6c 75 64 S_ISVTX.0.#endif.#endif..#includ
61cc0 65 20 22 61 72 67 5f 70 61 72 73 65 72 2e 68 22 0a 23 69 6e 63 6c 75 64 65 20 22 6c 7a 69 70 2e e."arg_parser.h".#include."lzip.
61ce0 68 22 0a 23 69 6e 63 6c 75 64 65 20 22 64 65 63 6f 64 65 72 2e 68 22 0a 23 69 6e 63 6c 75 64 65 h".#include."decoder.h".#include
61d00 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 65 20 22 65 6e 63 6f ."encoder_base.h".#include."enco
61d20 64 65 72 2e 68 22 0a 23 69 6e 63 6c 75 64 65 20 22 66 61 73 74 5f 65 6e 63 6f 64 65 72 2e 68 22 der.h".#include."fast_encoder.h"
61d40 0a 0a 23 69 66 6e 64 65 66 20 4f 5f 42 49 4e 41 52 59 0a 23 64 65 66 69 6e 65 20 4f 5f 42 49 4e ..#ifndef.O_BINARY.#define.O_BIN
61d60 41 52 59 20 30 0a 23 65 6e 64 69 66 0a 0a 23 69 66 20 43 48 41 52 5f 42 49 54 20 21 3d 20 38 0a ARY.0.#endif..#if.CHAR_BIT.!=.8.
61d80 23 65 72 72 6f 72 20 22 45 6e 76 69 72 6f 6e 6d 65 6e 74 73 20 77 68 65 72 65 20 43 48 41 52 5f #error."Environments.where.CHAR_
61da0 42 49 54 20 21 3d 20 38 20 61 72 65 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 2e 22 0a 23 65 6e BIT.!=.8.are.not.supported.".#en
61dc0 64 69 66 0a 0a 23 69 66 20 28 20 64 65 66 69 6e 65 64 20 20 53 49 5a 45 5f 4d 41 58 20 26 26 20 dif..#if.(.defined..SIZE_MAX.&&.
61de0 20 53 49 5a 45 5f 4d 41 58 20 3c 20 55 49 4e 54 5f 4d 41 58 20 29 20 7c 7c 20 5c 0a 20 20 20 20 .SIZE_MAX.<.UINT_MAX.).||.\.....
61e00 28 20 64 65 66 69 6e 65 64 20 53 53 49 5a 45 5f 4d 41 58 20 26 26 20 53 53 49 5a 45 5f 4d 41 58 (.defined.SSIZE_MAX.&&.SSIZE_MAX
61e20 20 3c 20 20 49 4e 54 5f 4d 41 58 20 29 0a 23 65 72 72 6f 72 20 22 45 6e 76 69 72 6f 6e 6d 65 6e .<..INT_MAX.).#error."Environmen
61e40 74 73 20 77 68 65 72 65 20 27 73 69 7a 65 5f 74 27 20 69 73 20 6e 61 72 72 6f 77 65 72 20 74 68 ts.where.'size_t'.is.narrower.th
61e60 61 6e 20 27 69 6e 74 27 20 61 72 65 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 2e 22 0a 23 65 6e an.'int'.are.not.supported.".#en
61e80 64 69 66 0a 0a 69 6e 74 20 76 65 72 62 6f 73 69 74 79 20 3d 20 30 3b 0a 0a 6e 61 6d 65 73 70 61 dif..int.verbosity.=.0;..namespa
61ea0 63 65 20 7b 0a 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 ce.{..const.char.*.const.program
61ec0 5f 6e 61 6d 65 20 3d 20 22 6c 7a 69 70 22 3b 0a 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e _name.=."lzip";.const.char.*.con
61ee0 73 74 20 70 72 6f 67 72 61 6d 5f 79 65 61 72 20 3d 20 22 32 30 32 32 22 3b 0a 63 6f 6e 73 74 20 st.program_year.=."2022";.const.
61f00 63 68 61 72 20 2a 20 69 6e 76 6f 63 61 74 69 6f 6e 5f 6e 61 6d 65 20 3d 20 70 72 6f 67 72 61 6d char.*.invocation_name.=.program
61f20 5f 6e 61 6d 65 3b 09 09 2f 2f 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 0a 0a 63 6f 6e 73 74 20 _name;..//.default.value..const.
61f40 73 74 72 75 63 74 20 7b 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 66 72 6f 6d 3b 20 63 6f 6e 73 struct.{.const.char.*.from;.cons
61f60 74 20 63 68 61 72 20 2a 20 74 6f 3b 20 7d 20 6b 6e 6f 77 6e 5f 65 78 74 65 6e 73 69 6f 6e 73 5b t.char.*.to;.}.known_extensions[
61f80 5d 20 3d 20 7b 0a 20 20 7b 20 22 2e 6c 7a 22 2c 20 20 22 22 20 20 20 20 20 7d 2c 0a 20 20 7b 20 ].=.{...{.".lz",.."".....},...{.
61fa0 22 2e 74 6c 7a 22 2c 20 22 2e 74 61 72 22 20 7d 2c 0a 20 20 7b 20 30 2c 20 20 20 20 20 20 30 20 ".tlz",.".tar".},...{.0,......0.
61fc0 20 20 20 20 20 7d 20 7d 3b 0a 0a 73 74 72 75 63 74 20 4c 7a 6d 61 5f 6f 70 74 69 6f 6e 73 0a 20 .....}.};..struct.Lzma_options..
61fe0 20 7b 0a 20 20 69 6e 74 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 3b 09 09 2f 2f 20 34 20 .{...int.dictionary_size;..//.4.
62000 4b 69 42 20 2e 2e 20 35 31 32 20 4d 69 42 0a 20 20 69 6e 74 20 6d 61 74 63 68 5f 6c 65 6e 5f 6c KiB....512.MiB...int.match_len_l
62020 69 6d 69 74 3b 09 09 2f 2f 20 35 20 2e 2e 20 32 37 33 0a 20 20 7d 3b 0a 0a 65 6e 75 6d 20 4d 6f imit;..//.5....273...};..enum.Mo
62040 64 65 20 7b 20 6d 5f 63 6f 6d 70 72 65 73 73 2c 20 6d 5f 64 65 63 6f 6d 70 72 65 73 73 2c 20 6d de.{.m_compress,.m_decompress,.m
62060 5f 6c 69 73 74 2c 20 6d 5f 74 65 73 74 20 7d 3b 0a 0a 2f 2a 20 56 61 72 69 61 62 6c 65 73 20 75 _list,.m_test.};../*.Variables.u
62080 73 65 64 20 69 6e 20 73 69 67 6e 61 6c 20 68 61 6e 64 6c 65 72 20 63 6f 6e 74 65 78 74 2e 0a 20 sed.in.signal.handler.context...
620a0 20 20 54 68 65 79 20 61 72 65 20 6e 6f 74 20 64 65 63 6c 61 72 65 64 20 76 6f 6c 61 74 69 6c 65 ..They.are.not.declared.volatile
620c0 20 62 65 63 61 75 73 65 20 74 68 65 20 68 61 6e 64 6c 65 72 20 6e 65 76 65 72 20 72 65 74 75 72 .because.the.handler.never.retur
620e0 6e 73 2e 20 2a 2f 0a 73 74 64 3a 3a 73 74 72 69 6e 67 20 6f 75 74 70 75 74 5f 66 69 6c 65 6e 61 ns..*/.std::string.output_filena
62100 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 65 5f me;.int.outfd.=.-1;.bool.delete_
62120 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 0a 76 output_on_interrupt.=.false;...v
62140 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 6e 74 oid.show_help()...{...std::print
62160 66 28 20 22 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 f(."Lzip.is.a.lossless.data.comp
62180 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
621a0 69 6c 61 72 20 74 6f 20 74 68 65 20 6f 6e 65 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ilar.to.the.one\n"..............
621c0 20 20 22 6f 66 20 67 7a 69 70 20 6f 72 20 62 7a 69 70 32 2e 20 4c 7a 69 70 20 75 73 65 73 20 61 .."of.gzip.or.bzip2..Lzip.uses.a
621e0 20 73 69 6d 70 6c 69 66 69 65 64 20 66 6f 72 6d 20 6f 66 20 74 68 65 20 27 4c 65 6d 70 65 6c 2d .simplified.form.of.the.'Lempel-
62200 5a 69 76 2d 4d 61 72 6b 6f 76 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 63 68 Ziv-Markov\n"................"ch
62220 61 69 6e 2d 41 6c 67 6f 72 69 74 68 6d 27 20 28 4c 5a 4d 41 29 20 73 74 72 65 61 6d 20 66 6f 72 ain-Algorithm'.(LZMA).stream.for
62240 6d 61 74 20 61 6e 64 20 70 72 6f 76 69 64 65 73 20 61 20 33 20 66 61 63 74 6f 72 20 69 6e 74 65 mat.and.provides.a.3.factor.inte
62260 67 72 69 74 79 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 63 68 65 63 6b 69 6e grity\n"................"checkin
62280 67 20 74 6f 20 6d 61 78 69 6d 69 7a 65 20 69 6e 74 65 72 6f 70 65 72 61 62 69 6c 69 74 79 20 61 g.to.maximize.interoperability.a
622a0 6e 64 20 6f 70 74 69 6d 69 7a 65 20 73 61 66 65 74 79 2e 20 4c 7a 69 70 20 63 61 6e 20 63 6f 6d nd.optimize.safety..Lzip.can.com
622c0 70 72 65 73 73 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 62 6f 75 74 20 61 press\n"................"about.a
622e0 73 20 66 61 73 74 20 61 73 20 67 7a 69 70 20 28 6c 7a 69 70 20 2d 30 29 20 6f 72 20 63 6f 6d 70 s.fast.as.gzip.(lzip.-0).or.comp
62300 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 5c ress.most.files.more.than.bzip2\
62320 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 28 6c 7a 69 70 20 2d 39 29 2e 20 44 65 n"................"(lzip.-9)..De
62340 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 69 61 74 compression.speed.is.intermediat
62360 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 5c 6e 22 0a 20 20 20 e.between.gzip.and.bzip2.\n"....
62380 20 20 20 20 20 20 20 20 20 20 20 20 22 4c 7a 69 70 20 69 73 20 62 65 74 74 65 72 20 74 68 61 6e ............"Lzip.is.better.than
623a0 20 67 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 .gzip.and.bzip2.from.a.data.reco
623c0 76 65 72 79 20 70 65 72 73 70 65 63 74 69 76 65 2e 20 4c 7a 69 70 5c 6e 22 0a 20 20 20 20 20 20 very.perspective..Lzip\n".......
623e0 20 20 20 20 20 20 20 20 20 22 68 61 73 20 62 65 65 6e 20 64 65 73 69 67 6e 65 64 2c 20 77 72 69 ........."has.been.designed,.wri
62400 74 74 65 6e 2c 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 tten,.and.tested.with.great.care
62420 20 74 6f 20 72 65 70 6c 61 63 65 20 67 7a 69 70 20 61 6e 64 5c 6e 22 0a 20 20 20 20 20 20 20 20 .to.replace.gzip.and\n".........
62440 20 20 20 20 20 20 20 22 62 7a 69 70 32 20 61 73 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 67 65 ......."bzip2.as.the.standard.ge
62460 6e 65 72 61 6c 2d 70 75 72 70 6f 73 65 20 63 6f 6d 70 72 65 73 73 65 64 20 66 6f 72 6d 61 74 20 neral-purpose.compressed.format.
62480 66 6f 72 20 75 6e 69 78 2d 6c 69 6b 65 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 for.unix-like\n"................
624a0 22 73 79 73 74 65 6d 73 2e 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5c 6e 55 "systems.\n"................"\nU
624c0 73 61 67 65 3a 20 25 73 20 5b 6f 70 74 69 6f 6e 73 5d 20 5b 66 69 6c 65 73 5d 5c 6e 22 2c 20 69 sage:.%s.[options].[files]\n",.i
624e0 6e 76 6f 63 61 74 69 6f 6e 5f 6e 61 6d 65 20 29 3b 0a 20 20 73 74 64 3a 3a 70 72 69 6e 74 66 28 nvocation_name.);...std::printf(
62500 20 22 5c 6e 4f 70 74 69 6f 6e 73 3a 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 ."\nOptions:\n"................"
62520 20 20 2d 68 2c 20 2d 2d 68 65 6c 70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..-h,.--help....................
62540 20 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 5c 6e 22 0a 20 .display.this.help.and.exit\n"..
62560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 20 2d 56 2c 20 2d 2d 76 65 72 73 69 6f 6e 20 20 .............."..-V,.--version..
62580 20 20 20 20 20 20 20 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 ................output.version.i
625a0 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 6e 64 20 65 78 69 74 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 nformation.and.exit\n"..........
625c0 20 20 20 20 20 20 22 20 20 2d 61 2c 20 2d 2d 74 72 61 69 6c 69 6e 67 2d 65 72 72 6f 72 20 20 20 ......"..-a,.--trailing-error...
625e0 20 20 20 20 20 20 20 20 65 78 69 74 20 77 69 74 68 20 65 72 72 6f 72 20 73 74 61 74 75 73 20 69 ........exit.with.error.status.i
62600 66 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 f.trailing.data\n"..............
62620 20 20 22 20 20 2d 62 2c 20 2d 2d 6d 65 6d 62 65 72 2d 73 69 7a 65 3d 3c 62 79 74 65 73 3e 20 20 .."..-b,.--member-size=<bytes>..
62640 20 20 20 20 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 ....set.member.size.limit.in.byt
62660 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 63 2c 20 2d 2d 73 74 es\n"................"..-c,.--st
62680 64 6f 75 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 72 69 74 65 20 74 6f 20 dout...................write.to.
626a0 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 2c 20 6b 65 65 70 20 69 6e 70 75 74 20 66 69 6c 65 standard.output,.keep.input.file
626c0 73 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 20 2d 64 2c 20 2d 2d 64 65 63 s\n"................"..-d,.--dec
626e0 6f 6d 70 72 65 73 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 63 6f 6d 70 72 65 73 73 ompress...............decompress
62700 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 20 2d 66 2c 20 2d 2d 66 6f 72 63 \n"................"..-f,.--forc
62720 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 76 65 72 77 72 69 74 65 20 65 e....................overwrite.e
62740 78 69 73 74 69 6e 67 20 6f 75 74 70 75 74 20 66 69 6c 65 73 5c 6e 22 0a 20 20 20 20 20 20 20 20 xisting.output.files\n".........
62760 20 20 20 20 20 20 20 22 20 20 2d 46 2c 20 2d 2d 72 65 63 6f 6d 70 72 65 73 73 20 20 20 20 20 20 ......."..-F,.--recompress......
62780 20 20 20 20 20 20 20 20 20 66 6f 72 63 65 20 72 65 2d 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6f 66 .........force.re-compression.of
627a0 20 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 73 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 .compressed.files\n"............
627c0 20 20 20 20 22 20 20 2d 6b 2c 20 2d 2d 6b 65 65 70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...."..-k,.--keep...............
627e0 20 20 20 20 20 20 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 ......keep.(don't.delete).input.
62800 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 6c 2c 20 2d files\n"................"..-l,.-
62820 2d 6c 69 73 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 6e 74 20 -list.....................print.
62840 28 75 6e 29 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 20 73 69 7a 65 73 5c 6e 22 0a 20 20 20 (un)compressed.file.sizes\n"....
62860 20 20 20 20 20 20 20 20 20 20 20 20 22 20 20 2d 6d 2c 20 2d 2d 6d 61 74 63 68 2d 6c 65 6e 67 74 ............"..-m,.--match-lengt
62880 68 3d 3c 62 79 74 65 73 3e 20 20 20 20 20 73 65 74 20 6d 61 74 63 68 20 6c 65 6e 67 74 68 20 6c h=<bytes>.....set.match.length.l
628a0 69 6d 69 74 20 69 6e 20 62 79 74 65 73 20 5b 33 36 5d 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 imit.in.bytes.[36]\n"...........
628c0 20 20 20 20 20 22 20 20 2d 6f 2c 20 2d 2d 6f 75 74 70 75 74 3d 3c 66 69 6c 65 3e 20 20 20 20 20 ....."..-o,.--output=<file>.....
628e0 20 20 20 20 20 20 20 77 72 69 74 65 20 74 6f 20 3c 66 69 6c 65 3e 2c 20 6b 65 65 70 20 69 6e 70 .......write.to.<file>,.keep.inp
62900 75 74 20 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 71 ut.files\n"................"..-q
62920 2c 20 2d 2d 71 75 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 ,.--quiet....................sup
62940 70 72 65 73 73 20 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 press.all.messages\n"...........
62960 20 20 20 20 20 22 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 ....."..-s,.--dictionary-size=<b
62980 79 74 65 73 3e 20 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 ytes>..set.dictionary.size.limit
629a0 20 69 6e 20 62 79 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 .in.bytes.[8.MiB]\n"............
629c0 20 20 20 20 22 20 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 ...."..-S,.--volume-size=<bytes>
629e0 20 20 20 20 20 20 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 ......set.volume.size.limit.in.b
62a00 79 74 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 74 2c 20 2d 2d ytes\n"................"..-t,.--
62a20 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 65 73 74 20 63 6f test.....................test.co
62a40 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 0a 20 20 20 20 20 mpressed.file.integrity\n"......
62a60 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 20 20 20 20 20 20 .........."..-v,.--verbose......
62a80 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 32 6e 64 20 2d 76 ............be.verbose.(a.2nd.-v
62aa0 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 20 20 20 20 20 22 .gives.more)\n"................"
62ac0 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 20 20 20 20 20 20 ..-0....-9......................
62ae0 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 66 61 75 6c 74 20 .set.compression.level.[default.
62b00 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 20 20 2d 2d 66 61 6]\n"................"......--fa
62b20 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 61 73 20 66 6f 72 st.....................alias.for
62b40 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 20 20 20 2d 2d 62 .-0\n"................"......--b
62b60 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 69 61 73 20 66 6f est.....................alias.fo
62b80 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 20 20 20 20 2d 2d r.-9\n"................"......--
62ba0 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 6c 6c 6f 77 20 74 loose-trailing...........allow.t
62bc0 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 70 74 20 68 65 61 railing.data.seeming.corrupt.hea
62be0 64 65 72 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5c 6e 49 66 20 6e 6f 20 66 der\n"................"\nIf.no.f
62c00 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 6c ile.names.are.given,.or.if.a.fil
62c20 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 5c 6e 22 0a e.is.'-',.lzip.compresses.or\n".
62c40 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 20 66 72 6f ..............."decompresses.fro
62c60 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 20 6f 75 74 m.standard.input.to.standard.out
62c80 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 65 72 73 20 put.\n"................"Numbers.
62ca0 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 72 3a may.be.followed.by.a.multiplier:
62cc0 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 20 20 20 20 .k.=.kB.=.10^3.=.1000,\n".......
62ce0 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 31 30 32 34 ........."Ki.=.KiB.=.2^10.=.1024
62d00 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 30 5e 39 2c ,.M.=.10^6,.Mi.=.2^20,.G.=.10^9,
62d20 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 20 20 20 20 .Gi.=.2^30,.etc...\n"...........
62d40 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 20 32 39 20 ....."Dictionary.sizes.12.to.29.
62d60 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 20 74 77 6f are.interpreted.as.powers.of.two
62d80 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 20 20 20 20 ,.meaning.2^12\n"...............
62da0 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 20 20 20 20 ."to.2^29.bytes.\n".............
62dc0 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 6d 65 74 65 ..."\nThe.bidimensional.paramete
62de0 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 70 65 64 20 r.space.of.LZMA.can't.be.mapped.
62e00 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 20 20 22 73 to.a.linear\n"................"s
62e20 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 49 66 20 79 cale.optimal.for.all.files..If.y
62e40 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 70 65 74 69 our.files.are.large,.very.repeti
62e60 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 2c 20 79 6f tive,\n"................"etc,.yo
62e80 75 20 6d 61 79 20 6e 65 65 64 20 74 6f 20 75 73 65 20 74 68 65 20 6f 70 74 69 6f 6e 73 20 2d 2d u.may.need.to.use.the.options.--
62ea0 64 69 63 74 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 dictionary-size.and.--match-leng
62ec0 74 68 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 69 72 65 63 74 6c 79 20 74 th\n"................"directly.t
62ee0 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 65 2e 5c 6e o.achieve.optimal.performance.\n
62f00 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5c 6e 54 6f 20 65 78 74 72 61 63 74 20 61 "................"\nTo.extract.a
62f20 6c 6c 20 74 68 65 20 66 69 6c 65 73 20 66 72 6f 6d 20 61 72 63 68 69 76 65 20 27 66 6f 6f 2e 74 ll.the.files.from.archive.'foo.t
62f40 61 72 2e 6c 7a 27 2c 20 75 73 65 20 74 68 65 20 63 6f 6d 6d 61 6e 64 73 5c 6e 22 0a 20 20 20 20 ar.lz',.use.the.commands\n".....
62f60 20 20 20 20 20 20 20 20 20 20 20 22 27 74 61 72 20 2d 78 66 20 66 6f 6f 2e 74 61 72 2e 6c 7a 27 ..........."'tar.-xf.foo.tar.lz'
62f80 20 6f 72 20 27 6c 7a 69 70 20 2d 63 64 20 66 6f 6f 2e 74 61 72 2e 6c 7a 20 7c 20 74 61 72 20 2d .or.'lzip.-cd.foo.tar.lz.|.tar.-
62fa0 78 66 20 2d 27 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 xf.-'.\n"................"\nExit
62fc0 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 20 31 20 .status:.0.for.a.normal.exit,.1.
62fe0 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 69 6c 65 for.environmental.problems.(file
63000 5c 6e 22 0a 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 \n"................"not.found,.i
63020 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 63 29 2c 20 nvalid.flags,.I/O.errors,.etc),.
63040 32 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 5c 6e 22 0a 20 20 2.to.indicate.a.corrupt.or\n"...
63060 20 20 20 20 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 ............."invalid.input.file
63080 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 79 20 ,.3.for.an.internal.consistency.
630a0 65 72 72 6f 72 20 28 65 2e 67 2e 2c 20 62 75 67 29 20 77 68 69 63 68 5c 6e 22 0a 20 20 20 20 20 error.(e.g.,.bug).which\n"......
630c0 20 20 20 20 20 20 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 .........."caused.lzip.to.panic.
630e0 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5c 6e 54 68 65 20 69 64 65 61 73 20 \n"................"\nThe.ideas.
63100 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 61 74 20 embodied.in.lzip.are.due.to.(at.
63120 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 5c 6e 22 0a least).the.following.people:\n".
63140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 41 62 72 61 68 61 6d 20 4c 65 6d 70 65 6c 20 61 ..............."Abraham.Lempel.a
63160 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
63180 68 6d 29 2c 20 41 6e 64 72 65 79 20 4d 61 72 6b 6f 76 20 28 66 6f 72 20 74 68 65 5c 6e 22 0a 20 hm),.Andrey.Markov.(for.the\n"..
631a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 4d 61 72 .............."definition.of.Mar
631c0 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.
631e0 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 72 61 6e 67 65 5c 6e 22 0a 20 20 20 20 20 the.definition.of.range\n"......
63200 20 20 20 20 20 20 20 20 20 20 22 65 6e 63 6f 64 69 6e 67 29 2c 20 49 67 6f 72 20 50 61 76 6c 6f .........."encoding),.Igor.Pavlo
63220 76 20 28 66 6f 72 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 v.(for.putting.all.the.above.tog
63240 65 74 68 65 72 20 69 6e 20 4c 5a 4d 41 29 2c 20 61 6e 64 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 ether.in.LZMA),.and\n"..........
63260 20 20 20 20 20 20 22 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 ......"Julian.Seward.(for.bzip2'
63280 73 20 43 4c 49 29 2e 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5c 6e 52 65 70 s.CLI).\n"................"\nRep
632a0 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 2e 6f 72 67 5c ort.bugs.to.lzip-bug@nongnu.org\
632c0 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 4c 7a 69 70 20 68 6f 6d 65 20 70 61 67 n"................"Lzip.home.pag
632e0 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 6c 7a e:.http://www.nongnu.org/lzip/lz
63300 69 70 2e 68 74 6d 6c 5c 6e 22 20 29 3b 0a 20 20 7d 0a 0a 0a 76 6f 69 64 20 73 68 6f 77 5f 76 65 ip.html\n".);...}...void.show_ve
63320 72 73 69 6f 6e 28 29 0a 20 20 7b 0a 20 20 73 74 64 3a 3a 70 72 69 6e 74 66 28 20 22 25 73 20 25 rsion()...{...std::printf(."%s.%
63340 73 5c 6e 22 2c 20 70 72 6f 67 72 61 6d 5f 6e 61 6d 65 2c 20 50 52 4f 47 56 45 52 53 49 4f 4e 20 s\n",.program_name,.PROGVERSION.
63360 29 3b 0a 20 20 73 74 64 3a 3a 70 72 69 6e 74 66 28 20 22 43 6f 70 79 72 69 67 68 74 20 28 43 29 );...std::printf(."Copyright.(C)
63380 20 25 73 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 5c 6e 22 2c 20 70 72 6f 67 72 .%s.Antonio.Diaz.Diaz.\n",.progr
633a0 61 6d 5f 79 65 61 72 20 29 3b 0a 20 20 73 74 64 3a 3a 70 72 69 6e 74 66 28 20 22 4c 69 63 65 6e am_year.);...std::printf(."Licen
633c0 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 20 6f 72 20 se.GPLv2+:.GNU.GPL.version.2.or.
633e0 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 65 73 2f 67 later.<http://gnu.org/licenses/g
63400 70 6c 2e 68 74 6d 6c 3e 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 54 68 69 73 pl.html>\n"................"This
63420 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 65 65 20 .is.free.software:.you.are.free.
63440 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 2e 5c 6e to.change.and.redistribute.it.\n
63460 22 0a 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 4e 4f 20 57 41 "................"There.is.NO.WA
63480 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 64 20 RRANTY,.to.the.extent.permitted.
634a0 62 79 20 6c 61 77 2e 5c 6e 22 20 29 3b 0a 20 20 7d 0a 0a 7d 20 2f 2f 20 65 6e 64 20 6e 61 6d 65 by.law.\n".);...}..}.//.end.name
634c0 73 70 61 63 65 0a 0a 76 6f 69 64 20 50 72 65 74 74 79 5f 70 72 69 6e 74 3a 3a 6f 70 65 72 61 74 space..void.Pretty_print::operat
634e0 6f 72 28 29 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 20 63 or()(.const.char.*.const.msg.).c
63500 6f 6e 73 74 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 72 onst...{...if(.verbosity.<.0.).r
63520 65 74 75 72 6e 3b 0a 20 20 69 66 28 20 66 69 72 73 74 5f 70 6f 73 74 20 29 0a 20 20 20 20 7b 0a eturn;...if(.first_post.).....{.
63540 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 73 74 64 3a ....first_post.=.false;.....std:
63560 3a 66 70 75 74 73 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 :fputs(.padded_name.c_str(),.std
63580 65 72 72 20 29 3b 0a 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 err.);.....if(.!msg.).std::fflus
635a0 68 28 20 73 74 64 65 72 72 20 29 3b 0a 20 20 20 20 7d 0a 20 20 69 66 28 20 6d 73 67 20 29 20 73 h(.stderr.);.....}...if(.msg.).s
635c0 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
635e0 20 29 3b 0a 20 20 7d 0a 0a 0a 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 62 61 64 5f 76 65 72 73 69 .);...}...const.char.*.bad_versi
63600 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 20 29 0a 20 20 7b on(.const.unsigned.version.)...{
63620 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 73 6e 70 72 69 6e ...static.char.buf[80];...snprin
63640 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 69 6f 6e 20 25 75 tf(.buf,.sizeof.buf,."Version.%u
63660 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 65 64 2e 22 2c 0a .member.format.not.supported.",.
63680 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 65 74 75 72 6e 20 ............version.);...return.
636a0 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 72 6d 61 74 5f 64 buf;...}...const.char.*.format_d
636c0 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 69 7a s(.const.unsigned.dictionary_siz
636e0 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 20 31 36 2c 20 66 e.)...{...enum.{.bufsize.=.16,.f
63700 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 68 61 72 20 62 75 actor.=.1024.};...static.char.bu
63720 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 20 63 6f 6e 73 74 f[bufsize];...const.char.*.const
63740 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 4d 69 22 2c 20 22 .prefix[8].=.....{."Ki",."Mi",."
63760 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 22 2c 20 22 59 69 Gi",."Ti",."Pi",."Ei",."Zi",."Yi
63780 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 3b 0a 20 20 63 6f ".};...const.char.*.p.=."";...co
637a0 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 73 69 67 6e 65 64 nst.char.*.np.=."..";...unsigned
637c0 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 62 6f 6f 6c 20 65 .num.=.dictionary_size;...bool.e
637e0 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 20 29 3b 0a 0a 20 xact.=.(.num.%.factor.==.0.);...
63800 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 28 20 6e 75 6d 20 .for(.int.i.=.0;.i.<.8.&&.(.num.
63820 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 3d 20 66 61 63 74 >.9999.||.(.exact.&&.num.>=.fact
63840 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 20 66 61 63 74 6f or.).);.++i.).....{.num./=.facto
63860 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 20 65 78 61 63 74 r;.if(.num.%.factor.!=.0.).exact
63880 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 5b 69 5d 3b 20 6e .=.false;.......p.=.prefix[i];.n
638a0 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 20 62 75 66 73 69 p.=."";.}...snprintf(.buf,.bufsi
638c0 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 70 20 29 3b 0a 20 ze,."%s%4u.%sB",.np,.num,.p.);..
638e0 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 6f 77 5f 68 65 61 .return.buf;...}...void.show_hea
63900 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 61 72 79 5f 73 der(.const.unsigned.dictionary_s
63920 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 73 74 64 65 72 72 ize.)...{...std::fprintf(.stderr
63940 2c 20 22 64 69 63 74 20 25 73 2c 20 22 2c 20 66 6f 72 6d 61 74 5f 64 73 28 20 64 69 63 74 69 6f ,."dict.%s,.",.format_ds(.dictio
63960 6e 61 72 79 5f 73 69 7a 65 20 29 20 29 3b 0a 20 20 7d 0a 0a 6e 61 6d 65 73 70 61 63 65 20 7b 0a nary_size.).);...}..namespace.{.
63980 0a 2f 2f 20 73 65 70 61 72 61 74 65 20 6c 61 72 67 65 20 6e 75 6d 62 65 72 73 20 3e 3d 20 31 30 .//.separate.large.numbers.>=.10
639a0 30 5f 30 30 30 20 69 6e 20 67 72 6f 75 70 73 20 6f 66 20 33 20 64 69 67 69 74 73 20 75 73 69 6e 0_000.in.groups.of.3.digits.usin
639c0 67 20 27 5f 27 0a 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 66 6f 72 6d 61 74 5f 6e 75 6d 33 28 20 g.'_'.const.char.*.format_num3(.
639e0 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6e 75 6d 20 29 0a 20 20 7b 0a 20 20 63 unsigned.long.long.num.)...{...c
63a00 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 73 69 5f 70 72 65 66 69 78 20 3d 20 22 6b onst.char.*.const.si_prefix.=."k
63a20 4d 47 54 50 45 5a 59 22 3b 0a 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 62 MGTPEZY";...const.char.*.const.b
63a40 69 6e 61 72 79 5f 70 72 65 66 69 78 20 3d 20 22 4b 4d 47 54 50 45 5a 59 22 3b 0a 20 20 65 6e 75 inary_prefix.=."KMGTPEZY";...enu
63a60 6d 20 7b 20 62 75 66 66 65 72 73 20 3d 20 38 2c 20 62 75 66 73 69 7a 65 20 3d 20 34 20 2a 20 73 m.{.buffers.=.8,.bufsize.=.4.*.s
63a80 69 7a 65 6f 66 20 28 6c 6f 6e 67 20 6c 6f 6e 67 29 20 7d 3b 0a 20 20 73 74 61 74 69 63 20 63 68 izeof.(long.long).};...static.ch
63aa0 61 72 20 62 75 66 66 65 72 5b 62 75 66 66 65 72 73 5d 5b 62 75 66 73 69 7a 65 5d 3b 09 2f 2f 20 ar.buffer[buffers][bufsize];.//.
63ac0 63 69 72 63 6c 65 20 6f 66 20 73 74 61 74 69 63 20 62 75 66 66 65 72 73 20 66 6f 72 20 70 72 69 circle.of.static.buffers.for.pri
63ae0 6e 74 66 0a 20 20 73 74 61 74 69 63 20 69 6e 74 20 63 75 72 72 65 6e 74 20 3d 20 30 3b 0a 0a 20 ntf...static.int.current.=.0;...
63b00 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 62 75 66 20 3d 20 62 75 66 66 65 72 5b 63 75 72 72 65 .char.*.const.buf.=.buffer[curre
63b20 6e 74 2b 2b 5d 3b 20 63 75 72 72 65 6e 74 20 25 3d 20 62 75 66 66 65 72 73 3b 0a 20 20 63 68 61 nt++];.current.%=.buffers;...cha
63b40 72 20 2a 20 70 20 3d 20 62 75 66 20 2b 20 62 75 66 73 69 7a 65 20 2d 20 31 3b 09 09 2f 2f 20 66 r.*.p.=.buf.+.bufsize.-.1;..//.f
63b60 69 6c 6c 20 74 68 65 20 62 75 66 66 65 72 20 62 61 63 6b 77 61 72 64 73 0a 20 20 2a 70 20 3d 20 ill.the.buffer.backwards...*p.=.
63b80 30 3b 09 2f 2f 20 74 65 72 6d 69 6e 61 74 6f 72 0a 20 20 69 66 28 20 6e 75 6d 20 3e 20 31 30 32 0;.//.terminator...if(.num.>.102
63ba0 34 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 63 68 61 72 20 70 72 65 66 69 78 20 3d 20 30 3b 09 09 4.).....{.....char.prefix.=.0;..
63bc0 09 2f 2f 20 74 72 79 20 62 69 6e 61 72 79 20 66 69 72 73 74 2c 20 74 68 65 6e 20 73 69 0a 20 20 .//.try.binary.first,.then.si...
63be0 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 6e 75 6d 20 3e ..for(.int.i.=.0;.i.<.8.&&.num.>
63c00 3d 20 31 30 32 34 20 26 26 20 6e 75 6d 20 25 20 31 30 32 34 20 3d 3d 20 30 3b 20 2b 2b 69 20 29 =.1024.&&.num.%.1024.==.0;.++i.)
63c20 0a 20 20 20 20 20 20 7b 20 6e 75 6d 20 2f 3d 20 31 30 32 34 3b 20 70 72 65 66 69 78 20 3d 20 62 .......{.num./=.1024;.prefix.=.b
63c40 69 6e 61 72 79 5f 70 72 65 66 69 78 5b 69 5d 3b 20 7d 0a 20 20 20 20 69 66 28 20 70 72 65 66 69 inary_prefix[i];.}.....if(.prefi
63c60 78 20 29 20 2a 28 2d 2d 70 29 20 3d 20 27 69 27 3b 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 x.).*(--p).=.'i';.....else......
63c80 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 6e 75 6d 20 3e 3d .for(.int.i.=.0;.i.<.8.&&.num.>=
63ca0 20 31 30 30 30 20 26 26 20 6e 75 6d 20 25 20 31 30 30 30 20 3d 3d 20 30 3b 20 2b 2b 69 20 29 0a .1000.&&.num.%.1000.==.0;.++i.).
63cc0 20 20 20 20 20 20 20 20 7b 20 6e 75 6d 20 2f 3d 20 31 30 30 30 3b 20 70 72 65 66 69 78 20 3d 20 ........{.num./=.1000;.prefix.=.
63ce0 73 69 5f 70 72 65 66 69 78 5b 69 5d 3b 20 7d 0a 20 20 20 20 69 66 28 20 70 72 65 66 69 78 20 29 si_prefix[i];.}.....if(.prefix.)
63d00 20 2a 28 2d 2d 70 29 20 3d 20 70 72 65 66 69 78 3b 0a 20 20 20 20 7d 0a 20 20 63 6f 6e 73 74 20 .*(--p).=.prefix;.....}...const.
63d20 62 6f 6f 6c 20 73 70 6c 69 74 20 3d 20 6e 75 6d 20 3e 3d 20 31 30 30 30 30 30 3b 0a 0a 20 20 66 bool.split.=.num.>=.100000;....f
63d40 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 3b 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 2a 28 2d or(.int.i.=.0;.;.).....{.....*(-
63d60 2d 70 29 20 3d 20 6e 75 6d 20 25 20 31 30 20 2b 20 27 30 27 3b 20 6e 75 6d 20 2f 3d 20 31 30 3b -p).=.num.%.10.+.'0';.num./=.10;
63d80 20 69 66 28 20 6e 75 6d 20 3d 3d 20 30 20 29 20 62 72 65 61 6b 3b 0a 20 20 20 20 69 66 28 20 73 .if(.num.==.0.).break;.....if(.s
63da0 70 6c 69 74 20 26 26 20 2b 2b 69 20 3e 3d 20 33 20 29 20 7b 20 69 20 3d 20 30 3b 20 2a 28 2d 2d plit.&&.++i.>=.3.).{.i.=.0;.*(--
63dc0 70 29 20 3d 20 27 5f 27 3b 20 7d 0a 20 20 20 20 7d 0a 20 20 72 65 74 75 72 6e 20 70 3b 0a 20 20 p).=.'_';.}.....}...return.p;...
63de0 7d 0a 0a 0a 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 67 65 74 6e 75 6d 28 20 63 }...unsigned.long.long.getnum(.c
63e00 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,..........
63e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 ..................const.char.*.c
63e40 6f 6e 73 74 20 6f 70 74 69 6f 6e 5f 6e 61 6d 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 onst.option_name,...............
63e60 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 67 .............const.unsigned.long
63e80 20 6c 6f 6e 67 20 6c 6c 69 6d 69 74 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .long.llimit,...................
63ea0 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 67 20 6c 6f 6e .........const.unsigned.long.lon
63ec0 67 20 75 6c 69 6d 69 74 20 29 0a 20 20 7b 0a 20 20 63 68 61 72 20 2a 20 74 61 69 6c 3b 0a 20 20 g.ulimit.)...{...char.*.tail;...
63ee0 65 72 72 6e 6f 20 3d 20 30 3b 0a 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 errno.=.0;...unsigned.long.long.
63f00 72 65 73 75 6c 74 20 3d 20 73 74 72 74 6f 75 6c 6c 28 20 61 72 67 2c 20 26 74 61 69 6c 2c 20 30 result.=.strtoull(.arg,.&tail,.0
63f20 20 29 3b 0a 20 20 69 66 28 20 74 61 69 6c 20 3d 3d 20 61 72 67 20 29 0a 20 20 20 20 7b 0a 20 20 .);...if(.tail.==.arg.).....{...
63f40 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 73 74 64 ..if(.verbosity.>=.0.).......std
63f60 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 65 72 72 2c 20 22 25 73 3a 20 42 61 64 20 6f 72 20 6d ::fprintf(.stderr,."%s:.Bad.or.m
63f80 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 20 69 6e 20 22 0a 20 issing.numerical.argument.in."..
63fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6f 70 74 69 6f 6e 20 27 25 73 27 2e ..................."option.'%s'.
63fc0 5c 6e 22 2c 20 70 72 6f 67 72 61 6d 5f 6e 61 6d 65 2c 20 6f 70 74 69 6f 6e 5f 6e 61 6d 65 20 29 \n",.program_name,.option_name.)
63fe0 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 0a 20 20 69 ;.....std::exit(.1.);.....}....i
64000 66 28 20 21 65 72 72 6e 6f 20 26 26 20 74 61 69 6c 5b 30 5d 20 29 0a 20 20 20 20 7b 0a 20 20 20 f(.!errno.&&.tail[0].).....{....
64020 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 66 61 63 74 6f 72 20 3d 20 28 20 74 61 69 6c 5b .const.unsigned.factor.=.(.tail[
64040 31 5d 20 3d 3d 20 27 69 27 20 29 20 3f 20 31 30 32 34 20 3a 20 31 30 30 30 3b 0a 20 20 20 20 69 1].==.'i'.).?.1024.:.1000;.....i
64060 6e 74 20 65 78 70 6f 6e 65 6e 74 20 3d 20 30 3b 09 09 09 09 2f 2f 20 30 20 3d 20 62 61 64 20 6d nt.exponent.=.0;....//.0.=.bad.m
64080 75 6c 74 69 70 6c 69 65 72 0a 20 20 20 20 73 77 69 74 63 68 28 20 74 61 69 6c 5b 30 5d 20 29 0a ultiplier.....switch(.tail[0].).
640a0 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 63 61 73 65 20 27 59 27 3a 20 65 78 70 6f 6e 65 6e 74 ......{.......case.'Y':.exponent
640c0 20 3d 20 38 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20 27 5a 27 3a 20 65 78 70 .=.8;.break;.......case.'Z':.exp
640e0 6f 6e 65 6e 74 20 3d 20 37 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20 27 45 27 onent.=.7;.break;.......case.'E'
64100 3a 20 65 78 70 6f 6e 65 6e 74 20 3d 20 36 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 :.exponent.=.6;.break;.......cas
64120 65 20 27 50 27 3a 20 65 78 70 6f 6e 65 6e 74 20 3d 20 35 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 e.'P':.exponent.=.5;.break;.....
64140 20 20 63 61 73 65 20 27 54 27 3a 20 65 78 70 6f 6e 65 6e 74 20 3d 20 34 3b 20 62 72 65 61 6b 3b ..case.'T':.exponent.=.4;.break;
64160 0a 20 20 20 20 20 20 63 61 73 65 20 27 47 27 3a 20 65 78 70 6f 6e 65 6e 74 20 3d 20 33 3b 20 62 .......case.'G':.exponent.=.3;.b
64180 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20 27 4d 27 3a 20 65 78 70 6f 6e 65 6e 74 20 3d reak;.......case.'M':.exponent.=
641a0 20 32 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20 27 4b 27 3a 20 69 66 28 20 66 .2;.break;.......case.'K':.if(.f
641c0 61 63 74 6f 72 20 3d 3d 20 31 30 32 34 20 29 20 65 78 70 6f 6e 65 6e 74 20 3d 20 31 3b 20 62 72 actor.==.1024.).exponent.=.1;.br
641e0 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20 27 6b 27 3a 20 69 66 28 20 66 61 63 74 6f 72 20 eak;.......case.'k':.if(.factor.
64200 3d 3d 20 31 30 30 30 20 29 20 65 78 70 6f 6e 65 6e 74 20 3d 20 31 3b 20 62 72 65 61 6b 3b 0a 20 ==.1000.).exponent.=.1;.break;..
64220 20 20 20 20 20 7d 0a 20 20 20 20 69 66 28 20 65 78 70 6f 6e 65 6e 74 20 3c 3d 20 30 20 29 0a 20 .....}.....if(.exponent.<=.0.)..
64240 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 20 3e 3d 20 30 20 .....{.......if(.verbosity.>=.0.
64260 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 64 65 72 72 2c 20 ).........std::fprintf(.stderr,.
64280 22 25 73 3a 20 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 "%s:.Bad.multiplier.in.numerical
642a0 20 61 72 67 75 6d 65 6e 74 20 6f 66 20 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .argument.of."..................
642c0 20 20 20 20 20 22 6f 70 74 69 6f 6e 20 27 25 73 27 2e 5c 6e 22 2c 20 70 72 6f 67 72 61 6d 5f 6e ....."option.'%s'.\n",.program_n
642e0 61 6d 65 2c 20 6f 70 74 69 6f 6e 5f 6e 61 6d 65 20 29 3b 0a 20 20 20 20 20 20 73 74 64 3a 3a 65 ame,.option_name.);.......std::e
64300 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 6e 74 20 69 xit(.1.);.......}.....for(.int.i
64320 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 20 20 20 20 .=.0;.i.<.exponent;.++i.).......
64340 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 3e 3d 20 72 {.......if(.ulimit./.factor.>=.r
64360 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 20 20 20 20 esult.).result.*=.factor;.......
64380 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 3b 20 7d 0a else.{.errno.=.ERANGE;.break;.}.
643a0 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 26 20 28 20 ......}.....}...if(.!errno.&&.(.
643c0 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 75 6c 69 6d result.<.llimit.||.result.>.ulim
643e0 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 20 65 72 72 it.).).errno.=.ERANGE;...if(.err
64400 6e 6f 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 no.).....{.....if(.verbosity.>=.
64420 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,.
64440 22 25 73 3a 20 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 "%s:.Numerical.argument.out.of.l
64460 69 6d 69 74 73 20 5b 25 73 2c 25 73 5d 20 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 imits.[%s,%s].".................
64480 20 20 20 20 22 69 6e 20 6f 70 74 69 6f 6e 20 27 25 73 27 2e 5c 6e 22 2c 20 70 72 6f 67 72 61 6d ...."in.option.'%s'.\n",.program
644a0 5f 6e 61 6d 65 2c 20 66 6f 72 6d 61 74 5f 6e 75 6d 33 28 20 6c 6c 69 6d 69 74 20 29 2c 0a 20 20 _name,.format_num3(.llimit.),...
644c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 6d 61 74 5f 6e 75 6d 33 28 20 75 ..................format_num3(.u
644e0 6c 69 6d 69 74 20 29 2c 20 6f 70 74 69 6f 6e 5f 6e 61 6d 65 20 29 3b 0a 20 20 20 20 73 74 64 3a limit.),.option_name.);.....std:
64500 3a 65 78 69 74 28 20 31 20 29 3b 0a 20 20 20 20 7d 0a 20 20 72 65 74 75 72 6e 20 72 65 73 75 6c :exit(.1.);.....}...return.resul
64520 74 3b 0a 20 20 7d 0a 0a 0a 69 6e 74 20 67 65 74 5f 64 69 63 74 5f 73 69 7a 65 28 20 63 6f 6e 73 t;...}...int.get_dict_size(.cons
64540 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 61 72 67 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a t.char.*.const.arg,.const.char.*
64560 20 63 6f 6e 73 74 20 6f 70 74 69 6f 6e 5f 6e 61 6d 65 20 29 0a 20 20 7b 0a 20 20 63 68 61 72 20 .const.option_name.)...{...char.
64580 2a 20 74 61 69 6c 3b 0a 20 20 63 6f 6e 73 74 20 6c 6f 6e 67 20 62 69 74 73 20 3d 20 73 74 64 3a *.tail;...const.long.bits.=.std:
645a0 3a 73 74 72 74 6f 6c 28 20 61 72 67 2c 20 26 74 61 69 6c 2c 20 30 20 29 3b 0a 20 20 69 66 28 20 :strtol(.arg,.&tail,.0.);...if(.
645c0 62 69 74 73 20 3e 3d 20 6d 69 6e 5f 64 69 63 74 69 6f 6e 61 72 79 5f 62 69 74 73 20 26 26 0a 20 bits.>=.min_dictionary_bits.&&..
645e0 20 20 20 20 20 62 69 74 73 20 3c 3d 20 6d 61 78 5f 64 69 63 74 69 6f 6e 61 72 79 5f 62 69 74 73 .....bits.<=.max_dictionary_bits
64600 20 26 26 20 2a 74 61 69 6c 20 3d 3d 20 30 20 29 0a 20 20 20 20 72 65 74 75 72 6e 20 31 20 3c 3c .&&.*tail.==.0.).....return.1.<<
64620 20 62 69 74 73 3b 0a 20 20 72 65 74 75 72 6e 20 67 65 74 6e 75 6d 28 20 61 72 67 2c 20 6f 70 74 .bits;...return.getnum(.arg,.opt
64640 69 6f 6e 5f 6e 61 6d 65 2c 20 6d 69 6e 5f 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 2c 20 6d ion_name,.min_dictionary_size,.m
64660 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 0a 76 6f 69 64 ax_dictionary_size.);...}...void
64680 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 6f 64 65 2c 20 .set_mode(.Mode.&.program_mode,.
646a0 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 20 69 66 28 20 const.Mode.new_mode.)...{...if(.
646c0 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 26 26 20 70 72 program_mode.!=.m_compress.&&.pr
646e0 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 20 20 7b 0a 20 ogram_mode.!=.new_mode.).....{..
64700 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 65 72 61 74 69 ...show_error(."Only.one.operati
64720 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 72 75 65 20 29 on.can.be.specified.",.0,.true.)
64740 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 20 20 70 72 ;.....std::exit(.1.);.....}...pr
64760 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 0a 0a 69 6e 74 ogram_mode.=.new_mode;...}...int
64780 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 3a 3a 73 74 72 .extension_index(.const.std::str
647a0 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 20 65 69 6e 64 ing.&.name.)...{...for(.int.eind
647c0 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 6e 64 65 78 5d ex.=.0;.known_extensions[eindex]
647e0 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 20 63 6f 6e 73 .from;.++eindex.).....{.....cons
64800 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 74 65 6e 73 69 t.std::string.ext(.known_extensi
64820 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 20 6e 61 6d 65 ons[eindex].from.);.....if(.name
64840 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 20 20 20 20 20 .size().>.ext.size().&&.........
64860 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 20 65 78 74 2e name.compare(.name.size().-.ext.
64880 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 3d 20 30 20 29 size(),.ext.size(),.ext.).==.0.)
648a0 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 0a 20 20 72 65 .......return.eindex;.....}...re
648c0 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 75 74 6e 61 6d turn.-1;...}...void.set_c_outnam
648e0 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
64900 73 74 20 62 6f 6f 6c 20 66 69 6c 65 6e 61 6d 65 73 5f 67 69 76 65 6e 2c 0a 20 20 20 20 20 20 20 st.bool.filenames_given,........
64920 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 66 6f 72 63 65 5f 65 78 .............const.bool.force_ex
64940 74 2c 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 6d 75 6c 74 69 66 69 6c 65 20 29 0a 20 20 7b 0a 20 20 t,.const.bool.multifile.)...{...
64960 2f 2a 20 7a 75 70 64 61 74 65 20 3c 20 31 2e 39 20 64 65 70 65 6e 64 73 20 6f 6e 20 6c 7a 69 70 /*.zupdate.<.1.9.depends.on.lzip
64980 20 61 64 64 69 6e 67 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 20 27 2e 6c 7a 27 20 74 6f 20 6e .adding.the.extension.'.lz'.to.n
649a0 61 6d 65 20 77 68 65 6e 0a 20 20 20 20 20 72 65 61 64 69 6e 67 20 66 72 6f 6d 20 73 74 61 6e 64 ame.when......reading.from.stand
649c0 61 72 64 20 69 6e 70 75 74 2e 20 2a 2f 0a 20 20 6f 75 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 20 ard.input..*/...output_filename.
649e0 3d 20 6e 61 6d 65 3b 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 =.name;...if(.multifile.).output
64a00 5f 66 69 6c 65 6e 61 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 _filename.+=."00001";...if(.forc
64a20 65 5f 65 78 74 20 7c 7c 20 6d 75 6c 74 69 66 69 6c 65 20 7c 7c 0a 20 20 20 20 20 20 28 20 21 66 e_ext.||.multifile.||.......(.!f
64a40 69 6c 65 6e 61 6d 65 73 5f 67 69 76 65 6e 20 26 26 20 65 78 74 65 6e 73 69 6f 6e 5f 69 6e 64 65 ilenames_given.&&.extension_inde
64a60 78 28 20 6f 75 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 20 29 20 3c 20 30 20 29 20 29 0a 20 20 20 x(.output_filename.).<.0.).)....
64a80 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
64aa0 69 6f 6e 73 5b 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 ions[0].from;...}...void.set_d_o
64ac0 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
64ae0 2c 20 63 6f 6e 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 ,.const.int.eindex.)...{...if(.e
64b00 69 6e 64 65 78 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 index.>=.0.).....{.....const.std
64b20 3a 3a 73 74 72 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 ::string.from(.known_extensions[
64b40 65 69 6e 64 65 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 eindex].from.);.....if(.name.siz
64b60 65 28 29 20 3e 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 e().>.from.size().).......{.....
64b80 20 20 6f 75 74 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 ..output_filename.assign(.name,.
64ba0 30 2c 20 6e 61 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 0,.name.size().-.from.size().);.
64bc0 20 20 20 20 20 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 ......output_filename.+=.known_e
64be0 78 74 65 6e 73 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 xtensions[eindex].to;.......retu
64c00 72 6e 3b 0a 20 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 rn;.......}.....}...output_filen
64c20 61 6d 65 20 3d 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 ame.=.name;.output_filename.+=."
64c40 2e 6f 75 74 22 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 .out";...if(.verbosity.>=.1.)...
64c60 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 25 73 3a 20 43 61 6e ..std::fprintf(.stderr,."%s:.Can
64c80 27 74 20 67 75 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 't.guess.original.name.for.'%s'.
64ca0 2d 2d 20 75 73 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 --.using.'%s'\n",...............
64cc0 20 20 20 20 70 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 ....program_name,.name.c_str(),.
64ce0 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 7d 0a 0a output_filename.c_str().);...}..
64d00 7d 20 2f 2f 20 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 }.//.end.namespace..int.open_ins
64d20 74 72 65 61 6d 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 tream(.const.char.*.const.name,.
64d40 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,..
64d60 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 6f 6e 65 ..................const.bool.one
64d80 5f 74 6f 5f 6f 6e 65 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 _to_one,.const.bool.reg_only.)..
64da0 20 7b 0a 20 20 69 6e 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 .{...int.infd.=.open(.name,.O_RD
64dc0 4f 4e 4c 59 20 7c 20 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 ONLY.|.O_BINARY.);...if(.infd.<.
64de0 30 20 29 0a 20 20 20 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 0.).....show_file_error(.name,."
64e00 43 61 6e 27 74 20 6f 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 Can't.open.input.file",.errno.);
64e20 0a 20 20 65 6c 73 65 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 ...else.....{.....const.int.i.=.
64e40 66 73 74 61 74 28 20 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 fstat(.infd,.in_statsp.);.....co
64e60 6e 73 74 20 6d 6f 64 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 nst.mode_t.mode.=.in_statsp->st_
64e80 6d 6f 64 65 3b 0a 20 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 mode;.....const.bool.can_read.=.
64ea0 28 20 69 20 3d 3d 20 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 (.i.==.0.&&.!reg_only.&&........
64ec0 20 20 20 20 20 20 20 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 .....................(.S_ISBLK(.
64ee0 6d 6f 64 65 20 29 20 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 mode.).||.S_ISCHR(.mode.).||....
64f00 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 53 5f 49 53 46 ...........................S_ISF
64f20 49 46 4f 28 20 6d 6f 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 IFO(.mode.).||.S_ISSOCK(.mode.).
64f40 29 20 29 3b 0a 20 20 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 ).);.....if(.i.!=.0.||.(.!S_ISRE
64f60 47 28 20 6d 6f 64 65 20 29 20 26 26 20 28 20 21 63 61 6e 5f 72 65 61 64 20 7c 7c 20 6f 6e 65 5f G(.mode.).&&.(.!can_read.||.one_
64f80 74 6f 5f 6f 6e 65 20 29 20 29 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 69 66 28 20 76 to_one.).).).......{.......if(.v
64fa0 65 72 62 6f 73 69 74 79 20 3e 3d 20 30 20 29 0a 20 20 20 20 20 20 20 20 73 74 64 3a 3a 66 70 72 erbosity.>=.0.).........std::fpr
64fc0 69 6e 74 66 28 20 73 74 64 65 72 72 2c 20 22 25 73 3a 20 49 6e 70 75 74 20 66 69 6c 65 20 27 25 intf(.stderr,."%s:.Input.file.'%
64fe0 73 27 20 69 73 20 6e 6f 74 20 61 20 72 65 67 75 6c 61 72 20 66 69 6c 65 25 73 2e 5c 6e 22 2c 0a s'.is.not.a.regular.file%s.\n",.
65000 20 20 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 61 6d 5f 6e 61 ......................program_na
65020 6d 65 2c 20 6e 61 6d 65 2c 20 28 20 63 61 6e 5f 72 65 61 64 20 26 26 20 6f 6e 65 5f 74 6f 5f 6f me,.name,.(.can_read.&&.one_to_o
65040 6e 65 20 29 20 3f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2c 5c ne.).?.......................",\
65060 6e 20 20 20 20 20 20 61 6e 64 20 6e 65 69 74 68 65 72 20 27 2d 63 27 20 6e 6f 72 20 27 2d 6f 27 n......and.neither.'-c'.nor.'-o'
65080 20 77 65 72 65 20 73 70 65 63 69 66 69 65 64 22 20 3a 20 22 22 20 29 3b 0a 20 20 20 20 20 20 63 .were.specified".:."".);.......c
650a0 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 2d 31 3b 0a 20 lose(.infd.);.......infd.=.-1;..
650c0 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 0a 20 20 7d 0a .....}.....}...return.infd;...}.
650e0 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 72 65 61 6d 32 .namespace.{..int.open_instream2
65100 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
65120 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,.......
65140 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 6f 67 72 61 6d ..............const.Mode.program
65160 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 20 20 20 20 20 _mode,.const.int.eindex,........
65180 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 6f 6e 65 5f 74 6f 5f 6f .............const.bool.one_to_o
651a0 6e 65 2c 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 72 65 63 6f 6d 70 72 65 73 73 20 29 0a 20 20 7b 0a ne,.const.bool.recompress.)...{.
651c0 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 72 65 73 73 ..if(.program_mode.==.m_compress
651e0 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 20 30 20 29 .&&.!recompress.&&.eindex.>=.0.)
65200 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 30 20 29 0a .....{.....if(.verbosity.>=.0.).
65220 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 25 73 3a ......std::fprintf(.stderr,."%s:
65240 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 20 27 25 73 .Input.file.'%s'.already.has.'%s
65260 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 20 20 20 20 '.suffix.\n",...................
65280 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 65 78 74 65 ..program_name,.name,.known_exte
652a0 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 65 74 75 72 nsions[eindex].from.);.....retur
652c0 6e 20 2d 31 3b 0a 20 20 20 20 7d 0a 20 20 72 65 74 75 72 6e 20 6f 70 65 6e 5f 69 6e 73 74 72 65 n.-1;.....}...return.open_instre
652e0 61 6d 28 20 6e 61 6d 65 2c 20 69 6e 5f 73 74 61 74 73 70 2c 20 6f 6e 65 5f 74 6f 5f 6f 6e 65 2c am(.name,.in_statsp,.one_to_one,
65300 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 73 74 72 .false.);...}...bool.open_outstr
65320 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 62 6f 6f eam(.const.bool.force,.const.boo
65340 6c 20 70 72 6f 74 65 63 74 20 29 0a 20 20 7b 0a 20 20 63 6f 6e 73 74 20 6d 6f 64 65 5f 74 20 75 l.protect.)...{...const.mode_t.u
65360 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 0a 20 20 63 6f 6e sr_rw.=.S_IRUSR.|.S_IWUSR;...con
65380 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 7c 20 53 5f 49 52 st.mode_t.all_rw.=.usr_rw.|.S_IR
653a0 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 53 5f 49 57 4f 54 GRP.|.S_IWGRP.|.S_IROTH.|.S_IWOT
653c0 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 64 65 20 3d 20 70 H;...const.mode_t.outfd_mode.=.p
653e0 72 6f 74 65 63 74 20 3f 20 75 73 72 5f 72 77 20 3a 20 61 6c 6c 5f 72 77 3b 0a 20 20 69 6e 74 20 rotect.?.usr_rw.:.all_rw;...int.
65400 66 6c 61 67 73 20 3d 20 4f 5f 43 52 45 41 54 20 7c 20 4f 5f 57 52 4f 4e 4c 59 20 7c 20 4f 5f 42 flags.=.O_CREAT.|.O_WRONLY.|.O_B
65420 49 4e 41 52 59 3b 0a 20 20 69 66 28 20 66 6f 72 63 65 20 29 20 66 6c 61 67 73 20 7c 3d 20 4f 5f INARY;...if(.force.).flags.|=.O_
65440 54 52 55 4e 43 3b 20 65 6c 73 65 20 66 6c 61 67 73 20 7c 3d 20 4f 5f 45 58 43 4c 3b 0a 0a 20 20 TRUNC;.else.flags.|=.O_EXCL;....
65460 6f 75 74 66 64 20 3d 20 6f 70 65 6e 28 20 6f 75 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 2e 63 5f outfd.=.open(.output_filename.c_
65480 73 74 72 28 29 2c 20 66 6c 61 67 73 2c 20 6f 75 74 66 64 5f 6d 6f 64 65 20 29 3b 0a 20 20 69 66 str(),.flags,.outfd_mode.);...if
654a0 28 20 6f 75 74 66 64 20 3e 3d 20 30 20 29 20 64 65 6c 65 74 65 5f 6f 75 74 70 75 74 5f 6f 6e 5f (.outfd.>=.0.).delete_output_on_
654c0 69 6e 74 65 72 72 75 70 74 20 3d 20 74 72 75 65 3b 0a 20 20 65 6c 73 65 20 69 66 28 20 76 65 72 interrupt.=.true;...else.if(.ver
654e0 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 20 65 72 72 6e bosity.>=.0.).....{.....if(.errn
65500 6f 20 3d 3d 20 45 45 58 49 53 54 20 29 0a 20 20 20 20 20 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 o.==.EEXIST.).......std::fprintf
65520 28 20 73 74 64 65 72 72 2c 20 22 25 73 3a 20 4f 75 74 70 75 74 20 66 69 6c 65 20 27 25 73 27 20 (.stderr,."%s:.Output.file.'%s'.
65540 61 6c 72 65 61 64 79 20 65 78 69 73 74 73 2c 20 73 6b 69 70 70 69 6e 67 2e 5c 6e 22 2c 0a 20 20 already.exists,.skipping.\n",...
65560 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 20 ..................program_name,.
65580 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 65 output_filename.c_str().);.....e
655a0 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 20 lse.......std::fprintf(.stderr,.
655c0 22 25 73 3a 20 43 61 6e 27 74 20 63 72 65 61 74 65 20 6f 75 74 70 75 74 20 66 69 6c 65 20 27 25 "%s:.Can't.create.output.file.'%
655e0 73 27 3a 20 25 73 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 s':.%s\n",.....................p
65600 72 6f 67 72 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 rogram_name,.output_filename.c_s
65620 74 72 28 29 2c 20 73 74 64 3a 3a 73 74 72 65 72 72 6f 72 28 20 65 72 72 6e 6f 20 29 20 29 3b 0a tr(),.std::strerror(.errno.).);.
65640 20 20 20 20 7d 0a 20 20 72 65 74 75 72 6e 20 28 20 6f 75 74 66 64 20 3e 3d 20 30 20 29 3b 0a 20 ....}...return.(.outfd.>=.0.);..
65660 20 7d 0a 0a 0a 76 6f 69 64 20 73 65 74 5f 73 69 67 6e 61 6c 73 28 20 76 6f 69 64 20 28 2a 61 63 .}...void.set_signals(.void.(*ac
65680 74 69 6f 6e 29 28 69 6e 74 29 20 29 0a 20 20 7b 0a 20 20 73 74 64 3a 3a 73 69 67 6e 61 6c 28 20 tion)(int).)...{...std::signal(.
656a0 53 49 47 48 55 50 2c 20 61 63 74 69 6f 6e 20 29 3b 0a 20 20 73 74 64 3a 3a 73 69 67 6e 61 6c 28 SIGHUP,.action.);...std::signal(
656c0 20 53 49 47 49 4e 54 2c 20 61 63 74 69 6f 6e 20 29 3b 0a 20 20 73 74 64 3a 3a 73 69 67 6e 61 6c .SIGINT,.action.);...std::signal
656e0 28 20 53 49 47 54 45 52 4d 2c 20 61 63 74 69 6f 6e 20 29 3b 0a 20 20 7d 0a 0a 0a 76 6f 69 64 20 (.SIGTERM,.action.);...}...void.
65700 63 6c 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 cleanup_and_fail(.const.int.retv
65720 61 6c 20 29 0a 20 20 7b 0a 20 20 73 65 74 5f 73 69 67 6e 61 6c 73 28 20 53 49 47 5f 49 47 4e 20 al.)...{...set_signals(.SIG_IGN.
65740 29 3b 09 09 09 2f 2f 20 69 67 6e 6f 72 65 20 73 69 67 6e 61 6c 73 0a 20 20 69 66 28 20 64 65 6c );...//.ignore.signals...if(.del
65760 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 20 20 20 20 7b 0a ete_output_on_interrupt.).....{.
65780 20 20 20 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 ....delete_output_on_interrupt.=
657a0 20 66 61 6c 73 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 .false;.....if(.verbosity.>=.0.)
657c0 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 25 73 .......std::fprintf(.stderr,."%s
657e0 3a 20 44 65 6c 65 74 69 6e 67 20 6f 75 74 70 75 74 20 66 69 6c 65 20 27 25 73 27 2c 20 69 66 20 :.Deleting.output.file.'%s',.if.
65800 69 74 20 65 78 69 73 74 73 2e 5c 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 it.exists.\n",..................
65820 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 65 6e 61 6d 65 ...program_name,.output_filename
65840 2e 63 5f 73 74 72 28 29 20 29 3b 0a 20 20 20 20 69 66 28 20 6f 75 74 66 64 20 3e 3d 20 30 20 29 .c_str().);.....if(.outfd.>=.0.)
65860 20 7b 20 63 6c 6f 73 65 28 20 6f 75 74 66 64 20 29 3b 20 6f 75 74 66 64 20 3d 20 2d 31 3b 20 7d .{.close(.outfd.);.outfd.=.-1;.}
65880 0a 20 20 20 20 69 66 28 20 73 74 64 3a 3a 72 65 6d 6f 76 65 28 20 6f 75 74 70 75 74 5f 66 69 6c .....if(.std::remove(.output_fil
658a0 65 6e 61 6d 65 2e 63 5f 73 74 72 28 29 20 29 20 21 3d 20 30 20 26 26 20 65 72 72 6e 6f 20 21 3d ename.c_str().).!=.0.&&.errno.!=
658c0 20 45 4e 4f 45 4e 54 20 29 0a 20 20 20 20 20 20 73 68 6f 77 5f 65 72 72 6f 72 28 20 22 57 41 52 .ENOENT.).......show_error(."WAR
658e0 4e 49 4e 47 3a 20 64 65 6c 65 74 69 6f 6e 20 6f 66 20 6f 75 74 70 75 74 20 66 69 6c 65 20 28 61 NING:.deletion.of.output.file.(a
65900 70 70 61 72 65 6e 74 6c 79 29 20 66 61 69 6c 65 64 2e 22 20 29 3b 0a 20 20 20 20 7d 0a 20 20 73 pparently).failed.".);.....}...s
65920 74 64 3a 3a 65 78 69 74 28 20 72 65 74 76 61 6c 20 29 3b 0a 20 20 7d 0a 0a 0a 65 78 74 65 72 6e td::exit(.retval.);...}...extern
65940 20 22 43 22 20 76 6f 69 64 20 73 69 67 6e 61 6c 5f 68 61 6e 64 6c 65 72 28 20 69 6e 74 20 29 0a ."C".void.signal_handler(.int.).
65960 20 20 7b 0a 20 20 73 68 6f 77 5f 65 72 72 6f 72 28 20 22 43 6f 6e 74 72 6f 6c 2d 43 20 6f 72 20 ..{...show_error(."Control-C.or.
65980 73 69 6d 69 6c 61 72 20 63 61 75 67 68 74 2c 20 71 75 69 74 74 69 6e 67 2e 22 20 29 3b 0a 20 20 similar.caught,.quitting.".);...
659a0 63 6c 65 61 6e 75 70 5f 61 6e 64 5f 66 61 69 6c 28 20 31 20 29 3b 0a 20 20 7d 0a 0a 0a 62 6f 6f cleanup_and_fail(.1.);...}...boo
659c0 6c 20 63 68 65 63 6b 5f 74 74 79 5f 69 6e 28 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e l.check_tty_in(.const.char.*.con
659e0 73 74 20 69 6e 70 75 74 5f 66 69 6c 65 6e 61 6d 65 2c 20 63 6f 6e 73 74 20 69 6e 74 20 69 6e 66 st.input_filename,.const.int.inf
65a00 64 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 4d 6f 64 65 d,....................const.Mode
65a20 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 2c 20 69 6e 74 20 26 20 72 65 74 76 61 6c 20 29 0a 20 20 .program_mode,.int.&.retval.)...
65a40 7b 0a 20 20 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 {...if(.(.program_mode.==.m_deco
65a60 6d 70 72 65 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 mpress.||.program_mode.==.m_test
65a80 20 29 20 26 26 0a 20 20 20 20 20 20 69 73 61 74 74 79 28 20 69 6e 66 64 20 29 20 29 09 09 09 09 .).&&.......isatty(.infd.).)....
65aa0 2f 2f 20 66 6f 72 20 65 78 61 6d 70 6c 65 20 2f 64 65 76 2f 74 74 79 0a 20 20 20 20 7b 20 73 68 //.for.example./dev/tty.....{.sh
65ac0 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 6d 65 2c 0a 20 ow_file_error(.input_filename,..
65ae0 20 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 74 20 72 ......................"I.won't.r
65b00 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 72 6d 69 ead.compressed.data.from.a.termi
65b20 6e 61 6c 2e 22 20 29 3b 0a 20 20 20 20 20 20 63 6c 6f 73 65 28 20 69 6e 66 64 20 29 3b 20 73 65 nal.".);.......close(.infd.);.se
65b40 74 5f 72 65 74 76 61 6c 28 20 72 65 74 76 61 6c 2c 20 32 20 29 3b 0a 20 20 20 20 20 20 69 66 28 t_retval(.retval,.2.);.......if(
65b60 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 21 3d 20 6d 5f 74 65 73 74 20 29 20 63 6c 65 61 6e 75 .program_mode.!=.m_test.).cleanu
65b80 70 5f 61 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 72 65 74 75 p_and_fail(.retval.);.......retu
65ba0 72 6e 20 66 61 6c 73 65 3b 20 7d 0a 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 7d 0a 0a rn.false;.}...return.true;...}..
65bc0 62 6f 6f 6c 20 63 68 65 63 6b 5f 74 74 79 5f 6f 75 74 28 20 63 6f 6e 73 74 20 4d 6f 64 65 20 70 bool.check_tty_out(.const.Mode.p
65be0 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 29 0a 20 20 7b 0a 20 20 69 66 28 20 70 72 6f 67 72 61 6d 5f rogram_mode.)...{...if(.program_
65c00 6d 6f 64 65 20 3d 3d 20 6d 5f 63 6f 6d 70 72 65 73 73 20 26 26 20 69 73 61 74 74 79 28 20 6f 75 mode.==.m_compress.&&.isatty(.ou
65c20 74 66 64 20 29 20 29 0a 20 20 20 20 7b 20 73 68 6f 77 5f 66 69 6c 65 5f 65 72 72 6f 72 28 20 6f tfd.).).....{.show_file_error(.o
65c40 75 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 2e 73 69 7a 65 28 29 20 3f 0a 20 20 20 20 20 20 20 20 utput_filename.size().?.........
65c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 2e 63 ...............output_filename.c
65c80 5f 73 74 72 28 29 20 3a 20 22 28 73 74 64 6f 75 74 29 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 _str().:."(stdout)",............
65ca0 20 20 20 20 20 20 20 20 20 20 20 20 22 49 20 77 6f 6e 27 74 20 77 72 69 74 65 20 63 6f 6d 70 72 ............"I.won't.write.compr
65cc0 65 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 20 29 3b 0a 20 20 essed.data.to.a.terminal.".);...
65ce0 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 20 7d 0a 20 20 72 65 74 75 72 6e 20 74 72 75 ....return.false;.}...return.tru
65d00 65 3b 0a 20 20 7d 0a 0a 0a 2f 2f 20 53 65 74 20 70 65 72 6d 69 73 73 69 6f 6e 73 2c 20 6f 77 6e e;...}...//.Set.permissions,.own
65d20 65 72 2c 20 61 6e 64 20 74 69 6d 65 73 2e 0a 76 6f 69 64 20 63 6c 6f 73 65 5f 61 6e 64 5f 73 65 er,.and.times..void.close_and_se
65d40 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 20 73 74 61 74 t_permissions(.const.struct.stat
65d60 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 62 6f 6f 6c 20 .*.const.in_statsp.)...{...bool.
65d80 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 74 61 74 73 70 warning.=.false;...if(.in_statsp
65da0 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 6f 64 65 20 3d .).....{.....const.mode_t.mode.=
65dc0 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 20 66 63 68 6f .in_statsp->st_mode;.....//.fcho
65de0 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 6e 20 77 69 74 wn.will.in.many.cases.return.wit
65e00 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 79 20 69 67 6e h.EPERM,.which.can.be.safely.ign
65e20 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 2c 20 69 6e 5f ored......if(.fchown(.outfd,.in_
65e40 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 73 74 5f 67 69 statsp->st_uid,.in_statsp->st_gi
65e60 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 6f 64 28 20 6f d.).==.0.).......{.if(.fchmod(.o
65e80 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 20 3d 20 74 72 utfd,.mode.).!=.0.).warning.=.tr
65ea0 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 72 6e 6f 20 21 ue;.}.....else.......if(.errno.!
65ec0 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 28 20 6f 75 74 =.EPERM.||...........fchmod(.out
65ee0 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 53 47 49 44 20 fd,.mode.&.~(.S_ISUID.|.S_ISGID.
65f00 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 20 20 77 61 72 |.S_ISVTX.).).!=.0.).........war
65f20 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 6f 73 65 28 20 ning.=.true;.....}...if(.close(.
65f40 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 6f 77 5f 65 72 outfd.).!=.0.).....{.....show_er
65f60 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 66 69 6c 65 22 ror(."Error.closing.output.file"
65f80 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 66 61 69 6c 28 ,.errno.);.....cleanup_and_fail(
65fa0 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 20 64 65 6c 65 .1.);.....}...outfd.=.-1;...dele
65fc0 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 6c 73 65 3b 0a te_output_on_interrupt.=.false;.
65fe0 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 20 73 74 72 75 ..if(.in_statsp.).....{.....stru
66000 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 3d 20 69 6e 5f ct.utimbuf.t;.....t.actime.=.in_
66020 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 74 69 6d 65 20 statsp->st_atime;.....t.modtime.
66040 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 69 66 28 20 75 =.in_statsp->st_mtime;.....if(.u
66060 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 28 29 2c 20 26 time(.output_filename.c_str(),.&
66080 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 20 20 20 20 7d t.).!=.0.).warning.=.true;.....}
660a0 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 20 3e 3d 20 31 ...if(.warning.&&.verbosity.>=.1
660c0 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 68 61 6e 67 65 .).....show_error(."Can't.change
660e0 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 3b 0a 20 20 7d .output.file.attributes.".);...}
66100 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 0a 20 20 63 6f ...bool.next_filename()...{...co
66120 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 70 75 74 5f 66 nst.unsigned.name_len.=.output_f
66140 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 69 67 6e 65 64 ilename.size();...const.unsigned
66160 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 77 6e 5f 65 78 .ext_len.=.std::strlen(.known_ex
66180 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 61 6d 65 5f 6c tensions[0].from.);...if(.name_l
661a0 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 2a 30 30 30 30 en.>=.ext_len.+.5.)....//."*0000
661c0 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 5f 6c 65 6e 20 1.lz".....for(.int.i.=.name_len.
661e0 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 3b 20 2d 2d 69 -.ext_len.-.1,.j.=.0;.j.<.5;.--i
66200 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 75 74 70 75 74 ,.++j.).......{.......if(.output
66220 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 74 70 75 74 5f _filename[i].<.'9'.).{.++output_
66240 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 0a 20 20 20 20 filename[i];.return.true;.}.....
66260 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 20 27 30 27 3b ..else.output_filename[i].=.'0';
66280 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 7d 0a 0a 0a 69 .......}...return.false;...}...i
662a0 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 20 6c 6f 6e 67 nt.compress(.const.unsigned.long
662c0 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 20 20 20 20 20 .long.cfile_size,...............
662e0 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 62 65 72 5f const.unsigned.long.long.member_
66300 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 6e 73 69 67 6e size,...............const.unsign
66320 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 6f 6e 73 74 20 ed.long.long.volume_size,.const.
66340 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 73 74 20 4c 7a int.infd,...............const.Lz
66360 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 73 2c 20 63 6f ma_options.&.encoder_options,.co
66380 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 20 20 20 20 20 nst.Pretty_print.&.pp,..........
663a0 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 6e 73 74 20 69 .....const.struct.stat.*.const.i
663c0 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 0a 20 20 7b 0a n_statsp,.const.bool.zero.)...{.
663e0 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 64 65 72 5f 62 ..int.retval.=.0;...LZ_encoder_b
66400 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 6d 6f 72 70 68 ase.*.encoder.=.0;..//.polymorph
66420 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 3e 3d 20 31 20 ic.encoder...if(.verbosity.>=.1.
66440 29 20 70 70 28 29 3b 0a 0a 20 20 69 66 28 20 7a 65 72 6f 20 29 0a 20 20 20 20 65 6e 63 6f 64 65 ).pp();....if(.zero.).....encode
66460 72 20 3d 20 6e 65 77 20 46 4c 5a 5f 65 6e 63 6f 64 65 72 28 20 69 6e 66 64 2c 20 6f 75 74 66 64 r.=.new.FLZ_encoder(.infd,.outfd
66480 20 29 3b 0a 20 20 65 6c 73 65 0a 20 20 20 20 7b 0a 20 20 20 20 4c 7a 69 70 5f 68 65 61 64 65 72 .);...else.....{.....Lzip_header
664a0 20 68 65 61 64 65 72 3b 0a 20 20 20 20 69 66 28 20 68 65 61 64 65 72 2e 64 69 63 74 69 6f 6e 61 .header;.....if(.header.dictiona
664c0 72 79 5f 73 69 7a 65 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 ry_size(.encoder_options.diction
664e0 61 72 79 5f 73 69 7a 65 20 29 20 26 26 0a 20 20 20 20 20 20 20 20 65 6e 63 6f 64 65 72 5f 6f 70 ary_size.).&&.........encoder_op
66500 74 69 6f 6e 73 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 tions.match_len_limit.>=.min_mat
66520 63 68 5f 6c 65 6e 5f 6c 69 6d 69 74 20 26 26 0a 20 20 20 20 20 20 20 20 65 6e 63 6f 64 65 72 5f ch_len_limit.&&.........encoder_
66540 6f 70 74 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 options.match_len_limit.<=.max_m
66560 61 74 63 68 5f 6c 65 6e 20 29 0a 20 20 20 20 20 20 65 6e 63 6f 64 65 72 20 3d 20 6e 65 77 20 4c atch_len.).......encoder.=.new.L
66580 5a 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 Z_encoder(.header.dictionary_siz
665a0 65 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 e(),............................
665c0 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 6c .....encoder_options.match_len_l
665e0 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 65 6c 73 65 20 69 6e imit,.infd,.outfd.);.....else.in
66600 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 6e 74 20 ternal_error(."invalid.argument.
66620 74 6f 20 65 6e 63 6f 64 65 72 2e 22 20 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 75 6e 73 69 67 6e 65 to.encoder.".);.....}....unsigne
66640 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 6f 75 74 5f 73 69 7a d.long.long.in_size.=.0,.out_siz
66660 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 65 20 3d 20 30 3b 0a e.=.0,.partial_volume_size.=.0;.
66680 20 20 77 68 69 6c 65 28 20 74 72 75 65 20 29 09 09 2f 2f 20 65 6e 63 6f 64 65 20 6f 6e 65 20 6d ..while(.true.)..//.encode.one.m
666a0 65 6d 62 65 72 20 70 65 72 20 69 74 65 72 61 74 69 6f 6e 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f ember.per.iteration.....{.....co
666c0 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 73 69 7a 65 20 3d 20 28 20 nst.unsigned.long.long.size.=.(.
666e0 76 6f 6c 75 6d 65 5f 73 69 7a 65 20 3e 20 30 20 29 20 3f 0a 20 20 20 20 20 20 73 74 64 3a 3a 6d volume_size.>.0.).?.......std::m
66700 69 6e 28 20 6d 65 6d 62 65 72 5f 73 69 7a 65 2c 20 76 6f 6c 75 6d 65 5f 73 69 7a 65 20 2d 20 70 in(.member_size,.volume_size.-.p
66720 61 72 74 69 61 6c 5f 76 6f 6c 75 6d 65 5f 73 69 7a 65 20 29 20 3a 20 6d 65 6d 62 65 72 5f 73 69 artial_volume_size.).:.member_si
66740 7a 65 3b 0a 20 20 20 20 73 68 6f 77 5f 63 70 72 6f 67 72 65 73 73 28 20 63 66 69 6c 65 5f 73 69 ze;.....show_cprogress(.cfile_si
66760 7a 65 2c 20 69 6e 5f 73 69 7a 65 2c 20 65 6e 63 6f 64 65 72 2c 20 26 70 70 20 29 3b 09 2f 2f 20 ze,.in_size,.encoder,.&pp.);.//.
66780 69 6e 69 74 0a 20 20 20 20 69 66 28 20 21 65 6e 63 6f 64 65 72 2d 3e 65 6e 63 6f 64 65 5f 6d 65 init.....if(.!encoder->encode_me
667a0 6d 62 65 72 28 20 73 69 7a 65 20 29 20 29 0a 20 20 20 20 20 20 7b 20 70 70 28 20 22 45 6e 63 6f mber(.size.).).......{.pp(."Enco
667c0 64 65 72 20 65 72 72 6f 72 2e 22 20 29 3b 20 72 65 74 76 61 6c 20 3d 20 31 3b 20 62 72 65 61 6b der.error.".);.retval.=.1;.break
667e0 3b 20 7d 0a 20 20 20 20 69 6e 5f 73 69 7a 65 20 2b 3d 20 65 6e 63 6f 64 65 72 2d 3e 64 61 74 61 ;.}.....in_size.+=.encoder->data
66800 5f 70 6f 73 69 74 69 6f 6e 28 29 3b 0a 20 20 20 20 6f 75 74 5f 73 69 7a 65 20 2b 3d 20 65 6e 63 _position();.....out_size.+=.enc
66820 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 20 20 20 69 66 28 oder->member_position();.....if(
66840 20 65 6e 63 6f 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 .encoder->data_finished().).brea
66860 6b 3b 0a 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 k;.....if(.volume_size.>.0.)....
66880 20 20 20 7b 0a 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 2b ...{.......partial_volume_size.+
668a0 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 20 =.encoder->member_position();...
668c0 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 3d 20 76 ....if(.partial_volume_size.>=.v
668e0 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 69 7a 65 olume_size.-.min_dictionary_size
66900 20 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 70 61 72 74 69 61 6c 5f 76 6f 6c .).........{.........partial_vol
66920 75 6d 65 5f 73 69 7a 65 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 69 66 28 20 64 65 6c 65 74 65 ume_size.=.0;.........if(.delete
66940 5f 6f 75 74 70 75 74 5f 6f 6e 5f 69 6e 74 65 72 72 75 70 74 20 29 0a 20 20 20 20 20 20 20 20 20 _output_on_interrupt.)..........
66960 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6c 6f 73 65 5f 61 6e 64 5f 73 65 74 5f 70 65 72 6d 69 .{...........close_and_set_permi
66980 73 73 69 6f 6e 73 28 20 69 6e 5f 73 74 61 74 73 70 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 69 ssions(.in_statsp.);...........i
669a0 66 28 20 21 6e 65 78 74 5f 66 69 6c 65 6e 61 6d 65 28 29 20 29 0a 20 20 20 20 20 20 20 20 20 20 f(.!next_filename().)...........
669c0 20 20 7b 20 70 70 28 20 22 54 6f 6f 20 6d 61 6e 79 20 76 6f 6c 75 6d 65 20 66 69 6c 65 73 2e 22 ..{.pp(."Too.many.volume.files."
669e0 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 20 .);.retval.=.1;.break;.}........
66a00 20 20 20 69 66 28 20 21 6f 70 65 6e 5f 6f 75 74 73 74 72 65 61 6d 28 20 74 72 75 65 2c 20 69 6e ...if(.!open_outstream(.true,.in
66a20 5f 73 74 61 74 73 70 20 29 20 29 20 7b 20 72 65 74 76 61 6c 20 3d 20 31 3b 20 62 72 65 61 6b 3b _statsp.).).{.retval.=.1;.break;
66a40 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 20 7d .}...........}.........}.......}
66a60 0a 20 20 20 20 65 6e 63 6f 64 65 72 2d 3e 72 65 73 65 74 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 .....encoder->reset();.....}....
66a80 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.>=.
66aa0 31 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 69 6e 5f 73 69 7a 65 20 3d 3d 20 30 20 7c 1.).....{.....if(.in_size.==.0.|
66ac0 7c 20 6f 75 74 5f 73 69 7a 65 20 3d 3d 20 30 20 29 0a 20 20 20 20 20 20 73 74 64 3a 3a 66 70 75 |.out_size.==.0.).......std::fpu
66ae0 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 6e 22 2c 20 73 74 ts(.".no.data.compressed.\n",.st
66b00 64 65 72 72 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 derr.);.....else.......std::fpri
66b20 6e 74 66 28 20 73 74 64 65 72 72 2c 20 22 25 36 2e 33 66 3a 31 2c 20 25 35 2e 32 66 25 25 20 72 ntf(.stderr,."%6.3f:1,.%5.2f%%.r
66b40 61 74 69 6f 2c 20 25 35 2e 32 66 25 25 20 73 61 76 65 64 2c 20 22 0a 20 20 20 20 20 20 20 20 20 atio,.%5.2f%%.saved,."..........
66b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 25 6c 6c 75 20 69 6e 2c 20 25 6c 6c ..................."%llu.in,.%ll
66b80 75 20 6f 75 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 20 20 28 u.out.\n",.....................(
66ba0 64 6f 75 62 6c 65 29 69 6e 5f 73 69 7a 65 20 2f 20 6f 75 74 5f 73 69 7a 65 2c 0a 20 20 20 20 20 double)in_size./.out_size,......
66bc0 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 6f 75 74 5f 73 69 7a ...............(.100.0.*.out_siz
66be0 65 20 29 20 2f 20 69 6e 5f 73 69 7a 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e.)./.in_size,..................
66c00 20 20 20 31 30 30 2e 30 20 2d 20 28 20 28 20 31 30 30 2e 30 20 2a 20 6f 75 74 5f 73 69 7a 65 20 ...100.0.-.(.(.100.0.*.out_size.
66c20 29 20 2f 20 69 6e 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 )./.in_size.),..................
66c40 20 20 20 69 6e 5f 73 69 7a 65 2c 20 6f 75 74 5f 73 69 7a 65 20 29 3b 0a 20 20 20 20 7d 0a 20 20 ...in_size,.out_size.);.....}...
66c60 64 65 6c 65 74 65 20 65 6e 63 6f 64 65 72 3b 0a 20 20 72 65 74 75 72 6e 20 72 65 74 76 61 6c 3b delete.encoder;...return.retval;
66c80 0a 20 20 7d 0a 0a 0a 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 78 64 69 67 69 74 28 20 63 6f 6e ...}...unsigned.char.xdigit(.con
66ca0 73 74 20 75 6e 73 69 67 6e 65 64 20 76 61 6c 75 65 20 29 0a 20 20 7b 0a 20 20 69 66 28 20 76 61 st.unsigned.value.)...{...if(.va
66cc0 6c 75 65 20 3c 3d 20 39 20 29 20 72 65 74 75 72 6e 20 27 30 27 20 2b 20 76 61 6c 75 65 3b 0a 20 lue.<=.9.).return.'0'.+.value;..
66ce0 20 69 66 28 20 76 61 6c 75 65 20 3c 3d 20 31 35 20 29 20 72 65 74 75 72 6e 20 27 41 27 20 2b 20 .if(.value.<=.15.).return.'A'.+.
66d00 76 61 6c 75 65 20 2d 20 31 30 3b 0a 20 20 72 65 74 75 72 6e 20 30 3b 0a 20 20 7d 0a 0a 0a 62 6f value.-.10;...return.0;...}...bo
66d20 6f 6c 20 73 68 6f 77 5f 74 72 61 69 6c 69 6e 67 5f 64 61 74 61 28 20 63 6f 6e 73 74 20 75 69 6e ol.show_trailing_data(.const.uin
66d40 74 38 5f 74 20 2a 20 63 6f 6e 73 74 20 64 61 74 61 2c 20 63 6f 6e 73 74 20 69 6e 74 20 73 69 7a t8_t.*.const.data,.const.int.siz
66d60 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 20 20 20 63 6f 6e 73 e,..........................cons
66d80 74 20 50 72 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 t.Pretty_print.&.pp,.const.bool.
66da0 61 6c 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 20 20 63 6f all,..........................co
66dc0 6e 73 74 20 69 6e 74 20 69 67 6e 6f 72 65 5f 74 72 61 69 6c 69 6e 67 20 29 09 2f 2f 20 2d 31 20 nst.int.ignore_trailing.).//.-1.
66de0 3d 20 73 68 6f 77 0a 20 20 7b 0a 20 20 69 66 28 20 76 65 72 62 6f 73 69 74 79 20 3e 3d 20 34 20 =.show...{...if(.verbosity.>=.4.
66e00 7c 7c 20 69 67 6e 6f 72 65 5f 74 72 61 69 6c 69 6e 67 20 3c 3d 20 30 20 29 0a 20 20 20 20 7b 0a ||.ignore_trailing.<=.0.).....{.
66e20 20 20 20 20 73 74 64 3a 3a 73 74 72 69 6e 67 20 6d 73 67 3b 0a 20 20 20 20 69 66 28 20 21 61 6c ....std::string.msg;.....if(.!al
66e40 6c 20 29 20 6d 73 67 20 3d 20 22 66 69 72 73 74 20 62 79 74 65 73 20 6f 66 20 22 3b 0a 20 20 20 l.).msg.=."first.bytes.of.";....
66e60 20 6d 73 67 20 2b 3d 20 22 74 72 61 69 6c 69 6e 67 20 64 61 74 61 20 3d 20 22 3b 0a 20 20 20 20 .msg.+=."trailing.data.=.";.....
66e80 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 2b 2b 69 20 29 0a for(.int.i.=.0;.i.<.size;.++i.).
66ea0 20 20 20 20 20 20 7b 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 ......{.......msg.+=.xdigit(.dat
66ec0 61 5b 69 5d 20 3e 3e 20 34 20 29 3b 0a 20 20 20 20 20 20 6d 73 67 20 2b 3d 20 78 64 69 67 69 74 a[i].>>.4.);.......msg.+=.xdigit
66ee0 28 20 64 61 74 61 5b 69 5d 20 26 20 30 78 30 46 20 29 3b 0a 20 20 20 20 20 20 6d 73 67 20 2b 3d (.data[i].&.0x0F.);.......msg.+=
66f00 20 27 20 27 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 6d 73 67 20 2b 3d 20 27 5c 27 27 3b 0a 20 .'.';.......}.....msg.+=.'\'';..
66f20 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 2b 2b 69 ...for(.int.i.=.0;.i.<.size;.++i
66f40 20 29 0a 20 20 20 20 20 20 7b 20 69 66 28 20 73 74 64 3a 3a 69 73 70 72 69 6e 74 28 20 64 61 74 .).......{.if(.std::isprint(.dat
66f60 61 5b 69 5d 20 29 20 29 20 6d 73 67 20 2b 3d 20 64 61 74 61 5b 69 5d 3b 20 65 6c 73 65 20 6d 73 a[i].).).msg.+=.data[i];.else.ms
66f80 67 20 2b 3d 20 27 2e 27 3b 20 7d 0a 20 20 20 20 6d 73 67 20 2b 3d 20 27 5c 27 27 3b 0a 20 20 20 g.+=.'.';.}.....msg.+=.'\'';....
66fa0 20 70 70 28 20 6d 73 67 2e 63 5f 73 74 72 28 29 20 29 3b 0a 20 20 20 20 69 66 28 20 69 67 6e 6f .pp(.msg.c_str().);.....if(.igno
66fc0 72 65 5f 74 72 61 69 6c 69 6e 67 20 3d 3d 20 30 20 29 20 73 68 6f 77 5f 66 69 6c 65 5f 65 72 72 re_trailing.==.0.).show_file_err
66fe0 6f 72 28 20 70 70 2e 6e 61 6d 65 28 29 2c 20 74 72 61 69 6c 69 6e 67 5f 6d 73 67 20 29 3b 0a 20 or(.pp.name(),.trailing_msg.);..
67000 20 20 20 7d 0a 20 20 72 65 74 75 72 6e 20 28 20 69 67 6e 6f 72 65 5f 74 72 61 69 6c 69 6e 67 20 ...}...return.(.ignore_trailing.
67020 3e 20 30 20 29 3b 0a 20 20 7d 0a 0a 0a 69 6e 74 20 64 65 63 6f 6d 70 72 65 73 73 28 20 63 6f 6e >.0.);...}...int.decompress(.con
67040 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 69 7a 65 st.unsigned.long.long.cfile_size
67060 2c 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 ,.const.int.infd,...............
67080 20 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 20 63 6f 6e 73 74 ..const.Pretty_print.&.pp,.const
670a0 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 20 20 20 20 .bool.ignore_trailing,..........
670c0 20 20 20 20 20 20 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 67 .......const.bool.loose_trailing
670e0 2c 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 74 65 73 74 69 6e 67 20 29 0a 20 20 7b 0a 20 20 75 6e 73 ,.const.bool.testing.)...{...uns
67100 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 70 61 72 74 69 61 6c 5f 66 69 6c 65 5f 70 6f 73 igned.long.long.partial_file_pos
67120 20 3d 20 30 3b 0a 20 20 52 61 6e 67 65 5f 64 65 63 6f 64 65 72 20 72 64 65 63 28 20 69 6e 66 64 .=.0;...Range_decoder.rdec(.infd
67140 20 29 3b 0a 20 20 69 6e 74 20 72 65 74 76 61 6c 20 3d 20 30 3b 0a 0a 20 20 66 6f 72 28 20 62 6f .);...int.retval.=.0;....for(.bo
67160 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 72 73 74 5f ol.first_member.=.true;.;.first_
67180 6d 65 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 4c 7a 69 70 5f member.=.false.).....{.....Lzip_
671a0 68 65 61 64 65 72 20 68 65 61 64 65 72 3b 0a 20 20 20 20 72 64 65 63 2e 72 65 73 65 74 5f 6d 65 header.header;.....rdec.reset_me
671c0 6d 62 65 72 5f 70 6f 73 69 74 69 6f 6e 28 29 3b 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 73 mber_position();.....const.int.s
671e0 69 7a 65 20 3d 20 72 64 65 63 2e 72 65 61 64 5f 64 61 74 61 28 20 68 65 61 64 65 72 2e 64 61 74 ize.=.rdec.read_data(.header.dat
67200 61 2c 20 4c 7a 69 70 5f 68 65 61 64 65 72 3a 3a 73 69 7a 65 20 29 3b 0a 20 20 20 20 69 66 28 20 a,.Lzip_header::size.);.....if(.
67220 72 64 65 63 2e 66 69 6e 69 73 68 65 64 28 29 20 29 09 09 09 2f 2f 20 45 6e 64 20 4f 66 20 46 69 rdec.finished().)...//.End.Of.Fi
67240 6c 65 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 69 66 28 20 66 69 72 73 74 5f 6d 65 6d 62 65 le.......{.......if(.first_membe
67260 72 20 29 0a 20 20 20 20 20 20 20 20 7b 20 73 68 6f 77 5f 66 69 6c 65 5f 65 72 72 6f 72 28 20 70 r.).........{.show_file_error(.p
67280 70 2e 6e 61 6d 65 28 29 2c 20 22 46 69 6c 65 20 65 6e 64 73 20 75 6e 65 78 70 65 63 74 65 64 6c p.name(),."File.ends.unexpectedl
672a0 79 20 61 74 20 6d 65 6d 62 65 72 20 68 65 61 64 65 72 2e 22 20 29 3b 0a 20 20 20 20 20 20 20 20 y.at.member.header.".);.........
672c0 20 20 72 65 74 76 61 6c 20 3d 20 32 3b 20 7d 0a 20 20 20 20 20 20 65 6c 73 65 20 69 66 28 20 68 ..retval.=.2;.}.......else.if(.h
672e0 65 61 64 65 72 2e 76 65 72 69 66 79 5f 70 72 65 66 69 78 28 20 73 69 7a 65 20 29 20 29 0a 20 20 eader.verify_prefix(.size.).)...
67300 20 20 20 20 20 20 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 ......{.pp(."Truncated.header.in
67320 20 6d 75 6c 74 69 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 .multimember.file.".);..........
67340 20 73 68 6f 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 .show_trailing_data(.header.data
67360 2c 20 73 69 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 ,.size,.pp,.true,.-1.);.........
67380 20 20 72 65 74 76 61 6c 20 3d 20 32 3b 20 7d 0a 20 20 20 20 20 20 65 6c 73 65 20 69 66 28 20 73 ..retval.=.2;.}.......else.if(.s
673a0 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(.
673c0 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,..........
673e0 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 ................................
67400 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 20 29 .......true,.ignore_trailing.).)
67420 0a 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 62 72 65 61 6b .........retval.=.2;.......break
67440 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 69 66 28 20 21 68 65 61 64 65 72 2e 76 65 72 69 66 79 ;.......}.....if(.!header.verify
67460 5f 6d 61 67 69 63 28 29 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 69 66 28 20 66 69 72 _magic().).......{.......if(.fir
67480 73 74 5f 6d 65 6d 62 65 72 20 29 0a 20 20 20 20 20 20 20 20 7b 20 73 68 6f 77 5f 66 69 6c 65 5f st_member.).........{.show_file_
674a0 65 72 72 6f 72 28 20 70 70 2e 6e 61 6d 65 28 29 2c 20 62 61 64 5f 6d 61 67 69 63 5f 6d 73 67 20 error(.pp.name(),.bad_magic_msg.
674c0 29 3b 20 72 65 74 76 61 6c 20 3d 20 32 3b 20 7d 0a 20 20 20 20 20 20 65 6c 73 65 20 69 66 28 20 );.retval.=.2;.}.......else.if(.
674e0 21 6c 6f 6f 73 65 5f 74 72 61 69 6c 69 6e 67 20 26 26 20 68 65 61 64 65 72 2e 76 65 72 69 66 79 !loose_trailing.&&.header.verify
67500 5f 63 6f 72 72 75 70 74 28 29 20 29 0a 20 20 20 20 20 20 20 20 7b 20 70 70 28 20 63 6f 72 72 75 _corrupt().).........{.pp(.corru
67520 70 74 5f 6d 6d 5f 6d 73 67 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 73 68 6f 77 5f 74 72 61 69 pt_mm_msg.);...........show_trai
67540 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 7a 65 2c 20 70 70 ling_data(.header.data,.size,.pp
67560 2c 20 66 61 6c 73 65 2c 20 2d 31 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 72 65 74 76 61 6c 20 ,.false,.-1.);...........retval.
67580 3d 20 32 3b 20 7d 0a 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 =.2;.}.......else.if(.!show_trai
675a0 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 7a 65 2c 20 70 70 ling_data(.header.data,.size,.pp
675c0 2c 20 66 61 6c 73 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 ,.false,.ignore_trailing.).)....
675e0 20 20 20 20 20 72 65 74 76 61 6c 20 3d 20 32 3b 0a 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 .....retval.=.2;.......break;...
67600 20 20 20 20 7d 0a 20 20 20 20 69 66 28 20 21 68 65 61 64 65 72 2e 76 65 72 69 66 79 5f 76 65 72 ....}.....if(.!header.verify_ver
67620 73 69 6f 6e 28 29 20 29 0a 20 20 20 20 20 20 7b 20 70 70 28 20 62 61 64 5f 76 65 72 73 69 6f 6e sion().).......{.pp(.bad_version
67640 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 61 6c 20 3d (.header.version().).);.retval.=
67660 20 32 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 .2;.break;.}.....const.unsigned.
67680 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 69 63 74 69 6f 6e dictionary_size.=.header.diction
676a0 61 72 79 5f 73 69 7a 65 28 29 3b 0a 20 20 20 20 69 66 28 20 21 69 73 76 61 6c 69 64 5f 64 73 28 ary_size();.....if(.!isvalid_ds(
676c0 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 20 29 0a 20 20 20 20 20 20 7b 20 70 70 28 .dictionary_size.).).......{.pp(
676e0 20 62 61 64 5f 64 69 63 74 5f 6d 73 67 20 29 3b 20 72 65 74 76 61 6c 20 3d 20 32 3b 20 62 72 65 .bad_dict_msg.);.retval.=.2;.bre
67700 61 6b 3b 20 7d 0a 0a 20 20 20 20 69 66 28 20 76 65 72 62 6f 73 69 74 79 20 3e 3d 20 32 20 7c 7c ak;.}......if(.verbosity.>=.2.||
67720 20 28 20 76 65 72 62 6f 73 69 74 79 20 3d 3d 20 31 20 26 26 20 66 69 72 73 74 5f 6d 65 6d 62 65 .(.verbosity.==.1.&&.first_membe
67740 72 20 29 20 29 20 70 70 28 29 3b 0a 0a 20 20 20 20 4c 5a 5f 64 65 63 6f 64 65 72 20 64 65 63 6f r.).).pp();......LZ_decoder.deco
67760 64 65 72 28 20 72 64 65 63 2c 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 2c 20 6f 75 74 66 der(.rdec,.dictionary_size,.outf
67780 64 20 29 3b 0a 20 20 20 20 73 68 6f 77 5f 64 70 72 6f 67 72 65 73 73 28 20 63 66 69 6c 65 5f 73 d.);.....show_dprogress(.cfile_s
677a0 69 7a 65 2c 20 70 61 72 74 69 61 6c 5f 66 69 6c 65 5f 70 6f 73 2c 20 26 72 64 65 63 2c 20 26 70 ize,.partial_file_pos,.&rdec,.&p
677c0 70 20 29 3b 09 2f 2f 20 69 6e 69 74 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 72 65 73 75 6c p.);.//.init.....const.int.resul
677e0 74 20 3d 20 64 65 63 6f 64 65 72 2e 64 65 63 6f 64 65 5f 6d 65 6d 62 65 72 28 20 70 70 20 29 3b t.=.decoder.decode_member(.pp.);
67800 0a 20 20 20 20 70 61 72 74 69 61 6c 5f 66 69 6c 65 5f 70 6f 73 20 2b 3d 20 72 64 65 63 2e 6d 65 .....partial_file_pos.+=.rdec.me
67820 6d 62 65 72 5f 70 6f 73 69 74 69 6f 6e 28 29 3b 0a 20 20 20 20 69 66 28 20 72 65 73 75 6c 74 20 mber_position();.....if(.result.
67840 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 76 65 72 62 6f 73 69 !=.0.).......{.......if(.verbosi
67860 74 79 20 3e 3d 20 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 ty.>=.0.&&.result.<=.2.)........
67880 20 7b 0a 20 20 20 20 20 20 20 20 70 70 28 29 3b 0a 20 20 20 20 20 20 20 20 73 74 64 3a 3a 66 70 .{.........pp();.........std::fp
678a0 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
678c0 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.).?............
678e0 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 65 64 ..........."File.ends.unexpected
67900 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 20 20 ly".:."Decoder.error",..........
67920 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 73 20 29 3b .............partial_file_pos.);
67940 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 72 65 74 76 61 6c 20 3d 20 32 3b 20 62 72 65 .........}.......retval.=.2;.bre
67960 61 6b 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 ak;.......}.....if(.verbosity.>=
67980 20 32 20 29 0a 20 20 20 20 20 20 7b 20 73 74 64 3a 3a 66 70 75 74 73 28 20 74 65 73 74 69 6e 67 .2.).......{.std::fputs(.testing
679a0 20 3f 20 22 6f 6b 5c 6e 22 20 3a 20 22 64 6f 6e 65 5c 6e 22 2c 20 73 74 64 65 72 72 20 29 3b 20 .?."ok\n".:."done\n",.stderr.);.
679c0 70 70 2e 72 65 73 65 74 28 29 3b 20 7d 0a 20 20 20 20 7d 0a 20 20 69 66 28 20 76 65 72 62 6f 73 pp.reset();.}.....}...if(.verbos
679e0 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 74 ity.==.1.&&.retval.==.0.).....st
67a00 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 6f d::fputs(.testing.?."ok\n".:."do
67a20 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 6c ne\n",.stderr.);...return.retval
67a40 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 76 6f 69 64 ;...}..}.//.end.namespace...void
67a60 20 73 68 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 .show_error(.const.char.*.const.
67a80 6d 73 67 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 msg,.const.int.errcode,.const.bo
67aa0 6f 6c 20 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 ol.help.)...{...if(.verbosity.<.
67ac0 30 20 29 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 0.).return;...if(.msg.&&.msg[0].
67ae0 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 2c 20 22 25 73 3a ).....std::fprintf(.stderr,."%s:
67b00 20 25 73 25 73 25 73 5c 6e 22 2c 20 70 72 6f 67 72 61 6d 5f 6e 61 6d 65 2c 20 6d 73 67 2c 0a 20 .%s%s%s\n",.program_name,.msg,..
67b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 20 65 72 72 63 6f 64 65 20 3e 20 30 20 29 .................(.errcode.>.0.)
67b40 20 3f 20 22 3a 20 22 20 3a 20 22 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .?.":.".:."",...................
67b60 28 20 65 72 72 63 6f 64 65 20 3e 20 30 20 29 20 3f 20 73 74 64 3a 3a 73 74 72 65 72 72 6f 72 28 (.errcode.>.0.).?.std::strerror(
67b80 20 65 72 72 63 6f 64 65 20 29 20 3a 20 22 22 20 29 3b 0a 20 20 69 66 28 20 68 65 6c 70 20 29 0a .errcode.).:."".);...if(.help.).
67ba0 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 27 ....std::fprintf(.stderr,."Try.'
67bc0 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 2e %s.--help'.for.more.information.
67be0 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 6f \n",...................invocatio
67c00 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 65 n_name.);...}...void.show_file_e
67c20 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 6d rror(.const.char.*.const.filenam
67c40 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 20 e,.const.char.*.const.msg,......
67c60 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 6f .................const.int.errco
67c80 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 3e 3d 20 30 20 29 0a de.)...{...if(.verbosity.>=.0.).
67ca0 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 25 73 3a 20 25 ....std::fprintf(.stderr,."%s:.%
67cc0 73 3a 20 25 73 25 73 25 73 5c 6e 22 2c 20 70 72 6f 67 72 61 6d 5f 6e 61 6d 65 2c 20 66 69 6c 65 s:.%s%s%s\n",.program_name,.file
67ce0 6e 61 6d 65 2c 20 6d 73 67 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 20 65 name,.msg,...................(.e
67d00 72 72 63 6f 64 65 20 3e 20 30 20 29 20 3f 20 22 3a 20 22 20 3a 20 22 22 2c 0a 20 20 20 20 20 20 rrcode.>.0.).?.":.".:."",.......
67d20 20 20 20 20 20 20 20 20 20 20 20 20 28 20 65 72 72 63 6f 64 65 20 3e 20 30 20 29 20 3f 20 73 74 ............(.errcode.>.0.).?.st
67d40 64 3a 3a 73 74 72 65 72 72 6f 72 28 20 65 72 72 63 6f 64 65 20 29 20 3a 20 22 22 20 29 3b 0a 20 d::strerror(.errcode.).:."".);..
67d60 20 7d 0a 0a 0a 76 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 .}...void.internal_error(.const.
67d80 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 69 66 28 20 76 65 72 char.*.const.msg.)...{...if(.ver
67da0 62 6f 73 69 74 79 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 bosity.>=.0.).....std::fprintf(.
67dc0 73 74 64 65 72 72 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 stderr,."%s:.internal.error:.%s\
67de0 6e 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 73 74 64 3a 3a n",.program_name,.msg.);...std::
67e00 65 78 69 74 28 20 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 exit(.3.);...}...void.show_cprog
67e20 72 65 73 73 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 63 ress(.const.unsigned.long.long.c
67e40 66 69 6c 65 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 file_size,......................
67e60 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 70 61 72 74 69 61 6c const.unsigned.long.long.partial
67e80 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 63 6f 6e 73 _size,......................cons
67ea0 74 20 4d 61 74 63 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 t.Matchfinder_base.*.const.m,...
67ec0 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 50 72 65 74 74 79 5f ...................const.Pretty_
67ee0 70 72 69 6e 74 20 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 print.*.const.p.)...{...static.u
67f00 6e 73 69 67 6e 65 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 nsigned.long.long.csize.=.0;..//
67f20 20 66 69 6c 65 5f 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 .file_size./.100...static.unsign
67f40 65 64 20 6c 6f 6e 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 ed.long.long.psize.=.0;...static
67f60 20 63 6f 6e 73 74 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 .const.Matchfinder_base.*.mb.=.0
67f80 3b 0a 20 20 73 74 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 ;...static.const.Pretty_print.*.
67fa0 70 70 20 3d 20 30 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 pp.=.0;...static.bool.enabled.=.
67fc0 74 72 75 65 3b 0a 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 true;....if(.!enabled.).return;.
67fe0 20 20 69 66 28 20 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 ..if(.p.).....//.initialize.stat
68000 69 63 20 76 61 72 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 ic.vars.....{.....if(.verbosity.
68020 3c 20 32 20 7c 7c 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 <.2.||.!isatty(.STDERR_FILENO.).
68040 29 20 7b 20 65 6e 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 ).{.enabled.=.false;.return;.}..
68060 20 20 20 63 73 69 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 ...csize.=.cfile_size;.psize.=.p
68080 61 72 74 69 61 6c 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 artial_size;.mb.=.m;.pp.=.p;....
680a0 20 7d 0a 20 20 69 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 .}...if(.mb.&&.pp.).....{.....co
680c0 6e 73 74 20 75 6e 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 nst.unsigned.long.long.pos.=.psi
680e0 7a 65 20 2b 20 6d 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 ze.+.mb->data_position();.....if
68100 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 66 70 72 69 6e 74 66 (.csize.>.0.).......std::fprintf
68120 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 4d 42 5c 72 22 2c 20 (.stderr,."%4llu%%..%.1f.MB\r",.
68140 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 30 2e 30 20 29 3b 0a pos./.csize,.pos./.1000000.0.);.
68160 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 20 73 74 64 ....else.......std::fprintf(.std
68180 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 20 31 30 30 30 30 30 err,."..%.1f.MB\r",.pos./.100000
681a0 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 2a 70 70 29 28 29 3b 0.0.);.....pp->reset();.(*pp)();
681c0 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 74 69 6f 6e 0a 20 20 ...//.restore.cursor.position...
681e0 20 20 7d 0a 20 20 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 ..}...}...void.show_dprogress(.c
68200 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 69 onst.unsigned.long.long.cfile_si
68220 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 75 ze,......................const.u
68240 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 0a nsigned.long.long.partial_size,.
68260 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 61 6e 67 65 .....................const.Range
68280 5f 64 65 63 6f 64 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 _decoder.*.const.d,.............
682a0 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 2a 20 63 6f .........const.Pretty_print.*.co
682c0 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 64 20 6c 6f nst.p.)...{...static.unsigned.lo
682e0 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 73 69 7a 65 ng.long.csize.=.0;..//.file_size
68300 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 67 20 6c 6f ./.100...static.unsigned.long.lo
68320 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 20 52 61 6e ng.psize.=.0;...static.const.Ran
68340 67 65 5f 64 65 63 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 ge_decoder.*.rdec.=.0;...static.
68360 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 3b 0a 20 20 73 const.Pretty_print.*.pp.=.0;...s
68380 74 61 74 69 63 20 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 tatic.int.counter.=.0;...static.
683a0 62 6f 6f 6c 20 65 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 bool.enabled.=.true;....if(.!ena
683c0 62 6c 65 64 20 29 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 bled.).return;...if(.p.).....//.
683e0 69 6e 69 74 69 61 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 initialize.static.vars.....{....
68400 20 69 66 28 20 76 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 .if(.verbosity.<.2.||.!isatty(.S
68420 54 44 45 52 52 5f 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 TDERR_FILENO.).).{.enabled.=.fal
68440 73 65 3b 20 72 65 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 se;.return;.}.....csize.=.cfile_
68460 73 69 7a 65 3b 20 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 size;.psize.=.partial_size;.rdec
68480 20 3d 20 64 3b 20 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 .=.d;.pp.=.p;.counter.=.0;.....}
684a0 0a 20 20 69 66 28 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 ...if(.rdec.&&.pp.&&.--counter.<
684c0 3d 20 30 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 6c =.0.).....{.....const.unsigned.l
684e0 6f 6e 67 20 6c 6f 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 ong.long.pos.=.psize.+.rdec->mem
68500 62 65 72 5f 70 6f 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 ber_position();.....counter.=.7;
68520 09 09 2f 2f 20 75 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 ..//.update.display.every.114688
68540 20 62 79 74 65 73 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 .bytes.....if(.csize.>.0.)......
68560 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 34 6c 6c 75 25 25 20 .std::fprintf(.stderr,."%4llu%%.
68580 20 25 2e 31 66 20 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 .%.1f.MB\r",.pos./.csize,.pos./.
685a0 31 30 30 30 30 30 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 1000000.0.);.....else.......std:
685c0 3a 66 70 72 69 6e 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 :fprintf(.stderr,."..%.1f.MB\r",
685e0 20 70 6f 73 20 2f 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 .pos./.1000000.0.);.....pp->rese
68600 74 28 29 3b 20 28 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 t();.(*pp)();...//.restore.curso
68620 72 20 70 6f 73 69 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 r.position.....}...}...int.main(
68640 20 63 6f 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 .const.int.argc,.const.char.*.co
68660 6e 73 74 20 61 72 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 nst.argv[].)...{.../*.Mapping.fr
68680 6f 6d 20 67 7a 69 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 om.gzip/bzip2.style.1..9.compres
686a0 73 69 6f 6e 20 6d 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 sion.modes......to.the.correspon
686c0 64 69 6e 67 20 4c 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 ding.LZMA.compression.modes..*/.
686e0 20 20 63 6f 6e 73 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 ..const.Lzma_options.option_mapp
68700 69 6e 67 5b 5d 20 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 ing[].=.....{.....{.1.<<.16,..16
68720 20 7d 2c 09 09 2f 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 .},..//.-0.....{.1.<<.20,...5.},
68740 09 09 2f 2f 20 2d 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 ..//.-1.....{.3.<<.19,...6.},../
68760 2f 20 2d 32 0a 20 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 /.-2.....{.1.<<.21,...8.},..//.-
68780 33 0a 20 20 20 20 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 3.....{.3.<<.20,..12.},..//.-4..
687a0 20 20 20 7b 20 31 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 ...{.1.<<.22,..20.},..//.-5.....
687c0 7b 20 31 20 3c 3c 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 {.1.<<.23,..36.},..//.-6.....{.1
687e0 20 3c 3c 20 32 34 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 .<<.24,..68.},..//.-7.....{.3.<<
68800 20 32 33 2c 20 31 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 .23,.132.},..//.-8.....{.1.<<.25
68820 2c 20 32 37 33 20 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 ,.273.}.};..//.-9...Lzma_options
68840 20 65 6e 63 6f 64 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 .encoder_options.=.option_mappin
68860 67 5b 36 5d 3b 09 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 g[6];.//.default.=."-6"...const.
68880 75 6e 73 69 67 6e 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 unsigned.long.long.max_member_si
688a0 7a 65 20 3d 20 30 78 30 30 30 38 30 30 30 30 30 30 30 30 30 30 30 30 55 4c 4c 3b 20 2f 2a 20 32 ze.=.0x0008000000000000ULL;./*.2
688c0 20 50 69 42 20 2a 2f 0a 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f .PiB.*/...const.unsigned.long.lo
688e0 6e 67 20 6d 61 78 5f 76 6f 6c 75 6d 65 5f 73 69 7a 65 20 3d 20 30 78 34 30 30 30 30 30 30 30 30 ng.max_volume_size.=.0x400000000
68900 30 30 30 30 30 30 30 55 4c 4c 3b 20 2f 2a 20 34 20 45 69 42 20 2a 2f 0a 20 20 75 6e 73 69 67 6e 0000000ULL;./*.4.EiB.*/...unsign
68920 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 5f 6d ed.long.long.member_size.=.max_m
68940 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 6e 67 ember_size;...unsigned.long.long
68960 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 67 20 .volume_size.=.0;...std::string.
68980 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 4d 6f 64 65 20 default_output_filename;...Mode.
689a0 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 3d 20 6d 5f 63 6f 6d 70 72 65 73 73 3b 0a 20 20 62 6f 6f program_mode.=.m_compress;...boo
689c0 6c 20 66 6f 72 63 65 20 3d 20 66 61 6c 73 65 3b 0a 20 20 62 6f 6f 6c 20 69 67 6e 6f 72 65 5f 74 l.force.=.false;...bool.ignore_t
689e0 72 61 69 6c 69 6e 67 20 3d 20 74 72 75 65 3b 0a 20 20 62 6f 6f 6c 20 6b 65 65 70 5f 69 6e 70 75 railing.=.true;...bool.keep_inpu
68a00 74 5f 66 69 6c 65 73 20 3d 20 66 61 6c 73 65 3b 0a 20 20 62 6f 6f 6c 20 6c 6f 6f 73 65 5f 74 72 t_files.=.false;...bool.loose_tr
68a20 61 69 6c 69 6e 67 20 3d 20 66 61 6c 73 65 3b 0a 20 20 62 6f 6f 6c 20 72 65 63 6f 6d 70 72 65 73 ailing.=.false;...bool.recompres
68a40 73 20 3d 20 66 61 6c 73 65 3b 0a 20 20 62 6f 6f 6c 20 74 6f 5f 73 74 64 6f 75 74 20 3d 20 66 61 s.=.false;...bool.to_stdout.=.fa
68a60 6c 73 65 3b 0a 20 20 62 6f 6f 6c 20 7a 65 72 6f 20 3d 20 66 61 6c 73 65 3b 0a 20 20 69 66 28 20 lse;...bool.zero.=.false;...if(.
68a80 61 72 67 63 20 3e 20 30 20 29 20 69 6e 76 6f 63 61 74 69 6f 6e 5f 6e 61 6d 65 20 3d 20 61 72 67 argc.>.0.).invocation_name.=.arg
68aa0 76 5b 30 5d 3b 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 v[0];....enum.{.opt_lt.=.256.};.
68ac0 20 20 63 6f 6e 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 ..const.Arg_parser::Option.optio
68ae0 6e 73 5b 5d 20 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 ns[].=.....{.....{.'0',."fast",.
68b00 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..},.
68b20 20 20 20 20 7b 20 27 31 27 2c 20 30 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....{.'1',.0,...................
68b40 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 32 27 2c 20 30 2c Arg_parser::no..},.....{.'2',.0,
68b60 20 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 6e ...................Arg_parser::n
68b80 6f 20 20 7d 2c 0a 20 20 20 20 7b 20 27 33 27 2c 20 30 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 o..},.....{.'3',.0,.............
68ba0 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 27 ......Arg_parser::no..},.....{.'
68bc0 34 27 2c 20 30 2c 20 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 4',.0,...................Arg_par
68be0 73 65 72 3a 3a 6e 6f 20 20 7d 2c 0a 20 20 20 20 7b 20 27 35 27 2c 20 30 2c 20 20 20 20 20 20 20 ser::no..},.....{.'5',.0,.......
68c00 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..},..
68c20 20 20 20 7b 20 27 36 27 2c 20 30 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 ...{.'6',.0,...................A
68c40 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 37 27 2c 20 30 2c 20 rg_parser::no..},.....{.'7',.0,.
68c60 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 6e 6f ..................Arg_parser::no
68c80 20 20 7d 2c 0a 20 20 20 20 7b 20 27 38 27 2c 20 30 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..},.....{.'8',.0,..............
68ca0 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 39 .....Arg_parser::no..},.....{.'9
68cc0 27 2c 20 22 62 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 ',."best",..............Arg_pars
68ce0 65 72 3a 3a 6e 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 er::no..},.....{.'a',."trailing-
68d00 65 72 72 6f 72 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 error",....Arg_parser::no..},...
68d20 20 20 7b 20 27 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 ..{.'b',."member-size",.......Ar
68d40 67 5f 70 61 72 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 g_parser::yes.},.....{.'c',."std
68d60 6f 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 72 3a 3a 6e 6f 20 out",............Arg_parser::no.
68d80 20 7d 2c 0a 20 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 .},.....{.'d',."decompress",....
68da0 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 66 27 ....Arg_parser::no..},.....{.'f'
68dc0 2c 20 22 66 6f 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 ,."force",.............Arg_parse
68de0 72 3a 3a 6e 6f 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 r::no..},.....{.'F',."recompress
68e00 22 2c 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..},....
68e20 20 7b 20 27 68 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 .{.'h',."help",..............Arg
68e40 5f 70 61 72 73 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 _parser::no..},.....{.'k',."keep
68e60 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 6f 20 20 ",..............Arg_parser::no..
68e80 7d 2c 0a 20 20 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 },.....{.'l',."list",...........
68ea0 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 6d 27 2c ...Arg_parser::no..},.....{.'m',
68ec0 20 22 6d 61 74 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 ."match-length",......Arg_parser
68ee0 3a 3a 79 65 73 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 ::yes.},.....{.'n',."threads",..
68f00 20 20 20 20 20 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 .........Arg_parser::yes.},.....
68f20 7b 20 27 6f 27 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 {.'o',."output",............Arg_
68f40 70 61 72 73 65 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 parser::yes.},.....{.'q',."quiet
68f60 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 20 20 7d ",.............Arg_parser::no..}
68f80 2c 0a 20 20 20 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 ,.....{.'s',."dictionary-size",.
68fa0 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 53 27 2c 20 ..Arg_parser::yes.},.....{.'S',.
68fc0 22 76 6f 6c 75 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 "volume-size",.......Arg_parser:
68fe0 3a 79 65 73 20 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 :yes.},.....{.'t',."test",......
69000 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..},.....{
69020 20 27 76 27 2c 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 .'v',."verbose",...........Arg_p
69040 61 72 73 65 72 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 arser::no..},.....{.'V',."versio
69060 6e 22 2c 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 n",...........Arg_parser::no..},
69080 0a 20 20 20 20 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 .....{.opt_lt,."loose-trailing",
690a0 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 20 30 2c 20 30 2c .Arg_parser::no..},.....{..0,.0,
690c0 20 20 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 ....................Arg_parser::
690e0 6e 6f 20 20 7d 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 no..}.};....const.Arg_parser.par
69100 73 65 72 28 20 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 ser(.argc,.argv,.options.);...if
69120 28 20 70 61 72 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 (.parser.error().size().)....//.
69140 62 61 64 20 6f 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 bad.option.....{.show_error(.par
69160 73 65 72 2e 65 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 ser.error().c_str(),.0,.true.);.
69180 72 65 74 75 72 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 return.1;.}....int.argind.=.0;..
691a0 20 66 6f 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 .for(.;.argind.<.parser.argument
691c0 73 28 29 3b 20 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 s();.++argind.).....{.....const.
691e0 69 6e 74 20 63 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 int.code.=.parser.code(.argind.)
69200 3b 0a 20 20 20 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 ;.....if(.!code.).break;.....//.
69220 6e 6f 20 6d 6f 72 65 20 6f 70 74 69 6f 6e 73 0a 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a no.more.options.....const.char.*
69240 20 63 6f 6e 73 74 20 70 6e 20 3d 20 70 61 72 73 65 72 2e 70 61 72 73 65 64 5f 6e 61 6d 65 28 20 .const.pn.=.parser.parsed_name(.
69260 61 72 67 69 6e 64 20 29 2e 63 5f 73 74 72 28 29 3b 0a 20 20 20 20 63 6f 6e 73 74 20 73 74 64 3a argind.).c_str();.....const.std:
69280 3a 73 74 72 69 6e 67 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 :string.&.sarg.=.parser.argument
692a0 28 20 61 72 67 69 6e 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 (.argind.);.....const.char.*.con
692c0 73 74 20 61 72 67 20 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 st.arg.=.sarg.c_str();.....switc
692e0 68 28 20 63 6f 64 65 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 h(.code.).......{.......case.'0'
69300 3a 20 63 61 73 65 20 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 :.case.'1':.case.'2':.case.'3':.
69320 63 61 73 65 20 27 34 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 case.'4':.......case.'5':.case.'
69340 36 27 3a 20 63 61 73 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 6':.case.'7':.case.'8':.case.'9'
69360 3a 0a 20 20 20 20 20 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 :.................zero.=.(.code.
69380 3d 3d 20 27 30 27 20 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 ==.'0'.);.................encode
693a0 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 63 6f 64 65 2d r_options.=.option_mapping[code-
693c0 27 30 27 5d 3b 20 62 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 '0'];.break;.......case.'a':.ign
693e0 6f 72 65 5f 74 72 61 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 ore_trailing.=.false;.break;....
69400 20 20 20 63 61 73 65 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 ...case.'b':.member_size.=.getnu
69420 6d 28 20 61 72 67 2c 20 70 6e 2c 20 31 30 30 30 30 30 2c 20 6d 61 78 5f 6d 65 6d 62 65 72 5f 73 m(.arg,.pn,.100000,.max_member_s
69440 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 27 63 27 3a 20 74 6f ize.);.break;.......case.'c':.to
69460 5f 73 74 64 6f 75 74 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 _stdout.=.true;.break;.......cas
69480 65 20 27 64 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 e.'d':.set_mode(.program_mode,.m
694a0 5f 64 65 63 6f 6d 70 72 65 73 73 20 29 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 _decompress.);.break;.......case
694c0 20 27 66 27 3a 20 66 6f 72 63 65 20 3d 20 74 72 75 65 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 .'f':.force.=.true;.break;......
694e0 20 63 61 73 65 20 27 46 27 3a 20 72 65 63 6f 6d 70 72 65 73 73 20 3d 20 74 72 75 65 3b 20 62 72 .case.'F':.recompress.=.true;.br
69500 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20 27 68 27 3a 20 73 68 6f 77 5f 68 65 6c 70 28 29 eak;.......case.'h':.show_help()
69520 3b 20 72 65 74 75 72 6e 20 30 3b 0a 20 20 20 20 20 20 63 61 73 65 20 27 6b 27 3a 20 6b 65 65 70 ;.return.0;.......case.'k':.keep
69540 5f 69 6e 70 75 74 5f 66 69 6c 65 73 20 3d 20 74 72 75 65 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 _input_files.=.true;.break;.....
69560 20 20 63 61 73 65 20 27 6c 27 3a 20 73 65 74 5f 6d 6f 64 65 28 20 70 72 6f 67 72 61 6d 5f 6d 6f ..case.'l':.set_mode(.program_mo
69580 64 65 2c 20 6d 5f 6c 69 73 74 20 29 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20 de,.m_list.);.break;.......case.
695a0 27 6d 27 3a 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 6c 'm':.encoder_options.match_len_l
695c0 69 6d 69 74 20 3d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 6e 75 6d 28 imit.=...................getnum(
695e0 20 61 72 67 2c 20 70 6e 2c 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 74 2c 20 6d .arg,.pn,.min_match_len_limit,.m
69600 61 78 5f 6d 61 74 63 68 5f 6c 65 6e 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ax_match_len.);.................
69620 7a 65 72 6f 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 20 zero.=.false;.break;.......case.
69640 27 6e 27 3a 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20 27 6f 27 3a 20 69 66 28 20 'n':.break;.......case.'o':.if(.
69660 73 61 72 67 20 3d 3d 20 22 2d 22 20 29 20 74 6f 5f 73 74 64 6f 75 74 20 3d 20 74 72 75 65 3b 0a sarg.==."-".).to_stdout.=.true;.
69680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 7b 20 64 65 66 61 75 6c 74 5f 6f ................else.{.default_o
696a0 75 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 20 3d 20 73 61 72 67 3b 20 7d 20 62 72 65 61 6b 3b 0a utput_filename.=.sarg;.}.break;.
696c0 20 20 20 20 20 20 63 61 73 65 20 27 71 27 3a 20 76 65 72 62 6f 73 69 74 79 20 3d 20 2d 31 3b 20 ......case.'q':.verbosity.=.-1;.
696e0 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20 27 73 27 3a 20 65 6e 63 6f 64 65 72 5f 6f break;.......case.'s':.encoder_o
69700 70 74 69 6f 6e 73 2e 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 3d 20 67 65 74 5f 64 69 63 ptions.dictionary_size.=.get_dic
69720 74 5f 73 69 7a 65 28 20 61 72 67 2c 20 70 6e 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 t_size(.arg,.pn.);..............
69740 20 20 20 7a 65 72 6f 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 ...zero.=.false;.break;.......ca
69760 73 65 20 27 53 27 3a 20 76 6f 6c 75 6d 65 5f 73 69 7a 65 20 3d 20 67 65 74 6e 75 6d 28 20 61 72 se.'S':.volume_size.=.getnum(.ar
69780 67 2c 20 70 6e 2c 20 31 30 30 30 30 30 2c 20 6d 61 78 5f 76 6f 6c 75 6d 65 5f 73 69 7a 65 20 29 g,.pn,.100000,.max_volume_size.)
697a0 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20 27 74 27 3a 20 73 65 74 5f 6d 6f 64 ;.break;.......case.'t':.set_mod
697c0 65 28 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 2c 20 6d 5f 74 65 73 74 20 29 3b 20 62 72 65 61 6b e(.program_mode,.m_test.);.break
697e0 3b 0a 20 20 20 20 20 20 63 61 73 65 20 27 76 27 3a 20 69 66 28 20 76 65 72 62 6f 73 69 74 79 20 ;.......case.'v':.if(.verbosity.
69800 3c 20 34 20 29 20 2b 2b 76 65 72 62 6f 73 69 74 79 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 <.4.).++verbosity;.break;.......
69820 63 61 73 65 20 27 56 27 3a 20 73 68 6f 77 5f 76 65 72 73 69 6f 6e 28 29 3b 20 72 65 74 75 72 6e case.'V':.show_version();.return
69840 20 30 3b 0a 20 20 20 20 20 20 63 61 73 65 20 6f 70 74 5f 6c 74 3a 20 6c 6f 6f 73 65 5f 74 72 61 .0;.......case.opt_lt:.loose_tra
69860 69 6c 69 6e 67 20 3d 20 74 72 75 65 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 64 65 66 61 75 iling.=.true;.break;.......defau
69880 6c 74 20 3a 20 69 6e 74 65 72 6e 61 6c 5f 65 72 72 6f 72 28 20 22 75 6e 63 61 75 67 68 74 20 6f lt.:.internal_error(."uncaught.o
698a0 70 74 69 6f 6e 2e 22 20 29 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 20 2f 2f 20 65 6e 64 20 ption.".);.......}.....}.//.end.
698c0 70 72 6f 63 65 73 73 20 6f 70 74 69 6f 6e 73 0a 0a 23 69 66 20 64 65 66 69 6e 65 64 20 5f 5f 4d process.options..#if.defined.__M
698e0 53 56 43 52 54 5f 5f 20 7c 7c 20 64 65 66 69 6e 65 64 20 5f 5f 4f 53 32 5f 5f 20 7c 7c 20 64 65 SVCRT__.||.defined.__OS2__.||.de
69900 66 69 6e 65 64 20 5f 5f 44 4a 47 50 50 5f 5f 0a 20 20 73 65 74 6d 6f 64 65 28 20 53 54 44 49 4e fined.__DJGPP__...setmode(.STDIN
69920 5f 46 49 4c 45 4e 4f 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 _FILENO,.O_BINARY.);...setmode(.
69940 53 54 44 4f 55 54 5f 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 STDOUT_FILENO,.O_BINARY.);.#endi
69960 66 0a 0a 20 20 73 74 64 3a 3a 76 65 63 74 6f 72 3c 20 73 74 64 3a 3a 73 74 72 69 6e 67 20 3e 20 f....std::vector<.std::string.>.
69980 66 69 6c 65 6e 61 6d 65 73 3b 0a 20 20 62 6f 6f 6c 20 66 69 6c 65 6e 61 6d 65 73 5f 67 69 76 65 filenames;...bool.filenames_give
699a0 6e 20 3d 20 66 61 6c 73 65 3b 0a 20 20 66 6f 72 28 20 3b 20 61 72 67 69 6e 64 20 3c 20 70 61 72 n.=.false;...for(.;.argind.<.par
699c0 73 65 72 2e 61 72 67 75 6d 65 6e 74 73 28 29 3b 20 2b 2b 61 72 67 69 6e 64 20 29 0a 20 20 20 20 ser.arguments();.++argind.).....
699e0 7b 0a 20 20 20 20 66 69 6c 65 6e 61 6d 65 73 2e 70 75 73 68 5f 62 61 63 6b 28 20 70 61 72 73 65 {.....filenames.push_back(.parse
69a00 72 2e 61 72 67 75 6d 65 6e 74 28 20 61 72 67 69 6e 64 20 29 20 29 3b 0a 20 20 20 20 69 66 28 20 r.argument(.argind.).);.....if(.
69a20 66 69 6c 65 6e 61 6d 65 73 2e 62 61 63 6b 28 29 20 21 3d 20 22 2d 22 20 29 20 66 69 6c 65 6e 61 filenames.back().!=."-".).filena
69a40 6d 65 73 5f 67 69 76 65 6e 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 7d 0a 20 20 69 66 28 20 66 69 mes_given.=.true;.....}...if(.fi
69a60 6c 65 6e 61 6d 65 73 2e 65 6d 70 74 79 28 29 20 29 20 66 69 6c 65 6e 61 6d 65 73 2e 70 75 73 68 lenames.empty().).filenames.push
69a80 5f 62 61 63 6b 28 22 2d 22 29 3b 0a 0a 20 20 69 66 28 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 _back("-");....if(.program_mode.
69aa0 3d 3d 20 6d 5f 6c 69 73 74 20 29 0a 20 20 20 20 72 65 74 75 72 6e 20 6c 69 73 74 5f 66 69 6c 65 ==.m_list.).....return.list_file
69ac0 73 28 20 66 69 6c 65 6e 61 6d 65 73 2c 20 69 67 6e 6f 72 65 5f 74 72 61 69 6c 69 6e 67 2c 20 6c s(.filenames,.ignore_trailing,.l
69ae0 6f 6f 73 65 5f 74 72 61 69 6c 69 6e 67 20 29 3b 0a 0a 20 20 69 66 28 20 70 72 6f 67 72 61 6d 5f oose_trailing.);....if(.program_
69b00 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 20 20 20 20 69 mode.==.m_compress.).....{.....i
69b20 66 28 20 76 6f 6c 75 6d 65 5f 73 69 7a 65 20 3e 20 30 20 26 26 20 21 74 6f 5f 73 74 64 6f 75 74 f(.volume_size.>.0.&&.!to_stdout
69b40 20 26 26 20 64 65 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 .&&.default_output_filename.size
69b60 28 29 20 26 26 0a 20 20 20 20 20 20 20 20 66 69 6c 65 6e 61 6d 65 73 2e 73 69 7a 65 28 29 20 3e ().&&.........filenames.size().>
69b80 20 31 20 29 0a 20 20 20 20 20 20 7b 20 73 68 6f 77 5f 65 72 72 6f 72 28 20 22 4f 6e 6c 79 20 63 .1.).......{.show_error(."Only.c
69ba0 61 6e 20 63 6f 6d 70 72 65 73 73 20 6f 6e 65 20 66 69 6c 65 20 77 68 65 6e 20 75 73 69 6e 67 20 an.compress.one.file.when.using.
69bc0 27 2d 6f 27 20 61 6e 64 20 27 2d 53 27 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 '-o'.and.'-S'.",................
69be0 20 20 20 20 20 30 2c 20 74 72 75 65 20 29 3b 20 72 65 74 75 72 6e 20 31 3b 20 7d 0a 20 20 20 20 .....0,.true.);.return.1;.}.....
69c00 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 72 69 63 65 dis_slots.init();.....prob_price
69c20 73 2e 69 6e 69 74 28 29 3b 0a 20 20 20 20 7d 0a 20 20 65 6c 73 65 20 76 6f 6c 75 6d 65 5f 73 69 s.init();.....}...else.volume_si
69c40 7a 65 20 3d 20 30 3b 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 ze.=.0;...if(.program_mode.==.m_
69c60 74 65 73 74 20 29 20 74 6f 5f 73 74 64 6f 75 74 20 3d 20 66 61 6c 73 65 3b 09 2f 2f 20 61 70 70 test.).to_stdout.=.false;.//.app
69c80 6c 79 20 6f 76 65 72 72 69 64 65 73 0a 20 20 69 66 28 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 ly.overrides...if(.program_mode.
69ca0 3d 3d 20 6d 5f 74 65 73 74 20 7c 7c 20 74 6f 5f 73 74 64 6f 75 74 20 29 20 64 65 66 61 75 6c 74 ==.m_test.||.to_stdout.).default
69cc0 5f 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 69 66 28 _output_filename.clear();....if(
69ce0 20 74 6f 5f 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 .to_stdout.&&.program_mode.!=.m_
69d00 74 65 73 74 20 29 09 2f 2f 20 63 68 65 63 6b 20 74 74 79 20 6f 6e 6c 79 20 6f 6e 63 65 0a 20 20 test.).//.check.tty.only.once...
69d20 20 20 7b 20 6f 75 74 66 64 20 3d 20 53 54 44 4f 55 54 5f 46 49 4c 45 4e 4f 3b 20 69 66 28 20 21 ..{.outfd.=.STDOUT_FILENO;.if(.!
69d40 63 68 65 63 6b 5f 74 74 79 5f 6f 75 74 28 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 29 20 29 20 check_tty_out(.program_mode.).).
69d60 72 65 74 75 72 6e 20 31 3b 20 7d 0a 20 20 65 6c 73 65 20 6f 75 74 66 64 20 3d 20 2d 31 3b 0a 0a return.1;.}...else.outfd.=.-1;..
69d80 20 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 74 6f 5f 66 69 6c 65 20 3d 20 21 74 6f 5f 73 74 64 6f 75 ..const.bool.to_file.=.!to_stdou
69da0 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 26 26 0a 20 t.&&.program_mode.!=.m_test.&&..
69dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 5f 6f 75 ......................default_ou
69de0 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 2e 73 69 7a 65 28 29 3b 0a 20 20 69 66 28 20 21 74 6f 5f tput_filename.size();...if(.!to_
69e00 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
69e20 20 26 26 20 28 20 66 69 6c 65 6e 61 6d 65 73 5f 67 69 76 65 6e 20 7c 7c 20 74 6f 5f 66 69 6c 65 .&&.(.filenames_given.||.to_file
69e40 20 29 20 29 0a 20 20 20 20 73 65 74 5f 73 69 67 6e 61 6c 73 28 20 73 69 67 6e 61 6c 5f 68 61 6e .).).....set_signals(.signal_han
69e60 64 6c 65 72 20 29 3b 0a 0a 20 20 50 72 65 74 74 79 5f 70 72 69 6e 74 20 70 70 28 20 66 69 6c 65 dler.);....Pretty_print.pp(.file
69e80 6e 61 6d 65 73 20 29 3b 0a 0a 20 20 69 6e 74 20 66 61 69 6c 65 64 5f 74 65 73 74 73 20 3d 20 30 names.);....int.failed_tests.=.0
69ea0 3b 0a 20 20 69 6e 74 20 72 65 74 76 61 6c 20 3d 20 30 3b 0a 20 20 63 6f 6e 73 74 20 62 6f 6f 6c ;...int.retval.=.0;...const.bool
69ec0 20 6f 6e 65 5f 74 6f 5f 6f 6e 65 20 3d 20 21 74 6f 5f 73 74 64 6f 75 74 20 26 26 20 70 72 6f 67 .one_to_one.=.!to_stdout.&&.prog
69ee0 72 61 6d 5f 6d 6f 64 65 20 21 3d 20 6d 5f 74 65 73 74 20 26 26 20 21 74 6f 5f 66 69 6c 65 3b 0a ram_mode.!=.m_test.&&.!to_file;.
69f00 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
69f20 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.
69f40 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
69f60 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
69f80 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 0a 20 20 20 ;.....struct.stat.in_stats;.....
69fa0 20 70 70 2e 73 65 74 5f 6e 61 6d 65 28 20 66 69 6c 65 6e 61 6d 65 73 5b 69 5d 20 29 3b 0a 20 20 .pp.set_name(.filenames[i].);...
69fc0 20 20 69 66 28 20 66 69 6c 65 6e 61 6d 65 73 5b 69 5d 20 3d 3d 20 22 2d 22 20 29 0a 20 20 20 20 ..if(.filenames[i].==."-".).....
69fe0 20 20 7b 0a 20 20 20 20 20 20 69 66 28 20 73 74 64 69 6e 5f 75 73 65 64 20 29 20 63 6f 6e 74 69 ..{.......if(.stdin_used.).conti
6a000 6e 75 65 3b 20 65 6c 73 65 20 73 74 64 69 6e 5f 75 73 65 64 20 3d 20 74 72 75 65 3b 0a 20 20 20 nue;.else.stdin_used.=.true;....
6a020 20 20 20 69 6e 66 64 20 3d 20 53 54 44 49 4e 5f 46 49 4c 45 4e 4f 3b 0a 20 20 20 20 20 20 69 66 ...infd.=.STDIN_FILENO;.......if
6a040 28 20 21 63 68 65 63 6b 5f 74 74 79 5f 69 6e 28 20 70 70 2e 6e 61 6d 65 28 29 2c 20 69 6e 66 64 (.!check_tty_in(.pp.name(),.infd
6a060 2c 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 2c 20 72 65 74 76 61 6c 20 29 20 29 20 63 6f 6e 74 69 ,.program_mode,.retval.).).conti
6a080 6e 75 65 3b 0a 20 20 20 20 20 20 69 66 28 20 6f 6e 65 5f 74 6f 5f 6f 6e 65 20 29 20 7b 20 6f 75 nue;.......if(.one_to_one.).{.ou
6a0a0 74 66 64 20 3d 20 53 54 44 4f 55 54 5f 46 49 4c 45 4e 4f 3b 20 6f 75 74 70 75 74 5f 66 69 6c 65 tfd.=.STDOUT_FILENO;.output_file
6a0c0 6e 61 6d 65 2e 63 6c 65 61 72 28 29 3b 20 7d 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 65 6c 73 65 name.clear();.}.......}.....else
6a0e0 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 65 69 6e 64 65 78 20 .......{.......const.int.eindex.
6a100 3d 20 65 78 74 65 6e 73 69 6f 6e 5f 69 6e 64 65 78 28 20 69 6e 70 75 74 5f 66 69 6c 65 6e 61 6d =.extension_index(.input_filenam
6a120 65 20 3d 20 66 69 6c 65 6e 61 6d 65 73 5b 69 5d 20 29 3b 0a 20 20 20 20 20 20 69 6e 66 64 20 3d e.=.filenames[i].);.......infd.=
6a140 20 6f 70 65 6e 5f 69 6e 73 74 72 65 61 6d 32 28 20 69 6e 70 75 74 5f 66 69 6c 65 6e 61 6d 65 2e .open_instream2(.input_filename.
6a160 63 5f 73 74 72 28 29 2c 20 26 69 6e 5f 73 74 61 74 73 2c 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 c_str(),.&in_stats,.program_mode
6a180 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 20 65 ,..............................e
6a1a0 69 6e 64 65 78 2c 20 6f 6e 65 5f 74 6f 5f 6f 6e 65 2c 20 72 65 63 6f 6d 70 72 65 73 73 20 29 3b index,.one_to_one,.recompress.);
6a1c0 0a 20 20 20 20 20 20 69 66 28 20 69 6e 66 64 20 3c 20 30 20 29 20 7b 20 73 65 74 5f 72 65 74 76 .......if(.infd.<.0.).{.set_retv
6a1e0 61 6c 28 20 72 65 74 76 61 6c 2c 20 31 20 29 3b 20 63 6f 6e 74 69 6e 75 65 3b 20 7d 0a 20 20 20 al(.retval,.1.);.continue;.}....
6a200 20 20 20 69 66 28 20 21 63 68 65 63 6b 5f 74 74 79 5f 69 6e 28 20 70 70 2e 6e 61 6d 65 28 29 2c ...if(.!check_tty_in(.pp.name(),
6a220 20 69 6e 66 64 2c 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 2c 20 72 65 74 76 61 6c 20 29 20 29 20 .infd,.program_mode,.retval.).).
6a240 63 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 20 20 20 69 66 28 20 6f 6e 65 5f 74 6f 5f 6f 6e 65 20 29 continue;.......if(.one_to_one.)
6a260 09 09 09 2f 2f 20 6f 70 65 6e 20 6f 75 74 66 64 20 61 66 74 65 72 20 76 65 72 69 66 79 69 6e 67 ...//.open.outfd.after.verifying
6a280 20 69 6e 66 64 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 28 20 70 72 6f 67 .infd.........{.........if(.prog
6a2a0 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.)........
6a2c0 20 20 20 73 65 74 5f 63 5f 6f 75 74 6e 61 6d 65 28 20 69 6e 70 75 74 5f 66 69 6c 65 6e 61 6d 65 ...set_c_outname(.input_filename
6a2e0 2c 20 74 72 75 65 2c 20 74 72 75 65 2c 20 76 6f 6c 75 6d 65 5f 73 69 7a 65 20 3e 20 30 20 29 3b ,.true,.true,.volume_size.>.0.);
6a300 0a 20 20 20 20 20 20 20 20 65 6c 73 65 20 73 65 74 5f 64 5f 6f 75 74 6e 61 6d 65 28 20 69 6e 70 .........else.set_d_outname(.inp
6a320 75 74 5f 66 69 6c 65 6e 61 6d 65 2c 20 65 69 6e 64 65 78 20 29 3b 0a 20 20 20 20 20 20 20 20 69 ut_filename,.eindex.);.........i
6a340 66 28 20 21 6f 70 65 6e 5f 6f 75 74 73 74 72 65 61 6d 28 20 66 6f 72 63 65 2c 20 74 72 75 65 20 f(.!open_outstream(.force,.true.
6a360 29 20 29 0a 20 20 20 20 20 20 20 20 20 20 7b 20 63 6c 6f 73 65 28 20 69 6e 66 64 20 29 3b 20 73 ).)...........{.close(.infd.);.s
6a380 65 74 5f 72 65 74 76 61 6c 28 20 72 65 74 76 61 6c 2c 20 31 20 29 3b 20 63 6f 6e 74 69 6e 75 65 et_retval(.retval,.1.);.continue
6a3a0 3b 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 69 66 28 20 6f ;.}.........}.......}......if(.o
6a3c0 6e 65 5f 74 6f 5f 6f 6e 65 20 26 26 20 21 63 68 65 63 6b 5f 74 74 79 5f 6f 75 74 28 20 70 72 6f ne_to_one.&&.!check_tty_out(.pro
6a3e0 67 72 61 6d 5f 6d 6f 64 65 20 29 20 29 0a 20 20 20 20 20 20 7b 20 73 65 74 5f 72 65 74 76 61 6c gram_mode.).).......{.set_retval
6a400 28 20 72 65 74 76 61 6c 2c 20 31 20 29 3b 20 72 65 74 75 72 6e 20 72 65 74 76 61 6c 3b 20 7d 09 (.retval,.1.);.return.retval;.}.
6a420 2f 2f 20 64 6f 6e 27 74 20 64 65 6c 65 74 65 20 61 20 74 74 79 0a 0a 20 20 20 20 69 66 28 20 74 //.don't.delete.a.tty......if(.t
6a440 6f 5f 66 69 6c 65 20 26 26 20 6f 75 74 66 64 20 3c 20 30 20 29 09 09 2f 2f 20 6f 70 65 6e 20 6f o_file.&&.outfd.<.0.)..//.open.o
6a460 75 74 66 64 20 61 66 74 65 72 20 76 65 72 69 66 79 69 6e 67 20 69 6e 66 64 0a 20 20 20 20 20 20 utfd.after.verifying.infd.......
6a480 7b 0a 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 5f 63 6f {.......if(.program_mode.==.m_co
6a4a0 6d 70 72 65 73 73 20 29 20 73 65 74 5f 63 5f 6f 75 74 6e 61 6d 65 28 20 64 65 66 61 75 6c 74 5f mpress.).set_c_outname(.default_
6a4c0 6f 75 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 output_filename,................
6a4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6c 65 6e 61 6d 65 ........................filename
6a500 73 5f 67 69 76 65 6e 2c 20 66 61 6c 73 65 2c 20 76 6f 6c 75 6d 65 5f 73 69 7a 65 20 3e 20 30 20 s_given,.false,.volume_size.>.0.
6a520 29 3b 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 20 3d 20 );.......else.output_filename.=.
6a540 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 20 20 20 20 69 default_output_filename;.......i
6a560 66 28 20 21 6f 70 65 6e 5f 6f 75 74 73 74 72 65 61 6d 28 20 66 6f 72 63 65 2c 20 66 61 6c 73 65 f(.!open_outstream(.force,.false
6a580 20 29 20 7c 7c 20 21 63 68 65 63 6b 5f 74 74 79 5f 6f 75 74 28 20 70 72 6f 67 72 61 6d 5f 6d 6f .).||.!check_tty_out(.program_mo
6a5a0 64 65 20 29 20 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 31 3b 09 2f 2f 20 63 68 65 63 de.).).........return.1;.//.chec
6a5c0 6b 20 74 74 79 20 6f 6e 6c 79 20 6f 6e 63 65 20 61 6e 64 20 64 6f 6e 27 74 20 74 72 79 20 74 6f k.tty.only.once.and.don't.try.to
6a5e0 20 64 65 6c 65 74 65 20 61 20 74 74 79 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 63 6f 6e 73 74 .delete.a.tty.......}......const
6a600 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 74 73 70 20 3d .struct.stat.*.const.in_statsp.=
6a620 0a 20 20 20 20 20 20 28 20 69 6e 70 75 74 5f 66 69 6c 65 6e 61 6d 65 2e 73 69 7a 65 28 29 20 26 .......(.input_filename.size().&
6a640 26 20 6f 6e 65 5f 74 6f 5f 6f 6e 65 20 29 20 3f 20 26 69 6e 5f 73 74 61 74 73 20 3a 20 30 3b 0a &.one_to_one.).?.&in_stats.:.0;.
6a660 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 63 66 69 ....const.unsigned.long.long.cfi
6a680 6c 65 5f 73 69 7a 65 20 3d 0a 20 20 20 20 20 20 28 20 69 6e 70 75 74 5f 66 69 6c 65 6e 61 6d 65 le_size.=.......(.input_filename
6a6a0 2e 73 69 7a 65 28 29 20 26 26 20 53 5f 49 53 52 45 47 28 20 69 6e 5f 73 74 61 74 73 2e 73 74 5f .size().&&.S_ISREG(.in_stats.st_
6a6c0 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 2e 73 74 mode.).).?.........(.in_stats.st
6a6e0 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 20 69 6e 74 20 _size.+.99.)./.100.:.0;.....int.
6a700 74 6d 70 3b 0a 20 20 20 20 74 72 79 20 7b 0a 20 20 20 20 20 20 69 66 28 20 70 72 6f 67 72 61 6d tmp;.....try.{.......if(.program
6a720 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 20 74 6d _mode.==.m_compress.).........tm
6a740 70 20 3d 20 63 6f 6d 70 72 65 73 73 28 20 63 66 69 6c 65 5f 73 69 7a 65 2c 20 6d 65 6d 62 65 72 p.=.compress(.cfile_size,.member
6a760 5f 73 69 7a 65 2c 20 76 6f 6c 75 6d 65 5f 73 69 7a 65 2c 20 69 6e 66 64 2c 0a 20 20 20 20 20 20 _size,.volume_size,.infd,.......
6a780 20 20 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 6e ..................encoder_option
6a7a0 73 2c 20 70 70 2c 20 69 6e 5f 73 74 61 74 73 70 2c 20 7a 65 72 6f 20 29 3b 0a 20 20 20 20 20 20 s,.pp,.in_statsp,.zero.);.......
6a7c0 65 6c 73 65 0a 20 20 20 20 20 20 20 20 74 6d 70 20 3d 20 64 65 63 6f 6d 70 72 65 73 73 28 20 63 else.........tmp.=.decompress(.c
6a7e0 66 69 6c 65 5f 73 69 7a 65 2c 20 69 6e 66 64 2c 20 70 70 2c 20 69 67 6e 6f 72 65 5f 74 72 61 69 file_size,.infd,.pp,.ignore_trai
6a800 6c 69 6e 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 ling,...........................
6a820 6c 6f 6f 73 65 5f 74 72 61 69 6c 69 6e 67 2c 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 3d 3d 20 loose_trailing,.program_mode.==.
6a840 6d 5f 74 65 73 74 20 29 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 63 61 74 63 68 28 20 73 74 64 m_test.);.......}.....catch(.std
6a860 3a 3a 62 61 64 5f 61 6c 6c 6f 63 20 26 20 29 0a 20 20 20 20 20 20 7b 20 70 70 28 20 28 20 70 72 ::bad_alloc.&.).......{.pp(.(.pr
6a880 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 29 20 3f 0a 20 20 20 ogram_mode.==.m_compress.).?....
6a8a0 20 20 20 20 20 20 20 20 20 22 4e 6f 74 20 65 6e 6f 75 67 68 20 6d 65 6d 6f 72 79 2e 20 54 72 79 ........."Not.enough.memory..Try
6a8c0 20 61 20 73 6d 61 6c 6c 65 72 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 2e 22 20 3a 0a 20 .a.smaller.dictionary.size.".:..
6a8e0 20 20 20 20 20 20 20 20 20 20 20 22 4e 6f 74 20 65 6e 6f 75 67 68 20 6d 65 6d 6f 72 79 2e 22 20 ..........."Not.enough.memory.".
6a900 29 3b 20 74 6d 70 20 3d 20 31 3b 20 7d 0a 20 20 20 20 63 61 74 63 68 28 20 45 72 72 6f 72 20 26 );.tmp.=.1;.}.....catch(.Error.&
6a920 20 65 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 .e.).{.pp();.show_error(.e.msg,.
6a940 65 72 72 6e 6f 20 29 3b 20 74 6d 70 20 3d 20 31 3b 20 7d 0a 20 20 20 20 69 66 28 20 63 6c 6f 73 errno.);.tmp.=.1;.}.....if(.clos
6a960 65 28 20 69 6e 66 64 20 29 20 21 3d 20 30 20 29 0a 20 20 20 20 20 20 7b 20 73 68 6f 77 5f 66 69 e(.infd.).!=.0.).......{.show_fi
6a980 6c 65 5f 65 72 72 6f 72 28 20 70 70 2e 6e 61 6d 65 28 29 2c 20 22 45 72 72 6f 72 20 63 6c 6f 73 le_error(.pp.name(),."Error.clos
6a9a0 69 6e 67 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 20 20 20 20 ing.input.file",.errno.);.......
6a9c0 20 20 73 65 74 5f 72 65 74 76 61 6c 28 20 74 6d 70 2c 20 31 20 29 3b 20 7d 0a 20 20 20 20 73 65 ..set_retval(.tmp,.1.);.}.....se
6a9e0 74 5f 72 65 74 76 61 6c 28 20 72 65 74 76 61 6c 2c 20 74 6d 70 20 29 3b 0a 20 20 20 20 69 66 28 t_retval(.retval,.tmp.);.....if(
6aa00 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 6d 6f 64 65 20 .tmp.).......{.if(.program_mode.
6aa20 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 6c 28 20 72 65 !=.m_test.).cleanup_and_fail(.re
6aa40 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 65 64 5f 74 65 tval.);.........else.++failed_te
6aa60 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 75 74 5f 6f 6e sts;.}......if(.delete_output_on
6aa80 5f 69 6e 74 65 72 72 75 70 74 20 26 26 20 6f 6e 65 5f 74 6f 5f 6f 6e 65 20 29 0a 20 20 20 20 20 _interrupt.&&.one_to_one.)......
6aaa0 20 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 28 20 69 6e 5f 73 .close_and_set_permissions(.in_s
6aac0 74 61 74 73 70 20 29 3b 0a 20 20 20 20 69 66 28 20 69 6e 70 75 74 5f 66 69 6c 65 6e 61 6d 65 2e tatsp.);.....if(.input_filename.
6aae0 73 69 7a 65 28 29 20 26 26 20 21 6b 65 65 70 5f 69 6e 70 75 74 5f 66 69 6c 65 73 20 26 26 20 6f size().&&.!keep_input_files.&&.o
6ab00 6e 65 5f 74 6f 5f 6f 6e 65 20 26 26 0a 20 20 20 20 20 20 20 20 28 20 70 72 6f 67 72 61 6d 5f 6d ne_to_one.&&.........(.program_m
6ab20 6f 64 65 20 21 3d 20 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 ode.!=.m_compress.||.volume_size
6ab40 20 3d 3d 20 30 20 29 20 29 0a 20 20 20 20 20 20 73 74 64 3a 3a 72 65 6d 6f 76 65 28 20 69 6e 70 .==.0.).).......std::remove(.inp
6ab60 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 7d 0a 20 20 69 ut_filename.c_str().);.....}...i
6ab80 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 20 f(.delete_output_on_interrupt.).
6aba0 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 28 20 30 20 29 3b 09 close_and_set_permissions(.0.);.
6abc0 2f 2f 20 2d 6f 0a 20 20 65 6c 73 65 20 69 66 28 20 6f 75 74 66 64 20 3e 3d 20 30 20 26 26 20 63 //.-o...else.if(.outfd.>=.0.&&.c
6abe0 6c 6f 73 65 28 20 6f 75 74 66 64 20 29 20 21 3d 20 30 20 29 09 09 09 09 2f 2f 20 2d 63 0a 20 20 lose(.outfd.).!=.0.)....//.-c...
6ac00 20 20 7b 0a 20 20 20 20 73 68 6f 77 5f 65 72 72 6f 72 28 20 22 45 72 72 6f 72 20 63 6c 6f 73 69 ..{.....show_error(."Error.closi
6ac20 6e 67 20 73 74 64 6f 75 74 22 2c 20 65 72 72 6e 6f 20 29 3b 0a 20 20 20 20 73 65 74 5f 72 65 74 ng.stdout",.errno.);.....set_ret
6ac40 76 61 6c 28 20 72 65 74 76 61 6c 2c 20 31 20 29 3b 0a 20 20 20 20 7d 0a 20 20 69 66 28 20 66 61 val(.retval,.1.);.....}...if(.fa
6ac60 69 6c 65 64 5f 74 65 73 74 73 20 3e 20 30 20 26 26 20 76 65 72 62 6f 73 69 74 79 20 3e 3d 20 31 iled_tests.>.0.&&.verbosity.>=.1
6ac80 20 26 26 20 66 69 6c 65 6e 61 6d 65 73 2e 73 69 7a 65 28 29 20 3e 20 31 20 29 0a 20 20 20 20 73 .&&.filenames.size().>.1.).....s
6aca0 74 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 65 72 72 2c 20 22 25 73 3a 20 77 61 72 6e 69 6e td::fprintf(.stderr,."%s:.warnin
6acc0 67 3a 20 25 64 20 25 73 20 66 61 69 6c 65 64 20 74 68 65 20 74 65 73 74 2e 5c 6e 22 2c 0a 20 20 g:.%d.%s.failed.the.test.\n",...
6ace0 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 20 66 61 ................program_name,.fa
6ad00 69 6c 65 64 5f 74 65 73 74 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 20 iled_tests,...................(.
6ad20 66 61 69 6c 65 64 5f 74 65 73 74 73 20 3d 3d 20 31 20 29 20 3f 20 22 66 69 6c 65 22 20 3a 20 22 failed_tests.==.1.).?."file".:."
6ad40 66 69 6c 65 73 22 20 29 3b 0a 20 20 72 65 74 75 72 6e 20 72 65 74 76 61 6c 3b 0a 20 20 7d 0a 00 files".);...return.retval;...}..
6ad60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ad80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ada0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6adc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ade0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ae00 6c 7a 69 70 2d 31 2e 32 33 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.23/Makefile.in...........
6ae20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ae40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ae60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
6ae80 30 30 31 30 32 36 36 00 31 34 31 32 37 34 32 35 32 36 33 00 30 31 34 34 37 33 00 20 30 00 00 00 0010266.14127425263.014473..0...
6aea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6aec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6aee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6af00 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
6af20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
6af40 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
6af60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6af80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6afa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6afc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6afe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6b000 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
6b020 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
6b040 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
6b060 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
6b080 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
6b0a0 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
6b0c0 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.-
6b0e0 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
6b100 20 3d 20 61 72 67 5f 70 61 72 73 65 72 2e 6f 20 6c 7a 69 70 5f 69 6e 64 65 78 2e 6f 20 6c 69 73 .=.arg_parser.o.lzip_index.o.lis
6b120 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.\..
6b140 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
6b160 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
6b180 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
6b1a0 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
6b1c0 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
6b1e0 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.
6b200 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
6b220 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.
6b240 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
6b260 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
6b280 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
6b2a0 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).:.
6b2c0 24 28 6f 62 6a 73 29 0a 09 24 28 43 58 58 29 20 24 28 43 58 58 46 4c 41 47 53 29 20 24 28 4c 44 $(objs)..$(CXX).$(CXXFLAGS).$(LD
6b2e0 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
6b300 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
6b320 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
6b340 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..
6b360 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).-
6b380 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
6b3a0 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
6b3c0 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
6b3e0 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
6b400 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
6b420 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
6b440 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
6b460 73 65 2e 68 20 66 61 73 74 5f 65 6e 63 6f 64 65 72 2e 68 0a 6c 69 73 74 2e 6f 20 20 20 20 20 20 se.h.fast_encoder.h.list.o......
6b480 20 20 20 3a 20 6c 7a 69 70 2e 68 20 6c 7a 69 70 5f 69 6e 64 65 78 2e 68 0a 6c 7a 69 70 5f 69 6e ...:.lzip.h.lzip_index.h.lzip_in
6b4a0 64 65 78 2e 6f 20 20 20 3a 20 6c 7a 69 70 2e 68 20 6c 7a 69 70 5f 69 6e 64 65 78 2e 68 0a 6d 61 dex.o...:.lzip.h.lzip_index.h.ma
6b4c0 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
6b4e0 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
6b500 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
6b520 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
6b540 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
6b560 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
6b580 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
6b5a0 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
6b5c0 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)
6b5e0 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)
6b600 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.
6b620 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
6b640 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
6b660 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
6b680 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
6b6a0 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
6b6c0 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
6b6e0 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
6b700 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
6b720 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
6b740 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
6b760 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
6b780 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
6b7a0 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
6b7c0 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
6b7e0 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
6b800 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
6b820 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
6b840 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
6b860 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
6b880 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..$
6b8a0 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
6b8c0 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
6b8e0 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
6b900 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_
6b920 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
6b940 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)/$
6b960 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
6b980 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."
6b9a0 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).
6b9c0 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
6b9e0 29 20 3b 20 74 68 65 6e 20 5c 0a 09 20 20 69 6e 73 74 61 6c 6c 2d 69 6e 66 6f 20 2d 2d 69 6e 66 ).;.then.\....install-info.--inf
6ba00 6f 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 o-dir="$(DESTDIR)$(infodir)"."$(
6ba20 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
6ba40 66 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 fo".;.\..fi..install-info-compre
6ba60 73 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 ss.:.install-info..lzip.-v.-9."$
6ba80 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 69 (DESTDIR)$(infodir)/$(pkgname).i
6baa0 6e 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 nfo"..install-man.:..if.[.!.-d."
6bac0 24 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 $(DESTDIR)$(mandir)/man1".].;.th
6bae0 65 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 en.$(INSTALL_DIR)."$(DESTDIR)$(m
6bb00 61 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 andir)/man1".;.fi..-rm.-f."$(DES
6bb20 54 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 TDIR)$(mandir)/man1/$(progname).
6bb40 31 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 1"*..$(INSTALL_DATA).$(VPATH)/do
6bb60 63 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 c/$(progname).1."$(DESTDIR)$(man
6bb80 64 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 dir)/man1/$(progname).1"..instal
6bba0 6c 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 l-man-compress.:.install-man..lz
6bbc0 69 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 ip.-v.-9."$(DESTDIR)$(mandir)/ma
6bbe0 6e 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 n1/$(progname).1"..uninstall.:.u
6bc00 6e 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 ninstall-man.uninstall-info.unin
6bc20 73 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 stall-bin..uninstall-bin.:..-rm.
6bc40 2d 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 -f."$(DESTDIR)$(bindir)/$(progna
6bc60 6d 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 me)"..uninstall-info.:..-if.$(CA
6bc80 4e 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 20 20 69 N_RUN_INSTALLINFO).;.then.\....i
6bca0 6e 73 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 nstall-info.--info-dir="$(DESTDI
6bcc0 52 29 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 R)$(infodir)".--remove."$(DESTDI
6bce0 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 6f 22 20 3b 20 R)$(infodir)/$(pkgname).info".;.
6bd00 5c 0a 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 \..fi..-rm.-f."$(DESTDIR)$(infod
6bd20 69 72 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 ir)/$(pkgname).info"*..uninstall
6bd40 2d 6d 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 -man.:..-rm.-f."$(DESTDIR)$(mand
6bd60 69 72 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 ir)/man1/$(progname).1"*..dist.:
6bd80 20 64 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 .doc..ln.-sf.$(VPATH).$(DISTNAME
6bda0 29 0a 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 )..tar.-Hustar.--owner=root.--gr
6bdc0 6f 75 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 oup=root.-cvf.$(DISTNAME).tar.\.
6bde0 09 20 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 ...$(DISTNAME)/AUTHORS.\....$(DI
6be00 53 54 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 STNAME)/COPYING.\....$(DISTNAME)
6be20 2f 43 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 /ChangeLog.\....$(DISTNAME)/INST
6be40 41 4c 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 ALL.\....$(DISTNAME)/Makefile.in
6be60 20 5c 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 .\....$(DISTNAME)/NEWS.\....$(DI
6be80 53 54 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 STNAME)/README.\....$(DISTNAME)/
6bea0 63 6f 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 configure.\....$(DISTNAME)/doc/$
6bec0 28 70 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 (progname).1.\....$(DISTNAME)/do
6bee0 63 2f 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 c/$(pkgname).info.\....$(DISTNAM
6bf00 45 29 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 E)/doc/$(pkgname).texi.\....$(DI
6bf20 53 54 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 STNAME)/*.h.\....$(DISTNAME)/*.c
6bf40 63 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 63 68 65 c.\....$(DISTNAME)/testsuite/che
6bf60 63 6b 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 ck.sh.\....$(DISTNAME)/testsuite
6bf80 2f 74 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 /test.txt.\....$(DISTNAME)/tests
6bfa0 75 69 74 65 2f 66 6f 78 2e 6c 7a 20 5c 0a 09 20 20 24 28 44 49 53 54 4e 41 4d 45 29 2f 74 65 73 uite/fox.lz.\....$(DISTNAME)/tes
6bfc0 74 73 75 69 74 65 2f 66 6f 78 5f 2a 2e 6c 7a 20 5c 0a 09 20 20 24 28 44 49 53 54 4e 41 4d 45 29 tsuite/fox_*.lz.\....$(DISTNAME)
6bfe0 2f 74 65 73 74 73 75 69 74 65 2f 74 65 73 74 2e 74 78 74 2e 6c 7a 20 5c 0a 09 20 20 24 28 44 49 /testsuite/test.txt.lz.\....$(DI
6c000 53 54 4e 41 4d 45 29 2f 74 65 73 74 73 75 69 74 65 2f 74 65 73 74 5f 65 6d 2e 74 78 74 2e 6c 7a STNAME)/testsuite/test_em.txt.lz
6c020 0a 09 72 6d 20 2d 66 20 24 28 44 49 53 54 4e 41 4d 45 29 0a 09 6c 7a 69 70 20 2d 76 20 2d 39 20 ..rm.-f.$(DISTNAME)..lzip.-v.-9.
6c040 24 28 44 49 53 54 4e 41 4d 45 29 2e 74 61 72 0a 0a 63 6c 65 61 6e 20 3a 0a 09 2d 72 6d 20 2d 66 $(DISTNAME).tar..clean.:..-rm.-f
6c060 20 24 28 70 72 6f 67 6e 61 6d 65 29 20 24 28 6f 62 6a 73 29 0a 0a 64 69 73 74 63 6c 65 61 6e 20 .$(progname).$(objs)..distclean.
6c080 3a 20 63 6c 65 61 6e 0a 09 2d 72 6d 20 2d 66 20 4d 61 6b 65 66 69 6c 65 20 63 6f 6e 66 69 67 2e :.clean..-rm.-f.Makefile.config.
6c0a0 73 74 61 74 75 73 20 2a 2e 74 61 72 20 2a 2e 74 61 72 2e 6c 7a 0a 00 00 00 00 00 00 00 00 00 00 status.*.tar.*.tar.lz...........
6c0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c200 6c 7a 69 70 2d 31 2e 32 33 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.23/fast_encoder.cc.......
6c220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
6c280 30 30 31 33 33 36 31 00 31 34 31 37 32 36 34 35 36 32 35 00 30 31 35 33 37 36 00 20 30 00 00 00 0013361.14172645625.015376..0...
6c2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c300 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
6c320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
6c340 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
6c360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c400 2f 2a 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 /*.Lzip.-.LZMA.lossless.data.com
6c420 70 72 65 73 73 6f 72 0a 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d 32 30 pressor....Copyright.(C).2008-20
6c440 32 32 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 54 68 69 73 20 70 22.Antonio.Diaz.Diaz......This.p
6c460 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 63 61 6e rogram.is.free.software:.you.can
6c480 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 79 0a 20 .redistribute.it.and/or.modify..
6c4a0 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 47 4e 55 20 ..it.under.the.terms.of.the.GNU.
6c4c0 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 62 6c 69 73 General.Public.License.as.publis
6c4e0 68 65 64 20 62 79 0a 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e hed.by....the.Free.Software.Foun
6c500 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 20 74 68 65 20 dation,.either.version.2.of.the.
6c520 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 License,.or....(at.your.option).
6c540 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 54 68 69 73 20 70 72 6f 67 any.later.version......This.prog
6c560 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 70 65 20 74 ram.is.distributed.in.the.hope.t
6c580 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 62 75 74 20 57 49 hat.it.will.be.useful,....but.WI
6c5a0 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 65 76 65 6e THOUT.ANY.WARRANTY;.without.even
6c5c0 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 4d 45 52 43 .the.implied.warranty.of....MERC
6c5e0 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
6c600 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 0a 20 20 20 47 4e 55 TICULAR.PURPOSE...See.the....GNU
6c620 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 72 65 .General.Public.License.for.more
6c640 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 .details......You.should.have.re
6c660 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 6e 65 72 61 6c ceived.a.copy.of.the.GNU.General
6c680 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 .Public.License....along.with.th
6c6a0 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 3c 68 74 74 70 3a 2f is.program...If.not,.see.<http:/
6c6c0 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 2a 2f 0a 0a 23 64 65 /www.gnu.org/licenses/>..*/..#de
6c6e0 66 69 6e 65 20 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 36 34 0a 0a 23 69 6e 63 6c fine._FILE_OFFSET_BITS.64..#incl
6c700 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 65 72 72 6e 6f ude.<algorithm>.#include.<cerrno
6c720 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 65 20 3c 63 >.#include.<cstdlib>.#include.<c
6c740 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 6e 63 6c 75 string>.#include.<string>.#inclu
6c760 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 2e 68 3e 0a de.<vector>.#include.<stdint.h>.
6c780 0a 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 65 6e 63 .#include."lzip.h".#include."enc
6c7a0 6f 64 65 72 5f 62 61 73 65 2e 68 22 0a 23 69 6e 63 6c 75 64 65 20 22 66 61 73 74 5f 65 6e 63 6f oder_base.h".#include."fast_enco
6c7c0 64 65 72 2e 68 22 0a 0a 0a 69 6e 74 20 46 4c 5a 5f 65 6e 63 6f 64 65 72 3a 3a 6c 6f 6e 67 65 73 der.h"...int.FLZ_encoder::longes
6c7e0 74 5f 6d 61 74 63 68 5f 6c 65 6e 28 20 69 6e 74 20 2a 20 63 6f 6e 73 74 20 64 69 73 74 61 6e 63 t_match_len(.int.*.const.distanc
6c800 65 20 29 0a 20 20 7b 0a 20 20 65 6e 75 6d 20 7b 20 6c 65 6e 5f 6c 69 6d 69 74 20 3d 20 31 36 20 e.)...{...enum.{.len_limit.=.16.
6c820 7d 3b 0a 20 20 63 6f 6e 73 74 20 69 6e 74 20 61 76 61 69 6c 61 62 6c 65 20 3d 20 73 74 64 3a 3a };...const.int.available.=.std::
6c840 6d 69 6e 28 20 61 76 61 69 6c 61 62 6c 65 5f 62 79 74 65 73 28 29 2c 20 28 69 6e 74 29 6d 61 78 min(.available_bytes(),.(int)max
6c860 5f 6d 61 74 63 68 5f 6c 65 6e 20 29 3b 0a 20 20 69 66 28 20 61 76 61 69 6c 61 62 6c 65 20 3c 20 _match_len.);...if(.available.<.
6c880 6c 65 6e 5f 6c 69 6d 69 74 20 29 20 72 65 74 75 72 6e 20 30 3b 0a 0a 20 20 63 6f 6e 73 74 20 75 len_limit.).return.0;....const.u
6c8a0 69 6e 74 38 5f 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 int8_t.*.const.data.=.ptr_to_cur
6c8c0 72 65 6e 74 5f 70 6f 73 28 29 3b 0a 20 20 6b 65 79 34 20 3d 20 28 20 28 20 6b 65 79 34 20 3c 3c rent_pos();...key4.=.(.(.key4.<<
6c8e0 20 34 20 29 20 5e 20 64 61 74 61 5b 33 5d 20 29 20 26 20 6b 65 79 34 5f 6d 61 73 6b 3b 0a 20 20 .4.).^.data[3].).&.key4_mask;...
6c900 63 6f 6e 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 69 6e 74 20 const.int.pos1.=.pos.+.1;...int.
6c920 6e 65 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 newpos1.=.prev_positions[key4];.
6c940 20 20 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 20 ..prev_positions[key4].=.pos1;..
6c960 20 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 63 79 .int32_t.*.ptr0.=.pos_array.+.cy
6c980 63 6c 69 63 5f 70 6f 73 3b 0a 20 20 69 6e 74 20 6d 61 78 6c 65 6e 20 3d 20 30 3b 0a 0a 20 20 66 clic_pos;...int.maxlen.=.0;....f
6c9a0 6f 72 28 20 69 6e 74 20 63 6f 75 6e 74 20 3d 20 34 3b 20 3b 20 29 0a 20 20 20 20 7b 0a 20 20 20 or(.int.count.=.4;.;.).....{....
6c9c0 20 69 6e 74 20 64 65 6c 74 61 3b 0a 20 20 20 20 69 66 28 20 6e 65 77 70 6f 73 31 20 3c 3d 20 30 .int.delta;.....if(.newpos1.<=.0
6c9e0 20 7c 7c 20 2d 2d 63 6f 75 6e 74 20 3c 20 30 20 7c 7c 0a 20 20 20 20 20 20 20 20 28 20 64 65 6c .||.--count.<.0.||.........(.del
6ca00 74 61 20 3d 20 70 6f 73 31 20 2d 20 6e 65 77 70 6f 73 31 20 29 20 3e 20 64 69 63 74 69 6f 6e 61 ta.=.pos1.-.newpos1.).>.dictiona
6ca20 72 79 5f 73 69 7a 65 20 29 20 7b 20 2a 70 74 72 30 20 3d 20 30 3b 20 62 72 65 61 6b 3b 20 7d 0a ry_size.).{.*ptr0.=.0;.break;.}.
6ca40 20 20 20 20 69 6e 74 33 32 5f 74 20 2a 20 63 6f 6e 73 74 20 6e 65 77 70 74 72 20 3d 20 70 6f 73 ....int32_t.*.const.newptr.=.pos
6ca60 5f 61 72 72 61 79 20 2b 0a 20 20 20 20 20 20 28 20 63 79 63 6c 69 63 5f 70 6f 73 20 2d 20 64 65 _array.+.......(.cyclic_pos.-.de
6ca80 6c 74 61 20 2b 0a 20 20 20 20 20 20 20 20 20 20 28 20 28 20 63 79 63 6c 69 63 5f 70 6f 73 20 3e lta.+...........(.(.cyclic_pos.>
6caa0 3d 20 64 65 6c 74 61 20 29 20 3f 20 30 20 3a 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 =.delta.).?.0.:.dictionary_size.
6cac0 2b 20 31 20 29 20 29 3b 0a 0a 20 20 20 20 69 66 28 20 64 61 74 61 5b 6d 61 78 6c 65 6e 2d 64 65 +.1.).);......if(.data[maxlen-de
6cae0 6c 74 61 5d 20 3d 3d 20 64 61 74 61 5b 6d 61 78 6c 65 6e 5d 20 29 0a 20 20 20 20 20 20 7b 0a 20 lta].==.data[maxlen].).......{..
6cb00 20 20 20 20 20 69 6e 74 20 6c 65 6e 20 3d 20 30 3b 0a 20 20 20 20 20 20 77 68 69 6c 65 28 20 6c .....int.len.=.0;.......while(.l
6cb20 65 6e 20 3c 20 61 76 61 69 6c 61 62 6c 65 20 26 26 20 64 61 74 61 5b 6c 65 6e 2d 64 65 6c 74 61 en.<.available.&&.data[len-delta
6cb40 5d 20 3d 3d 20 64 61 74 61 5b 6c 65 6e 5d 20 29 20 2b 2b 6c 65 6e 3b 0a 20 20 20 20 20 20 69 66 ].==.data[len].).++len;.......if
6cb60 28 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 20 6d 61 78 6c 65 (.maxlen.<.len.).........{.maxle
6cb80 6e 20 3d 20 6c 65 6e 3b 20 2a 64 69 73 74 61 6e 63 65 20 3d 20 64 65 6c 74 61 20 2d 20 31 3b 0a n.=.len;.*distance.=.delta.-.1;.
6cba0 20 20 20 20 20 20 20 20 20 20 69 66 28 20 6d 61 78 6c 65 6e 20 3e 3d 20 6c 65 6e 5f 6c 69 6d 69 ..........if(.maxlen.>=.len_limi
6cbc0 74 20 29 20 7b 20 2a 70 74 72 30 20 3d 20 2a 6e 65 77 70 74 72 3b 20 62 72 65 61 6b 3b 20 7d 20 t.).{.*ptr0.=.*newptr;.break;.}.
6cbe0 7d 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 2a 70 74 72 30 20 3d 20 6e 65 77 70 6f 73 31 3b 0a }.......}......*ptr0.=.newpos1;.
6cc00 20 20 20 20 70 74 72 30 20 3d 20 6e 65 77 70 74 72 3b 0a 20 20 20 20 6e 65 77 70 6f 73 31 20 3d ....ptr0.=.newptr;.....newpos1.=
6cc20 20 2a 70 74 72 30 3b 0a 20 20 20 20 7d 0a 20 20 72 65 74 75 72 6e 20 6d 61 78 6c 65 6e 3b 0a 20 .*ptr0;.....}...return.maxlen;..
6cc40 20 7d 0a 0a 0a 62 6f 6f 6c 20 46 4c 5a 5f 65 6e 63 6f 64 65 72 3a 3a 65 6e 63 6f 64 65 5f 6d 65 .}...bool.FLZ_encoder::encode_me
6cc60 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 6c 6f 6e 67 20 6d mber(.const.unsigned.long.long.m
6cc80 65 6d 62 65 72 5f 73 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 ember_size.)...{...const.unsigne
6cca0 64 20 6c 6f 6e 67 20 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 d.long.long.member_size_limit.=.
6ccc0 20 20 20 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 2d 20 4c 7a 69 70 5f 74 72 61 69 6c 65 72 3a 3a ....member_size.-.Lzip_trailer::
6cce0 73 69 7a 65 20 2d 20 6d 61 78 5f 6d 61 72 6b 65 72 5f 73 69 7a 65 3b 0a 20 20 69 6e 74 20 72 65 size.-.max_marker_size;...int.re
6cd00 70 20 3d 20 30 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 p.=.0;...int.reps[num_rep_distan
6cd20 63 65 73 5d 3b 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 ces];...State.state;...for(.int.
6cd40 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 73 3b 20 2b 2b i.=.0;.i.<.num_rep_distances;.++
6cd60 69 20 29 20 72 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 i.).reps[i].=.0;....if(.data_pos
6cd80 69 74 69 6f 6e 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 ition().!=.0.||.renc.member_posi
6cda0 74 69 6f 6e 28 29 20 21 3d 20 4c 7a 69 70 5f 68 65 61 64 65 72 3a 3a 73 69 7a 65 20 29 0a 20 20 tion().!=.Lzip_header::size.)...
6cdc0 20 20 72 65 74 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 ..return.false;....//.can.be.cal
6cde0 6c 65 64 20 6f 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 led.only.once....if(.!data_finis
6ce00 68 65 64 28 29 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 hed().)...//.encode.first.byte..
6ce20 20 20 20 7b 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 65 ...{.....const.uint8_t.prev_byte
6ce40 20 3d 20 30 3b 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 .=.0;.....const.uint8_t.cur_byte
6ce60 20 3d 20 70 65 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 .=.peek(.0.);.....renc.encode_bi
6ce80 74 28 20 62 6d 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 t(.bm_match[state()][0],.0.);...
6cea0 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 72 ..encode_literal(.prev_byte,.cur
6cec0 5f 62 79 74 65 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 _byte.);.....crc32.update_byte(.
6cee0 63 72 63 5f 2c 20 63 75 72 5f 62 79 74 65 20 29 3b 0a 20 20 20 20 72 65 73 65 74 5f 6b 65 79 34 crc_,.cur_byte.);.....reset_key4
6cf00 28 29 3b 0a 20 20 20 20 75 70 64 61 74 65 5f 61 6e 64 5f 6d 6f 76 65 28 20 31 20 29 3b 0a 20 20 ();.....update_and_move(.1.);...
6cf20 20 20 7d 0a 0a 20 20 77 68 69 6c 65 28 20 21 64 61 74 61 5f 66 69 6e 69 73 68 65 64 28 29 20 26 ..}....while(.!data_finished().&
6cf40 26 20 72 65 6e 63 2e 6d 65 6d 62 65 72 5f 70 6f 73 69 74 69 6f 6e 28 29 20 3c 20 6d 65 6d 62 65 &.renc.member_position().<.membe
6cf60 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 69 6e 74 20 6d 61 74 r_size_limit.).....{.....int.mat
6cf80 63 68 5f 64 69 73 74 61 6e 63 65 3b 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 6d 61 69 6e 5f ch_distance;.....const.int.main_
6cfa0 6c 65 6e 20 3d 20 6c 6f 6e 67 65 73 74 5f 6d 61 74 63 68 5f 6c 65 6e 28 20 26 6d 61 74 63 68 5f len.=.longest_match_len(.&match_
6cfc0 64 69 73 74 61 6e 63 65 20 29 3b 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 70 6f 73 5f 73 74 distance.);.....const.int.pos_st
6cfe0 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 74 ate.=.data_position().&.pos_stat
6d000 65 5f 6d 61 73 6b 3b 0a 20 20 20 20 69 6e 74 20 6c 65 6e 20 3d 20 30 3b 0a 0a 20 20 20 20 66 6f e_mask;.....int.len.=.0;......fo
6d020 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 69 73 74 61 6e r(.int.i.=.0;.i.<.num_rep_distan
6d040 63 65 73 3b 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 69 ces;.++i.).......{.......const.i
6d060 6e 74 20 74 6c 65 6e 20 3d 20 74 72 75 65 5f 6d 61 74 63 68 5f 6c 65 6e 28 20 30 2c 20 72 65 70 nt.tlen.=.true_match_len(.0,.rep
6d080 73 5b 69 5d 20 2b 20 31 20 29 3b 0a 20 20 20 20 20 20 69 66 28 20 74 6c 65 6e 20 3e 20 6c 65 6e s[i].+.1.);.......if(.tlen.>.len
6d0a0 20 29 20 7b 20 6c 65 6e 20 3d 20 74 6c 65 6e 3b 20 72 65 70 20 3d 20 69 3b 20 7d 0a 20 20 20 20 .).{.len.=.tlen;.rep.=.i;.}.....
6d0c0 20 20 7d 0a 20 20 20 20 69 66 28 20 6c 65 6e 20 3e 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 20 ..}.....if(.len.>.min_match_len.
6d0e0 26 26 20 6c 65 6e 20 2b 20 33 20 3e 20 6d 61 69 6e 5f 6c 65 6e 20 29 0a 20 20 20 20 20 20 7b 0a &&.len.+.3.>.main_len.).......{.
6d100 20 20 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 2c 20 70 74 ......crc32.update_buf(.crc_,.pt
6d120 72 5f 74 6f 5f 63 75 72 72 65 6e 74 5f 70 6f 73 28 29 2c 20 6c 65 6e 20 29 3b 0a 20 20 20 20 20 r_to_current_pos(),.len.);......
6d140 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 65 .renc.encode_bit(.bm_match[state
6d160 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 2e ()][pos_state],.1.);.......renc.
6d180 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 31 20 29 encode_bit(.bm_rep[state()],.1.)
6d1a0 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 72 65 70 30 ;.......renc.encode_bit(.bm_rep0
6d1c0 5b 73 74 61 74 65 28 29 5d 2c 20 72 65 70 20 21 3d 20 30 20 29 3b 0a 20 20 20 20 20 20 69 66 28 [state()],.rep.!=.0.);.......if(
6d1e0 20 72 65 70 20 3d 3d 20 30 20 29 0a 20 20 20 20 20 20 20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f .rep.==.0.).........renc.encode_
6d200 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 2c bit(.bm_len[state()][pos_state],
6d220 20 31 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 20 .1.);.......else.........{......
6d240 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 31 5b 73 74 61 74 ...renc.encode_bit(.bm_rep1[stat
6d260 65 28 29 5d 2c 20 72 65 70 20 3e 20 31 20 29 3b 0a 20 20 20 20 20 20 20 20 69 66 28 20 72 65 70 e()],.rep.>.1.);.........if(.rep
6d280 20 3e 20 31 20 29 0a 20 20 20 20 20 20 20 20 20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f 62 69 74 .>.1.)...........renc.encode_bit
6d2a0 28 20 62 6d 5f 72 65 70 32 5b 73 74 61 74 65 28 29 5d 2c 20 72 65 70 20 3e 20 32 20 29 3b 0a 20 (.bm_rep2[state()],.rep.>.2.);..
6d2c0 20 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 64 69 73 74 61 6e 63 65 20 3d 20 72 65 70 73 .......const.int.distance.=.reps
6d2e0 5b 72 65 70 5d 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 72 65 70 3b [rep];.........for(.int.i.=.rep;
6d300 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 73 5b 69 2d 31 .i.>.0;.--i.).reps[i].=.reps[i-1
6d320 5d 3b 0a 20 20 20 20 20 20 20 20 72 65 70 73 5b 30 5d 20 3d 20 64 69 73 74 61 6e 63 65 3b 0a 20 ];.........reps[0].=.distance;..
6d340 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 73 74 61 74 65 2e 73 65 74 5f 72 65 70 28 29 3b 0a .......}.......state.set_rep();.
6d360 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 5f 6c 65 6e 5f 6d ......renc.encode_len(.rep_len_m
6d380 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 20 20 6d 6f odel,.len,.pos_state.);.......mo
6d3a0 76 65 5f 70 6f 73 28 29 3b 0a 20 20 20 20 20 20 75 70 64 61 74 65 5f 61 6e 64 5f 6d 6f 76 65 28 ve_pos();.......update_and_move(
6d3c0 20 6c 65 6e 20 2d 20 31 20 29 3b 0a 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 20 .len.-.1.);.......continue;.....
6d3e0 20 20 7d 0a 0a 20 20 20 20 69 66 28 20 6d 61 69 6e 5f 6c 65 6e 20 3e 20 6d 69 6e 5f 6d 61 74 63 ..}......if(.main_len.>.min_matc
6d400 68 5f 6c 65 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 h_len.).......{.......crc32.upda
6d420 74 65 5f 62 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 te_buf(.crc_,.ptr_to_current_pos
6d440 28 29 2c 20 6d 61 69 6e 5f 6c 65 6e 20 29 3b 0a 20 20 20 20 20 20 72 65 6e 63 2e 65 6e 63 6f 64 (),.main_len.);.......renc.encod
6d460 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 61 e_bit(.bm_match[state()][pos_sta
6d480 74 65 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 62 69 74 28 te],.1.);.......renc.encode_bit(
6d4a0 20 62 6d 5f 72 65 70 5b 73 74 61 74 65 28 29 5d 2c 20 30 20 29 3b 0a 20 20 20 20 20 20 73 74 61 .bm_rep[state()],.0.);.......sta
6d4c0 74 65 2e 73 65 74 5f 6d 61 74 63 68 28 29 3b 0a 20 20 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 te.set_match();.......for(.int.i
6d4e0 20 3d 20 6e 75 6d 5f 72 65 70 5f 64 69 73 74 61 6e 63 65 73 20 2d 20 31 3b 20 69 20 3e 20 30 3b .=.num_rep_distances.-.1;.i.>.0;
6d500 20 2d 2d 69 20 29 20 72 65 70 73 5b 69 5d 20 3d 20 72 65 70 73 5b 69 2d 31 5d 3b 0a 20 20 20 20 .--i.).reps[i].=.reps[i-1];.....
6d520 20 20 72 65 70 73 5b 30 5d 20 3d 20 6d 61 74 63 68 5f 64 69 73 74 61 6e 63 65 3b 0a 20 20 20 20 ..reps[0].=.match_distance;.....
6d540 20 20 65 6e 63 6f 64 65 5f 70 61 69 72 28 20 6d 61 74 63 68 5f 64 69 73 74 61 6e 63 65 2c 20 6d ..encode_pair(.match_distance,.m
6d560 61 69 6e 5f 6c 65 6e 2c 20 70 6f 73 5f 73 74 61 74 65 20 29 3b 0a 20 20 20 20 20 20 6d 6f 76 65 ain_len,.pos_state.);.......move
6d580 5f 70 6f 73 28 29 3b 0a 20 20 20 20 20 20 75 70 64 61 74 65 5f 61 6e 64 5f 6d 6f 76 65 28 20 6d _pos();.......update_and_move(.m
6d5a0 61 69 6e 5f 6c 65 6e 20 2d 20 31 20 29 3b 0a 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 ain_len.-.1.);.......continue;..
6d5c0 20 20 20 20 20 7d 0a 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 .....}......const.uint8_t.prev_b
6d5e0 79 74 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 yte.=.peek(.1.);.....const.uint8
6d600 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 63 6f 6e _t.cur_byte.=.peek(.0.);.....con
6d620 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 6b 28 20 72 65 st.uint8_t.match_byte.=.peek(.re
6d640 70 73 5b 30 5d 20 2b 20 31 20 29 3b 0a 20 20 20 20 6d 6f 76 65 5f 70 6f 73 28 29 3b 0a 20 20 20 ps[0].+.1.);.....move_pos();....
6d660 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 20 63 75 72 5f 62 79 .crc32.update_byte(.crc_,.cur_by
6d680 74 65 20 29 3b 0a 0a 20 20 20 20 69 66 28 20 6d 61 74 63 68 5f 62 79 74 65 20 3d 3d 20 63 75 72 te.);......if(.match_byte.==.cur
6d6a0 5f 62 79 74 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 _byte.).......{.......const.int.
6d6c0 73 68 6f 72 74 5f 72 65 70 5f 70 72 69 63 65 20 3d 20 70 72 69 63 65 31 28 20 62 6d 5f 6d 61 74 short_rep_price.=.price1(.bm_mat
6d6e0 63 68 5b 73 74 61 74 65 28 29 5d 5b 70 6f 73 5f 73 74 61 74 65 5d 20 29 20 2b 0a 20 20 20 20 20 ch[state()][pos_state].).+......
6d700 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 70 72 69 .............................pri
6d720 63 65 31 28 20 62 6d 5f 72 65 70 5b 73 74 61 74 65 28 29 5d 20 29 20 2b 0a 20 20 20 20 20 20 20 ce1(.bm_rep[state()].).+........
6d740 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 70 72 69 63 65 ...........................price
6d760 30 28 20 62 6d 5f 72 65 70 30 5b 73 74 61 74 65 28 29 5d 20 29 20 2b 0a 20 20 20 20 20 20 20 20 0(.bm_rep0[state()].).+.........
6d780 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 30 ..........................price0
6d7a0 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 20 29 3b 0a (.bm_len[state()][pos_state].);.
6d7c0 20 20 20 20 20 20 69 6e 74 20 70 72 69 63 65 20 3d 20 70 72 69 63 65 30 28 20 62 6d 5f 6d 61 74 ......int.price.=.price0(.bm_mat
6d7e0 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 20 20 20 20 ch[state()][pos_state].);.......
6d800 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 70 72 if(.state.is_char().).........pr
6d820 69 63 65 20 2b 3d 20 70 72 69 63 65 5f 6c 69 74 65 72 61 6c 28 20 70 72 65 76 5f 62 79 74 65 2c ice.+=.price_literal(.prev_byte,
6d840 20 63 75 72 5f 62 79 74 65 20 29 3b 0a 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 .cur_byte.);.......else.........
6d860 70 72 69 63 65 20 2b 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 price.+=.price_matched(.prev_byt
6d880 65 2c 20 63 75 72 5f 62 79 74 65 2c 20 6d 61 74 63 68 5f 62 79 74 65 20 29 3b 0a 20 20 20 20 20 e,.cur_byte,.match_byte.);......
6d8a0 20 69 66 28 20 73 68 6f 72 74 5f 72 65 70 5f 70 72 69 63 65 20 3c 20 70 72 69 63 65 20 29 0a 20 .if(.short_rep_price.<.price.)..
6d8c0 20 20 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 .......{.........renc.encode_bit
6d8e0 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 65 5d 2c 20 (.bm_match[state()][pos_state],.
6d900 31 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 28 20 62 6d 1.);.........renc.encode_bit(.bm
6d920 5f 72 65 70 5b 73 74 61 74 65 28 29 5d 2c 20 31 20 29 3b 0a 20 20 20 20 20 20 20 20 72 65 6e 63 _rep[state()],.1.);.........renc
6d940 2e 65 6e 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 2c 20 30 .encode_bit(.bm_rep0[state()],.0
6d960 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 28 20 62 6d 5f .);.........renc.encode_bit(.bm_
6d980 6c 65 6e 5b 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 len[state()][pos_state],.0.);...
6d9a0 20 20 20 20 20 20 73 74 61 74 65 2e 73 65 74 5f 73 68 6f 72 74 5f 72 65 70 28 29 3b 0a 20 20 20 ......state.set_short_rep();....
6d9c0 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 7d .....continue;.........}.......}
6d9e0 0a 0a 20 20 20 20 2f 2f 20 6c 69 74 65 72 61 6c 20 62 79 74 65 0a 20 20 20 20 72 65 6e 63 2e 65 ......//.literal.byte.....renc.e
6da00 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 70 6f 73 ncode_bit(.bm_match[state()][pos
6da20 5f 73 74 61 74 65 5d 2c 20 30 20 29 3b 0a 20 20 20 20 69 66 28 20 73 74 61 74 65 2e 69 73 5f 63 _state],.0.);.....if(.state.is_c
6da40 68 61 72 5f 73 65 74 5f 63 68 61 72 28 29 20 29 0a 20 20 20 20 20 20 65 6e 63 6f 64 65 5f 6c 69 har_set_char().).......encode_li
6da60 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 20 29 3b 0a 20 20 teral(.prev_byte,.cur_byte.);...
6da80 20 20 65 6c 73 65 0a 20 20 20 20 20 20 65 6e 63 6f 64 65 5f 6d 61 74 63 68 65 64 28 20 70 72 65 ..else.......encode_matched(.pre
6daa0 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 65 20 29 3b 0a v_byte,.cur_byte,.match_byte.);.
6dac0 20 20 20 20 7d 0a 0a 20 20 66 75 6c 6c 5f 66 6c 75 73 68 28 20 73 74 61 74 65 20 29 3b 0a 20 20 ....}....full_flush(.state.);...
6dae0 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 00 00 00 00 00 00 return.true;...}................
6db00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6db20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6db40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6db60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6db80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dc00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dc20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dc40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dc60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dc80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dcc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dd00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dd20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dd40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dd60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ddc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6de00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6de20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6de40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6de60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6de80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6df00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6df20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6df40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6df60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6df80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dfa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dfc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dfe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................