diff --git a/zp-install-v2.run b/zp-install-v2.run new file mode 100755 index 0000000..a0af55e --- /dev/null +++ b/zp-install-v2.run @@ -0,0 +1,627 @@ +#!/bin/sh +# This script was generated using Makeself 2.4.0 +# The license covering this archive and its contents, if any, is wholly independent of the Makeself license (GPL) + +ORIG_UMASK=`umask` +if test "n" = n; then + umask 077 +fi + +CRCsum="2611439252" +MD5="585cafbb4e7789c61c7cbc3b058b1a74" +SHA="0b1bcb31a14d942b495ab2b81505cfc52cb318946fd9f938b0b8fc7f5b083d92" +TMPROOT=${TMPDIR:=/tmp} +USER_PWD="$PWD"; export USER_PWD + +label="ZPower Shell Pack Installer" +script="./install.sh" +scriptargs="" +licensetxt="" +helpheader='' +targetdir="zpower" +filesizes="9785" +keep="n" +nooverwrite="n" +quiet="n" +accept="n" +nodiskspace="n" +export_conf="n" + +print_cmd_arg="" +if type printf > /dev/null; then + print_cmd="printf" +elif test -x /usr/ucb/echo; then + print_cmd="/usr/ucb/echo" +else + print_cmd="echo" +fi + +if test -d /usr/xpg4/bin; then + PATH=/usr/xpg4/bin:$PATH + export PATH +fi + +if test -d /usr/sfw/bin; then + PATH=$PATH:/usr/sfw/bin + export PATH +fi + +unset CDPATH + +MS_Printf() +{ + $print_cmd $print_cmd_arg "$1" +} + +MS_PrintLicense() +{ + if test x"$licensetxt" != x; then + echo "$licensetxt" | more + if test x"$accept" != xy; then + while true + do + MS_Printf "Please type y to accept, n otherwise: " + read yn + if test x"$yn" = xn; then + keep=n + eval $finish; exit 1 + break; + elif test x"$yn" = xy; then + break; + fi + done + fi + fi +} + +MS_diskspace() +{ + ( + df -kP "$1" | tail -1 | awk '{ if ($4 ~ /%/) {print $3} else {print $4} }' + ) +} + +MS_dd() +{ + blocks=`expr $3 / 1024` + bytes=`expr $3 % 1024` + dd if="$1" ibs=$2 skip=1 obs=1024 conv=sync 2> /dev/null | \ + { test $blocks -gt 0 && dd ibs=1024 obs=1024 count=$blocks ; \ + test $bytes -gt 0 && dd ibs=1 obs=1024 count=$bytes ; } 2> /dev/null +} + +MS_dd_Progress() +{ + if test x"$noprogress" = xy; then + MS_dd $@ + return $? + fi + file="$1" + offset=$2 + length=$3 + pos=0 + bsize=4194304 + while test $bsize -gt $length; do + bsize=`expr $bsize / 4` + done + blocks=`expr $length / $bsize` + bytes=`expr $length % $bsize` + ( + dd ibs=$offset skip=1 2>/dev/null + pos=`expr $pos \+ $bsize` + MS_Printf " 0%% " 1>&2 + if test $blocks -gt 0; then + while test $pos -le $length; do + dd bs=$bsize count=1 2>/dev/null + pcent=`expr $length / 100` + pcent=`expr $pos / $pcent` + if test $pcent -lt 100; then + MS_Printf "\b\b\b\b\b\b\b" 1>&2 + if test $pcent -lt 10; then + MS_Printf " $pcent%% " 1>&2 + else + MS_Printf " $pcent%% " 1>&2 + fi + fi + pos=`expr $pos \+ $bsize` + done + fi + if test $bytes -gt 0; then + dd bs=$bytes count=1 2>/dev/null + fi + MS_Printf "\b\b\b\b\b\b\b" 1>&2 + MS_Printf " 100%% " 1>&2 + ) < "$file" +} + +MS_Help() +{ + cat << EOH >&2 +${helpheader}Makeself version 2.4.0 + 1) Getting help or info about $0 : + $0 --help Print this message + $0 --info Print embedded info : title, default target directory, embedded script ... + $0 --lsm Print embedded lsm entry (or no LSM) + $0 --list Print the list of files in the archive + $0 --check Checks integrity of the archive + + 2) Running $0 : + $0 [options] [--] [additional arguments to embedded script] + with following options (in that order) + --confirm Ask before running embedded script + --quiet Do not print anything except error messages + --accept Accept the license + --noexec Do not run embedded script + --keep Do not erase target directory after running + the embedded script + --noprogress Do not show the progress during the decompression + --nox11 Do not spawn an xterm + --nochown Do not give the extracted files to the current user + --nodiskspace Do not check for available disk space + --target dir Extract directly to a target directory (absolute or relative) + This directory may undergo recursive chown (see --nochown). + --tar arg1 [arg2 ...] Access the contents of the archive through the tar command + -- Following arguments will be passed to the embedded script +EOH +} + +MS_Check() +{ + OLD_PATH="$PATH" + PATH=${GUESS_MD5_PATH:-"$OLD_PATH:/bin:/usr/bin:/sbin:/usr/local/ssl/bin:/usr/local/bin:/opt/openssl/bin"} + MD5_ARG="" + MD5_PATH=`exec <&- 2>&-; which md5sum || command -v md5sum || type md5sum` + test -x "$MD5_PATH" || MD5_PATH=`exec <&- 2>&-; which md5 || command -v md5 || type md5` + test -x "$MD5_PATH" || MD5_PATH=`exec <&- 2>&-; which digest || command -v digest || type digest` + PATH="$OLD_PATH" + + SHA_PATH=`exec <&- 2>&-; which shasum || command -v shasum || type shasum` + test -x "$SHA_PATH" || SHA_PATH=`exec <&- 2>&-; which sha256sum || command -v sha256sum || type sha256sum` + + if test x"$quiet" = xn; then + MS_Printf "Verifying archive integrity..." + fi + offset=`head -n 588 "$1" | wc -c | tr -d " "` + verb=$2 + i=1 + for s in $filesizes + do + crc=`echo $CRCsum | cut -d" " -f$i` + if test -x "$SHA_PATH"; then + if test x"`basename $SHA_PATH`" = xshasum; then + SHA_ARG="-a 256" + fi + sha=`echo $SHA | cut -d" " -f$i` + if test x"$sha" = x0000000000000000000000000000000000000000000000000000000000000000; then + test x"$verb" = xy && echo " $1 does not contain an embedded SHA256 checksum." >&2 + else + shasum=`MS_dd_Progress "$1" $offset $s | eval "$SHA_PATH $SHA_ARG" | cut -b-64`; + if test x"$shasum" != x"$sha"; then + echo "Error in SHA256 checksums: $shasum is different from $sha" >&2 + exit 2 + else + test x"$verb" = xy && MS_Printf " SHA256 checksums are OK." >&2 + fi + crc="0000000000"; + fi + fi + if test -x "$MD5_PATH"; then + if test x"`basename $MD5_PATH`" = xdigest; then + MD5_ARG="-a md5" + fi + md5=`echo $MD5 | cut -d" " -f$i` + if test x"$md5" = x00000000000000000000000000000000; then + test x"$verb" = xy && echo " $1 does not contain an embedded MD5 checksum." >&2 + else + md5sum=`MS_dd_Progress "$1" $offset $s | eval "$MD5_PATH $MD5_ARG" | cut -b-32`; + if test x"$md5sum" != x"$md5"; then + echo "Error in MD5 checksums: $md5sum is different from $md5" >&2 + exit 2 + else + test x"$verb" = xy && MS_Printf " MD5 checksums are OK." >&2 + fi + crc="0000000000"; verb=n + fi + fi + if test x"$crc" = x0000000000; then + test x"$verb" = xy && echo " $1 does not contain a CRC checksum." >&2 + else + sum1=`MS_dd_Progress "$1" $offset $s | CMD_ENV=xpg4 cksum | awk '{print $1}'` + if test x"$sum1" = x"$crc"; then + test x"$verb" = xy && MS_Printf " CRC checksums are OK." >&2 + else + echo "Error in checksums: $sum1 is different from $crc" >&2 + exit 2; + fi + fi + i=`expr $i + 1` + offset=`expr $offset + $s` + done + if test x"$quiet" = xn; then + echo " All good." + fi +} + +UnTAR() +{ + if test x"$quiet" = xn; then + tar $1vf - 2>&1 || { echo " ... Extraction failed." > /dev/tty; kill -15 $$; } + else + tar $1f - 2>&1 || { echo Extraction failed. > /dev/tty; kill -15 $$; } + fi +} + +finish=true +xterm_loop= +noprogress=n +nox11=n +copy=none +ownership=y +verbose=n + +initargs="$@" + +while true +do + case "$1" in + -h | --help) + MS_Help + exit 0 + ;; + -q | --quiet) + quiet=y + noprogress=y + shift + ;; + --accept) + accept=y + shift + ;; + --info) + echo Identification: "$label" + echo Target directory: "$targetdir" + echo Uncompressed size: 60 KB + echo Compression: gzip + echo Date of packaging: Tue Apr 7 20:38:42 MDT 2020 + echo Built with Makeself version 2.4.0 on + echo Build command was: "/usr/bin/makeself \\ + \"--sha256\" \\ + \"./zpower\" \\ + \"zp-install.run\" \\ + \"ZPower Shell Pack Installer\" \\ + \"./install.sh\"" + if test x"$script" != x; then + echo Script run after extraction: + echo " " $script $scriptargs + fi + if test x"" = xcopy; then + echo "Archive will copy itself to a temporary location" + fi + if test x"n" = xy; then + echo "Root permissions required for extraction" + fi + if test x"n" = xy; then + echo "directory $targetdir is permanent" + else + echo "$targetdir will be removed after extraction" + fi + exit 0 + ;; + --dumpconf) + echo LABEL=\"$label\" + echo SCRIPT=\"$script\" + echo SCRIPTARGS=\"$scriptargs\" + echo archdirname=\"zpower\" + echo KEEP=n + echo NOOVERWRITE=n + echo COMPRESS=gzip + echo filesizes=\"$filesizes\" + echo CRCsum=\"$CRCsum\" + echo MD5sum=\"$MD5\" + echo OLDUSIZE=60 + echo OLDSKIP=589 + exit 0 + ;; + --lsm) +cat << EOLSM +No LSM. +EOLSM + exit 0 + ;; + --list) + echo Target directory: $targetdir + offset=`head -n 588 "$0" | wc -c | tr -d " "` + for s in $filesizes + do + MS_dd "$0" $offset $s | eval "gzip -cd" | UnTAR t + offset=`expr $offset + $s` + done + exit 0 + ;; + --tar) + offset=`head -n 588 "$0" | wc -c | tr -d " "` + arg1="$2" + if ! shift 2; then MS_Help; exit 1; fi + for s in $filesizes + do + MS_dd "$0" $offset $s | eval "gzip -cd" | tar "$arg1" - "$@" + offset=`expr $offset + $s` + done + exit 0 + ;; + --check) + MS_Check "$0" y + exit 0 + ;; + --confirm) + verbose=y + shift + ;; + --noexec) + script="" + shift + ;; + --keep) + keep=y + shift + ;; + --target) + keep=y + targetdir="${2:-.}" + if ! shift 2; then MS_Help; exit 1; fi + ;; + --noprogress) + noprogress=y + shift + ;; + --nox11) + nox11=y + shift + ;; + --nochown) + ownership=n + shift + ;; + --nodiskspace) + nodiskspace=y + shift + ;; + --xwin) + if test "n" = n; then + finish="echo Press Return to close this window...; read junk" + fi + xterm_loop=1 + shift + ;; + --phase2) + copy=phase2 + shift + ;; + --) + shift + break ;; + -*) + echo Unrecognized flag : "$1" >&2 + MS_Help + exit 1 + ;; + *) + break ;; + esac +done + +if test x"$quiet" = xy -a x"$verbose" = xy; then + echo Cannot be verbose and quiet at the same time. >&2 + exit 1 +fi + +if test x"n" = xy -a `id -u` -ne 0; then + echo "Administrative privileges required for this archive (use su or sudo)" >&2 + exit 1 +fi + +if test x"$copy" \!= xphase2; then + MS_PrintLicense +fi + +case "$copy" in +copy) + tmpdir="$TMPROOT"/makeself.$RANDOM.`date +"%y%m%d%H%M%S"`.$$ + mkdir "$tmpdir" || { + echo "Could not create temporary directory $tmpdir" >&2 + exit 1 + } + SCRIPT_COPY="$tmpdir/makeself" + echo "Copying to a temporary location..." >&2 + cp "$0" "$SCRIPT_COPY" + chmod +x "$SCRIPT_COPY" + cd "$TMPROOT" + exec "$SCRIPT_COPY" --phase2 -- $initargs + ;; +phase2) + finish="$finish ; rm -rf `dirname $0`" + ;; +esac + +if test x"$nox11" = xn; then + if tty -s; then # Do we have a terminal? + : + else + if test x"$DISPLAY" != x -a x"$xterm_loop" = x; then # No, but do we have X? + if xset q > /dev/null 2>&1; then # Check for valid DISPLAY variable + GUESS_XTERMS="xterm gnome-terminal rxvt dtterm eterm Eterm xfce4-terminal lxterminal kvt konsole aterm terminology" + for a in $GUESS_XTERMS; do + if type $a >/dev/null 2>&1; then + XTERM=$a + break + fi + done + chmod a+x $0 || echo Please add execution rights on $0 + if test `echo "$0" | cut -c1` = "/"; then # Spawn a terminal! + exec $XTERM -title "$label" -e "$0" --xwin "$initargs" + else + exec $XTERM -title "$label" -e "./$0" --xwin "$initargs" + fi + fi + fi + fi +fi + +if test x"$targetdir" = x.; then + tmpdir="." +else + if test x"$keep" = xy; then + if test x"$nooverwrite" = xy && test -d "$targetdir"; then + echo "Target directory $targetdir already exists, aborting." >&2 + exit 1 + fi + if test x"$quiet" = xn; then + echo "Creating directory $targetdir" >&2 + fi + tmpdir="$targetdir" + dashp="-p" + else + tmpdir="$TMPROOT/selfgz$$$RANDOM" + dashp="" + fi + mkdir $dashp "$tmpdir" || { + echo 'Cannot create target directory' $tmpdir >&2 + echo 'You should try option --target dir' >&2 + eval $finish + exit 1 + } +fi + +location="`pwd`" +if test x"$SETUP_NOCHECK" != x1; then + MS_Check "$0" +fi +offset=`head -n 588 "$0" | wc -c | tr -d " "` + +if test x"$verbose" = xy; then + MS_Printf "About to extract 60 KB in $tmpdir ... Proceed ? [Y/n] " + read yn + if test x"$yn" = xn; then + eval $finish; exit 1 + fi +fi + +if test x"$quiet" = xn; then + MS_Printf "Uncompressing $label" + + # Decrypting with openssl will ask for password, + # the prompt needs to start on new line + if test x"n" = xy; then + echo + fi +fi +res=3 +if test x"$keep" = xn; then + trap 'echo Signal caught, cleaning up >&2; cd $TMPROOT; /bin/rm -rf "$tmpdir"; eval $finish; exit 15' 1 2 3 15 +fi + +if test x"$nodiskspace" = xn; then + leftspace=`MS_diskspace "$tmpdir"` + if test -n "$leftspace"; then + if test "$leftspace" -lt 60; then + echo + echo "Not enough space left in "`dirname $tmpdir`" ($leftspace KB) to decompress $0 (60 KB)" >&2 + echo "Use --nodiskspace option to skip this check and proceed anyway" >&2 + if test x"$keep" = xn; then + echo "Consider setting TMPDIR to a directory with more free space." + fi + eval $finish; exit 1 + fi + fi +fi + +for s in $filesizes +do + if MS_dd_Progress "$0" $offset $s | eval "gzip -cd" | ( cd "$tmpdir"; umask $ORIG_UMASK ; UnTAR xp ) 1>/dev/null; then + if test x"$ownership" = xy; then + (cd "$tmpdir"; chown -R `id -u` .; chgrp -R `id -g` .) + fi + else + echo >&2 + echo "Unable to decompress $0" >&2 + eval $finish; exit 1 + fi + offset=`expr $offset + $s` +done +if test x"$quiet" = xn; then + echo +fi + +cd "$tmpdir" +res=0 +if test x"$script" != x; then + if test x"$export_conf" = x"y"; then + MS_BUNDLE="$0" + MS_LABEL="$label" + MS_SCRIPT="$script" + MS_SCRIPTARGS="$scriptargs" + MS_ARCHDIRNAME="$archdirname" + MS_KEEP="$KEEP" + MS_NOOVERWRITE="$NOOVERWRITE" + MS_COMPRESS="$COMPRESS" + export MS_BUNDLE MS_LABEL MS_SCRIPT MS_SCRIPTARGS + export MS_ARCHDIRNAME MS_KEEP MS_NOOVERWRITE MS_COMPRESS + fi + + if test x"$verbose" = x"y"; then + MS_Printf "OK to execute: $script $scriptargs $* ? [Y/n] " + read yn + if test x"$yn" = x -o x"$yn" = xy -o x"$yn" = xY; then + eval "\"$script\" $scriptargs \"\$@\""; res=$?; + fi + else + eval "\"$script\" $scriptargs \"\$@\""; res=$? + fi + if test "$res" -ne 0; then + test x"$verbose" = xy && echo "The program '$script' returned an error code ($res)" >&2 + fi +fi +if test x"$keep" = xn; then + cd "$TMPROOT" + /bin/rm -rf "$tmpdir" +fi +eval $finish; exit $res +<]sȑ~~XҚHJlnh)":^'|0dZ>$/lUwwJ=}# H뻤 E(}g +pgq;ŝ;./; +YI[oM))OqX,\tjn |`K҃-§/$/_GͶ4FB^B,W!J2x@@M.Ttէ,|JJqڌZX3-r m-$$pC'rVVt g@ߡnxW.\ɡe +ȕ mǃA3@s<` FC +HzY|ڬvճv䬫֛iSلxeHe4-LZ#O]"Al#9RgsPZ΁Kl߆ Uh>ZU$^-xq6^9o!Kdj@}JF^H4u>~9li8J- ~DhvfOSyf[,9=NAUs^m l6mYhV$nXLcΉ ΉևZ)II:5)Ipp\m-Wi'U?ծK5QG +<d+3Po[en)Mp;H偻< lw:9`]XF8vsj*{fs 3MGB 2 +dpم,K x\ygA+TA&fz>eR4Hi@v>A'nE1Ȁ8'wPߏμCULL +>-;`Zݿϻ%9wߧ;> D*d7;0W'W }+qyh}͓4ʄ 25!+oo a`!Zp=ݳ޶`ur7/Bڟ V!XEQ!O%sO)dzG "|8 _Q6޻w&V:W]==8fc{c㦜0 +$F}F D^B~b 7e(? rIL'n]rU[MYatjt4c.|3Cҭ! vx5 Q"h<1(vz'0{>*MV0a0u!,dL]mtoH(oQB律Ex2&9`jqltcCzߥEOK~aO ¯G1b @":wctBOgh]Q{2E{/ {KuPĨ,ȁu'Ys:woEx\"A,dsܩT5XQ%C'hA&m l̒2Jz4;cjFGj7sr{1r EgRX`@ƾBFb!6.8yVrhl_ެn*Ӭ|9u(JyvRN@_*ea6bD,RO_Wr%fɃV*[bYPXƨ '/ :U5JKt6|G;=1To0GQO&+6( TzD7mN1pȀ y_!Ψ:MH&DU4?&OtDT6.I*9QԲO L..1L4L!+I[d\a GD6T\1cOm`\V͈k~ q +Gi۲QkɆ|0l\l(+:6*ㄿ|ŗ4(RK TS(+Z= +E 66jzZl'QYvWTգ̶ֹ0/5M!&CնiL4ٸu;8qi儡܎ dB{ LKP_ź],Y-lPmf֋gf$uc//h&DmpvgL]?l| /Tw2\Jr$,fzۗӓҀ:!?׬cfCϲ!* 6ŋG|+Qҕsy476_!oAj0$@{5f9fhs~> [dސȧ6ŜB7h.$pYaIB4`?\H]c4܋a~@] 5b׻b"1njKۀLeRxT+ %_5,>SM|41Lu7j卓Fgҍrh\ůB84pC2*̏ʽ+(!Gy +U YE59nBCk4:yc4Oc?S]Qqa@G1Fe"W6;Mr7"~7ג3vN:ß[vPI)}:!'_WgB z:ïLJ7`k%F0Wrorۅ"r ")LlC`s8 ?FւJY|iyBNxd~1/uiI};Ð'"ٿ60e_/%`+C\p FE ؗ| ̐^Ph+Q&ˉ<^&VZbfLCh—T4JaPBIr3Ϣ3bu?'1ӀTMiUmx{%Ashs,A!A r׊ri9Ab6_u?5n:$Ur%ByY!梮87Ct7|\)dd3p%xWd|>W})g7Da;PX8i(/pKrV[{3xp[Ó VףzTnDj0" *M3`?3t|cww/|z#9CcoDJ7??OuؖN]YCנ~=Sυ}QP_C9<_@uי` /UI1[}޾wosт]O85Gs'4ЦF!Z&za~P YHf")+"EK⒨@@TA@U/^>"F9O D\0> +T:DVTlC[,ad$T'2 o˪9|' > S* 1n_` ^qaO6+<BnOT&BV[Ftf`2%ReL/xmMO&\b*~,iW8`,Sĉg +ƾ26x #<c$x0Zx0Î`U9 +Md'S2"(F6e K,5`QϠO1 WGyK14DPrɈ,VfVφyxFp<0gJ[F8ˡOMcR&VhCi\Ez ijL,rO6 39n1 / ϥe +?.u |d$)9 +Hn1 QB`[4gl֎hSWQtW@\~?#ؾ|UOfT4f|\Cf)|_(MP t|O[ǬDGZ<$6vlosiyJ L|eG *Z9hxV"0YeO9 c O=32oը-զ]㷆[-^b^Pc*Bq3Lwo03]YPOT("q^ >Elf,⏜ls'{Ct` qUO1;g0|f|gFdT2~s$ҫYc_6Cw_2D~" $ZF>K%޹A3tf1fqP ++&Ӎx%Y.HƊl؏RUD$ڋݜ($J;_ިOr +m7M!8$<["RKA3[`7d:=d)v$Y{ؾ2zEVR^L? (:Y5(:!ƊR"lɰf@AV@̐A6لY=us8f6˜s|ol Mk(ea űuD #-L jgZ(vt.tmI6y%+כ +wMFrZ7)Z]sW?ި0_/Y@;?vj;S; d+! :v+kDPVD,-V?'9tA}x.*gr+pGBzLvbD!ힷN[䒿@K%Կ,Ϡ+o!$̕7w{bfrƓyao}֬6 :#:Sh nL.#Tǻ_k35PϵQT;5rf#۴U2ꢳXAh3qOzX?Ab!|{8iZ6ybNv5vv#'" _05 +Fl68$ mL`ɠyzE0@dhX F}F(I\%B X16\WĸeAqxצT"_K cXXo42DaWCO%VQ@U&*MA k=~ +}'HuJdoL^!O)s<0K0T$7[[DdF&z^d &UQ;X3FHՇ1*CR"%1irtgq<2 +$&% o8 pcwfKPaBB$]ig4c `0c }%&N}7Fd8oewAZ` nHtmV8kf}Tc)ޜ'OIat%詭h(h;l7+'g$;r襌8C9a1ƃrb79NZ.Z&ʑwWȉ ?U 8=;كi%jocݯaX-n>noʳ#7iKw5%5 s>S |CT6f ~ݝu=(eIQ‰9Fo twaVL"w)kʭglAhaʔY@ v )vEJNC %o+>eirecsxfgFlmY8YOYX)AF/G*T՟ +hfot7 rNm[Q%$zPqܭm5@)L;Jڔ<=ꨣNjoʬC+>P|eɟ1~S?z0>vXߞն|O0NA+ B-{-\EZT KxbOveƯ +ŋhķhَN*UT#.IM<ǕѰ{PGR6NxO&PqVa$]Y@70EVӅ9"M5P (M ɨUfPHHɬB5'6Fm7b{7ԇ(I|M!;I4N7o5BmjF]qs+qds+K BMvSADGV65TQ+G 2$T!<$E_lf@쩆&e(}A==Vj)9S=C!yfu_*U9[̿.?klmʹڙl~X?z0 *~4skqT3,A_0W\ᙱ.JL@ &/$ .Z<#^}=_ܼƜIzR<_zrP>|a";J0pysh4ڭFU/@a,wcB*#GI+]fRخK?8nF?b??7ȲG#vנSZP*0D Έb́VTL#^T$!L^f )S;Fݝ(rwZHJ/SѓVirzfǹLJ{5MQݜ43]~' +d-80?_R8d&&XFTa G eܐ tjʈh G,jITqJbZ]jlkqΆu Æv?2H׸O#Au$FG1j֥ ?̎lχa|v7e:tdKX#Fj7^l-ųxY