JFIF ( %!1!%)+...383-7(-.+  -% &5/------------------------------------------------";!1AQ"aq2#3BRrb*!1"AQa2q#B ?yRd&vGlJwZvK)YrxB#j]ZAT^dpt{[wkWSԋ*QayBbm*&0<|0pfŷM`̬ ^.qR𽬷^EYTFíw<-.j)M-/s yqT'&FKz-([lև<G$wm2*e Z(Y-FVen櫧lҠDwүH4FX1 VsIOqSBۡNzJKzJξcX%vZcFSuMٖ%B ִ##\[%yYꉅ !VĂ1َRI-NsZJLTAPמQ:y״g_g= m֯Ye+Hyje!EcݸࢮSo{׬*h g<@KI$W+W'_> lUs1,o*ʺE.U"N&CTu7_0VyH,q ,)H㲣5<t ;rhnz%ݓz+4 i۸)P6+F>0Tв`&i}Shn?ik܀՟ȧ@mUSLFηh_er i_qt]MYhq 9LaJpPןߘvꀡ\"z[VƬ¤*aZMo=WkpSp \QhMb˒YH=ܒ m`CJt 8oFp]>pP1F>n8(*aڈ.Y݉[iTع JM!x]ԶaJSWҼܩ`yQ`*kE#nNkZKwA_7~ ΁JЍ;-2qRxYk=Uր>Z qThv@.w c{#&@#l;D$kGGvz/7[P+i3nIl`nrbmQi%}rAVPT*SF`{'6RX46PԮp(3W҅U\a*77lq^rT$vs2MU %*ŧ+\uQXVH !4t*Hg"Z챮 JX+RVU+ތ]PiJT XI= iPO=Ia3[ uؙ&2Z@.*SZ (")s8Y/-Fh Oc=@HRlPYp!wr?-dugNLpB1yWHyoP\ѕрiHִ,ِ0aUL.Yy`LSۜ,HZz!JQiVMb{( tژ <)^Qi_`: }8ٱ9_.)a[kSr> ;wWU#M^#ivT܎liH1Qm`cU+!2ɒIX%ֳNړ;ZI$?b$(9f2ZKe㼭qU8I[ U)9!mh1^N0 f_;׆2HFF'4b! yBGH_jтp'?uibQ T#ѬSX5gޒSF64ScjwU`xI]sAM( 5ATH_+s 0^IB++h@_Yjsp0{U@G -:*} TނMH*֔2Q:o@ w5(߰ua+a ~w[3W(дPYrF1E)3XTmIFqT~z*Is*清Wɴa0Qj%{T.ޅ״cz6u6݁h;֦ 8d97ݴ+ޕxзsȁ&LIJT)R0}f }PJdp`_p)əg(ŕtZ 'ϸqU74iZ{=Mhd$L|*UUn &ͶpHYJۋj /@9X?NlܾHYxnuXږAƞ8j ໲݀pQ4;*3iMlZ6w ȵP Shr!ݔDT7/ҡϲigD>jKAX3jv+ ߧز #_=zTm¦>}Tց<|ag{E*ֳ%5zW.Hh~a%j"e4i=vױi8RzM75i֟fEu64\էeo00d H韧rȪz2eulH$tQ>eO$@B /?=#٤ǕPS/·.iP28s4vOuz3zT& >Z2[0+[#Fޑ]!((!>s`rje('|,),y@\pЖE??u˹yWV%8mJ iw:u=-2dTSuGL+m<*צ1as&5su\phƃ qYLֳ>Y(PKi;Uڕp ..!i,54$IUEGLXrUE6m UJC?%4AT]I]F>׹P9+ee"Aid!Wk|tDv/ODc/,o]i"HIHQ_n spv"b}}&I:pȟU-_)Ux$l:fژɕ(I,oxin8*G>ÌKG}Rڀ8Frajٷh !*za]lx%EVRGYZoWѮ昀BXr{[d,t Eq ]lj+ N})0B,e iqT{z+O B2eB89Cڃ9YkZySi@/(W)d^Ufji0cH!hm-wB7C۔֛X$Zo)EF3VZqm)!wUxM49< 3Y .qDfzm |&T"} {*ih&266U9* <_# 7Meiu^h--ZtLSb)DVZH*#5UiVP+aSRIª!p挤c5g#zt@ypH={ {#0d N)qWT kA<Ÿ)/RT8D14y b2^OW,&Bcc[iViVdִCJ'hRh( 1K4#V`pِTw<1{)XPr9Rc 4)Srgto\Yτ~ xd"jO:A!7􋈒+E0%{M'T^`r=E*L7Q]A{]A<5ˋ.}<9_K (QL9FЍsĮC9!rpi T0q!H \@ܩB>F6 4ۺ6΋04ϲ^#>/@tyB]*ĸp6&<џDP9ᗟatM'> b쪗wI!܁V^tN!6=FD܆9*? q6h8  {%WoHoN.l^}"1+uJ ;r& / IɓKH*ǹP-J3+9 25w5IdcWg0n}U@2 #0iv腳z/^ƃOR}IvV2j(tB1){S"B\ ih.IXbƶ:GnI F.^a?>~!k''T[ע93fHlNDH;;sg-@, JOs~Ss^H '"#t=^@'W~Ap'oTڭ{Fن̴1#'c>꜡?F颅B L,2~ת-s2`aHQm:F^j&~*Nūv+{sk$F~ؒ'#kNsٗ D9PqhhkctԷFIo4M=SgIu`F=#}Zi'cu!}+CZI7NuŤIe1XT xC۷hcc7 l?ziY䠩7:E>k0Vxypm?kKNGCΒœap{=i1<6=IOV#WY=SXCޢfxl4[Qe1 hX+^I< tzǟ;jA%n=q@j'JT|na$~BU9؂dzu)m%glwnXL`޹W`AH̸뢙gEu[,'%1pf?tJ Ζmc[\ZyJvn$Hl'<+5[b]v efsЁ ^. &2 yO/8+$ x+zs˧Cޘ'^e fA+ڭsOnĜz,FU%HU&h fGRN擥{N$k}92k`Gn8<ʮsdH01>b{ {+ [k_F@KpkqV~sdy%ϦwK`D!N}N#)x9nw@7y4*\ Η$sR\xts30`O<0m~%U˓5_m ôªs::kB֫.tpv쌷\R)3Vq>ٝj'r-(du @9s5`;iaqoErY${i .Z(Џs^!yCϾ˓JoKbQU{௫e.-r|XWլYkZe0AGluIɦvd7 q -jEfۭt4q +]td_+%A"zM2xlqnVdfU^QaDI?+Vi\ϙLG9r>Y {eHUqp )=sYkt,s1!r,l鄛u#I$-֐2A=A\J]&gXƛ<ns_Q(8˗#)4qY~$'3"'UYcIv s.KO!{, ($LI rDuL_߰ Ci't{2L;\ߵ7@HK.Z)4
Devil Killer Is Here MiNi Shell

MiNi SheLL

Current Path : /usr/share/shtool/

Linux 9dbcd5f6333d 5.15.0-102-generic #112-Ubuntu SMP Tue Mar 5 16:50:32 UTC 2024 x86_64
Upload File :
Current File : //usr/share/shtool/sh.version

##
##  version -- Maintain a version information file
##  Copyright (c) 1994-2008 Ralf S. Engelschall <rse@engelschall.com>
##
##  This file is part of shtool and 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 file 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, or contact Ralf S. Engelschall <rse@engelschall.com>.
##

str_tool="version"
str_usage="[-l|--language <lang>] [-n|--name <name>] [-p|--prefix <prefix>] [-s|--set <version>] [-e|--edit] [-i|--increase <knob>] [-d|--display <type>] <file>"
arg_spec="1="
opt_spec="l:n:p:s:i:e.d:"
opt_alias="l:language,n:name,p:prefix,s:set,e:edit,i:increase,d:display"
opt_l="txt"
opt_n="unknown"
opt_p=""
opt_s=""
opt_e="no"
opt_i=""
opt_d="short"

. ./sh.common

file="$1"

#   determine prefix and name
name="$opt_n"
prefix="$opt_p"

#   determine current version
triple="$opt_s"
if [ ".$triple" != . ]; then
    #   use given triple
    if [ ".`echo $triple | grep '[0-9]*.[0-9]*[sabp.][0-9]*'`" = . ]; then
        echo "$msgprefix:Error: invalid argument to option \`-s': \`$opt_s'" 1>&2
        shtool_exit 1
    fi
    eval `echo $triple |\
          sed -e 's%\([0-9]*\)\.\([0-9]*\)\([sabp.]\)\([0-9]*\).*%\
          ver="\1";rev="\2";typ="\3";lev="\4"%'`
    tim=calc
elif [ -r $file ]; then
    #   determine triple from given file
    eval `grep 'Version [0-9]*.[0-9]*[sabp.][0-9]* ([0-9]*-[a-zA-Z]*-[0-9]*)' $file |\
          sed -e 's%.*Version \([0-9]*\)\.\([0-9]*\)\([sabp.]\)\([0-9]*\) (\([0-9]*-[a-zA-Z]*-[0-9]*\)).*%\
          ver="\1";rev="\2";typ="\3";lev="\4";tim="\5"%' -e 'q'`
else
    #   intialise to first version
    ver=0
    rev=1
    typ=.
    lev=0
    tim=calc
fi

#   determine new version in batch
if [ ".$opt_i" != . ]; then
    case $opt_i in
        v ) ver=`expr $ver + 1`
            rev=0
            lev=0
            ;;
        r ) rev=`expr $rev + 1`
            lev=0
            ;;
        l ) lev=`expr $lev + 1`
            ;;
        * ) echo "$msgprefix:Error: invalid argument to option \`-i': \`$opt_i'" 1>&2
            shtool_exit 1
            ;;
    esac
    tim=calc
