#!/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          >     @     @       P2          @ 8 	 @         @       @ @     @ @                              8      8@     8@                                          @       @     |      |                          `     `                               (      (`     (`                              T      T@     T@     D       D              Ptd         @     @     |       |              Qtd                                                  Rtd         `     `                        /lib64/ld-linux-x86-64.so.2          GNU                        GNU EF߳'S2oj#            0   @          ĉݣkĹ@9                            }                      P                      -                      B                      I                                            a                      ;                      h                                                                                         o                      (                                            v                                                                                                                                    4                                               !   1`               !   1`                  1`                 1`             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	          `                    1`                   1`                    `                     `                   ( `                   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  1` UH- 1` HHw]ø    Ht] 1`      1` UH- 1` HHHH?HHu]ú    Ht]Hƿ 1`     =i%   uUH~]V%  @ H=X   t    HtU ` H]{ sUH*&   #&  &  &  &  &  %  H 1` %  %  %  u]UHH}uHEHE   %  H 1` E%  EЈ%  %  }HcHEHu%  Јm%  d%  \%  H 1` Hc 1` @%  HU 1` (%  %  %  PHE   m   } 7]UHH}uHEHE   $  $  $  H 1` E$  EЈ$  $  $  H 1` Hc 1` x$  HU 1` a$  H 1`  EHEEH 1` 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   /`    0` ^  t&0` Hÿ    H9}
/` }  
   .`    .` t   R/` e   e/` V   .` G   .` U   .` )   .` .` t
.`      0` } y
0`   E
H   HHEH} u
      }       d/`   u.` dt
.` m     c/` sb
  "` d   0` U   0` c   0` 7   0` 0` t
0`    b  `HEH} u
      HE       HHEH   b
  "` HN  t;   HEH} u
      HUHER/` HǸ    HEHEE    EPUHH    HEHHEH H} t,t  t!EPUHH    HEHH c/`   t!EPUHH    HEHH .` EPUHH    HEHHEH  t!EPUHH    HEHH e/` }~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=U  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
@     
@     
@     
@     
@     
@     
@     
@     
@                                                     ja<'=bG/;Ra,]h1AhS{+ 3orL	5
-<:}z%QmޮȁAPY.
MenE[D	u|	'Ķju%E6l!cTܔ(aG?${Ex,7Zͯ닥0ε0a$9-.hLhH7d*X'
'(Vl)
RlԚT]vD*O(w
-fČ
Ozſ
RIPDAδY٩DTo_h~w@zǄZ	/1pڵJ.k3{<E? (jn$@% }c)QT
QYg0ào*0!<c{|7
EF O1eM|8̠%Zo'b]>ݪf^;K\K{8`h$_7"ӿykHr+c)8mK(tf-:$8=5~S_ض SV^F2b{sǄ7{Q~kzDq)VI%ݨ^)4Eoϳ(Ϝm1V«DN6u.;0f=U.Vqv] 8e`nߪӃL{!9!y=[fF	nT!L.Cs1K"E/)HdS7($dV>DvL?)<-:Cvm3^~'%JIM@B蔰A9\)xgg엃AԫppZvA*8LEKoy5_6HCBq$B5t$ٚ}=+'
!B_Vƚe6erJ'᩸o运P2s"oPB)vvD)~["6`(wdFl;RmR%`O+N>Bp+]%㗯oPv̳=J\zB_thvy-ʛ	<3pȣHXJKMϥ輳bQoOerdU[c_20axd]EXQV¦ N)SykUg̫V]4^1$I2Fb޽;ɹ˖	TPBeGMG5ذ:0_jz"osW6¹Nr`OǢ)WXg!3yWHlAG{!:1Q=3PLЩ*0Vmrܴ=߳N=уPQWZrW>I
w;C ߺ0?2_+L!p.DA9SD8C7!
ȑ}\1Tp>APXnlO<zg)^8)4Het$Aا~E[C.M3Rp|ğ^zfp	uYybq:KBSr%_	R7~
xjͤ"*)6X_ "iN"7cyȑTȗB$	)uv8Ywؙc0Up8TrI}isy"d끧v}̎^	Ie)T+GF/s{N=t+DII ĈHlhCv~73c O'Y8k$kKbuek ϔx4Ȓvj,~iSbJ$^Ps38EK4^s	^b'3hth{1&੘-g0{ȨD	NB|f)yHTr/,W9Q#{37]ue$&!lX-nC3XMo-`
7RXW~OZ
<K-[;urQCkQ
ް7`(R̳MԂKP 9ԿVQU6b*ŀh U|&$ww^^-#3-<EAvi-Ձk) k3^ #t&GWGoUcyJXY3|sFEUZ.4f%`~ xW@zrKO*/1z^`PHx3W[U@eLSMax+4!sڧR*룭VI`jĨ,
%hY Ur:]-5e6R,'Gw#*SĴxS<5?;G>zgփoqdDIoiwg>'%5B vM
]8|?	:>#*C M@?$|zcJo/+L*@ayb+.ɸԸs-/"{ $h$8J,BScò}\EnEyvCiTSOs(^uXFY"v"3\Xs%rJ˱;Z Y%TihtcH/>G<9M?#t1_}Ӹg{%i5H@<')ξ"K}=KWZu6WJ&Cљ(av2vj3o7B>${PNQHj2A/C$QW95c1Ls'EX/7` IE^~JBfLek*A 	y)O(dۙO
"4D5
{fF_=DA_{*E^wy9ߘ*Tӽ2(kUh]xZ[x@J~B}.T藛+c/ܚuyG3|f}o]L_lǋ"͉JQDvF?˃}3d<c]c;֗aQpD}jC?M7HLJg2G1z0wToT%qCU
̜?bGa'hP҅tt¢m EF|mޔpC{Y*7#2CNӮJ+
M2P{zk`5Rgvz:%Q}j[vZ։AA$-<ԏq1GiBt鵽A|ZQTۦ\DA"%ʙNj1Q_[:!}XInц~;U͇؜:uUZXɱ8sl@5W,)E]+ܲ4|Չ-#f<h?\7*
:\&\l+)fWKؽGU-6:zt)P'GY˯ bMM͈.B*$Rk/5Lذb^ǦtvAykT1gfeҲ>R
p`.AtO'C#tl/<AIi1ɂr=,o(MlHYYfqxԺ2u_M3ͱevn QJM|@9>brMp)Za!NQ[[y`ӒI[op,+X9,G[Y.$/0u 4c >=\3R,{&elA
5ܗoexf^=!GW&BgѭBiHCԠEf4&oG~/ؗnA*KdLpx^hRV*T3A҂۝{QJ!E4rP>&6z;>?R96~<cI'7#0lmz&gYfnV'kZ,	>u,'B}:֠cE@^Uk?;6g^ 5JN!Bf0PܥGH'
+},qM@ p=>q&S4E_l4Q\a*,ȏMy/^~!
VC13d3|j)_Fe,nԸ~-V=}NM\;OUŎCkPf7}b+}Hz: 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      	                                           @           `                                           @           |                                           `@     `                                                `                                                     `                                                      `                                                       (`     (                                              `                                                       `                                                        `                                                        1`     0      (                                    0               0      Z                                                   T1                                    