unpackager-dragNdrop-1-i486-slxr/0000755000000000000000000000000011236550121015422 5ustar rootrootunpackager-dragNdrop-1-i486-slxr/lib/0000755000000000000000000000000011166766712016211 5ustar rootrootunpackager-dragNdrop-1-i486-slxr/lib/liblzma.so.0.0.00000755000000000000000000043214611166766711020654 0ustar rootrootELF4P4 (Qtdac#%FX3C)\ `V-5PH6'O4SaM0<]Kb_Q?B$ER @[NY2*AJDUT,>^ !19/."7 +& IL: Z=G(W;89 0t @[} @! gJ 608X ) z ;X O8 F8 8R dT ~ PQd  % @W  i uY   T- pV p-J  " ` :B (Q 3' "p'Y m xe d /0n "P [U  Mv k 2 L0V G'  p" 2 aK 0K MS M 7z  0\ r@=} ~P* E} `?. (   P^_ 1 AT ;+ |n }- Н%  cLv i*n ~= 4 9p  )e P~ Zs} Apk 0f)   >l !@U zV ]' bC [ } z( N X:  I "6' LP0 __gmon_start___fini__cxa_finalize_Jv_RegisterClasseslzma_version_numberlzma_version_stringlzma_codelzma_get_checklzma_memusagelzma_memlimit_getlzma_memlimit_setmemcpyfreelzma_endmalloclzma_block_unpadded_sizelzma_check_sizelzma_block_total_sizelzma_block_compressed_sizelzma_index_memusagelzma_index_countlzma_index_total_sizelzma_index_uncompressed_sizelzma_index_readlzma_index_rewindlzma_index_locatelzma_index_equallzma_index_endlzma_index_duplzma_index_initlzma_index_file_sizelzma_vli_sizelzma_index_catlzma_index_stream_sizelzma_index_sizelzma_index_appendlzma_stream_flags_comparelzma_alone_encoderlzma_block_buffer_boundlzma_block_buffer_encodelzma_block_header_sizelzma_block_header_encodelzma_check_is_supportedlzma_block_encoderlzma_vli_encodelzma_filter_flags_encodememsetlzma_crc32lzma_filter_flags_sizelzma_easy_decoder_memusagelzma_lzma_presetlzma_raw_decoder_memusagelzma_easy_encoder_memusagelzma_raw_encoder_memusagelzma_easy_encoderlzma_raw_buffer_encodelzma_filter_encoder_is_supportedlzma_chunk_sizelzma_properties_sizelzma_properties_encodelzma_raw_encoderlzma_index_buffer_encodelzma_index_encoderlzma_stream_buffer_encodelzma_stream_header_encodelzma_stream_footer_encodelzma_stream_buffer_boundlzma_stream_encoderlzma_alone_decoderlzma_auto_decoderlzma_block_buffer_decodelzma_block_decoderlzma_block_header_decodelzma_filter_flags_decodelzma_vli_decodelzma_raw_buffer_decodelzma_filter_decoder_is_supportedlzma_properties_decodelzma_raw_decoderlzma_index_buffer_decodelzma_index_decoderlzma_index_hash_sizelzma_index_hash_decodelzma_index_hash_appendlzma_index_hash_endlzma_index_hash_initlzma_stream_buffer_decodelzma_stream_decoderlzma_stream_footer_decodelzma_stream_header_decodelzma_crc64lzma_mf_is_supportedmemmovelzma_mode_is_supportedlibpthread.so.0libc.so.6_edata__bss_startliblzma.so.0GLIBC_2.1.3GLIBC_2.0Xsi ii (,<HL\ht|(,<HLP\`dpx _$(,048 < @ DHLPTX\` d!h"l&p)t*x-|.01468:=>@ABEGHJKOSTXZ[]^_`bUS[ttX[ hhhhh h($h0(h8p,h@`0hHP4hP@8hX0<h` @hhDhpHhxLhPhThXh\h`hdhhhplh`phPth@xh0|h hhhhhhhh h(h0h8ph@`hHPhP@hX0h` hhhphxhhUVS^u]t$)p9s A9rƃ[^]US.tt $҃[]Ë$ÐU]ÍU]Ív'UXuu]M }^EtW~t`V$tBEtv ]ȋu}]Í| t߃zwًBt&~u~ufVt묍v롍t&uF9BEuL$ F|$EED$ED$ED$ED$ E؉D$F D$$Uԋ}1҉E)FE܋EFV 1)~~~VV$FBv|B&Uvt&B;FEf8vt&&tmvtSFEvȆBЃBB$duE܅uz$ftH FFBEFBE&FBEB$t&UEP$1Jt$fU(EtCP$tV t@E D$$FFF FF^]ÍvE D$$G뻐t&U}}uu;wtE <$D$j1wtE t$<$D$ҋu}]Ðt&UVut/V$t(F $D$F D$F$$F$^]Í'USE(M ut&t D$D$A$҃[]Í$,[]Ív'U Vut>V$҉t<@ 1B!B"B#BFF FF^]ÐF $(D$5…҉F$tBBB BBs $ÐU(E]u}PUwzuuP HUMrXwvQM MvtFPw>E#Et-$1u1u}r wv11]u}]Ít&'U]E6u}$W!Ѓtƃ׉]u}]U(U]E ÔuUU}E$ u]ȋu}]Í&uF$1F;Ur*v6u})ƋE׉x p!t&11 t 롍&;EvvuN1ɉV zUWVSUB B(B,B8 B<B0B41҉E1&9u|fUWVMu 9tA3F3 t 1҃^_]ËQA 3F 3V uQA3F3V uՋQA3F3V uŋI v ɉMuA;Ft,t&뛍ɍUMB;AuuEE}  E9NEu}  9-Eu}  9 UMRI҉UM]uM!UHEMEŰU ]M܋MEEu}MЈM׋H$UUiɉUQUt{uD TƃuUuEUD E؋ETU܋u؋}UЃA 1]u}]Ðt&M$ L$¸tЋu}MBF$uz}Br u؉  u~ tP}1W$xfV t&'UWVS E6} t6UB u p|$$ouE|$$\ [^_]Ít&UWVSÍE $XD$EE uM@ @$@(q &xFW MGFy$EEMF $D$L$M荗  $D$L$M  D$$L$E9p(tCvtLE $ D$tCUB$GJ Iz DUB$B(vuE[^_]Ðt&U T$M $:EE[^_]ÍUWVS }VG upU $T$uGGG GGGGG G$G(G@GDGHGLGPGT [^_]ËE $XD$]cאU(M]v'u}A΋Q+A@QD$T$SVT}}FPVvuwHEUL)u}1M}u}]u}]ÍUh}}EU]~uEȉUtu tU 9Ut }vE E]u}]Ít&}UwBRuЉE؉}ԉU܉T$$bM QƋAT$$K} UЋMWO 11w@rw9E$vw׋U Ɖ$hwEÚvfE 0t&}w@)u؋D}܋U܋E؉T$$UЋuMԃ+VHNL1‰σu}́wMAPQTAPQTvE E)pPxT $wۋUED$D$D$ 4$|$\EuU R ҉UMRI$M΋I)9rD TljUċU}B ERUċE}ċu|}tƋ  F  EEEUHEt |+t|UD TEEEUUUEEuU}tƋ|u}苄 + }쉄UG9V  EMu }AF |$ $F Et UR$UuM} U1NG$B$M uA@ϋQDFVF@AHVDQLFVFHGPVLuWTAPQTWGQW FGV WFGVWFVu<$t$.%'U(M]Wu}QAT$$u]Vv}uEU1Mu}}u}]ÍUuu]#}VFT$$ VN]u1Ћ}ʉ]Ð&Uuu]tFV$T$]Fu)ȃ]Ít&'UHUEM]U܋UE؋EduUЋU܃}Mԃws(}v-& ]u}]Íw}wڋU܋E؉T$$UЋMԉ$L$MUEEE؃ƃEЃ1QAUQ EAQUAQQEUvB )u}uUMU)VUNMN FVM)VN!t&y w $t&wrvwM $wUԋEЋMD$T$ U؉D$EL$$U 5MIUM=UEuu }u0u*H w2V w*9t6u }]Í&u}]Ðu }]ÐPHUEM!ȃtb~v!tSЉʃwrwEuwrwfuUE11 Vt&1fU1M VUwt& u^]ÐUWVS=}69wtE <$D$w@ BD$E$U=P Љ ‰ Љ 1 у@%@)H!EEEEEED$U T$$[^_]ø[^_]ÍvU $0T$E…҉tՍ8G8G BBB BBU(]}}u<$+t]u}]ÍE D$G D$G$$7EuG$@ @#뾍v<$tu뮍vU]Juu }}t$<$4t$<$]u}]Ít&'U8E }}$]uu:;8vSFEF EVuFE |$D$ D$ED$ ED$E$~ vE F98r1If u=E(|$D$ E D$ED$ED$ED$ ED$E D$$V]u}]ÐU1҉ Eu}׉ƃ RMU׉wB\wu}]Íu1}]Ít&UhE]äu}E@zE}SuXMMU:;} ?M2uF$E U ))‰)9}+Dž RውƋE׋p xPH$QEM8Q)9UI )‰U;rr 9'uUEEEFEEED$E $D$E D$$ E8 }1X󫍅XEčEDžX}E!EEwGE<$ wfv ]u}]Í U:SEuUD$EL$Mt$u D$ EED$ t$T$L$$U܉U})щW1W O9r:9r2EU$D$M q!Ep Mu+FF)F E4$ D$9OEH t uE}uꋅ1UB4$D$[UM}L$ |$B4$D$ZMA4$D$@Z}?}Ut$D$$ M11"U}Gwtn1MuPu)vMFFDBUUȉt$$T$M9}wu}U]z}}ux?9wtE <$D$YEwuUr v]Ћu}]Ð4$\tߋtgBU@ @$@(P@,@04$t$YUBD$E D$$vE $D$LAʉGXAG EAApA AA+v'U(]i}}u<${t]u}]ÍE D$G D$G$$GEuG$@ @#뾍v<$u뮍vU]Úuu }}t$<$t$<$(]u}]Ít&'UWVS\E}?Mu EԸ+G(W,+Mԃw9sE E\[^_]Ðt&GNM(UL$ E$t$D$UT$ML$ED$ UT$M L$$WW$EUܺEEG E؋+EE฼+EU܃XE+MԋUEUUEW$1O(W,G L$ EEԉD$G@D$G4$V}}(W O$GGP HW(O,PHt&G u.t&UG W$G W$|9E$wEE\[^_]ÍvE G@$E̍&9U$vG0MD4G09ẺG0uEE\[^_]ËG@tD$G4$UG뎍;E&UH]E6u}$W tMAQs ]u}]ÍvEU @E؃EM UAEEP H!ȃt3ED$$L$D$ED$E D$ uU܀ @MQI!ȃMQQ#BCE11EԋMEԉL$ M D$2$L$E P2#D2tfut&t&fvED$$L$D$ED$E D$ CU܀ 8t&U܍GEUD$)E T$$uME D$L$$KM U؉D1F&'U(E]u}ʹUEz r!t"<$t$ EEPH!ȃt$L$t_EEPtR#BtH1 }D$<$u.EUUP2#D2t)N ED$K$[]ÍvUSÿD$KD$ ED$E D$E$S[]Í'U(]j}}u<$t]u}]ÍKD$ E D$D$G D$G$$EuG$@ @!@#먐t&<$u떐U8}}]uG=?v ]u}]ÍvMD$$D$L$ML$M L$ SuE|$$>tfEUM D$D$ET$L$ D$$uƋU)EM;MYE <$D$uUE>Uuu ]} ̮~?v]u}]ÍEt$$}u֋VT$$U2D$E4$UE롐UWVS,E UMA0UEƉM9u$Ev ,[^_]Íht&U 29u$UJ0B4M1E B0B0vʿ,[^_]ÍvMA0U A0MvM 1NML$UB$#MAQƃ׃r Mt&bMAQM$L$M L$ML$ M$T$L$UB0v Ĝ[^_]ÐvEM$} U D$ L$|$D$D$D$ D$T$$u$MMϹEE1UUEMUV$EEL$$U褴7dž vU(M}$U|$M}D$ E T$U L$|$ D$ET$D$F$V }(M $D$T$ V4F0T$U D$T$$Dit&M}99}(UD$E $D$@U$M }T$UL$|$ $D$ED$';rq>tydžf$ u.M}L$<$F U tfv1wg1}(YUM]u}Y uAQƃ׃v ]u}]ÐsVuU y BwBA B ЃD$D$$ܲU fB 1fw룐UM]uu 諴\t]u]Í@fF y wFQ FPD$D$$BF1]u]ÐUWVEu} EE M;vEv ^_]Ðw ) t1BMUvMȀU9EtNw2w-MMEUE9jt&ME뛍vE19EC^_]ÐvvcvEU9MMUEMuu}E t\V4F09щEUv4} EUW}F(V,EWN,F(1u}]Ívs&u}]Í&V0~4U}f9EsӐU(]EfU}}uEU썳b9wtE <$D$U UwtU҉t]@EBB8B<B(EB@B B$B,1B0B4]u}]ÍvE $D$u…҉tЍdGdG HbGBBB BB8'U(]E6uu }}$EEtE]u}]ÍUt$|$ B D$B$$kuUB$@ @#뷐t&E$聯uU]詰Zuu }}t$<$Dt$<$]u}]Ít&'UWVSF(uaFVr }vvM}F V$D$T$FVD$T$ E D$F $ƓFVMF ЃVA&E1@1{MkvUhM]Ɩwuɉ}tUtEt EU9v ]u}]Ðt&M E1yD$$M…҉tËE}̋MEE8D$ EUЋUuED$EEED$ D$D$D$T$L$$1AUMT$${EU :EԋU؉$T$裒M Qt&U(]EfU}}uEU썳9wtE <$D$wutU Uu ]u}]ÐtjU T$@ $謒E 7$D$7U~UF 1FVUFF(F,V냐E $0D$U‰t-H{GG zGB f0U(]E6~uu}}$EEtE]u}]ÍU t$ |$T$UB D$B$$duUB$@ fE$聒uUuu }}]蝓N~t$G $=t$<$]u}]ÐUuu]S~}VFT$$=VN ]u1Ћ}ʉ]Ð&U8uu}} E܋M܉]UÕ}EyAQ EU $T$踐UM$L$褐M1AEQU AQEEUUD$E܋MD$ U $MD$ V]1u}]Í&UWVS} EUW}EW1u}]Ðs.u}]Í&U}떍t&9Esˉ'U(]M÷rEUu}}EU썳89qtE $D$芌U M MrE0UMdždžE ƆD$$K1dž]u}]fU $T$譌M‰tb։AA xAABBB BBBǂgU8]E VqU}}uEU<$_t]u}]fUET$UD$T$ G D$G$$EuG$@ @#봐t&<$蜄u뢍t&'U]蹅jp}}uu Gt$$Qt$$Kt$<$]u}]ÍUWVS}Sp`dWhGlxp\?v ļ[^_]Í&vUE; D$ T$UT$$uD$ `D$dT$ ED$UT$E$m dLJT$\$z#$褀3U3| \T$h$U9Ew/%t&U9EU<tҋE D$$FLJXt&G G D$`D$dT$ ED$UT$E$;G ^duLJw8T$E D$l$4$!Ѓt9;+lD$U T$p$ƋU T$E$E D$Ẻ$ΆU T$E؉$輆E D$E$誆G8:U(T$ E$D$U T$ED$UT$ED$ UT$E D$G$W l$ ~D$T$G0W4D$ T$$}D$ `D$dT$ ED$UT$E$[ dLJT$h$:ƇG$t2U9Ev/Ud}(tļ1[^_]Ðt&tVļ [^_]Íw ;t&$O}Zt&Avv1)fuU fDfU]ejuu } 8t]ȋu}]Ðt&E D$D$$N}U ;u‹M yuEA u?EUA B A1ҋMAQ1{&j&'U]~Åiuu }8t]ȋu}]ËE D$D$$v|U ;BuƋu ~u4Fu.E1ɋUFBBB 돍낐UWV0E EE 8u )V t1҉ u 9Ut&E4M)UEU܈EȃE؋E t1Mu Q}>}y tU9UwE19E u/f 0^_]fUB+v 0^_]fME;U@su1u 1uvw1ɍE9E 붐U1U范kgw$]Í&'UUY8gw]Ít&'USE X| gMt; t&t[]t&Í&A@[]Ðt& $[]fA@QDQ[]Í&UE ]{×fuut^ t9t ]u]fF@D$ED$U$yF@]u]ft$ED$U$]u]ËF@VDD$T$ ED$U$yF@VD]u]USE 8{etF t)t[]&Í&E@@[]ËE$[]Í&E@@@D[]ÐSVWUt$|$D$;ceЍ't.F13Oݐ|$)|$3N鋔 33V33N 33139u 3333313|$t.F13O]_^[Í&'$ÐSVWUt$|$D$T$ c҃t.F133TOՉ|$)|$1鋄1Ћ333333T9|1鋄1Ћ333333T|$t.F133TO]_^[Ít&'$ÐU1҉WVSxbPMȉuF@@}Eԋru؋BE܋B EBEBEJ}M쉽}$},}4}<}D}L}T}\}DžEDžhd}Dž(Dž Džl}DžpDž0Džxt}Dž8EDž@|}EDžHDžP}}DžXDž`}HR- t& ։ 1ȉ1‹3!3uUMU 1‰1‹! #E ‹U@ (  1ȋ1ȋM‹1#3‰UU 1‰1‰ !#E u‹U쉵@$0֋ 1ȋ1ȋM‹1#1‰UU؉ u1‰1‹! #E ‹U@  ,8֋ 1ȋ1ȋM‹3#3‰UUԉ u1‰1‹! ȋ#E U 4@lj 1ȉ1ȋ‹3I!3}UU 1‰1‹! #E UU PPMH1ЋP1Ћ881Ћ8 1ЍHvHH@M1ЋH1Ћ001Ћ0 1Ѝ<@@@8M1Ћ@1Ћ((1Ћ( 1Ѝ48880x1Ћ81Ћ  1Ћ 1Ѝ40(p1Ћ 1Ћ001Ћ01Ѝ(F@~DFHVLEFPNT~XF\P[^_]UVuF`?8t&@tS8uF`VdщF`VdȉN8F<1ҍ&D@ȉu^]Ít&뜍&UWVSd]O } tUUB`@?)9v֋M)Et$L$$aM1uA`Qd?A`Qdu#u [^_]Í&USM+dNQ@A`AdHA@LBPBTB XB\B`BdB[]ÐUUt tu]t&Í&t&t1tۍ؍&'U(}}]uƉUWXc N=_G;G VW WV G@FVEG G荄ȉFt9EtE$D$DgG WFLGFHGFU$T$E D$ UT$ED$$WtG\ƃ<[^_]ÍvO+G9WpG,҉E E(L$D$ E܉D$G D$ED$ED$ ED$E D$Gh$҉ƋEG,tmW9w6W0tG ;G(r/9&^v1<[^_]Ít&)ЉG(Ð)W G0T$E$W8t&U(f1G(W\fG,+wW )D$2$D$IZWp)w,G,w)w )w(ҋOEL$E1D$G D$ UT$ED$U$_E(EU;UW1VuEt$$P(EtMTMyH9tNjE UMA^_]fEp@ EAL)u9EvEE;}Bs1ЍD 8D::u4:fA8u9}w냍'U‰ u}@8;BEЋUu)9ME)#E‹uЉU܋U::>t.mEuuE+u 60[^_]Ít&1:uɍ&9UEȋu:t9v}AG9Ủ}u똍&UE؋}:}tGEк+E؋M@:AuEп+E؍Pt&u:>uZ9}uE MU u܉8E؃BA4Q84Ⱦ>FF$10[^_]fUE ME؋U BI<M.fUWVS}W7Bu t&AG$GtwOG )ȃvOEMH3 UBW01ȁ#G@EG0UUMG4W8M Ou[^_]fUWVSDUVÇAB֋J RH)9ʉMU BMĉEQI3Eu1сx0Eȍ+2UUĉu+uERUu1#B@U M؋MuE;F<Eu9utE;p::tqmUuu+u EuẼD[^_]ÍvUpU:EпM EAt&1ҋu:ut&9UEu:t9ZE܉AM܉A9UM?GE9}tOUĉM+E:O։+EEĉEEFE89Mu݋EuŰM tu؉P8@44hẼD[^_]Ðt&F$FEẼD[^_]Ít&UM̉u DEԃM̉E*vẼU |UWVS }S7>&BGG$m WG )Ѓv߉WUq34QA1O01Ё#G@ EG0MM U G4W8M 1m k [^_] UWV,EЋEŰUEEDEԋE‰E(t&E U؉UEU؋@UE Umu)ŰE+U 9‰UU9UE+E#UЋU‹UEE+EUEE9vEUU׈EEE08Ut3:E]U EԉEUU܉E EE\t&uu;utzWA8t9u$ur UEUEE4돍&E U 0EB;uЉU tHUEUEE4E$Mt&u듍vUԋEE ,^_]ËUU؉UBUԉߍ'UWV EEU܋UEEDEE‰E%t&E UuEU@UE m}M+M ;M9MEu#U)ЋU‰EE9vƋEU)8 E؉8t@8rE UuUEEU 낐t&EJxE؉8u;uuދUUUBU ^_]fUE ^_] UWV$}WO GH)9v&vPuG$1BG$^_]ÍЉEWG00D$E D$GL$|$$CUE~HUu9Et F;FhE,[^_]Ðt&1FUUWVPE Uu}$EEUUEEU܋U E؋E(UԉEЋF4QVLUVPUVHU9vb~DunVL9VH~Eu_|$EԉD$ E؉T$D$U$UPtKu~DvtNE;81P^_]ÐFDt&~EVLtFDP^_]Ít&UFEZfUԋNEFHFLD$D$ UT$ED$U܉T$ED$ UT$ED$F,$V4_OVLff;vP ^_]ËU؋Eԉ}UUEE܉UUE P^_]1UWVS,}D.ED$ MAD$E D$B$UE=U;Qt;E D$$HM 7L$E$dIEщBAAADEAEt MEBDBEBHBLD$M B,$L$IH,[^_]Ð,[^_]fE $PD$H‰t֍hG(G BBBB B$B(B,B0B4B8B<B@mt&u9w))Et$$ȉD$?rrӍt&Pbt&U]B,uu}} F,$|$F|$$SFV(t,|$F$҉|$4$4F]u}]Í&|$F$FϐUWVS0EȋHU{A,,EԉHfff E؋EPfffҍEUȉEi@EEԅL2uMEM1f}̉%O1ƃuՋU؋Mċ}9MԉMt }E9EvnUU쐍t&M1t&}ȉ%O1ЋƃuыM}EEă9Eԉ}wt&0[^_]Ã&_UȋEM䍄UĉEЍUM1f}Љ%O1ƃuՋU܋ME}č9}ԉMtvv'UWVƃ}Uff@tP1ɍT1t&fu1ffu9Mw1fDŽF=uuUt1t&'9}w^_]Ð&UWVE }P w @v ^_]ЃwȋIw‹@ v=wҋBwǺM  A GGG IGGGE  GLJLJLJLJH HLJt+1v  1f=u9w1ɉ1j&ffǀ9 sfDŽO,lfDŽODlfDŽO\lfDŽOtl u1ffDŽG pru1ɉ n1f@uu1fDŽGpuU qJ $2E  HX$1LJ LJ LJ LJ ^_]fUVuV wNv ^]ÐwFwȍЋU 1ٍ'Uuu}} 4$|$ u1҉GuЋ}]ÍUE] US4M;9&Q w Avv4[]ЃwywQ vہt&w΋AwEEEUE܋A$EA(EAEAEE؉$щ!ȃtЉ4[]Ív'US:o%(D$ ED$E D$E$+[]Ðt&UWVSU}s:$%E uU҉UVt [^_]fU11Ƃ v9r U F F \~1tNU EƂ UBB BF BF$BF(BFBFB Eu E[^_]Eƀ xD$$?EU&'?#UU8B]UWVSEUM8Þ#j¬  u F;FFD$} <$W,UGBD B<<uMvT XƋAX uuƆ } E Uu@ŒlM\@U)NjE8}Xuuq\ZHMqx}tEUUuqMr n pM}EU}G;GqExwN‹R=voukuDž,,FV %f((V}U< vu9UJ }MGGGuFV ljFV uVFCuF}W=MDž$$AQ %  q;qQrA}AAA AAAU J+B9Ev#EUpx 1׃}u $Ɔ }1ҋMAD Au;A u~V=vtM}9U MuAAA}GW GW uWG}DžGW %gWEU@ < fE9U MuAA}AMAQ ƉAQ uQQA fM1ҋAQA} ;GGE}@@u NfUj븋} G G)f념t&U }Dž0B ȉWff)Ƌ)Of0t&wu 9NwFP FY} FD$ ED$U <$T$MUu840# d.u}Od4D AG4W,l AD$G4WDlAG1D(@0GD,0u E 0M8)P7&8EL$D$t$ } |$E$M BVFD u ~FL)‰P E[M 8# LT)uЍ@ \[Tt&TuMvT \XƋAX u1v {M_E0 lGMAD HAdE|luXMvAT |ƋX uGu3dMT@DDudH|t&u Rv4}WDlAD(G4)}W\lAGWtlD,4GD04UM}v}GW,lD$ 4h  0UMGD uGdEEUuXMvAT uƋX u}u-dMD.DDudEh4t7u0wEEEUuMv|T uXƋ|AX u}UEhz)ƃ} u)EUMD)MfUumMRxt U\‹xA\uuh )uL++P|8[`Uѥ`JD `!Ћ\BUB`1!ǁvuVD HBF0 ED$xF dtpUԃuXMvAT pƋX u0hh EBuVD }BF0 ED$MF dEEUuXMvAT uƋX u9W\lD,GFPLt&ļ1[^_]ËuD$xF 0DžE؍t&}E؉U苍BD HOPupuJv}WD ɉWuߋEEUMmE\I@T pp\4quă +uD$}F 0DžE܋}E܉U苍BD }OPuDh0E} Uj} ;GG%E@@UƂ ļ[^_]ËuF}W=MDžAQ %  q;qQrAUAAA AAAƂ ;t&E9UMuAA}AMAQ ƉAQ uQQA M1ҋAQAU }Dž0dB ȉWff)Ƌd)Of0&} G G)f8# BVN,lBFF  D  D$MϋFD UFEEЋMҋE\I@pD Mыp\u}u!D.DDu E0EȸUȃuMvlT uXƋlAX uEȋuH։HE}PD ɉWu؃uľEċUmċM\RAD yp\}D9EMEL9Dr.t&A9ЉE!EQ9y}wˉuUȉ}؃}u }Mf}REЃ9Ev#EЃ;E}&uԋEЋM}1ƃt$U $R,M qt&}YUB:AI&}D:u;Ur9UI;U|EЉuqt&}t&UML[^_]ËEU}ȋuM>L[^_]ËE$D$ED$mE}E}}ED$E D$E $M‰  u9Uȋw;MrEȃ9tf&vg}E/&EЃ;EU}Ht&vu}9EsB;Er}v E9rM1U UfM}M܋Ef9uڋ}ȋuE؋M>nt$E $P,U rL[^_]úEuUȉEUuUUM2ƃ t$} <$W,wUU}v6UB:A:&}:9UwEUUWVS u# e)֍4v } 0 uuPM1ut&u%Nu1ǃu؃[^_]ÍM1E썴&eȋU!EP%1‹EE1!Ɓv[^_]ÍUWVSEc 9 tFMk,u})Љk , k , [^_]ËE @U PM nE@} EDž1@%O1ƃuҋ@M4 9rv&@Ћ}; rߋ@MuBBB 送@M pDžDž<8))ǍD6)‰vp%4q1‹uŋM1ҍu⃅ Eǀ U 1EDžDžEMm<Qp%1Ћ<BuM ium} Hu} EE P@ p)ցwwu}vvE }1ExRfrfxtwUrf9u˃t6B:Gt D:u9w &xE9TsM끋U|;rwuM>} t$<$W,wnEǀ M U ARHE $D$ED$ٺy9rCEUuM>E t$$P,U ruI)@w 8t uE# ЉMP5DA f4D$ D$1D$BU$EMƁ$ǁ8u00uVjf5fuN,lf5f8N}9sM} UMǂ4kE,E@,wE1i0HDxMqDlf1@6uDF f5fЋH 2R/Ut k,;s@x@,;Duڃ,MA,lDžfEЃv 9EDž;vM;wk,Ui@pTPLUhAUu ׍W9w}Dž@v} U@E|uU !Ƌ@<P5@DB f5fr,lf5f| 9Ms4uEk,E@,9wUUȉE@L$$}f ff))U)Uf$ff))Uă)UfuGff)()U)UfE)Uĉ)U,ff)fU_0ff))Uă)Ufuff)4)U)UfEwEuD$EEt$$usUM+|EL$D$$wEƉu@E9ttuEe t M:U9t|tUEe42t Ɖu|ERM9t%tMEet ‰UE9ttuEe t MU9ttUEe42t ƉuU_u9ttMEet ‰Utu1džnvuff))U)U|fL~iȋuff)E)U)UDfL~ E60ȋuff)E)U)U|DfL~E)Uĉ)UufUf)fL~Dzȋuff)E)U)UDfL~ Edȋuff)E)U)U|DfL~ELff))Uă)Ufu)Uĉ)UUff)fM!MTUȋuff)E)U)UDfL~Egȋuff)E)U)UDfL~ ESȋuff)E)U)U|DfL~Eff)P)U)UfE)Uĉ)UUff)fM!MTUȋuff)E)U)UDfL~EVU9ttUEe42t Ɖuȋuff)E)U)UDfL~ E )Uĉ)UUff)fM!MTU)Uĉ)UTff)fUU9tntUEe42t Ɖuȋuff)E)U)UDfL~EU9ttUEe42t Ɖuȋuff)E)U)UDfL~ EU9ttUEe42t Ɖu+U9ttUEe42t Ɖuff)fM)U)UE|ȋuff)E)U)UDfL~ EU9t?tUEe42t ƉuV)Uĉ)UUff)fM!MTUHu9ttMEet ‰Uȋuff)E)U)UDfL~EU9ttUEe42t ƉuXff))Uă)UfuE9ttuEe t MU9tttUEe42t ƉuU9ttUEe42t ƉuM9tftMEet ‰UIuff))U)Ufhjȋuff)E)U)UDfL~ Esff)fM)U)UE|Dȋuff)E)U)UDfL~ Eu9ttMEet ‰UN)Uĉ)UUff)fM!MTU[U9ttUEe42t Ɖuff))U)UUfLB ML M(U9ttUEe42t Ɖujff)\)U)UfE)Uĉ)UufUf)fL~DZ)Uĉ)UufUf)fL~Du9t'tMEet ‰Uȋuff)E)U)UDfL~EE9ttuEe t MeDžxEU9ttUEe42t Ɖuȋuff)E)U)UDfL~ Ecff))U)UUfLB ML MU9t%tUEe42t ƉuIff))U)UUfLB ML Mff)fM)U)UE|u9ttMEet ‰Uu9ttMEet ‰U0U9ttUEe42t Ɖu9u9ttMEet ‰U)Uĉ)UUff)fM!MTU-)Uĉ)U`ff)fUZuff))U)Ufjjxff)8)U)UUfLBML MU9tZtUEe42t ƉuU9ttUEe42t ƉuM9tmtMEet ‰Uu9t4tMEet ‰Uȋuff)E)U)UDfL~Eff)@)U)UUfLBML Mu9ttMEet ‰Uu9t/tMEet ‰U4ȋuff)E)U)UDfL~ EM9ttMEet ‰U$ff))U)UUfLB ML MKu9t tMEet ‰Uu9t tMEet ‰U&u9t=tMEet ‰Uu9t7 tMEet ‰U|U9t tUEe42t ƉuU9ttUEe42t Ɖu8E9t, tuEe t M6uff))U)Ufdf)Uĉ)UUff)fM!MTUwu9t tMEet ‰UPff)<)U)UUfLBML Mȋuff)E)U)UDfL~Eȋff)fM)U)Uu|1u9ttMEet ‰Uuff))U)Ufff/u9t tMEet ‰UE9ttuEe t Maff)D)U)UUfLBML MTdff))Uă)UfuU9ttUEe42t Ɖuu9t!tMEet ‰Uȋuff))U)UUfLBEM|u|MUgu9ttMEet ‰Uff))U)UUf Bȋff)E)U)Uf pU9tg tUEe42t Ɖu}M9t_ tMEet ‰Uu9ttMEet ‰Uȋ ff)E)U)UfLpE9ttuEe t MzU9ttUEe42t Ɖueu9tu tMEet ‰Uf)Uf))UUp!uTfUff))U)U|fEE9ttuEe t MU9ttUEe42t ƉuE9ttuEe t MU9ttUEe42t ƉuE9ttuEe t ME9t0tuEe t M5u1džn2ff)h)U)UfELu9tQtMEet ‰UEM|UĉEMuDžxE u9ttMEet ‰UlЋMff)‹l)u)ufA=U1ǂnFȋHff)E)U)Uf pu9ttMEet ‰UM9ttuEe t M4U9tvtUEe42t ƉuUDžx E9|+|#EE8uEEEU9ttUEe42t Ɖu=M9ttMEet ‰UM9ttdtMEet ‰UCE1ǀn+>E1ǀn7*u1džn0u1džnU1ǂn)Mǁn%1E1ǀnU1ǂnE9EE1ǀnMǁn41yE1ǀneU1ǂn>QU1ǂn:=u1džn')U1ǂn&U1ǂnU1ǂnE1ǀn$U1ǂnE1ǀnU1ǂnE1ǀn;u1džn uE1ǀn aMǁn1MMǁnB19Mǁn1%Mǁn.1E1Eǀn*u1džnMǁn1Mǁn 1Mǁn-1E1ǀnMǁn@1~Mǁn 1jMǁnE1VMǁnC1BMǁn/1.E1Eǀn*E1ǀn=E1ǀnE1ǀn<Mǁn#1E1Eǀn*Mǁn"1E1ǀnMǁnA1lMǁn1XE1ǀn DMǁn510Mǁn(1E1ǀnU1ǂn3Mǁn11E1ǀnE1ǀn8E1ǀn9MEǁn*1u1džnuu1džn aE1ǀnME1ǀn9Mǁn!1%E1ǀnu1džn6Mǁn?1U1ǂn,Mǁn1MǁnD1u1džn*USE{,=sP Љ ‰ Љ ‰ уtEQwDU 1[]fw( ׍E (1[]Ðt&0믍&'U]E趲gu}$wщ!ȃt ։ρƈ]u}]Ð&US^(cD$ ED$E D$E$Q[]Ðt&U (uu]ÿ}Uux Ez$Bp!EMBqJJtBBrB uD$E t$ D$B$wuN=w )ȉ]Ћu}]Ðt&M $L$ utɋUdABHdB!v'Uuu }}]Þt$G$At$<$5]u}]Ð&UWVSL}覰WG WxE̍UЍG|MԉE؉U܋E9U&?wXMEUD$L$M؉D$E܉T$ L$$|u[MuOt)9vU$U B)t$D$iM1Gt)GtuE9UX1L[^_]ÍM A +A;AWJ 9OgBOGBGpGqG M̉L$G$puGtGxM +GtQL9AqE1D$UԋEЋM D$T$D$ L$G$uM +uQWt+Q)Wt;WxwWQWtAWtrG|GrЃBGq &prƇ1ɾEEEEGtO|‹MU舄GxMp7GxGpGqGrEUMD$T$U܉L$ Gx$D$E؉D$袱G|;GxM )ЋqIM)\qƇEEEEt&UM̍D$ $p4fG;BG ;B{fq{vƇvvƇ]APt EBUAPߐU]艬:}ut]u]Ít&Uu<(wߋE $dD$ƸtƋE(t9ʃ U1FF2]u]ÍӐ&USޫÏE$3[]Ðt&US讫_iD$ ED$E D$E$[g[]Ðt&U(uu]}}]҉tPOB$tGB%E|$D$ E D$B$芳]u}]Ðt&E $D$走…҉t΍kFjFBB BBBTUuu }}]}.t$G$Ѯt$<$Ů]u}]Ð&UWVS,}U 3G(EUfM1;u?v ,[^_]ËlvG UEE);EAM A D$ED$T$D$ UT$M $褭U )EEG B;Bw YM1;uc?<ML$ED$ UT$M L$G$W MO )9w)уO #t, [^_]fMV1MD$E$uϋUT$G$WvMG 1DUG FGt&UM2G FpMG1DUGFOD$L$G$W4t&MU1GFMF1M%&v{ЃG$Gwx%t&G%U 1BBMt&G$G%wtlG%G7&뜍ED$G$Wsv1!%G$GfYUEtuHt1ҁ w]ø]ÍUuu]}蠦Q>tuUVUBtt]u}]Ðt&Ptwڋ@@>P1ED$E D$$O뫐t&E $ D$ի…҉toF BBB BB4U]蹥juu }}t$<$Tt$<$]u}]ÐUWVPE}PM E(1D$ M$L$E |$D$ML$ED$ ML$E D$M$ҋU M}IEM)EtJ1t&uVuʃ1ED0uEӋE8VDUE(:9}wEP^_]fUu U$)ʉUU)9UuϋUM}؋v҉M܉utR1EuPʃ1ED0uEӋE8VDU܋M:*Eӈ99}wuUEM uE(E1CEU9EEP^_]Ít&UH&U]蹣juu4$!к t FU 1ҋ]Ћu]É'USnoD$ ED$E D$E$[]ÐUWV@u }Ut$T$EE(D$ E$D$ED$ED$ ED$E D$$WUUUWE+EUEt51fEGTE00GȃTG9uwϋE@^_]Ðt&USv'}t []Ðt&E $ D$¸t׋MBE1[]Ít&'USÿrD$ ED$E D$E$+[]ÐU(}}]E u輡mE҉tluFtRA$Eu BB,BEB0B4t$D$$茦]u}]Í&A$몍&uU D68T$$ƉttvUGtG EFFFEF FF҉F(t2U ET$$舦щF B @t&F &U]y*uu }}t$<$t$G $赤t$<$詤]u}]ÍU8uƋEN]ÿ}}ɉUtTD$EU |$D$E T$ UD$ ET$UD$T$$уt]u}]ÐF0D$EUM |$D$ ET$L$$x~t} t 1f밍U M9 uF1똍&'U8]4}(}}utXG09G,r`O,E G0W4)ΉEE$+E9it&tnG,;G4f]u}]ÍvU$D$G,D$G8$T$U T$UT$ 腢O,;O0ra릍1떍UD8Ut$D$U$进E U(0E$T$U D$ET$UD$ ET$UD$$U ,E U0+uT$ t$GD$G$D$G $WG,G$)O4U )ȉW8E$L$D$ W4&E(w8UD$G(T$Ut$ D$G4D$E$U D$nG4t$ D$GD$G$D$G $WG$G0tG4G0E$U D$ET$D$ G04$D$G,D$ΠD8D$G8t$$-G,)G4W4G,t&G4UE tt E1]fE1҉1]Ðt&UEt tU 1]ÐU1SU&׆t t []Ðt&E $D$轡¸t׋MtM1[]fE $D$)1몐UWV1S(EUM蝛NEӋEUPE )Ѓ1MU9uIUM1<wE )уEcEUT2UB<4EE؃H}MEL1M܋MD0EL1MMM M  ‹EEH&}̋EׅtHM؉()jm Zjz  ' }Dңhi]Wbgeq6lknv+ӉZzJgo߹ホCՎ`~ѡ8ROggW?K6H+ L J6`zA`Ugn1yiFafo%6hRw G "/&U;( Z+j\1е,[d&c윣ju m ?6grWJz+{8 Ғ |! ӆBhn[&wowGZpj;f\ eibkaElx TN³9a&g`MGiIwn>JjѮZf @;7SŞϲG0򽽊º0S$6к)WTg#.zfJah]+o*7 Z-A1b62S-+ldEw}ZVǖAOIъ OM~-QJ#SpxAaU׮.7׵Y-6]]wll?AԞZ͢$ Faw$eڪ]]FD(koipvk19Z* ,  m86F߲]qTp0ek*1u4yީ%8S1bSWĔՖk1**ykʬHpo].*F6fcTT"eM©g0&):{ϼkZ> 8$,52F*sw1pHkQ6Fzw]cN̵J #pAF]#l8?1(BOgT~yUbL8^#ܖTZ1ObbSyOIV~P-{b-R4٠~^eGnHl/Su6: #jT$+e?yHf'*b#ٽЧ ?&~?$pi;FBzw[keZ~7 Sv8H 3?r$7jnԄYFܨ |OQ;օ U d S - =G\ p&Gw)` /a߫i5&LsZ<#0zMzFM8,9; :R:(q-v,.7/pXqYs3r%w+OQvrtEux܉~OK }!b|tyBxʠz{.lD~m8onlk[wjR1h58ib?mcf+aQ`צedd"fig HINSKyuJcO NZLݘMFGN@E$DD2AsX@*IBCPhTg3U>uW ַVS:R|P~Q9ZS [fYX4])\ZEo^m/_5qϱ٥s\ۼqދ!K7 kfֶԁ-b3Πjp]$^'~*I@VW<âM˟ŏ{ tDCm-@wm.B+(铜>Td"ŀǼϭ~8y$owJ1}05_K^ iϏ은BI#ƈdX܁T̓cQ: rՆ⩗ fn|xK)o%ƭ/3vUuA?)C:|sĵ@͂ Ͳ;bIUeh"׻_HS1޼^Z4eg Wb27_k%8ם(ŊO}do׸Jj3wVcXWP0qB{߭gCru&op-?'Bs ưGz>2[Ȏg; i8P/ _Y=чe:ZO?(3wwXR @hQ+ğH*0"ZOWoI}@mNП5+#*'G| AH=XX?#1jvʬ`p^Y<L~i/{kHwâ hs)aLoD~Pf7VM'(@ﰤ ہg9x+n&;f?/X)T`D1 ߨMߒ.FgTp'Hq/L0UEc?kǃh6ry7]P\@TN%s7@'>$!AxUʰ\3;Y^U~PGl!;b F2ȂpԞ(Q_V:1X: n3 m:@/)IJNv"2x+ٗ Kx.HҥfAj^y9*O]#kM`~b_R 7zFh!1߈Vc0a"j6nS Nr)Υ{t*F8#vufz`rs"WG9^EMvc΍&DAdQy/4Aڱ&S֚E biLQ<6'5P..T&q]w4.6IE? v\[YI>U!lDa>Ԫ΋ϩ7~8A]&nv|oY yKiw\¹9~$ 66nQfq>,o,IӔ 渱{I .H>C-Yn馑gQz taf)`=`SzzGpȠ@ Kp0qb J1wűĐa0їP`2] R@'B1`"bKCܐPm#P*0z3Sp)S/d|UaĉA4t! ځNsduM̥7q1Q9e~ոC!6AVFT7i&Ma.dGQ1'뗉ևUd7|YW/q#IXXqe) 3""Ss9魳Yh8:U@CXi#/Hc(ϣ8{sB iͻ@k:S3 c5jףrO"z q#XCMw2^R-$ ލѲl=Qr]+lS3V6Ɠ]t#tvIC'3'Ѡfptƫ]Ё$`F^&clvaEܱ?֦)q6nVS'p&GM F7V9Ǹ6jgCWW@7}7:r׵'[!Gw!-t[jrgWԮGd'شC ejwZ9g7եWuşkuԻՓ Ng!{Uf45[e٪zŞ,j,V%V EkYV9,5UΙu|)AI;4(gEHN%XLeq86 (oRtoaTݯH42%~db_*$nDоyP]P4HyTu=2*-ԀtMDx,2$EHLa?\č씤<d\ MrBPYָ0mSQ'f#j{wpa :ղV>ъȐN5pB@G(S#2SS$!MXitEHc9N6=dJw8 G=aW+ю5[T P&7kmMnp2Fd=z&ϦIuET#7)eVu#$nnǸssfp>x,l XgBx̉zHɔߛ_q:] [W( )îeʚxƳkR5 RFAYzJDC\O8?Y++4IfL{)i6"ZܨQ2-sn0p#;Ju~Wa^cQ[ƂJh#B=0Q pmTr ʹڿ \l|\y%A . ٜ|O6=sw/{*fj v+a/>b$_n9^B2gė,;BmM15I?xTe_}4(hD'݉[,iАYՍ1F:+A JJK18߷A|ۆa\ڪzN,WZXk[_Eá)tH2: UbPb ix/̫ w)1$O/8R:5c>gN3EN_pTtjaa]{?PpHΜgzAS6Vݸi5@y1TFî4e~ 7'양9(2i("X#U;; m wRO|%ZfkfmS\XjBuI9Rc{?ϿA,\[hܛm5댛= d&oĴ\+^yu D~|PdoujQDZ3C@'K;w07*{! F %$4C#⢅J*=͚q@9rЧ:dMM!ÃuwBs^LQG-])xV^hBcyfkrNY6 ./&L%-a7 <}+hJ{ʀ8'P帏)LyeHфo_+뱿vW  Fa.oY|U.|ԱM!f,O2鯑)^~ \Wĩ1iclbxs]ץ>?H2Q-p`pO08YЧcwbJݟS:~dm1 +D U1~F6W١tW e#nyfPޣ[AA40J6}%BJdH o +OVj]OW2 +1|1V6>64?O?[48Ժ28~v*^*c-{}-!d$+$#1i#Vbvb5+eSewl<}2lk?Oky*}y9~h~wٮwsbdppV }SͅSgITǞTB ]]-ZCdZH(VVHO +O2FbҬFOAGA\)s7Ÿk׭}ajX#Xx6%]t2~<ט藱Fv/o*㌳m ʫ`gvE%Deگ09@r/x æ :]Mfho$v. "l9yD;']H1ǿ ms9\ӔDyX]ؼR ߙ3͹o6GʜYvM| 7GzG J@8@)ISIF2Nɼ.Ncp\C\e[fa['xR -RU,oUvvaq8DqxWxxNr m7mRjݗJjw[ScQc.dd=a%Ѓ%zO""_ ++0,Ex,>5PJ>979.0԰0S7Z7ZJk37Nq!{.9S,a$nĨndxK&o_L.[@W64zG3^{\(:hWThTmzIf3Q8}&9Rso}1:z8bKg.e!TN[UA/-1&:@j9tzmf~%\QsR BG$n({E\@fpB7Hl& 't3 8]N^J32ctmMpx]yŖ /^lj8.QoJW[ji4U h: Wؤa\Z/f4I7- Jaޠ= t`tRVWZTz-r1<4Q!ְNqkIs ʙ&,G*YOQ=Nm}Lq`Os/5G1Oy?(noLb5R/kn@EtoGX0)BוWl-P +Bza=v`||-ƎqQ(+ؒ*HF8FE$(>K>+"ـIL~ugyExԦ_3LMVO%#|i id6P.s@?S-D]87;y)5'Whzy |c{~; OmժyqVC z=x6uGҷY*MM ^% 81Ԃ+e.wjt-,u[2Fv[Yucݲ#< ouna֋Iɉߚ=."6b!! XRv߿"~1!P!puhQ*~v ށ0?gJޗށ+$ݴOu'cDZ54j]Yw4Ť;>[sAp s3aFkjO sL+p=IGC$Pã'p57D<_|ڭ?0(J^Ywpۿ ֿle$evk"),h2Š4ZV{ZkUޔk˽hj<8!5r?ltʕ/Ղ2;BfwmgAűnّocN70$Ǝ뗙_]R:(_O9 d;RinZ' ΑΔ):9ld9 J` m0\SAnT郎ŽqD"/>Vr*b6xiE5DGBa=--E b˹vJBjOI.S(jab}mϚ'$)6`gSY?gds \yT⡹$ҩq嶊;MbI}+08eFh<9F<竕="ZEK|DDI4XVqˌt_[ LyrxAb.:d,W+/{D æsNtԵDZjf29r|,KеeoJHh)82Ff0$ nd?d3>݄]͘&P#vR]tX5 V^@^*aMZ鋼'}-uھ H7;M'(:fjgl4|{IVʪPvijCabr9xl@ގ4ב/^ɦ>'*gvn\GO(`J#\4]0j.PxWBwRО A=fZba#LLy^X p$ٷj/j1+ZapZ[Kh~<*>Qfb8( T69C[n&%N\RYLixTH,#)Dlpu/Dc`RjcgV4pEqt0H}(}v* ֌MMSItC\7ѭ:jNtƾKWO O N]m2~a`wwn 5wd2z,ۜirsds1Vuy~sm H-OT$E74<ܸ>E5쎤QUG¸F6&Hiz*1j=?~C,2 lU%{(mHxX)7<ޤYKXBw d{̴J1s'^ͣe `Gz>q@@MlҹZ d3IWUJ.)l"h!!0uPz:Sj)6(EXӞm8숏 |%חqdJ~f$Eyk6Sn]-*Tl}T'!!U0pP=G)!6\lgiPD`=Ef1YGeJsB|o̲rOŖ:> _Ya|& GR،!eu+^6>RU X(xO;7b#IB{k\QP4ibQ\hK&FCѴY` {2YhCQD9 ֪$m:#T@A ~-ȧKZ{!w= ЧdF)28}&qTGLk%%؈h.Ǽ[[#,."4?h~9θ" `Mx 0/au]PV5bNo`醥?v\RfyćӔiv e-5B]mjJ ?"~]#A,E*/`d$úl}gG8q3p]$j75DUKg㗠+aU :g CqJҊ׺HJqٴ,:njkW!iV )];y.+/A 7W୾ =tI{>:8:gBFkōyj{^KYh}l",&ARL~Jmv8=]V,qw]_nwe[}y]1]9rKVdV:@][৉AJ%~ yjZrW̵yn#:d]e&򞔒ŗg\{z6- {nQQeM٬Ws8/E;0/0mg R 䧾<fu_7;A82|+zRWx E- ԛGW@\F5x v9~ &Q{al&Aߪ,;rA]sq-0x9׆+ SAZRlmVY3Ѧ<=816$0\/c%R| *oEYAʷfEԊN!}V0ˠoEvim}ܚj(tMa a>Z T¾W׀,"Ɂ&֗pAGpkr*'yלde.Hn°פK{F*&[P1k6:d{hT7-WZG/  !Qܡ,"^CYD;duf3&px)w&&Tj=gLeQeRtjhvb[ժ}<~ȧ920{n-zkی4G9׾HS 5oS\q`G7W9{s$t}@#"#k7'N$VSBuSR`[Bh:ٚ>0'7ZyVE؃t3꼒DcNh*=_1cP4uޕ!VuChwGpNfeaSr!p .\x9QTH$$-?N񞖦8gS|TuIA,h] ۛ39$.$QHg9Z}j91ߕR jur Ӫ~·m*GaA?tC4YݚT{Wth<~ jR+42W'M֬d9 o&$́uLhŮN|Y0S2T7:`#0qB\'n~ytw$I@_תW]D6*,=#t%ciiuC7,ORYa߽RFE K 8"O駔x%$Iq e4kngRpeXoX"LzL̫+ :ņtOj Ic4\" _d/ aIp888k%,s'M_t_yDZi*YOHGlR/`g<%L9OAl9(|U ;A1]J(!nOŀ);Rb\*zt}ptiiGo8*́%LRS Dn \/BD7q۵[V9Y?^[1$} Ut]rހܛtiGƝ̡ $o,-tJܩ\ڈvRQ>m1'Y GQcg)) '8!.m,M 8STs e jv.,r迢KfpK£Ql$օ5pjl7LwH'4 9JNOʜ[o.htocxxȄnjlPxqg jgrn<:ORQhك[ سزPU>! u8u8_8j838>8I8T84447888(8V>a>l>w>??F12 2i3t333444#L-W-b-m-x-------7.////031;1?S@: <<"<*<====N>8v:::::80)((>(''e fxge@e mmllxl8lk`kg[TNIEB?=:864310.-,+*)('&%$#""!  @p!hgfP}~}~}~`}~0}~ }~vpsv@`%% $!nnmЀ0~0~0~0~Ј0~ 0~PxpswHXu L    0o\oooCp`P x~ ``%"2BRbr"2BRbr"2BRbrGCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3.symtab.strtab.shstrtab.hash.dynsym.dynstr.gnu.version.gnu.version_r.rel.dyn.rel.plt.init.text.fini.rodata.eh_frame.ctors.dtors.jcr.data.rel.ro.dynamic.got.got.plt.data.bss.comment! 0) 1o>o\\0M 0V  _LL0Z||0eqkq@f y     Tj H * @O]0 iv P 0   P @  k ~  x ( .U ;j > =E (FU 5pFE GPLK SM( e`OE vP_   V [* X `X X W pW -W ^m a pal  d c c Xb `g ,jw 9iE Kk Pk Uj Z1k _6j dl {l  m   oY nE tt PtH 0|i @ `- * .H Ђ @ Eρ JP O@ TT Y ^` 8 7 j o   Z UИ Z} _;   | < , @ ` `   # -` @ E8 J O < E R1 _p m w@ &  @  PB    h   m  V 9   ` 6 I%;A U# g@0 w= |w= = K= V= a= l= :  : : = = *= 5= @= nC yC C C D D ^6 7 #7 8 8 8 8 9 9 9 ( d2 o2 z2 2 2 2 &2 ,2 22 82 >2 DO3 J4 P4 V4 \4 b-5 hK6 nS6 tD zkE ? $A /A :A BA B B B B fC = ? ? ? ? ? = H. . - V- - , @h i *`iH Pj U"k Zl _j Xj <n O pM \oH 8r r nq Kq Pq UPq Zp _xp stE t 0w  { yT @z ~ ` @  Ё P3  -P 6  D O  \g# tc    $ ^   we vG  " - `S J DV b p s $ Px; S `  Ѐv P~ @"   ) n+ E x W K m  ~   v;  P  `   f . gX J P [ ps4 u 0~{ PTC w _ k h; m  0S ) p ; b  T ` e  v S p: 0n  ; }+   q '  6 C  T R m S y `b %Z 0# p"c n; ~C &S E9! \0 V gPv  xH  8E S ~ I S 3i E@ Z _ sZ ЈS S s `%;  $- ,g C T] C  \L|       u9 0t @[} @! J 08X ) z X *O8 A8 SR hT y~ PQd   @W  i Y   T- 2pV Dp-J U o" ` B Q 3' p'Y  xe d (0n : "P P[U jz Mv  2 0V '  p" 2 #K -0K DS [ o7z  0\ @=} P* E} `?.    P^_ . ET P;+ ^|n }- Н%  Lv *n = 4 *p  >Qe kP~ |s} pk 0f)   >l @U V "' ?FC O[ h} ( N :  I "' L0 __CTOR_LIST____DTOR_LIST____JCR_LIST____do_global_dtors_auxcompleted.5708dtor_idx.5710frame_dummy__CTOR_END____FRAME_END____JCR_END____do_global_ctors_aux.L9.L10.L11.L12.L13.L22.L23.L24.L21featuresset_infoindex_append_realalone_encoder_initalone_encodealone_encoder_endblock_encodeblock_encoder_endeasy_encodeeasy_encoder_initeasy_encoder_endencoder_findencodersindex_encodeindex_encoder_end.L4.L5.L6.L7.L8.L27block_encoder_initstream_encodestream_encoder_endconvert.3596.L26.L28.L29alone_decoder_memconfigalone_decodealone_decoder_end.L31.L32.L33.L34.L35auto_decoder_get_checkauto_decoder_memconfigauto_decoder_initauto_decodeauto_decoder_endblock_decodeblock_decoder_enddecoder_finddecodersindex_decoder_memconfigindex_decodeindex_decoder_initindex_decoder_end.L14.L15.L16.L17.L18.L44hash_append.L40stream_decoder_get_checkstream_decoder_memconfigstream_decodestream_decoder_end.L36.L37.L38available_checks.3578check_sizes.3584processSHA256_Ks.4157lz_encoder_preparelz_encodelz_encoder_endmove_posbt_find_funcbt_skip_funcdecode_bufferlz_decodelz_decoder_endlength_update_priceslength_encoder_resetlzma_encoder_initlzma_encode.L109.L110.L111.L112.L113.L188.L189.L190.L191.L192get_literal_pricelzma_decoder_uncompressedlzma_decoder_resetlzma_decodelzma_decoder_initnext_state.3922.L77.L78.L79.L80.L81.L82.L83.L84.L85.L86.L87.L88.L89.L90.L91.L92.L93.L94.L95.L96.L97.L98.L99.L100.L101.L102.L103.L104.L105.L106.L107.L108.L114.L115.L116.L117.L118.L119.L120.L121.L122.L123.L124.L125.L126.L127.L128.L129.L130.L131.L132.L133.L134.L135.L136.L137.L138.L139.L140.L141.L142.L143.L144.L145.L146.L367.L368.L369.L370.L371.L372lzma2_encoder_initlzma2_encodelzma2_encoder_endlzma2_decoder_initlzma2_decodelzma2_decoder_end.L30delta_coder_enddelta_encodedelta_decodesimple_codesimple_coder_endcopy_or_codex86_codeMASK_TO_ALLOWED_STATUS.3627MASK_TO_BIT_NUMBER.3628powerpc_codeia64_codeBRANCH_TABLE.3625arm_codearmthumb_codesparc_codelzma_fastposlzma_alone_decoder_initlzma_lz_encoder_memusagelzma_strm_initlzma_lzma_props_decodelzma_lzma_encoder_resetlzma_lz_decoder_memusagelzma_delta_props_decodelzma_delta_props_encodelzma_lzma_decoder_createlzma_simple_arm_encoder_initlzma_block_encoder_initlzma_mf_bt2_skiplzma_raw_coder_initlzma_delta_decoder_initlzma_simple_arm_decoder_initlzma_crc32_tablelzma_simple_x86_decoder_initlzma_mf_hc3_findlzma_lz_decoder_uncompressedlzma_mf_bt4_findlzma_lzma2_decoder_memusagelzma_header_magiclzma_next_filter_init_GLOBAL_OFFSET_TABLE_lzma_footer_magiclzma_sha256_finishlzma_mf_bt3_skiplzma_delta_encoder_initlzma_lzma_encoder_memusagelzma_stream_decoder_initlzma_crc64_tablelzma_lzma2_props_encodelzma_lzma2_encoder_memusagelzma_mf_hc4_findlzma_delta_coder_memusagelzma_simple_props_decodelzma_raw_encoder_initlzma_check_initlzma_lz_encoder_initlzma_next_endlzma_lzma2_encoder_initlzma_lzma2_props_decodelzma_simple_armthumb_encoder_initlzma_check_updatelzma_lzma_optimum_normallzma_lzma_encodelzma_mf_hc3_skiplzma_simple_sparc_decoder_initlzma_lzma_props_encodelzma_sha256_initlzma_lzma_optimum_fastlzma_lzma_encoder_initlzma_simple_props_size__dso_handlelzma_block_decoder_initlzma_rc_prices__DTOR_END__lzma_mf_bt2_findlzma_lzma_encoder_createlzma_simple_powerpc_encoder_initlzma_sha256_updatelzma_bufcpylzma_lzma_decoder_memusagelzma_raw_coder_memusagelzma_lzma_lclppb_decodelzma_lzma2_decoder_initlzma_raw_decoder_initlzma_simple_sparc_encoder_init__i686.get_pc_thunk.cxlzma_alloclzma_simple_x86_encoder_initlzma_mf_bt3_findlzma_simple_coder_initlzma_mf_findlzma_index_padding_sizelzma_simple_powerpc_decoder_initlzma_simple_props_encodelzma_freelzma_simple_ia64_encoder_initlzma_check_finishlzma_lz_decoder_initlzma_stream_encoder_initlzma_index_encoder_initlzma_simple_armthumb_decoder_initlzma_simple_ia64_decoder_initlzma_delta_coder_initlzma_lzma_decoder_initlzma_mf_hc4_skiplzma_lzma_decoder_memusage_nocheck__i686.get_pc_thunk.bxlzma_mf_bt4_skip_DYNAMIClzma_lzma_lclppb_encodelzma_index_hash_initlzma_index_duplzma_index_encoderlzma_block_unpadded_sizelzma_index_hash_appendlzma_index_sizelzma_index_rewindlzma_raw_buffer_decodelzma_index_hash_sizelzma_raw_buffer_encodelzma_index_appendlzma_properties_sizelzma_raw_encoderlzma_filter_flags_decodelzma_filter_encoder_is_supported__gmon_start___Jv_RegisterClasseslzma_vli_decodelzma_alone_decoderlzma_index_buffer_encode_finilzma_raw_encoder_memusagelzma_memlimit_getlzma_index_equallzma_stream_buffer_decodelzma_check_is_supportedlzma_stream_encodermemset@@GLIBC_2.0lzma_mf_is_supportedlzma_chunk_sizelzma_index_catlzma_index_memusagelzma_block_header_decodelzma_stream_footer_encodelzma_auto_decoderlzma_block_total_sizelzma_stream_buffer_encodefree@@GLIBC_2.0lzma_easy_encoder_memusagelzma_get_checklzma_index_initlzma_filter_flags_sizelzma_index_total_sizelzma_block_compressed_sizelzma_index_file_sizememcpy@@GLIBC_2.0lzma_codelzma_block_header_sizelzma_properties_encodelzma_version_stringlzma_index_stream_sizelzma_index_endlzma_alone_encoderlzma_index_hash_endlzma_block_encoderlzma_block_buffer_encodelzma_index_decoderlzma_stream_header_decodelzma_stream_buffer_boundlzma_mode_is_supportedlzma_crc32lzma_vli_sizelzma_filter_decoder_is_supportedlzma_raw_decoder_memusagelzma_check_sizelzma_stream_footer_decodelzma_easy_decoder_memusage__bss_startmalloc@@GLIBC_2.0lzma_index_locatelzma_lzma_presetlzma_crc64lzma_version_numbermemmove@@GLIBC_2.0lzma_stream_header_encodelzma_raw_decoderlzma_block_decoderlzma_block_buffer_decodelzma_vli_encode_endlzma_stream_decoderlzma_memlimit_setlzma_block_buffer_boundlzma_filter_flags_encodelzma_memusagelzma_index_uncompressed_size_edatalzma_endlzma_index_buffer_decodelzma_properties_decodelzma_index_readlzma_easy_encoderlzma_stream_flags_comparelzma_block_header_encode__cxa_finalize@@GLIBC_2.1.3lzma_index_count_initlzma_index_hash_decodeunpackager-dragNdrop-1-i486-slxr/bin/0000755000000000000000000000000011166766711016212 5ustar rootrootunpackager-dragNdrop-1-i486-slxr/bin/xz0000755000000000000000000013027711166766711016613 0ustar rootrootELF4X4 (444444DHHH PtdQtd/lib/ld-linux.so.2GNUCR*60DI?=CMB;E 3P>(9A,: L/&Q7KO+J.GN! F@ " $ %4#21-5H'8)<P . B4uU H[uq@j@|cD\aJd"*@VH>6O`)v d#@5*( liblzma.so.0lzma_raw_encoder__gmon_start___Jv_RegisterClasseslzma_alone_decoder_finilzma_raw_encoder_memusagelzma_stream_encoderlzma_auto_decoderlzma_codelzma_version_stringlzma_alone_encoderlzma_raw_decoder_memusagelzma_lzma_presetlzma_raw_decoderlzma_stream_decoderlzma_memusage_initlibpthread.so.0sigactionraise__errno_locationpthread_sigmaskreadfcntllibc.so.6_IO_stdin_usedfchmodexitsetlocaledcngettextoptindstrrchrdcgettextputssigfillsetunlinkreallocstdinisattyfeoffgetcfutimensstrlensigemptysetstrstr__fxstat64vsnprintfsigaddsetfchownstdoutfputcmemcpyfclose__lxstat64getenv__ctype_b_locoptargstderralarmgetopt_longfwritegettimeofdaygeteuidstrchrfopen64bindtextdomainstrcmpstrerror__libc_start_mainferrorvfprintfsysconffree_edata__bss_start_end/xz-tmp-417c0b146e03763c5eeeea1d22435101/xz-4.999.8beta/src/liblzma/.libsGLIBC_2.6GLIBC_2.3GLIBC_2.1GLIBC_2.2GLIBC_2.0|`ii ii ii ii ii 0ii ii @D$H:`?dH   $ ( , 048<@DHLPTX\`dhl p!t"x#|%&'()*+,-./012345689;<=@ABCDEFGJKLMN OQUS[t~D$$D$7& 0$1vd$>rt&d$ 0$D$D$s7,[^_]Ãvt&tzvr cFSUBHB ;$+R$0D$D$,$S$vUWVS,E@U@@ D$/U܉$]܅tXD$>$hD$$ɃMM  p$%D$;DEt`U8&t?1ZtDG tZuD$$|C]܉E0EEtj/MuEEt&΃t2Ӌ]DP u݉tߋU1]4ΉUu΋UMEE@$WU$LMU E@=ptkrp t4=$t>@]0tK])U E C,[^_]Ív=$u M $4뻍= u&냋MYu AD$"$ D$D$h$r$UEU ]x|Ív'|xU u ] |xU u ] UVS $$UvÉ D$ D$ $t$wAD$D$ $t$UډE+UMUMEAM] $L~ ;(s( [^]Ít&TEgfUUU1EUWVS }u ]t&)Åt@\$t$G $u+u `tɃ [^_]1 [^_]à t$!wD$D$$`\$t$$볐UWVS }u ]t$\$t$G$tCt)ƅu܋E )[^_]Ðku%`t [^_]ÍƇ$g7D$D$$\$t$$Ƈ룍UVSӃpED$t$$UuUE3C3 t2D$D$h$6t$$p[^]ÍvUE3C\3SX u4$to$D$D$ $\$t$$?뛍'USÃHAv u $[]f=ruSKU8E }}]uE5}8W u U 5]u}]ÍvD$G($D$AtM=ttDo$wD$D$$\$t$$lt&G,D$D$G $W T$G $&t@$wD$D$$R\$t$$GPWTO\EGXUMEED$G $G $;}t~G$vv;$awD$D$$\$t$$8W Ѓ8!Ё t&GWpr$wD$D$$(\$t$$GWpG$1vUWVS1ۃlu4$8tl[^_]Ít&1552; =ph21f\$$u8u `t҉HJD$D$$@_9D$D$$$\$$K=q vD$$xt+D$D$$W&$$D$D$$C10l[^_]f#1&Cǃt&tÃ($U$D$D$fn`=pu u=@$2tz=qD$D$$ `u(T$z$D$D$9$t&1Ҹ& t&k=vD$D$D$D$ uED$$D$uE%=(7D$D$$hl\D$D$H$$=qR$=-$$FD$D$$gD$D$xAgpt&(D$D$$\$$Zt&US1ۃD$$t"uf+t[]Ít&8 uԃD$$\b9t$v$=xUtEx]Ív'UVS`u$Pá`$1 t[D$D$$D$D$$\$$D$D$áD$ t+4$$놐t&L$qUVSQ,Y1sD$$D$$)$)$E$\$t$}E2$v5 =p} ,]ۍ&`1Hd0fu$9E‹E0$z#9]`E4:uǀzu=qu t;0u&농E8-9x)/vu.= $D% t&E$E $t&[U|1`ujE$ËE$t&tƉ$uD$D$$\$t$$ME;t E$x$,$D$1|HvE$u|E9tIۍ&|0;5, 6,D$|$1||0|=$R!v%]D$D$$\$$G ]D$D$D$D$d$$ ZU]Ð0Uw0]É'0Ut0]Ív'UE]ÍvUVS uD$D$t$\$$D$D$$$XD$D$$$|D$D$$$XD$D$4$\$4D$D$$8$D$D$ $$D$D$|$$D$D$$$D$D$P$$D$D$$D$f$$`D$D$*$L$$D$D$$($D$D$<$$D$D$$$D$D$$$D$D$ $$pD$D$<$t$LD$D$4$P$(D$D$$,$D$D$$$D$D$$$D$D$,$$D$D$8$$tD$D$T$x$PD$D$ $T$,D$D$$0$D$D$$ $D$D$P$$։D$D$$UEMU\$ t$T$L$$(D$D$(D$T\$ $\$D$$Rt&U$$D$!$'UWVSLE90u s L[^_]Ð=D$D$$|$D$D$#FF EBvDD$D$$D$ vuE V!ЃYDD$D$$D$ t>^ t w2 4F@D$D$D$(cv t7 DD$D$$D$ "fDD$D$$D$ u/DD$D$$D$ rt&w3 s.DD$D$$D$ 9t&!  NEAtEtEA$EA !Q( ߋqE܋AEA EL$ ЉT$(U2T$$M܉L$ UT$Mt$L$UD$DD$(T$$fDD$D$$D$ KDE E L[^_]et&$$ډ@ DD$D$$D$ )EEEEEt&U1U w($lD$D$^$t&ÍD$D$F$fD$D$h$fD$D$$fE ;vD$D$$|fD$D$$\fD$D$$&'UD$D$$$UD$D$^$$vUU MEÍv'USD$D$$\$$D$[]Í'U=uy=t`=tOD$D$ D$D$D$\;uvÍD$ D$xD$D$vD$ D$#PUUM Z$>ÍUUM *$ÍUED$$uEE5ÍvÍv'U]] uu}}=0=5v =u]u}]Í]Eu}]t&'U@(=P%]uwAȻk<);w;L$t$ D$D$ $O]Ћu]ÍL$D$D$ k<\$ $)ȉD$]uЉ]Í&UщS$EwXQR,$x\]1E v[v5ɻٞv؉؃$[]Í뜺 &ٍD$\$ D$D$ $럐t&UE]] uuD$ ED$D$$x9s)‰]u]Í]u]UщSÃ$E}U tv\$ t$T$L$$r1,@[^_]Ív@D$ T$<$DtƀsDždf1\D$XT$ LD$HT$$:=  +T<$D$D$L<tvDu'uKD$T$<$t- 7| v11ҍt&'US uw$84D$ $@D$ʿtj$$D$[]Ðt&$tvs<D$ $@D$T$裿vu`tk[]Ðt&t&fv($@D$뱐D$ $@D$T$_덐t&E$t:$D$[]Ðt&D$ $@?&D$ $@&$@D$T$fU(]ËEu֋U D$D$EU$蹾MU\$ t$T$L$$,USM] t)R M$ (B[]D$D$8$+$t&'UWVSL=u}=$P=t 88$D$P=$@t!1ң $( t&<=$R $uAu$ @ t$D$D$$ $D$ $ 5 $ E؉UEUE#E܃UED$D$4$UԉE蛼UM$T$ UЉL$$MԉD$T$U؉L$M܉T$L$L$ T$zM9MN=$R $ȃ! u-1f$ LE؉UEUډȁ@ t!1,t&^ȃ! k4(ӁUi$ 輺E؋E؉U!ЃU9UT=<u[Mԋ D$$L$! $UmЋM2T$\$L$ D$%t&U܋E؋MT$ UD$L$$ u;(s(L[^_]Ðt&E9EvkvD$D$\$茺$D$D$D$$`$D$xSvډȁ@ !ك ]EU$E؉T$Ut&r M9M^뿍t&UME؉$U܉L$$OUE]d`É'Uu5d]tFplDžl$ED$\$4$Fd$I]u]Í&Uh]uhu'f0D$D$$覹3]u]fUh]uBңhu'0D$D$$U3]u]ÐUWVS,$lնD$$۹D$$ǹD$$賹D$ $蟹D$$苹D$$w E1DžhPt&<\$D$<$護u thD$D$<$膷uu,[^_]"US];tD$/$9t5dD$D$ $\$$&$Ӷ$[]Ð&U$]ˉu։}+9s)À|/tD$<$tv1ۉ؋u]}] UWVSE$ԶE tp1ۃ=$a`MU_uܡ=D$1D$$UT$$u=$DEtaӉ vstNMUtD$1D$D$臵t$UT$$[^_]ftEE$踵U$4ÍFD$NjED$U<$T$uU\$U$T$\7[^_]ÍMUEEE$CD$t$UT$lj$U7T$U$T$Ѵ[^_]ÍvED$1D$p$2UT$$d]$vEFUS$%t$D$D$$³$2؃[]Ív'US$ճt$D$D$$r$؃[]Ív'U1҉E8u)D$D$$,$ÍvUWVSLEU} EEU܋UE؉U  B< U11 k UMEȉŨ0Ή]ũЃ0< UvnD$D$$jU؉T$Uԉ$T$UT$U܉T$ UT$& A 2Et&w.v҉]u1ۍ[4 D$<$LtH uD$D$8$褱|$$D$$ht&$( t\$t$ $D$:;Uw ;Et&MUEÍ4;uv/;ur ;]؍vtL؉[^_]Í;]YD$D$$|$$M'UE D$E$ptf$$D$U]]u$$pt$t$\$$莰]u]Ð$D$0t$T$,|$|$(l$ ƋD$4$u09wLu 1҉Ƌ,$1҉ʼn;$v+11ȉt$|$l$ $Ív1ߍu ;$r9wù1&뷍 )L$L$ Љt$4$$D$L$ Љt$։D$D$d$9։D$ rt L$1Kf;D$ st&L$1+U]Ít&'UWVSOù6 ߬)t$1ED$E D$E$9rރ [^_]Ë$ÐUStfЋu[]ÐUS[,6Y[memorythreads%s: Unknown file format typerb%s: %scatunXZ_OPT(stdin)decompressuncompresstestlistinfokeepforceto-stdoutfilesfiles0formatcheckextremefastbestlzma1lzma2x86bcjpowerpcppcia64itaniumarmarmthumbsparcdeltasubblockquietverboselong-helpversion%s: Unknown integritycheck typeOnly one file can be specified with `--files'or `--files0'.The environment variable XZ_OPT contains too many argumentsnonecrc32crc64sha256 autoxzlzmaaloneraw6z4d?dJtOlTlYk^fgcdc!Sn t {FCMTe09 qvhHVcC:defF:hHlkM:qrS:tT:vVz0123456789%s: Write error: %s%s: Read error: %s%s: Cannot remove: %s%s: Is a directory, skipping(stdout)%s: Cannot unlink: %s/dev/null%s: File seems to be moved, not removing%s: Cannot set the file owner: %s%s: Cannot set the file group: %s%s: Cannot set the file permissions: %s%s: Closing the file failed: %s%s: Not a regular file, skipping%s: File has setuid or setgid bit set, skipping%s: File has sticky bit set, skipping%s: Input file has more than one hard link, skipping%s: Is a symbolic link, skippingUnknown error/usr/share/localeWriting to standard output failed: %s--list is not implemented yet.Cannot read data from standard input when reading filenames from standard input%s: Error reading filenames: %s%s: Unexpected end of input when reading filenames%s: Null character found when reading filenames; maybe you meant to use `--files0' instead of `--files'?Usage: %s [OPTION]... [FILE]... Compress or decompress FILEs in the .xz format. Mandatory arguments to long options are mandatory for short options too. -z, --compress force compression -d, --decompress force decompression -t, --test test compressed file integrity -l, --list list information about files -k, --keep keep (don't delete) input files -f, --force force overwrite of output file and (de)compress links -c, --stdout write to standard output and don't delete input files -S, --suffix=.SUF use the suffix `.SUF' on compressed files --files=[FILE] read filenames to process from FILE; if FILE is omitted, filenames are read from the standard input; filenames must be terminated with the newline character --files0=[FILE] like --files but use the null character as terminator Basic file format and compression options: -F, --format=FMT file format to encode or decode; possible values are `auto' (default), `xz', `lzma', and `raw' -C, --check=CHECK integrity check type: `crc32', `crc64' (default), or `sha256' -0 .. -9 compression preset; 0-2 fast compression, 3-5 good compression, 6-9 excellent compression; default is 6 -M, --memory=NUM use roughly NUM bytes of memory at maximum; 0 indicates the default setting, which depends on the operation mode and the amount of physical memory (RAM) Custom filter chain for compression (alternative for using presets): --lzma1=[OPTS] LZMA1 or LZMA2; OPTS is a comma-separated list of zero or --lzma2=[OPTS] more of the following options (valid values; default): preset=NUM reset options to preset number NUM (1-9) dict=NUM dictionary size (4KiB - 1536MiB; 8MiB) lc=NUM number of literal context bits (0-4; 3) lp=NUM number of literal position bits (0-4; 0) pb=NUM number of position bits (0-4; 2) mode=MODE compression mode (fast, normal; normal) nice=NUM nice length of a match (2-273; 64) mf=NAME match finder (hc3, hc4, bt2, bt3, bt4; bt4) depth=NUM maximum search depth; 0=automatic (default) --x86 x86 filter (sometimes called BCJ filter) --powerpc PowerPC (big endian) filter --ia64 IA64 (Itanium) filter --arm ARM filter --armthumb ARM-Thumb filter --sparc SPARC filter --delta=[OPTS] Delta filter; valid OPTS (valid values; default): dist=NUM distance between bytes being subtracted from each other (1-256; 1) -q, --quiet suppress warnings; specify twice to suppress errors too -v, --verbose be verbose; specify twice for even more verbose -h, --help display the short help (lists only the basic options) -H, --long-help display this long help -V, --version display the version number With no FILE, or when FILE is -, read standard input. On this system and configuration, the tool will use at maximum of * roughly %'llu MiB RAM for compression; * roughly %'llu MiB RAM for decompression; and * %'llu threads for (de)compression. * one thread for (de)compression. -h, --help display this short help -H, --long-help display the long help (lists also the advanced options)Report bugs to <%s> (in English or Finnish). lzma%c=dict=%u,lc=%u,lp=%u,pb=%u,mode=%s,nice=%u,mf=%s,depth=%uNo integrity check; not verifying file integrityUnsupported type of integrity check; not verifying file integrityCannot establish signal handlersTry `%s --help' for more information. Operation mode: Operation modifiers: Other options: lasse.collin@tukaani.orgxz 4.999.8betaliblzma %s %s: Filter chain: --normalUNKNOWNhc4hc3bt2bt3bt4delta=dist=%uMemory usage limit reachedFile format not recognizedUnsupported optionsCompressed data is corruptUnexpected end of inputInternal error (bug)%s: %s (%u) %s (%u/%u) %u:%02u:%02u%u:%02u%.1f %s%'llu B%'.1f KiB%'.1f MiB / > %.3f = %.3f %5.1f %% %43s %11s %10s , %s--- %%.1f %% %7s %43s %11s %10s YYYYYYYYYYYYY{oȹȹ0ȹP`ȹKiB/sMiB/sGiB/s(knN@@_D:5BA33333?@sh|#@X@%s: Options must be `name=value' pairs separated with commasThe sum of lc and lp must be at maximum of 4The selected match finder requires at least nice=%uLZMA1/LZMA2 preset %u is not supported%s: Invalid option value%s: Invalid option namepresetdictlcpbmodenicemfdepthdistsizerlealign(8HXh ` `  Limit was %'llu MiB, but %'llu MiB would have been neededMemory usage limit (%llu MiB) is too small for the given filter setup (%llu MiB)Maximum number of filters is fourUsing a preset in raw mode is discouraged.The exact options of the presets may vary between software versions.With --format=lzma only the LZMA1 filter is supportedUnsupported filter chain or filter options%'llu MiB (%'llu B) of memory is required per thread, limit is %'llu MiB (%'llu B)Adjusted LZMA%c dictionary size from %'u MiB to %'u MiB to not exceed the memory usage limit of %'llu MiB %s: Invalid filename suffix.xz.txz.tar.lzma.tlz%s: File already has `%s' suffix, skipping%s: With --format=raw, --suffix=.SUF is required unless writing to stdout%s: Filename has an unknown suffix, skipping(,16<1(,16<1Compressed data not written to a terminal unless `--force' is used.Compressed data not read from a terminal unless `--force' is used.%s: Value is not a non-negative decimal integer%s: Invalid multiplier suffix. Valid suffixes:`k' (10^3), `M' (10^6), `G' (10^9) `Ki' (2^10), `Mi' (2^20), `Gi' (2^30)Value of the option `%s' must be in the range [%llu, %llu]Empty filename, skippingkkBM@BMB@BGʚ;GBʚ;KiKiBMiMiBGi@GiB@;0,zR| 6C(PH0|; ( hă  (Ѝ0o@oon~ΐސ.>N^n~Αޑ.>N^n~Βޒ.>N^n~Γޓ.>N^n~,GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3.symtab.strtab.shstrtab.interp.note.ABI-tag.hash.dynsym.dynstr.gnu.version.gnu.version_r.rel.dyn.rel.plt.init.text.fini.rodata.eh_frame_hdr.eh_frame.ctors.dtors.jcr.dynamic.got.got.plt.data.bss.comment44#HH 1hh\7 ă ?Go To@@ c Ѝ 0l ( u((0pXX`{Ncc$ Ĉ8   ,@@ @2rpp Po * @hOl]P iv  - @p#0< x)p 3@@ @tLVxb|l,vp 0  $-н6 5FQd r {`  @`  , ,`8  C  0"`, $7`H@4F<U8cru |@H <d dP dh Q ` (H: H^o4Hhă@Ѝ ( X    @   а   "5 < W o6      . 0O "4I[ a3 q$ PY @  6  +pe <Yl zp$ P~ px ! # :  BR@dz! c  * <  G } P Db t   z       / @ S c p 0Z   * F = @C   K    . @ S e qo @{ $  `  H  N * R     % ; D I a h `z     D   PF   pi 2 F T df @m  " P?      Ы (} ( ? D( Jr\__CTOR_LIST____DTOR_LIST____JCR_LIST____do_global_dtors_auxcompleted.5708dtor_idx.5710frame_dummy__CTOR_END____FRAME_END____JCR_END____do_global_ctors_auxparse_reallong_opts.5826short_opts.5825types.5887types.5869names_stdin.5987memlimit_custommemlimit_encodermemlimit_decoderio_unlinkio_close_srcwarn_fchownpair.5911exit_statusname.5808size.5809progress_signal_handlerprogress_needs_updatingverbosityfiles_totalargv0vmessageprogress_activeprint_filenamecurrent_filename_printedfirst_filename_printedfiles_posfilenamemy_timeexpected_in_sizestart_timeprogress_automaticprogress_timebuf.5835progress_speedunit.5819buf.5825my_snprintfprogress_sizes_helperprogress_sizesbuf.5804buf.5781set_subblockset_deltaparse_optionsopts.5808set_lzmaopts.5765opts.5745modes.5806mfs.5807checkpreset_defaultpreset_numberpreset_extremecoder_runstrmfiltersmemlimit_too_smallfilters_countopt_lzma.5686signal_handlerexit_signalsignals_block_counthooked_signalssigs.5660custom_suffixtest_suffixsuffixes.5682all_suffixes.5709suffixes.5684_GLOBAL_OFFSET_TABLE___init_array_end__init_array_start_DYNAMICdata_start__errno_location@@GLIBC_2.0coder_set_extremesigemptyset@@GLIBC_2.0message_helpdcngettext@@GLIBC_2.2strerror@@GLIBC_2.0__libc_csu_finisysconf@@GLIBC_2.0_startmessage_verbosity_decreasemessage_progress_updatemessage_progress_endlzma_raw_encodermessage_set_filesmessage_filters__gmon_start___Jv_RegisterClasses_fp_hwrealloc@@GLIBC_2.0message_strmlzma_alone_decodersignals_blockstrchr@@GLIBC_2.0vsnprintf@@GLIBC_2.0getenv@@GLIBC_2.0_finimessage_versionmessage_warningfchown@@GLIBC_2.0lzma_raw_encoder_memusagewrite@@GLIBC_2.0options_subblockprocess_filelzma_stream_encoderfopen64@@GLIBC_2.1signals_init__udivdi3coder_set_presetcoder_add_filter__libc_start_main@@GLIBC_2.0strrchr@@GLIBC_2.0hardware_initlzma_auto_decoderbindtextdomain@@GLIBC_2.0read@@GLIBC_2.0message_errorio_initopt_stdout_IO_stdin_usedgettimeofday@@GLIBC_2.0suffix_sethardware_memlimit_encodermessage_progress_startmessagefree@@GLIBC_2.0optind@@GLIBC_2.0__lxstat64@@GLIBC_2.2hardware_memlimit_decoderdcgettext@@GLIBC_2.0str_to_uint64__data_startsigaction@@GLIBC_2.0stdin_filenamegetopt_long@@GLIBC_2.0__ctype_b_loc@@GLIBC_2.3isatty@@GLIBC_2.0fclose@@GLIBC_2.1args_parseio_closestderr@@GLIBC_2.0memcpy@@GLIBC_2.0strlen@@GLIBC_2.0lzma_codesuffix_get_dest_namealarm@@GLIBC_2.0unlink@@GLIBC_2.0lzma_version_stringhardware_memlimit_set__dso_handlesetlocale@@GLIBC_2.0pthread_sigmask@@GLIBC_2.0fgetc@@GLIBC_2.0lzma_alone_encoderfeof@@GLIBC_2.0__DTOR_END____libc_csu_initprintf@@GLIBC_2.0raise@@GLIBC_2.0message_signal_handleris_tty_stdoutis_empty_filenamemessage_try_helplzma_raw_decoder_memusageclose@@GLIBC_2.0io_opencoder_set_checkfwrite@@GLIBC_2.0fprintf@@GLIBC_2.0strstr@@GLIBC_2.0opt_force__bss_startopt_formatlzma_lzma_presetuser_abortfputc@@GLIBC_2.0stdin@@GLIBC_2.0sigaddset@@GLIBC_2.0signals_unblockmessage_bugoptions_deltamy_exitio_writelzma_raw_decodersigfillset@@GLIBC_2.0opt_mode_endcoder_set_compression_settingsstdout@@GLIBC_2.0lzma_stream_decoderputs@@GLIBC_2.0textdomain@@GLIBC_2.0__fxstat64@@GLIBC_2.2xstrdupio_readfcntl@@GLIBC_2.0is_tty_stdinmessage_verbosity_increasesignals_exitopen64@@GLIBC_2.2vfprintf@@GLIBC_2.0lzma_memusageoptarg@@GLIBC_2.0_edatasnprintf@@GLIBC_2.0message_fatalxreallocferror@@GLIBC_2.0futimens@@GLIBC_2.6strcmp@@GLIBC_2.0options_lzmaexit@@GLIBC_2.0set_exit_statusfchmod@@GLIBC_2.0opt_threadsmessage_init__i686.get_pc_thunk.bxmain_initopt_keep_originalgeteuid@@GLIBC_2.0unpackager-dragNdrop-1-i486-slxr/install/0000755000000000000000000000000011166766712017111 5ustar rootrootunpackager-dragNdrop-1-i486-slxr/install/slack-desc0000644000000000000000000000167011166766711021050 0ustar rootroot# HOW TO EDIT THIS FILE: # The "handy ruler" below makes it easier to edit a package description. Line # up the first '|' above the ':' following the base package name, and the '|' on # the right side marks the last column you can put a character in. You must make # exactly 11 lines for the formatting to be correct. It's also customary to # leave one space after the ':'. |-----handy-ruler------------------------------------------------------| xz: xz (compression utility based on the LZMA algorithm) xz: xz: LZMA is a general purporse compression algorithm designed by Igor xz: Pavlov as part of 7-Zip. It provides high compression ratio while xz: keeping the decompression speed fast. XZ Utils are an attempt to make xz: LZMA compression easy to use on free (as in freedom) operating xz: systems. xz: xz: The people most responsible for xz are Igor Pavlov, Ville Koskinen, xz: and Lasse Collin. For more info: http://tukaani.org/xz/ xz: unpackager-dragNdrop-1-i486-slxr/install/doinst.sh0000644000000000000000000000227411166766712020752 0ustar rootroot( cd lib ; rm -rf liblzma.so.0 ) ( cd lib ; ln -sf liblzma.so.0.0.0 liblzma.so.0 ) ( cd usr/lib ; rm -rf liblzma.so ) ( cd usr/lib ; ln -sf ../../lib/liblzma.so.0 liblzma.so ) ( cd usr/bin ; rm -rf lzegrep ) ( cd usr/bin ; ln -sf lzgrep lzegrep ) ( cd usr/bin ; rm -rf unxz ) ( cd usr/bin ; ln -sf xz unxz ) ( cd usr/bin ; rm -rf lzcmp ) ( cd usr/bin ; ln -sf lzdiff lzcmp ) ( cd usr/bin ; rm -rf xz ) ( cd usr/bin ; ln -sf ../../bin/xz xz ) ( cd usr/bin ; rm -rf lzless ) ( cd usr/bin ; ln -sf lzmore lzless ) ( cd usr/bin ; rm -rf lzfgrep ) ( cd usr/bin ; ln -sf lzgrep lzfgrep ) ( cd usr/bin ; rm -rf lzma ) ( cd usr/bin ; ln -sf xz lzma ) ( cd usr/bin ; rm -rf lzcat ) ( cd usr/bin ; ln -sf xz lzcat ) ( cd usr/bin ; rm -rf xzcat ) ( cd usr/bin ; ln -sf xz xzcat ) ( cd usr/bin ; rm -rf unlzma ) ( cd usr/bin ; ln -sf xz unlzma ) ( cd usr/man/man1 ; rm -rf lzfgrep.1.gz ) ( cd usr/man/man1 ; ln -sf lzgrep.1.gz lzfgrep.1.gz ) ( cd usr/man/man1 ; rm -rf lzless.1.gz ) ( cd usr/man/man1 ; ln -sf lzmore.1.gz lzless.1.gz ) ( cd usr/man/man1 ; rm -rf lzcmp.1.gz ) ( cd usr/man/man1 ; ln -sf lzdiff.1.gz lzcmp.1.gz ) ( cd usr/man/man1 ; rm -rf lzegrep.1.gz ) ( cd usr/man/man1 ; ln -sf lzgrep.1.gz lzegrep.1.gz ) unpackager-dragNdrop-1-i486-slxr/usr/0000755000000000000000000000000011166766711016253 5ustar rootrootunpackager-dragNdrop-1-i486-slxr/usr/share/0000755000000000000000000000000011236345741017347 5ustar rootrootunpackager-dragNdrop-1-i486-slxr/usr/share/pixmaps/0000755000000000000000000000000011236475045021031 5ustar rootrootunpackager-dragNdrop-1-i486-slxr/usr/share/pixmaps/unzip_package.png0000644000000000000000000004052011236474041024353 0ustar rootrootPNG  IHDR>asRGBbKGD pHYs  tIME1_ҏ IDATxy}Vz_؉.nEʲeYرgg&9Vf'sƶ3I&;ֱ%:,S$JDIQ"E+@m{G-h4d)sq^WaYk]!^uiLqU*(-nEbW`o_yᇟ=y&>Foo/ssȱ'ڴ.έ[?ۄcB.q$0'Μ>}Dk׮Z4fY%0q<}M?mR"Z-lGG[ Nvtt.[Jl맻.zz(GX7,wٞkZW_jT*JkM^׷zp8`!5i^?urܸ}C)x^ 0B"JZkE9]XP 5Hߟ}ۏ;yXkn۶.JKtLl A!&?A),ޒᣵ7 !BtR$xoZZkuq5B1!8z(hq\!@JyDQ,}}DQÇ|Ϳ< $`Z!/Z[km#cx,1G>򑏰{n{1kmE!-[qrql 1!37no~o6Ơ& C:ml}{6 ݫyITNkXTc X)p66B[7Vb ,2>cwށ1}2,- j' }Y,xC:T03=}Z~sndڹk.:QJc-xZ'@5k-QkMFT4&r^*2J*\ϝ8n+g=ϛRJmR +K]XFaث5`;: [iokZrywO)#7o~e֭b.l4#cccf~~~[c򧦧{;:[}O?ͩSLZK;vnONgӝ"adZ"{7l?8/\Clb Ð0QJ"DJEEηB1RI1Ԫ5tAahR^]XhVaƍܵZ? IedE:<7Aܹs|5kݭm,:ad\DHkm9=~c^;ۥ0m^OG6Ԫ>q_뮻۷ q ffz[wzח2i>_ZǝGy_{?{ۻkN@k+JE9XkP( " mڂbFH1zra6DŽaHHD֩ h4G\jYlN>c~7ZObi9.5f?| Ъ#Z339.J`q3??~3AkT/a”n߾clRqbLeb>9Ό(W a!A226ƹ`zz~fffRW9}433s䮤un͘lrr*Zǘfتc #'b֒GqwXւr%^;naǮ}x'֕Rco}?tMwl۶]Fq*{&|fGJR (Zkjj5ubk58!5z cٳg9y$Q>~jԅa$@jJ$#InӦ!w#xV`-)؜xal6 &1:\5Ae%*"X'gFvTg* aO>upphqmX!!-Xc &ZTE$jϟgbb0 1!q* I32 )%A">;?,bk)JJ% y{XXX~JD 07=" R&-TP 'V ; ^ S(ϣwϿg~FgϞŽ;( a-'qs#퓓=w. ~Lsy{f ! uikkKs]l޴>6 l6ժ ^~&SR ER+x&T%,gډW2Z_k̍gu̷ < wޮؾ}Ƥ.uAÐsqYΟ?(ppRDOOmmm8CRAJ\JAXq`F)\yO\5E8 R) `y'@J2үrAc~]#?0@wq7J% HD5K|,o.$yW9~8SSS4 6vwΝ;RB$/}B\ ,>tclne̘e#.`& C5Dif2Q娄aBKV ]N׋U~u}r^WO^,OawLtg8<333LLLp ƘA;nkMPDĭ&nrFkHٵq5dFeel737T)Enqi GeMITV1::J[[n@l(SB3j Zʈ(ճq+lO0}_x 7ޜuɭoufI`rrSN1>>NVK"l|'sR`<: b&&qRi}zQ:Hl iRIJ2J>r}r9{zص{7gΜabjXdߞ '}LPOՀb­2QPgw\t;;~r탑BITgV}?`gfrrF֚~ORazz?3]g;wm,L>)p[LhsP-kZz1!1 )y *Da젍YdZ& TFq:}۷o'RKGj;CAj5&&&Va[n1*:G_~/|_skT;UK. ፝7y&kh)9r 0==MZ^StwuaСߚw™'{6nHEH-ЪX!!hNlqB*S=.P x]ܞBɥ"MnwKb\uTG IO;?{n2ٳmmmb% ŀIdh0;;CZ}3e31F8_rw#u|^r&xvl$!O+؉Y-W4V0*cu$lLq7 |2@VJb\}|usUdl6@Ͼ}{OTetV 3kC8!)bez]Ve}*a0?? wJ)w>~{{{{]Kĥ/zBH0J!Zh^Q*ۯ-X"\.EP$opKOM3~eDia* U6~ğ=: `q<=*e6@D:I)f B&AHMs2Q;& &qNlM~jb︵"[%,ah뮿ٜ9]Hc(UST& EfM#v"Ep&ɜ}{]W4J9 ]0Bzi@dZoֲ^O]9_kklݹX* `E9r"͏w4u+ C Wh DR`^??U虗R+ߌe-kחpk:{ Z%@^ɓ݁<7 T'Z5aSC1Ks;T.e+4l '$A׍pkL[ݶSk.2?!B$IY 7ȫoӯ[ swQ:oI­D4%W\7_{n k.H{pS!ItH)i΍ްs *R lK Z`=bZ1le(DZ~Y۴B@OkKEQ;$D0H뮵UzJG$@{F?Vٚa,XK< l'Dı^ uV .Rxn`ˈV%l!~|КG_})[2JTMH233s0FQ&=fńv-ݡv9g+X-=zB,Vi6י4&lr[8u n-6y^^8NRizR*yaͫn/W,Z^ZTu^F eSfp/V\6W}@\xj߁sr]Wdٗe:I)a,X[/@kMF$ B嗏r-LP$uO'MM hmRJ%,-@aa;nHgWIA?kMiLx[ b0k$v yw<(>|)jOw<Ԛ1d[`MS(`)(l9=P,2;X̙y!fgj|[[1 q  6MbC)Eoo/ZB%Tje$XFW uХ7W7Xx^^|EƼD2ufD"04֬!/|A9sbR0Jqmq!i6}0.ȬWkJֱJ!d+lR C{*@BP#|A^w9t!6-J&5"#"q @dF8\ IDAT븄qҔiǎS׉bY,,rE4B*'N6}ʸC[kzJaƾ G> pKĽZ P [Hkhk'.DZZn@1.y<R2E1 Xr3Jl*9Ўr-J7,}xrCHU8^+ZFJfA9.q14w ie%Qkh:n&R:iHlxj6C`2dֶ`ǎ0o#Ĭuń3UqNH)ikk{[=?;;%hmtIP_mM RGq FX女"]-P,$\} ^=Kԃ:XI,CUz4 y|Clr7200HP(8(4yrQ(T96IزM=a[ {g?Ӂ ,jBHkSk+2C\.c,ׇyeP;Y[JN3!Iq{etoaCe ޝ.<3?lj'lTA-J#~ yމhA~ⳏk$"_aNT3TZ./ZrRI8X#Pv UލJDt}, i;̫Ks˥JC[8k$P_'%Hu"\Ku(IPJF&c:::St/fasssl޼qZ16& #x)h1 ]`hk;mC]տ ?xM[c |ȋ'F-:\ 帘@wm@iTSR(c,2b[nbzzg2:zR*Mf!Ab (7pJ%]Yl):lҦ bK #T$?5[GONͫ8@Jvq(cEO锵ֈ#j:t3gPؽ{7;wkZAB{Y0HJJKHsA 7ѽ7d|y!chs\h6晛<hjO0(1S@%P;V-.\uN7r? عs'y/8q'P(`r/`i5DĨ ZSX#j"+)QLZtt뭠6|8|(oHrF)lJJj M '&&y(i X2M$ h ,YI!WqUPs,1JT/wleӻ*W$_Ws Ֆyon(bkW N54u|ɞ={ؼy3J)yCLMM1448G$}\˔jt<)jIQci8cTG`-l`={21+8ssG9S<ǜa}B8@vaWL*3?K)ֆz}*A 0 I~2ci+VdxrdX<@ KmלRJ0Ì1<<1q #JaGˢH֜w2E 6oaR/HC.eIco|(/p26i؅5gl&k r]vc(b``[o`ddd >1pلNkc'!ᖸ>@`xGGoad YbX= ŹWFk=R{-J&QZc1sssaӧ ÐJB ]3b˓$N "$)ş]U]]lx=^ƎW̽4ȩyILS̰DfjF5K "O8XxiDH 㺏Bβr^ m0Q^:ޞ^>M_r-[2NLT.AصgJzi!?0]w>R0!_8Fκ p]t2q.,~ڞ 亊8n0bcAIunrmZ_Ci@R`yѺ;2Ggk= ]02Fx >l6eO>$aw^SI$GX0cv:G6 qEs4c<׉R9ASUBh&$ǡި'Ppٷo_>9Ylذ!히 ,B:C+eZNj7npstAm3 ,ߚ_摳M~ 8VuLOM*ٶm1Qca&ӹ:6#1Kn 8Jgalv]ᶯ8D=\i^ 8q>V úKU֢kY_PH3ysȬd2A{gMHB[v eGWcf#J (Jگ҅(KX*ܛ ep4xp!%AӗRh5溺(hcQ ZҎXa8K Ӽ=+{nJy`51N޶F`R40I oM2IBx|Pap;ذA.'9g|;s}3dk%E!m;lR;;OfhPDHr\2gmui8Xhu.l8^%5KWȽ`^b}?WHz+X#?Fma>RcD9AB|ϥCf3dcxR( ş]H _=LKe[ sOkcW?{@:H)4͑nb=7:Šrqȭlg/(ݒEHA qa`@}[zMB;'{00ۿrF!}>btGqyovCqI[ɹ3@R\.0aZa9 ;a')_0e8<%zae8RFkX[Z$o? q cCtRX$ ԗZ~4Y^Qx{z\ Rr:5,13B `FۋZg?)ٹO3L!c@"heM@_ 45P{ ^r8JUrm/if:(2OKX68=JB ZFXkPZ`P@8ݓշ߿ "#$bM={/:&b-t(*Q匑yIbP(dhTۑlVлr*"}p &;'mLⷦm㧦Z: e%zpwSHY65<AZ7S hyYJ4Ol1Ipt>xj MMPJ)lqN> _&]=XpUT@o V Q*r!|BvA[n(I|^| y޾P"PA "2߿h $[5䮧y1==1Ik9L-'Ix[A`1kC-oȉsM"B*wcذa277'6q[\RTVnٲ% }~ 7`rrr K׵~ߐ-`+R6ǗMO_bU":KKR]k#pjjBm`(Ę˦M4[V$?믿qꢯIs5CGai(hdddYZˑ#G.J1g=9d]̲OS44c0DD/t000Hgg]]8y$aB46IcV`ފImO!6mf-$~ϯ7 GHtk)JXTرc~Q.ٹs'sss0.:>ܷ~!^qu'EEKri[H/FrUg9bbvށ 5 y9)+w1>k+m]vb0KlB+ѵqٴ)ˆ$JK:7pm\|6?wWXI,w!uD0$CtvvR."DQij>禘Y(ic,I$IZ:R/Xk5Xy=V8'X +(-9]έ?+GՂG#rmwþ }Vk$|eҲOM.PX!I/pn6\5iLN?Ӥ EXZ@1zo_l!389k{wlb汱l:LEH!h~rvi?^i4q}Q*ؾ};ϵ^</}?UH':ٔc|u(K9Nf ҁYz{{ٱc#322$ɥs:_ǑK.b=}GO_rQ'U-K]\ 딠f~\FYOz_=~pk(ֹ/8!RJ^O ㉉ nnF0 {^۷BF9qL~Iptdl6RJJZrYfffrU5APC=t%BPi6c.W?žV\IΜ9COOW&''?TI)(40Zk* [s? ghhDQtev$rjJ@ I[[%o9sw]D"q'-Yhoڴ9Jfggh6;w78n:b KI(xc06I,X,~R/S IE:JJ;\vj*Wh4p=Y>9.RY-3$%V+f`jjv(˃6o:zAK?QqrHTJj P\I g;czktb  ƦiҪ2I9 sar2Q'dLY()K8[蠭\BIu)̟?ɓ @kRUgߗcbzErj+`¹S=|Oٽg;\ IMF aٞYXXXf ڽ0],SyrKZZޣ0}_Ff^E2V-l k-ZՉھ/_z)o;V!Jz޾ is% h/@Q馛۹^?.bD!s2h<2]]]d+f͒AUTHfod9Yֹ/גƳ3z_ՋqXF5P ,m/ Oغu8 ~~ڿxQRAeՊåZۚe" \gߝy~yEm4Oz?{WZeY#7LXb n: ǾG̝|}OEޚ&ޚ8g[HyI'd S7Yj%:Sz퉳g|׿i]w/.$k.grr2ZtX X W#X t.s36}(珽v MY,GT*\DQ"Lóh;cl4gbbԽ~g3z}ѻKQ#ȱc* } p9_ p%.X!T3g:y{۷l.%w~HTJz tIJD)`+. Ty8FхjW_=}G ۜAI{Ț}Irpe@RJ}k۰qۛN'6iI8IE'Jzu]5q"L Vфa2VE)9<666{g6o,>яccc'Ν]FͨX!c/HNA#GxՓᇾ[馛iO0祔()q5Xspģ$*P,d^gvv(T 4H 211ї xg>yO_‚>w- :IDATE]^/o֐ko&_ZjjjF7_9;2OO:5aFАZe"2BlKii6za0Ƅ7n7nI>wر/FQ4E_ˍM[oM>6999O~rm#]?0>IENDB`unpackager-dragNdrop-1-i486-slxr/usr/include/0000755000000000000000000000000011166766710017675 5ustar rootrootunpackager-dragNdrop-1-i486-slxr/usr/include/lzma.h0000644000000000000000000001671011166766710021016 0ustar rootroot/** * \file lzma.h * \brief The public API of liblzma * * liblzma is a LZMA compression library with a zlib-like API. * liblzma is based on LZMA SDK found from http://7-zip.org/sdk.html. * * \author Copyright (C) 1999-2006 Igor Pavlov * \author Copyright (C) 2007 Lasse Collin * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. */ #ifndef LZMA_H #define LZMA_H /***************************** * Required standard headers * *****************************/ /** * liblzma API headers need some standard types and macros. To allow * including lzma.h without requiring the application to include other * headers first, lzma.h includes the required standard headers unless * they already seem to be included already or if LZMA_MANUAL_HEADERS * has been defined. * * Here's what types and macros are needed and from which headers: * - stddef.h: size_t, NULL * - stdint.h: uint8_t, uint32_t, uint64_t, UINT32_C(n), uint64_C(n), * UINT32_MAX, UINT64_MAX * * However, inttypes.h is a little more portable than stdint.h, although * inttypes.h declares some unneeded things compared to plain stdint.h. * * The hacks below aren't perfect, specifically they assume that inttypes.h * exists and that it typedefs at least uint8_t, uint32_t, and uint64_t, * and that, in case of incomplete inttypes.h, unsigned int is 32-bit. * If the application already takes care of setting up all the types and * macros properly (for example by using gnulib's stdint.h or inttypes.h), * we try to detect that the macros are already defined and don't include * inttypes.h here again. However, you may define LZMA_MANUAL_HEADERS to * force this file to never include any system headers. * * Some could argue that liblzma API should provide all the required types, * for example lzma_uint64, LZMA_UINT64_C(n), and LZMA_UINT64_MAX. This was * seen unnecessary mess, since most systems already provide all the necessary * types and macros in the standard headers. * * Note that liblzma API still has lzma_bool, because using stdbool.h would * break C89 and C++ programs on many systems. sizeof(bool) in C99 isn't * necessarily the same as sizeof(bool) in C++. */ #ifndef LZMA_MANUAL_HEADERS /* * I suppose this works portably also in C++. Note that in C++, * we need to get size_t into the global namespace. */ # include /* * Skip inttypes.h if we already have all the required macros. If we * have the macros, we assume that we have the matching typedefs too. */ # if !defined(UINT32_C) || !defined(UINT64_C) \ || !defined(UINT32_MAX) || !defined(UINT64_MAX) /* * MSVC has no C99 support, and thus it cannot be used to * compile liblzma. The liblzma API has to still be usable * from MSVC, so we need to define the required standard * integer types here. */ # if defined(_WIN32) && defined(_MSC_VER) typedef unsigned __int8 uint8_t; typedef unsigned __int32 uint32_t; typedef unsigned __int64 uint64_t; # else /* Use the standard inttypes.h. */ # ifdef __cplusplus /* * C99 sections 7.18.2 and 7.18.4 specify that * in C++ implementations define the limit * and constant macros only if specifically * requested. Note that if you want the * format macros (PRIu64 etc.) too, you need * to define __STDC_FORMAT_MACROS before * including lzma.h, since re-including * inttypes.h with __STDC_FORMAT_MACROS * defined doesn't necessarily work. */ # ifndef __STDC_LIMIT_MACROS # define __STDC_LIMIT_MACROS 1 # endif # ifndef __STDC_CONSTANT_MACROS # define __STDC_CONSTANT_MACROS 1 # endif # endif # include # endif /* * Some old systems have only the typedefs in inttypes.h, and * lack all the macros. For those systems, we need a few more * hacks. We assume that unsigned int is 32-bit and unsigned * long is either 32-bit or 64-bit. If these hacks aren't * enough, the application has to setup the types manually * before including lzma.h. */ # ifndef UINT32_C # if defined(_WIN32) && defined(_MSC_VER) # define UINT32_C(n) n ## UI32 # else # define UINT32_C(n) n ## U # endif # endif # ifndef UINT64_C # if defined(_WIN32) && defined(_MSC_VER) # define UINT64_C(n) n ## UI64 # else /* Get ULONG_MAX. */ # include # if ULONG_MAX == 4294967295UL # define UINT64_C(n) n ## ULL # else # define UINT64_C(n) n ## UL # endif # endif # endif # ifndef UINT32_MAX # define UINT32_MAX (UINT32_C(4294967295)) # endif # ifndef UINT64_MAX # define UINT64_MAX (UINT64_C(18446744073709551615)) # endif # endif #endif /* ifdef LZMA_MANUAL_HEADERS */ /****************** * LZMA_API macro * ******************/ /* * Some systems require (or at least recommend) that the functions and * function pointers are declared specially in the headers. */ #ifdef _WIN32 # define LZMA_API_IMPORT __declspec(dllimport) # define LZMA_API_CALL __cdecl #else # define LZMA_API_IMPORT # define LZMA_API_CALL #endif #ifndef LZMA_API # define LZMA_API(type) LZMA_API_IMPORT type LZMA_API_CALL #endif /******************** * GNU C extensions * ********************/ /* * GNU C extensions are used conditionally in the public API. It doesn't * break anything if these are sometimes enabled and sometimes not, only * affects warnings and optimizations. */ #if __GNUC__ >= 3 # ifndef lzma_attribute # define lzma_attribute(attr) __attribute__(attr) # endif # ifndef lzma_restrict # define lzma_restrict __restrict__ # endif /* warn_unused_result was added in GCC 3.4. */ # ifndef lzma_attr_warn_unused_result # if __GNUC__ == 3 && __GNUC_MINOR__ < 4 # define lzma_attr_warn_unused_result # endif # endif #else # ifndef lzma_attribute # define lzma_attribute(attr) # endif # ifndef lzma_restrict # if __STDC_VERSION__ >= 199901L # define lzma_restrict restrict # else # define lzma_restrict # endif # endif #endif #ifndef lzma_attr_pure # define lzma_attr_pure lzma_attribute((__pure__)) #endif #ifndef lzma_attr_const # define lzma_attr_const lzma_attribute((__const__)) #endif #ifndef lzma_attr_warn_unused_result # define lzma_attr_warn_unused_result \ lzma_attribute((__warn_unused_result__)) #endif /************** * Subheaders * **************/ #ifdef __cplusplus extern "C" { #endif /* * Subheaders check that this is defined. It is to prevent including * them directly from applications. */ #define LZMA_H_INTERNAL 1 /* Basic features */ #include "lzma/version.h" #include "lzma/base.h" #include "lzma/vli.h" #include "lzma/check.h" /* Filters */ #include "lzma/filter.h" #include "lzma/subblock.h" #include "lzma/bcj.h" #include "lzma/delta.h" #include "lzma/lzma.h" /* Container formats */ #include "lzma/container.h" /* Advanced features */ #include "lzma/stream_flags.h" #include "lzma/block.h" #include "lzma/index.h" #include "lzma/index_hash.h" /* * All subheaders included. Undefine LZMA_H_INTERNAL to prevent applications * re-including the subheaders. */ #undef LZMA_H_INTERNAL #ifdef __cplusplus } #endif #endif /* ifndef LZMA_H */ unpackager-dragNdrop-1-i486-slxr/usr/include/lzma/0000755000000000000000000000000011166766710020640 5ustar rootrootunpackager-dragNdrop-1-i486-slxr/usr/include/lzma/lzma.h0000644000000000000000000003405711166766710021765 0ustar rootroot/** * \file lzma/lzma.h * \brief LZMA1 and LZMA2 filters * * \author Copyright (C) 1999-2006 Igor Pavlov * \author Copyright (C) 2007 Lasse Collin * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. */ #ifndef LZMA_H_INTERNAL # error Never include this file directly. Use instead. #endif /** * \brief LZMA1 Filter ID * * LZMA1 is the very same thing as what was called just LZMA in earlier * LZMA Utils, 7-Zip, and LZMA SDK. It's called LZMA1 here to prevent * developers from accidentally using LZMA when they actually want LZMA2. */ #define LZMA_FILTER_LZMA1 LZMA_VLI_C(0x4000000000000001) /** * \brief LZMA2 Filter ID * * Usually you want this instead of LZMA1. Compared to LZMA1, LZMA2 adds * support for LZMA_SYNC_FLUSH, uncompressed chunks (expands uncompressible * data less), possibility to change lc/lp/pb in the middle of encoding, and * some other internal improvements. */ #define LZMA_FILTER_LZMA2 LZMA_VLI_C(0x21) /** * \brief Match finders * * Match finder has major effect on both speed and compression ratio. * Usually hash chains are faster than binary trees. * * The memory usage formulas are only rough estimates, which are closest to * reality when dict_size is a power of two. The formulas are more complex * in reality, and can also change a little between liblzma versions. Use * lzma_memusage_encoder() to get more accurate estimate of memory usage. */ typedef enum { LZMA_MF_HC3 = 0x03, /**< * \brief Hash Chain with 2- and 3-byte hashing * * Minimum nice_len: 3 * * Memory usage: * - dict_size <= 16 MiB: dict_size * 7.5 * - dict_size > 16 MiB: dict_size * 5.5 + 64 MiB */ LZMA_MF_HC4 = 0x04, /**< * \brief Hash Chain with 2-, 3-, and 4-byte hashing * * Minimum nice_len: 4 * * Memory usage: dict_size * 7.5 */ LZMA_MF_BT2 = 0x12, /**< * \brief Binary Tree with 2-byte hashing * * Minimum nice_len: 2 * * Memory usage: dict_size * 9.5 */ LZMA_MF_BT3 = 0x13, /**< * \brief Binary Tree with 2- and 3-byte hashing * * Minimum nice_len: 3 * * Memory usage: * - dict_size <= 16 MiB: dict_size * 11.5 * - dict_size > 16 MiB: dict_size * 9.5 + 64 MiB */ LZMA_MF_BT4 = 0x14 /**< * \brief Binary Tree with 2-, 3-, and 4-byte hashing * * Minimum nice_len: 4 * * Memory usage: dict_size * 11.5 */ } lzma_match_finder; /** * \brief Test if given match finder is supported * * Returns true if the given match finder is supported by this liblzma build. * Otherwise false is returned. It is safe to call this with a value that * isn't listed in lzma_match_finder enumeration; the return value will be * false. * * There is no way to list which match finders are available in this * particular liblzma version and build. It would be useless, because * a new match finder, which the application developer wasn't aware, * could require giving additional options to the encoder that the older * match finders don't need. */ extern LZMA_API(lzma_bool) lzma_mf_is_supported(lzma_match_finder match_finder) lzma_attr_const; /** * \brief LZMA compression modes * * This selects the function used to analyze the data produced by the match * finder. */ typedef enum { LZMA_MODE_FAST = 1, /**< * \brief Fast compression * * Fast mode is usually at its best when combined with * a hash chain match finder. */ LZMA_MODE_NORMAL = 2 /**< * \brief Normal compression * * This is usually notably slower than fast mode. Use this * together with binary tree match finders to expose the * full potential of the LZMA encoder. */ } lzma_mode; /** * \brief Test if given compression mode is supported * * Returns true if the given compression mode is supported by this liblzma * build. Otherwise false is returned. It is safe to call this with a value * that isn't listed in lzma_mode enumeration; the return value will be false. * * There is no way to list which modes are available in this particular * liblzma version and build. It would be useless, because a new compression * mode, which the application developer wasn't aware, could require giving * additional options to the encoder that the older modes don't need. */ extern LZMA_API(lzma_bool) lzma_mode_is_supported(lzma_mode mode) lzma_attr_const; /** * \brief Options specific to the LZMA1 and LZMA2 filters * * Since LZMA1 and LZMA2 share most of the code, it's simplest to share * the options structure too. For encoding, all but the reserved variables * need to be initialized unless specifically mentioned otherwise. * * For raw decoding, both LZMA1 and LZMA2 need dict_size, preset_dict, and * preset_dict_size (if preset_dict != NULL). LZMA1 needs also lc, lp, and pb. */ typedef struct { /** * \brief Dictionary size in bytes * * Dictionary size indicates how many bytes of the recently processed * uncompressed data is kept in memory. One method to reduce size of * the uncompressed data is to store distance-length pairs, which * indicate what data to repeat from the dictionary buffer. Thus, * the bigger the dictionary, the better compression ratio usually is. * * Maximum size of the dictionary depends on multiple things: * - Memory usage limit * - Available address space (not a problem on 64-bit systems) * - Selected match finder (encoder only) * * Currently the maximum dictionary size for encoding is 1.5 GiB * (i.e. (UINT32_C(1) << 30) + (UINT32_C(1) << 29)) even on 64-bit * systems for certain match finder implementation reasons. In future, * there may be match finders that support bigger dictionaries (3 GiB * will probably be the maximum). * * Decoder already supports dictionaries up to 4 GiB - 1 B (i.e. * UINT32_MAX), so increasing the maximum dictionary size of the * encoder won't cause problems for old decoders. * * Because extremely small dictionaries sizes would have unneeded * overhead in the decoder, the minimum dictionary size is 4096 bytes. * * \note When decoding, too big dictionary does no other harm * than wasting memory. */ uint32_t dict_size; # define LZMA_DICT_SIZE_MIN UINT32_C(4096) # define LZMA_DICT_SIZE_DEFAULT (UINT32_C(1) << 23) /** * \brief Pointer to an initial dictionary * * It is possible to initialize the LZ77 history window using * a preset dictionary. Here is a good quote from zlib's * documentation; this applies to LZMA as is: * * "The dictionary should consist of strings (byte sequences) that * are likely to be encountered later in the data to be compressed, * with the most commonly used strings preferably put towards the * end of the dictionary. Using a dictionary is most useful when * the data to be compressed is short and can be predicted with * good accuracy; the data can then be compressed better than * with the default empty dictionary." * (From deflateSetDictionary() in zlib.h of zlib version 1.2.3) * * This feature should be used only in special situations. * It works correctly only with raw encoding and decoding. * Currently none of the container formats supported by * liblzma allow preset dictionary when decoding, thus if * you create a .lzma file with preset dictionary, it cannot * be decoded with the regular .lzma decoder functions. * * \todo This feature is not implemented yet. */ const uint8_t *preset_dict; /** * \brief Size of the preset dictionary * * Specifies the size of the preset dictionary. If the size is * bigger than dict_size, only the last dict_size bytes are processed. * * This variable is read only when preset_dict is not NULL. */ uint32_t preset_dict_size; /** * \brief Number of literal context bits * * How many of the highest bits of the previous uncompressed * eight-bit byte (also known as `literal') are taken into * account when predicting the bits of the next literal. * * \todo Example * * There is a limit that applies to literal context bits and literal * position bits together: lc + lp <= 4. Without this limit the * decoding could become very slow, which could have security related * results in some cases like email servers doing virus scanning. * This limit also simplifies the internal implementation in liblzma. * * There may be LZMA streams that have lc + lp > 4 (maximum lc * possible would be 8). It is not possible to decode such streams * with liblzma. */ uint32_t lc; # define LZMA_LCLP_MIN 0 # define LZMA_LCLP_MAX 4 # define LZMA_LC_DEFAULT 3 /** * \brief Number of literal position bits * * How many of the lowest bits of the current position (number * of bytes from the beginning of the uncompressed data) in the * uncompressed data is taken into account when predicting the * bits of the next literal (a single eight-bit byte). * * \todo Example */ uint32_t lp; # define LZMA_LP_DEFAULT 0 /** * \brief Number of position bits * * How many of the lowest bits of the current position in the * uncompressed data is taken into account when estimating * probabilities of matches. A match is a sequence of bytes for * which a matching sequence is found from the dictionary and * thus can be stored as distance-length pair. * * Example: If most of the matches occur at byte positions of * 8 * n + 3, that is, 3, 11, 19, ... set pb to 3, because 2**3 == 8. */ uint32_t pb; # define LZMA_PB_MIN 0 # define LZMA_PB_MAX 4 # define LZMA_PB_DEFAULT 2 /** * \brief Indicate if the options structure is persistent * * If this is true, the application must keep this options structure * available after the LZMA2 encoder has been initialized. With * persistent structure it is possible to change some encoder options * in the middle of the encoding process without resetting the encoder. * * This option is used only by LZMA2. LZMA1 ignores this and it is * safe to not initialize this when encoding with LZMA1. */ lzma_bool persistent; /** LZMA compression mode */ lzma_mode mode; /** * \brief Nice length of a match * * This determines how many bytes the encoder compares from the match * candidates when looking for the best match. Once a match of at * least nice_len bytes long is found, the encoder stops looking for * better condidates and encodes the match. (Naturally, if the found * match is actually longer than nice_len, the actual length is * encoded; it's not truncated to nice_len.) * * Bigger values usually increase the compression ratio and * compression time. For most files, 30 to 100 is a good value, * which gives very good compression ratio at good speed. * * The exact minimum value depends on the match finder. The maximum is * 273, which is the maximum length of a match that LZMA can encode. */ uint32_t nice_len; /** Match finder ID */ lzma_match_finder mf; /** * \brief Maximum search depth in the match finder * * For every input byte, match finder searches through the hash chain * or binary tree in a loop, each iteration going one step deeper in * the chain or tree. The searching stops if * - a match of at least nice_len bytes long is found; * - all match candidates from the hash chain or binary tree have * been checked; or * - maximum search depth is reached. * * Maximum search depth is needed to prevent the match finder from * wasting too much time in case there are lots of short match * candidates. On the other hand, stopping the search before all * candidates have been checked can reduce compression ratio. * * Setting depth to zero tells liblzma to use an automatic default * value, that depends on the selected match finder and nice_len. * The default is in the range [10, 200] or so (it may vary between * liblzma versions). * * Using a bigger depth value than the default can increase * compression ratio in some cases. There is no strict maximum value, * but high values (thousands or millions) should be used with care: * the encoder could remain fast enough with typical input, but * malicious input could cause the match finder to slow down * dramatically, possibly creating a denial of service attack. */ uint32_t depth; /* * Reserved space to allow possible future extensions without * breaking the ABI. You should not touch these, because the names * of these variables may change. These are and will never be used * with the currently supported options, so it is safe to leave these * uninitialized. */ void *reserved_ptr1; void *reserved_ptr2; uint32_t reserved_int1; uint32_t reserved_int2; uint32_t reserved_int3; uint32_t reserved_int4; uint32_t reserved_int5; uint32_t reserved_int6; uint32_t reserved_int7; uint32_t reserved_int8; lzma_reserved_enum reserved_enum1; lzma_reserved_enum reserved_enum2; lzma_reserved_enum reserved_enum3; lzma_reserved_enum reserved_enum4; } lzma_options_lzma; /** * \brief Set a compression preset to lzma_options_lzma structure * * 0 is the fastest and 9 is the slowest. These match the switches -0 .. -9 * of the xz command line tool. In addition, it is possible to bitwise-or * flags to the preset. Currently only LZMA_PRESET_EXTREME is supported. * The flags are defined in container.h, because the flags are used also * with lzma_easy_encoder(). * * The preset values are subject to changes between liblzma versions. * * This function is available only if LZMA1 or LZMA2 encoder has been enabled * when building liblzma. */ extern LZMA_API(lzma_bool) lzma_lzma_preset( lzma_options_lzma *options, uint32_t preset); unpackager-dragNdrop-1-i486-slxr/usr/include/lzma/index.h0000644000000000000000000003321711166766710022126 0ustar rootroot/** * \file lzma/index.h * \brief Handling of .xz Index lists * * \author Copyright (C) 1999-2006 Igor Pavlov * \author Copyright (C) 2007 Lasse Collin * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. */ #ifndef LZMA_H_INTERNAL # error Never include this file directly. Use instead. #endif /** * \brief Opaque data type to hold the Index */ typedef struct lzma_index_s lzma_index; /** * \brief Index Record and its location */ typedef struct { /** * \brief Total encoded size of a Block including Block Padding * * This value is useful if you need to know the actual size of the * Block that the Block decoder will read. */ lzma_vli total_size; /** * \brief Encoded size of a Block excluding Block Padding * * This value is stored in the Index. When doing random-access * reading, you should give this value to the Block decoder along * with uncompressed_size. */ lzma_vli unpadded_size; /** * \brief Uncompressed Size of a Block */ lzma_vli uncompressed_size; /** * Offset of the first byte of a Block relative to the beginning * of the Stream, or if there are multiple Indexes combined, * relative to the beginning of the first Stream. */ lzma_vli stream_offset; /** * Uncompressed offset */ lzma_vli uncompressed_offset; } lzma_index_record; /** * \brief Calculate memory usage for Index with given number of Records * * On disk, the size of the Index field depends on both the number of Records * stored and how big values the Records store (due to variable-length integer * encoding). When the Index is kept in lzma_index structure, the memory usage * depends only on the number of Records stored in the Index. The size in RAM * is almost always a lot bigger than in encoded form on disk. * * This function calculates an approximate amount of memory needed hold the * given number of Records in lzma_index structure. This value may vary * between liblzma versions if the internal implementation is modified. * * If you want to know how much memory an existing lzma_index structure is * using, use lzma_index_memusage(lzma_index_count(i)). */ extern LZMA_API(uint64_t) lzma_index_memusage(lzma_vli record_count); /** * \brief Allocate and initialize a new lzma_index structure * * If i is NULL, a new lzma_index structure is allocated, initialized, * and a pointer to it returned. If allocation fails, NULL is returned. * * If i is non-NULL, it is reinitialized and the same pointer returned. * In this case, return value cannot be NULL or a different pointer than * the i that was given as an argument. */ extern LZMA_API(lzma_index *) lzma_index_init( lzma_index *i, lzma_allocator *allocator) lzma_attr_warn_unused_result; /** * \brief Deallocate the Index * * If i is NULL, this does nothing. */ extern LZMA_API(void) lzma_index_end(lzma_index *i, lzma_allocator *allocator); /** * \brief Add a new Record to an Index * * \param i Pointer to a lzma_index structure * \param allocator Pointer to lzma_allocator, or NULL to * use malloc() * \param unpadded_size Unpadded Size of a Block. This can be * calculated with lzma_block_unpadded_size() * after encoding or decoding the Block. * \param uncompressed_size Uncompressed Size of a Block. This can be * taken directly from lzma_block structure * after encoding or decoding the Block. * * Appending a new Record does not affect the read position. * * \return - LZMA_OK * - LZMA_MEM_ERROR * - LZMA_DATA_ERROR: Compressed or uncompressed size of the * Stream or size of the Index field would grow too big. * - LZMA_PROG_ERROR */ extern LZMA_API(lzma_ret) lzma_index_append( lzma_index *i, lzma_allocator *allocator, lzma_vli unpadded_size, lzma_vli uncompressed_size) lzma_attr_warn_unused_result; /** * \brief Get the number of Records */ extern LZMA_API(lzma_vli) lzma_index_count(const lzma_index *i) lzma_attr_pure; /** * \brief Get the size of the Index field as bytes * * This is needed to verify the Backward Size field in the Stream Footer. */ extern LZMA_API(lzma_vli) lzma_index_size(const lzma_index *i) lzma_attr_pure; /** * \brief Get the total size of the Blocks * * This doesn't include the Stream Header, Stream Footer, Stream Padding, * or Index fields. */ extern LZMA_API(lzma_vli) lzma_index_total_size(const lzma_index *i) lzma_attr_pure; /** * \brief Get the total size of the Stream * * If multiple Indexes have been combined, this works as if the Blocks * were in a single Stream. */ extern LZMA_API(lzma_vli) lzma_index_stream_size(const lzma_index *i) lzma_attr_pure; /** * \brief Get the total size of the file * * When no Indexes have been combined with lzma_index_cat(), this function is * identical to lzma_index_stream_size(). If multiple Indexes have been * combined, this includes also the headers of each separate Stream and the * possible Stream Padding fields. */ extern LZMA_API(lzma_vli) lzma_index_file_size(const lzma_index *i) lzma_attr_pure; /** * \brief Get the uncompressed size of the Stream */ extern LZMA_API(lzma_vli) lzma_index_uncompressed_size(const lzma_index *i) lzma_attr_pure; /** * \brief Get the next Record from the Index */ extern LZMA_API(lzma_bool) lzma_index_read( lzma_index *i, lzma_index_record *record) lzma_attr_warn_unused_result; /** * \brief Rewind the Index * * Rewind the Index so that next call to lzma_index_read() will return the * first Record. */ extern LZMA_API(void) lzma_index_rewind(lzma_index *i); /** * \brief Locate a Record * * When the Index is available, it is possible to do random-access reading * with granularity of Block size. * * \param i Pointer to lzma_index structure * \param record Pointer to a structure to hold the search results * \param target Uncompressed target offset which the caller would * like to locate from the Stream * * If the target is smaller than the uncompressed size of the Stream (can be * checked with lzma_index_uncompressed_size()): * - Information about the Record containing the requested uncompressed * offset is stored into *record. * - Read offset will be adjusted so that calling lzma_index_read() can be * used to read subsequent Records. * - This function returns false. * * If target is greater than the uncompressed size of the Stream, *record * and the read position are not modified, and this function returns true. */ extern LZMA_API(lzma_bool) lzma_index_locate( lzma_index *i, lzma_index_record *record, lzma_vli target) lzma_attr_warn_unused_result; /** * \brief Concatenate Indexes of two Streams * * * * \param dest Destination Index after which src is appended * \param src Source Index. The memory allocated for this is * either moved to be part of *dest or freed if and * only if the function call succeeds, and src will * be an invalid pointer. * \param allocator Custom memory allocator; can be NULL to use * malloc() and free(). * \param padding Size of the Stream Padding field between Streams. * This must be a multiple of four. * * \return - LZMA_OK: Indexes concatenated successfully. * - LZMA_DATA_ERROR: *dest would grow too big. * - LZMA_MEM_ERROR * - LZMA_PROG_ERROR */ extern LZMA_API(lzma_ret) lzma_index_cat(lzma_index *lzma_restrict dest, lzma_index *lzma_restrict src, lzma_allocator *allocator, lzma_vli padding) lzma_attr_warn_unused_result; /** * \brief Duplicate an Index list * * Makes an identical copy of the Index. Also the read position is copied. * * \return A copy of the Index, or NULL if memory allocation failed. */ extern LZMA_API(lzma_index *) lzma_index_dup( const lzma_index *i, lzma_allocator *allocator) lzma_attr_warn_unused_result; /** * \brief Compare if two Index lists are identical * * \return True if *a and *b are equal, false otherwise. */ extern LZMA_API(lzma_bool) lzma_index_equal( const lzma_index *a, const lzma_index *b) lzma_attr_pure; /** * \brief Initialize Index encoder * * \param strm Pointer to properly prepared lzma_stream * \param i Pointer to lzma_index which should be encoded. * The read position will be at the end of the Index * after lzma_code() has returned LZMA_STREAM_END. * * The only valid action value for lzma_code() is LZMA_RUN. * * \return - LZMA_OK: Initialization succeeded, continue with lzma_code(). * - LZMA_MEM_ERROR * - LZMA_PROG_ERROR */ extern LZMA_API(lzma_ret) lzma_index_encoder(lzma_stream *strm, lzma_index *i) lzma_attr_warn_unused_result; /** * \brief Initialize Index decoder * * \param strm Pointer to properly prepared lzma_stream * \param i Pointer to a pointer that will be made to point * to the final decoded Index once lzma_code() has * returned LZMA_STREAM_END. That is, * lzma_index_decoder() always takes care of * allocating a new lzma_index structure, and *i * doesn't need to be initialized by the caller. * \param memlimit How much memory the resulting Index is allowed * to require. * * The only valid action value for lzma_code() is LZMA_RUN. * * \return - LZMA_OK: Initialization succeeded, continue with lzma_code(). * - LZMA_MEM_ERROR * - LZMA_MEMLIMIT_ERROR * - LZMA_PROG_ERROR * * \note The memory usage limit is checked early in the decoding * (within the first dozen input bytes or so). The actual memory * is allocated later in smaller pieces. If the memory usage * limit is modified after decoding a part of the Index already, * the new limit may be ignored. */ extern LZMA_API(lzma_ret) lzma_index_decoder( lzma_stream *strm, lzma_index **i, uint64_t memlimit) lzma_attr_warn_unused_result; /** * \brief Single-call Index encoder * * \param i Index to be encoded. The read position will be at * the end of the Index if encoding succeeds, or at * unspecified position in case an error occurs. * \param out Beginning of the output buffer * \param out_pos The next byte will be written to out[*out_pos]. * *out_pos is updated only if encoding succeeds. * \param out_size Size of the out buffer; the first byte into * which no data is written to is out[out_size]. * * \return - LZMA_OK: Encoding was successful. * - LZMA_BUF_ERROR: Output buffer is too small. Use * lzma_index_size() to find out how much output * space is needed. * - LZMA_PROG_ERROR * * \note This function doesn't take allocator argument since all * the internal data is allocated on stack. */ extern LZMA_API(lzma_ret) lzma_index_buffer_encode(lzma_index *i, uint8_t *out, size_t *out_pos, size_t out_size); /** * \brief Single-call Index decoder * * \param i Pointer to a pointer that will be made to point * to the final decoded Index if decoding is * successful. That is, lzma_index_buffer_decode() * always takes care of allocating a new * lzma_index structure, and *i doesn't need to be * initialized by the caller. * \param memlimit Pointer to how much memory the resulting Index * is allowed to require. The value pointed by * this pointer is modified if and only if * LZMA_MEMLIMIT_ERROR is returned. * \param allocator Pointer to lzma_allocator, or NULL to use malloc() * \param in Beginning of the input buffer * \param in_pos The next byte will be read from in[*in_pos]. * *in_pos is updated only if decoding succeeds. * \param in_size Size of the input buffer; the first byte that * won't be read is in[in_size]. * * \return - LZMA_OK: Decoding was successful. * - LZMA_MEM_ERROR * - LZMA_MEMLIMIT_ERROR: Memory usage limit was reached. * The minimum required memlimit value was stored to *memlimit. * - LZMA_DATA_ERROR * - LZMA_PROG_ERROR */ extern LZMA_API(lzma_ret) lzma_index_buffer_decode( lzma_index **i, uint64_t *memlimit, lzma_allocator *allocator, const uint8_t *in, size_t *in_pos, size_t in_size); unpackager-dragNdrop-1-i486-slxr/usr/include/lzma/check.h0000644000000000000000000001101211166766710022061 0ustar rootroot/** * \file lzma/check.h * \brief Integrity checks * * \author Copyright (C) 1999-2006 Igor Pavlov * \author Copyright (C) 2007 Lasse Collin * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. */ #ifndef LZMA_H_INTERNAL # error Never include this file directly. Use instead. #endif /** * \brief Type of the integrity check (Check ID) * * The .xz format supports multiple types of checks that are calculated * from the uncompressed data. They very in both speed and ability to * detect errors. */ typedef enum { LZMA_CHECK_NONE = 0, /**< * No Check is calculated. * * Size of the Check field: 0 bytes */ LZMA_CHECK_CRC32 = 1, /**< * CRC32 using the polynomial from the IEEE 802.3 standard * * Size of the Check field: 4 bytes */ LZMA_CHECK_CRC64 = 4, /**< * CRC64 using the polynomial from the ECMA-182 standard * * Size of the Check field: 8 bytes */ LZMA_CHECK_SHA256 = 10 /**< * SHA-256 * * Size of the Check field: 32 bytes */ } lzma_check; /** * \brief Maximum valid Check ID * * The .xz file format specification specifies 16 Check IDs (0-15). Some * of them are only reserved, that is, no actual Check algorithm has been * assigned. When decoding, liblzma still accepts unknown Check IDs for * future compatibility. If a valid but unsupported Check ID is detected, * liblzma can indicate a warning; see the flags LZMA_TELL_NO_CHECK, * LZMA_TELL_UNSUPPORTED_CHECK, and LZMA_TELL_ANY_CHECK in container.h. */ #define LZMA_CHECK_ID_MAX 15 /** * \brief Test if the given Check ID is supported * * Returns true if the given Check ID is supported by this liblzma build. * Otherwise false is returned. It is safe to call this with a value that * is not in the range [0, 15]; in that case the return value is always false. * * You can assume that LZMA_CHECK_NONE and LZMA_CHECK_CRC32 are always * supported (even if liblzma is built with limited features). */ extern LZMA_API(lzma_bool) lzma_check_is_supported(lzma_check check) lzma_attr_const; /** * \brief Get the size of the Check field with the given Check ID * * Although not all Check IDs have a check algorithm associated, the size of * every Check is already frozen. This function returns the size (in bytes) of * the Check field with the specified Check ID. The values are: * { 0, 4, 4, 4, 8, 8, 8, 16, 16, 16, 32, 32, 32, 64, 64, 64 } * * If the argument is not in the range [0, 15], UINT32_MAX is returned. */ extern LZMA_API(uint32_t) lzma_check_size(lzma_check check) lzma_attr_const; /** * \brief Maximum size of a Check field */ #define LZMA_CHECK_SIZE_MAX 64 /** * \brief Calculate CRC32 * * Calculates CRC32 using the polynomial from the IEEE 802.3 standard. * * \param buf Pointer to the input buffer * \param size Size of the input buffer * \param crc Previously returned CRC value. This is used to * calculate the CRC of a big buffer in smaller chunks. * Set to zero when there is no previous value. * * \return Updated CRC value, which can be passed to this function * again to continue CRC calculation. */ extern LZMA_API(uint32_t) lzma_crc32( const uint8_t *buf, size_t size, uint32_t crc) lzma_attr_pure; /** * \brief Calculate CRC64 * * Calculates CRC64 using the polynomial from the ECMA-182 standard. * * This function is used similarly to lzma_crc32(). See its documentation. */ extern LZMA_API(uint64_t) lzma_crc64( const uint8_t *buf, size_t size, uint64_t crc) lzma_attr_pure; /* * SHA-256 functions are currently not exported to public API. * Contact Lasse Collin if you think it should be. */ /** * \brief Get the type of the integrity check * * This function can be called only immediatelly after lzma_code() has * returned LZMA_NO_CHECK, LZMA_UNSUPPORTED_CHECK, or LZMA_GET_CHECK. * Calling this function in any other situation has undefined behavior. */ extern LZMA_API(lzma_check) lzma_get_check(const lzma_stream *strm); unpackager-dragNdrop-1-i486-slxr/usr/include/lzma/block.h0000644000000000000000000004665011166766710022116 0ustar rootroot/** * \file lzma/block.h * \brief .xz Block handling * * \author Copyright (C) 1999-2006 Igor Pavlov * \author Copyright (C) 2007 Lasse Collin * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. */ #ifndef LZMA_H_INTERNAL # error Never include this file directly. Use instead. #endif /** * \brief Options for the Block and Block Header encoders and decoders * * Different Block handling functions use different parts of this structure. * Some read some members, other functions write, and some do both. Only the * members listed for reading need to be initialized when the specified * functions are called. The members marked for writing will be assigned * new values at some point either by calling the given function or by * later calls to lzma_code(). */ typedef struct { /** * \brief Block format version * * To prevent API and ABI breakages if new features are needed in * Block, a version number is used to indicate which fields in this * structure are in use. For now, version must always be zero. * With non-zero version, most Block related functions will return * LZMA_OPTIONS_ERROR. * * The decoding functions will always set this to the lowest value * that supports all the features indicated by the Block Header field. * The application must check that the version number set by the * decoding functions is supported by the application. Otherwise it * is possible that the application will decode the Block incorrectly. * * Read by: * - lzma_block_header_size() * - lzma_block_header_encode() * - lzma_block_compressed_size() * - lzma_block_unpadded_size() * - lzma_block_total_size() * - lzma_block_encoder() * - lzma_block_decoder() * - lzma_block_buffer_encode() * - lzma_block_buffer_decode() * * Written by: * - lzma_block_header_decode() */ uint32_t version; /** * \brief Size of the Block Header field * * This is always a multiple of four. * * Read by: * - lzma_block_header_encode() * - lzma_block_header_decode() * - lzma_block_compressed_size() * - lzma_block_unpadded_size() * - lzma_block_total_size() * - lzma_block_decoder() * - lzma_block_buffer_decode() * * Written by: * - lzma_block_header_size() * - lzma_block_buffer_encode() */ uint32_t header_size; # define LZMA_BLOCK_HEADER_SIZE_MIN 8 # define LZMA_BLOCK_HEADER_SIZE_MAX 1024 /** * \brief Type of integrity Check * * The Check ID is not stored into the Block Header, thus its value * must be provided also when decoding. * * Read by: * - lzma_block_header_encode() * - lzma_block_header_decode() * - lzma_block_compressed_size() * - lzma_block_unpadded_size() * - lzma_block_total_size() * - lzma_block_encoder() * - lzma_block_decoder() * - lzma_block_buffer_encode() * - lzma_block_buffer_decode() */ lzma_check check; /** * \brief Size of the Compressed Data in bytes * * Encoding: If this is not LZMA_VLI_UNKNOWN, Block Header encoder * will store this value to the Block Header. Block encoder doesn't * care about this value, but will set it once the encoding has been * finished. * * Decoding: If this is not LZMA_VLI_UNKNOWN, Block decoder will * verify that the size of the Compressed Data field matches * compressed_size. * * Usually you don't know this value when encoding in streamed mode, * and thus cannot write this field into the Block Header. * * In non-streamed mode you can reserve space for this field before * encoding the actual Block. After encoding the data, finish the * Block by encoding the Block Header. Steps in detail: * * - Set compressed_size to some big enough value. If you don't know * better, use LZMA_VLI_MAX, but remember that bigger values take * more space in Block Header. * * - Call lzma_block_header_size() to see how much space you need to * reserve for the Block Header. * * - Encode the Block using lzma_block_encoder() and lzma_code(). * It sets compressed_size to the correct value. * * - Use lzma_block_header_encode() to encode the Block Header. * Because space was reserved in the first step, you don't need * to call lzma_block_header_size() anymore, because due to * reserving, header_size has to be big enough. If it is "too big", * lzma_block_header_encode() will add enough Header Padding to * make Block Header to match the size specified by header_size. * * Read by: * - lzma_block_header_size() * - lzma_block_header_encode() * - lzma_block_compressed_size() * - lzma_block_unpadded_size() * - lzma_block_total_size() * - lzma_block_decoder() * - lzma_block_buffer_decode() * * Written by: * - lzma_block_header_decode() * - lzma_block_compressed_size() * - lzma_block_encoder() * - lzma_block_decoder() * - lzma_block_buffer_encode() * - lzma_block_buffer_decode() */ lzma_vli compressed_size; /** * \brief Uncompressed Size in bytes * * This is handled very similarly to compressed_size above. * * Unlike compressed_size, uncompressed_size is needed by fewer * functions. This is because uncompressed_size isn't needed to * validate that Block stays within proper limits. * * Read by: * - lzma_block_header_size() * - lzma_block_header_encode() * - lzma_block_decoder() * - lzma_block_buffer_decode() * * Written by: * - lzma_block_header_decode() * - lzma_block_encoder() * - lzma_block_decoder() * - lzma_block_buffer_encode() * - lzma_block_buffer_decode() */ lzma_vli uncompressed_size; /** * \brief Array of filters * * There can be 1-4 filters. The end of the array is marked with * .id = LZMA_VLI_UNKNOWN. * * Read by: * - lzma_block_header_size() * - lzma_block_header_encode() * - lzma_block_encoder() * - lzma_block_decoder() * - lzma_block_buffer_encode() * - lzma_block_buffer_decode() * * Written by: * - lzma_block_header_decode(): Note that this does NOT free() * the old filter options structures. All unused filters[] will * have .id == LZMA_VLI_UNKNOWN and .options == NULL. If * decoding fails, all filters[] are guaranteed to be * LZMA_VLI_UNKNOWN and NULL. * * \note Because of the array is terminated with * .id = LZMA_VLI_UNKNOWN, the actual array must * have LZMA_FILTERS_MAX + 1 members or the Block * Header decoder will overflow the buffer. */ lzma_filter *filters; /* * Reserved space to allow possible future extensions without * breaking the ABI. You should not touch these, because the names * of these variables may change. These are and will never be used * with the currently supported options, so it is safe to leave these * uninitialized. */ void *reserved_ptr1; void *reserved_ptr2; void *reserved_ptr3; uint32_t reserved_int1; uint32_t reserved_int2; lzma_vli reserved_int3; lzma_vli reserved_int4; lzma_vli reserved_int5; lzma_vli reserved_int6; lzma_vli reserved_int7; lzma_vli reserved_int8; lzma_reserved_enum reserved_enum1; lzma_reserved_enum reserved_enum2; lzma_reserved_enum reserved_enum3; lzma_reserved_enum reserved_enum4; lzma_bool reserved_bool1; lzma_bool reserved_bool2; lzma_bool reserved_bool3; lzma_bool reserved_bool4; lzma_bool reserved_bool5; lzma_bool reserved_bool6; lzma_bool reserved_bool7; lzma_bool reserved_bool8; } lzma_block; /** * \brief Decode the Block Header Size field * * To decode Block Header using lzma_block_header_decode(), the size of the * Block Header has to be known and stored into lzma_block.header_size. * The size can be calculated from the first byte of a Block using this macro. * Note that if the first byte is 0x00, it indicates beginning of Index; use * this macro only when the byte is not 0x00. * * There is no encoding macro, because Block Header encoder is enough for that. */ #define lzma_block_header_size_decode(b) (((uint32_t)(b) + 1) * 4) /** * \brief Calculate Block Header Size * * Calculate the minimum size needed for the Block Header field using the * settings specified in the lzma_block structure. Note that it is OK to * increase the calculated header_size value as long as it is a multiple of * four and doesn't exceed LZMA_BLOCK_HEADER_SIZE_MAX. Increasing header_size * just means that lzma_block_header_encode() will add Header Padding. * * \return - LZMA_OK: Size calculated successfully and stored to * block->header_size. * - LZMA_OPTIONS_ERROR: Unsupported version, filters or * filter options. * - LZMA_PROG_ERROR: Invalid values like compressed_size == 0. * * \note This doesn't check that all the options are valid i.e. this * may return LZMA_OK even if lzma_block_header_encode() or * lzma_block_encoder() would fail. If you want to validate the * filter chain, consider using lzma_memlimit_encoder() which as * a side-effect validates the filter chain. */ extern LZMA_API(lzma_ret) lzma_block_header_size(lzma_block *block) lzma_attr_warn_unused_result; /** * \brief Encode Block Header * * The caller must have calculated the size of the Block Header already with * lzma_block_header_size(). If larger value than the one calculated by * lzma_block_header_size() is used, the Block Header will be padded to the * specified size. * * \param out Beginning of the output buffer. This must be * at least block->header_size bytes. * \param block Block options to be encoded. * * \return - LZMA_OK: Encoding was successful. block->header_size * bytes were written to output buffer. * - LZMA_OPTIONS_ERROR: Invalid or unsupported options. * - LZMA_PROG_ERROR: Invalid arguments, for example * block->header_size is invalid or block->filters is NULL. */ extern LZMA_API(lzma_ret) lzma_block_header_encode( const lzma_block *block, uint8_t *out) lzma_attr_warn_unused_result; /** * \brief Decode Block Header * * The size of the Block Header must have already been decoded with * lzma_block_header_size_decode() macro and stored to block->header_size. * block->filters must have been allocated, but not necessarily initialized. * Possible existing filter options are _not_ freed. * * \param block Destination for block options with header_size * properly initialized. * \param allocator lzma_allocator for custom allocator functions. * Set to NULL to use malloc() (and also free() * if an error occurs). * \param in Beginning of the input buffer. This must be * at least block->header_size bytes. * * \return - LZMA_OK: Decoding was successful. block->header_size * bytes were read from the input buffer. * - LZMA_OPTIONS_ERROR: The Block Header specifies some * unsupported options such as unsupported filters. * - LZMA_DATA_ERROR: Block Header is corrupt, for example, * the CRC32 doesn't match. * - LZMA_PROG_ERROR: Invalid arguments, for example * block->header_size is invalid or block->filters is NULL. */ extern LZMA_API(lzma_ret) lzma_block_header_decode(lzma_block *block, lzma_allocator *allocator, const uint8_t *in) lzma_attr_warn_unused_result; /** * \brief Validate and set Compressed Size according to Unpadded Size * * Block Header stores Compressed Size, but Index has Unpadded Size. If the * application has already parsed the Index and is now decoding Blocks, * it can calculate Compressed Size from Unpadded Size. This function does * exactly that with error checking: * * - Compressed Size calculated from Unpadded Size must be positive integer, * that is, Unpadded Size must be big enough that after Block Header and * Check fields there's still at least one byte for Compressed Size. * * - If Compressed Size was present in Block Header, the new value * calculated from Unpadded Size is compared against the value * from Block Header. * * \note This function must be called _after_ decoding the Block Header * field so that it can properly validate Compressed Size if it * was present in Block Header. * * \return - LZMA_OK: block->compressed_size was set successfully. * - LZMA_DATA_ERROR: unpadded_size is too small compared to * block->header_size and lzma_check_size(block->check). * - LZMA_PROG_ERROR: Some values are invalid. For example, * block->header_size must be a multiple of four and * between 8 and 1024 inclusive. */ extern LZMA_API(lzma_ret) lzma_block_compressed_size( lzma_block *block, lzma_vli unpadded_size) lzma_attr_warn_unused_result; /** * \brief Calculate Unpadded Size * * The Index field stores Unpadded Size and Uncompressed Size. The latter * can be taken directly from the lzma_block structure after coding a Block, * but Unpadded Size needs to be calculated from Block Header Size, * Compressed Size, and size of the Check field. This is where this function * is needed. * * \return Unpadded Size on success, or zero on error. */ extern LZMA_API(lzma_vli) lzma_block_unpadded_size(const lzma_block *block) lzma_attr_pure; /** * \brief Calculate the total encoded size of a Block * * This is equivalent to lzma_block_unpadded_size() except that the returned * value includes the size of the Block Padding field. * * \return On success, total encoded size of the Block. On error, * zero is returned. */ extern LZMA_API(lzma_vli) lzma_block_total_size(const lzma_block *block) lzma_attr_pure; /** * \brief Initialize .xz Block encoder * * Valid actions for lzma_code() are LZMA_RUN, LZMA_SYNC_FLUSH (only if the * filter chain supports it), and LZMA_FINISH. * * \return - LZMA_OK: All good, continue with lzma_code(). * - LZMA_MEM_ERROR * - LZMA_OPTIONS_ERROR * - LZMA_UNSUPPORTED_CHECK: block->check specfies a Check ID * that is not supported by this buid of liblzma. Initializing * the encoder failed. * - LZMA_PROG_ERROR */ extern LZMA_API(lzma_ret) lzma_block_encoder( lzma_stream *strm, lzma_block *block) lzma_attr_warn_unused_result; /** * \brief Initialize .xz Block decoder * * Valid actions for lzma_code() are LZMA_RUN and LZMA_FINISH. Using * LZMA_FINISH is not required. It is supported only for convenience. * * \return - LZMA_OK: All good, continue with lzma_code(). * - LZMA_UNSUPPORTED_CHECK: Initialization was successful, but * the given Check ID is not supported, thus Check will be * ignored. * - LZMA_PROG_ERROR * - LZMA_MEM_ERROR */ extern LZMA_API(lzma_ret) lzma_block_decoder( lzma_stream *strm, lzma_block *block) lzma_attr_warn_unused_result; /** * \brief Calculate maximum output buffer size for single-call encoding * * This is equivalent to lzma_stream_buffer_bound() but for .xz Blocks. * See the documentation of lzma_stream_buffer_bound(). */ extern LZMA_API(size_t) lzma_block_buffer_bound(size_t uncompressed_size); /** * \brief Single-call .xz Block encoder * * In contrast to the multi-call encoder initialized with * lzma_block_encoder(), this function encodes also the Block Header. This * is required to make it possible to write appropriate Block Header also * in case the data isn't compressible, and different filter chain has to be * used to encode the data in uncompressed form using uncompressed chunks * of the LZMA2 filter. * * When the data isn't compressible, header_size, compressed_size, and * uncompressed_size are set just like when the data was compressible, but * it is possible that header_size is too small to hold the filter chain * specified in block->filters, because that isn't necessarily the filter * chain that was actually used to encode the data. lzma_block_unpadded_size() * still works normally, because it doesn't read the filters array. * * \param block Block options: block->version, block->check, * and block->filters must be initialized. * \param allocator lzma_allocator for custom allocator functions. * Set to NULL to use malloc() and free(). * \param in Beginning of the input buffer * \param in_size Size of the input buffer * \param out Beginning of the output buffer * \param out_pos The next byte will be written to out[*out_pos]. * *out_pos is updated only if encoding succeeds. * \param out_size Size of the out buffer; the first byte into * which no data is written to is out[out_size]. * * \return - LZMA_OK: Encoding was successful. * - LZMA_BUF_ERROR: Not enough output buffer space. * - LZMA_OPTIONS_ERROR * - LZMA_MEM_ERROR * - LZMA_DATA_ERROR * - LZMA_PROG_ERROR */ extern LZMA_API(lzma_ret) lzma_block_buffer_encode( lzma_block *block, lzma_allocator *allocator, const uint8_t *in, size_t in_size, uint8_t *out, size_t *out_pos, size_t out_size) lzma_attr_warn_unused_result; /** * \brief Single-call .xz Block decoder * * This is single-call equivalent of lzma_block_decoder(), and requires that * the caller has already decoded Block Header and checked its memory usage. * * \param block Block options just like with lzma_block_decoder(). * \param allocator lzma_allocator for custom allocator functions. * Set to NULL to use malloc() and free(). * \param in Beginning of the input buffer * \param in_pos The next byte will be read from in[*in_pos]. * *in_pos is updated only if decoding succeeds. * \param in_size Size of the input buffer; the first byte that * won't be read is in[in_size]. * \param out Beginning of the output buffer * \param out_pos The next byte will be written to out[*out_pos]. * *out_pos is updated only if encoding succeeds. * \param out_size Size of the out buffer; the first byte into * which no data is written to is out[out_size]. * * \return - LZMA_OK: Decoding was successful. * - LZMA_OPTIONS_ERROR * - LZMA_DATA_ERROR * - LZMA_MEM_ERROR * - LZMA_BUF_ERROR: Output buffer was too small. * - LZMA_PROG_ERROR */ extern LZMA_API(lzma_ret) lzma_block_buffer_decode( lzma_block *block, lzma_allocator *allocator, const uint8_t *in, size_t *in_pos, size_t in_size, uint8_t *out, size_t *out_pos, size_t out_size); unpackager-dragNdrop-1-i486-slxr/usr/include/lzma/bcj.h0000644000000000000000000000575711166766710021565 0ustar rootroot/** * \file lzma/bcj.h * \brief Branch/Call/Jump conversion filters * * \author Copyright (C) 1999-2006 Igor Pavlov * \author Copyright (C) 2007 Lasse Collin * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. */ #ifndef LZMA_H_INTERNAL # error Never include this file directly. Use instead. #endif /* Filter IDs for lzma_filter.id */ #define LZMA_FILTER_X86 LZMA_VLI_C(0x04) /**< * Filter for x86 binaries */ #define LZMA_FILTER_POWERPC LZMA_VLI_C(0x05) /**< * Filter for Big endian PowerPC binaries */ #define LZMA_FILTER_IA64 LZMA_VLI_C(0x06) /**< * Filter for IA64 (Itanium) binaries. */ #define LZMA_FILTER_ARM LZMA_VLI_C(0x07) /**< * Filter for ARM binaries. */ #define LZMA_FILTER_ARMTHUMB LZMA_VLI_C(0x08) /**< * Filter for ARMThumb binaries. */ #define LZMA_FILTER_SPARC LZMA_VLI_C(0x09) /**< * Filter for SPARC binaries. */ /** * \brief Options for BCJ filters * * The BCJ filters never change the size of the data. Specifying options * for them is optional: if pointer to options is NULL, default value is * used. You probably never need to specify options to BCJ filters, so just * set the options pointer to NULL and be happy. * * If options with non-default values have been specified when encoding, * the same options must also be specified when decoding. * * \note At the moment, none of the BCJ filters support * LZMA_SYNC_FLUSH. If LZMA_SYNC_FLUSH is specified, * LZMA_OPTIONS_ERROR will be returned. If there is need, * partial support for LZMA_SYNC_FLUSH can be added in future. * Partial means that flushing would be possible only at * offsets that are multiple of 2, 4, or 16 depending on * the filter, except x86 which cannot be made to support * LZMA_SYNC_FLUSH predictably. */ typedef struct { /** * \brief Start offset for conversions * * This setting is useful only when the same filter is used * _separately_ for multiple sections of the same executable file, * and the sections contain cross-section branch/call/jump * instructions. In that case it is benefical to set the start * offset of the non-first sections so that the relative addresses * of the cross-section branch/call/jump instructions will use the * same absolute addresses as in the first section. * * When the pointer to options is NULL, the default value (zero) * is used. */ uint32_t start_offset; } lzma_options_bcj; unpackager-dragNdrop-1-i486-slxr/usr/include/lzma/container.h0000644000000000000000000003521411166766710023000 0ustar rootroot/** * \file lzma/container.h * \brief File formats * * \author Copyright (C) 1999-2008 Igor Pavlov * \author Copyright (C) 2007-2008 Lasse Collin * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. */ #ifndef LZMA_H_INTERNAL # error Never include this file directly. Use instead. #endif /************ * Encoding * ************/ /** * \brief Default compression preset * * It's not straightforward to recommend a default preset, because in some * cases keeping the resource usage relatively low is more important that * getting the maximum compression ratio. */ #define LZMA_PRESET_DEFAULT UINT32_C(6) /** * \brief Mask for preset level * * This is useful only if you need to extract the level from the preset * variable. That should be rare. */ #define LZMA_PRESET_LEVEL_MASK UINT32_C(0x1F) /* * Preset flags * * Currently only one flag is defined. */ /** * \brief Extreme compression preset * * This flag modifies the preset to make the encoding significantly slower * while improving the compression ratio only marginally. This is useful * when you don't mind wasting time to get as small result as possible. * * This flag doesn't affect the memory usage requirements of the decoder (at * least not significantly). The memory usage of the encoder may be increased * a little but only at the lowest preset levels (0-4 or so). */ #define LZMA_PRESET_EXTREME (UINT32_C(1) << 31) /** * \brief Calculate rough memory usage of easy encoder * * This function is a wrapper for lzma_raw_encoder_memusage(). * * \param preset Compression preset (level and possible flags) */ extern LZMA_API(uint64_t) lzma_easy_encoder_memusage(uint32_t preset) lzma_attr_pure; /** * \brief Calculate rough decoder memory usage of a preset * * This function is a wrapper for lzma_raw_decoder_memusage(). * * \param preset Compression preset (level and possible flags) */ extern LZMA_API(uint64_t) lzma_easy_decoder_memusage(uint32_t preset) lzma_attr_pure; /** * \brief Initialize .xz Stream encoder using a preset number * * This function is intended for those who just want to use the basic features * if liblzma (that is, most developers out there). * * \param strm Pointer to lzma_stream that is at least initialized * with LZMA_STREAM_INIT. * \param preset Compression preset to use. A preset consist of level * number and zero or more flags. Usually flags aren't * used, so preset is simply a number [0, 9] which match * the options -0 .. -9 of the xz command line tool. * Additional flags can be be set using bitwise-or with * the preset level number, e.g. 6 | LZMA_PRESET_EXTREME. * \param check Integrity check type to use. See check.h for available * checks. If you are unsure, use LZMA_CHECK_CRC32. * * \return - LZMA_OK: Initialization succeeded. Use lzma_code() to * encode your data. * - LZMA_MEM_ERROR: Memory allocation failed. All memory * previously allocated for *strm is now freed. * - LZMA_OPTIONS_ERROR: The given compression level is not * supported by this build of liblzma. * - LZMA_UNSUPPORTED_CHECK: The given check type is not * supported by this liblzma build. * - LZMA_PROG_ERROR: One or more of the parameters have values * that will never be valid. For example, strm == NULL. * * If initialization succeeds, use lzma_code() to do the actual encoding. * Valid values for `action' (the second argument of lzma_code()) are * LZMA_RUN, LZMA_SYNC_FLUSH, LZMA_FULL_FLUSH, and LZMA_FINISH. In future, * there may be compression levels or flags that don't support LZMA_SYNC_FLUSH. */ extern LZMA_API(lzma_ret) lzma_easy_encoder( lzma_stream *strm, uint32_t preset, lzma_check check) lzma_attr_warn_unused_result; /** * \brief Initialize .xz Stream encoder using a custom filter chain * * \param strm Pointer to properly prepared lzma_stream * \param filters Array of filters. This must be terminated with * filters[n].id = LZMA_VLI_UNKNOWN. See filter.h for * more information. * \param check Type of the integrity check to calculate from * uncompressed data. * * \return - LZMA_OK: Initialization was successful. * - LZMA_MEM_ERROR * - LZMA_OPTIONS_ERROR * - LZMA_PROG_ERROR */ extern LZMA_API(lzma_ret) lzma_stream_encoder(lzma_stream *strm, const lzma_filter *filters, lzma_check check) lzma_attr_warn_unused_result; /** * \brief Initialize .lzma encoder (legacy file format) * * The .lzma format is sometimes called the LZMA_Alone format, which is the * reason for the name of this function. The .lzma format supports only the * LZMA1 filter. There is no support for integrity checks like CRC32. * * Use this function if and only if you need to create files readable by * legacy LZMA tools such as LZMA Utils 4.32.x. Moving to the .xz format * is strongly recommended. * * The valid action values for lzma_code() are LZMA_RUN and LZMA_FINISH. * No kind of flushing is supported, because the file format doesn't make * it possible. * * \return - LZMA_OK * - LZMA_MEM_ERROR * - LZMA_OPTIONS_ERROR * - LZMA_PROG_ERROR */ extern LZMA_API(lzma_ret) lzma_alone_encoder( lzma_stream *strm, const lzma_options_lzma *options) lzma_attr_warn_unused_result; /** * \brief Calculate output buffer size for single-call Stream encoder * * When trying to compress uncompressible data, the encoded size will be * slightly bigger than the input data. This function calculates how much * output buffer space is required to be sure that lzma_stream_buffer_encode() * doesn't return LZMA_BUF_ERROR. * * The calculated value is not exact, but it is guaranteed to be big enough. * The actual maximum output space required may be slightly smaller (up to * about 100 bytes). This should not be a problem in practice. * * If the calculated maximum size doesn't fit into size_t or would make the * Stream grow past LZMA_VLI_MAX (which should never happen in practice), * zero is returned to indicate the error. * * \note The limit calculated by this function applies only to * single-call encoding. Multi-call encoding may (and probably * will) have larger maximum expansion when encoding * uncompressible data. Currently there is no function to * calculate the maximum expansion of multi-call encoding. */ extern LZMA_API(size_t) lzma_stream_buffer_bound(size_t uncompressed_size); /** * \brief Single-call Stream encoder * * \param filters Array of filters. This must be terminated with * filters[n].id = LZMA_VLI_UNKNOWN. See filter.h * for more information. * \param check Type of the integrity check to calculate from * uncompressed data. * \param allocator lzma_allocator for custom allocator functions. * Set to NULL to use malloc() and free(). * \param in Beginning of the input buffer * \param in_size Size of the input buffer * \param out Beginning of the output buffer * \param out_pos The next byte will be written to out[*out_pos]. * *out_pos is updated only if encoding succeeds. * \param out_size Size of the out buffer; the first byte into * which no data is written to is out[out_size]. * * \return - LZMA_OK: Encoding was successful. * - LZMA_BUF_ERROR: Not enough output buffer space. * - LZMA_OPTIONS_ERROR * - LZMA_MEM_ERROR * - LZMA_DATA_ERROR * - LZMA_PROG_ERROR */ extern LZMA_API(lzma_ret) lzma_stream_buffer_encode( lzma_filter *filters, lzma_check check, lzma_allocator *allocator, const uint8_t *in, size_t in_size, uint8_t *out, size_t *out_pos, size_t out_size) lzma_attr_warn_unused_result; /************ * Decoding * ************/ /** * This flag makes lzma_code() return LZMA_NO_CHECK if the input stream * being decoded has no integrity check. Note that when used with * lzma_auto_decoder(), all .lzma files will trigger LZMA_NO_CHECK * if LZMA_TELL_NO_CHECK is used. */ #define LZMA_TELL_NO_CHECK UINT32_C(0x01) /** * This flag makes lzma_code() return LZMA_UNSUPPORTED_CHECK if the input * stream has an integrity check, but the type of the integrity check is not * supported by this liblzma version or build. Such files can still be * decoded, but the integrity check cannot be verified. */ #define LZMA_TELL_UNSUPPORTED_CHECK UINT32_C(0x02) /** * This flag makes lzma_code() return LZMA_GET_CHECK as soon as the type * of the integrity check is known. The type can then be got with * lzma_get_check(). */ #define LZMA_TELL_ANY_CHECK UINT32_C(0x04) /** * This flag enables decoding of concatenated files with file formats that * allow concatenating compressed files as is. From the formats currently * supported by liblzma, only the .xz format allows concatenated files. * Concatenated files are not allowed with the legacy .lzma format. * * This flag also affects the usage of the `action' argument for lzma_code(). * When LZMA_CONCATENATED is used, lzma_code() won't return LZMA_STREAM_END * unless LZMA_FINISH is used as `action'. Thus, the application has to set * LZMA_FINISH in the same way as it does when encoding. * * If LZMA_CONCATENATED is not used, the decoders still accept LZMA_FINISH * as `action' for lzma_code(), but the usage of LZMA_FINISH isn't required. */ #define LZMA_CONCATENATED UINT32_C(0x08) /** * \brief Initialize .xz Stream decoder * * \param strm Pointer to properly prepared lzma_stream * \param memlimit Rough memory usage limit as bytes * \param flags Bitwise-or of zero or more of the decoder flags: * LZMA_TELL_NO_CHECK, LZMA_TELL_UNSUPPORTED_CHECK, * LZMA_TELL_ANY_CHECK, LZMA_CONCATENATED * * \return - LZMA_OK: Initialization was successful. * - LZMA_MEM_ERROR: Cannot allocate memory. * - LZMA_OPTIONS_ERROR: Unsupported flags */ extern LZMA_API(lzma_ret) lzma_stream_decoder( lzma_stream *strm, uint64_t memlimit, uint32_t flags) lzma_attr_warn_unused_result; /** * \brief Decode .xz Streams and .lzma files with autodetection * * This decoder autodetects between the .xz and .lzma file formats, and * calls lzma_stream_decoder() or lzma_alone_decoder() once the type * of the input file has been detected. * * \param strm Pointer to properly prepared lzma_stream * \param memlimit Rough memory usage limit as bytes * \param flags Bitwise-or of flags, or zero for no flags. * * \return - LZMA_OK: Initialization was successful. * - LZMA_MEM_ERROR: Cannot allocate memory. * - LZMA_OPTIONS_ERROR: Unsupported flags */ extern LZMA_API(lzma_ret) lzma_auto_decoder( lzma_stream *strm, uint64_t memlimit, uint32_t flags) lzma_attr_warn_unused_result; /** * \brief Initialize .lzma decoder (legacy file format) * * Valid `action' arguments to lzma_code() are LZMA_RUN and LZMA_FINISH. * There is no need to use LZMA_FINISH, but allowing it may simplify * certain types of applications. * * \return - LZMA_OK * - LZMA_MEM_ERROR */ extern LZMA_API(lzma_ret) lzma_alone_decoder( lzma_stream *strm, uint64_t memlimit) lzma_attr_warn_unused_result; /** * \brief Single-call .xz Stream decoder * * \param memlimit Pointer to how much memory the decoder is allowed * to allocate. The value pointed by this pointer is * modified if and only if LZMA_MEMLIMIT_ERROR is * returned. * \param flags Bitwise-or of zero or more of the decoder flags: * LZMA_TELL_NO_CHECK, LZMA_TELL_UNSUPPORTED_CHECK, * LZMA_CONCATENATED. Note that LZMA_TELL_ANY_CHECK * is not allowed and will return LZMA_PROG_ERROR. * \param allocator lzma_allocator for custom allocator functions. * Set to NULL to use malloc() and free(). * \param in Beginning of the input buffer * \param in_pos The next byte will be read from in[*in_pos]. * *in_pos is updated only if decoding succeeds. * \param in_size Size of the input buffer; the first byte that * won't be read is in[in_size]. * \param out Beginning of the output buffer * \param out_pos The next byte will be written to out[*out_pos]. * *out_pos is updated only if encoding succeeds. * \param out_size Size of the out buffer; the first byte into * which no data is written to is out[out_size]. * * \return - LZMA_OK: Decoding was successful. * - LZMA_FORMAT_ERROR * - LZMA_OPTIONS_ERROR * - LZMA_DATA_ERROR * - LZMA_NO_CHECK: This can be returned only if using * the LZMA_TELL_NO_CHECK flag. * - LZMA_UNSUPPORTED_CHECK: This can be returned only if using * the LZMA_TELL_UNSUPPORTED_CHECK flag. * - LZMA_MEM_ERROR * - LZMA_MEMLIMIT_ERROR: Memory usage limit was reached. * The minimum required memlimit value was stored to *memlimit. * - LZMA_BUF_ERROR: Output buffer was too small. * - LZMA_PROG_ERROR */ extern LZMA_API(lzma_ret) lzma_stream_buffer_decode( uint64_t *memlimit, uint32_t flags, lzma_allocator *allocator, const uint8_t *in, size_t *in_pos, size_t in_size, uint8_t *out, size_t *out_pos, size_t out_size) lzma_attr_warn_unused_result; unpackager-dragNdrop-1-i486-slxr/usr/include/lzma/version.h0000644000000000000000000000366411166766710022507 0ustar rootroot/** * \file lzma/version.h * \brief Version number * * \author Copyright (C) 1999-2006 Igor Pavlov * \author Copyright (C) 2007 Lasse Collin * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. */ #ifndef LZMA_H_INTERNAL # error Never include this file directly. Use instead. #endif /** * \brief Compile-time version number * * The version number is of format xyyyzzzs where * - x = major * - yyy = minor * - zzz = revision * - s indicates stability: 0 = alpha, 1 = beta, 2 = stable * * The same xyyyzzz triplet is never reused with different stability levels. * For example, if 5.1.0alpha has been released, there will never be 5.1.0beta * or 5.1.0 stable. * * \note The version number of liblzma has nothing to with * the version number of Igor Pavlov's LZMA SDK. */ #define LZMA_VERSION UINT32_C(49990081) /** * \brief liblzma version number as an integer * * Returns the value of LZMA_VERSION macro at the compile time of liblzma. * This allows the application to compare if it was built against the same, * older, or newer version of liblzma that is currently running. */ extern LZMA_API(uint32_t) lzma_version_number(void) lzma_attr_const; /** * \brief Version number of liblzma as a string * * This function may be useful if you want to display which version of * liblzma your application is currently using. */ extern LZMA_API(const char *) lzma_version_string(void) lzma_attr_const; unpackager-dragNdrop-1-i486-slxr/usr/include/lzma/base.h0000644000000000000000000005356111166766710021735 0ustar rootroot/** * \file lzma/base.h * \brief Data types and functions used in many places of the public API * * \author Copyright (C) 1999-2006 Igor Pavlov * \author Copyright (C) 2007 Lasse Collin * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. */ #ifndef LZMA_H_INTERNAL # error Never include this file directly. Use instead. #endif /** * \brief Boolean * * This is here because C89 doesn't have stdbool.h. To set a value for * variables having type lzma_bool, you can use * - C99's `true' and `false' from stdbool.h; * - C++'s internal `true' and `false'; or * - integers one (true) and zero (false). */ typedef unsigned char lzma_bool; /** * \brief Type of reserved enumeration variable in structures * * To avoid breaking library ABI when new features are added, several * structures contain extra variables that may be used in future. Since * sizeof(enum) can be different than sizeof(int), and sizeof(enum) may * even vary depending on the range of enumeration constants, we specify * a separate type to be used for reserved enumeration variables. All * enumeration constants in liblzma API will be non-negative and less * than 128, which should guarantee that the ABI won't break even when * new constants are added to existing enumerations. */ typedef enum { LZMA_RESERVED_ENUM = 0 } lzma_reserved_enum; /** * \brief Return values used by several functions in liblzma * * Check the descriptions of specific functions to find out which return * values they can return. With some functions the return values may have * more specific meanings than described here; those differences are * described per-function basis. */ typedef enum { LZMA_OK = 0, /**< * \brief Operation completed successfully */ LZMA_STREAM_END = 1, /**< * \brief End of stream was reached * * In encoder, LZMA_SYNC_FLUSH, LZMA_FULL_FLUSH, or * LZMA_FINISH was finished. In decoder, this indicates * that all the data was successfully decoded. * * In all cases, when LZMA_STREAM_END is returned, the last * output bytes should be picked from strm->next_out. */ LZMA_NO_CHECK = 2, /**< * \brief Input stream has no integrity check * * This return value can be returned only if the * LZMA_TELL_NO_CHECK flag was used when initializing * the decoder. LZMA_NO_CHECK is just a warning, and * the decoding can be continued normally. * * It is possible to call lzma_get_check() immediatelly after * lzma_code has returned LZMA_NO_CHECK. The result will * naturally be LZMA_CHECK_NONE, but the possibility to call * lzma_get_check() may be convenient in some applications. */ LZMA_UNSUPPORTED_CHECK = 3, /**< * \brief Cannot calculate the integrity check * * The usage of this return value is different in encoders * and decoders. * * Encoders can return this value only from the initialization * function. If initialization fails with this value, the * encoding cannot be done, because there's no way to produce * output with the correct integrity check. * * Decoders can return this value only from lzma_code() and * only if the LZMA_TELL_UNSUPPORTED_CHECK flag was used when * initializing the decoder. The decoding can still be * continued normally even if the check type is unsupported, * but naturally the check will not be validated, and possible * errors may go undetected. * * With decoder, it is possible to call lzma_get_check() * immediatelly after lzma_code() has returned * LZMA_UNSUPPORTED_CHECK. This way it is possible to find * out what the unsupported Check ID was. */ LZMA_GET_CHECK = 4, /**< * \brief Integrity check type is now available * * This value can be returned only by the lzma_code() function * and only if the decoder was initialized with the * LZMA_TELL_ANY_CHECK flag. LZMA_GET_CHECK tells the * application that it may now call lzma_get_check() to find * out the Check ID. This can be used, for example, to * implement a decoder that accepts only files that have * strong enough integrity check. */ LZMA_MEM_ERROR = 5, /**< * \brief Cannot allocate memory * * Memory allocation failed, or the size of the allocation * would be greater than SIZE_MAX. * * Due to internal implementation reasons, the coding cannot * be continued even if more memory were made available after * LZMA_MEM_ERROR. */ LZMA_MEMLIMIT_ERROR = 6, /** * \brief Memory usage limit was reached * * Decoder would need more memory than allowed by the * specified memory usage limit. To continue decoding, * the memory usage limit has to be increased with * lzma_memlimit(). */ LZMA_FORMAT_ERROR = 7, /**< * \brief File format not recognized * * The decoder did not recognize the input as supported file * format. This error can occur, for example, when trying to * decode .lzma format file with lzma_stream_decoder, * because lzma_stream_decoder accepts only the .xz format. */ LZMA_OPTIONS_ERROR = 8, /**< * \brief Invalid or unsupported options * * Invalid or unsupported options, for example * - unsupported filter(s) or filter options; or * - reserved bits set in headers (decoder only). * * Rebuilding liblzma with more features enabled, or * upgrading to a newer version of liblzma may help. */ LZMA_DATA_ERROR = 9, /**< * \brief Data is corrupt * * The usage of this return value is different in encoders * and decoders. In both encoder and decoder, the coding * cannot continue after this error. * * Encoders return this if size limits of the target file * format would be exceeded. These limits are huge, thus * getting this error from an encoder is mostly theoretical. * For example, the maximum compressed and uncompressed * size of a .xz Stream created with lzma_stream_encoder is * 2^63 - 1 bytes (one byte less than 8 EiB). * * Decoders return this error if the input data is corrupt. * This can mean, for example, invalid CRC32 in headers * or invalid check of uncompressed data. */ LZMA_BUF_ERROR = 10, /**< * \brief No progress is possible * * This error code is returned when the coder cannot consume * any new input and produce any new output. The most common * reason for this error is that the input stream being * decoded is truncated or corrupt. * * This error is not fatal. Coding can be continued normally * by providing more input and/or more output space, if * possible. * * Typically the first call to lzma_code() that can do no * progress returns LZMA_OK instead of LZMA_BUF_ERROR. Only * the second consecutive call doing no progress will return * LZMA_BUF_ERROR. This is intentional. * * With zlib, Z_BUF_ERROR may be returned even if the * application is doing nothing wrong. The above hack * guarantees that liblzma never returns LZMA_BUF_ERROR * to properly written applications unless the input file * is truncated or corrupt. This should simplify the * applications a little. */ LZMA_PROG_ERROR = 11, /**< * \brief Programming error * * This indicates that the arguments given to the function are * invalid or the internal state of the decoder is corrupt. * - Function arguments are invalid or the structures * pointed by the argument pointers are invalid * e.g. if strm->next_out has been set to NULL and * strm->avail_out > 0 when calling lzma_code(). * - lzma_* functions have been called in wrong order * e.g. lzma_code() was called right after lzma_end(). * - If errors occur randomly, the reason might be flaky * hardware. * * If you think that your code is correct, this error code * can be a sign of a bug in liblzma. See the documentation * how to report bugs. */ } lzma_ret; /** * \brief The `action' argument for lzma_code() * * After the first use of LZMA_SYNC_FLUSH, LZMA_FULL_FLUSH, or LZMA_FINISH, * the same `action' must is used until lzma_code() returns LZMA_STREAM_END. * Also, the amount of input (that is, strm->avail_in) must not be modified * by the application until lzma_code() returns LZMA_STREAM_END. Changing the * `action' or modifying the amount of input will make lzma_code() return * LZMA_PROG_ERROR. */ typedef enum { LZMA_RUN = 0, /**< * \brief Continue coding * * Encoder: Encode as much input as possible. Some internal * buffering will probably be done (depends on the filter * chain in use), which causes latency: the input used won't * usually be decodeable from the output of the same * lzma_code() call. * * Decoder: Decode as much input as possible and produce as * much output as possible. */ LZMA_SYNC_FLUSH = 1, /**< * \brief Make all the input available at output * * Normally the encoder introduces some latency. * LZMA_SYNC_FLUSH forces all the buffered data to be * available at output without resetting the internal * state of the encoder. This way it is possible to use * compressed stream for example for communication over * network. * * Only some filters support LZMA_SYNC_FLUSH. Trying to use * LZMA_SYNC_FLUSH with filters that don't support it will * make lzma_code() return LZMA_OPTIONS_ERROR. For example, * LZMA1 doesn't support LZMA_SYNC_FLUSH but LZMA2 does. * * Using LZMA_SYNC_FLUSH very often can dramatically reduce * the compression ratio. With some filters (for example, * LZMA2), finetuning the compression options may help * mitigate this problem significantly. * * Decoders don't support LZMA_SYNC_FLUSH. */ LZMA_FULL_FLUSH = 2, /**< * \brief Make all the input available at output * * Finish encoding of the current Block. All the input * data going to the current Block must have been given * to the encoder (the last bytes can still be pending in * next_in). Call lzma_code() with LZMA_FULL_FLUSH until * it returns LZMA_STREAM_END. Then continue normally with * LZMA_RUN or finish the Stream with LZMA_FINISH. * * This action is currently supported only by Stream encoder * and easy encoder (which uses Stream encoder). If there is * no unfinished Block, no empty Block is created. */ LZMA_FINISH = 3 /**< * \brief Finish the coding operation * * Finishes the coding operation. All the input data must * have been given to the encoder (the last bytes can still * be pending in next_in). Call lzma_code() with LZMA_FINISH * until it returns LZMA_STREAM_END. Once LZMA_FINISH has * been used, the amount of input must no longer be changed * by the application. * * When decoding, using LZMA_FINISH is optional unless the * LZMA_CONCATENATED flag was used when the decoder was * initialized. When LZMA_CONCATENATED was not used, the only * effect of LZMA_FINISH is that the amount of input must not * be changed just like in the encoder. */ } lzma_action; /** * \brief Custom functions for memory handling * * A pointer to lzma_allocator may be passed via lzma_stream structure * to liblzma, and some advanced functions take a pointer to lzma_allocator * as a separate function argument. The library will use the functions * specified in lzma_allocator for memory handling instead of the default * malloc() and free(). * * liblzma doesn't make an internal copy of lzma_allocator. Thus, it is * OK to change these function pointers in the middle of the coding * process, but obviously it must be done carefully to make sure that the * replacement `free' can deallocate memory allocated by the earlier * `alloc' function(s). */ typedef struct { /** * \brief Pointer to a custom memory allocation function * * If you don't want a custom allocator, but still want * custom free(), set this to NULL and liblzma will use * the standard malloc(). * * \param opaque lzma_allocator.opaque (see below) * \param nmemb Number of elements like in calloc(). liblzma * will always set nmemb to 1, so it is safe to * ignore nmemb in a custom allocator if you like. * The nmemb argument exists only for * compatibility with zlib and libbzip2. * \param size Size of an element in bytes. * liblzma never sets this to zero. * * \return Pointer to the beginning of a memory block of * `size' bytes, or NULL if allocation fails * for some reason. When allocation fails, functions * of liblzma return LZMA_MEM_ERROR. * * For performance reasons, the allocator should not waste time * zeroing the allocated buffers. This is not only about speed, but * also memory usage, since the operating system kernel doesn't * necessarily allocate the requested memory in physical memory until * it is actually used. With small input files liblzma may actually * need only a fraction of the memory that it requested for allocation. * * \note LZMA_MEM_ERROR is also used when the size of the * allocation would be greater than SIZE_MAX. Thus, * don't assume that the custom allocator must have * returned NULL if some function from liblzma * returns LZMA_MEM_ERROR. */ void *(LZMA_API_CALL *alloc)(void *opaque, size_t nmemb, size_t size); /** * \brief Pointer to a custom memory freeing function * * If you don't want a custom freeing function, but still * want a custom allocator, set this to NULL and liblzma * will use the standard free(). * * \param opaque lzma_allocator.opaque (see below) * \param ptr Pointer returned by lzma_allocator.alloc(), * or when it is set to NULL, a pointer returned * by the standard malloc(). */ void (LZMA_API_CALL *free)(void *opaque, void *ptr); /** * \brief Pointer passed to .alloc() and .free() * * opaque is passed as the first argument to lzma_allocator.alloc() * and lzma_allocator.free(). This intended to ease implementing * custom memory allocation functions for use with liblzma. * * If you don't need this, you should set this to NULL. */ void *opaque; } lzma_allocator; /** * \brief Internal data structure * * The contents of this structure is not visible outside the library. */ typedef struct lzma_internal_s lzma_internal; /** * \brief Passing data to and from liblzma * * The lzma_stream structure is used for * - passing pointers to input and output buffers to liblzma; * - defining custom memory hander functions; and * - holding a pointer to coder-specific internal data structures. * * Typical usage: * * - After allocating lzma_stream (on stack or with malloc()), it must be * initialized to LZMA_STREAM_INIT (see LZMA_STREAM_INIT for details). * * - Initialize a coder to the lzma_stream, for example by using * lzma_easy_encoder() or lzma_auto_decoder(). Some notes: * - In contrast to zlib, strm->next_in and strm->next_out are * ignored by all initialization functions, thus it is safe * to not initialize them yet. * - The initialization functions always set strm->total_in and * strm->total_out to zero. * - If the initialization function fails, no memory is left allocated * that would require freeing with lzma_end() even if some memory was * associated with the lzma_stream structure when the initialization * function was called. * * - Use lzma_code() to do the actual work. * * - Once the coding has been finished, the existing lzma_stream can be * reused. It is OK to reuse lzma_stream with different initialization * function without calling lzma_end() first. Old allocations are * automatically freed. * * - Finally, use lzma_end() to free the allocated memory. lzma_end() never * frees the lzma_stream structure itself. * * Application may modify the values of total_in and total_out as it wants. * They are updated by liblzma to match the amount of data read and * written, but aren't used for anything else. */ typedef struct { const uint8_t *next_in; /**< Pointer to the next input byte. */ size_t avail_in; /**< Number of available input bytes in next_in. */ uint64_t total_in; /**< Total number of bytes read by liblzma. */ uint8_t *next_out; /**< Pointer to the next output position. */ size_t avail_out; /**< Amount of free space in next_out. */ uint64_t total_out; /**< Total number of bytes written by liblzma. */ /** * Custom memory allocation functions. Set to NULL to use * the standard malloc() and free(). */ lzma_allocator *allocator; /** Internal state is not visible to applications. */ lzma_internal *internal; /* * Reserved space to allow possible future extensions without * breaking the ABI. Excluding the initialization of this structure, * you should not touch these, because the names of these variables * may change. */ void *reserved_ptr1; void *reserved_ptr2; uint64_t reserved_int1; uint64_t reserved_int2; lzma_reserved_enum reserved_enum1; lzma_reserved_enum reserved_enum2; } lzma_stream; /** * \brief Initialization for lzma_stream * * When you declare an instance of lzma_stream, you can immediatelly * initialize it so that initialization functions know that no memory * has been allocated yet: * * lzma_stream strm = LZMA_STREAM_INIT; * * If you need to initialize a dynamically allocated lzma_stream, you can use * memset(strm_pointer, 0, sizeof(lzma_stream)). Strictly speaking, this * violates the C standard since NULL may have different internal * representation than zero, but it should be portable enough in practice. * Anyway, for maximum portability, you can use something like this: * * lzma_stream tmp = LZMA_STREAM_INIT; * *strm = tmp; */ #define LZMA_STREAM_INIT \ { NULL, 0, 0, NULL, 0, 0, NULL, NULL, \ NULL, NULL, 0, 0, LZMA_RESERVED_ENUM, LZMA_RESERVED_ENUM } /** * \brief Encode or decode data * * Once the lzma_stream has been successfully initialized (e.g. with * lzma_stream_encoder()), the actual encoding or decoding is done * using this function. The application has to update strm->next_in, * strm->avail_in, strm->next_out, and strm->avail_out to pass input * to and get output from liblzma. * * See the description of the coder-specific initialization function to find * out what `action' values are supported by the coder. See documentation of * lzma_ret for the possible return values. */ extern LZMA_API(lzma_ret) lzma_code(lzma_stream *strm, lzma_action action) lzma_attr_warn_unused_result; /** * \brief Free memory allocated for the coder data structures * * \param strm Pointer to lzma_stream that is at least initialized * with LZMA_STREAM_INIT. * * After lzma_end(strm), strm->internal is guaranteed to be NULL. No other * members of the lzma_stream structure are touched. * * \note zlib indicates an error if application end()s unfinished * stream structure. liblzma doesn't do this, and assumes that * application knows what it is doing. */ extern LZMA_API(void) lzma_end(lzma_stream *strm); /** * \brief Get the memory usage of decoder filter chain * * This function is currently supported only when *strm has been initialized * with a function that takes a memlimit argument. With other functions, you * should use e.g. lzma_raw_encoder_memusage() or lzma_raw_decoder_memusage() * to estimate the memory requirements. * * This function is useful e.g. after LZMA_MEMLIMIT_ERROR to find out how big * the memory usage limit should have been to decode the input. Note that * this may give misleading information if decoding .xz Streams that have * multiple Blocks, because each Block can have different memory requirements. * * \return Rough estimate of how much memory is currently allocated * for the filter decoders. If no filter chain is currently * allocated, some non-zero value is still returned, which is * less than or equal to what any filter chain would indicate * as its memory requirement. * * If this function isn't supported by *strm or some other error * occurs, zero is returned. */ extern LZMA_API(uint64_t) lzma_memusage(const lzma_stream *strm); /** * \brief Get the current memory usage limit * * This function is supported only when *strm has been initialized with * a function that takes a memlimit argument. * * \return On success, the current memory usage limit is returned * (always non-zero). On error, zero is returned. */ extern LZMA_API(uint64_t) lzma_memlimit_get(const lzma_stream *strm); /** * \brief Set the memory usage limit * * This function is supported only when *strm has been initialized with * a function that takes a memlimit argument. * * \return - LZMA_OK: New memory usage limit successfully set. * - LZMA_MEMLIMIT_ERROR: The new limit is too small. * The limit was not changed. * - LZMA_PROG_ERROR: Invalid arguments, e.g. *strm doesn't * support memory usage limit or memlimit was zero. */ extern LZMA_API(lzma_ret) lzma_memlimit_set( lzma_stream *strm, uint64_t memlimit); unpackager-dragNdrop-1-i486-slxr/usr/include/lzma/filter.h0000644000000000000000000003145511166766710022306 0ustar rootroot/** * \file lzma/filter.h * \brief Common filter related types * * \author Copyright (C) 1999-2006 Igor Pavlov * \author Copyright (C) 2007 Lasse Collin * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. */ #ifndef LZMA_H_INTERNAL # error Never include this file directly. Use instead. #endif /** * \brief Maximum number of filters in a chain * * A filter chain can have 1-4 filters, of which three are allowed to change * the size of the data. Usually only one or two filters are needed. */ #define LZMA_FILTERS_MAX 4 /** * \brief Filter options * * This structure is used to pass Filter ID and a pointer filter's options * to liblzma. An array of lzma_filter structures is used to define a filter * chain. * * A filter chain is indicated with an array of lzma_filter structures. * The array is terminated with .id = LZMA_VLI_UNKNOWN. Thus, the filter array * must have LZMA_FILTERS_MAX + 1 elements (that is, five) to be able to hold * any arbitrary filter chain. This is important when using * lzma_block_header_decode() from block.h, because too small array would * make liblzma write past the end of the filters array. */ typedef struct { /** * \brief Filter ID * * Use constants whose name begin with `LZMA_FILTER_' to specify * different filters. In an array of lzma_filter structures, use * LZMA_VLI_UNKNOWN to indicate end of filters. */ lzma_vli id; /** * \brief Pointer to filter-specific options structure * * If the filter doesn't need options, set this to NULL. If id is * set to LZMA_VLI_UNKNOWN, options is ignored, and thus * doesn't need be initialized. * * Some filters support changing the options in the middle of * the encoding process. These filters store the pointer of the * options structure and communicate with the application via * modifications of the options structure. */ void *options; } lzma_filter; /** * \brief Test if the given Filter ID is supported for encoding * * Returns true if the give Filter ID is supported for encoding by this * liblzma build. Otherwise false is returned. * * There is no way to list which filters are available in this particular * liblzma version and build. It would be useless, because the application * couldn't know what kind of options the filter would need. */ extern LZMA_API(lzma_bool) lzma_filter_encoder_is_supported(lzma_vli id); /** * \brief Test if the given Filter ID is supported for decoding * * Returns true if the give Filter ID is supported for decoding by this * liblzma build. Otherwise false is returned. */ extern LZMA_API(lzma_bool) lzma_filter_decoder_is_supported(lzma_vli id); /** * \brief Calculate rough memory requirements for raw encoder * * \param filters Array of filters terminated with * .id == LZMA_VLI_UNKNOWN. * * \return Rough number of bytes required for the given filter chain * when encoding. */ extern LZMA_API(uint64_t) lzma_raw_encoder_memusage(const lzma_filter *filters) lzma_attr_pure; /** * \brief Calculate rough memory requirements for raw decoder * * \param filters Array of filters terminated with * .id == LZMA_VLI_UNKNOWN. * * \return Rough number of bytes required for the given filter chain * when decoding. */ extern LZMA_API(uint64_t) lzma_raw_decoder_memusage(const lzma_filter *filters) lzma_attr_pure; /** * \brief Initialize raw encoder * * This function may be useful when implementing custom file formats. * * \param strm Pointer to properly prepared lzma_stream * \param filters Array of lzma_filter structures. * The end of the array must be marked with * .id = LZMA_VLI_UNKNOWN. The minimum * number of filters is one and the maximum is four. * * The `action' with lzma_code() can be LZMA_RUN, LZMA_SYNC_FLUSH (if the * filter chain supports it), or LZMA_FINISH. * * \return - LZMA_OK * - LZMA_MEM_ERROR * - LZMA_OPTIONS_ERROR * - LZMA_PROG_ERROR */ extern LZMA_API(lzma_ret) lzma_raw_encoder( lzma_stream *strm, const lzma_filter *filters) lzma_attr_warn_unused_result; /** * \brief Initialize raw decoder * * The initialization of raw decoder goes similarly to raw encoder. * * The `action' with lzma_code() can be LZMA_RUN or LZMA_FINISH. Using * LZMA_FINISH is not required, it is supported just for convenience. * * \return - LZMA_OK * - LZMA_MEM_ERROR * - LZMA_OPTIONS_ERROR * - LZMA_PROG_ERROR */ extern LZMA_API(lzma_ret) lzma_raw_decoder( lzma_stream *strm, const lzma_filter *filters) lzma_attr_warn_unused_result; /** * \brief Single-call raw encoder * * \param allocator lzma_allocator for custom allocator functions. * Set to NULL to use malloc() and free(). * \param in Beginning of the input buffer * \param in_size Size of the input buffer * \param out Beginning of the output buffer * \param out_pos The next byte will be written to out[*out_pos]. * *out_pos is updated only if encoding succeeds. * \param out_size Size of the out buffer; the first byte into * which no data is written to is out[out_size]. * * \return - LZMA_OK: Encoding was successful. * - LZMA_BUF_ERROR: Not enough output buffer space. * - LZMA_OPTIONS_ERROR * - LZMA_MEM_ERROR * - LZMA_DATA_ERROR * - LZMA_PROG_ERROR */ extern LZMA_API(lzma_ret) lzma_raw_buffer_encode( const lzma_filter *filters, lzma_allocator *allocator, const uint8_t *in, size_t in_size, uint8_t *out, size_t *out_pos, size_t out_size); /** * \brief Single-call raw decoder * * \param allocator lzma_allocator for custom allocator functions. * Set to NULL to use malloc() and free(). * \param in Beginning of the input buffer * \param in_pos The next byte will be read from in[*in_pos]. * *in_pos is updated only if decoding succeeds. * \param in_size Size of the input buffer; the first byte that * won't be read is in[in_size]. * \param out Beginning of the output buffer * \param out_pos The next byte will be written to out[*out_pos]. * *out_pos is updated only if encoding succeeds. * \param out_size Size of the out buffer; the first byte into * which no data is written to is out[out_size]. */ extern LZMA_API(lzma_ret) lzma_raw_buffer_decode( const lzma_filter *filters, lzma_allocator *allocator, const uint8_t *in, size_t *in_pos, size_t in_size, uint8_t *out, size_t *out_pos, size_t out_size); /** * \brief Get the size of the Filter Properties field * * This function may be useful when implementing custom file formats * using the raw encoder and decoder. * * \param size Pointer to uint32_t to hold the size of the properties * \param filter Filter ID and options (the size of the propeties may * vary depending on the options) * * \return - LZMA_OK * - LZMA_OPTIONS_ERROR * - LZMA_PROG_ERROR * * \note This function validates the Filter ID, but does not * necessarily validate the options. Thus, it is possible * that this returns LZMA_OK while the following call to * lzma_properties_encode() returns LZMA_OPTIONS_ERROR. */ extern LZMA_API(lzma_ret) lzma_properties_size( uint32_t *size, const lzma_filter *filter); /** * \brief Encode the Filter Properties field * * \param filter Filter ID and options * \param props Buffer to hold the encoded options. The size of * buffer must have been already determined with * lzma_properties_size(). * * \return - LZMA_OK * - LZMA_OPTIONS_ERROR * - LZMA_PROG_ERROR * * \note Even this function won't validate more options than actually * necessary. Thus, it is possible that encoding the properties * succeeds but using the same options to initialize the encoder * will fail. * * \note It is OK to skip calling this function if * lzma_properties_size() indicated that the size * of the Filter Properties field is zero. */ extern LZMA_API(lzma_ret) lzma_properties_encode( const lzma_filter *filter, uint8_t *props); /** * \brief Decode the Filter Properties field * * \param filter filter->id must have been set to the correct * Filter ID. filter->options doesn't need to be * initialized (it's not freed by this function). The * decoded options will be stored to filter->options. * filter->options is set to NULL if there are no * properties or if an error occurs. * \param allocator Custom memory allocator used to allocate the * options. Set to NULL to use the default malloc(), * and in case of an error, also free(). * \param props Input buffer containing the properties. * \param props_size Size of the properties. This must be the exact * size; giving too much or too little input will * return LZMA_OPTIONS_ERROR. * * \return - LZMA_OK * - LZMA_OPTIONS_ERROR * - LZMA_MEM_ERROR */ extern LZMA_API(lzma_ret) lzma_properties_decode( lzma_filter *filter, lzma_allocator *allocator, const uint8_t *props, size_t props_size); /** * \brief Calculate encoded size of a Filter Flags field * * Knowing the size of Filter Flags is useful to know when allocating * memory to hold the encoded Filter Flags. * * \param size Pointer to integer to hold the calculated size * \param filters Filter ID and associated options whose encoded * size is to be calculted * * \return - LZMA_OK: *size set successfully. Note that this doesn't * guarantee that filters->options is valid, thus * lzma_filter_flags_encode() may still fail. * - LZMA_OPTIONS_ERROR: Unknown Filter ID or unsupported options. * - LZMA_PROG_ERROR: Invalid options * * \note If you need to calculate size of List of Filter Flags, * you need to loop over every lzma_filter entry. */ extern LZMA_API(lzma_ret) lzma_filter_flags_size( uint32_t *size, const lzma_filter *filters) lzma_attr_warn_unused_result; /** * \brief Encode Filter Flags into given buffer * * In contrast to some functions, this doesn't allocate the needed buffer. * This is due to how this function is used internally by liblzma. * * \param filters Filter ID and options to be encoded * \param out Beginning of the output buffer * \param out_pos out[*out_pos] is the next write position. This * is updated by the encoder. * \param out_size out[out_size] is the first byte to not write. * * \return - LZMA_OK: Encoding was successful. * - LZMA_OPTIONS_ERROR: Invalid or unsupported options. * - LZMA_PROG_ERROR: Invalid options or not enough output * buffer space (you should have checked it with * lzma_filter_flags_size()). */ extern LZMA_API(lzma_ret) lzma_filter_flags_encode(const lzma_filter *filters, uint8_t *out, size_t *out_pos, size_t out_size) lzma_attr_warn_unused_result; /** * \brief Decode Filter Flags from given buffer * * The decoded result is stored into *filters. filters->options is * initialized but the old value is NOT free()d. * * \return - LZMA_OK * - LZMA_OPTIONS_ERROR * - LZMA_MEM_ERROR * - LZMA_PROG_ERROR */ extern LZMA_API(lzma_ret) lzma_filter_flags_decode( lzma_filter *filters, lzma_allocator *allocator, const uint8_t *in, size_t *in_pos, size_t in_size) lzma_attr_warn_unused_result; unpackager-dragNdrop-1-i486-slxr/usr/include/lzma/index_hash.h0000644000000000000000000001040411166766710023122 0ustar rootroot/** * \file lzma/index_hash.h * \brief Validates Index by using a hash function * * Instead of constructing complete Index while decoding Blocks, Index hash * calculates a hash of the Block sizes and Index, and then compares the * hashes. This way memory usage is constant even with large number of * Blocks and huge Index. * * \author Copyright (C) 2008 Lasse Collin * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. */ #ifndef LZMA_H_INTERNAL # error Never include this file directly. Use instead. #endif /** * \brief Opaque data type to hold the Index hash */ typedef struct lzma_index_hash_s lzma_index_hash; /** * \brief Allocate and initialize a new lzma_index_hash structure * * If index_hash is NULL, a new lzma_index_hash structure is allocated, * initialized, and a pointer to it returned. If allocation fails, NULL * is returned. * * If index_hash is non-NULL, it is reinitialized and the same pointer * returned. In this case, return value cannot be NULL or a different * pointer than the index_hash that was given as an argument. */ extern LZMA_API(lzma_index_hash *) lzma_index_hash_init( lzma_index_hash *index_hash, lzma_allocator *allocator) lzma_attr_warn_unused_result; /** * \brief Deallocate lzma_index_hash structure */ extern LZMA_API(void) lzma_index_hash_end( lzma_index_hash *index_hash, lzma_allocator *allocator); /** * \brief Add a new Record to an Index hash * * \param index Pointer to a lzma_index_hash structure * \param unpadded_size Unpadded Size of a Block * \param uncompressed_size Uncompressed Size of a Block * * \return - LZMA_OK * - LZMA_DATA_ERROR: Compressed or uncompressed size of the * Stream or size of the Index field would grow too big. * - LZMA_PROG_ERROR: Invalid arguments or this function is being * used when lzma_index_hash_decode() has already been used. */ extern LZMA_API(lzma_ret) lzma_index_hash_append(lzma_index_hash *index_hash, lzma_vli unpadded_size, lzma_vli uncompressed_size) lzma_attr_warn_unused_result; /** * \brief Decode and validate the Index field * * After telling the sizes of all Blocks with lzma_index_hash_append(), * the actual Index field is decoded with this function. Specifically, * once decoding of the Index field has been started, no more Records * can be added using lzma_index_hash_append(). * * This function doesn't use lzma_stream structure to pass the input data. * Instead, the input buffer is specified using three arguments. This is * because it matches better the internal APIs of liblzma. * * \param index_hash Pointer to a lzma_index_hash structure * \param in Pointer to the beginning of the input buffer * \param in_pos in[*in_pos] is the next byte to process * \param in_size in[in_size] is the first byte not to process * * \return - LZMA_OK: So far good, but more input is needed. * - LZMA_STREAM_END: Index decoded successfully and it matches * the Records given with lzma_index_hash_append(). * - LZMA_DATA_ERROR: Index is corrupt or doesn't match the * information given with lzma_index_hash_append(). * - LZMA_BUF_ERROR: Cannot progress because *in_pos >= in_size. * - LZMA_PROG_ERROR */ extern LZMA_API(lzma_ret) lzma_index_hash_decode(lzma_index_hash *index_hash, const uint8_t *in, size_t *in_pos, size_t in_size) lzma_attr_warn_unused_result; /** * \brief Get the size of the Index field as bytes * * This is needed to verify the Backward Size field in the Stream Footer. */ extern LZMA_API(lzma_vli) lzma_index_hash_size( const lzma_index_hash *index_hash) lzma_attr_pure; unpackager-dragNdrop-1-i486-slxr/usr/include/lzma/delta.h0000644000000000000000000000436511166766710022112 0ustar rootroot/** * \file lzma/delta.h * \brief Delta filter * * \author Copyright (C) 1999-2006 Igor Pavlov * \author Copyright (C) 2007 Lasse Collin * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. */ #ifndef LZMA_H_INTERNAL # error Never include this file directly. Use instead. #endif /** * \brief Filter ID * * Filter ID of the Delta filter. This is used as lzma_filter.id. */ #define LZMA_FILTER_DELTA LZMA_VLI_C(0x03) /** * \brief Type of the delta calculation * * Currently only byte-wise delta is supported. Other possible types could * be, for example, delta of 16/32/64-bit little/big endian integers, but * these are not currently planned since byte-wise delta is almost as good. */ typedef enum { LZMA_DELTA_TYPE_BYTE } lzma_delta_type; /** * \brief Options for the Delta filter * * These options are needed by both encoder and decoder. */ typedef struct { /** For now, this must always be LZMA_DELTA_TYPE_BYTE. */ lzma_delta_type type; /** * \brief Delta distance * * With the only currently supported type, LZMA_DELTA_TYPE_BYTE, * the distance is as bytes. * * Examples: * - 16-bit stereo audio: distance = 4 bytes * - 24-bit RGB image data: distance = 3 bytes */ uint32_t dist; # define LZMA_DELTA_DIST_MIN 1 # define LZMA_DELTA_DIST_MAX 256 /* * Reserved space to allow possible future extensions without * breaking the ABI. You should not touch these, because the names * of these variables may change. These are and will never be used * when type is LZMA_DELTA_TYPE_BYTE, so it is safe to leave these * uninitialized. */ uint32_t reserved_int1; uint32_t reserved_int2; uint32_t reserved_int3; uint32_t reserved_int4; void *reserved_ptr1; void *reserved_ptr2; } lzma_options_delta; unpackager-dragNdrop-1-i486-slxr/usr/include/lzma/vli.h0000644000000000000000000001553511166766710021614 0ustar rootroot/** * \file lzma/vli.h * \brief Variable-length integer handling * * \author Copyright (C) 1999-2006 Igor Pavlov * \author Copyright (C) 2007 Lasse Collin * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. */ #ifndef LZMA_H_INTERNAL # error Never include this file directly. Use instead. #endif /** * \brief Maximum supported value of variable-length integer */ #define LZMA_VLI_MAX (UINT64_MAX / 2) /** * \brief VLI value to denote that the value is unknown */ #define LZMA_VLI_UNKNOWN UINT64_MAX /** * \brief Maximum supported length of variable length integers */ #define LZMA_VLI_BYTES_MAX 9 /** * \brief VLI constant suffix */ #define LZMA_VLI_C(n) UINT64_C(n) /** * \brief Variable-length integer type * * This will always be unsigned integer. Valid VLI values are in the range * [0, LZMA_VLI_MAX]. Unknown value is indicated with LZMA_VLI_UNKNOWN, * which is the maximum value of the underlaying integer type. * * In future, even if lzma_vli is typdefined to something else than uint64_t, * it is guaranteed that 2 * LZMA_VLI_MAX will not overflow lzma_vli. * This simplifies integer overflow detection. */ typedef uint64_t lzma_vli; /** * \brief Simple macro to validate variable-length integer * * This is useful to test that application has given acceptable values * for example in the uncompressed_size and compressed_size variables. * * \return True if the integer is representable as VLI or if it * indicates unknown value. */ #define lzma_vli_is_valid(vli) \ ((vli) <= LZMA_VLI_MAX || (vli) == LZMA_VLI_UNKNOWN) /** * \brief Encodes variable-length integer * * In the .xz format, most integers are encoded in a variable-length * representation, which is sometimes called little endian base-128 encoding. * This saves space when smaller values are more likely than bigger values. * * The encoding scheme encodes seven bits to every byte, using minimum * number of bytes required to represent the given value. Encodings that use * non-minimum number of bytes are invalid, thus every integer has exactly * one encoded representation. The maximum number of bits in a VLI is 63, * thus the vli argument must be at maximum of UINT64_MAX / 2. You should * use LZMA_VLI_MAX for clarity. * * This function has two modes: single-call and multi-call. Single-call mode * encodes the whole integer at once; it is an error if the output buffer is * too small. Multi-call mode saves the position in *vli_pos, and thus it is * possible to continue encoding if the buffer becomes full before the whole * integer has been encoded. * * \param vli Integer to be encoded * \param vli_pos How many VLI-encoded bytes have already been written * out. When starting to encode a new integer, *vli_pos * must be set to zero. To use single-call encoding, * set vli_pos to NULL. * \param out Beginning of the output buffer * \param out_pos The next byte will be written to out[*out_pos]. * \param out_size Size of the out buffer; the first byte into * which no data is written to is out[out_size]. * * \return Slightly different return values are used in multi-call and * single-call modes. * * Single-call (vli_pos == NULL): * - LZMA_OK: Integer successfully encoded. * - LZMA_PROG_ERROR: Arguments are not sane. This can be due * to too little output space; single-call mode doesn't use * LZMA_BUF_ERROR, since the application should have checked * the encoded size with lzma_vli_size(). * * Multi-call (vli_pos != NULL): * - LZMA_OK: So far all OK, but the integer is not * completely written out yet. * - LZMA_STREAM_END: Integer successfully encoded. * - LZMA_BUF_ERROR: No output space was provided. * - LZMA_PROG_ERROR: Arguments are not sane. */ extern LZMA_API(lzma_ret) lzma_vli_encode(lzma_vli vli, size_t *lzma_restrict vli_pos, uint8_t *lzma_restrict out, size_t *lzma_restrict out_pos, size_t out_size); /** * \brief Decodes variable-length integer * * Like lzma_vli_encode(), this function has single-call and multi-call modes. * * \param vli Pointer to decoded integer. The decoder will * initialize it to zero when *vli_pos == 0, so * application isn't required to initialize *vli. * \param vli_pos How many bytes have already been decoded. When * starting to decode a new integer, *vli_pos must * be initialized to zero. To use single-call decoding, * set this to NULL. * \param in Beginning of the input buffer * \param in_pos The next byte will be read from in[*in_pos]. * \param in_size Size of the input buffer; the first byte that * won't be read is in[in_size]. * * \return Slightly different return values are used in multi-call and * single-call modes. * * Single-call (vli_pos == NULL): * - LZMA_OK: Integer successfully decoded. * - LZMA_DATA_ERROR: Integer is corrupt. This includes hitting * the end of the input buffer before the whole integer was * decoded; providing no input at all will use LZMA_DATA_ERROR. * - LZMA_PROG_ERROR: Arguments are not sane. * * Multi-call (vli_pos != NULL): * - LZMA_OK: So far all OK, but the integer is not * completely decoded yet. * - LZMA_STREAM_END: Integer successfully decoded. * - LZMA_DATA_ERROR: Integer is corrupt. * - LZMA_BUF_ERROR: No input was provided. * - LZMA_PROG_ERROR: Arguments are not sane. */ extern LZMA_API(lzma_ret) lzma_vli_decode(lzma_vli *lzma_restrict vli, size_t *lzma_restrict vli_pos, const uint8_t *lzma_restrict in, size_t *lzma_restrict in_pos, size_t in_size); /** * \brief Get the number of bytes required to encode a VLI * * \return Number of bytes on success (1-9). If vli isn't valid, * zero is returned. */ extern LZMA_API(uint32_t) lzma_vli_size(lzma_vli vli) lzma_attr_pure; unpackager-dragNdrop-1-i486-slxr/usr/include/lzma/stream_flags.h0000644000000000000000000002100711166766710023460 0ustar rootroot/** * \file lzma/stream_flags.h * \brief .xz Stream Header and Stream Footer encoder and decoder * * \author Copyright (C) 1999-2006 Igor Pavlov * \author Copyright (C) 2007 Lasse Collin * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. */ #ifndef LZMA_H_INTERNAL # error Never include this file directly. Use instead. #endif /** * \brief Size of Stream Header and Stream Footer * * Stream Header and Stream Footer have the same size and they are not * going to change even if a newer version of the .xz file format is * developed in future. */ #define LZMA_STREAM_HEADER_SIZE 12 /** * Options for encoding and decoding Stream Header and Stream Footer */ typedef struct { /** * \brief Stream Flags format version * * To prevent API and ABI breakages if new features are needed in * Stream Header or Stream Footer, a version number is used to * indicate which fields in this structure are in use. For now, * version must always be zero. With non-zero version, the * lzma_stream_header_encode() and lzma_stream_footer_encode() * will return LZMA_OPTIONS_ERROR. * * lzma_stream_header_decode() and lzma_stream_footer_decode() * will always set this to the lowest value that supports all the * features indicated by the Stream Flags field. The application * must check that the version number set by the decoding functions * is supported by the application. Otherwise it is possible that * the application will decode the Stream incorrectly. */ uint32_t version; /** * \brief Backward Size * * Backward Size must be a multiple of four bytes. In this Stream * format version, Backward Size is the size of the Index field. * * Backward Size isn't actually part of the Stream Flags field, but * it is convenient to include in this structure anyway. Backward * Size is present only in the Stream Footer. There is no need to * initialize backward_size when encoding Stream Header. * * lzma_stream_header_decode() always sets backward_size to * LZMA_VLI_UNKNOWN so that it is convenient to use * lzma_stream_flags_compare() when both Stream Header and Stream * Footer have been decoded. */ lzma_vli backward_size; # define LZMA_BACKWARD_SIZE_MIN 4 # define LZMA_BACKWARD_SIZE_MAX (LZMA_VLI_C(1) << 34) /** * \brief Check ID * * This indicates the type of the integrity check calculated from * uncompressed data. */ lzma_check check; /* * Reserved space to allow possible future extensions without * breaking the ABI. You should not touch these, because the * names of these variables may change. * * (We will never be able to use all of these since Stream Flags * is just two bytes plus Backward Size of four bytes. But it's * nice to have the proper types when they are needed.) */ lzma_reserved_enum reserved_enum1; lzma_reserved_enum reserved_enum2; lzma_reserved_enum reserved_enum3; lzma_reserved_enum reserved_enum4; lzma_reserved_enum reserved_enum5; lzma_reserved_enum reserved_enum6; lzma_bool reserved_bool1; lzma_bool reserved_bool2; lzma_bool reserved_bool3; lzma_bool reserved_bool4; lzma_bool reserved_bool5; lzma_bool reserved_bool6; lzma_bool reserved_bool7; lzma_bool reserved_bool8; uint32_t reserved_int1; uint32_t reserved_int2; uint32_t reserved_int3; uint32_t reserved_int4; } lzma_stream_flags; /** * \brief Encode Stream Header * * \param options Stream Header options to be encoded. * options->backward_size is ignored and doesn't * need to be initialized. * \param out Beginning of the output buffer of * LZMA_STREAM_HEADER_SIZE bytes. * * \return - LZMA_OK: Encoding was successful. * - LZMA_OPTIONS_ERROR: options->version is not supported by * this liblzma version. * - LZMA_PROG_ERROR: Invalid options. */ extern LZMA_API(lzma_ret) lzma_stream_header_encode( const lzma_stream_flags *options, uint8_t *out) lzma_attr_warn_unused_result; /** * \brief Encode Stream Footer * * \param options Stream Footer options to be encoded. * \param out Beginning of the output buffer of * LZMA_STREAM_HEADER_SIZE bytes. * * \return - LZMA_OK: Encoding was successful. * - LZMA_OPTIONS_ERROR: options->version is not supported by * this liblzma version. * - LZMA_PROG_ERROR: Invalid options. */ extern LZMA_API(lzma_ret) lzma_stream_footer_encode( const lzma_stream_flags *options, uint8_t *out) lzma_attr_warn_unused_result; /** * \brief Decode Stream Header * * \param options Stream Header options to be encoded. * \param in Beginning of the input buffer of * LZMA_STREAM_HEADER_SIZE bytes. * * options->backward_size is always set to LZMA_VLI_UNKNOWN. This is to * help comparing Stream Flags from Stream Header and Stream Footer with * lzma_stream_flags_compare(). * * \return - LZMA_OK: Decoding was successful. * - LZMA_FORMAT_ERROR: Magic bytes don't match, thus the given * buffer cannot be Stream Header. * - LZMA_DATA_ERROR: CRC32 doesn't match, thus the header * is corrupt. * - LZMA_OPTIONS_ERROR: Unsupported options are present * in the header. * * \note When decoding .xz files that contain multiple Streams, it may * make sense to print "file format not recognized" only if * decoding of the Stream Header of the _first_ Stream gives * LZMA_FORMAT_ERROR. If non-first Stream Header gives * LZMA_FORMAT_ERROR, the message used for LZMA_DATA_ERROR is * probably more appropriate. * * For example, Stream decoder in liblzma uses LZMA_DATA_ERROR if * LZMA_FORMAT_ERROR is returned by lzma_stream_header_decode() * when decoding non-first Stream. */ extern LZMA_API(lzma_ret) lzma_stream_header_decode( lzma_stream_flags *options, const uint8_t *in) lzma_attr_warn_unused_result; /** * \brief Decode Stream Footer * * \param options Stream Header options to be encoded. * \param in Beginning of the input buffer of * LZMA_STREAM_HEADER_SIZE bytes. * * \return - LZMA_OK: Decoding was successful. * - LZMA_FORMAT_ERROR: Magic bytes don't match, thus the given * buffer cannot be Stream Footer. * - LZMA_DATA_ERROR: CRC32 doesn't match, thus the Stream Footer * is corrupt. * - LZMA_OPTIONS_ERROR: Unsupported options are present * in Stream Footer. * * \note If Stream Header was already decoded successfully, but * decoding Stream Footer returns LZMA_FORMAT_ERROR, the * application should probably report some other error message * than "file format not recognized", since the file more likely * is corrupt (possibly truncated). Stream decoder in liblzma * uses LZMA_DATA_ERROR in this situation. */ extern LZMA_API(lzma_ret) lzma_stream_footer_decode( lzma_stream_flags *options, const uint8_t *in) lzma_attr_warn_unused_result; /** * \brief Compare two lzma_stream_flags structures * * backward_size values are compared only if both are not * LZMA_VLI_UNKNOWN. * * \return - LZMA_OK: Both are equal. If either had backward_size set * to LZMA_VLI_UNKNOWN, backward_size values were not * compared or validated. * - LZMA_DATA_ERROR: The structures differ. * - LZMA_OPTIONS_ERROR: version in either structure is greater * than the maximum supported version (currently zero). * - LZMA_PROG_ERROR: Invalid value, e.g. invalid check or * backward_size. */ extern LZMA_API(lzma_ret) lzma_stream_flags_compare( const lzma_stream_flags *a, const lzma_stream_flags *b) lzma_attr_pure; unpackager-dragNdrop-1-i486-slxr/usr/include/lzma/subblock.h0000644000000000000000000001564211166766710022625 0ustar rootroot/** * \file lzma/subblock.h * \brief Subblock filter * * \author Copyright (C) 1999-2006 Igor Pavlov * \author Copyright (C) 2007 Lasse Collin * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. */ #ifndef LZMA_H_INTERNAL # error Never include this file directly. Use instead. #endif /** * \brief Filter ID * * Filter ID of the Subblock filter. This is used as lzma_filter.id. */ #define LZMA_FILTER_SUBBLOCK LZMA_VLI_C(0x01) /** * \brief Subfilter mode * * See lzma_options_subblock.subfilter_mode for details. */ typedef enum { LZMA_SUBFILTER_NONE, /**< * No Subfilter is in use. */ LZMA_SUBFILTER_SET, /**< * New Subfilter has been requested to be initialized. */ LZMA_SUBFILTER_RUN, /**< * Subfilter is active. */ LZMA_SUBFILTER_FINISH /**< * Subfilter has been requested to be finished. */ } lzma_subfilter_mode; /** * \brief Options for the Subblock filter * * Specifying options for the Subblock filter is optional: if the pointer * options is NULL, no subfilters are allowed and the default value is used * for subblock_data_size. */ typedef struct { /* Options for encoder and decoder */ /** * \brief Allowing subfilters * * If this true, subfilters are allowed. * * In the encoder, if this is set to false, subfilter_mode and * subfilter_options are completely ignored. */ lzma_bool allow_subfilters; /* Options for encoder only */ /** * \brief Alignment * * The Subblock filter encapsulates the input data into Subblocks. * Each Subblock has a header which takes a few bytes of space. * When the output of the Subblock encoder is fed to another filter * that takes advantage of the alignment of the input data (e.g. LZMA), * the Subblock filter can add padding to keep the actual data parts * in the Subblocks aligned correctly. * * The alignment should be a positive integer. Subblock filter will * add enough padding between Subblocks so that this is true for * every payload byte: * input_offset % alignment == output_offset % alignment * * The Subblock filter assumes that the first output byte will be * written to a position in the output stream that is properly * aligned. This requirement is automatically met when the start * offset of the Stream or Block is correctly told to Block or * Stream encoder. */ uint32_t alignment; # define LZMA_SUBBLOCK_ALIGNMENT_MIN 1 # define LZMA_SUBBLOCK_ALIGNMENT_MAX 32 # define LZMA_SUBBLOCK_ALIGNMENT_DEFAULT 4 /** * \brief Size of the Subblock Data part of each Subblock * * This value is re-read every time a new Subblock is started. * * Bigger values * - save a few bytes of space; * - increase latency in the encoder (but no effect for decoding); * - decrease memory locality (increased cache pollution) in the * encoder (no effect in decoding). */ uint32_t subblock_data_size; # define LZMA_SUBBLOCK_DATA_SIZE_MIN 1 # define LZMA_SUBBLOCK_DATA_SIZE_MAX (UINT32_C(1) << 28) # define LZMA_SUBBLOCK_DATA_SIZE_DEFAULT 4096 /** * \brief Run-length encoder remote control * * The Subblock filter has an internal run-length encoder (RLE). It * can be useful when the data includes byte sequences that repeat * very many times. The RLE can be used also when a Subfilter is * in use; the RLE will be applied to the output of the Subfilter. * * Note that in contrast to traditional RLE, this RLE is intended to * be used only when there's a lot of data to be repeated. If the * input data has e.g. 500 bytes of NULs now and then, this RLE * is probably useless, because plain LZMA should provide better * results. * * Due to above reasons, it was decided to keep the implementation * of the RLE very simple. When the rle variable is non-zero, it * subblock_data_size must be a multiple of rle. Once the Subblock * encoder has got subblock_data_size bytes of input, it will check * if the whole buffer of the last subblock_data_size can be * represented with repeats of chunks having size of rle bytes. * * If there are consecutive identical buffers of subblock_data_size * bytes, they will be encoded using a single repeat entry if * possible. * * If need arises, more advanced RLE can be implemented later * without breaking API or ABI. */ uint32_t rle; # define LZMA_SUBBLOCK_RLE_OFF 0 # define LZMA_SUBBLOCK_RLE_MIN 1 # define LZMA_SUBBLOCK_RLE_MAX 256 /** * \brief Subfilter remote control * * When the Subblock filter is initialized, this variable must be * LZMA_SUBFILTER_NONE or LZMA_SUBFILTER_SET. * * When subfilter_mode is LZMA_SUBFILTER_NONE, the application may * put Subfilter options to subfilter_options structure, and then * set subfilter_mode to LZMA_SUBFILTER_SET. No new input data will * be read until the Subfilter has been enabled. Once the Subfilter * has been enabled, liblzma will set subfilter_mode to * LZMA_SUBFILTER_RUN. * * When subfilter_mode is LZMA_SUBFILTER_RUN, the application may * set subfilter_mode to LZMA_SUBFILTER_FINISH. All the input * currently available will be encoded before unsetting the * Subfilter. Application must not change the amount of available * input until the Subfilter has finished. Once the Subfilter has * finished, liblzma will set subfilter_mode to LZMA_SUBFILTER_NONE. * * If the intent is to have Subfilter enabled to the very end of * the data, it is not needed to separately disable Subfilter with * LZMA_SUBFILTER_FINISH. Using LZMA_FINISH as the second argument * of lzma_code() will make the Subblock encoder to disable the * Subfilter once all the data has been ran through the Subfilter. * * After the first call with LZMA_SYNC_FLUSH or LZMA_FINISH, the * application must not change subfilter_mode until LZMA_STREAM_END. * Setting LZMA_SUBFILTER_SET/LZMA_SUBFILTER_FINISH and * LZMA_SYNC_FLUSH/LZMA_FINISH _at the same time_ is fine. * * \note This variable is ignored if allow_subfilters is false. */ lzma_subfilter_mode subfilter_mode; /** * \brief Subfilter and its options * * When no Subfilter is used, the data is copied as is into Subblocks. * Setting a Subfilter allows encoding some parts of the data with * an additional filter. It is possible to many different Subfilters * in the same Block, although only one can be used at once. * * \note This variable is ignored if allow_subfilters is false. */ lzma_filter subfilter_options; } lzma_options_subblock; unpackager-dragNdrop-1-i486-slxr/usr/lib/0000755000000000000000000000000011166766712017022 5ustar rootrootunpackager-dragNdrop-1-i486-slxr/usr/lib/liblzma.la0000755000000000000000000000141111166766711020771 0ustar rootroot# liblzma.la - a libtool library file # Generated by ltmain.sh - GNU libtool 1.5.22 (1.1220.2.365 2005/12/18 22:14:06) # # Please DO NOT delete this file! # It is necessary for linking the library. # The name that we can dlopen(3). dlname='liblzma.so.0' # Names of this library. library_names='liblzma.so.0.0.0 liblzma.so.0 liblzma.so' # The name of the static archive. old_library='' # Libraries that this one depends upon. dependency_libs='' # Version information for liblzma. current=0 age=0 revision=0 # Is this an already installed library? installed=yes # Should we warn about portability when linking against -modules? shouldnotlink=no # Files to dlopen/dlpreopen dlopen='' dlpreopen='' # Directory that this library needs to be installed in: libdir='/usr/lib' unpackager-dragNdrop-1-i486-slxr/usr/lib/pkgconfig/0000755000000000000000000000000011166766711020770 5ustar rootrootunpackager-dragNdrop-1-i486-slxr/usr/lib/pkgconfig/liblzma.pc0000644000000000000000000000041711166766711022750 0ustar rootrootprefix=/usr exec_prefix=${prefix} libdir=/usr/lib includedir=${prefix}/include Name: liblzma Description: General purporse data compression library URL: http://tukaani.org/xz/ Version: 4.999.8beta Cflags: -I${includedir} Libs: -L${libdir} -llzma Libs.private: -pthread unpackager-dragNdrop-1-i486-slxr/usr/bin/0000755000000000000000000000000011166766712017024 5ustar rootrootunpackager-dragNdrop-1-i486-slxr/usr/bin/xzdec0000755000000000000000000002512011166766711020066 0ustar rootrootELF4<4 (444444lllllXHHH Ptd   Qtd/lib/ld-linux.so.2GNU     .  1 7A=ĪIU6Ī'i8 liblzma.so.0__gmon_start___Jv_RegisterClasses_finilzma_codelzma_version_stringlzma_stream_decoder_initlibpthread.so.0__errno_locationlibc.so.6_IO_stdin_usedexitoptindstdinfeofstdoutfcloseoptargstderrgetopt_longfwritefreadfprintffopen64strcmpstrerror__libc_start_mainferrorsysconf_edata__bss_start_end/xz-tmp-417c0b146e03763c5eeeea1d22435101/xz-4.999.8beta/src/liblzma/.libsGLIBC_2.1GLIBC_2.00ii ii oii `  ptx|  US[ #tN X[5h%l%ph%th%xh%|h%h %h(%h0%h8p%h@`%hHP%hP@%hX0%h` %hh%hp%hx%h%h%h1^PTRhh QVh`US=u@ x-tX9sB t 9r[]Ív'U|tt $|ÐUS$$Ut: t7D$D$ $T$[]Ðt&u[]ÐUS$tá$1 t0u6T$ D$8D$$$G&$!뷐t&UWVS,@D$ D$T$4$FFF DžFueD$ D$D$ $YF$X$t Dž4$D$NjFuh )á\$D$D$ $9FF !,@[^_]Ðt&뉐$D$dD$D$ D$$-$qL$RD$8D$ D$$$4D$D$$D$D$$D$ fWww$`_D$D$D$ D$$H$4$ i본문른O$ FD$D$$L$qUWVSQIEMM}D$D$ D$L$<$ Mv$v$x$D$T$ D$t&$ΓD$:G<  U11 k UʉUʃ0ΉˉE]uEM9G< w:vrw܍둍]u1ۍUD$$t6 uދMD$L$ D$$t&Ęt1ÉD$t$ $D$m9U2r9E& E}։ ډ5u1E9u1yt&zu:9E~^M:tD$$tQU ډ6$뤋fT$ D$D$$}D$D$D$ D$$$$D$0t$T$,|$|$(l$ ƋD$4$u09wLu 1҉Ƌ,$1҉ʼn;$v+11ȉt$|$l$ $Ív1ߍu ;$r9wù1&뷍 )L$L$ Љt$4$$D$L$ Љt$։D$D$d$9։D$ rt L$1Kf;D$ st&L$1+U]Ít&'UWVSO9 )t$1ED$E D$E$9rރ [^_]Ë$ÐUSltlfЋu[]ÐUS[ìY[Unknown error%s: Internal program error (bug) File format not recognizedMemory usage limit reachedFile is corruptUnexpected end of inputInternal program error (bug)%s: %s: %s %s: %s: Not a number %s: %s: Invalid suffix xzdec 4.999.8beta liblzma %s (stdin)-rbto-stdoutdecompressuncompressforcekeepmemoryhelpversion%s: Cannot write to standard output: %s %s: %s: Error reading input file: %s Unsupported compression optionsUsage: %s [OPTION]... [FILE]... Uncompress files in the .xz format to the standard output. -c, --stdout (ignored) -d, --decompress (ignored) -k, --keep (ignored) -f, --force (ignored) -M, --memory=NUM use NUM bytes of memory at maximum (0 means default); the suffixes k, M, G, Ki, Mi, and Gi are supported. -h, --help display this help and exit -V, --version display version and license information and exit With no FILE, or when FILE is -, read standard input. On this configuration, the tool will use about %llu MiB of memory at maximum. Report bugs to (in English or Finnish).  (!/ό@ɍɍɍɍɍɍɍɍ ɍɍɍɍɍɍɍɍɍɍɍɍɍɍɍɍccddfk$M+h0VcdkfM:hVkkBM@BMB@BGʚ;GBʚ;KiKiBMiMiBGi@GiB@;,zR| |6C(PHoN 8 h44  dp0o oo~·އ.>N^n~GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3.symtab.strtab.shstrtab.interp.note.ABI-tag.hash.dynsym.dynstr.gnu.version.gnu.version_r.rel.dyn.rel.plt.init.text.fini.rodata.eh_frame_hdr.eh_frame.ctors.dtors.jcr.dynamic.got.got.plt.data.bss.comment44#HH 1hh7 44?44Go@To  Pc pp0l  u880phh@{ @   448lltt||``ddX< T 1 t&lt|* @O ]@ ipvh| p { p  ` d l1lD4Hh44 p 8 h    4lt|`dM Xt     А6 +=Jasx Z Ī 16H\nĪz `c 8 __CTOR_LIST____DTOR_LIST____JCR_LIST____do_global_dtors_auxcompleted.5708dtor_idx.5710frame_dummy__CTOR_END____FRAME_END____JCR_END____do_global_ctors_auxset_default_memlimitmemlimitmy_exitargv0uncompresslong_opts.4224short_opts.4223suffixes.4190_GLOBAL_OFFSET_TABLE___init_array_end__init_array_start_DYNAMICdata_start__errno_location@@GLIBC_2.0strerror@@GLIBC_2.0__libc_csu_finisysconf@@GLIBC_2.0_start__gmon_start___Jv_RegisterClasses_fp_hw_finifopen64@@GLIBC_2.1__udivdi3__libc_start_main@@GLIBC_2.0_IO_stdin_usedoptind@@GLIBC_2.0__data_startgetopt_long@@GLIBC_2.0fclose@@GLIBC_2.1stderr@@GLIBC_2.0lzma_codelzma_version_string__dso_handlefeof@@GLIBC_2.0__DTOR_END____libc_csu_initprintf@@GLIBC_2.0fwrite@@GLIBC_2.0fprintf@@GLIBC_2.0__bss_startstdin@@GLIBC_2.0_endstdout@@GLIBC_2.0lzma_stream_decoderoptarg@@GLIBC_2.0fread@@GLIBC_2.0_edataferror@@GLIBC_2.0strcmp@@GLIBC_2.0exit@@GLIBC_2.0__i686.get_pc_thunk.bxmain_initunpackager-dragNdrop-1-i486-slxr/usr/bin/lzgrep0000755000000000000000000000640711166766711020263 0ustar rootroot#!/bin/sh # lzgrep -- a wrapper around a grep program that decompresses files as needed # Adapted to LZMA utils from gzip-1.3.3 + Red Hat's security patches # Adapted from a version sent by Charles Levert # Copyright (C) 1998, 2001 Free Software Foundation # Copyright (C) 1993 Jean-loup Gailly # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # Improve error handling, this is supported by bash but not all the other # shells so we hide the possible error: set -o pipefail > /dev/null 2> /dev/null prog=`echo "$0" | sed 's|.*/||'` case "$prog" in *egrep) grep=${EGREP-egrep} ;; *fgrep) grep=${FGREP-fgrep} ;; *) grep=${GREP-grep} ;; esac pat="" after_dash_dash="" files_with_matches=0 files_without_matches=0 no_filename=0 with_filename=0 while test $# -ne 0; do case "$after_dash_dash$1" in --d* | --rec*) echo >&2 "$0: $1: option not supported"; exit 1;; --files-with-*) files_with_matches=1;; --files-witho*) files_without_matches=1;; --no-f*) no_filename=1;; --wi*) with_filename=1;; --*) ;; -*) case "$1" in -*[dr]*) echo >&2 "$0: $1: option not supported"; exit 1;; esac case "$1" in -*H*) with_filename=1;; esac case "$1" in -*h*) no_filename=1;; esac case "$1" in -*L*) files_without_matches=1;; esac case "$1" in -*l*) files_with_matches=1;; esac;; esac case "$after_dash_dash$1" in -[ef]) opt="$opt $1"; shift; pat="$1" if test "$grep" = grep; then # grep is buggy with -e on SVR4 grep=egrep fi;; -[ABCdm])opt="$opt $1 $2"; shift;; --) opt="$opt $1"; after_dash_dash=1;; -*) opt="$opt $1";; *) if test -z "$pat"; then pat="$1" else break; fi;; esac shift done if test -z "$pat"; then echo "grep through lzma files" echo "usage: $prog [grep_options] pattern [files]" exit 1 fi if test $# -eq 0; then lzma -dc | $grep $opt "$pat" exit $? fi res=0 trap break SIGPIPE for i do lzma -dc "$i" | if test $files_with_matches -eq 1; then $grep $opt "$pat" > /dev/null && printf "%s\n" "$i" elif test $files_without_matches -eq 1; then $grep $opt "$pat" > /dev/null || printf "%s\n" "$i" elif test $with_filename -eq 0 && { test $# -eq 1 || test $no_filename -eq 1; }; then $grep $opt "$pat" else i=${i//\\/\\\\} i=${i//|/\\|} i=${i//&/\\&} i=`printf "%s" "$i" | tr '\n' ' '` if test $with_filename -eq 1; then sed_script="s|^[^:]*:|${i}:|" else sed_script="s|^|${i}:|" fi $grep $opt "$pat" | sed "$sed_script" fi r=$? test $res -lt $r && res=$r # SIGPIPE + 128 test "$r" -eq 141 && exit $res done trap - SIGPIPE exit $res unpackager-dragNdrop-1-i486-slxr/usr/bin/lzmadec0000755000000000000000000002521711166766711020377 0ustar rootrootELF4|4 (444444XHHH Ptd```Qtd/lib/ld-linux.so.2GNU      ~ -  1D $ $JT<(H\@D5&h8 liblzma.so.0__gmon_start___Jv_RegisterClasseslzma_alone_decoder_finilzma_codelzma_version_string_initlibpthread.so.0__errno_locationlibc.so.6_IO_stdin_usedexitoptindstdinfeofstdoutfcloseoptargstderrgetopt_longfwritefreadfprintffopen64strcmpstrerror__libc_start_mainferrorsysconf_edata__bss_start_end/xz-tmp-417c0b146e03763c5eeeea1d22435101/xz-4.999.8beta/src/liblzma/.libsGLIBC_2.1GLIBC_2.00ii ii nii   $(@DĪȪ ̪ Ъ ԪتܪUS[`#tN\ X[5%%h%h%h%h%h %Īh(%Ȫh0%̪h8p%Ъh@`%ԪhHP%تhP@%ܪhX0%h` %hh%hp%hx%h%h%h1^PTRhPh`QVhUS=Hu@L-X9sBLL9rH[]Ív'Utt $ÐUS$$Ut: t7D$D$ $T$VPT[]Ðt&uPT[]ÐUS@$tá@$1 t0(u6XT$ D$\D$$$$G&$!뷐t&UWVS,@PT4$D$T$FFF VuID$ D$D$ $kF$j+D$4$NjF )á@\$D$D$ $9FF ;FtUD$D$ԓD$ XD$$$$RD$D$D$ $P{$e,@[^_]2$8D$D$D$ XD$$$$$D$\D$ XD$$$$XD$6D$$$u}$D$D$$;D$ 7fWy$f\$ 8KYAt7$ D$ܓD$$$'L$qUWVSQIEMXM}D$D$ @D$L$<$Mv$v$PT$ДD$XT$ D$t&$D$vD:G<  U11 k UʉUʃ0ΉˉE]uEM9G< w:vPTrw܍둍]u1ۍUD$$Jt6 uދMXD$L$ D$$$t&t1ÉD$t$ $D$m9U2r9E& E}։ ډP5Tu1E9 u1yt&zu:(H 9E ~^ M:tD$$htQU  ډ$v뤋(fSXT$ D$D$$}D$ D$ԓD$ XD$$$a$$D$0t$T$,|$|$(l$ ƋD$4$u09wLu 1҉Ƌ,$1҉ʼn;$v+11ȉt$|$l$ $Ív1ߍu ;$r9wù1&뷍 )L$L$ Љt$4$$D$L$ Љt$։D$D$d$9։D$ rt L$1Kf;D$ st&L$1+U]Ít&'UWVSO9 )t$1ED$E D$E$9rރ [^_]Ë$ÐUStfЋu[]ÐUS[ìY[Unknown error%s: Internal program error (bug) File format not recognizedMemory usage limit reachedFile is corruptUnexpected end of inputInternal program error (bug)%s: %s: %s %s: %s: Not a number %s: %s: Invalid suffix (stdin)-rbto-stdoutdecompressuncompressforcekeepmemoryhelpversion%s: Cannot write to standard output: %s %s: %s: Error reading input file: %s Unsupported compression optionsUsage: %s [OPTION]... [FILE]... Uncompress files in the .lzma format to the standard output. -c, --stdout (ignored) -d, --decompress (ignored) -k, --keep (ignored) -f, --force (ignored) -M, --memory=NUM use NUM bytes of memory at maximum (0 means default); the suffixes k, M, G, Ki, Mi, and Gi are supported. -h, --help display this help and exit -V, --version display version and license information and exit With no FILE, or when FILE is -, read standard input. On this configuration, the tool will use about %llu MiB of memory at maximum. Report bugs to (in English or Finnish). lzmadec 4.999.8beta liblzma %s D_U:0        `            ΍΍ ΍    ΍cc%d0d;fAkFMMhRVcdkfM:hVkkBM@BMB@BGʚ;GBʚ;KiKiBMiMiBGi@GiB@;,zR| |6C(PHnM 8 h44  p0o oo~·އ.>N^n~GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3GCC: (GNU) 4.3.3.symtab.strtab.shstrtab.interp.note.ABI-tag.hash.dynsym.dynstr.gnu.version.gnu.version_r.rel.dyn.rel.plt.init.text.fini.rodata.eh_frame_hdr.eh_frame.ctors.dtors.jcr.dynamic.got.got.plt.data.bss.comment44#HH 1hh7 44?44Go@To  Pc pp0l  u880phh@{<   @ ``tt8X < !1 &* @HOL]@ iv p P{ Xp# @ `  1D4Hh44 p 8 h   `t M XtP      6 /$> P]t$`Z '3(D\I@[Dm~ c 8 __CTOR_LIST____DTOR_LIST____JCR_LIST____do_global_dtors_auxcompleted.5708dtor_idx.5710frame_dummy__CTOR_END____FRAME_END____JCR_END____do_global_ctors_auxset_default_memlimitmemlimitmy_exitargv0uncompresslong_opts.4224short_opts.4223suffixes.4190_GLOBAL_OFFSET_TABLE___init_array_end__init_array_start_DYNAMICdata_start__errno_location@@GLIBC_2.0strerror@@GLIBC_2.0__libc_csu_finisysconf@@GLIBC_2.0_start__gmon_start___Jv_RegisterClasses_fp_hwlzma_alone_decoder_finifopen64@@GLIBC_2.1__udivdi3__libc_start_main@@GLIBC_2.0_IO_stdin_usedoptind@@GLIBC_2.0__data_startgetopt_long@@GLIBC_2.0fclose@@GLIBC_2.1stderr@@GLIBC_2.0lzma_codelzma_version_string__dso_handlefeof@@GLIBC_2.0__DTOR_END____libc_csu_initprintf@@GLIBC_2.0fwrite@@GLIBC_2.0fprintf@@GLIBC_2.0__bss_startstdin@@GLIBC_2.0_endstdout@@GLIBC_2.0optarg@@GLIBC_2.0fread@@GLIBC_2.0_edataferror@@GLIBC_2.0strcmp@@GLIBC_2.0exit@@GLIBC_2.0__i686.get_pc_thunk.bxmain_initunpackager-dragNdrop-1-i486-slxr/usr/bin/lzdiff0000755000000000000000000000357011166766711020234 0ustar rootroot#!/bin/sh # sh is buggy on RS/6000 AIX 3.2. Replace above line with #!/bin/ksh # lzcmp and lzdiff are used to invoke the cmp or the diff pro- # gram on compressed files. All options specified are passed # directly to cmp or diff. If only 1 file is specified, then # the files compared are file1 and an uncompressed file1.lzma. # If two files are specified, then they are uncompressed and # fed to cmp or diff. The exit status from cmp or diff is # preserved. prog=`echo $0 | sed 's|.*/||'` case "$prog" in *cmp) comp=${CMP-cmp} ;; *) comp=${DIFF-diff} ;; esac OPTIONS= FILES= for ARG do case "$ARG" in -*) OPTIONS="$OPTIONS $ARG";; *) if test -f "$ARG"; then FILES="$FILES $ARG" else echo "${prog}: $ARG not found or not a regular file" exit 2 fi ;; esac done if test -z "$FILES"; then echo "Usage: $prog [${comp}_options] file [file]" exit 2 fi set $FILES if test $# -eq 1; then FILE=`echo "$1" | sed 's/[-.][tlaz]*$//'` lzma -dc "$1" | $comp $OPTIONS - "$FILE" elif test $# -eq 2; then case "$1" in *[-.]lzma | *.t[la]z) case "$2" in *[-.]lzma | *.t[la]z) F=`echo "$2" | sed 's|.*/||;s|[-.][tlaz]*||'` TF=`/usr/bin/mktemp ${TMPDIR:-/tmp}/"$F".XXXXXXXXXX` || exit 1 trap 'rm -f "$TF"; exit 2' EXIT HUP INT PIPE TERM lzma -dc "$2" > "$TF" || exit lzma -dc "$1" | $comp $OPTIONS - "$TF" STAT="$?" rm -f "$TF" || STAT=2 trap EXIT HUP INT PIPE TERM exit $STAT;; *) lzma -dc "$1" | $comp $OPTIONS - "$2";; esac;; *) case "$2" in *[-.]lzma | *.t[la]z) lzma -dc "$2" | $comp $OPTIONS "$1" -;; *) $comp $OPTIONS "$1" "$2";; esac;; esac else echo "Usage: $prog [${comp}_options] file [file]" exit 2 fi unpackager-dragNdrop-1-i486-slxr/usr/bin/lzmore0000755000000000000000000000366211166766711020270 0ustar rootroot#!/bin/sh # Copyright (C) 2001 Free Software Foundation # Copyright (C) 1992, 1993 Jean-loup Gailly # Adapted to LZMA utils from gzip-1.3.3 + Red Hat's security patches # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. if test "`echo "$0" | sed 's|.*/||'`" = "lzless"; then PAGER=less fi if test "`echo -n a`" = "-n a"; then # looks like a SysV system: n1=''; n2='\c' else n1='-n'; n2='' fi oldtty=`stty -g 2>/dev/null` if stty -cbreak 2>/dev/null; then cb='cbreak'; ncb='-cbreak' else # 'stty min 1' resets eof to ^a on both SunOS and SysV! cb='min 1 -icanon'; ncb='icanon eof ^d' fi if test $? -eq 0 -a -n "$oldtty"; then trap 'stty $oldtty 2>/dev/null; exit' 0 2 3 5 10 13 15 else trap 'stty $ncb echo 2>/dev/null; exit' 0 2 3 5 10 13 15 fi if test $# = 0; then if test -t 0; then echo usage: zmore files... else lzma -dc | eval ${PAGER-more} fi else FIRST=1 for FILE do < "$FILE" || continue if test $FIRST -eq 0; then echo $n1 "--More--(Next file: $FILE)$n2" stty $cb -echo 2>/dev/null ANS=`dd bs=1 count=1 2>/dev/null` stty $ncb echo 2>/dev/null echo " " if test "$ANS" = 'e' -o "$ANS" = 'q'; then exit fi fi if test "$ANS" != 's'; then echo "------> $FILE <------" lzma -dc "$FILE" | eval ${PAGER-more} fi if test -t; then FIRST=0 fi done fi unpackager-dragNdrop-1-i486-slxr/usr/man/0000755000000000000000000000000011166766711017026 5ustar rootrootunpackager-dragNdrop-1-i486-slxr/usr/man/man1/0000755000000000000000000000000011166766712017663 5ustar rootrootunpackager-dragNdrop-1-i486-slxr/usr/man/man1/lzdiff.1.gz0000644000000000000000000000077411166766711021651 0ustar rootrootIlzdiff.1Rn0+:KFv*sȆ(D$4Pv- zHͼeoL` 3|4L..$,VSj|xt5g;h} >AaZ+M'%T>:Osgg) h#$.?N`Qq{9Ͽf6ݬ-tyb$ ~1Nb=#waWYgj'Z09i[YJarreI! K+$ǎqd5`M^@`t1cGP_jt~(ЍKx|C$uEpuZi#tg)|$( pomEg,]o2 zb@iN{YAԵ>9gH% tjY+WXDU5O^:8]q͙6֜m4IkJFc̡TGijPy8 +Ŷб~e눌sߎIK^;+6G9=fWYZݤLa4>AbS+qXzZ;FoֱFH@[:~/^Cc< >Y@nT4BdD'Ь,}ȸ4]=6T-v@[-l3: mI*ܯ/|K!cjc a#URrmXÈHsCS~WY6a+g JcaEE݅08L O*30Rʪwm݈4Lxunpackager-dragNdrop-1-i486-slxr/usr/man/man1/lzgrep.1.gz0000644000000000000000000000115611166766711021671 0ustar rootrootIlzgrep.1uQO0)Ny ,@ cºU=uZ8vd;݊wv(M$VEU9&_9Cr.'LFz\xvØbSp(lPJJcAŪU_Q(>ͳ4c:=)4[) Fx4E. Don't send the core dump file or the actual executables. If you have a small example file(s) (total size less than 100 KiB), please include it/them as an attachment. Do NOT complain about problems with LZMA Utils to Igor Pavlov. Although the code of LZMA Utils is derived from his code, there are a lot of changes, which may have introduced bugs not present in the original version. unpackager-dragNdrop-1-i486-slxr/usr/doc/xz-4.999.8beta/COPYING.GPLv20000644000000000000000000004310310641012126023057 0ustar rootroot GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. unpackager-dragNdrop-1-i486-slxr/usr/doc/xz-4.999.8beta/AUTHORS0000644000000000000000000000071311126710126022207 0ustar rootroot Authors of XZ Utils =================== Igor Pavlov * designed LZMA as an algorithm; * wrote an implementation known as LZMA SDK, which is part of the bigger 7-Zip project. Ville Koskinen * wrote the first version of the gzip-like lzma command line utility (C++) * helped a lot with the documentation. Lasse Collin * ported LZMA SDK to C and zlib-like API (liblzma); * rewrote the command line tool again to use liblzma and pthreads. unpackager-dragNdrop-1-i486-slxr/usr/doc/xz-4.999.8beta/NEWS0000644000000000000000000000000010340174753021632 0ustar rootrootunpackager-dragNdrop-1-i486-slxr/usr/doc/xz-4.999.8beta/ABOUT-NLS0000644000000000000000000023334010656036502022400 0ustar rootroot1 Notes on the Free Translation Project *************************************** Free software is going international! The Free Translation Project is a way to get maintainers of free software, translators, and users all together, so that free software will gradually become able to speak many languages. A few packages already provide translations for their messages. If you found this `ABOUT-NLS' file inside a distribution, you may assume that the distributed package does use GNU `gettext' internally, itself available at your nearest GNU archive site. But you do _not_ need to install GNU `gettext' prior to configuring, installing or using this package with messages translated. Installers will find here some useful hints. These notes also explain how users should proceed for getting the programs to use the available translations. They tell how people wanting to contribute and work on translations can contact the appropriate team. When reporting bugs in the `intl/' directory or bugs which may be related to internationalization, you should tell about the version of `gettext' which is used. The information can be found in the `intl/VERSION' file, in internationalized packages. 1.1 Quick configuration advice ============================== If you want to exploit the full power of internationalization, you should configure it using ./configure --with-included-gettext to force usage of internationalizing routines provided within this package, despite the existence of internationalizing capabilities in the operating system where this package is being installed. So far, only the `gettext' implementation in the GNU C library version 2 provides as many features (such as locale alias, message inheritance, automatic charset conversion or plural form handling) as the implementation here. It is also not possible to offer this additional functionality on top of a `catgets' implementation. Future versions of GNU `gettext' will very likely convey even more functionality. So it might be a good idea to change to GNU `gettext' as soon as possible. So you need _not_ provide this option if you are using GNU libc 2 or you have installed a recent copy of the GNU gettext package with the included `libintl'. 1.2 INSTALL Matters =================== Some packages are "localizable" when properly installed; the programs they contain can be made to speak your own native language. Most such packages use GNU `gettext'. Other packages have their own ways to internationalization, predating GNU `gettext'. By default, this package will be installed to allow translation of messages. It will automatically detect whether the system already provides the GNU `gettext' functions. If not, the included GNU `gettext' library will be used. This library is wholly contained within this package, usually in the `intl/' subdirectory, so prior installation of the GNU `gettext' package is _not_ required. Installers may use special options at configuration time for changing the default behaviour. The commands: ./configure --with-included-gettext ./configure --disable-nls will, respectively, bypass any pre-existing `gettext' to use the internationalizing routines provided within this package, or else, _totally_ disable translation of messages. When you already have GNU `gettext' installed on your system and run configure without an option for your new package, `configure' will probably detect the previously built and installed `libintl.a' file and will decide to use this. This might not be desirable. You should use the more recent version of the GNU `gettext' library. I.e. if the file `intl/VERSION' shows that the library which comes with this package is more recent, you should use ./configure --with-included-gettext to prevent auto-detection. The configuration process will not test for the `catgets' function and therefore it will not be used. The reason is that even an emulation of `gettext' on top of `catgets' could not provide all the extensions of the GNU `gettext' library. Internationalized packages usually have many `po/LL.po' files, where LL gives an ISO 639 two-letter code identifying the language. Unless translations have been forbidden at `configure' time by using the `--disable-nls' switch, all available translations are installed together with the package. However, the environment variable `LINGUAS' may be set, prior to configuration, to limit the installed set. `LINGUAS' should then contain a space separated list of two-letter codes, stating which languages are allowed. 1.3 Using This Package ====================== As a user, if your language has been installed for this package, you only have to set the `LANG' environment variable to the appropriate `LL_CC' combination. Here `LL' is an ISO 639 two-letter language code, and `CC' is an ISO 3166 two-letter country code. For example, let's suppose that you speak German and live in Germany. At the shell prompt, merely execute `setenv LANG de_DE' (in `csh'), `export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash'). This can be done from your `.login' or `.profile' file, once and for all. You might think that the country code specification is redundant. But in fact, some languages have dialects in different countries. For example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The country code serves to distinguish the dialects. The locale naming convention of `LL_CC', with `LL' denoting the language and `CC' denoting the country, is the one use on systems based on GNU libc. On other systems, some variations of this scheme are used, such as `LL' or `LL_CC.ENCODING'. You can get the list of locales supported by your system for your language by running the command `locale -a | grep '^LL''. Not all programs have translations for all languages. By default, an English message is shown in place of a nonexistent translation. If you understand other languages, you can set up a priority list of languages. This is done through a different environment variable, called `LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG' for the purpose of message handling, but you still need to have `LANG' set to the primary language; this is required by other parts of the system libraries. For example, some Swedish users who would rather read translations in German than English for when Swedish is not available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'. Special advice for Norwegian users: The language code for Norwegian bokma*l changed from `no' to `nb' recently (in 2003). During the transition period, while some message catalogs for this language are installed under `nb' and some older ones under `no', it's recommended for Norwegian users to set `LANGUAGE' to `nb:no' so that both newer and older translations are used. In the `LANGUAGE' environment variable, but not in the `LANG' environment variable, `LL_CC' combinations can be abbreviated as `LL' to denote the language's main dialect. For example, `de' is equivalent to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT' (Portuguese as spoken in Portugal) in this context. 1.4 Translating Teams ===================== For the Free Translation Project to be a success, we need interested people who like their own language and write it well, and who are also able to synergize with other translators speaking the same language. Each translation team has its own mailing list. The up-to-date list of teams can be found at the Free Translation Project's homepage, `http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National teams" area. If you'd like to volunteer to _work_ at translating messages, you should become a member of the translating team for your own language. The subscribing address is _not_ the same as the list itself, it has `-request' appended. For example, speakers of Swedish can send a message to `sv-request@li.org', having this message body: subscribe Keep in mind that team members are expected to participate _actively_ in translations, or at solving translational difficulties, rather than merely lurking around. If your team does not exist yet and you want to start one, or if you are unsure about what to do or how to get started, please write to `translation@iro.umontreal.ca' to reach the coordinator for all translator teams. The English team is special. It works at improving and uniformizing the terminology in use. Proven linguistic skills are praised more than programming skills, here. 1.5 Available Packages ====================== Languages are not equally supported in all packages. The following matrix shows the current state of internationalization, as of October 2006. The matrix shows, in regard of each package, for which languages PO files have been submitted to translation coordination, with a translation percentage of at least 50%. Ready PO files af am ar az be bg bs ca cs cy da de el en en_GB eo +----------------------------------------------------+ GNUnet | [] | a2ps | [] [] [] [] [] | aegis | () | ant-phone | () | anubis | [] | ap-utils | | aspell | [] [] [] [] [] | bash | [] [] [] | batchelor | [] | bfd | | bibshelf | [] | binutils | [] | bison | [] [] | bison-runtime | | bluez-pin | [] [] [] [] [] | cflow | [] | clisp | [] [] | console-tools | [] [] | coreutils | [] [] [] | cpio | | cpplib | [] [] [] | cryptonit | [] | darkstat | [] () [] | dialog | [] [] [] [] [] [] | diffutils | [] [] [] [] [] [] | doodle | [] | e2fsprogs | [] [] | enscript | [] [] [] [] | error | [] [] [] [] | fetchmail | [] [] () [] | fileutils | [] [] | findutils | [] [] [] | flex | [] [] [] | fslint | [] | gas | | gawk | [] [] [] | gbiff | [] | gcal | [] | gcc | [] | gettext-examples | [] [] [] [] [] | gettext-runtime | [] [] [] [] [] | gettext-tools | [] [] | gimp-print | [] [] [] [] | gip | [] | gliv | [] | glunarclock | [] | gmult | [] [] | gnubiff | () | gnucash | () () [] | gnucash-glossary | [] () | gnuedu | | gnulib | [] [] [] [] [] [] | gnunet-gtk | | gnutls | | gpe-aerial | [] [] | gpe-beam | [] [] | gpe-calendar | | gpe-clock | [] [] | gpe-conf | [] [] | gpe-contacts | | gpe-edit | [] | gpe-filemanager | | gpe-go | [] | gpe-login | [] [] | gpe-ownerinfo | [] [] | gpe-package | | gpe-sketchbook | [] [] | gpe-su | [] [] | gpe-taskmanager | [] [] | gpe-timesheet | [] | gpe-today | [] [] | gpe-todo | | gphoto2 | [] [] [] [] | gprof | [] [] | gpsdrive | () () | gramadoir | [] [] | grep | [] [] [] [] [] [] | gretl | | gsasl | | gss | | gst-plugins | [] [] [] [] | gst-plugins-base | [] [] [] | gst-plugins-good | [] [] [] [] [] [] [] | gstreamer | [] [] [] [] [] [] [] | gtick | () | gtkam | [] [] [] | gtkorphan | [] [] | gtkspell | [] [] [] [] | gutenprint | [] | hello | [] [] [] [] [] | id-utils | [] [] | impost | | indent | [] [] [] | iso_3166 | [] [] | iso_3166_2 | | iso_4217 | [] | iso_639 | [] [] | jpilot | [] | jtag | | jwhois | | kbd | [] [] [] [] | keytouch | | keytouch-editor | | keytouch-keyboa... | | latrine | () | ld | [] | leafpad | [] [] [] [] [] | libc | [] [] [] [] [] | libexif | [] | libextractor | [] | libgpewidget | [] [] [] | libgpg-error | [] | libgphoto2 | [] [] | libgphoto2_port | [] [] | libgsasl | | libiconv | [] [] | libidn | [] [] | lifelines | [] () | lilypond | [] | lingoteach | | lynx | [] [] [] [] | m4 | [] [] [] [] | mailutils | [] | make | [] [] | man-db | [] () [] [] | minicom | [] [] [] | mysecretdiary | [] [] | nano | [] [] [] | nano_1_0 | [] () [] [] | opcodes | [] | parted | | pilot-qof | [] | psmisc | [] | pwdutils | | python | | qof | | radius | [] | recode | [] [] [] [] [] [] | rpm | [] [] | screem | | scrollkeeper | [] [] [] [] [] [] [] [] | sed | [] [] [] | sh-utils | [] [] | shared-mime-info | [] [] [] [] | sharutils | [] [] [] [] [] [] | shishi | | silky | | skencil | [] () | sketch | [] () | solfege | | soundtracker | [] [] | sp | [] | stardict | [] | system-tools-ba... | [] [] [] [] [] [] [] [] [] | tar | [] | texinfo | [] [] [] | textutils | [] [] [] | tin | () () | tp-robot | [] | tuxpaint | [] [] [] [] [] | unicode-han-tra... | | unicode-transla... | | util-linux | [] [] [] [] | vorbis-tools | [] [] [] [] | wastesedge | () | wdiff | [] [] [] [] | wget | [] [] | xchat | [] [] [] [] [] [] | xkeyboard-config | | xpad | [] [] | +----------------------------------------------------+ af am ar az be bg bs ca cs cy da de el en en_GB eo 10 0 1 2 9 22 1 42 41 2 60 95 16 1 17 16 es et eu fa fi fr ga gl gu he hi hr hu id is it +--------------------------------------------------+ GNUnet | | a2ps | [] [] [] () | aegis | | ant-phone | [] | anubis | [] | ap-utils | [] [] | aspell | [] [] [] | bash | [] [] [] | batchelor | [] [] | bfd | [] | bibshelf | [] [] [] | binutils | [] [] [] | bison | [] [] [] [] [] [] | bison-runtime | [] [] [] [] [] | bluez-pin | [] [] [] [] [] | cflow | [] | clisp | [] [] | console-tools | | coreutils | [] [] [] [] [] [] | cpio | [] [] [] | cpplib | [] [] | cryptonit | [] | darkstat | [] () [] [] [] | dialog | [] [] [] [] [] [] [] [] | diffutils | [] [] [] [] [] [] [] [] [] | doodle | [] [] | e2fsprogs | [] [] [] | enscript | [] [] [] | error | [] [] [] [] [] | fetchmail | [] | fileutils | [] [] [] [] [] [] | findutils | [] [] [] [] | flex | [] [] [] | fslint | [] | gas | [] [] | gawk | [] [] [] [] | gbiff | [] | gcal | [] [] | gcc | [] | gettext-examples | [] [] [] [] [] [] | gettext-runtime | [] [] [] [] [] [] | gettext-tools | [] [] [] | gimp-print | [] [] | gip | [] [] [] | gliv | () | glunarclock | [] [] [] | gmult | [] [] [] | gnubiff | () () | gnucash | () () () | gnucash-glossary | [] [] | gnuedu | [] | gnulib | [] [] [] [] [] [] [] [] | gnunet-gtk | | gnutls | | gpe-aerial | [] [] | gpe-beam | [] [] | gpe-calendar | | gpe-clock | [] [] [] [] | gpe-conf | [] | gpe-contacts | [] [] | gpe-edit | [] [] [] [] | gpe-filemanager | [] | gpe-go | [] [] [] | gpe-login | [] [] [] | gpe-ownerinfo | [] [] [] [] [] | gpe-package | [] | gpe-sketchbook | [] [] | gpe-su | [] [] [] [] | gpe-taskmanager | [] [] [] | gpe-timesheet | [] [] [] [] | gpe-today | [] [] [] [] | gpe-todo | [] | gphoto2 | [] [] [] [] [] | gprof | [] [] [] [] | gpsdrive | () () [] () | gramadoir | [] [] | grep | [] [] [] [] [] [] [] [] [] [] [] [] | gretl | [] [] [] | gsasl | [] [] | gss | [] | gst-plugins | [] [] [] | gst-plugins-base | [] [] | gst-plugins-good | [] [] [] | gstreamer | [] [] [] | gtick | [] | gtkam | [] [] [] [] | gtkorphan | [] [] | gtkspell | [] [] [] [] [] [] | gutenprint | [] | hello | [] [] [] [] [] [] [] [] [] [] [] [] [] | id-utils | [] [] [] [] [] | impost | [] [] | indent | [] [] [] [] [] [] [] [] [] [] | iso_3166 | [] [] [] | iso_3166_2 | [] | iso_4217 | [] [] [] [] | iso_639 | [] [] [] [] [] | jpilot | [] [] | jtag | [] | jwhois | [] [] [] [] [] | kbd | [] [] | keytouch | [] | keytouch-editor | [] | keytouch-keyboa... | [] | latrine | [] [] [] | ld | [] [] | leafpad | [] [] [] [] [] [] | libc | [] [] [] [] [] | libexif | [] | libextractor | [] | libgpewidget | [] [] [] [] [] | libgpg-error | | libgphoto2 | [] [] [] | libgphoto2_port | [] [] | libgsasl | [] [] | libiconv | [] [] | libidn | [] [] | lifelines | () | lilypond | [] | lingoteach | [] [] [] | lynx | [] [] [] | m4 | [] [] [] [] | mailutils | [] [] | make | [] [] [] [] [] [] [] [] | man-db | () | minicom | [] [] [] [] | mysecretdiary | [] [] [] | nano | [] [] [] [] [] [] | nano_1_0 | [] [] [] [] [] | opcodes | [] [] [] [] | parted | [] [] [] [] | pilot-qof | | psmisc | [] [] [] | pwdutils | | python | | qof | [] | radius | [] [] | recode | [] [] [] [] [] [] [] [] | rpm | [] [] | screem | | scrollkeeper | [] [] [] | sed | [] [] [] [] [] | sh-utils | [] [] [] [] [] [] [] | shared-mime-info | [] [] [] [] [] [] | sharutils | [] [] [] [] [] [] [] [] | shishi | | silky | [] | skencil | [] [] | sketch | [] [] | solfege | [] | soundtracker | [] [] [] | sp | [] | stardict | [] | system-tools-ba... | [] [] [] [] [] [] [] [] | tar | [] [] [] [] [] [] [] | texinfo | [] [] | textutils | [] [] [] [] [] | tin | [] () | tp-robot | [] [] [] [] | tuxpaint | [] [] | unicode-han-tra... | | unicode-transla... | [] [] | util-linux | [] [] [] [] [] [] [] | vorbis-tools | [] [] | wastesedge | () | wdiff | [] [] [] [] [] [] [] [] | wget | [] [] [] [] [] [] [] [] | xchat | [] [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] [] | xpad | [] [] [] | +--------------------------------------------------+ es et eu fa fi fr ga gl gu he hi hr hu id is it 88 22 14 2 40 115 61 14 1 8 1 6 59 31 0 52 ja ko ku ky lg lt lv mk mn ms mt nb ne nl nn no +-------------------------------------------------+ GNUnet | | a2ps | () [] [] () | aegis | () | ant-phone | [] | anubis | [] [] [] | ap-utils | [] | aspell | [] [] | bash | [] | batchelor | [] [] | bfd | | bibshelf | [] | binutils | | bison | [] [] [] | bison-runtime | [] [] [] | bluez-pin | [] [] [] | cflow | | clisp | [] | console-tools | | coreutils | [] | cpio | | cpplib | [] | cryptonit | [] | darkstat | [] [] | dialog | [] [] | diffutils | [] [] [] | doodle | | e2fsprogs | [] | enscript | [] | error | [] | fetchmail | [] [] | fileutils | [] [] | findutils | [] | flex | [] [] | fslint | [] [] | gas | | gawk | [] [] | gbiff | [] | gcal | | gcc | | gettext-examples | [] [] | gettext-runtime | [] [] [] | gettext-tools | [] [] | gimp-print | [] [] | gip | [] [] | gliv | [] | glunarclock | [] [] | gmult | [] [] | gnubiff | | gnucash | () () | gnucash-glossary | [] | gnuedu | | gnulib | [] [] [] [] | gnunet-gtk | | gnutls | | gpe-aerial | [] | gpe-beam | [] | gpe-calendar | [] | gpe-clock | [] [] [] | gpe-conf | [] [] | gpe-contacts | [] | gpe-edit | [] [] [] | gpe-filemanager | [] [] | gpe-go | [] [] [] | gpe-login | [] [] [] | gpe-ownerinfo | [] [] | gpe-package | [] [] | gpe-sketchbook | [] [] | gpe-su | [] [] [] | gpe-taskmanager | [] [] [] [] | gpe-timesheet | [] | gpe-today | [] [] | gpe-todo | [] | gphoto2 | [] [] | gprof | | gpsdrive | () () () | gramadoir | () | grep | [] [] [] [] | gretl | | gsasl | [] | gss | | gst-plugins | [] | gst-plugins-base | | gst-plugins-good | [] | gstreamer | [] | gtick | | gtkam | [] | gtkorphan | [] | gtkspell | [] [] | gutenprint | | hello | [] [] [] [] [] [] | id-utils | [] | impost | | indent | [] [] | iso_3166 | [] | iso_3166_2 | [] | iso_4217 | [] [] [] | iso_639 | [] [] | jpilot | () () () | jtag | | jwhois | [] | kbd | [] | keytouch | [] | keytouch-editor | | keytouch-keyboa... | | latrine | [] | ld | | leafpad | [] [] | libc | [] [] [] [] [] | libexif | | libextractor | | libgpewidget | [] | libgpg-error | | libgphoto2 | [] | libgphoto2_port | [] | libgsasl | [] | libiconv | | libidn | [] [] | lifelines | [] | lilypond | | lingoteach | [] | lynx | [] [] | m4 | [] [] | mailutils | | make | [] [] [] | man-db | () | minicom | [] | mysecretdiary | [] | nano | [] [] [] | nano_1_0 | [] [] [] | opcodes | [] | parted | [] [] | pilot-qof | | psmisc | [] [] [] | pwdutils | | python | | qof | | radius | | recode | [] | rpm | [] [] | screem | [] | scrollkeeper | [] [] [] [] | sed | [] [] | sh-utils | [] [] | shared-mime-info | [] [] [] [] [] | sharutils | [] [] | shishi | | silky | [] | skencil | | sketch | | solfege | | soundtracker | | sp | () | stardict | [] [] | system-tools-ba... | [] [] [] [] | tar | [] [] [] | texinfo | [] [] [] | textutils | [] [] [] | tin | | tp-robot | [] | tuxpaint | [] | unicode-han-tra... | | unicode-transla... | | util-linux | [] [] | vorbis-tools | [] | wastesedge | [] | wdiff | [] [] | wget | [] [] | xchat | [] [] [] [] | xkeyboard-config | [] | xpad | [] [] [] | +-------------------------------------------------+ ja ko ku ky lg lt lv mk mn ms mt nb ne nl nn no 52 24 2 2 1 3 0 2 3 21 0 15 1 97 5 1 nso or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta +------------------------------------------------------+ GNUnet | | a2ps | () [] [] [] [] [] [] | aegis | () () | ant-phone | [] [] | anubis | [] [] [] | ap-utils | () | aspell | [] [] | bash | [] [] [] | batchelor | [] [] | bfd | | bibshelf | [] | binutils | [] [] | bison | [] [] [] [] [] | bison-runtime | [] [] [] [] | bluez-pin | [] [] [] [] [] [] [] [] [] | cflow | [] | clisp | [] | console-tools | [] | coreutils | [] [] [] [] | cpio | [] [] [] | cpplib | [] | cryptonit | [] [] | darkstat | [] [] [] [] [] [] | dialog | [] [] [] [] [] [] [] [] [] | diffutils | [] [] [] [] [] [] | doodle | [] [] | e2fsprogs | [] [] | enscript | [] [] [] [] [] | error | [] [] [] [] | fetchmail | [] [] [] | fileutils | [] [] [] [] [] | findutils | [] [] [] [] [] [] | flex | [] [] [] [] [] | fslint | [] [] [] [] | gas | | gawk | [] [] [] [] | gbiff | [] | gcal | [] | gcc | [] | gettext-examples | [] [] [] [] [] [] [] [] | gettext-runtime | [] [] [] [] [] [] [] [] | gettext-tools | [] [] [] [] [] [] [] | gimp-print | [] [] | gip | [] [] [] [] | gliv | [] [] [] [] | glunarclock | [] [] [] [] [] [] | gmult | [] [] [] [] | gnubiff | () | gnucash | () [] | gnucash-glossary | [] [] [] | gnuedu | | gnulib | [] [] [] [] [] | gnunet-gtk | [] | gnutls | [] [] | gpe-aerial | [] [] [] [] [] [] [] | gpe-beam | [] [] [] [] [] [] [] | gpe-calendar | [] | gpe-clock | [] [] [] [] [] [] [] [] | gpe-conf | [] [] [] [] [] [] [] | gpe-contacts | [] [] [] [] [] | gpe-edit | [] [] [] [] [] [] [] [] | gpe-filemanager | [] [] | gpe-go | [] [] [] [] [] [] | gpe-login | [] [] [] [] [] [] [] [] | gpe-ownerinfo | [] [] [] [] [] [] [] [] | gpe-package | [] [] | gpe-sketchbook | [] [] [] [] [] [] [] [] | gpe-su | [] [] [] [] [] [] [] [] | gpe-taskmanager | [] [] [] [] [] [] [] [] | gpe-timesheet | [] [] [] [] [] [] [] [] | gpe-today | [] [] [] [] [] [] [] [] | gpe-todo | [] [] [] [] | gphoto2 | [] [] [] [] [] | gprof | [] [] [] | gpsdrive | [] [] [] | gramadoir | [] [] | grep | [] [] [] [] [] [] [] [] | gretl | [] | gsasl | [] [] [] | gss | [] [] [] | gst-plugins | [] [] [] [] | gst-plugins-base | [] | gst-plugins-good | [] [] [] [] | gstreamer | [] [] [] | gtick | [] | gtkam | [] [] [] [] | gtkorphan | [] | gtkspell | [] [] [] [] [] [] [] [] | gutenprint | [] | hello | [] [] [] [] [] [] [] [] | id-utils | [] [] [] [] | impost | [] | indent | [] [] [] [] [] [] | iso_3166 | [] [] [] [] [] [] | iso_3166_2 | | iso_4217 | [] [] [] [] | iso_639 | [] [] [] [] | jpilot | | jtag | [] | jwhois | [] [] [] [] | kbd | [] [] [] | keytouch | [] | keytouch-editor | [] | keytouch-keyboa... | [] | latrine | [] [] | ld | [] | leafpad | [] [] [] [] [] [] | libc | [] [] [] [] [] | libexif | [] | libextractor | [] [] | libgpewidget | [] [] [] [] [] [] [] | libgpg-error | [] [] | libgphoto2 | [] | libgphoto2_port | [] [] [] | libgsasl | [] [] [] [] | libiconv | [] [] | libidn | [] [] () | lifelines | [] [] | lilypond | | lingoteach | [] | lynx | [] [] [] | m4 | [] [] [] [] [] | mailutils | [] [] [] [] | make | [] [] [] [] | man-db | [] [] | minicom | [] [] [] [] [] | mysecretdiary | [] [] [] [] | nano | [] [] [] | nano_1_0 | [] [] [] [] | opcodes | [] [] | parted | [] | pilot-qof | [] | psmisc | [] [] | pwdutils | [] [] | python | | qof | [] [] | radius | [] [] | recode | [] [] [] [] [] [] [] | rpm | [] [] [] [] | screem | | scrollkeeper | [] [] [] [] [] [] [] | sed | [] [] [] [] [] [] [] [] [] | sh-utils | [] [] [] | shared-mime-info | [] [] [] [] [] | sharutils | [] [] [] [] | shishi | [] | silky | [] | skencil | [] [] [] | sketch | [] [] [] | solfege | [] | soundtracker | [] [] | sp | | stardict | [] [] [] | system-tools-ba... | [] [] [] [] [] [] [] [] [] | tar | [] [] [] [] [] | texinfo | [] [] [] [] | textutils | [] [] [] | tin | () | tp-robot | [] | tuxpaint | [] [] [] [] [] | unicode-han-tra... | | unicode-transla... | | util-linux | [] [] [] [] | vorbis-tools | [] [] | wastesedge | | wdiff | [] [] [] [] [] [] | wget | [] [] [] [] | xchat | [] [] [] [] [] [] [] | xkeyboard-config | [] [] | xpad | [] [] [] | +------------------------------------------------------+ nso or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta 0 2 3 58 30 54 5 73 72 4 40 46 11 50 128 2 tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu +---------------------------------------------------+ GNUnet | [] | 2 a2ps | [] [] [] | 19 aegis | | 0 ant-phone | [] [] | 6 anubis | [] [] [] | 11 ap-utils | () [] | 4 aspell | [] [] [] | 15 bash | [] | 11 batchelor | [] [] | 9 bfd | | 1 bibshelf | [] | 7 binutils | [] [] [] | 9 bison | [] [] [] | 19 bison-runtime | [] [] [] | 15 bluez-pin | [] [] [] [] [] [] | 28 cflow | [] [] | 5 clisp | | 6 console-tools | [] [] | 5 coreutils | [] [] | 16 cpio | [] [] [] | 9 cpplib | [] [] [] [] | 11 cryptonit | | 5 darkstat | [] () () | 15 dialog | [] [] [] [] [] | 30 diffutils | [] [] [] [] | 28 doodle | [] | 6 e2fsprogs | [] [] | 10 enscript | [] [] [] | 16 error | [] [] [] [] | 18 fetchmail | [] [] | 12 fileutils | [] [] [] | 18 findutils | [] [] [] | 17 flex | [] [] | 15 fslint | [] | 9 gas | [] | 3 gawk | [] [] | 15 gbiff | [] | 5 gcal | [] | 5 gcc | [] [] [] | 6 gettext-examples | [] [] [] [] [] [] | 27 gettext-runtime | [] [] [] [] [] [] | 28 gettext-tools | [] [] [] [] [] | 19 gimp-print | [] [] | 12 gip | [] [] | 12 gliv | [] [] | 8 glunarclock | [] [] [] | 15 gmult | [] [] [] [] | 15 gnubiff | [] | 1 gnucash | () | 2 gnucash-glossary | [] [] | 9 gnuedu | [] | 2 gnulib | [] [] [] [] [] | 28 gnunet-gtk | | 1 gnutls | | 2 gpe-aerial | [] [] | 14 gpe-beam | [] [] | 14 gpe-calendar | [] | 3 gpe-clock | [] [] [] [] | 21 gpe-conf | [] [] | 14 gpe-contacts | [] [] | 10 gpe-edit | [] [] [] [] | 20 gpe-filemanager | [] | 6 gpe-go | [] [] | 15 gpe-login | [] [] [] [] [] | 21 gpe-ownerinfo | [] [] [] [] | 21 gpe-package | [] | 6 gpe-sketchbook | [] [] | 16 gpe-su | [] [] [] | 20 gpe-taskmanager | [] [] [] | 20 gpe-timesheet | [] [] [] [] | 18 gpe-today | [] [] [] [] [] | 21 gpe-todo | [] | 7 gphoto2 | [] [] [] [] | 20 gprof | [] [] | 11 gpsdrive | | 4 gramadoir | [] | 7 grep | [] [] [] [] | 34 gretl | | 4 gsasl | [] [] | 8 gss | [] | 5 gst-plugins | [] [] [] | 15 gst-plugins-base | [] [] [] | 9 gst-plugins-good | [] [] [] [] [] | 20 gstreamer | [] [] [] | 17 gtick | [] | 3 gtkam | [] | 13 gtkorphan | [] | 7 gtkspell | [] [] [] [] [] [] | 26 gutenprint | | 3 hello | [] [] [] [] [] | 37 id-utils | [] [] | 14 impost | [] | 4 indent | [] [] [] [] | 25 iso_3166 | [] [] [] [] | 16 iso_3166_2 | | 2 iso_4217 | [] [] | 14 iso_639 | [] | 14 jpilot | [] [] [] [] | 7 jtag | [] | 3 jwhois | [] [] [] | 13 kbd | [] [] | 12 keytouch | [] | 4 keytouch-editor | | 2 keytouch-keyboa... | [] | 3 latrine | [] [] | 8 ld | [] [] [] [] | 8 leafpad | [] [] [] [] | 23 libc | [] [] [] | 23 libexif | [] | 4 libextractor | [] | 5 libgpewidget | [] [] [] | 19 libgpg-error | [] | 4 libgphoto2 | [] | 8 libgphoto2_port | [] [] [] | 11 libgsasl | [] | 8 libiconv | [] | 7 libidn | [] [] | 10 lifelines | | 4 lilypond | | 2 lingoteach | [] | 6 lynx | [] [] [] | 15 m4 | [] [] [] | 18 mailutils | [] | 8 make | [] [] [] | 20 man-db | [] | 6 minicom | [] | 14 mysecretdiary | [] [] | 12 nano | [] [] | 17 nano_1_0 | [] [] [] | 18 opcodes | [] [] | 10 parted | [] [] [] | 10 pilot-qof | [] | 3 psmisc | [] | 10 pwdutils | [] | 3 python | | 0 qof | [] | 4 radius | [] | 6 recode | [] [] [] | 25 rpm | [] [] [] [] | 14 screem | [] | 2 scrollkeeper | [] [] [] [] | 26 sed | [] [] [] | 22 sh-utils | [] | 15 shared-mime-info | [] [] [] [] | 24 sharutils | [] [] [] | 23 shishi | | 1 silky | [] | 4 skencil | [] | 7 sketch | | 6 solfege | | 2 soundtracker | [] [] | 9 sp | [] | 3 stardict | [] [] [] [] | 11 system-tools-ba... | [] [] [] [] [] [] [] | 37 tar | [] [] [] [] | 20 texinfo | [] [] [] | 15 textutils | [] [] [] | 17 tin | | 1 tp-robot | [] [] [] | 10 tuxpaint | [] [] [] | 16 unicode-han-tra... | | 0 unicode-transla... | | 2 util-linux | [] [] [] | 20 vorbis-tools | [] [] | 11 wastesedge | | 1 wdiff | [] [] | 22 wget | [] [] [] | 19 xchat | [] [] [] [] | 29 xkeyboard-config | [] [] [] [] | 11 xpad | [] [] [] | 14 +---------------------------------------------------+ 77 teams tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu 170 domains 0 1 1 77 39 0 136 10 1 48 5 54 0 2028 Some counters in the preceding matrix are higher than the number of visible blocks let us expect. This is because a few extra PO files are used for implementing regional variants of languages, or language dialects. For a PO file in the matrix above to be effective, the package to which it applies should also have been internationalized and distributed as such by its maintainer. There might be an observable lag between the mere existence a PO file and its wide availability in a distribution. If October 2006 seems to be old, you may fetch a more recent copy of this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date matrix with full percentage details can be found at `http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'. 1.6 Using `gettext' in new packages =================================== If you are writing a freely available program and want to internationalize it you are welcome to use GNU `gettext' in your package. Of course you have to respect the GNU Library General Public License which covers the use of the GNU `gettext' library. This means in particular that even non-free programs can use `libintl' as a shared library, whereas only free software can use `libintl' as a static library or use modified versions of `libintl'. Once the sources are changed appropriately and the setup can handle the use of `gettext' the only thing missing are the translations. The Free Translation Project is also available for packages which are not developed inside the GNU project. Therefore the information given above applies also for every other Free Software Project. Contact `translation@iro.umontreal.ca' to make the `.pot' files available to the translation teams. unpackager-dragNdrop-1-i486-slxr/usr/doc/xz-4.999.8beta/ChangeLog0000644000000000000000000000012010724612255022710 0ustar rootrootSee the commit log in the git repository: git://ctrl.tukaani.org/lzma-utils.git unpackager-dragNdrop-1-i486-slxr/usr/doc/xz-4.999.8beta/COPYING.LGPLv2.10000644000000000000000000006350410641041005023337 0ustar rootroot GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 Copyright (C) 1991, 1999 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. [This is the first released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.] Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. When we speak of free software, we are referring to freedom of use, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish); that you receive source code or can get it if you want it; that you can change the software and use pieces of it in new free programs; and that you are informed that you can do these things. To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it. For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights. We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs. When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances. For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License. In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system. Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library. The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run. GNU LESSER GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you". A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) "Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. 1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) The modified work must itself be a software library. b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. This option is useful when you wish to copy part of the code of the Library into a program that is not a library. 4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. 5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. 6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with. c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. 10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License. 11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 13. The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Libraries If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License). To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the library `Frob' (a library for tweaking knobs) written by James Random Hacker. , 1 April 1990 Ty Coon, President of Vice That's all there is to it! unpackager-dragNdrop-1-i486-slxr/usr/doc/xz-4.999.8beta/README0000644000000000000000000002014011140627702022016 0ustar rootroot XZ Utils ======== Important This is a beta version. The .xz file format is now stable though, which means that files created with the beta version will be uncompressible with all future XZ Utils versions too (assuming that there are no catastrophical bugs). liblzma API is pretty stable now, although minor tweaks may still be done if really needed. The ABI is not stable yet. The major soname will be bumped right before the first stable release. Probably it will be bumped to something like .so.5.0.0 because some distributions using the alpha versions already had to use other versions than .so.0.0.0. Excluding the Doxygen style docs in libilzma API headers, the documentation in this package (including the rest of this README) is not very up to date, and may contain incorrect or misleading information. Overview LZMA is a general purporse compression algorithm designed by Igor Pavlov as part of 7-Zip. It provides high compression ratio while keeping the decompression speed fast. XZ Utils are an attempt to make LZMA compression easy to use on free (as in freedom) operating systems. This is achieved by providing tools and libraries which are similar to use than the equivalents of the most popular existing compression algorithms. XZ Utils consist of a few relatively separate parts: * liblzma is an encoder/decoder library with support for several filters (algorithm implementations). The primary filter is LZMA. * libzfile (or whatever the name will be) enables reading from and writing to gzip, bzip2 and LZMA compressed and uncompressed files with an API similar to the standard ANSI-C file I/O. [ NOTE: libzfile is not implemented yet. ] * xz command line tool has almost identical syntax than gzip and bzip2. It makes LZMA easy for average users, but also provides advanced options to finetune the compression settings. * A few shell scripts make diffing and grepping LZMA compressed files easy. The scripts were adapted from gzip and bzip2. Supported platforms XZ Utils are developed on GNU+Linux, but they should work at least on *BSDs and Solaris. They probably work on some other POSIX-like operating systems too. If you use GCC to compile XZ Utils, you need at least version 3.x.x. GCC version 2.xx.x doesn't support some C99 features used in XZ Utils source code, thus GCC 2 won't compile XZ Utils. If you have written patches to make XZ Utils to work on previously unsupported platform, please send the patches to me! I will consider including them to the official version. It's nice to minimize the need of third-party patching. One exception: Don't request or send patches to change the whole source package to C89. I find C99 substantially nicer to write and maintain. However, the public library headers must be in C89 to avoid frustrating those who maintain programs, which are strictly in C89 or C++. Version numbering The version number of XZ Utils has absolutely nothing to do with the version number of LZMA SDK or 7-Zip. The new version number format of XZ Utils is X.Y.ZS: - X is the major version. When this is incremented, the library API and ABI break. - Y is the minor version. It is incremented when new features are added without breaking existing API or ABI. Even Y indicates stable release and odd Y indicates unstable (alpha or beta version). - Z is the revision. This has different meaning for stable and unstable releases: * Stable: Z is incremented when bugs get fixed without adding any new features. * Unstable: Z is just a counter. API or ABI of features added in earlier unstable releases having the same X.Y may break. - S indicates stability of the release. It is missing from the stable releases where Y is an even number. When Y is odd, S is either "alpha" or "beta" to make it very clear that such versions are not stable releases. The same X.Y.Z combination is not used for more than one stability level i.e. after X.Y.Zalpha, the next version can be X.Y.(Z+1)beta but not X.Y.Zbeta. configure options If you are not familiar with `configure' scripts, read the file INSTALL first. In most cases, the default --enable/--disable/--with/--without options are what you want. Don't touch them if you are unsure. --disable-encoder Do not compile the encoder component of liblzma. This implies --disable-match-finders. If you need only the decoder, you can decrease the library size dramatically with this option. The default is to build the encoder. --disable-decoder Do not compile the decoder component of liblzma. The default is to build the decoder. --enable-filters= liblzma supports several filters. See liblzma-intro.txt for a little more information about these. The default is to build all the filters. --enable-match-finders= liblzma includes two categories of match finders: hash chains and binary trees. Hash chains (hc3 and hc4) are quite fast but they don't provide the best compression ratio. Binary trees (bt2, bt3 and bt4) give excellent compression ratio, but they are slower and need more memory than hash chains. You need to enable at least one match finder to build the LZMA filter encoder. Usually hash chains are used only in the fast mode, while binary trees are used to when the best compression ratio is wanted. The default is to build all the match finders. --enable-checks= liblzma support multiple integrity checks. CRC32 is mandatory, and cannot be omitted. See liblzma-intro.txt for more information about usage of the integrity checks. --disable-assembler liblzma includes some assembler optimizations. Currently there is only assembler code for CRC32 and CRC64 for 32-bit x86. All the assembler code in liblzma is position-independent code, which is suitable for use in shared libraries and position-independent executables. So far only i386 instructions are used, but the code is optimized for i686 class CPUs. If you are compiling liblzma exclusively for pre-i686 systems, you may want to disable the assembler code. --enable-small Omits precomputed tables. This makes liblzma a few KiB smaller. Startup time increases, because the tables need to be computed first. --enable-debug This enables the assert() macro and possibly some other run-time consistency checks. It slows down things somewhat, so you normally don't want to have this enabled. --enable-werror Makes all compiler warnings an error, that abort the compilation. This may help catching bugs, and should work on most systems. This has no effect on the resulting binaries. Static vs. dynamic linking of the command line tools By default, the command line tools are linked statically against liblzma. There a are a few reasons: - The executable(s) can be in /bin while the shared liblzma can still be in /usr/lib (if the distro uses such file system hierachy). - It's easier to copy the executables to other systems, since they depend only on libc. - It's slightly faster on some architectures like x86. If you don't like this, you can get the command line tools linked against the shared liblzma by specifying --disable-static to configure. This disables building static liblzma completely. unpackager-dragNdrop-1-i486-slxr/usr/doc/xz-4.999.8beta/COPYING.GPLv30000644000000000000000000010451310642030763023073 0ustar rootroot GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . unpackager-dragNdrop-1-i486-slxr/usr/doc/xz-4.999.8beta/file-format.txt0000644000000000000000000012235111133215706024112 0ustar rootroot The .xz File Format =================== Version 1.0.0 (2009-01-14) 0. Preface 0.1. Notices and Acknowledgements 0.2. Getting the Latest Version 0.3. Version History 1. Conventions 1.1. Byte and Its Representation 1.2. Multibyte Integers 2. Overall Structure of .xz File 2.1. Stream 2.1.1. Stream Header 2.1.1.1. Header Magic Bytes 2.1.1.2. Stream Flags 2.1.1.3. CRC32 2.1.2. Stream Footer 2.1.2.1. CRC32 2.1.2.2. Backward Size 2.1.2.3. Stream Flags 2.1.2.4. Footer Magic Bytes 2.2. Stream Padding 3. Block 3.1. Block Header 3.1.1. Block Header Size 3.1.2. Block Flags 3.1.3. Compressed Size 3.1.4. Uncompressed Size 3.1.5. List of Filter Flags 3.1.6. Header Padding 3.1.7. CRC32 3.2. Compressed Data 3.3. Block Padding 3.4. Check 4. Index 4.1. Index Indicator 4.2. Number of Records 4.3. List of Records 4.3.1. Unpadded Size 4.3.2. Uncompressed Size 4.4. Index Padding 4.5. CRC32 5. Filter Chains 5.1. Alignment 5.2. Security 5.3. Filters 5.3.1. LZMA2 5.3.2. Branch/Call/Jump Filters for Executables 5.3.3. Delta 5.3.3.1. Format of the Encoded Output 5.4. Custom Filter IDs 5.4.1. Reserved Custom Filter ID Ranges 6. Cyclic Redundancy Checks 7. References 0. Preface This document describes the .xz file format (filename suffix ".xz", MIME type "application/x-xz"). It is intended that this this format replace the old .lzma format used by LZMA SDK and LZMA Utils. 0.1. Notices and Acknowledgements This file format was designed by Lasse Collin and Igor Pavlov. Special thanks for helping with this document goes to Ville Koskinen. Thanks for helping with this document goes to Mark Adler, H. Peter Anvin, Mikko Pouru, and Lars Wirzenius. This document has been put into the public domain. 0.2. Getting the Latest Version The latest official version of this document can be downloaded from . Specific versions of this document have a filename xz-file-format-X.Y.Z.txt where X.Y.Z is the version number. For example, the version 1.0.0 of this document is available at . 0.3. Version History Version Date Description 1.0.0 2008-01-14 The first official version 1. Conventions The key words "MUST", "MUST NOT", "REQUIRED", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC-2119]. Indicating a warning means displaying a message, returning appropriate exit status, or doing something else to let the user know that something worth warning occurred. The operation SHOULD still finish if a warning is indicated. Indicating an error means displaying a message, returning appropriate exit status, or doing something else to let the user know that something prevented successfully finishing the operation. The operation MUST be aborted once an error has been indicated. 1.1. Byte and Its Representation In this document, byte is always 8 bits. A "null byte" has all bits unset. That is, the value of a null byte is 0x00. To represent byte blocks, this document uses notation that is similar to the notation used in [RFC-1952]: +-------+ | Foo | One byte. +-------+ +---+---+ | Foo | Two bytes; that is, some of the vertical bars +---+---+ can be missing. +=======+ | Foo | Zero or more bytes. +=======+ In this document, a boxed byte or a byte sequence declared using this notation is called "a field". The example field above would be called "the Foo field" or plain "Foo". If there are many fields, they may be split to multiple lines. This is indicated with an arrow ("--->"): +=====+ | Foo | +=====+ +=====+ ---> | Bar | +=====+ The above is equivalent to this: +=====+=====+ | Foo | Bar | +=====+=====+ 1.2. Multibyte Integers Multibyte integers of static length, such as CRC values, are stored in little endian byte order (least significant byte first). When smaller values are more likely than bigger values (for example file sizes), multibyte integers are encoded in a variable-length representation: - Numbers in the range [0, 127] are copied as is, and take one byte of space. - Bigger numbers will occupy two or more bytes. All but the last byte of the multibyte representation have the highest (eighth) bit set. For now, the value of the variable-length integers is limited to 63 bits, which limits the encoded size of the integer to nine bytes. These limits may be increased in future if needed. The following C code illustrates encoding and decoding of variable-length integers. The functions return the number of bytes occupied by the integer (1-9), or zero on error. #include #include size_t encode(uint8_t buf[static 9], uint64_t num) { if (num > UINT64_MAX / 2) return 0; size_t i = 0; while (num >= 0x80) { buf[i++] = (uint8_t)(num) | 0x80; num >>= 7; } buf[i++] = (uint8_t)(num); return i; } size_t decode(const uint8_t buf[], size_t size_max, uint64_t *num) { if (size_max == 0) return 0; if (size_max > 9) size_max = 9; *num = buf[0] & 0x7F; size_t i = 0; while (buf[i++] & 0x80) { if (i >= size_max || buf[i] == 0x00) return 0; *num |= (uint64_t)(buf[i] & 0x7F) << (i * 7); } return i; } 2. Overall Structure of .xz File A standalone .xz files consist of one or more Streams which may have Stream Padding between or after them: +========+================+========+================+ | Stream | Stream Padding | Stream | Stream Padding | ... +========+================+========+================+ While a typical file contains only one Stream and no Stream Padding, a decoder handling standalone .xz files SHOULD support files that have more than one Stream or Stream Padding. In contrast to standalone .xz files, when the .xz file format is used as an internal part of some other file format or communication protocol, it usually is expected that the decoder stops after the first Stream, and doesn't look for Stream Padding or possibly other Streams. 2.1. Stream +-+-+-+-+-+-+-+-+-+-+-+-+=======+=======+ +=======+ | Stream Header | Block | Block | ... | Block | +-+-+-+-+-+-+-+-+-+-+-+-+=======+=======+ +=======+ +=======+-+-+-+-+-+-+-+-+-+-+-+-+ ---> | Index | Stream Footer | +=======+-+-+-+-+-+-+-+-+-+-+-+-+ All the above fields have a size that is a multiple of four. If Stream is used as an internal part of another file format, it is RECOMMENDED to make the Stream start at an offset that is a multiple of four bytes. Stream Header, Index, and Stream Footer are always present in a Stream. The maximum size of the Index field is 16 GiB (2^34). There are zero or more Blocks. The maximum number of Blocks is limited only by the maximum size of the Index field. Total size of a Stream MUST be less than 8 EiB (2^63 bytes). The same limit applies to the total amount of uncompressed data stored in a Stream. If an implementation supports handling .xz files with multiple concatenated Streams, it MAY apply the above limits to the file as a whole instead of limiting per Stream basis. 2.1.1. Stream Header +---+---+---+---+---+---+-------+------+--+--+--+--+ | Header Magic Bytes | Stream Flags | CRC32 | +---+---+---+---+---+---+-------+------+--+--+--+--+ 2.1.1.1. Header Magic Bytes The first six (6) bytes of the Stream are so called Header Magic Bytes. They can be used to identify the file type. Using a C array and ASCII: const uint8_t HEADER_MAGIC[6] = { 0xFD, '7', 'z', 'X', 'Z', 0x00 }; In plain hexadecimal: FD 37 7A 58 5A 00 Notes: - The first byte (0xFD) was chosen so that the files cannot be erroneously detected as being in .lzma format, in which the first byte is in the range [0x00, 0xE0]. - The sixth byte (0x00) was chosen to prevent applications from misdetecting the file as a text file. If the Header Magic Bytes don't match, the decoder MUST indicate an error. 2.1.1.2. Stream Flags The first byte of Stream Flags is always a null byte. In future this byte may be used to indicate new Stream version or other Stream properties. The second byte of Stream Flags is a bit field: Bit(s) Mask Description 0-3 0x0F Type of Check (see Section 3.4): ID Size Check name 0x00 0 bytes None 0x01 4 bytes CRC32 0x02 4 bytes (Reserved) 0x03 4 bytes (Reserved) 0x04 8 bytes CRC64 0x05 8 bytes (Reserved) 0x06 8 bytes (Reserved) 0x07 16 bytes (Reserved) 0x08 16 bytes (Reserved) 0x09 16 bytes (Reserved) 0x0A 32 bytes SHA-256 0x0B 32 bytes (Reserved) 0x0C 32 bytes (Reserved) 0x0D 64 bytes (Reserved) 0x0E 64 bytes (Reserved) 0x0F 64 bytes (Reserved) 4-7 0xF0 Reserved for future use; MUST be zero for now. Implementations SHOULD support at least the Check IDs 0x00 (None) and 0x01 (CRC32). Supporting other Check IDs is OPTIONAL. If an unsupported Check is used, the decoder SHOULD indicate a warning or error. If any reserved bit is set, the decoder MUST indicate an error. It is possible that there is a new field present which the decoder is not aware of, and can thus parse the Stream Header incorrectly. 2.1.1.3. CRC32 The CRC32 is calculated from the Stream Flags field. It is stored as an unsigned 32-bit little endian integer. If the calculated value does not match the stored one, the decoder MUST indicate an error. The idea is that Stream Flags would always be two bytes, even if new features are needed. This way old decoders will be able to verify the CRC32 calculated from Stream Flags, and thus distinguish between corrupt files (CRC32 doesn't match) and files that the decoder doesn't support (CRC32 matches but Stream Flags has reserved bits set). 2.1.2. Stream Footer +-+-+-+-+---+---+---+---+-------+------+----------+---------+ | CRC32 | Backward Size | Stream Flags | Footer Magic Bytes | +-+-+-+-+---+---+---+---+-------+------+----------+---------+ 2.1.2.1. CRC32 The CRC32 is calculated from the Backward Size and Stream Flags fields. It is stored as an unsigned 32-bit little endian integer. If the calculated value does not match the stored one, the decoder MUST indicate an error. The reason to have the CRC32 field before the Backward Size and Stream Flags fields is to keep the four-byte fields aligned to a multiple of four bytes. 2.1.2.2. Backward Size Backward Size is stored as a 32-bit little endian integer, which indicates the size of the Index field as multiple of four bytes, minimum value being four bytes: real_backward_size = (stored_backward_size + 1) * 4; If the stored value does not match the real size of the Index field, the decoder MUST indicate an error. Using a fixed-size integer to store Backward Size makes it slightly simpler to parse the Stream Footer when the application needs to parse the Stream backwards. 2.1.2.3. Stream Flags This is a copy of the Stream Flags field from the Stream Header. The information stored to Stream Flags is needed when parsing the Stream backwards. The decoder MUST compare the Stream Flags fields in both Stream Header and Stream Footer, and indicate an error if they are not identical. 2.1.2.4. Footer Magic Bytes As the last step of the decoding process, the decoder MUST verify the existence of Footer Magic Bytes. If they don't match, an error MUST be indicated. Using a C array and ASCII: const uint8_t FOOTER_MAGIC[2] = { 'Y', 'Z' }; In hexadecimal: 59 5A The primary reason to have Footer Magic Bytes is to make it easier to detect incomplete files quickly, without uncompressing. If the file does not end with Footer Magic Bytes (excluding Stream Padding described in Section 2.2), it cannot be undamaged, unless someone has intentionally appended garbage after the end of the Stream. 2.2. Stream Padding Only the decoders that support decoding of concatenated Streams MUST support Stream Padding. Stream Padding MUST contain only null bytes. To preserve the four-byte alignment of consecutive Streams, the size of Stream Padding MUST be a multiple of four bytes. Empty Stream Padding is allowed. Note that non-empty Stream Padding is allowed at the end of the file; there doesn't need to be a new Stream after non-empty Stream Padding. This can be convenient in certain situations [GNU-tar]. The possibility of Stream Padding MUST be taken into account when designing an application that parses Streams backwards, and the application supports concatenated Streams. 3. Block +==============+=================+===============+=======+ | Block Header | Compressed Data | Block Padding | Check | +==============+=================+===============+=======+ 3.1. Block Header +-------------------+-------------+=================+ | Block Header Size | Block Flags | Compressed Size | +-------------------+-------------+=================+ +===================+======================+ ---> | Uncompressed Size | List of Filter Flags | +===================+======================+ +================+--+--+--+--+ ---> | Header Padding | CRC32 | +================+--+--+--+--+ 3.1.1. Block Header Size This field overlaps with the Index Indicator field (see Section 4.1). This field contains the size of the Block Header field, including the Block Header Size field itself. Valid values are in the range [0x01, 0xFF], which indicate the size of the Block Header as multiples of four bytes, minimum size being eight bytes: real_header_size = (encoded_header_size + 1) * 4; If bigger Block Header is needed in future, a new field can be added between the current Block Header and Compressed Data fields. The presence of this new field would be indicated in the Block Header. 3.1.2. Block Flags The first byte of the Block Flags field is a bit field: Bit(s) Mask Description 0-1 0x03 Number of filters (1-4) 2-5 0x3C Reserved for future use; MUST be zero for now. 6 0x40 The Compressed Size field is present. 7 0x80 The Uncompressed Size field is present. If any reserved bit is set, the decoder MUST indicate an error. It is possible that there is a new field present which the decoder is not aware of, and can thus parse the Block Header incorrectly. 3.1.3. Compressed Size This field is present only if the appropriate bit is set in the Block Flags field (see Section 3.1.2). The Compressed Size field contains the size of the Compressed Data field, which MUST be non-zero. Compressed Size is stored using the encoding described in Section 1.2. If the Compressed Size doesn't match the size of the Compressed Data field, the decoder MUST indicate an error. 3.1.4. Uncompressed Size This field is present only if the appropriate bit is set in the Block Flags field (see Section 3.1.2). The Uncompressed Size field contains the size of the Block after uncompressing. Uncompressed Size is stored using the encoding described in Section 1.2. If the Uncompressed Size does not match the real uncompressed size, the decoder MUST indicate an error. Storing the Compressed Size and Uncompressed Size fields serves several purposes: - The decoder knows how much memory it needs to allocate for a temporary buffer in multithreaded mode. - Simple error detection: wrong size indicates a broken file. - Seeking forwards to a specific location in streamed mode. It should be noted that the only reliable way to determine the real uncompressed size is to uncompress the Block, because the Block Header and Index fields may contain (intentionally or unintentionally) invalid information. 3.1.5. List of Filter Flags +================+================+ +================+ | Filter 0 Flags | Filter 1 Flags | ... | Filter n Flags | +================+================+ +================+ The number of Filter Flags fields is stored in the Block Flags field (see Section 3.1.2). The format of each Filter Flags field is as follows: +===========+====================+===================+ | Filter ID | Size of Properties | Filter Properties | +===========+====================+===================+ Both Filter ID and Size of Properties are stored using the encoding described in Section 1.2. Size of Properties indicates the size of the Filter Properties field as bytes. The list of officially defined Filter IDs and the formats of their Filter Properties are described in Section 5.3. Filter IDs greater than or equal to 0x4000_0000_0000_0000 (2^62) are reserved for implementation-specific internal use. These Filter IDs MUST never be used in List of Filter Flags. 3.1.6. Header Padding This field contains as many null byte as it is needed to make the Block Header have the size specified in Block Header Size. If any of the bytes are not null bytes, the decoder MUST indicate an error. It is possible that there is a new field present which the decoder is not aware of, and can thus parse the Block Header incorrectly. 3.1.7. CRC32 The CRC32 is calculated over everything in the Block Header field except the CRC32 field itself. It is stored as an unsigned 32-bit little endian integer. If the calculated value does not match the stored one, the decoder MUST indicate an error. By verifying the CRC32 of the Block Header before parsing the actual contents allows the decoder to distinguish between corrupt and unsupported files. 3.2. Compressed Data The format of Compressed Data depends on Block Flags and List of Filter Flags. Excluding the descriptions of the simplest filters in Section 5.3, the format of the filter-specific encoded data is out of scope of this document. 3.3. Block Padding Block Padding MUST contain 0-3 null bytes to make the size of the Block a multiple of four bytes. This can be needed when the size of Compressed Data is not a multiple of four. 3.4. Check The type and size of the Check field depends on which bits are set in the Stream Flags field (see Section 2.1.1.2). The Check, when used, is calculated from the original uncompressed data. If the calculated Check does not match the stored one, the decoder MUST indicate an error. If the selected type of Check is not supported by the decoder, it SHOULD indicate a warning or error. 4. Index +-----------------+===================+ | Index Indicator | Number of Records | +-----------------+===================+ +=================+===============+-+-+-+-+ ---> | List of Records | Index Padding | CRC32 | +=================+===============+-+-+-+-+ Index serves several purporses. Using it, one can - verify that all Blocks in a Stream have been processed; - find out the uncompressed size of a Stream; and - quickly access the beginning of any Block (random access). 4.1. Index Indicator This field overlaps with the Block Header Size field (see Section 3.1.1). The value of Index Indicator is always 0x00. 4.2. Number of Records This field indicates how many Records there are in the List of Records field, and thus how many Blocks there are in the Stream. The value is stored using the encoding described in Section 1.2. If the decoder has decoded all the Blocks of the Stream, and then notices that the Number of Records doesn't match the real number of Blocks, the decoder MUST indicate an error. 4.3. List of Records List of Records consists of as many Records as indicated by the Number of Records field: +========+========+ | Record | Record | ... +========+========+ Each Record contains information about one Block: +===============+===================+ | Unpadded Size | Uncompressed Size | +===============+===================+ If the decoder has decoded all the Blocks of the Stream, it MUST verify that the contents of the Records match the real Unpadded Size and Uncompressed Size of the respective Blocks. Implementation hint: It is possible to verify the Index with constant memory usage by calculating for example SHA-256 of both the real size values and the List of Records, then comparing the hash values. Implementing this using non-cryptographic hash like CRC32 SHOULD be avoided unless small code size is important. If the decoder supports random-access reading, it MUST verify that Unpadded Size and Uncompressed Size of every completely decoded Block match the sizes stored in the Index. If only partial Block is decoded, the decoder MUST verify that the processed sizes don't exceed the sizes stored in the Index. 4.3.1. Unpadded Size This field indicates the size of the Block excluding the Block Padding field. That is, Unpadded Size is the size of the Block Header, Compressed Data, and Check fields. Unpadded Size is stored using the encoding described in Section 1.2. The value MUST never be zero; with the current structure of Blocks, the actual minimum value for Unpadded Size is five. Implementation note: Because the size of the Block Padding field is not included in Unpadded Size, calculating the total size of a Stream or doing random-access reading requires calculating the actual size of the Blocks by rounding Unpadded Sizes up to the next multiple of four. The reason to exclude Block Padding from Unpadded Size is to ease making a raw copy of Compressed Data without Block Padding. This can be useful, for example, if someone wants to convert Streams to some other file format quickly. 4.3.2. Uncompressed Size This field indicates the Uncompressed Size of the respective Block as bytes. The value is stored using the encoding described in Section 1.2. 4.4. Index Padding This field MUST contain 0-3 null bytes to pad the Index to a multiple of four bytes. 4.5. CRC32 The CRC32 is calculated over everything in the Index field except the CRC32 field itself. The CRC32 is stored as an unsigned 32-bit little endian integer. If the calculated value does not match the stored one, the decoder MUST indicate an error. 5. Filter Chains The Block Flags field defines how many filters are used. When more than one filter is used, the filters are chained; that is, the output of one filter is the input of another filter. The following figure illustrates the direction of data flow. v Uncompressed Data ^ | Filter 0 | Encoder | Filter 1 | Decoder | Filter n | v Compressed Data ^ 5.1. Alignment Alignment of uncompressed input data is usually the job of the application producing the data. For example, to get the best results, an archiver tool should make sure that all PowerPC executable files in the archive stream start at offsets that are multiples of four bytes. Some filters, for example LZMA2, can be configured to take advantage of specified alignment of input data. Note that taking advantage of aligned input can be benefical also when a filter is not the first filter in the chain. For example, if you compress PowerPC executables, you may want to use the PowerPC filter and chain that with the LZMA2 filter. Because not only the input but also the output alignment of the PowerPC filter is four bytes, it is now benefical to set LZMA2 settings so that the LZMA2 encoder can take advantage of its four-byte-aligned input data. The output of the last filter in the chain is stored to the Compressed Data field, which is is guaranteed to be aligned to a multiple of four bytes relative to the beginning of the Stream. This can increase - speed, if the filtered data is handled multiple bytes at a time by the filter-specific encoder and decoder, because accessing aligned data in computer memory is usually faster; and - compression ratio, if the output data is later compressed with an external compression tool. 5.2. Security If filters would be allowed to be chained freely, it would be possible to create malicious files, that would be very slow to decode. Such files could be used to create denial of service attacks. Slow files could occur when multiple filters are chained: v Compressed input data | Filter 1 decoder (last filter) | Filter 0 decoder (non-last filter) v Uncompressed output data The decoder of the last filter in the chain produces a lot of output from little input. Another filter in the chain takes the output of the last filter, and produces very little output while consuming a lot of input. As a result, a lot of data is moved inside the filter chain, but the filter chain as a whole gets very little work done. To prevent this kind of slow files, there are restrictions on how the filters can be chained. These restrictions MUST be taken into account when designing new filters. The maximum number of filters in the chain has been limited to four, thus there can be at maximum of three non-last filters. Of these three non-last filters, only two are allowed to change the size of the data. The non-last filters, that change the size of the data, MUST have a limit how much the decoder can compress the data: the decoder SHOULD produce at least n bytes of output when the filter is given 2n bytes of input. This limit is not absolute, but significant deviations MUST be avoided. The above limitations guarantee that if the last filter in the chain produces 4n bytes of output, the chain as a whole will produce at least n bytes of output. 5.3. Filters 5.3.1. LZMA2 LZMA (Lempel-Ziv-Markov chain-Algorithm) is a general-purporse compression algorithm with high compression ratio and fast decompression. LZMA is based on LZ77 and range coding algorithms. LZMA2 is an extensions on top of the original LZMA. LZMA2 uses LZMA internally, but adds support for flushing the encoder, uncompressed chunks, eases stateful decoder implementations, and improves support for multithreading. Thus, the plain LZMA will not be supported in this file format. Filter ID: 0x21 Size of Filter Properties: 1 byte Changes size of data: Yes Allow as a non-last filter: No Allow as the last filter: Yes Preferred alignment: Input data: Adjustable to 1/2/4/8/16 byte(s) Output data: 1 byte The format of the one-byte Filter Properties field is as follows: Bits Mask Description 0-5 0x3F Dictionary Size 6-7 0xC0 Reserved for future use; MUST be zero for now. Dictionary Size is encoded with one-bit mantissa and five-bit exponent. The smallest dictionary size is 4 KiB and the biggest is 4 GiB. Raw value Mantissa Exponent Dictionary size 0 2 11 4 KiB 1 3 11 6 KiB 2 2 12 8 KiB 3 3 12 12 KiB 4 2 13 16 KiB 5 3 13 24 KiB 6 2 14 32 KiB ... ... ... ... 35 3 27 768 MiB 36 2 28 1024 MiB 37 3 29 1536 MiB 38 2 30 2048 MiB 39 3 30 3072 MiB 40 2 31 4096 MiB - 1 B Instead of having a table in the decoder, the dictionary size can be decoded using the following C code: const uint8_t bits = get_dictionary_flags() & 0x3F; if (bits > 40) return DICTIONARY_TOO_BIG; // Bigger than 4 GiB uint32_t dictionary_size; if (bits == 40) { dictionary_size = UINT32_MAX; } else { dictionary_size = 2 | (bits & 1); dictionary_size <<= bits / 2 + 11; } 5.3.2. Branch/Call/Jump Filters for Executables These filters convert relative branch, call, and jump instructions to their absolute counterparts in executable files. This conversion increases redundancy and thus compression ratio. Size of Filter Properties: 0 or 4 bytes Changes size of data: No Allow as a non-last filter: Yes Allow as the last filter: No Below is the list of filters in this category. The alignment is the same for both input and output data. Filter ID Alignment Description 0x04 1 byte x86 filter (BCJ) 0x05 4 bytes PowerPC (big endian) filter 0x06 16 bytes IA64 filter 0x07 4 bytes ARM (little endian) filter 0x08 2 bytes ARM Thumb (little endian) filter 0x09 4 bytes SPARC filter If the size of Filter Properties is four bytes, the Filter Properties field contains the start offset used for address conversions. It is stored as an unsigned 32-bit little endian integer. If the size of Filter Properties is zero, the start offset is zero. Setting the start offset may be useful if an executable has multiple sections, and there are many cross-section calls. Taking advantage of this feature usually requires usage of the Subblock filter, whose design is not complete yet. 5.3.3. Delta The Delta filter may increase compression ratio when the value of the next byte correlates with the value of an earlier byte at specified distance. Filter ID: 0x03 Size of Filter Properties: 1 byte Changes size of data: No Allow as a non-last filter: Yes Allow as the last filter: No Preferred alignment: Input data: 1 byte Output data: Same as the original input data The Properties byte indicates the delta distance, which can be 1-256 bytes backwards from the current byte: 0x00 indicates distance of 1 byte and 0xFF distance of 256 bytes. 5.3.3.1. Format of the Encoded Output The code below illustrates both encoding and decoding with the Delta filter. // Distance is in the range [1, 256]. const unsigned int distance = get_properties_byte() + 1; uint8_t pos = 0; uint8_t delta[256]; memset(delta, 0, sizeof(delta)); while (1) { const int byte = read_byte(); if (byte == EOF) break; uint8_t tmp = delta[(uint8_t)(distance + pos)]; if (is_encoder) { tmp = (uint8_t)(byte) - tmp; delta[pos] = (uint8_t)(byte); } else { tmp = (uint8_t)(byte) + tmp; delta[pos] = tmp; } write_byte(tmp); --pos; } 5.4. Custom Filter IDs If a developer wants to use custom Filter IDs, he has two choices. The first choice is to contact Lasse Collin and ask him to allocate a range of IDs for the developer. The second choice is to generate a 40-bit random integer, which the developer can use as his personal Developer ID. To minimalize the risk of collisions, Developer ID has to be a randomly generated integer, not manually selected "hex word". The following command, which works on many free operating systems, can be used to generate Developer ID: dd if=/dev/urandom bs=5 count=1 | hexdump The developer can then use his Developer ID to create unique (well, hopefully unique) Filter IDs. Bits Mask Description 0-15 0x0000_0000_0000_FFFF Filter ID 16-55 0x00FF_FFFF_FFFF_0000 Developer ID 56-62 0x3F00_0000_0000_0000 Static prefix: 0x3F The resulting 63-bit integer will use 9 bytes of space when stored using the encoding described in Section 1.2. To get a shorter ID, see the beginning of this Section how to request a custom ID range. 5.4.1. Reserved Custom Filter ID Ranges Range Description 0x0000_0300 - 0x0000_04FF Reserved to ease .7z compatibility 0x0002_0000 - 0x0007_FFFF Reserved to ease .7z compatibility 0x0200_0000 - 0x07FF_FFFF Reserved to ease .7z compatibility 6. Cyclic Redundancy Checks There are several incompatible variations to calculate CRC32 and CRC64. For simplicity and clarity, complete examples are provided to calculate the checks as they are used in this file format. Implementations MAY use different code as long as it gives identical results. The program below reads data from standard input, calculates the CRC32 and CRC64 values, and prints the calculated values as big endian hexadecimal strings to standard output. #include #include #include uint32_t crc32_table[256]; uint64_t crc64_table[256]; void init(void) { static const uint32_t poly32 = UINT32_C(0xEDB88320); static const uint64_t poly64 = UINT64_C(0xC96C5795D7870F42); for (size_t i = 0; i < 256; ++i) { uint32_t crc32 = i; uint64_t crc64 = i; for (size_t j = 0; j < 8; ++j) { if (crc32 & 1) crc32 = (crc32 >> 1) ^ poly32; else crc32 >>= 1; if (crc64 & 1) crc64 = (crc64 >> 1) ^ poly64; else crc64 >>= 1; } crc32_table[i] = crc32; crc64_table[i] = crc64; } } uint32_t crc32(const uint8_t *buf, size_t size, uint32_t crc) { crc = ~crc; for (size_t i = 0; i < size; ++i) crc = crc32_table[buf[i] ^ (crc & 0xFF)] ^ (crc >> 8); return ~crc; } uint64_t crc64(const uint8_t *buf, size_t size, uint64_t crc) { crc = ~crc; for (size_t i = 0; i < size; ++i) crc = crc64_table[buf[i] ^ (crc & 0xFF)] ^ (crc >> 8); return ~crc; } int main() { init(); uint32_t value32 = 0; uint64_t value64 = 0; uint64_t total_size = 0; uint8_t buf[8192]; while (1) { const size_t buf_size = fread(buf, 1, sizeof(buf), stdin); if (buf_size == 0) break; total_size += buf_size; value32 = crc32(buf, buf_size, value32); value64 = crc64(buf, buf_size, value64); } printf("Bytes: %" PRIu64 "\n", total_size); printf("CRC-32: 0x%08" PRIX32 "\n", value32); printf("CRC-64: 0x%016" PRIX64 "\n", value64); return 0; } 7. References LZMA SDK - The original LZMA implementation http://7-zip.org/sdk.html LZMA Utils - LZMA adapted to POSIX-like systems http://tukaani.org/lzma/ XZ Utils - The next generation of LZMA Utils http://tukaani.org/xz/ [RFC-1952] GZIP file format specification version 4.3 http://www.ietf.org/rfc/rfc1952.txt - Notation of byte boxes in section "2.1. Overall conventions" [RFC-2119] Key words for use in RFCs to Indicate Requirement Levels http://www.ietf.org/rfc/rfc2119.txt [GNU-tar] GNU tar 1.21 manual http://www.gnu.org/software/tar/manual/html_node/Blocking-Factor.html - Node 9.4.2 "Blocking Factor", paragraph that begins "gzip will complain about trailing garbage" - Note that this URL points to the latest version of the manual, and may some day not contain the note which is in 1.21. For the exact version of the manual, download GNU tar 1.21: ftp://ftp.gnu.org/pub/gnu/tar/tar-1.21.tar.gz unpackager-dragNdrop-1-i486-slxr/usr/doc/xz-4.999.8beta/COPYING0000644000000000000000000000355411134566414022210 0ustar rootroot XZ Utils Licensing ================== Different licenses apply to different files in this package. Here is a rough summary of which licenses apply to which parts of this package: - liblzma is in the public domain. - xz, xzdec, and lzmadec command line tools are in the public domain unless GNU getopt_long had to be compiled and linked in from the lib directory. The getopt_long code is under GNU LGPLv2.1+. - The scripts to grep, diff, and view compressed files have been adapted from gzip. These scripts are under GNU GPLv2+. - Documentation is in the public domain. - Translated messages are in the public domain. - The build system contains public domain files, and files that are under GNU GPLv2+ or GNU GPLv3+. - Test files, test code, and debugging utilities are in the public domain. You can do whatever you want with the files that have been put into the public domain. If you find public domain legally problematic, take the previous sentence as a license grant. If you still find the lack of copyright legally problematic, you have too many lawyers. As usual, this software is provided "as is", without any warranty. The following license texts are included in the following files: - COPYING.LGPLv2.1: GNU Lesser General Public License version 2.1 - COPYING.GPLv2: GNU General Public License version 2 - COPYING.GPLv3: GNU General Public License version 3 Note that the toolchain (compiler, linker etc.) may add some code pieces that are copyrighted. Thus, it is possible that e.g. liblzma binary wouldn't actually be in the public domain in its entirety even though it contains no copyrighted code from this package. If you have questions, don't hesitate to ask the author(s) for more information. unpackager-dragNdrop-1-i486-slxr/usr/doc/xz-4.999.8beta/THANKS0000644000000000000000000000134111137777442022070 0ustar rootroot Thanks ------ Some people have helped more, some less, some don't even know they have been helpful, but nevertheless everyone's help has been important. :-) In alphabetical order: - Mark Adler - Nelson H. F. Beebe - Anders F. Björklund - İsmail Dönmez - Jean-loup Gailly - Per Øyvind Karlsen - Ville Koskinen - Stephan Kulow - Andraž 'ruskie' Levstik - Jim Meyering - Hongbo Ni - Igor Pavlov - Mikko Pouru - Bernhard Reutner-Fischer - Alexandre Sauvé - Andreas Schwab - Julian Seward - Dan Shechter - Paul Townsend - Mohammed Adnène Trojette - Ralf Wildenhues - Andreas Zieringer Also thanks to all the people who have participated the Tukaani project and others who I have forgot. unpackager-dragNdrop-1-i486-slxr/usr/doc/xz-4.999.8beta/readme-dragndrop0000644000000000000000000000110711236475626024312 0ustar rootrootthis package was the xz tools I wrote a drag n drop script to convert the new slackware packages plus the #code by Joe arose big_bass #this is a very fast drag n drop tool #for decompressing the following formats #it coupled with rox to get the right click #in the menu # *.txz the new format slackware # *.tgz # *.tar.gz # *.tar.bz2 # *.pet # *.pup # *.gz (Not initrd.gz though have another for that) # the *.pup was quite a dance # no gui tool is used as a backend so this is fast # #depends on # " you need xz-4.999.8beta-i486-1-slxr.pet" #for *txz conversion unpackager-dragNdrop-1-i486-slxr/root/0000755000000000000000000000000011236345766016426 5ustar rootrootunpackager-dragNdrop-1-i486-slxr/root/.config/0000755000000000000000000000000011236220122017723 5ustar rootrootunpackager-dragNdrop-1-i486-slxr/root/.config/rox.sourceforge.net/0000755000000000000000000000000011236220156023651 5ustar rootrootunpackager-dragNdrop-1-i486-slxr/root/.config/rox.sourceforge.net/OpenWith/0000755000000000000000000000000011236220603025403 5ustar rootroot././@LongLink0000000000000000000000000000014600000000000011566 Lustar rootrootunpackager-dragNdrop-1-i486-slxr/root/.config/rox.sourceforge.net/OpenWith/.application_octet-stream/unpackager-dragNdrop-1-i486-slxr/root/.config/rox.sourceforge.net/OpenWith/.application_octet-stream0000755000000000000000000000000011236220220032367 5ustar rootroot././@LongLink0000000000000000000000000000017000000000000011563 Lustar rootrootunpackager-dragNdrop-1-i486-slxr/root/.config/rox.sourceforge.net/OpenWith/.application_octet-stream/unzipper_dragNdropunpackager-dragNdrop-1-i486-slxr/root/.config/rox.sourceforge.net/OpenWith/.application_octet-stream0000777000000000000000000000000011236220214037244 2../../../../unzipper_dragNdropustar rootrootunpackager-dragNdrop-1-i486-slxr/root/.config/rox.sourceforge.net/OpenWith/.application_pet/0000755000000000000000000000000011233757251030647 5ustar rootroot././@LongLink0000000000000000000000000000015700000000000011570 Lustar rootrootunpackager-dragNdrop-1-i486-slxr/root/.config/rox.sourceforge.net/OpenWith/.application_pet/unzipper_dragNdropunpackager-dragNdrop-1-i486-slxr/root/.config/rox.sourceforge.net/OpenWith/.application_pet/unzipper0000777000000000000000000000000011236220232037301 2../../../../unzipper_dragNdropustar rootroot././@LongLink0000000000000000000000000000015700000000000011570 Lustar rootrootunpackager-dragNdrop-1-i486-slxr/root/.config/rox.sourceforge.net/OpenWith/.application_x-bzip-compressed-tar/unpackager-dragNdrop-1-i486-slxr/root/.config/rox.sourceforge.net/OpenWith/.application_x-bzip-compr0000755000000000000000000000000011234220361032313 5ustar rootroot././@LongLink0000000000000000000000000000020100000000000011556 Lustar rootrootunpackager-dragNdrop-1-i486-slxr/root/.config/rox.sourceforge.net/OpenWith/.application_x-bzip-compressed-tar/unzipper_dragNdropunpackager-dragNdrop-1-i486-slxr/root/.config/rox.sourceforge.net/OpenWith/.application_x-bzip-compr0000777000000000000000000000000011236220242037165 2../../../../unzipper_dragNdropustar rootroot././@LongLink0000000000000000000000000000015200000000000011563 Lustar rootrootunpackager-dragNdrop-1-i486-slxr/root/.config/rox.sourceforge.net/OpenWith/.application_x-compressed-tar/unpackager-dragNdrop-1-i486-slxr/root/.config/rox.sourceforge.net/OpenWith/.application_x-compressed0000755000000000000000000000000011234174762032412 5ustar rootroot././@LongLink0000000000000000000000000000017400000000000011567 Lustar rootrootunpackager-dragNdrop-1-i486-slxr/root/.config/rox.sourceforge.net/OpenWith/.application_x-compressed-tar/unzipper_dragNdropunpackager-dragNdrop-1-i486-slxr/root/.config/rox.sourceforge.net/OpenWith/.application_x-compressed0000777000000000000000000000000011236220254037252 2../../../../unzipper_dragNdropustar rootrootunpackager-dragNdrop-1-i486-slxr/root/.config/rox.sourceforge.net/OpenWith/.application_pup/0000755000000000000000000000000011236220343030651 5ustar rootroot././@LongLink0000000000000000000000000000015700000000000011570 Lustar rootrootunpackager-dragNdrop-1-i486-slxr/root/.config/rox.sourceforge.net/OpenWith/.application_pup/unzipper_dragNdropunpackager-dragNdrop-1-i486-slxr/root/.config/rox.sourceforge.net/OpenWith/.application_pup/unzipper0000777000000000000000000000000011236220443037321 2../../../../unzipper_dragNdropustar rootrootunpackager-dragNdrop-1-i486-slxr/root/.config/rox.sourceforge.net/OpenWith/.application_x-gzip/0000755000000000000000000000000011236220501031257 5ustar rootroot././@LongLink0000000000000000000000000000016200000000000011564 Lustar rootrootunpackager-dragNdrop-1-i486-slxr/root/.config/rox.sourceforge.net/OpenWith/.application_x-gzip/unzipper_dragNdropunpackager-dragNdrop-1-i486-slxr/root/.config/rox.sourceforge.net/OpenWith/.application_x-gzip/unzip0000777000000000000000000000000011236220524037224 2../../../../unzipper_dragNdropustar rootrootunpackager-dragNdrop-1-i486-slxr/root/.config/rox.sourceforge.net/OpenWith/leafpad0000777000000000000000000000000011236220603032673 2../../../../usr/bin/leafpadustar rootrootunpackager-dragNdrop-1-i486-slxr/root/unzipper_dragNdrop0000755000000000000000000000746711236565062022237 0ustar rootroot#!/bin/sh #code by Joe arose big_bass #this is a very fast drag n drop tool #for decompressing the following formats #it coupled with rox to get the right click #new icon #in the menu # *.txz the new format slackware # *.tgz # *.tar.gz # *.tar.bz2 # *.pet # *.pup # *.gz (Not initrd.gz though have another for that) # the *.pup was quite a dance # no gui tool is used as a backend so this is fast # #first time set up only #I made this icon for the dragndrop #rox -s /usr/share/pixmaps/unzip_package.png #right click on the unzipper_dragNdrop #Set icon ... #then drag /usr/share/pixmaps/unzip_package.png in the box #depends on # xz built in already #for *txz packages cd `dirname "$1"` #tar.bz2 if echo `basename "$1"` | grep -q '.tar.bz2$'; then xmessage -buttons "Yes,No" -center "Do you want to decompress $1 ? (a new folder will be made and decompressed there)" [ $? -eq 101 ] || exit mkdir -p `basename "$1" .tar.bz2` cd `basename "$1" .tar.bz2` tar -xjf "$1" #tar.gz elif echo `basename "$1"` | grep -q '.tar.gz$'; then xmessage -buttons "Yes,No" -center "Do you want to decompress $1 ? (a new folder will be made and decompressed there)" [ $? -eq 101 ] || exit mkdir -p `basename "$1" .tar.gz` cd `basename "$1" .tar.gz` tar -zxf "$1" #.tgz elif echo `basename "$1"` | grep -q '.tgz$'; then xmessage -buttons "Yes,No" -center "Do you want to decompress $1 ? (a new folder will be made and decompressed there)" [ $? -eq 101 ] || exit mkdir -p `basename "$1" .tgz` cd `basename "$1" .tgz` tar -zxf "$1" #.txz elif echo `basename "$1"` | grep -q '.txz$'; then xmessage -buttons "Yes,No" -center "Do you want to decompress $1 ? (a new folder will be made and decompressed there)" [ $? -eq 101 ] || exit mkdir -p `basename "$1" .txz` cd `basename "$1" .txz` xzcat -d "$1" | tar -xv #.pet elif echo `basename "$1"` | grep -q '.pet$'; then xmessage -buttons "Yes,No" -center "Do you want to decompress $1 ? (a new folder will be made and decompressed there)" [ $? -eq 101 ] || exit tar -zxf "$1" #.pup elif echo `basename "$1"` | grep -q '.pup$'; then xmessage -buttons "Yes,No" -center "Do you want to decompress $1 ? (a new folder will be made and decompressed there)" [ $? -eq 101 ] || exit mkdir -p `basename "$1" .pup` cp `basename "$1" ` `basename "$1" .pup` cd `basename "$1" .pup` mv `basename "$1" ` `basename "$1" .pup`".zip" unzip `basename "$1" .pup`".zip" rm `basename "$1" .pup`".zip" tar -zxf *.tgz #.gz elif echo `basename "$1"` | grep -q '.gz$'; then xmessage -buttons "Yes,No" -center "Do you want to decompress $1 ? (a new folder will be made and decompressed there)" [ $? -eq 101 ] || exit mkdir -p `basename "$1" .gz` cp `basename "$1"` `basename "$1" .gz` cd `basename "$1" .gz` gunzip `basename "$1"` else exec xmessage -bg "yellow" -center -title "ERROR" "Not supported" fi