fi

#   determine new version interactively
if [ ".$opt_e" = .yes ]; then
    echo "old version: ${ver}.${rev}${typ}${lev}"
    while [ 1 ]; do
        echo dummy | awk '{ printf("new version: "); }'
        read triple
        case $triple in
            [0-9]*.[0-9]*[sabp.][0-9]* )
                ;;
            * ) echo "$msgprefix:Error: invalid version string entered: \`$triple'" 1>&2
                continue
                ;;
        esac
        break
    done
    eval `echo $triple |\
          sed -e 's%^\([0-9]*\)\.\([0-9]*\)\([sabp.]\)\([0-9]*\)$%\
          ver="\1";rev="\2";typ="\3";lev="\4"%'`
    tim=calc
fi

#   determine hexadecimal and libtool value of version
case $typ in
    a     ) typnum=0;  levnum=$lev ;;
    b     ) typnum=1;  levnum=$lev ;;
    p | . ) typnum=2;  levnum=$lev ;;
    s     ) typnum=15; levnum=255  ;; # snapshots are special
esac
hex=`echo "$ver:$rev:$typnum:$levnum" |\
     awk -F: '{ printf("0x%x%02x%1x%02x", $1, $2, $3, $4); }' |\
     tr 'abcdef' 'ABCDEF'`
