-- This file was generated using Luraph Obfuscator v13.1.8 return (function(Zd,Mi,Ai,ai,Bd,Qi,ri,Ci,Ei,Sd,qi,ji,vi,ui,ti,Gi,kd,Ti,Fi,ii,ci,Ni,Ii,Yi,Li,Wi,Vi,Hi,nd,Bi,mi,Si,hi,Pi,xd,di,Xi,Ri,Di,Ui,ei,Oi,si,wi,pi,zi,oi,Kd,li,gi,yi,Ud,Ji,bi,fi,...)local K,n,k,x=Bi,Ui,Si,(di);local O,b=Oi[bi],qi;local S,d=Oi[Li],(ri);local Z,B=ji,(Yi);local r,j=mi[Ni],ei;local Y,m,N=Mi,Di,(gi);local q=(Hi);local L=(Oi[Ji]);local e,M,D=pi or ti,Ii,li;local g=(D and D()or si);local J=(Fi);local w=1;local p,Zi=Fi,1;local t,I,l=Fi,Fi,(Fi);local H={};repeat if(Zi>1)then if(Zi~=2)then do t=q(S(t,5),Ei,function(Pc)if(d(Pc,2)==72)then local xn=(0);while(Ci)do if(xn~=0)then return hi;else do I=k(S(Pc,1,1));end;do xn=1;end;end;end;else local aE=O(k(Pc,16));if(not(I))then return aE;else local a8=(b(aE,I));I=Fi;return a8;end;end;end);end;Zi=2;else l=function()local ew=(Fi);local uw=(0);while(Ci)do if(uw>0)then if(uw~=1)then return ew;else w=w+1;uw=2;end;else ew=d(t,w,w);uw=1;end;end;end;Zi=4;end;else if(Zi==0)then Zi=3;else do t=Ai;end;do Zi=0;end;end;end;until(Zi==4);Zi=5;local s,F,A,C,E,h,i=Fi,Fi,Fi,Fi,Fi,Fi,Fi;repeat if(Zi>3)then do if(Zi>5)then if(Zi~=6)then E={[0]=1};Zi=1;else i=function()local Cj,Kj=Fi,(Fi);for sc=0,2 do do if(sc>0)then if(sc~=1)then do return Kj*A+Cj;end;else do if(Kj<F)then else Kj=Kj-A;end;end;end;else Cj,Kj=s(),s();end;end;end;end;do break;end;end;else if(Zi~=4)then s=function()local Iu,Fu,Nu,eu,cu=0,Fi,Fi,Fi,Fi;repeat if(Iu>0)then do if(Iu==1)then return cu*16777216+eu*65536+Nu*256+Fu;else w=w+4;do Iu=1;end;end;end;else Fu,Nu,eu,cu=d(t,w,w+3);Iu=2;end;until(ii);end;Zi=4;else F=2147483648;Zi=2;end;end;end;else do if(Zi>1)then if(Zi~=2)then do C=2^52;end;Zi=7;else A=4294967296;do Zi=3;end;end;else if(Zi~=0)then do do local yO=(Fi);local MO=(0);while(MO<2)do if(MO~=0)then do for W3=1,31 do do for os=0,1 do do if(os~=0)then do yO=yO*2;end;else (E)[W3]=yO;end;end;end;end;end;end;MO=2;else yO=2;MO=1;end;end;end;end;do Zi=0;end;else do h=function(Nx,ix,hx)local xx=Fi;local fx=(1);while(Ci)do if(fx>0)then if(fx==1)then xx=(Nx/E[hx])%E[ix];fx=2;else xx=xx-xx%1;fx=0;end;else return xx;end;end;end;end;Zi=6;end;end;end;end;until(ii);local y=(function()local h_=s();local H_=(s());local P_=(Fi);for pO=0,1 do if(pO~=0)then do P_=(-1)^h(H_,1,31);end;else do if(not(h_==0 and H_==0))then else return 0;end;end;end;end;local I_,b_,W_=Fi,Fi,(Fi);do for ha=0,4 do do if(ha>1)then do if(ha<=2)then W_=1;else if(ha~=3)then return P_*(2^(I_-1023))*(b_/C+W_);else if(I_==0)then if(b_~=0)then local Yz=0;while(Yz<2)do if(Yz~=0)then do W_=0;end;Yz=2;else I_=1;Yz=1;end;end;else return P_*0;end;elseif(I_~=2047)then else if(b_==0)then return P_*(0/0);else return P_*(1/0);end;end;end;end;end;else do if(ha~=0)then b_=h(H_,20,0)*A+h_;else I_=h(H_,11,20);end;end;end;end;end;end;end);local R,V={[0]={[0]=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},{[0]=1,0,3,2,5,4,7,6,9,8,11,10,13,12,15,14},{[0]=2,3,0,1,6,7,4,5,10,11,8,9,14,15,12,13},{[0]=3,2,1,0,7,6,5,4,11,10,9,8,15,14,13,12},{[0]=4,5,6,7,0,1,2,3,12,13,14,15,8,9,10,11},{[0]=5,4,7,6,1,0,3,2,13,12,15,14,9,8,11,10},{[0]=6,7,4,5,2,3,0,1,14,15,12,13,10,11,8,9},{[0]=7,6,5,4,3,2,1,0,15,14,13,12,11,10,9,8},{[0]=8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7},{[0]=9,8,11,10,13,12,15,14,1,0,3,2,5,4,7,6},{[0]=10,11,8,9,14,15,12,13,2,3,0,1,6,7,4,5},{[0]=11,10,9,8,15,14,13,12,3,2,1,0,7,6,5,4},{[0]=12,13,14,15,8,9,10,11,4,5,6,7,0,1,2,3},{[0]=13,12,15,14,9,8,11,10,5,4,7,6,1,0,3,2},{[0]=14,15,12,13,10,11,8,9,6,7,4,5,2,3,0,1},{[0]=15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0}},(yi or Ri);local G=V and V[Vi]or function(I1,H1)local V1=0;do while(V1~=2)do if(V1~=0)then H1=H1%A;do V1=2;end;else do I1=I1%A;end;V1=1;end;end;end;local Y1=1;do V1=0;end;local N1=(Fi);while(Ci)do if(V1>0)then if(V1==1)then return N1+I1*Y1+H1*Y1;else while(I1>0 and H1>0)do local MD,uD,BD=I1%16,3,Fi;repeat if(uD>1)then do if(uD>2)then if(uD==3)then BD=H1%16;do uD=0;end;else I1=(I1-MD)/16;uD=1;end;else Y1=Y1*16;uD=5;end;end;else if(uD~=0)then H1=(H1-BD)/16;uD=2;else N1=N1+R[MD][BD]*Y1;uD=4;end;end;until(uD>4);end;V1=1;end;else N1=0;V1=2;end;end;end;local a=V and V[Gi]or function(ot,kt)local Gt=1;while(Ci)do if(Gt>0)then do if(Gt~=1)then kt=kt%A;do Gt=0;end;else ot=ot%A;Gt=2;end;end;else return ((ot+kt)-G(ot,kt))/2;end;end;end;local Q=(V and V[ai]or function(b9,r9)local u9=2;repeat if(u9>0)then if(u9==1)then do return A-a(A-b9,A-r9);end;else b9=b9%A;u9=0;end;else r9=r9%A;u9=1;end;until(ii);end);local T=(V and V[Qi]);local P,W=V and V[Pi]or function(gI)return A-(gI%A);end,V and V[Wi];Zi=0;local c,v=Fi,(Fi);while(Zi<5)do do if(Zi<=1)then do if(Zi~=0)then v=function(xr)local Cr=(s());local Gr=(hi);for zw=0,2 do do if(zw>0)then if(zw~=1)then return Gr;else w=w+Cr;end;else for Pb=1,Cr do Gr=Gr..O(G(d(t,w+Pb-1),J));do J=(xr*J+67)%256;end;end;end;end;end;end;do Zi=2;end;else W=W or function(kR,jR)local FR=(1);while(FR<=1)do do if(FR==0)then if(jR>=0)then else return T(kR,-jR);end;do FR=2;end;else if(jR<32)then else return 0;end;FR=0;end;end;end;return (kR*E[jR])%A;end;Zi=4;end;end;else if(Zi>2)then do if(Zi~=3)then T=T or function(pJ,HJ)local OJ=(1);local UJ=Fi;while(Ci)do if(OJ>1)then if(OJ~=2)then UJ=(pJ%A/E[HJ]);OJ=0;else if(HJ>=0)then else do return W(pJ,-HJ);end;end;OJ=3;end;else if(OJ~=0)then if(HJ<32)then else return 0;end;OJ=2;else return UJ-UJ%1;end;end;end;end;do Zi=3;end;else c=function(sj)local bj,Aj,hj,Mj,Cj,Ej=0,Fi,Fi,Fi,Fi,Fi;do repeat do if(bj>2)then if(bj>4)then if(bj==5)then p=(21*p+sj)%256;bj=7;else Cj=G(Aj[3],p);do bj=3;end;end;else do if(bj~=3)then hj=G(Aj[1],p);bj=1;else Ej=G(Aj[4],p);bj=5;end;end;end;else if(bj>0)then if(bj~=1)then w=w+4;bj=4;else Mj=G(Aj[2],p);bj=6;end;else Aj={d(t,w,w+3)};bj=2;end;end;end;until(bj==7);end;return Ej*16777216+Cj*Ti+Mj*256+hj;end;Zi=1;end;end;else do J=l();end;Zi=5;end;end;end;end;do Zi=3;end;local u,o=Fi,(Fi);repeat if(Zi>1)then if(Zi~=2)then p=l();do Zi=0;end;else o=function(...)return n(ci,...),{...};end;Zi=4;end;else if(Zi~=0)then for Rz=1,l() do local oz,cz,Ez=0,Fi,Fi;do while(oz<4)do if(oz<=1)then if(oz==0)then do cz=l();end;oz=2;else u[Ez+1]=h(cz,4,4);do oz=4;end;end;else if(oz~=2)then do u[Ez]=h(cz,4,0);end;oz=1;else Ez=(Rz-1)*2;oz=3;end;end;end;end;end;Zi=2;else u={};Zi=1;end;end;until(Zi==4);Zi=3;local f,z,X,Ki=Fi,Fi,Fi,Fi;do while(Zi<4)do if(Zi>1)then if(Zi~=2)then do f={};end;Zi=2;else do z=1;end;do Zi=1;end;end;else do if(Zi~=0)then function X()local mS,TS={Fi,Fi,Fi,{},{},Fi,{}},({});mS[17]=s();local DS=1;do while(DS<=1)do if(DS~=0)then do (mS)[11]=l();end;DS=0;else mS[1]=l();do DS=2;end;end;end;end;do mS[6]=l();end;local US=s();DS=0;local LS,aS=Fi,Fi;do while(DS<4)do if(DS>1)then if(DS==2)then LS=s()-133774;DS=1;else mS[16]=l();DS=2;end;else if(DS~=0)then do aS=l();end;DS=4;else for HG=1,US do local eG=(s());local uG=s();local NG,cG=0,(Fi);repeat if(NG~=0)then do for vE=eG,uG do do mS[7][vE]=cG;end;end;end;do NG=2;end;else cG=s();NG=1;end;until(NG>1);end;DS=3;end;end;end;end;do DS=0;end;repeat if(DS~=0)then (mS)[3]=l();break;else for vm=1,LS do local Jm,Nm,bm=1,Fi,Fi;repeat if(Jm~=0)then do Jm=0;end;else bm=l();Jm=2;end;until(Jm==2);Jm=20;do while(Jm~=24)do if(Jm>11)then if(Jm>17)then do if(Jm>20)then do if(Jm>21)then if(Jm~=22)then if(bm~=39)then else Nm=s();end;Jm=24;else do if(bm==126)then Nm=S(v(aS),2);end;end;Jm=16;end;else if(bm~=1)then else do Nm=Ci;end;end;do Jm=7;end;end;end;else if(Jm>18)then if(Jm~=19)then if(bm==17)then Nm=y()+s();end;Jm=6;else if(bm~=oi)then else Nm=y();end;Jm=13;end;else if(bm==137)then Nm=s();end;Jm=23;end;end;end;else if(Jm>14)then if(Jm>15)then if(Jm~=16)then do if(bm~=126)then else Nm=S(v(aS),2);end;end;Jm=18;else do if(bm~=197)then else Nm=i();end;end;Jm=13;end;else if(bm~=39)then else Nm=s();end;Jm=4;end;else if(Jm>12)then if(Jm~=13)then do if(bm==17)then Nm=y()+s();end;end;Jm=22;else if(bm~=ui)then else Nm=s();end;Jm=18;end;else do if(bm~=75)then else Nm=s();end;end;Jm=1;end;end;end;else if(Jm>5)then if(Jm<=8)then do if(Jm>6)then if(Jm~=7)then if(bm~=17)then else Nm=y()+s();end;Jm=20;else if(bm~=129)then else Nm=s();end;Jm=1;end;else if(bm~=75)then else Nm=s();end;Jm=1;end;end;else if(Jm>9)then if(Jm~=10)then if(bm~=1)then else Nm=Ci;end;Jm=22;else do if(bm~=129)then else Nm=s();end;end;do Jm=17;end;end;else if(bm~=108)then else Nm=ii;end;Jm=10;end;end;else if(Jm>2)then if(Jm>3)then if(Jm~=4)then if(bm~=75)then else Nm=s();end;Jm=3;else if(bm~=219)then else Nm=y();end;Jm=10;end;else if(bm~=126)then else Nm=S(v(aS),2);end;do Jm=16;end;end;else if(Jm>0)then if(Jm==1)then if(bm~=219)then else do Nm=y();end;end;Jm=0;else if(bm~=197)then else Nm=i();end;Jm=17;end;else if(bm==vi)then Nm=ii;end;do Jm=11;end;end;end;end;end;end;end;TS[vm-1]=z;do (f)[z]={Nm,{}};end;z=z+1;end;do DS=1;end;end;until(ii);local vS=Fi;do for eg=0,2 do if(eg>0)then do if(eg==1)then do for h5=1,vS do mS[4][h5-1]=X();end;end;else mS[9]=s();end;end;else vS=s();end;end;end;mS[15]=l();local zS=(s()-133724);do DS=4;end;local NS=Fi;while(Ci)do if(DS>1)then if(DS>2)then if(DS==3)then for Ij=1,zS do local Uj,Pj=Fi,Fi;do for cM=0,1 do do if(cM~=0)then Pj=c(NS);else do Uj={Fi,Fi,Fi,Fi,Fi,Fi,Fi,Fi,Fi,Fi};end;end;end;end;end;local qj=6;while(qj~=12)do if(qj>5)then if(qj<=8)then do if(qj>6)then if(qj~=7)then (Uj)[7]=h(Pj,8,6);do qj=5;end;else Uj[9]=h(Pj,9,14);do qj=1;end;end;else (Uj)[15]=h(Pj,13,18);qj=11;end;end;else if(qj>9)then if(qj~=10)then (Uj)[8]=h(Pj,9,23);qj=8;else do (Uj)[20]=h(Pj,21,30);end;qj=4;end;else Uj[4]=h(Pj,6,0);qj=8;end;end;else if(qj>2)then if(qj>3)then if(qj~=4)then do Uj[20]=h(Pj,21,30);end;qj=7;else (Uj)[15]=h(Pj,13,18);do qj=8;end;end;else Uj[20]=h(Pj,21,30);qj=11;end;else if(qj>0)then if(qj~=1)then (Uj)[4]=h(Pj,6,0);do qj=12;end;else (Uj)[2]=h(Pj,18,14);do qj=2;end;end;else do Uj[7]=h(Pj,8,6);end;qj=0;end;end;end;end;mS[5][Ij]=Uj;end;DS=1;else NS=l();DS=3;end;else (mS)[13]=s();DS=0;end;else if(DS~=0)then do for xD=1,zS do local LD=(2);local wD,KD,QD=Fi,Fi,(Fi);repeat if(LD>2)then do if(LD>4)then if(LD~=5)then if(not((KD==13 or QD)and wD[8]>255))then else local sR,oR=0,Fi;while(Ci)do if(sR~=0)then do oR=TS[wD[8]-256];end;break;else wD[10]=Ci;sR=1;end;end;local nR=(f[oR]);if(not(nR))then else wD[1]=nR[1];local DY,OY=1,(Fi);while(Ci)do if(DY~=0)then OY=nR[2];DY=0;else OY[#OY+1]={wD,1};break;end;end;end;end;do LD=0;end;else if(KD==7)then local m3,Z3,E3=0,Fi,(Fi);repeat if(m3==0)then Z3=TS[wD[2]];m3=1;else E3=f[Z3];do m3=2;end;end;until(m3==2);if(not(E3))then else wD[5]=E3[1];local bD=(E3[2]);(bD)[#bD+1]={wD,5};end;end;LD=6;end;else if(LD~=3)then QD=KD==8;LD=5;else do KD=u[wD[4]];end;LD=4;end;end;end;else if(LD>0)then do if(LD~=1)then wD=mS[5][xD];LD=3;else if(KD~=10)then else (wD)[2]=xD+(wD[2]-131071)+1;end;do LD=7;end;end;end;else if(not((KD==6 or QD)and wD[9]>255))then else do (wD)[3]=Ci;end;local YF=(TS[wD[9]-256]);local NF,UF=0,Fi;while(Ci)do if(NF~=0)then if(not(UF))then else local pR,ZR=1,(Fi);while(pR<2)do if(pR~=0)then wD[6]=UF[1];do pR=0;end;else ZR=UF[2];do pR=2;end;end;end;(ZR)[#ZR+1]={wD,6};end;break;else UF=f[YF];do NF=1;end;end;end;end;LD=1;end;end;until(LD==7);end;end;DS=2;else return mS;end;end;end;end;Zi=0;else Ki={};Zi=4;end;end;end;end;end;local function ni(OQ,JQ,aQ)local tQ=(aQ[7]);local NQ=aQ[5];local YQ=(aQ[4]);local jQ,UQ=aQ[1],aQ[3];local iQ=(Y({},{__mode=fi}));local wQ=(function(...)Ki[0]=aQ;local gd,Nd=0,(1);local Fd=({e({},1,UQ)});local pd=((D and D()or si));local rd=(pd==g and OQ or pd);local Dd,Md=o(...);do Dd=Dd-1;end;for so=0,Dd do if(jQ<=so)then else (Fd)[so]=Md[so+1];end;end;local Ed=(function()while(true)do local io=NQ[Nd];local Oo=(io[4]);Nd=Nd+1;if(Oo>=22)then if(Oo>=33)then if(Oo>=39)then if(Oo<42)then if(Oo<40)then do (Fd)[io[7]]=io[9]~=0;end;do if(io[8]~=0)then do Nd=Nd+1;end;end;end;else if(Oo==41)then if(io[8]~=228)then local xa=io[9];local fa=(io[7]);local Ca=((xa>0 and xa-1 or Dd-jQ));if(Ca>=0)then else Ca=-1;end;for Y7=fa,fa+Ca do do (Fd)[Y7]=Md[jQ+(Y7-fa)+1];end;end;if(xa~=0)then else gd=fa+Ca;for Ct in j(Fd) do if(Ct<=gd)then else (Fd)[Ct]=Fi;end;end;end;else do Nd=Nd-1;end;do NQ[Nd]={[7]=(io[7]-200)%256,[4]=16,[8]=(io[9]-200)%256};end;end;else if(io[8]==149)then Nd=Nd-1;NQ[Nd]={[4]=16,[8]=(io[9]-194)%256,[7]=(io[7]-194)%256};elseif(io[8]==147)then Nd=Nd-1;NQ[Nd]={[8]=(io[9]-116)%256,[7]=(io[7]-116)%256,[4]=34};else repeat local SH,vH=iQ,(Fd);local CH={};for po,wo in j(SH) do do for BK,NK in j(wo) do do if(not(NK[1]==vH and NK[2]>=0))then else local FN=NK[2];if(not(not CH[FN]))then else CH[FN]={vH[FN]};end;do NK[1]=CH[FN];end;(NK)[2]=1;end;end;end;end;end;until(Ci);local Hh,nh=io[7],io[9];do if(nh==1)then return ii;end;end;local fh=Hh+nh-2;if(nh~=0)then else fh=gd;end;return ii,Hh,fh;end;end;end;else if(Oo<43)then local vN=Fi;local HN=Fi;if(not(io[3]))then HN=Fd[io[9]];else HN=io[6];end;if(not(io[10]))then vN=Fd[io[8]];else do vN=io[1];end;end;if((HN<=vN)~=(io[7]~=0))then Nd=Nd+1;end;else if(Oo==44)then local jd,bd=Fd[io[7]],(io[9]);do if(io[8]==0)then local St=JQ[bd];do St[1][St[2]]=jd;end;else do (Ki)[bd]=jd;end;end;end;else Nd=io[2];end;end;end;else if(Oo<36)then if(Oo<34)then local BC=io[8];local OC,UC=io[7],io[9];do if(UC==0)then else gd=OC+UC-1;for sf in j(Fd) do if(sf<=gd)then else Fd[sf]=Fi;end;end;end;end;local tC,vC=Fi,Fi;if(UC==1)then tC,vC=o(Fd[OC]());else tC,vC=o(Fd[OC](e(Fd,OC+1,gd)));end;do if(BC==1)then gd=OC-1;else if(BC==0)then do tC=tC+OC-1;end;gd=tC;else tC=OC+BC-2;gd=tC+1;end;local Fj=0;do for il=OC,tC do Fj=Fj+1;(Fd)[il]=vC[Fj];end;end;end;end;for AU in j(Fd) do if(AU<=gd)then else Fd[AU]=Fi;end;end;else if(Oo~=35)then if(io[9]==198)then Nd=Nd-1;do NQ[Nd]={[4]=20,[9]=(io[8]-211)%256,[7]=(io[7]-211)%kd};end;elseif(io[9]~=9)then if((not not Fd[io[7]])==(io[8]==0))then Nd=Nd+1;end;else Nd=Nd-1;NQ[Nd]={[7]=(io[7]-78)%kd,[9]=(io[8]-78)%256,[4]=41};end;else local IW=(Fi);local vW=Fi;do if(io[3])then IW=io[6];else IW=Fd[io[9]];end;end;if(not(io[10]))then vW=Fd[io[8]];else do vW=io[1];end;end;if((IW<vW)==(io[7]~=0))then else do Nd=Nd+1;end;end;end;end;else if(Oo>=37)then if(Oo~=38)then do if(io[8]==14)then do Nd=Nd-1;end;do (NQ)[Nd]={[9]=(io[9]-100)%256,[7]=(io[7]-100)%kd,[4]=30};end;elseif(io[8]~=202)then Fd[io[7]]=-Fd[io[9]];else do Nd=Nd-1;end;NQ[Nd]={[4]=34,[7]=(io[7]-15)%256,[8]=(io[9]-15)%256};end;end;else local gQ=(Fd[io[9]]);if((not not gQ)~=(io[8]==0))then (Fd)[io[7]]=gQ;else Nd=Nd+1;end;end;else (Fd)[io[7]]=io[5];end;end;end;else do if(Oo<27)then if(Oo>=24)then if(Oo<25)then local Fx,ax=Fd[io[9]],(Fi);if(not(io[10]))then ax=Fd[io[8]];else ax=io[1];end;do Fd[io[7]+1]=Fx;end;do Fd[io[7]]=Fx[ax];end;else if(Oo==26)then local X3=Fi;local E3=(Fi);do if(io[3])then X3=io[6];else X3=Fd[io[9]];end;end;if(io[10])then do E3=io[1];end;else do E3=Fd[io[8]];end;end;(Fd)[io[7]]=X3+E3;else local oG=Fi;local iG=Fi;if(not(io[3]))then do oG=Fd[io[9]];end;else oG=io[6];end;if(io[10])then iG=io[1];else iG=Fd[io[8]];end;Fd[io[7]][oG]=iG;end;end;else if(Oo==23)then local yA=(Fi);if(not(io[10]))then yA=Fd[io[8]];else yA=io[1];end;do (Fd)[io[7]]=Fd[io[9]][yA];end;else local ct=Fi;local Ct=(Fi);do if(io[3])then Ct=io[6];else Ct=Fd[io[9]];end;end;if(io[10])then do ct=io[1];end;else ct=Fd[io[8]];end;(Fd)[io[7]]=Q(Ct,ct);end;end;else if(Oo<30)then if(Oo>=28)then if(Oo==29)then local yy,my=Fi,Fi;do if(io[3])then yy=io[6];else do yy=Fd[io[9]];end;end;end;if(not(io[10]))then my=Fd[io[8]];else my=io[1];end;(Fd)[io[7]]=a(yy,my);else rd[io[5]]=Fd[io[7]];end;else local B2=(Fi);local I2=Fi;if(not(io[3]))then I2=Fd[io[9]];else do I2=io[6];end;end;if(not(io[10]))then B2=Fd[io[8]];else B2=io[1];end;Fd[io[7]]=I2%B2;end;else if(Oo>=31)then do if(Oo==32)then local zy=Fi;local fy=(Fi);if(not(io[3]))then zy=Fd[io[9]];else zy=io[6];end;if(not(io[10]))then do fy=Fd[io[8]];end;else fy=io[1];end;local Xy=(zy/fy);(Fd)[io[7]]=Xy-Xy%1;else local sk=(Fi);local Vk=(Fi);do if(not(io[3]))then Vk=Fd[io[9]];else do Vk=io[6];end;end;end;do if(not(io[10]))then do sk=Fd[io[8]];end;else sk=io[1];end;end;if((Vk==sk)==(io[7]~=0))then else Nd=Nd+1;end;end;end;else if(io[8]==64)then Nd=Nd-1;(NQ)[Nd]={[7]=(io[7]-16)%256,[4]=19,[9]=(io[9]-16)%256};elseif(io[8]~=231)then do repeat local sa,Sa,Ra=iQ,Fd,io[7];local ha={};for zb,lb in j(sa) do do for QZ,sZ in j(lb) do do if(sZ[1]==Sa and sZ[2]>=Ra)then local MZ=sZ[2];if(not(not ha[MZ]))then else (ha)[MZ]={Sa[MZ]};end;sZ[1]=ha[MZ];do (sZ)[2]=1;end;end;end;end;end;end;until(Ci);end;else Nd=Nd-1;do NQ[Nd]={[8]=(io[9]-34)%256,[4]=16,[7]=(io[7]-34)%256};end;end;end;end;end;end;end;else if(Oo>=11)then if(Oo<16)then if(Oo>=13)then do if(Oo<14)then local OU=(Fi);local tU=Fi;if(not(io[3]))then do tU=Fd[io[9]];end;else tU=io[6];end;if(not(io[10]))then OU=Fd[io[8]];else OU=io[1];end;do (Fd)[io[7]]=T(tU,OU);end;else if(Oo==15)then if(io[8]~=220)then do (Fd)[io[7]]=Fd[io[9]];end;else Nd=Nd-1;do (NQ)[Nd]={[9]=(io[9]-216)%256,[7]=(io[7]-216)%256,[4]=17};end;end;else local qk=(io[9]);local Tk=(io[8]-1)*50;do if(qk~=0)then else do qk=gd-io[7];end;end;end;for nO=1,qk do do Fd[io[7]][Tk+nO]=Fd[io[7]+nO];end;end;end;end;end;else if(Oo~=12)then Fd[io[7]]=rd[io[5]];else local kD=(io[7]);Fd[kD]=K(k(Fd[kD]),zi);(Fd)[kD+1]=K(k(Fd[kD+1]),Xi);Fd[kD+2]=K(k(Fd[kD+2]),Kd);Fd[kD]=Fd[kD]-Fd[kD+2];Nd=io[2];end;end;else do if(Oo<19)then if(Oo<17)then if(io[9]~=127)then local b2=io[7];local c2=b2+2;local g2=({Fd[b2](Fd[b2+1],Fd[b2+2])});for oH=1,io[8] do Fd[c2+oH]=g2[oH];end;if(Fd[b2+3]~=Fi)then Fd[b2+2]=Fd[b2+3];else do Nd=Nd+1;end;end;else do Nd=Nd-1;end;(NQ)[Nd]={[9]=(io[8]-6)%256,[4]=37,[7]=(io[7]-6)%256};end;else if(Oo==18)then do Fd[io[7]]={e(H,1,io[9]==0 and nd or io[9])};end;else for Z4=io[7],io[9] do do (Fd)[Z4]=Fi;end;end;end;end;else if(Oo>=20)then if(Oo==21)then local kF,KF=Fi,Fi;if(not(io[3]))then do kF=Fd[io[9]];end;else kF=io[6];end;do if(not(io[10]))then KF=Fd[io[8]];else do KF=io[1];end;end;end;Fd[io[7]]=kF/KF;else if(io[8]~=2)then do Fd[io[7]]=not Fd[io[9]];end;else Nd=Nd-1;(NQ)[Nd]={[9]=(io[9]-121)%256,[4]=15,[7]=(io[7]-121)%256};end;end;else do if(io[8]~=109)then (Fd)[io[7]]=#Fd[io[9]];else Nd=Nd-1;(NQ)[Nd]={[4]=17,[7]=(io[7]-106)%256,[9]=(io[9]-106)%256};end;end;end;end;end;end;else if(Oo>=5)then if(Oo>=8)then if(Oo>=9)then if(Oo==10)then Fd[io[7]]=P(Fd[io[9]]);else local EM,iM=Fi,(Fi);if(not(io[3]))then do EM=Fd[io[9]];end;else do EM=io[6];end;end;if(not(io[10]))then do iM=Fd[io[8]];end;else do iM=io[1];end;end;Fd[io[7]]=W(EM,iM);end;else local M3=(Fd[io[9]]);for on=io[9]+1,io[8] do M3=M3..Fd[on];end;(Fd)[io[7]]=M3;end;else if(Oo>=6)then if(Oo==7)then local oW,IW=Fi,(Fi);do if(not(io[3]))then oW=Fd[io[9]];else oW=io[6];end;end;if(io[10])then IW=io[1];else IW=Fd[io[8]];end;(Fd)[io[7]]=oW-IW;else local j_,p_=YQ[io[2]],(Fi);if(j_[6]>0)then p_={};for QF=1,j_[6] do local rF=(NQ[Nd]);if(rF[4]==15)then (p_)[QF-1]={Fd,rF[9]};elseif(rF[4]~=0)then else do (p_)[QF-1]=JQ[rF[9]];end;end;Nd=Nd+1;end;(r)(iQ,p_);end;Fd[io[7]]=ni(rd,p_,j_);end;else local Ob=(io[7]);local Rb=(Fd[Ob+2]);local Jb=(Fd[Ob]+Rb);(Fd)[Ob]=Jb;do if(Rb<=0)then do if(Jb<Fd[Ob+1])then else Nd=io[2];do (Fd)[Ob+3]=Jb;end;end;end;else do if(Jb>Fd[Ob+1])then else Nd=io[2];Fd[Ob+3]=Jb;end;end;end;end;end;end;else if(Oo>=2)then if(Oo>=3)then if(Oo~=4)then local Vr=Fi;local Er=(Fi);do if(not(io[3]))then Er=Fd[io[9]];else Er=io[6];end;end;if(not(io[10]))then Vr=Fd[io[8]];else Vr=io[1];end;(Fd)[io[7]]=Er^Vr;else local bY,vY=io[7],io[9];do if(vY~=0)then gd=bY+vY-1;for lu in j(Fd) do if(lu>gd)then (Fd)[lu]=Fi;end;end;end;end;do repeat local Yd,zd=iQ,(Fd);local hd={};for hG,OG in j(Yd) do for fE,ZE in j(OG) do if(not(ZE[1]==zd and ZE[2]>=0))then else local mY=(ZE[2]);if(not(not hd[mY]))then else hd[mY]={zd[mY]};end;ZE[1]=hd[mY];ZE[2]=1;end;end;end;until(Ci);end;return Ci,bY,vY;end;else local oj,Wj=Fi,Fi;if(not(io[3]))then oj=Fd[io[9]];else oj=io[6];end;if(not(io[10]))then Wj=Fd[io[8]];else do Wj=io[1];end;end;Fd[io[7]]=G(oj,Wj);end;else if(Oo~=1)then local t1,r1=Fi,io[9];do if(io[8]==0)then local WK=(JQ[r1]);t1=WK[1][WK[2]];else t1=Ki[r1];end;end;Fd[io[7]]=t1;else local Zj,dj=Fi,(Fi);if(io[3])then Zj=io[6];else Zj=Fd[io[9]];end;if(not(io[10]))then do dj=Fd[io[8]];end;else dj=io[1];end;(Fd)[io[7]]=Zj*dj;end;end;end;end;end;end;end);local ld,ud,yd,Cd=x(Ed);if(not(ld))then if(Z(ud)~=xd)then (wi)(ud,0);else if(not(L(ud,Zd)))then wi(ud,0);else wi(Bd..(tQ[Nd-1]or Ud)..Sd..B(ud),0);end;end;else if(ud)then do if(Cd==1)then do return Fd[yd]();end;else return Fd[yd](e(Fd,yd+1,gd));end;end;elseif(not(yd))then else do return e(Fd,yd,Cd);end;end;end;end);if(not(M))then else (M)(wQ,OQ);end;do return wQ;end;end;local ki=(X());do Zi=0;end;local xi=(Fi);repeat do if(Zi>0)then if(Zi~=1)then f=Fi;break;else Ki[1]=f;Zi=2;end;else xi=ni(g,Fi,ki);Zi=1;end;end;until(ii);return xi(...);end)("\94\46\45\58\37\100\58\32",setmetatable,"LPH/545B178388A32H83738A3H3383D88D8887833883372H33A8039A3BBB65896H006E900A0200D57E4H00C5F4616HFF00023H006CDC5823EE2H00C93H00013H00013H00023H00023H00023H001A3H00033H00033H00063H00043H00043H001E3H00053H00053H001B3H00063H00067H00073H000A3H00243H000B3H000B3H00253H000C3H000C7H000D3H000E3H00213H000F3H00123H00223H00133H00137H00143H001A3H00533H001B3H001C3H005B3H001D3H001D7H001E3H00213H00C43H00223H00263H00C53H00273H00273H00C63H00283H00287H00293H002D3H00B73H002E3H00323H00B83H00333H00337H00343H00383H00B23H00393H00397H003A3H003D3H008C3H003E3H003F3H008F3H00403H00407H00413H00433H008F3H00443H00443H00923H00453H00457H00463H00463H00A33H00473H00473H00A43H00483H00483H00A53H00493H004A3H00A73H004B3H004B3H00A93H004C3H004C7H004D3H004D3H00A93H004E3H004F3H00AA3H00503H00533H00AC3H00543H00543H00AA3H00553H00557H00563H00573H00C63H00583H00593H00C73H005A3H005A7H005B3H005F3H00613H00603H00603H00633H00613H00643H00853H00653H00653H00633H00663H00667H00673H006B3H00B63H006C3H006C3H00B73H006D3H006D7H006E3H00743H00213H00753H00757H00763H00783H00033H00793H007B3H00023H007C3H007C3H00033H007D3H007D7H007E3H00833H00B13H00843H00847H00853H00893H00023H008A3H008A3H00033H008B3H008B7H008C3H008E3H00403H008F3H00903H00423H00913H00913H00403H00923H00927H00933H00943H008B3H00953H00993H008C3H009A3H009A7H009B3H009D3H00BB3H009E3H009F3H00BC3H00A03H00A13H00C03H00A23H00A27H00A33H00A33H00483H00A43H00A93H004F3H00AA3H00AA7H00AB3H00AB3H00933H00AC3H00AC3H00943H00AD3H00AD3H00953H00AE3H00AE3H00963H00AF3H00AF3H00973H00B03H00B03H00983H00B13H00B13H00993H00B23H00B27H00B33H00B93H00383H00BA3H00BC3H003A3H00BD3H00BD7H00BE3H00C03H00BC3H00C13H00C13H00C03H00C23H00C23H00BB3H00C33H00C33H00C03H00C43H00C43H00C43H00C53H00C57H00C63H00CA3H00023H00CB3H00CB7H00CC3H00CC3H00303H00CD3H00D33H00383H00D43H00D47H00D53H00D63H00633H00D73H00D73H00853H00D83H00D83H00873H00D93H00D97H00DA3H00DB3H00443H00DC3H00DF3H00483H00E03H00E23H004D3H00E33H00E43H00483H00E53H00E57H00E63H00E83H00B23H00E93H00E93H00B33H00EA3H00EA7H00EB3H00F13H00203H00F23H00F27H00F33H00F93H005F3H00FA3H00FA3H00613H00FB3H00FB7H00FC3H0003012H008C3H0004012H0004016H0005012H000B012H00203H000C012H000C016H000D012H000F012H00533H0010012H0015012H005E3H0016012H0016016H0017012H001B012H00023H001C012H001C016H001D012H001D012H003A3H001E012H0020012H003E3H0021012H0023012H003A3H0024012H0024016H0025012H0025012H00273H0026012H0026012H00283H0027012H0027012H00293H0028012H0028012H002A3H0029012H0029012H002B3H002A012H002A012H002C3H002B012H002B012H002D3H002C012H002C012H00363H002D012H002D016H002E012H002F012H00AA3H0030012H0030012H00AC3H0031012H0031012H00A93H0032012H0032012H00AC3H0033012H0034012H00B03H0035012H0035016H0036012H003B012H00B53H003C012H003C012H00B63H003D012H003D016H003E012H0042012H00873H0043012H0043016H0044012H004A012H00023H004B012H004B016H004C012H004F012H00B33H0050012H0050016H0051012H0056012H00B13H0057012H0057016H0058012H0059012H00513H005A012H005C012H004F3H005D012H005D016H005E012H0061012H00B43H0062012H0062016H0063012H0066012H00A93H0067012H0067016H0068012H006A012H00B33H006B012H0070012H00B43H0071012H0071016H0072012H0073012H00CA3H0074012H0076012H00C73H0077012H0077012H00CB3H0078012H0079012H00403H007A012H007C012H00443H007D012H007E012H00463H007F012H007F012H00443H0080012H0080016H0081012H0084012H00253H0085012H0085016H0086012H0086012H00223H0087012H008B012H00233H008C012H008C012H00243H008D012H008D016H008E012H008E012H009A3H008F012H008F012H009B3H0090012H0090012H009C3H0091012H0091012H009D3H0092012H0092012H009E3H0093012H0093012H009F3H0094012H0094012H00A03H0095012H0095012H00A13H0096012H0096012H00A23H0097012H0097016H0098012H0098012H008A3H0099012H009C012H008B3H009D012H009D016H009E012H009E012H00B93H009F012H00A1012H00BB3H00A2012H00A2016H00A3012H00A3012H00E6FBF235A4012H00A4012H007612265AA5012H00A5012H0042B6B77BA6012H00A6012H00F39C8949A7012H00A7012H0092132F52A8012H00A8012H00CBC84F0602FA0A0200CD7E123H0054460E45780D55A4C2666E6785BD3DD45F6E7E053H00EEB1E50F917E0E3H004D0D46FB5A941494367ABB3364A37E083H007BE96C032FE639587E063H00E381646BE74C7E213H0079DDDFC42700D4C9A2E41C296EECB5E0F280E60064C0DB3C675D47F8A1708606FBDB8H007E043H0048517DB47E073H002C64552F31FC9F7E103H0035AE78FDAFC822C4902D4CED6CDB99BC7E163H008536E0AF5C76E1CECC1EC8BEA5FEC0D654AEB12644877E183H005B5169BDD73CA78B0F8CC763852H19CD957971ED8D01C9B57E073H0093A550DBC01B667E093H009826548428F554C9607E043H006308B7F87E0C3H0077D08E02BB118EACFC32AD787E0B3H00337110070592F32E5D27847E063H009C37989172A57E093H00AAA859318746EDBD317E0B3H000DB3603A8F44C3E94201587E053H003EA8A380BD7E1B3H005DC5D6D165EDC6E985C5467125EF7327410A5D3101A22D69B38F137E023H005E527E073H00F8E1623BC7EC617E0B3H00B161C5FE6B9B724CA165057E093H0032620CC9C7C88D80BA7E223H00F52C3E607ECFA0332990327173DF42A9A2AAAE51F8739885F68589871B1E054D960D7E053H00C7B3FF83617E0A3H00E2FE0EF5BD6FD44D65E97E053H00A4A164CAE67E083H00EBFC7F405ADA25A07E063H00530F96A2E9F47E4H007E063H006920211517F77E0F3H004FA7002256F8B33685531015EC23097E073H004C2C05B1A367467E083H00D55B1A9B290EAB977E0C3H007DFD14DF0FBAA19CBB3BC0FA7E063H0059EE6D3CD3A07E0C3H00BFC39211E3C0E0D9461191237E0E3H00FB0566B3D2CCD4B39E025BCB3C8B7E1B3H00F9144AE148C144EE9869A42E5831A45E8809E4BEE8A1E48E8A4C7B7E063H00AA1D87C2C7747E0C3H00C80B79C2FBD566970C5BAF657E053H00348A02DAA17E0D3H003BD4232D6CEDD72675E993306B7E163H00CE2B5F8A1753C6E3571207FB3EFB47AAFFD3AEC38F627E053H00DC5A21F9C37E113H004366239E25C3E67D429AFF0E58824B84197E0C3H007A33B629FF5F5CE1D261152B7E0F3H0046E25499A2626F1B54A6A5D48EB312DB6H00F0BF7E093H00DFF1E3E03A2B6AACA17E0C3H009ECC5FFE588BFADD7B8ADB9B7E053H002A1A6B86AF7E0C3H00191EACD9A3D088C1FE3335047E063H0035A38EB227877E0E3H00BBA44CE10A9F8300ECF92B365B6B7E053H00B965F5749C7E183H004C3FF3B7AB5F8347E3075B77F3B566B17D8D76693D2733CF7E093H00E4DE7B1D48A83508237E053H00BF008BE67B7E0A3H00FAE94F5B848DF2BDB4A87E1B3H007CD3278365CEF11D5D4E79AD574BAFC98245A9192AA511D9F2A5997E063H00494A19E778CB7E043H002FD80084DB6H0014C07E093H000362C293B5EFB1EA0DAA7E073H00F2CB7022665A957E0C3H00D37A3B2B21FFDA6B51E1FC897E083H00CFC8E9C203A28F8C7E053H00B79829E2507E053H001247501A5E7E163H006132B4AAA05AFC72985A7C7AA8424C3A206AC422D8AA7E0E3H005702263D064633033146F732A0F47E0D3H00F5C3FF3E3013220C0D7DFB3F7A7E173H0020F36CB6221DF0121C5489C6D108DD6D56FB59A1662DE87E083H00C9AD799F9E3B46817E083H00F13D5EA06776D5277E063H00196EADB4099E7E1F3H007F45BB90AE77099F379CABD56E49206F744296FDB4B53BC91AFFFDE463C1D27E083H004CDA012HA964441F7E093H00D466D21B33949B87F97E123H00EFC110AFA5BD825FD8F313CD87B110A3BDB67E203H0081EA4193E1E4117DD75D78A991B33974509D3FED6848D923A9F4398DCF0D900C7E0B3H00216BADCA0F81174FC7B85E7E073H0062499ABB9A19737E043H0003BCB6E97E0C3H0017A424B9066073ACF924024E7E063H00D3816775E3127E2A3H00E9ABD723FF40F96078974B1292402B9A732D07D279BC21F6074250A4BA616C331E2191B6FD8AEDA322C27E063H00438F8A4C2F087E0B3H00D98D04DB29CC5D0F11C0D57E073H007AD1ED6430A10B7E0C3H007B3566D5A43A2C818FB0EDF77E0D3H00F7BDE1A69F0AF512961125A0487E063H009ACBA2FEF9207E093H0038925AD5688A377D567E083H0083D723BF0B405ADF7E163H00EB7679C54B4D223AB695D7196045F7CD4F5F89351E577E063H0091F28DBDF4E57E043H003748D7867E173H008BB97164FDB170651DC099254419B10CE52140FFA03F8F7E133H0080775EC5F7B3B4D50AE5EDD755F1F32F2B638B7E0C3H0075D68C9B45105C4E9224DE507E123H00D1F8EEED0322E6B0EF6C94D6028DF79252D97E083H0033230A45929ACB67210D3H0021B2BF04810102173H00013H00013H00493H00023H00043H004B3H00053H00053H00493H00063H00063H004D3H00073H00093H00493H000A3H00173H004A3H00183H00187H00193H001F3H00493H00203H00207H00213H00273H004A3H00283H002A3H004B3H002B3H002B7H002C3H002C3H00492B6F352D3H002D3H0089A8241E2E3H002E3H009D9AC7392F3H002F3H00224CD223303H00303H00C20E8547313H00313H006E527811323H00323H00A564222C333H00333H00ADD71D43343H00343H00D6919D15353H00353H00BC841B61363H00363H00830CEF616B9C0A0200D97E043H009BCFF05A7E123H00776EE8B048E8D27284FA2C9BD09CE414A6897E4H007E0B3H00850E93D823AF71D382CD9E7E0B3H0086101AEB54923DF9EE847ADB6H0024C07E053H008FBD216B387E1C3H00762920FF2H885985226534CD3AE416957420667168C93047E4C3610A7E123H005A2DE827B131A2DF5C9F8B05E3BD2053C93A7E123H00B8497EB38FEA701A4F1E9F40675CF1BABC3E7E053H003643AF0DB37E0B3H00254714877C9AC897E774EF7E0E3H0026586D7A3951D77D9D7F10A297B6DB6H00F0BF0B4H00C718DF5AAE920A02006B705B5CDBC92HE262A4F4CEF5E50504847AFF3FBFBED62H961DF9B8B97CD89B98AF631D9C418B080A657C3CBF882D6E2H6C2H47C76F7F653EE0408180574181833C2AEAEB6A73B3B745842H858C952HD5DB2F514E66A42HE6DECB4BCF43286AE8D8F3F2735C1A5B5AC68DCECD18BC2H3C45576E249CCEB4FA75511211FB9029AF502H7BFB4D35BBECF43H1400262H24742H5FDF67375A36B8D858D973B9393883422H033D2BAB2E769DA8228FC015E9288BD6A9387E8D1940D3C8D5EF2H94CEE73DCB4210B817A6079B6EFCA091C4F5BFC42953E5B32A548E9A6E1A5D772413BF01000F3H00013H000E3H001C3H000F3H000F7H00103H00103H001C3H00113H00163H001D3H00173H00177H00183H00223H001C3H00233H00237H00243H00263H001D3H00273H00273H001E3H00283H00283H0099D0CE77293H00293H00D07E33732A3H002A3H00C20A6F6E2B3H002B3H0076913D552C3H002C3H00D129F05B2D3H002D3H00D085BC1BDF970A0200817E093H0088B0B2F3C9323372547E073H00E3D7C6E275A92B7E0B3H00B80FB89F88724C1F3BECF37E4H007E063H0019786F859CD37E073H002B19D6A6E477AE7E064H0091444315127E0C3H00122H9C2HF61816506D848BD0C585CCD4A44HFF0A4H003BBA266125890A020095422968E9193233B2A9EFAEAFFBF0F2F061852H452C7E874EB96B91DED73H9C4A2H61E1DB4ADF8A86A7E7E61FC8080A6AFDBD3E1D2H171648A362E39F74B63441D859D869A32HE20B3F001E0B2H20A026E99D034F6F2HEE305B189B582HD3CD7A2H51D1A961A10C76D657559338B838B2AD2F2EED2HC6460A13D2D34CD555AE62C9B736B9D269EDA48F71F07B2H50D034243A25BF9F1E9EA3CB2H8BA1130F0B51A6DE69EA8C3C2D64CBE169F25B52CC5763B0550ABEF4361FCAAE759A00010E3H00013H00043H00C83H00053H00057H00063H00093H00C83H000A3H000E3H00C93H000F3H000F3H00CA3H00103H00143H00C83H00153H00157H00163H00163H0004E11F6D173H00173H00361C993A183H00183H00BCE6545B193H00193H00D0300B611A3H001A3H00BCB2D47B1B3H001B3H001F1D217B1C3H001C3H002611AB0ECC940A0200897E4H00C507C6B2984HFF7E073H0036E45B5EC1F45D7E1F3H0013B7FBF3179C452HF85BE684B4602D6369380848FF88D8B41012565421DAB07E0D3H003028333EE94461975A7D1FA4937E0D3H00E76220792AB57C6D23AE14BFAD034H00D4292C6685780A0200F95D7672F68C67A427AAECADAC1E552H1599F2B03237939293232H0888B0E1D4A10FEEAE2EB4FFBEBFC0642HA4462H6DEDFBEAEDEA0A2HAB2BA8C02H805D3H79F466DE97C557ECA14H9CDD2HC54409E2D95D122F8B64DB1C924B352D7898181CB5128A50E0E8F0399E26D10693BC6D50653780842D71B62H010D3H00013H00063H00453H00073H00073H00463H00083H000A3H00453H000B3H000B7H000C3H000C3H00BEC8310C0D3H000D3H0058AB49780E3H000E3H00D0F685350F3H000F3H00010D4839103H00103H0019EA7D54113H00113H00D65CE834123H00123H00C906580D133H00133H009624F271143H00143H00321EAE266F910A02009D7E083H00F61924A3AF46A1387E4H00C52D1FA5B14HFF024H008B96E7215D700A02009971DA5ADADFBB2HFB22F088409BC9B3FF963HD67E276727E48C2HCC7E95AB2A94522H9298132H9383E855D728C309271FFD4753B2F8043DDD03B6333B139FCEEFF2DAAF605E2C39352A16A0228D2B882E626D7C287BD10ABC2H00263H00013H00013H00073H00023H00093H00173H000A3H000A3H00183H000B3H000B3H001A3H000C3H000D3H00123H000E3H000E3H00143H000F3H000F3H00153H00103H00133H00163H00143H00143H00173H00153H00157H00163H00183H000A3H00193H00213H000B3H00223H00233H000C3H00243H00283H000D3H00293H00297H002A3H002C3H00073H002D3H002D3H00083H002E3H002E3H00093H002F3H00323H000A3H00333H00337H00343H00373H00113H00383H00387H00393H003C3H00113H003D3H003D7H003E3H003E3H000D3H003F3H003F3H000E3H00403H00403H000F3H00413H00443H00103H00453H00457H00463H004C3H00073H004D3H004D7H004E3H004E3H002402510F4F3H004F3H0090652F34503H00503H00C6EADC7C513H00513H00F1FFD76F523H00523H00C77F396D533H00533H00C4F85D31543H00543H00739C385CB6AC0A0200D5DB6H0010C07E083H00FEA2D5D486BDCED37E0B3H00E6833FB0B579883AB787CF7E0C3H00A3B7ACF8F6B92CF82FC0D7A17E043H006F79B6BC6CDB3H00B5456EB1C17E4H007E1C3H0033EB2215826223E770778607906ECCC71602C43B0243CA45765153E07E123H008F61F1EF1DB7B38DC12HB50495A3D5AB33A67E123H00E97A9A9FA96B82DD59AC276248BBAB9836FC7E123H0073465BB4C6F575ED9EF1CA570E83842HDD117E073H00AD0201DE55FBDC7E093H002AC7B6F5C868632EBA7E053H00BD6AF048847E063H00B8C77295EB547E0C3H004E2A2EF8F44E2CDE2702691E7E083H00CAC85A09791DC72C017E073H0032D7F4E806D914DB6H0008C07E083H007BDFEE4D96007BB0DB6H0014C0DB6H00F0BF7E0F3H002H438BDEE127BCFA97D5EC5D5CB640DB3H00BD640DB1C1DB7H00C07E0E3H0050A41A7D63A9CC77C2F5C2384F787E093H008E0EFC34302DDC3978AA044H0081088424A1B00A0200B96D0654C62F3777F698BC7E7CCE2HE565D342EA8202A363628F98D85C2631F1F5E73E3AFEA70F2H8F5C342H7415BD2H3D91BA45C5E9FB7BFA495097D61B2H4948EF76F33EFE27E12575ACAF6CDE159695D932088DCA93531D91480D4A38E1E22125EE6D6EE7FFBF3E80A46664C62HED6D7BAA5C2A4AEB2B2A170040C6AEB979743FE6E226FF572HD777DCA5234EC546457562E2EADC2HC34093F841C7FA91D451F51E26A1F8EF6F674B54D4D8B61D60E2889A1A9B425B9CDB6230B032F069EC21CF1650185E07428E670CB433A475BCF5B312D2D3A4B37372B1686CA8AA0175FE05CE4D4E475F1F9EA0C44644668DB032214AF775A00B78F43220A02140591ED5542H06076EF7F2BD65BC7AB4BC6566A569C2BE3D082322A39E582H983A7137319A7EBFBE5D0FF63E26348F42F67DFEFD51BA8C05FE5635788CE342FD5A3C30CFD4240327BF56BCD3783F355E43403EAA75B6952E8384FA5AA62H010E3H00013H00093H00503H000A3H000A3H00513H000B3H000B3H0046605D720C3H000C3H0022AB5F3B0D3H000D3H0031FDA33F0E3H000E3H000327F1010F3H000F3H00277B485E103H00103H0062531217113H00113H00F4FDDD30123H00123H00D912BA04133H00133H000331CA0C143H00143H00A2235F5E153H00153H005E6F7608163H00163H00994726258C910A0200C57E123H0071A30E09870F84119A111D0B65C3F6BD5FD4C5D48A9FDC4HFF7E4H00024H00439CAD6AC7720A02001799F2B3329AB1B0319ADC9D9CE8A32HE392362HB61745BC779240BAF4D73H97237A3A7A31592H1900FC40E49908479971ACBC59A491161280E5B2785D6A4D1FE594908F1D6F8C7AC593B6DEB3BED3F7D9B00353528F86CF5CA76F0F0B28665D962H01103H00013H000A3H00543H000B3H000B7H000C3H000C3H00543H000D3H000F3H00553H00103H00113H00563H00123H00133H00573H00143H00147H00153H00153H00573H00163H00173H00583H00183H00193H00593H001A3H001A3H005B3H001B3H001B3H0037128B111C3H001C3H000434E02B1D3H001D4H00B5A6031E3H001E3H004BCFAD7E1F3H001F3H007111DA5862960A02009DDB7H00C0DB6H00F0BF7E093H006B5A4A171B80739301DB6H0008C07E093H006AD52BE4F267F290497E4H007E083H00ADDD088FDC6CB9FD7E0E3H00153683442FFF5943CBD11E5C3118024H0006E6B362247B0A02003FBBD09110240F0E8F7CBA2H7A4A012H41B0D4959471235A114CDE6429EA2HF576731859D85C3777F729C2028242E969E99C3HDC128B8ACB4D2664E6822H9D1C0BE020A09F3HDFD34ACB0ABA9190110FE424A42C2H33B1452E6EEE053H45B12829696F072H47DFF96ABCD8C14587B6B39193B3C3780DE7E40BF32F52620F83F54C5A2A0102133H00013H00013H003B3H00023H00063H003C3H00073H000B3H003D3H000C3H000C7H000D3H00113H003B3H00123H00127H00133H00163H003D3H00173H00173H003E3H00183H001C3H003B3H001D3H001D7H001E3H00213H003B3H00223H00227H00233H00233H001D71AA19243H00243H00DFE82928253H00253H00083F7903263H00263H0050DFED61273H00273H00604EFC35283H00283H001496936B293H00293H00BBF9617E2B950A0200F57E0C3H00336C134E442BBE1D906A074B7E0B3H003FC43592BD0D27A1FC8788C5D9041ECF4HFF7E4H007E083H00A836A5786E0140B37E0E3H00D004F902894D13FD75E3F41A17AA7E0C3H002EB40E45E3E20E689CC61CFE054H00E97CDD0915850A02008BC62DE86D777CFDFC23A82936252H0E8E2031EB2HB12H90105B9B2HDB150282009D28A87CCF24E664B43H3F9DF6B73679382H796F79F9FA482H63E37930059C1C7D2H7CE74C37B353D85946752H5EDED0C11B2H412H60E0C3AB2HEBC0126AA2D7457FB3F43HB4170F2HCF125918072289F27663C8B63775737273F17A2HFA29CD2H0DB79C61E349168E2A4CFDC7B3581FA8715BCD3A0632ADDB86816A0BDC47BFD6E6AC0BD93038849B081B0001123H00013H000C3H00BD3H000D3H000D7H000E3H000E3H00BE3H000F3H000F3H00BD3H00103H00103H00BE3H00113H00113H00C03H00123H00133H00BD3H00143H00203H00BE3H00213H00217H00223H00223H00EF282F7B233H00233H0067ABBF29243H00243H00F9FF3629253H00253H0008E7515D263H00263H00809C5A0A273H00273H0019FF8457283H00283H00925F7045293H00293H00F8F7DB482A3H002A3H00DF0A3B4E19980A0200FD7E1C3H006AACBB660B4D0AF4A950CF3489F135349F053DE8CB6CA3768F76DA337E123H00E61EE8FC1490AABE485A3C974CC49C78AAB97E043H00204B10BA7E0B3H00E4F046E7AC7A01E5CED4267E123H0031A0A9A690ABF71FC0375885F84D26AF73377E4H00DB7H00C07E063H00830538E4C3AE7E053H0069AFB7552F7E0B3H004C2D3ECD9E284A757DFE85094H0037AEE9777E860A02002BAFC48504D4FFFE7F10D62H16F279F8F9BCD89998B1A39BD198CAB1FC76BD7C7D2C3H6C5047078495FEBF3ED00190C12BC000804A2AAA2B2CBA3BC1EE45C5457C142H542E8F0F0D4DE69819C2888B8930292HE9572HB2B3F12HDA5A5CCC620D5DFD3C3D40561697594F8F8E0910D0D5C4B0CFD11FB92H3B2942F97D045419550FE4DE5BD44AC465BDD1C5D113681A5BA1827A47CF0062ECBA1A7BBBF5D20E2015597D22AF7C34B7441CB438401A1402A60003103H00013H00083H00AB3H00093H00093H00AC3H000A3H000F3H00AB3H00103H00107H00113H00193H00AB3H001A3H001A7H001B3H001F3H00AB3H00203H00207H00213H00213H0055732D13223H00223H00067CD244233H00233H0013253D62243H00243H001F15A85C253H00253H00B02D3666263H00263H006E45362C273H00273H0061EACB15283H00283H00352C967B01990A0200C97E053H00393515DF5D7E0E3H00A04B80459C92D2CA808C2HAD3215C547FD87804HFF7E0B3H009264093E15058B9DAC77F47E123H004BF1FEAB9792405287561FE86FB461C244A67E123H0009555987415343BD5D513D8C6977358BAF927E4H007E0B3H00277A8C8D66085307FCBE8C7E1C3H0018DE6DB4ED97CC7EBF92A9B61F2B237EF937EBBA4DB6459CD9D45C517E043H005C4E3B4B7E0B3H00F8DADB9A6F7F0F62545930064H00A4585D1135840A0200D9755E5BDEA42H8F0F0594DD945CFD2HFC7EDA989A502H7BFBE170D5F0A88908893E562H16BF2HA7220C3H8CCD2HD5D4D2932HD253922H133F29E9E84AE19D1EE5CECF4EB97F2HBF8F042H84892DACAD184A337AB96B91DEEB3HE02139B9BA22868786FC97D72H572H7CFC14C55D0563824243542H43C74F58D8DA3A11EB6EE52B1F2HF00DA793661E7DC0D7D098526A935BD15F9E36BC1A3134432174772457C4FC66BCFBC50EEE0003283H00013H00013H00643H00023H00023H007E3H00033H00053H00813H00063H00067H00073H00083H00673H00093H000A3H006E3H000B3H000C3H00703H000D3H000D7H000E3H00163H007C3H00173H00177H00183H00183H00773H00193H001E3H00793H001F3H001F7H00203H00213H00833H00223H00223H00853H00233H00243H00793H00253H00293H007B3H002A3H002A7H002B3H002B3H00643H002C3H002E3H00653H002F3H00323H00673H00333H00337H00343H003B3H007E3H003C3H003C7H003D3H00453H00643H00463H00467H00473H004F3H00673H00503H00507H00513H00533H00813H00543H005A3H00833H005B3H005B7H005C3H005E3H00703H005F3H00633H00773H00643H00647H00653H00653H00112AAF2A663H00663H00F3621B01673H00673H006082724B683H00683H009B9ABD66693H00693H0094347D356A3H006A3H0021BBDD3D719F0A0200656C7E073H00C114236964623E7E0C3H00CEC98C4B1F56A920CB2FC8EE7E0B3H002A61A65F322054247BC2BB7E0E3H0047EEB85BFD73BEF944EFC09E4112DB6H00F0BF7E0E3H00AD77A0ADD8AE0A2AA4F05DE5E6497E0B3H0003C7C51E67D57F533FA4667E123H00BC3026F6DEF60C0432E462EDF682BAD2A0D77E083H005E371E9931A01BB27E0C3H0086843C216EC24B84F124AAA67E083H00622D8CABF8D2E90EDB7H00C07E053H000AB5C6FADE7E4H007E123H007925D9BAAA43B9B30FA34052090780FE73A67E0B3H00538B289F5466743757781309013H008DEFD72FC600010D3H00013H00023H00693H00033H00053H006A3H00063H00073H006C3H00083H00083H006E3H00093H00133H00693H00143H00147H00153H00153H00E2D13B68163H00163H00B5AE8C07173H00173H00333DE40A183H00183H00D72BC625193H00193H001580E7741A3H001A3H009BBB80211B3H001B3H0092694716A1920A0200E1DB6H0008C0DB7H00C07E083H00CC9DF4BF444A39BA7E4H00024H001762E72DFB770A02009FDDF6F576E64DCD4D543H70E74F2HCFB1DA9A1A65012H41DC742HF48BE32HA3D5FEFF7E73B52H7533782H3813F72H3730221B507B69D21D4H3C9C8B2H0B192H0687369DE1622B80FB7FB49F63E02B04CACE80FD791B1D6FD389B57D7C5EC90D5161A502CBAD8E66862389A9C3763AA64D5ADBC60A0200E52C071787D0792H78FD3C2HBD3127E7E5611641644F2476E406D9999CD972E072793HBF9F102H90BA742HB5957EAD3E503B68FB7CFD2HFC062H101568CB2HCA5C377FF723292HA8B90DB2AC3D2H16962272C2B33515149422C90F2H89E258DD6F6E2H2F98812H416A2HA4A56E6C2H6EFC2HE968072C2DACAA018101BE3H7A0F3HE7F0982HD8CC5C909DA73HC7F72H3C22EF2HC44468F8C4F9F3135253061F1E9DDB70088FF4D595948C3H1E390F597CD25CDC5C6E3171F9016A2CAA7C5752D723C80D88A60D890DF6F72H76042H12103FB52HF4BD09F7E8292H0282DE8E3F0FC1A12H2001842H85E5CE3FB1E0CBCA4B8A0C8D8C6A216061FE5AD9DAD5477EB52A78834E36BD7E7D0D66DF5952034A030FE4DC5B0E2H595B6572323420BF7FFB7B10BF2FA22HF5F7A9BEFEF864FB3BB997FC52C386D151D7A1CA67F573362H3700692H68462D9E1216562HD6A4B3F3F05F152H545D16D7C8492H62E2FEAEB8EFA1012H804EA5951A3F6F512E8AEAABAAFB6DECEE01402H416D7B3BBFB8E7A627B3587FE7765DB022ADC661F9EC40476C0497B40730BCF90972EDF0E8B89FEA01D3374D9AB6C5FF40461BBF16700100173H00013H00013H00313H00023H00073H00333H00083H00087H00093H00093H00313H000A3H00103H00323H00113H00117H00123H00173H00313H00183H00187H00193H001B3H00333H001C3H001C3H00313H001D3H001D3H00343H001E3H001E3H00363H001F3H00283H00313H00293H00297H002A3H002A3H00CA8F6C022B3H002B3H00448C1D312C3H002C3H004F4A1D5F2D3H002D3H00B1AB982B2E3H002E3H00514F90512F3H002F3H007953B218303H00303H0015205274313H00313H00F2383763323H00323H00FF171C610E990A0200897E4H007E0B3H00649CFE37C33F3262FE49C87E083H000D56ACCF0503AAAD7E0C3H0005AAF083C55CD04E5AD842E87E053H00B942434DAF7E063H00606FE62E3D5C7E053H00DAE71351777E0C3H00A91926EA9CE9918D4CDCACBB7E043H00DDA7413CC5A56D80D84HFF7E023H0099F30B4H001EC3A325128E0A02006B7E5552D5EFA52H647B9E9D9F613477F47D9B1B19AC1866798B824246C1AAEE6AB6DD991DC7CD4D4C3026A626892H9F9DBEA1E0E2CBE0E360E08B37B439921092CE251E9A1FF436B4A9EFAEAFCD86C4C68D3HA95A88703A4113E827117A3BBA062H2DAD8DDD791C163637B707DC5C1C5AB18B0E98F02HB0909BDADBE9E26362E2F575F49C3H84942HBF3F8716711698B92H39332H1898B039D755EB2H8A8896FD41C22185ED1FD15AF2D9E615D78D6B66927BA35B41C7349F574355C3C90191DA0104FE1ECC52BF8D0F6B07D1EA34442H010A3H00013H00093H00413H000A3H000A3H00423H000B3H000B3H00261D43330C3H000C3H00500B62730D3H000D3H009DF57A640E3H000E3H00FE64872A0F3H000F3H003F71502H103H00103H0044029C56113H00113H004EF9C832123H00123H003642CF546E910A0200D5C5C853F4A74HFF7E0C3H008783D5B2CF9D72076043F3F57E4H00024H00121BCC084E6E0A0200CFE48FCE4FE1CACB4A67616061CF3HC4C7632HE37C6E571EC795EFA0083H48EE2HF7B7FA922HD2A3D97E5C2H9472571D0C9EE490691DC357631EA6C9A4CE688768E3C9D846CFD040CB464924F8EE5F33040C0200D99A31E131585E5F5E93CF898F92D42H94E1BDE7FDB15AA21ADFFA747BDB2HF070867E8FE737D71617FFE6A714A74CD00C04553955B312D2D38B5313A04C6963684AA13DE14178E9A094FFE33F9C06843509AFA7ADD8C82H0A8F68B1AB8423F4E09D3A343948440686D154D6D773FC7D7C2E05398566064342682H43C3D7A16936B0D29111A67D3F96CBEBF6EF5F2H74F4CCDE0B5DDBB9FA7A50D8C3DBFBD0DB507BAC2HE912B3E3F68942870762E9EC6CE7302HB516B7B3B2A1362H736CCE52480F8441C1E02B2EAE345F459F406072645FC92H0D4E2EEBEAEFCF120BE405C1C0B259B3194D2H66E6A6F47F37FDDF5C5DAD6766623AA1228A772H82A2137838B85A2H71F111E719706E8CCF4F46D7505496BDA43D3E9D515A9F7C233B5437B8B06DC15A49D8D553D62CA4602H670C09CC3E952D950A5612198770F1D26E6D2A282EE1202181CE8A8E70FF7E7F6F0472C446AD58ED62EA578340EB2CEB38E3212BDDFD2HF96DC603C6C336B7965B3F2H3CEE2HC545D3807B02E2C18303D39A0918D752D3D1F17EFFFEA06FAEAF3BB4363436DD069D117A21BAC9DE2H9B34D58490E7EC29A9783236B6D5422HC74829252C5EF59B0A2A2H72DDF8733533232H088850C1FA818F2E6E6F081F5F590F24C25BE64D28B2812HAA2A9A0A9DCBE1010080F169E8130DA625A6DCB71688371C1F9C0EE5C55A86A7E7E2C72666631C3DF6F83FF5B031505D5EDEDD8C2H0F3F94FF6B1CFD2H7D312H1A9AEA7BAAFB512H70722289F276CE2H973F0CE7DD58148E0C887197C3D5B5502H52952H9093E768E9E8CA61D861654E77CE171FA2762F04EE7B792H0C2CEE09898AA028242BAB636C609239A1392D061E86C6D42C575D7FFCFEAE458D051AC643499446475A5EDDDAD89E11959195BEB93E4EEDEE6FEC76F47279DFD9DD1E78FBFA7FD84B5B34D35150CDAA65695D765DF6E3C4958748AFFDECD1B6233516763D329737E6F36C4CC6C8A505454105AE18AEBE9D9E9FCF2HE4645C8C9B8D8B6B6A6BA02H8B0B91812940F8581918FE64E6691375A5B73BDE2HDCCE65F265892HA222707C871559BC39B894ECE8F6B6AA2FD4E48F39B04C97D57C16FDE842F19AC55ABD3BBFBB3BF03C30EDC9C1C94456EF24CC27FA67108DC5CC5E54919519502H124B51D1E20C2AAEA846E32HA125CEF9716CE376C9EF8433BBBE307BDBABC84A4BB2693EEEEBE22D2052B961F9D7C491C636559617A43EBC33E1874C4565802H82A4C02H83DE9B2H985E91505171FE7F7E04AFC050A576D7B4B69D72E2F47E3ABAD5989B1B02942H104DAD20291D362EB64C874347E7EC2HACADB575441632E4F294F22HB3A3488C0850816701C5AEEA6E945D4D5FF00584A59E90D07B012H2AAAD2C9C84CE9B43272F2D926A66D64ABA65CF7A0084D5F9E9C44E6A5A4BAA1E1D08767E6E3532H78F860F2FCB1BF9D5E5F584C0C16BF1459EB9CFDFCFDB12H9A1A6AFB267BD12HF0F1A22H890907D6411686E7A7A6A78C54F37E2H55D5C3D0DCD232512H12232A6A68EA232H61E52HCE4EEEBDB2BFE50684853FAF2HAD21CAFC75241D9AC54120E0E1AEB93997ADC65CF98697ADD757BCA50322462H05048143424C83424357D859583A2H11912F3C563ECE6D6EEF5FF4AD0BCF5C5D5EE3BB30D8429A977949D10A7670E83C706F77366F9EC647A5AAAD6E6C9EF552CA2376D6B2D277F2736D55514FA874F3B3852E68D14D1C1D1FF6E72H64268D0B8D0EEEE4EA194E2H0BA485CBC097DC1999E8E2E666E5B32H3778194B5C4E65AF1A76830223C4E02HA3132H38B8A0B33E71FFDC9E1E648F5BCF46946E22B67DBABD11DA565AB07B2H3B2830B03C6D084749FDD625A94CE79518DE882H4CF1911F15B6579492B796C3D303A82DA8C5A22C219C4A8F8E1BBB7D7FE0804B4489A9626DEE4FD8CA402BA21466E3A1A0F679F8F96D2H46C6861588971D3EBE3CEE8568BA26840902CD478203569C981843552HD1D57E0A81202HACAF1F2H34B44C1E601D5BB93A38B09B69E41E541090A72D29A9E4322HB663C3C0C7FE682D2C51F07E7516F7707297B63833EC4D0208AA417BFE28EA2H6ED03HDF0F2H24A4DE535AFB0BA92BAAE38B2HCB135C39B6781BD8593EA426A253B5FAF7FB1E2H1C23E62H25ED62E3E248E3B51CD3F82E87D5F02031F52HDE5E4078216175D5141556FD9A02BBDA1A1B23BBFB4814B16070222H09894796D196C6E72726144D0CBFFED54BAA76175A52F71697934C2DE0E80524F2E16A485D4E5B79383FA0021404C9EB2E2DAE8D8F8A006B805484A27760B2BAB5B92D2H0686C40AC161DDBFFCFDAE8538FA8CC140C24800C4C3CC7AF9D9BAD12FEE957E03C1F3C24352FE6101D7796ADC509D895ED1C5F2C71BF2BDB4547F5774029FB41C56576H0034C30A0200F57E0D3H009395B8B0BA637559AFBB8700FADB6H0070407E073H006ED63F40A381786CDB6H0014407E073H0067A565FA02C492DB4H0080842E417E063H00BC7061FDD9C57E063H00928D169EC8557E073H00D8891B726BDA7A7E0C3H00A95F1C0F68C0E602504AE72F7E083H00153E20B1D535B25CDB6H000840DB6H002440DB6H0030407E083H001D5B482H2F1C7E627E053H0025F380C2BD7E023H00A0647E053H0002720BCB737E063H005197F499409E6C7E053H006F1CA084967E0B3H00D262FB4389126C49D32H2BDB6H001C40DB7H0040DB8H00DB6H00F03F7E063H00FF3E8A21EFCE6C7E063H004DAB98C61E1FDB5H00804E407E093H00CBFE3AEFFB6C90FE747E063H00722D253EF4F2DB5H002068407E073H00B8293B129F7A9ADB5H004060407E053H0009BFFC271C7E073H00948923FC6A8E58DB5H004060407E063H007563F0D36C5C7E4H007E043H00336018947E063H007742C43A0E9D7E063H0085D360EF4DE47E093H00C3BDD2576898D2C97F7E053H00CAF6B4AE2CDB5H00E06F407E053H0039A42AC2F87E043H0084F9AFAD7E0D3H00F8E8FFD1413A5A285482E0C1B17E0B3H0027C98E264E1DDC128B9B217E063H00702C0DD04BD30131063H00AF679D3E576H004A900A0200E57E4H00C59973C2DA4HFF024H0033934026056B0A020095422968E9193233B2A9AFAEAFFBB02HF0613H452C3E074FB9AB90DEB4DC2H9CED1E179782001EA672C1E19217992ECCE57E1F40CDDD17D363A85F318F5F760F45987F6BB36H0043900A0200757E4H00C5D16232E24HFF024H0068AABE4FF96B0A0200E79FF4B53480ABAA2BE8EEEFEE662D2H6DFC3HD88D1F27EFE0F2C9852392C3E6D43HBC7B132H53FA7913ED54808676EB8E10BE18B5DDF498898B38AAFE65184D8B11080C2H014H0093900A0200DD7E4H00C5276403A84HFF024H0042F9B308DA750A02009F82E9A829577C7DFCCD0B2HCB4D062H46793H5D52007832CD9FE5AB0FE9EE8FFA91D051EF84C4449873B33365CE4ECE453H054C482H082F3H475A322H723892F57991BEFD56C9698FCDB22B52AE3E281D47B8B645DDCC92DD64E94F18D9280B332F5AE48452385A3A79492H024H0092900A020035C58CB106E24HFF7E4H00054H006FCDFD06D0AB0A0200E77F945ED4E02HCB4B1F8ED28E2C0D8D8CB83H78EB20A1BEB9129F12CA2HE1614F47DB6AD2F3737233925533DE75FC7580402H008DE767E7F15ADA5A2EC949C94F2H64E4309B1B9BF95E2H1E762H5DDD19888788AE8F0F0E803H229A31B731EC2C2H6CE843C543CD2HE6665405C8C5B19010119F2AAA7E41AA6EEA19D92H992B74F47440EB6BEB49AE2EAE062H2DADB35860E7B81F2H5F99F24ACDAA8180017ABC2H7C183H1352362H7687D5ADE732A01A56073H87353HFA42E99D16AF2H84042AFB95BB9FBE3E3F557D2HFD80E82HA88CAF2FAF69C242C2B651D151A72H8C0C48A39E1CE1462H064E25981A1B2H30B0844C5FE16B0A8A8B76F92H399B142H948B4B2H0B91CE4ECEE64DCD4D5FB838B8D42HFF7FF9D227ADC6612H21B71C68E35B9007FA96A2B73A26531250C1780BF4F7E4380A472A51EEC32F2H1EC06D0F08C800084H00DF900A0200A97E4H00C5DC0D27BF4HFF024H00862EB15D94840A02003922490889DDF6F77661A72H67A7EC2HAC713H5520B20A404153E92508482H08CD3HE1AE6E2HAE53FF2H7FA4E4A5A486EDAC2D412A6BEA4HEBA23H80922HB9394DA69819BFD72H97B09C9D9C058504058ABF3FEBA8037EFCF878F9F8D1519091352H1E9EA019B6C1B52H149476DDA0220B9C2B9C94CF7567FD33390B69B9E874CC8F401E113902E40D444899A1E0A8B473A2547FA6B28275ED31A02C7B9A5E732A5D8F16746H0031900A02000D7E4H00C5F8F982C34HFF024H004A715C75F86C0A0200976A0140C1C7ECED6CF5F3F2F38DC62H86B13H95C250E9A3B5271DD3A819486DC13HA95C342H740F48960F93B04E0C22C31BCF7974B139A62E8D26775FF1E7CA94EE1D8675A1007B240C0200933A911491EF70FFF7726CECFBFED2DFDA90BE7610076C4FAC046F2FAF45AE0CEEB219FB1904A825202D2H3F139DC24A44567D48FDDB1CD1D4DC2HF77745745AE00069A12163887BC8502H7BFB3989059CA4CC2H8557FC5DFCAE37EEBF153E1FBEA2A9A1A93BB07B704883C2C3052H120446CD8C8DF3E4A4AE8CC68687B1A727321A7155B1B398D118144B828E51BA4BFAB05996F0E70CFC4C644F7FCF254E3E8E923996399B464740D6150DD3B6067D634A9B1B1620D150753C2H1797E7303C76E0874140C328FA680F73BC9A9E62684BA96FE6254835341DF41F925F3FD9DEDFCF812HC95F9817103705C6E2192H32B2BC25DCADE50CC4C5B3C181A65CCE414910D9565E13B814B8002H2BAB4B50511AD4FF2HB478C4446D8D662H6F852HAE2E009DD0CD8858D12A587350F329C25382963D9F3D3F544594A0FE33273D2H1696EEDF780F29C0098825B432C8C16AFD6AED852HC5ED74E7BC9E77FFFE1C762H7EC2E917969BB080302883FE7CF952FD52D9E7ECCC262HEF7390CC41D12EEF6DF0707AF274C2D353DE604B73CBAD3238B582DD5DD29B3H0468C72H8F1A29504FD279EF794F8A010047BBB392B64B85A3F956D8DD9F2HB434065D3D57D7BC37B7D569A9803C80002933FD4692A18A7FF5CEE5F76577DCA8233B5C171F7A9D191EAD4A0F09B4D3565007272523167671724969EEED2F442884396DEDC7D946008ABAD1B1116C5D5C79402B74EB719ABE25F335F7F5A7ECAAAC8BAFA5AFFCEE569C0B99236F8BE043DFA75596B216A46743691BD8FC80B271555C2H77F745F5D66000E92HA1E3C821B7A8D94DCD01AAC2552E2H058525FAF46697088E7595BE41C17D0C0B28AE7BF6D0976661421ED52E92264DFC7285AC24A453E1220669AE21263E39B6B12H5010095F6DAE8A1EF2F0FA3E95519567CC4CCC182H45C899058486E033322B687AF10AF8532DACC922DA62361DE3626051D4F5BC2H971765D752C0E046C1C343A89017309BFC648502CCCAF1430324B75C7BE3741FB8200954D4591E83CF5DB55E93F5482376E355BA2HB2066D38AD6FC4A63B68AD262712AEE6C71E5BD8D19C33BDB83F828FAAB15A45E5A1D21334C72HEC6C7C4C6FD90FA72E2C729948D9CBE01B9F9073F4FCA92H8202DA3ABD3D73D32H94DD37B0B8BD16961606E661E1232H088810FB2FBB8D2D2H6A6E0551C56D74513C1EF77F7DD5FE2281BD0E4F6824981731A843AC0379127DD2148A0E43BD63A8EA1EC005C9B203426723F62HF173986AD8C043C1CB2D2H32BAC1334B5458EAAF8D248FF470E5CE35B1762H4617AB809700345A2H1309A234A2421DD4CF1F3416B488975F5B1D3617B6A44809018E2H21A8709B4FDB210A2A8A4E2571E58994D4D31C179890C5D6968F4E8E0199FB90D950FA64E9ADAB35B6FC34AA2463DD43C58A4C2778E72D2H068642B0BF2719BE78F8C3AB2HEBBF1CD9BF5EF56AF5FE2A2H2C7B4A312E456E8711979C1899B4433F21977637332647C3C2562H7DFD8511A0D49632F7F6FDD6D9560A6121A1E071F90250BB9304428F37E3AE059B05EF2HDF4A2B18A1BEB177363E82E9AE2921F93270E803C54346748D9399EAAD8C2B6D2C24E30E82878DE66DD96EB1363EB3189818EC0C8B0B512H7AFABE957CEA2B8B2HCC64CFA730A62A934792F9B93968A45D89789357D3CA46FF2BB62H9D1D5F7470F4433133165D3675F693452H41FAEDE9E8FF9E919BED0F2H4A41E0A3A52H1A2H1CF4DF2BA0BF57DEDFD689C0513BD0A96FC4EA2HE319B230B2862HAD2DD58C86C486EF27A712A063471ED95651ECDE1D393FCC0E2A319A1D9A6EB73E3569E6D7133B48476E7AC9B0AFCD31FFD84B2H60E0FC0C771DA38B0200967D6BC29F111614F1323637195614166EE1606187088A88B4FBBABBE52AE8EACAC5C4C5B33CB9BCF0BFFAFF7538727EA2EF2HE92H362HB00CC306032H142HD2C28DCCCD6BE46264C180C6C7B4E166E128F6B47A815F98D660CBAE34B533BDBAFE2HD555DD44570C6E078F8E1AA96B4FD27953864002808837919293F5E0A0A75D9F5DE85036BDB47CD79628629FA9B7952BA7807C0201297A10DBDAA14A33F5CEA5119A08FB7A5D34DFEC60015E979C2249FA76CE1D5C70C72A2923265A5073C6ED40925DC3480ABE2HA0E9DF81CF88C896D59F21FF3C76326C2065719A8F2511332HF5448F31E584AF1CD02568E4EECEDF1F99F4C5BEA1FCB4B6B3692H42C2F240E59375D354565CF7C7087D169329A4E615DED92HCFC8D7BCFBD301EAD155201A1C02EEFA2HFC5BF9373F1AF8B8BECDAF2229DBF0F270D28A2543B39B1213EA442H0DAB2HA4CA62CA04620D6692599A7100CE33D8AB67A0CB3AF4DE7DFCFA9913B46A98A9524D0088C9CFA52H8E0E2A9BA40FE1C74041CA95D5DC63E561EE872H9A1BDF746A8BC331B296DD2HF6765006CAC1C9AF6869309BAE64810BCDCAAEE4232557DD9E9C54DD575F755EB2213HC15874989A90378446622H7ABAA0062H2DAD4BFA6F2A062FA6275F41C1C9FA115EAE5C4F6C98704CAD26323EFC6B3A665728EA84A385B186CFA80F9580D8E7D43035E7F22F4FC6770A02003D721958D9A18A8B0A890F8E8FF3B82HF8B13H9564364E07F96B519F82C42H843A2H119131B81C94A6C70787563H50D18D2HCD054E2H0E81306144772H5CDCD8C9A7C99B3HBA573H7F76C335DB463F37A5F1EE7422909C1B23E271551F054A08F2453DE529F599FAE0E9A99B78","\98\111\114","\76\117\114\97\112\104\32\83\99\114\105\112\116\58","\114\115\104\105\102\116",string.byte,true,"\46\46","\58\32",string.rep,type,108,129,table.unpack,"\98\97\110\100",256,65536,nil,false,"\35","\105\110\115\101\114\116",setfenv,tostring,"\115\117\98","\108\115\104\105\102\116","\98\120\111\114",string.gsub,255,assert,table,tonumber,"","\98\110\111\116","\115\116\114\105\110\103",pcall,"\96\102\111\114\96\32\108\105\109\105\116\32\118\97\108\117\101\32\109\117\115\116\32\98\101\32\97\32\110\117\109\98\101\114",bit32,rawget,select,pairs,string,_ENV,error,unpack,"\96\102\111\114\96\32\105\110\105\116\105\97\108\32\118\97\108\117\101\32\109\117\115\116\32\98\101\32\97\32\110\117\109\98\101\114",219,"\96\102\111\114\96\32\115\116\101\112\32\118\97\108\117\101\32\109\117\115\116\32\98\101\32\97\32\110\117\109\98\101\114",getfenv,rawset,bit,"\40\105\110\116\101\114\110\97\108\41","\109\97\116\99\104","\99\104\97\114","\118",...);
Write, Run & Share Lua code online using OneCompiler's Lua online compiler for free. It's one of the robust, feature-rich online compilers for Lua language, running the latest Lua version 5.4. Getting started with the OneCompiler's Lua editor is easy and fast. The editor shows sample boilerplate code when you choose language as Lua and start coding.
OneCompiler's Lua online editor supports stdin and users can give inputs to programs using the STDIN textbox under the I/O tab. Following is a sample Lua program which takes name as input and prints hello message with your name.
name = io.read("*a")
print ("Hello ", name)
Lua is a light weight embeddable scripting language which is built on top of C. It is used in almost all kind of applications like games, web applications, mobile applications, image processing etc. It's a very powerful, fast, easy to learn, open-source scripting language.
-- global variables
a = 10
-- local variables
local x = 30
Value Type | Description |
---|---|
number | Represents numbers |
string | Represents text |
nil | Differentiates values whether it has data or not |
boolean | Value can be either true or false |
function | Represents a sub-routine |
userdata | Represents arbitary C data |
thread | Represents independent threads of execution. |
table | Can hold any value except nil |
While is also used to iterate a set of statements based on a condition. Usually while is preferred when number of iterations are not known in advance.
while(condition)
do
--code
end
Repeat-Until is also used to iterate a set of statements based on a condition. It is very similar to Do-While, it is mostly used when you need to execute the statements atleast once.
repeat
--code
until( condition )
For loop is used to iterate a set of statements based on a condition.
for init,max/min value, increment
do
--code
end
Function is a sub-routine which contains set of statements. Usually functions are written when multiple calls are required to same set of statements which increase re-usuability and modularity.
optional_function_scope function function_name( argument1, argument2, argument3........, argumentn)
--code
return params with comma seperated
end