#!/bin/bash
current_arch=$(arch)
if [[ "$current_arch" != "x86_64" && "$current_arch" != "i686" ]]; then
   echo "Invalid package. Please get the correct package."
   exit 1
fi

# check glibc, only on loongarch64 architecture
if [[ "$current_arch" == "loongarch64" ]]; then
    libc_path=$(find /lib /lib64 /usr/lib /usr/lib64 -name libc.so.6 2>/dev/null | head -n 1)
    which strings &>/dev/null
    if [ "$?" -eq 0 ]; then
        COMPILE_GLIBC_VERSION=@TEMP_ARC_GLIBC@
        isCompatible=$(strings "$libc_path" | awk '$0~/^GLIBC_'"$COMPILE_GLIBC_VERSION"'$/ {print $0;}')
        if [ -z "$isCompatible" ]; then
            echo "Invalid package. Please get the correct package."
            exit 1
        fi
    fi
fi

MYTMP="$(dirname $(readlink -f $0))"
sed -n -e '1,/^exit 0$/!p' $0 > "${MYTMP}/upgrade.sh" 2>/dev/null
chmod +x ${MYTMP}/upgrade.sh

${MYTMP}/upgrade.sh "$@"
exit 0
ELF          >     @     @        1          @ 8 	 @         @       @ @     @ @                              8      8@     8@                                          @       @     |      |                          `     `                               (      (`     (`                              T      T@     T@     D       D              Ptd         @     @     |       |              Qtd                                                  Rtd         `     `                        /lib64/ld-linux-x86-64.so.2          GNU                        GNU "ʑnɄAէ&            0   @          ĉݣkĹ@9                            }                      P                      -                      B                      I                                            a                      ;                      h                                                                                         o                      (                                            v                                                                                                                                    4                                               !  /`               !  /`                 /`                 /`             libc.so.6 exit sprintf __isoc99_sscanf time getpid strdup calloc strlen memset __errno_location memcmp putenv memcpy malloc getenv stderr execvp fwrite fprintf atoll strerror __libc_start_main __environ __xstat __gmon_start__ GLIBC_2.7 GLIBC_2.14 GLIBC_2.2.5                                               ii
                  ui	          `                   /`                   /`                    `                     `                   ( `                   0 `                   8 `                   @ `                   H `                   P `                   X `        	           ` `        
           h `                   p `                   x `        
            `                    `                    `                    `                    `                    `                    `                    `                    `                    `                   HH  Ht   H      5  %  @ %  h    %z  h   %r  h   %j  h   %b  h   %Z  h   %R  h   %J  h   p%B  h   `%:  h	   P%2  h
   @%*  h   0%"  h    %  h
   %  h    %
  h   %  h   %  h   %  h   %  h   %  h   %  h   %  h   1I^HHPTIP@ H@ H@ fD  /` UH-/` HHw]ø    Ht]/`     /` UH-/` HHHH?HHu]ú    Ht]Hƿ/`     =I$   uUH~]6$  @ H=X   t    HtU ` H]{ sUH
%   %  $  $  $  $  $  H 0` $  $  $  u]UHH}uHEHE   $  H 0` E$  EЈy$  p$  }HcHEHU$  ЈM$  D$  <$  H 0` Hc 0`  $  HU 0` $  #  #  PHE   m   } 7]UHH}uHEHE   #  #  #  H 0` E#  EЈ#  }#  t#  H 0` Hc 0` X#  HU 0` A#  H 0`  EHEEH 0` 1HEHEm} F]UHH0  HHpHHH6  y
   H       HHxHHpHHEHEE HEHHEH8HEHHH   H    UHH}HuHEH} tHEH Ht
HEH H;EuHEHPHEHHEH} tHEH Hu]UHH@  vHH@ $@ H)HЉƿ$@    !` H   HH   HHH@ HǸ    HHHEHHEH} uSHHUHcH<H¾@     HHH       HHHHEI@ HǸ    (E}uLHHH9u9EHHPHEHHC  HH)ЃUH]UHSHH}HuHEH HEH} u@ HEH} u(H  H       @    EE   !` A   "`    /` [  t&/` Hÿ    H9}
"` }  
   "!`    D!` t   /` e    !` V   !` G   !` U   "` )   "` !` t
!`      1!` } y
1!`   E
H   HHEH} u
      }        !` s  u"!` dt
"!` m     !` sb
  $` d   #` U   #` c   /` 7   /` #` t
#`    b  `HEH} u
      HE       HHEH   b
  $` HN2  t;   HEH} u
      HUHE辢/` HǸ    HEHEE    EPUHH    HEHHEH H} t,0
  t!EPUHH    HEHH !` )
  t!EPUHH    HEHH D!` EPUHH    HEHHEH  t!EPUHH    HEHH  !` }~E    E;EPUHH    HEHEPUHH    HEHH HE;E|EHH    HEHH     HEHƿ"!` "!` HH[]UHATSH}HuHEHXHUEH։HHEHH Ht
HEL`A@ 0 t% lH@ 
 t@ @ HUHH=5  MIH@     e   H[A\]    AWAAVIAUIATL%  UH-  SL)1HHMHt     LLDAHH9uH[]A\A]A^A_Ðf.     f.     @ HH    HH                     x%lx =%lu %d %lu %d%c _ E: neither argv[0] nor $_ works. <null>  :  %s%s%s: %s
 ;|             
   h  K0  P  p  D      =      ph               zR x      *                  zR x  $         FJw ?;*3$"       D   [    AC
V     d   P    AC
            AC
            AC
        n^    AC
Y           AC
      ,    AC
A   $   $  S   AC
EI      $   L  =    AC
G     D   t  e    BEE E(H0H8M@l8A0A(B BBB                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          @     @                                  `	@     
       p@            `                          `                   o    @            p@            @     
                                                   `            (                           8@            @            H       	              o    @     o           o    t@                                                                                                             (`                     	@     	@     	@     	@     	@     	@     	@     