ltv=`echo "$ver:$rev:$typnum:$levnum" |\
     awk -F: '{ printf("%d:%d", $1*10 + $2, $3*10 + $4); }'`

#   determine date
if [ ".$tim" = .calc ]; then
    day=`date '+%d'`
    month=`date '+%m'`
    year=`date '+%Y' 2>/dev/null`
    if [ ".$time_year" = . ]; then
        year=`date '+%y'`
        case $year in
            [5-9][0-9]) year="19$year" ;;
            [0-4][0-9]) year="20$year" ;;
        esac
    fi
    case $month in
        1|01) month='Jan' ;;
        2|02) month='Feb' ;;
        3|03) month='Mar' ;;
        4|04) month='Apr' ;;
        5|05) month='May' ;;
        6|06) month='Jun' ;;
        7|07) month='Jul' ;;
        8|08) month='Aug' ;;
        9|09) month='Sep' ;;
          10) month='Oct' ;;
          11) month='Nov' ;;
          12) month='Dec' ;;
    esac
    tim="${day}-${month}-${year}"
fi

#   perform result actions
mode=show
if [ ".$opt_i" != . ]; then
    mode=edit
elif [ ".$opt_e" = .yes ]; then
    mode=edit
elif [ ".$opt_s" != . ]; then
    mode=edit
fi
if [ ".$mode" = .show ]; then
    #   just display the current version
    case $opt_d in
        short )
            echo "${ver}.${rev}${typ}${lev}"
            ;;
        long )
            echo "${ver}.${rev}${typ}${lev} ($tim)"
            ;;
        libtool )
            echo "${ltv}"
            ;;
        hex )
            echo "${hex}"
            ;;
        * ) echo "$msgprefix:Error: invalid argument to option \`-d': \`$opt_d'" 1>&2
            shtool_exit 1
            ;;
    esac
