You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

115 lines
9.6 KiB

#zip file with Tcl loader prepended. Requires either builtin zipfs, or vfs::zip to mount while zipped.
#Alternatively unzip so that extracted #modpod-package-version folder is in same folder as .tm file.
#generated using: modpod::lib::make_zip_modpod -offsettype archive <zipfile> <tmfile>
if {[catch {file normalize [info script]} modfile]} {
error "modpod zip stub error. Unable to determine module path. (possible safe interp restrictions?)"
}
if {$modfile eq "" || ![file exists $modfile]} {
error "modpod zip stub error. Unable to determine module path"
}
set moddir [file dirname $modfile]
set mod_and_ver [file rootname [file tail $modfile]]
lassign [split $mod_and_ver -] moduletail version
if {[file exists $moddir/#modpod-$mod_and_ver]} {
source $moddir/#modpod-$mod_and_ver/$mod_and_ver.tm
} else {
#determine module namespace so we can mount appropriately
proc intersect {A B} {
if {[llength $A] == 0} {return {}}
if {[llength $B] == 0} {return {}}
if {[llength $B] > [llength $A]} {
set res $A
set A $B
set B $res
}
set res {}
foreach x $A {set ($x) {}}
foreach x $B {
if {[info exists ($x)]} {
lappend res $x
}
}
return $res
}
set lcase_tmfile_segments [string tolower [file split $moddir]]
set lcase_modulepaths [string tolower [tcl::tm::list]]
foreach lc_mpath $lcase_modulepaths {
set mpath_segments [file split $lc_mpath]
if {[llength [intersect $lcase_tmfile_segments $mpath_segments]] == [llength $mpath_segments]} {
set tail_segments [lrange [file split $moddir] [llength $mpath_segments] end] ;#use properly cased tail
break
}
}
if {[llength $tail_segments]} {
set fullpackage [join [concat $tail_segments $moduletail] ::] ;#full name of package as used in package require
set mount_at #modpod/[file join {*}$tail_segments]/#mounted-modpod-$mod_and_ver
} else {
set fullpackage $moduletail
set mount_at #modpod/#mounted-modpod-$mod_and_ver
}
if {[info commands tcl::zipfs::mount] ne ""} {
#argument order changed to be consistent with vfs::zip::Mount etc
#early versions: zipfs::Mount mountpoint zipname
#since 2023-09: zipfs::Mount zipname mountpoint
#don't use 'file exists' when testing mountpoints. (some versions at least give massive delays on windows platform for non-existance)
#This is presumably related to // being interpreted as a network path
set mountpoints [dict keys [tcl::zipfs::mount]]
if {"//zipfs:/$mount_at" ni $mountpoints} {
#despite API change tcl::zipfs package version was unfortunately not updated - so we don't know argument order without trying it
if {[catch {
#tcl::zipfs::mount $modfile //zipfs:/#mounted-modpod-$mod_and_ver ;#extremely slow if this is a wrong guess (artifact of aforementioned file exists issue ?)
#puts "tcl::zipfs::mount $modfile $mount_at"
tcl::zipfs::mount $modfile $mount_at
} errM]} {
#try old api
if {![catch {tcl::zipfs::mount //zipfs:/$mount_at $modfile}]} {
puts stderr "modpod stub>>> tcl::zipfs::mount <file> <mountpoint> failed.\nbut old api: tcl::zipfs::mount <mountpoint> <file> succeeded\n tcl::zipfs::mount //zipfs://$mount_at $modfile"
puts stderr "Consider upgrading tcl runtime to one with fixed zipfs API"
}
}
if {![file exists //zipfs:/$mount_at/#modpod-$mod_and_ver/$mod_and_ver.tm]} {
puts stderr "modpod stub>>> mount at //zipfs:/$mount_at/#modpod-$mod_and_ver/$mod_and_ver.tm failed\n zipfs mounts: [zipfs mount]"
#tcl::zipfs::unmount //zipfs:/$mount_at
error "Unable to find $mod_and_ver.tm in $modfile for module $fullpackage"
}
}
# #modpod-$mod_and_ver subdirectory always present in the archive so it can be conveniently extracted and run in that form
source //zipfs:/$mount_at/#modpod-$mod_and_ver/$mod_and_ver.tm
} else {
#fallback to slower vfs::zip
#NB. We don't create the intermediate dirs - but the mount still works
if {![file exists $moddir/$mount_at]} {
if {[catch {package require vfs::zip} errM]} {
set msg "Unable to load vfs::zip package to mount module $mod_and_ver (and zipfs not available either)"
append msg \n "If neither zipfs or vfs::zip are available - the module can still be loaded by manually unzipping the file $modfile in place."
append msg \n "The unzipped data will all be contained in a folder named #modpod-$mod_and_ver in the same parent folder as $modfile"
error $msg
} else {
set fd [vfs::zip::Mount $modfile $moddir/$mount_at]
if {![file exists $moddir/$mount_at/#modpod-$mod_and_ver/$mod_and_ver.tm]} {
vfs::zip::Unmount $fd $moddir/$mount_at
error "Unable to find $mod_and_ver.tm in $modfile for module $fullpackage"
}
}
}
source $moddir/$mount_at/#modpod-$mod_and_ver/$mod_and_ver.tm
}
}
#zipped data follows
PK<EFBFBD>cdY<EFBFBD>L<EFBFBD>ʧ ."#modpod-zipper-0.12/zipper-0.12.tm<EFBFBD>Yms<EFBFBD>H<EFBFBD><EFBFBD>_<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>d<EFBFBD>vk7u<EFBFBD><EFBFBD>sU9̹<EFBFBD>4<EFBFBD><EFBFBD><EFBFBD><EFBFBD>i<EFBFBD>a<EFBFBD><EFBFBD><EFBFBD>t<EFBFBD><EFBFBD>
<EFBFBD>^rI<EFBFBD>*<EFBFBD>H<EFBFBD><EFBFBD>~<EFBFBD><EFBFBD><EFBFBD>9<EFBFBD><EFBFBD><EFBFBD><EFBFBD>&:R$<EFBFBD><EFBFBD><EFBFBD>e<EFBFBD>%<EFBFBD><EFBFBD><EFBFBD><EFBFBD>n<EFBFBD><EFBFBD><EFBFBD>E<EFBFBD><EFBFBD>t<EFBFBD><EFBFBD><EFBFBD>^,TJ<EFBFBD><EFBFBD>^<EFBFBD><EFBFBD>(<EFBFBD><EFBFBD><EFBFBD>`<EFBFBD>"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>pU<EFBFBD><EFBFBD>-<EFBFBD>4#<EFBFBD>L<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Cg<EFBFBD>= u
<EFBFBD><EFBFBD><EFBFBD>8<EFBFBD><EFBFBD><EFBFBD>TW<EFBFBD> _+?<EFBFBD><EFBFBD>'a<EFBFBD><EFBFBD><EFBFBD>7<EFBFBD><EFBFBD>4Ky<EFBFBD><EFBFBD>O<EFBFBD>8<EFBFBD>Z<EFBFBD>*<EFBFBD><EFBFBD><EFBFBD>$<EFBFBD><EFBFBD>u<EFBFBD>'<EFBFBD><EFBFBD><EFBFBD><EFBFBD>><EFBFBD><EFBFBD><EFBFBD>,'<EFBFBD>P<EFBFBD>L<EFBFBD><iC<EFBFBD>LY=<EFBFBD><EFBFBD><EFBFBD>B+&9U6ө<EFBFBD>3<EFBFBD>B&<EFBFBD>M<EFBFBD>s<EFBFBD>8-k(W<EFBFBD><EFBFBD>#^<EFBFBD><EFBFBD><EFBFBD>~<EFBFBD>;NG<EFBFBD><EFBFBD>Q<EFBFBD><EFBFBD><EFBFBD>|(3<EFBFBD>ȍ<EFBFBD>3<EFBFBD>R&q~<EFBFBD><EFBFBD>ۏ<EFBFBD>
)<EFBFBD><EFBFBD>{
<EFBFBD>n<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;^fd<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>D<EFBFBD><EFBFBD>
2<EFBFBD>)`׏<EFBFBD><EFBFBD>r<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD>k<EFBFBD><EFBFBD><EFBFBD>(c<EFBFBD>i<EFBFBD>sR<EFBFBD>\bw<EFBFBD><EFBFBD>oן3,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>}<EFBFBD>,#V<EFBFBD>I<EFBFBD><EFBFBD>%<EFBFBD>fi <EFBFBD>!<EFBFBD>$<EFBFBD><EFBFBD>dM><EFBFBD>z2<EFBFBD><EFBFBD>8<EFBFBD>Ӈj<EFBFBD>g3<EFBFBD>K<EFBFBD><EFBFBD><EFBFBD>5TYQp5g<EFBFBD><EFBFBD>C
})57,<EFBFBD>'<EFBFBD><EFBFBD>J<EFBFBD>21<EFBFBD>ٗ*<EFBFBD>͒H<EFBFBD><EFBFBD>8ɜ<EFBFBD><EFBFBD>s<EFBFBD>
<EFBFBD>lj<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>C<EFBFBD><EFBFBD><EFBFBD>gq<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>9<EFBFBD>ՙ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>oK8Yh2G<EFBFBD>͑<EFBFBD><EFBFBD>v<EFBFBD><EFBFBD><EFBFBD><EFBFBD>3̠<EFBFBD>[e<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>"~<EFBFBD><EFBFBD>N^xSh<EFBFBD><EFBFBD>"<EFBFBD><EFBFBD><EFBFBD>s<EFBFBD><EFBFBD>:<EFBFBD><EFBFBD><EFBFBD>/ <EFBFBD> <EFBFBD><-AC̳<EFBFBD><EFBFBD>e<EFBFBD><EFBFBD>5<EFBFBD><EFBFBD>/<EFBFBD>&<EFBFBD><EFBFBD><EFBFBD>s]<EFBFBD><EFBFBD><EFBFBD>g*<EFBFBD>|Ċ<EFBFBD><EFBFBD><EFBFBD>^/<EFBFBD><EFBFBD>2HS<EFBFBD>$:<EFBFBD>+<EFBFBD><EFBFBD>j2<EFBFBD>L<EFBFBD>m%g1<EFBFBD>Ջ<EFBFBD>n<EFBFBD><EFBFBD><EFBFBD><EFBFBD>S <EFBFBD>a<EFBFBD><EFBFBD><EFBFBD>ߎv_#y<EFBFBD>f[<=<EFBFBD> 7O<EFBFBD>t <EFBFBD>z<EFBFBD><EFBFBD><EFBFBD>ԏM<EFBFBD>g j<EFBFBD>$<EFBFBD><EFBFBD><EFBFBD>Q1|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD>W<EFBFBD><EFBFBD>ٳ<EFBFBD><EFBFBD>N<EFBFBD><EFBFBD><EFBFBD>RP5<EFBFBD><EFBFBD>6<EFBFBD>*<EFBFBD>b <EFBFBD>t<EFBFBD>$V<EFBFBD>H<EFBFBD> <EFBFBD><EFBFBD>5<EFBFBD><EFBFBD>ab2
<EFBFBD>l<EFBFBD><EFBFBD>`<EFBFBD>yF<EFBFBD><EFBFBD><EFBFBD><EFBFBD>&4 <EFBFBD>$<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>`m<EFBFBD><EFBFBD>lN><EFBFBD>ɜNB:<EFBFBD><EFBFBD>N<EFBFBD><EFBFBD><EFBFBD><EFBFBD>-u<EFBFBD><EFBFBD><EFBFBD><EFBFBD>R}<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:><EFBFBD><EFBFBD><EFBFBD>n<EFBFBD>:<<EFBFBD>Bj|<EFBFBD><EFBFBD>miR<EFBFBD><EFBFBD><EFBFBD>Gl><EFBFBD>[zC2<EFBFBD>p<EFBFBD><EFBFBD><EFBFBD>5X<EFBFBD>]X
y<EFBFBD><EFBFBD><EFBFBD>>vzϟu<EFBFBD>./<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>^^<EFBFBD><EFBFBD><EFBFBD>f[<EFBFBD><EFBFBD>ț<EFBFBD><EFBFBD>f<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1w;ڞy<EFBFBD><EFBFBD>w<EFBFBD><EFBFBD><EFBFBD>ϖiL<EFBFBD>H<EFBFBD>Y=a<EFBFBD>1<EFBFBD>QC<EFBFBD>E!<EFBFBD>H<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD>f<EFBFBD>n<EFBFBD><EFBFBD>`ȉrZ<EFBFBD>5<z<EFBFBD><EFBFBD><EFBFBD>^<EFBFBD><EFBFBD>Kt<EFBFBD><EFBFBD><EFBFBD>6H<EFBFBD>Ќ<EFBFBD>o<EFBFBD><EFBFBD>gnU <EFBFBD>7<EFBFBD><EFBFBD><EFBFBD>G9<EFBFBD>p<EFBFBD><EFBFBD><EFBFBD><EFBFBD>3<EFBFBD>Q<EFBFBD>9<EFBFBD>'w<EFBFBD><EFBFBD>a<EFBFBD><EFBFBD><EFBFBD>Ռ
<EFBFBD>~$<EFBFBD>^<.<EFBFBD>7y<EFBFBD><EFBFBD><EFBFBD><EFBFBD>)u<EFBFBD>ֹ_``<EFBFBD><EFBFBD>R=>'<EFBFBD><EFBFBD>y<EFBFBD>fH<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Q^<EFBFBD>Y<EFBFBD>ɖ:<EFBFBD>D<EFBFBD>\<EFBFBD><EFBFBD><EFBFBD>-<EFBFBD><EFBFBD>^<EFBFBD><EFBFBD>{<EFBFBD><EFBFBD>0<EFBFBD><EFBFBD><EFBFBD>9 <EFBFBD><EFBFBD>`<EFBFBD>M韱<EFBFBD><EFBFBD><EFBFBD><EFBFBD>& V,'<EFBFBD><EFBFBD><EFBFBD>#<EFBFBD>Α<EFBFBD><EFBFBD><EFBFBD><EFBFBD>N
<EFBFBD>
j<EFBFBD>*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>~<EFBFBD>E<EFBFBD>"=<EFBFBD>
<EFBFBD><EFBFBD>K̴<EFBFBD>'M<EFBFBD>iP<EFBFBD>˖Td<EFBFBD><EFBFBD>D<EFBFBD>3<EFBFBD><EFBFBD>RJ<EFBFBD><EFBFBD><EFBFBD>!<EFBFBD>g<EFBFBD><EFBFBD>?<EFBFBD>:<EFBFBD><EFBFBD><EFBFBD>Sl<EFBFBD>0<EFBFBD><EFBFBD><EFBFBD>o<EFBFBD><EFBFBD><EFBFBD>+«<EFBFBD><EFBFBD>Ի<EFBFBD>^Qf<EFBFBD><EFBFBD><EFBFBD>Z<EFBFBD><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD><EFBFBD>h <EFBFBD><EFBFBD><EFBFBD><EFBFBD>>=<EFBFBD> yh[<EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><EFBFBD>d-%<EFBFBD><EFBFBD>[kJ[V!Q<EFBFBD>#P<EFBFBD>\D:<EFBFBD><EFBFBD><EFBFBD>hX<EFBFBD> <EFBFBD>,<EFBFBD>L<EFBFBD><EFBFBD><EFBFBD><EFBFBD>i<EFBFBD><EFBFBD>)<EFBFBD>w<EFBFBD>j<EFBFBD>9<EFBFBD><EFBFBD>/-W<EFBFBD># <EFBFBD><EFBFBD>Q <EFBFBD>@,<EFBFBD>j<EFBFBD>ƕ`<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɱ°<EFBFBD>K<EFBFBD><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>I<EFBFBD><EFBFBD><EFBFBD>q]^vX<EFBFBD>ֈ:<EFBFBD>+̕<EFBFBD>|̕<EFBFBD>1<EFBFBD>X<EFBFBD>/+<EFBFBD>y<EFBFBD> M<EFBFBD>1<EFBFBD><EFBFBD>L<EFBFBD>dO<EFBFBD><EFBFBD><EFBFBD><EFBFBD>w<EFBFBD>\<EFBFBD><EFBFBD><EFBFBD>]u<EFBFBD><EFBFBD><EFBFBD>n<EFBFBD>b<<EFBFBD>V<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ژ <EFBFBD><EFBFBD><EFBFBD>/<EFBFBD><EFBFBD>Q<EFBFBD><EFBFBD>]<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>uE-<EFBFBD><Iu6|<EFBFBD>Jn<EFBFBD>8Ҽj<EFBFBD><EFBFBD>IP;6LZ(<EFBFBD><EFBFBD>Ϩ<EFBFBD><EFBFBD><EFBFBD>$<EFBFBD>V<EFBFBD>~<EFBFBD><EFBFBD><EFBFBD><EFBFBD>l<EFBFBD>S<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>{7xcF<EFBFBD><EFBFBD>kkr#<EFBFBD><EFBFBD>F<EFBFBD><EFBFBD><EFBFBD>|A<EFBFBD>Z?<EFBFBD><EFBFBD><EFBFBD>ڍ<EFBFBD>o<EFBFBD><EFBFBD><EFBFBD><EFBFBD>u<EFBFBD>W]<EFBFBD><EFBFBD>a<EFBFBD><EFBFBD>կM<EFBFBD>{R<EFBFBD><EFBFBD><EFBFBD>(ڵ<EFBFBD>5<EFBFBD>/<EFBFBD>Y<EFBFBD><EFBFBD><EFBFBD>GKUܽg<EFBFBD><EFBFBD>z<EFBFBD>L<EFBFBD><EFBFBD><EFBFBD><EFBFBD>~"<EFBFBD><EFBFBD>zW{c<EFBFBD><EFBFBD><EFBFBD>6k<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:<EFBFBD>2h<EFBFBD><EFBFBD>6N<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>v<EFBFBD><EFBFBD>U<EFBFBD>l?<EFBFBD><EFBFBD>*<EFBFBD>:<EFBFBD>$<EFBFBD><EFBFBD><EFBFBD>$&<EFBFBD>)<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>~<EFBFBD><EFBFBD>M<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:<EFBFBD>-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>o<EFBFBD><EFBFBD><EFBFBD>ʏ<EFBFBD><EFBFBD> -<EFBFBD>~<EFBFBD><<EFBFBD>V&C?<EFBFBD><EFBFBD>f<EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.ɦe;t%½<EFBFBD><EFBFBD><EFBFBD>~<EFBFBD><EFBFBD><EFBFBD>}n<EFBFBD>Y<EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>W4<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԉj<EFBFBD>\`Y<EFBFBD>xM<EFBFBD>{<EFBFBD><EFBFBD>w<EFBFBD>}<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϑl<EFBFBD><EFBFBD>?C<EFBFBD>+<EFBFBD><EFBFBD>|IH<EFBFBD>m<EFBFBD><EFBFBD><EFBFBD><EFBFBD>RV<EFBFBD>z<EFBFBD><EFBFBD><EFBFBD><EFBFBD>R<EFBFBD>~<EFBFBD>)<EFBFBD><EFBFBD><EFBFBD>5<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD><EFBFBD><EFBFBD><EFBFBD>v<EFBFBD>2.<EFBFBD><EFBFBD>:]<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ(<EFBFBD>+<EFBFBD>}<EFBFBD>ڧ<EFBFBD>/<EFBFBD>gwTg-<EFBFBD><EFBFBD>y<EFBFBD>w[<EFBFBD><<0<EFBFBD>ǝ<EFBFBD>p:x<EFBFBD>a<EFBFBD><EFBFBD>u-O<EFBFBD>o<EFBFBD>j<EFBFBD><EFBFBD><EFBFBD>{<EFBFBD>!<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>8<EFBFBD><EFBFBD>=<EFBFBD><EFBFBD><EFBFBD>L<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"<EFBFBD>7,<EFBFBD>_Y_<EFBFBD>n|<EFBFBD><EFBFBD><EFBFBD>>[u<EFBFBD>|<EFBFBD>M<EFBFBD><EFBFBD>q<EFBFBD>F<EFBFBD>7<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݕ<EFBFBD>0<EFBFBD>r<EFBFBD>Z<EFBFBD><EFBFBD><EFBFBD><EFBFBD>q<EFBFBD>]<EFBFBD> nk<EFBFBD><EFBFBD>U<EFBFBD><EFBFBD>>;<EFBFBD><EFBFBD>{<EFBFBD>7<EFBFBD>\<EFBFBD>3<EFBFBD>*;:|<EFBFBD>)<EFBFBD><EFBFBD>v<EFBFBD>8c<EFBFBD>$k<EFBFBD><EFBFBD>y<EFBFBD>m<EFBFBD>2<EFBFBD>e-<EFBFBD>k<EFBFBD>ʍ#<EFBFBD>F<EFBFBD>VZ<EFBFBD>K<EFBFBD>?<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>7<EFBFBD>~js<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>L<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>z<EFBFBD><EFBFBD>D<EFBFBD><EFBFBD>v<EFBFBD>v+<EFBFBD>qS<EFBFBD>1g{<EFBFBD>W<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;m<EFBFBD> ,n<EFBFBD>*<EFBFBD>HN<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ZqB<EFBFBD>H&<EFBFBD>-<EFBFBD>p\<EFBFBD><EFBFBD>X<EFBFBD>`:]<EFBFBD><EFBFBD>$<EFBFBD>L<EFBFBD><EFBFBD>8<EFBFBD><EFBFBD><Ԏk<EFBFBD>><EFBFBD><EFBFBD>Uk"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<EFBFBD><EFBFBD>1<EFBFBD>3<EFBFBD><EFBFBD>}<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҥg<EFBFBD><EFBFBD><EFBFBD><EFBFBD>r浃<EFBFBD>~<EFBFBD>[<EFBFBD><EFBFBD><EFBFBD><EFBFBD>է*V(xvt<EFBFBD><EFBFBD>~<EFBFBD><EFBFBD>s;<EFBFBD><EFBFBD>O<EFBFBD><EFBFBD><EFBFBD>D<EFBFBD><EFBFBD><EFBFBD>'!<EFBFBD><EFBFBD>y<EFBFBD><EFBFBD><EFBFBD><EFBFBD>EeF:L,]z/<EFBFBD><EFBFBD>S<EFBFBD><EFBFBD>`<EFBFBD><EFBFBD>ʎ<EFBFBD>έ<EFBFBD><EFBFBD>g<EFBFBD>vS<EFBFBD>/<EFBFBD><EFBFBD>d7<EFBFBD><EFBFBD><EFBFBD>ή<EFBFBD><EFBFBD>m<EFBFBD>t<EFBFBD><EFBFBD>S<EFBFBD>V<EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD>%<EFBFBD><EFBFBD>(<EFBFBD>l<EFBFBD><EFBFBD>!+<EFBFBD><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD><EFBFBD><EFBFBD>F<EFBFBD><EFBFBD><EFBFBD>\<EFBFBD>!<EFBFBD><EFBFBD><EFBFBD>?ޤ1Q<EFBFBD><EFBFBD>$3<EFBFBD>Ϳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>du2Y<EFBFBD>= <EFBFBD><EFBFBD>@<EFBFBD><EFBFBD><EFBFBD>kF<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'͐<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A@<EFBFBD>4<EFBFBD>6ݖ<EFBFBD>(<EFBFBD>8<EFBFBD>6<EFBFBD>rPF^<EFBFBD><EFBFBD>(^] <EFBFBD>3<EFBFBD>U<EFBFBD><EFBFBD>0Ǟ'_<EFBFBD>J6<EFBFBD>\slȍs<EFBFBD>Q<EFBFBD>\<EFBFBD>t<EFBFBD>Z<EFBFBD><EFBFBD><EFBFBD>ȪXa<EFBFBD>ؙ<EFBFBD><EFBFBD>TV<EFBFBD>E<EFBFBD><EFBFBD>PK<t<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>l!#modpod-zipper-0.12/zipper.README}<EFBFBD>Mo<EFBFBD>0 <EFBFBD><EFBFBD>ӯ <EFBFBD>Ӭ<EFBFBD>n<EFBFBD>`vȩC<EFBFBD>S<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȓ*<EFBFBD>q<EFBFBD>_?<EFBFBD>N<EFBFBD>f<EFBFBD><EFBFBD><EFBFBD>m<EFBFBD><EFBFBD>xL<EFBFBD> <EFBFBD>Jq<EFBFBD><EFBFBD>`<EFBFBD>k<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>.c<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%|<EFBFBD>=<EFBFBD><EFBFBD>T<EFBFBD>Dg5<EFBFBD><EFBFBD><EFBFBD>-3<EFBFBD>q<EFBFBD><EFBFBD><EFBFBD>)<EFBFBD><EFBFBD><EFBFBD>n<EFBFBD><EFBFBD><EFBFBD>T<EFBFBD> h<EFBFBD>1<EFBFBD><EFBFBD>3  ٺ<EFBFBD>ݡJ9<EFBFBD><EFBFBD><EFBFBD>!<EFBFBD><EFBFBD>L58S<EFBFBD><EFBFBD><EFBFBD>t6z^j8<EFBFBD>Ө<EFBFBD>\<EFBFBD><EFBFBD>B'<EFBFBD><EFBFBD><EFBFBD>_}x<EFBFBD><EFBFBD><EFBFBD>ҟՅ<EFBFBD>-<EFBFBD>B#9 <EFBFBD>,<EFBFBD>Z<EFBFBD>Z<EFBFBD>Jcy~<EFBFBD>h;u<EFBFBD>UnV^r<EFBFBD>.$&/<EFBFBD>'<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!'<EFBFBD>S<EFBFBD><EFBFBD><EFBFBD>C3<<EFBFBD><EFBFBD><EFBFBD>E<EFBFBD><EFBFBD><EFBFBD><EFBFBD>iCq<EFBFBD><<EFBFBD>jP<EFBFBD>_,<EFBFBD>[<EFBFBD>V¦<EFBFBD>-<EFBFBD>\<EFBFBD>־D<EFBFBD>jxdW(<EFBFBD>T<EFBFBD><EFBFBD><EFBFBD>j<EFBFBD><EFBFBD><EFBFBD>t<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)e<EFBFBD>b{\(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>X<<EFBFBD>Oj<EFBFBD><EFBFBD><EFBFBD>f<EFBFBD><EFBFBD>t<EFBFBD><EFBFBD>Tp6<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>ڛF> <EFBFBD><EFBFBD>h;{K<EFBFBD>{q<EFBFBD><EFBFBD>Zu$<EFBFBD>B<EFBFBD>-<EFBFBD><EFBFBD><EFBFBD>r^6=oFϡ<EFBFBD><EFBFBD>9<EFBFBD><EFBFBD>)!ِq<EFBFBD><EFBFBD>şKҝ[?<EFBFBD>o<EFBFBD>|ע<EFBFBD>s<EFBFBD><EFBFBD><EFBFBD>^$<EFBFBD>@<EFBFBD>s<EFBFBD>aR_s_'<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>b*)FK59aI<EFBFBD><EFBFBD><EFBFBD>/PK<EFBFBD>cdY<EFBFBD>L<EFBFBD>ʧ ." <EFBFBD><EFBFBD>#modpod-zipper-0.12/zipper-0.12.tmPK<t<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>l! <EFBFBD><EFBFBD><EFBFBD> #modpod-zipper-0.12/zipper.READMEPK<EFBFBD><EFBFBD>