@     
@     &
@     6
@     F
@     V
@     f
@     v
@     
@     
@     
@     
@     
@     
@     
@     
@                                                     0ђHi˝E=Ј&K
D͌z\<+˩DKoA1]6dRv	%TVtiW<]Sa"	f	`ν%B蚣Zn$ *HL΍cZl -|G-qoɽ 	kHE:RhKΟߘ\{.ٰk< HLdD)I>XYKQʶr"N",wpWr	F[H]6Us;"ݵU7N@WrNN<"wAI,CLC%6D.ٟ(Jdh:ܪT&K&l,懍ҥs:O4uG_ PX3B>4G縹yGְLj¼ti8e'gNޕz}`3x>On~|v/%ר~9
Dp ,hE|%ΰ3<g#"991BWgVQ<JAr!'Ofy)c"ehd3#Y89,[kL[At(54߱i
6I%%
pCD߹"P>k}E9~5km$Gܙlvd
P;#'åQܿ6h}DX_(3Ā?M*^ozҚju?kih?p%ߠs
ɥ22Rzq[%KKn*U^ch2P!S4ibrMӬ7UG$6tWWFTn}5E(nNMs%l#Av
s7s=F
`y#:)r#p_+p^}W^03pWfv,[iv$UZM{G
TBXяg*##?KU+PВaps)_0)7g%[r}NF&!	߼cUEF_˗YǛfgoVr$+SO˻uE@~chK"sw
`7dw.&^B iޓ@fG\-BGuPbTT_U.Y$	6rj6lYLW`Е3(cZ^lQQb8k{&t_oZ@߆L!Ƴ(Gc0gXff*.IrsݿߝB&w繱jL2ߞS	⩆;ո	hkO'MQTԮ9NQ둺81@R^N]RQdKAsz͈Q.D0hRAW|zLUft2t[ADpKu"K+Z[TƻK57+PE2 	M5E:v[C-$3`<wCDZhF"
v!+PT@[ӭh&`qwŃVC;g|faT2;jh^H	jC.~v.1:NgY$Sh<'kl8W|(k"?ڞ}O+eǺ	&|E|ުտ]ywj3QCa@Ҁۼf_-#ܹݚq
Z,kAF mDڎ
J.2&m2]kS.49qLDV[gݩGVgc(*%^elj¾`{V
EK_?ae,6zf%k.-$];>K`ީ}Q	(. p*worP|*SH{*y2J«z F<e2'ݸ_PFGC+/l.?~v̐ #n8=P":4	ĉI4N(WO[ 	͑:zD
P0ԥV<+W@HR[r,N9qvP}>'9LÐ2GA~GpeNWwwN#<TVR:mF!G!}'"cTTL::phM2&,wzHʅ
yX
K\^R޹.mx	&#c0r\rp:Rq끭kI$ewfT1_$<_oM[DW#!0\l:vth U|mXD.aqq&j\/Wըc wgO:ICgZ9<`#-]
H
gXy1톳~.),ClŢI0gl돞&(ک\Y:E(zNqNQ)mz[9P.ѾXd,1ʤٳvh:ڠd졈!v
y#EcpO8=6X**uO\%Y-~Uw0Tdy=(z+J(%st6}p
ȉhv1
cu]!]%NE=f?*Հ)lߴp$M[bRJ|f
4͎X,ɮw&F
A CKul{8rk'D$ǉ?PY#dtoy/
XgZ NalQH yvHwנѩ-lkvSYJZg5uXgʈ
=Ypg
<Pe	"RG|0.ߵ8kW.5VɾUjrꧽ]p>&4;yktbZU3OW
Q~pumW6F
xt})E}I@9OW:$/\g05N_ǮGd"
^t蹝f|w
,g׍_^8fc3R,A8ejIR QrӇձݐV૮NF͝ FLP#NVo$y"/M#X]N넭V@ĐAž.Wh_{,
 rS"'HEɦp}*	(CTŨYx@Q	K>aP.7B3j鴲J:]!=Ak	١c ۩
Jό2Gw܎ϧ Q̬";[ܿ0ܲAXЏ'e0>I. /
ncVE"5
t>4=H^MvW<)+6_5@čEF-Z$d(q
~>v+d8UimX>3S^?N-J^$jUD?%e~+OrNb^?dmÑd&pLe\EdwE:$ꉁLIQQ k6^	5N# 7@POH2{YM@RA;jexY>a
3aàT7_w GCC: (GNU) 4.8.5 20150623 (Red Hat 4.8.5-39) GCC: (GNU) 4.8.5 20150623 (Red Hat 4.8.5-44)  .shstrtab .interp .note.ABI-tag .note.gnu.build-id .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rela.dyn .rela.plt .init .text .fini .rodata .eh_frame_hdr .eh_frame .init_array .fini_array .jcr .dynamic .got .got.plt .data .bss .comment                                                                                8@     8                                                 T@     T                                     !             t@     t      $                              4   o       @           4                             >             @                                     F             p@     p                                   N   o       t@     t      8                            [   o       @           @                            j             @           H                            t      B       8@     8      (                          ~             `	@     `	                                    y             	@     	                                                @            p                                          p@     p      	                                           @           `                                           @           |                                           `@     `                                                `                                                     `                                                      `                                                       (`     (                                              `                                                       `                                                        `                                                       /`     /      (                                    0               /      Z                                                   &0                                    