else
    #   update the version file

    #   pre-generate various strings
    triple="${ver}.${rev}${typ}${lev}"
    vHex="$hex"
    vShort="${triple}"
    vLong="${triple} (${tim})"
    vTeX="This is ${name}, Version ${triple} (${tim})"
    vGNU="${name} ${triple} (${tim})"
    vWeb="${name}/${triple}"
    vSCCS="@(#)${name} ${triple} (${tim})"
    vRCS="\$Id: ${name} ${triple} (${tim}) \$"

    #   determine string out of filename
    #   (do NOT try to optimize this in any way because of portability)
    filestr=`util_upper "$file" | tr './%+' '____' | sed -e 's/-/_/g'`

    #   generate uppercase prefix
    prefixupper=`util_upper "$prefix"`

    #   create the version file according the the selected language
    echo "new version: ${vLong}"

    cp /dev/null $file
    case $opt_l in
        txt )
            echo >>$file ""
            echo >>$file "  ${file} -- Version Information for ${name} (syntax: Text)"
            echo >>$file "  [automatically generated and maintained by GNU shtool]"
            echo >>$file ""
            echo >>$file "  $vTeX"
            echo >>$file ""
            ;;
        c )
            echo >>$file "/*"
            echo >>$file "**  ${file} -- Version Information for ${name} (syntax: C/C++)"
            echo >>$file "**  [automatically generated and maintained by GNU shtool]"
            echo >>$file "*/"
            echo >>$file ""
            echo >>$file "#ifdef _${filestr}_AS_HEADER_"
            echo >>$file ""
            echo >>$file "#ifndef _${filestr}_"
            echo >>$file "#define _${filestr}_"
            echo >>$file ""
            echo >>$file "#define ${prefixupper}VERSION ${vHex}"
            echo >>$file ""
            echo >>$file "typedef struct {"
            echo >>$file "    const int   v_hex;"
            echo >>$file "    const char *v_short;"
            echo >>$file "    const char *v_long;"
            echo >>$file "    const char *v_tex;"
            echo >>$file "    const char *v_gnu;"
            echo >>$file "    const char *v_web;"
            echo >>$file "    const char *v_sccs;"
            echo >>$file "    const char *v_rcs;"
            echo >>$file "} ${prefix}version_t;"
            echo >>$file ""
            echo >>$file "extern ${prefix}version_t ${prefix}version;"
            echo >>$file ""
            echo >>$file "#endif /* _${filestr}_ */"
            echo >>$file ""
            echo >>$file "#else /* _${filestr}_AS_HEADER_ */"
            echo >>$file ""
            echo >>$file "#define _${filestr}_AS_HEADER_"
            echo >>$file "#include \"${file}\""
            echo >>$file "#undef  _${filestr}_AS_HEADER_"
            echo >>$file ""
            echo >>$file "${prefix}version_t ${prefix}version = {"
            echo >>$file "    ${vHex},"
            echo >>$file "    \"${vShort}\","
            echo >>$file "    \"${vLong}\","
            echo >>$file "    \"${vTeX}\","
            echo >>$file "    \"${vGNU}\","
            echo >>$file "    \"${vWeb}\","
            echo >>$file "    \"${vSCCS}\","
            echo >>$file "    \"${vRCS}\""
            echo >>$file "};"
            echo >>$file ""
            echo >>$file "#endif /* _${filestr}_AS_HEADER_ */"
            echo >>$file ""
            ;;
        m4 )
            echo >>$file "##"
            echo >>$file "##  ${file} -- Version Information for ${name} (syntax: M4)"
            echo >>$file "##  [automatically generated and maintained by GNU shtool]"
            echo >>$file "##"
            echo >>$file ""
            echo >>$file "m4_define([v_hex],   [${vHex}])"
            echo >>$file "m4_define([v_short], [${vShort}])"
            echo >>$file "m4_define([v_long],  [${vLong}])"
            echo >>$file "m4_define([v_tex],   [${vTeX}])"
            echo >>$file "m4_define([v_gnu],   [${vGNU}])"
            echo >>$file "m4_define([v_web],   [${vWeb}])"
            echo >>$file "m4_define([v_sccs],  [${vSCCS}])"
            echo >>$file "m4_define([v_rcs],   [${vRCS}])"
            echo >>$file ""
            ;;
        perl )
            echo >>$file "##"
            echo >>$file "##  ${file} -- Version Information for ${name} (syntax: Perl)"
            echo >>$file "##  [automatically generated and maintained by GNU shtool]"
            echo >>$file "##"
            echo >>$file ""
            echo >>$file "our \$${prefix}version = {"
            echo >>$file "    'v_hex'   => ${vHex},"
            echo >>$file "    'v_short' => \"${vShort}\","
            echo >>$file "    'v_long'  => \"${vLong}\","
            echo >>$file "    'v_tex'   => \"${vTeX}\","
            echo >>$file "    'v_gnu'   => \"${vGNU}\","
            echo >>$file "    'v_web'   => \"${vWeb}\","
            echo >>$file "    'v_sccs'  => \"${vSCCS}\","
            echo >>$file "    'v_rcs'   => \"\\${vRCS}/\""
            echo >>$file "};"
            echo >>$file ""
            echo >>$file "1;"
            echo >>$file ""
            ;;
        python )
            echo >>$file "##"
            echo >>$file "##  ${file} -- Version Information for ${name} (syntax: Python)"
            echo >>$file "##  [automatically generated and maintained by GNU shtool]"
            echo >>$file "##"
            echo >>$file ""
            echo >>$file "class ${prefix}version:"
            echo >>$file "    v_hex       = ${vHex}"
            echo >>$file "    v_short     = \"${vShort}\""
            echo >>$file "    v_long      = \"${vLong}\""
            echo >>$file "    v_tex       = \"${vTeX}\""
            echo >>$file "    v_gnu       = \"${vGNU}\""
            echo >>$file "    v_web       = \"${vWeb}\""
            echo >>$file "    v_sccs      = \"${vSCCS}\""
            echo >>$file "    v_rcs       = \"${vRCS}\""
            echo >>$file ""
            ;;
        * ) echo "$msgprefix:Error: invalid argument to option \`-l': \`$opt_l'" 1>&2
            shtool_exit 1
            ;;
    esac
fi

shtool_exit 0

##
##  manual page
##

=pod

=head1 NAME

B<shtool-version> - B<GNU shtool> maintain version information file

=head1 SYNOPSIS

B<shtool version>
[B<-l>|B<--language> I<lang>]
[B<-n>|B<--name> I<name>]
[B<-p>|B<--prefix> I<prefix>]
[B<-s>|B<--set> I<version>]
[B<-e>|B<--edit>]
[B<-i>|B<--increase> I<knob>]
[B<-d>|B<--display> I<type>]
I<file>

=head1 DESCRIPTION

This command displays and maintains version information in I<file>.

The version is always described with a triple
E<lt>I<version>,I<revision>,I<level>E<gt> and is represented
by a string which always matches the regular expression
"C<[0-9]+\.[0-9]+[sabp.][0-9]+>".

The hexadecimal format for a version C<v.rtl> is C<VVRRTLL> where C<VV>
and C<RR> directly correspond to C<v> and C<r>, C<T> encodes the level
type as C<9>, C<2>, C<1>, C<0> (representing C<s>, C<p>/C<.>, C<b>, C<a>
in this order) and C<LL> is either directly corresponding to C<l> or set
to C<99> if level type is C<s>.

=head1 OPTIONS

The following command line options are available.

=over 4

=item B<-v>, B<--verbose>

Print verbose information during processing.

=item B<-l>, B<--language> I<lang>

Choose format of version file I<file>. I<lang>="C<txt>", ANSI C
(I<lang>="c"), M4 (I<lang>="m4"), Perl (I<lang>="perl") or Python
(I<lang>="python"). Default is C<txt>.

=item B<-n>, B<--name> I<name>

Name the program the version is maintained for. Default is C<unknown>.

=item B<-p>, B<--prefix> I<prefix>
=item B<-s>, B<--set> I<version>

Set the version to I<version>.

=item B<-e>, B<--edit>

Interactively enter a new version.

=item B<-i>, B<--increase> I<knob>

When option ``B<-i>'' is used, the current version in I<file> is updated
by increasing one element of the version where I<knob> can be one of
the following: ``C<v>'' for increasing the version by 1 (and resetting
revision and level to 0), ``C<r>'' for increasing the revision by 1 (and
resetting level to 0) or ``C<l>'' for increasing the level by 1.

=item B<-d>, B<--display> I<type>

Control the display type: "C<short>" for a short version display,
"C<long>" for a longer version display, "C<hex>" for a hexadecimal
display of the version and "C<libtool>" for a format suitable for use
with GNU libtool.

=back

=head1 EXAMPLE

 #   shell script
 shtool version -l c -n FooBar -p foobar -s 1.2b3 version.c

 #   configure.in
 V=`shtool version -l c -d long version.c`
 echo "Configuring FooBar, Version $V"

=head1 HISTORY

The B<GNU shtool> B<version> command was originally written by Ralf S.
Engelschall E<lt>rse@engelschall.comE<gt> in 1994 for B<OSSP eperl>. It
was later rewritten from scratch for inclusion into B<GNU shtool>.

=head1 SEE ALSO

shtool(1).

=cut


Creat By MiNi SheLL
Email: jattceo@gmail.com