From 98c6548e3933cc92302182f7f079d9a9b1497ebb Mon Sep 17 00:00:00 2001
From: guange <8863824@gmail.com>
Date: Fri, 17 Jun 2016 18:18:03 +0800
Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E5=86=99=E7=99=BB=E5=BD=95=E5=92=8C?=
=?UTF-8?q?=E6=B3=A8=E5=86=8C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/api/mobile/apis/users.rb | 11 +++
app/controllers/wechats_controller.rb | 4 +-
app/models/course.rb | 5 -
public/assets/wechat/app.html | 8 +-
public/assets/wechat/login.html | 25 +++++
public/assets/wechat/reg.html | 43 +++++++++
public/assets/wechat/templates/alert.html | 12 +++
public/images/wechat/QR-code.jpg | Bin 0 -> 29738 bytes
public/images/wechat/arrow.png | Bin 0 -> 21159 bytes
public/images/wechat/checked.png | Bin 0 -> 1092 bytes
public/images/wechat/dot.png | Bin 0 -> 27646 bytes
public/images/wechat/female.jpg | Bin 0 -> 3783 bytes
public/images/wechat/female.png | Bin 0 -> 22752 bytes
public/images/wechat/male.jpg | Bin 0 -> 4136 bytes
public/images/wechat/male.png | Bin 0 -> 23849 bytes
public/images/wechat/minus.png | Bin 0 -> 23318 bytes
public/images/wechat/plus.png | Bin 0 -> 23367 bytes
public/images/wechat/post-avatar.jpg | Bin 0 -> 2756 bytes
public/images/wechat/search.png | Bin 0 -> 1550 bytes
public/images/wechat/setting.png | Bin 0 -> 23839 bytes
public/images/wechat/tr-like.png | Bin 0 -> 2027 bytes
public/images/wechat/tr-reply.png | Bin 0 -> 1908 bytes
public/javascripts/wechat/app.js | 7 ++
.../javascripts/wechat/controllers/login.js | 54 +++++++++++
public/javascripts/wechat/controllers/reg.js | 42 +++++++++
public/javascripts/wechat/directives/alert.js | 16 ++++
.../wechat/directives/form_validate.js | 10 ++
public/javascripts/wechat/others/factory.js | 57 ++++++++++-
public/javascripts/wechat/others/routes.js | 12 ++-
public/stylesheets/weui/weixin.css | 89 +++++++++++++++++-
30 files changed, 378 insertions(+), 17 deletions(-)
create mode 100644 public/assets/wechat/login.html
create mode 100644 public/assets/wechat/reg.html
create mode 100644 public/assets/wechat/templates/alert.html
create mode 100644 public/images/wechat/QR-code.jpg
create mode 100644 public/images/wechat/arrow.png
create mode 100644 public/images/wechat/checked.png
create mode 100644 public/images/wechat/dot.png
create mode 100644 public/images/wechat/female.jpg
create mode 100644 public/images/wechat/female.png
create mode 100644 public/images/wechat/male.jpg
create mode 100644 public/images/wechat/male.png
create mode 100644 public/images/wechat/minus.png
create mode 100644 public/images/wechat/plus.png
create mode 100644 public/images/wechat/post-avatar.jpg
create mode 100644 public/images/wechat/search.png
create mode 100644 public/images/wechat/setting.png
create mode 100644 public/images/wechat/tr-like.png
create mode 100644 public/images/wechat/tr-reply.png
create mode 100644 public/javascripts/wechat/controllers/login.js
create mode 100644 public/javascripts/wechat/controllers/reg.js
create mode 100644 public/javascripts/wechat/directives/alert.js
create mode 100644 public/javascripts/wechat/directives/form_validate.js
diff --git a/app/api/mobile/apis/users.rb b/app/api/mobile/apis/users.rb
index 6ce3cacbb..7800382ad 100644
--- a/app/api/mobile/apis/users.rb
+++ b/app/api/mobile/apis/users.rb
@@ -4,6 +4,17 @@ module Mobile
class Users < Grape::API
resource :users do
+
+ desc "绑定微信用户"
+ params do
+ requires :login, type: String, desc: 'username'
+ requires :mail, type: String, desc: 'mail'
+ requires :password, type: String, desc: 'password'
+ end
+ post '/bindwx' do
+
+ end
+
desc "注册用户"
params do
requires :login, type: String, desc: 'username'
diff --git a/app/controllers/wechats_controller.rb b/app/controllers/wechats_controller.rb
index 169a33fce..887587a5f 100644
--- a/app/controllers/wechats_controller.rb
+++ b/app/controllers/wechats_controller.rb
@@ -145,7 +145,7 @@ class WechatsController < ActionController::Base
您还未绑定确实的用户,请先绑定,谢谢!" } }
request.reply.news(news) do |article, n, index| # article is return object
- url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=#{Wechat.config.appid}&redirect_uri=#{login_wechat_url}&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect"
+ url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=#{Wechat.config.appid}&redirect_uri=#{root_url+'/assets/wechat/app.html#login'}&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect"
pic_url = "#{Setting.protocol}://#{Setting.host_name}/images/weixin_pic.jpg"
article.item title: "#{n[:title]}",
description: n[:content],
@@ -175,7 +175,7 @@ class WechatsController < ActionController::Base
code = params[:code] || session[:wechat_code]
openid = get_openid_from_code(code)
- raise "无法获取到openid" unless openid
+ raise "无法获取到openid,请在微信中打开本页面" unless openid
raise "此微信号已绑定用户, 不能重复绑定" if user_binded?(openid)
user, last_login_on = User.try_to_login(params[:username], params[:password])
diff --git a/app/models/course.rb b/app/models/course.rb
index d379b24d3..c9ef010e6 100644
--- a/app/models/course.rb
+++ b/app/models/course.rb
@@ -465,11 +465,6 @@ class Course < ActiveRecord::Base
code
end
- def
-
- end
-
-
end
diff --git a/public/assets/wechat/app.html b/public/assets/wechat/app.html
index cabd224c4..6965d24f3 100644
--- a/public/assets/wechat/app.html
+++ b/public/assets/wechat/app.html
@@ -10,6 +10,7 @@
+
@@ -17,8 +18,9 @@
+
@@ -30,8 +32,12 @@
+
+
+
+
diff --git a/public/assets/wechat/login.html b/public/assets/wechat/login.html
new file mode 100644
index 000000000..d34d0054c
--- /dev/null
+++ b/public/assets/wechat/login.html
@@ -0,0 +1,25 @@
+
+
+
\ No newline at end of file
diff --git a/public/assets/wechat/reg.html b/public/assets/wechat/reg.html
new file mode 100644
index 000000000..9184fd0ed
--- /dev/null
+++ b/public/assets/wechat/reg.html
@@ -0,0 +1,43 @@
+
+
+
\ No newline at end of file
diff --git a/public/assets/wechat/templates/alert.html b/public/assets/wechat/templates/alert.html
new file mode 100644
index 000000000..b59a1b87f
--- /dev/null
+++ b/public/assets/wechat/templates/alert.html
@@ -0,0 +1,12 @@
+
+
+
+
+
{{title}}
+
{{message}}
+
+
+
+
\ No newline at end of file
diff --git a/public/images/wechat/QR-code.jpg b/public/images/wechat/QR-code.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..ba2a9e6a3ed11d223342f0093c71b845735700d3
GIT binary patch
literal 29738
zcmd?QbyS_&-~f(zOd*Fl;yCW(t
z22fOafO2y2f(LRq!`%@+N?ga?y<8j!S0ye>X+v>Clseo4p%dm0Hw!Z|cM0=yk$2@%
zQRYy5pzr{RLc#-`I36IqeF797C~^G*xxx+nXSWy^$3KPydMRg(?=c1K=b{!bhd5+XMvL;^y60-YX+_ylnO3xftcz{MYd
z3Pkw&aQunU$=Nq3P>Jh?)Bh0xi83_&H{!q5783cVT>lsy5NHbji;ce>9bg`cf{U5L
z1AK%0UEnvvx&Jl!MtA>bLVpgt;YQ)UKjLOloV+!BU4oEspFmv=C9az%qOJ&61v$4n
zuFkTO;v%xnvTzXzXDMkBCl@&>5jkloxVW5@grt<4{J-%0-F$g*$vYDAGU}3dZh$+Q
zGHPn7;;Qm@WHdE3#U&-=ZoWkpc$!}N
zmeb?3mOyBFlbU}jw`9PKOv>cCsTogcf6*V#yy{Y})PGU_Czanz05UM}hDR_pKn36;
zFyrYR?EiYuzp}qBfG77=o?c5HHxic2L=ygR|L91m
zUHOaheBuq3{kh4{+k1r(XeIWNZz|KuSAZ}j?Jtq#5to4Tu;**P0R~r}f&V|o^WZ?r
z(>u&-LSj6V&?t3Ae_SWweRVGdc+odv;`Z)WI64K(2nINk0ny?Ffd3uHU4OfC>*4rk
z6n@WF#mK^y43IYPBwIpQpg}+Di*_6<@%)y84te_mU$G?D5S}KjG!$zQ$V^rdHQ)F%5cjm(n`IBbKVXm4`_VW@!EEXj2uCr$LOrPMTU%Q}he>3t
z*6|k_bN!|91|5HCicU}s=c^5cQF-Av&P>IgoZfLJlCTzRBoy~<8Z-8ye$H_!Sxrz}
z(p8$xkdTL$f|DZDEqfcC@E;75vdL5!RjYbN$e5WqzRAf-XC0VJqV^v(pw|pFYeJu|
zDPE8yG6%|*PrO*xF&VTyb-06Uq}%0|FsHu%97wC(``L45=BaiEqK&B(;=;hw&K{%@
zs%s30Z8jPQ&)ap0bVrmI)I+&U7azQ2@^?9G!N%K79)y6Mw(R|0|C2|^)^bySz|;Q%^f{EAhQ&t)QE5OF
zphlxPMlXIFh8NWLRq=WDN-_ZRX7~BoRWnv+4U*gTx&8P|M1ANvaD2pKwtgjOVTPH`
zCli|4P%=12zQ6uhE}}aMkPU#G)`L~Q+I&>8G#hlhegyb$AXwf%S0WRYE)(!jun}I1
zFm&TBo6Gy)QVG@c=d?G6HL_8yM!I4mb9jH1HnOf_??mWE&d+|7j{Gc*PCFR*+Ea0*
zIDS|Q>O+4Dv2<{5Z}?pCTn`X3Af*y)x;e|eKdRd*$AIN$|5aIMC(+G}N?#JXU=W0__
z`j|B#jmsQHkaDcwRL~?AXY?ZxnZN-@kAUyc8jN`9}?waXAM?W`R5
zwm2w%QDDY{x}d|{-dR$lONqjB>mCtLc8PpIIT-gBB7E)#V&U$gb#yK58xFV-8eLES
zw-(EBzX3jPsX89&I`=({Upw`j0LF&b`4-kxZ8kpY1sc4OIX!Nwrr!IiNcULO%#Jf=
za?XBcwT#@l*@r9m?dt<{U|3~1b;)nQbIIX6tk*XR`y>Up(K@p?-?tXG5uM4LF+#KY
z&R2vc5E3_yyy_0}TPt1as7xG<0J+iCKJ(2Z
zy`ycEe2O63Szlaw=ZWFztwsvBPe)0lJ_05O(8|-&fiwXpv^v9BKME&H4P}){Gcpu&
z2WDRFA3i_Ing4XNS!QF|f8boM%G-W0_U@oq*y2LXeDzK7#|#iV95W_w;Z*`$`>1@r
zOjDqoieTH0s5haK?}R7jR-s#{)0zTx2OV(;eTv5D_>VCGXB4__I<@Lr2{hI>hPKS-LYA=-Kd
zd}Zn>s-vYNSYUc9Efd(Zf>9K*U#eWD&GlOde5a>=*!-lP>bU}l8nAm(4~*!RHG10H
z8i4E8Q>>0~Gl_b)HLKaa$?a!pU7SY9Ii{DlQVxO)7Y*;viy8)BidPLZJW-8ZVS>&B
z-(|+@ZRqM$KCQ^*g%SA9@rQ`4jMSO(n{bW9&k&7^e;H%IzDyd^De3c@84-I1{D~a2
z=$`x4&eBmuyVtbdagbQzzx>c{W@@V@&AUVX(L;jp5L?MQubdL!`+gN}X6ypT9dA?H
zH5B(r)bKOkWl_>Y@-B?3DDwUw>XE+OY}L*op)E&4thwr~GsXD8AzvZO$E!0A(|W%F
zBIwEXTQy007|hf%ecbsTH3Q3Jhac<1yt#Ey@z$nDvRy?V+C`igW7lwTNI2$jMX{#T
z%|GWh*d%j=-v+IiDK(7Wdg`}O*Jub)Jdu+Ze7zWOOUw)Hi41?jHt1vK_2KcmVkkF8
zBxY4r8;^~SQ(e`R_0%4gj$++!im1k|Mm*bojQ#|@2sQH_v4|KkMeMFkr!mxXY4Y4diP?YSZUJbzHQzlCHzHl*jqI-~xv%gWpl2Qb
z?xE>yMl$&I$0@AcV2z_sNBL&@+gATBmFp){Q~bJGa(Q{mvP}7*@QEU2VZyGsnWkzx
zH~jlkr{S-L-0qWpK4*i`s!!LH)?4q5C^nK!Ig$}Lys@1Lx1&hoK@eM9nGEKBXjV|6
ze8Sba+ZS#T_8Y(lytmr3A~N2fT0<`=C`2Nru~u@;ZFw2BQwNi2{vHa?04rbvpTT=l
zZP*cUKT@!q7GiC-;S-HN8^tLmtQ(x>wZHj2Y|A55ZX^Is?VEibuG`Ign4t{DJJ3HI
z-uPA&N-9UFjZn(4{spi2F77CjMRf4&DD<{uH!JY3U>YjxwFv*XWAiMH9VoJoIUHX8
zR{ouIf&8o<)53heAp6u>4zC5^s6afMwt#H9CbqZv1?2Bls$RB_$liX2jtD7S6#2Ll
z7g;3?0y{cD6PQ0G`J3RJ7Ed%kc=Hmo=slOI%W%fK@mhW)dM@HT#1<>CD#rhF9PstS
ziZ7t#!Rx{^IWmmDEOTdvERAK2p|+c+ICZNAnBZKdw6c?_qx1431#oNs;IqZ-^~>J?
z`yDWG?%ce8R!?D36hyDzvlOK<8^>zI_@>USW^lx!a0m?#k=QEqwvrxsQb67*lS{WH
zPFY0jsh**u!$VSaA__G6I{9zP;mtErPh*eC4u(KN5f~S40ZhW%-np
z;?K?)Ne~^Iq~z~#P)lRuHb0gSl^5A?^!>1bLue=FmXbuKTA10%j@q8l%RXeE`bL&3
zWI-z1^)>;R@BcFcBYbq)B%(i+Gb^!!PG=NWOto>%3#!eh=1?0e_I{%umG_M#q+4__
ztdU(>_MnmQFYwlg53bl&N@qra)%BTvOjJqYJE2-*UIjHesSg
zvGEIK{n-_7_s>bO3tsfjCD?Pn$m))sP@I2@RE>238*aIyo}D2%S76t#5|j^~dlyLpf;g
zENN${yd?2%$2~28ZRp$tceTO8$mp_m2``xoD#w{8=D}~(RCovOp-y?G4$2j)zKfG0
zGdn_((jW%i_QmFVG=DI^aK;(!1MPIO6)3p;e=?H#zMlK`WBid2={}0^_1yQc@!j~h
zKN5k*(r=Vo3U9zX@FuXa#`X@blAjeqg@zYjc1`Z2uzpwYpREdQq!SCaOZuniB<$yl
z8FL@3t3r^YJg;E-f|dG;-!0`4jZf7mOs)yOAsN
zwLARF7xcS4ro7wC@q_N~1TBFL_3P}v$K^5Aj0vT!K
zJlXNpVxpjc>7KcZnC{KAyFY<@s|R6yb|*vmzX0dQK|N0O-?qko1AyQE>Ibo9K&Cv$
zhEivq6^5zFosAQxWT)(NaS6{tp#e}Bp*rS;&Sk+7l_nR&pjB044Elf>>!==g_V}Q5#CI`2Hr`EU
zH&@Tnn#?}5Rt;!6w@AtmZ&3kPsbeirS=%h0zXDTFG|
z0K?v6*_c$B`o%{TYNblX{-ki;#XH=z{SP~Tw=}
zdZ~%r#Jq%B`8I(bTO+x`;K(<#ebKF%!qrGsmvK+=8p?O!F`pV3X~j9rd0?4MXxpx4
z3(v2Qwng|p=X0%>@eot;Dp&7~Js$ue@yF?+QPLD;L;e#$&x26#e^@Fk(!Sh*_+9u`B7xZ*f+J}!Z3*UHzN
z*noHH^d7VBJnwwe#acM>;5+^O*#0vb8iRCtdPz+KyorkNngjBXLB5;3*njr|V$-`Z
zRpL7{8L++j?SXV&yP&D5SnkRR6H&F;IP|AC)5H|>HXxm1T`hFH(EG|BMsbGMf0rNm
zGxJAb-^0$G$8}Zz$oxJTBm;6bX}txL4S?pR6fgUXS@M8z%>ml(1Kjv04~u
zSmJ-s#;1Bo7Y&uv;BlBhr(w-YkLDKM<$Pw6HN2CZC}+^ax-At$@fg9uX*xzsEHMH^
zVj0PV>IQ23VZnCHA_UodRlGT=3I}(X`3=<3Yy0MOurz56EWa#$VUVp>UkE-QRA8%!
z&M#xKxg1>?RZ>N(*kXXE{D9O@$SZ`s?!H@zL3_2CqmH40p0i}kVmzeWSuH+cIE!TO
zZ3e9#akGm!%z{Lr_(0pZ_0#l3jU}HIDX+dK29gQ<5v{dYr4h{t9ip*M{3HX&+tR2?
zZQ8ntKL$lAiDN
ziR!*Ya2U!x(ax$*)qrIJihL*9?_$O&BDow{nOMp&v@+Mj2DTYF*G8H=#dnB1MbgT@
zzq1%9!h_AcpV#B>L+e%N+IF1hgwHbPx0yzR6g(f9o#Yc>p(c`C<{Cy&EP~Cbry(QcC`@qm5(L~^o0
zt=^`!-hlzUjq<@y@i8C@+W*W9!?0-QI@_*Irg`cKc<@wqdeR%*1n3~i|G@`uUCLrYLEfWV%1hu5^!ch84H+`_<~k@(`XWF5UGix1?J`Sa;=p
zmX)jg=d1}AS%jqSB3(T#?SahnPNmLe_)mQF)tonoh01kPK$Q)g{4zkR+6&*6@?+h3
zV$&r(EA#wH+7*a$1lw)Pm#tp21I!D4fvynDo-MGI;b}
z#!tS1J&;fPFb6e4bL=ghJq%3W(&llO)S%K-R(vj9x%rEJMf>~Oei>T|CYqOzxG0ee
zFoLK5p#wvVeXo8;2>V*yRGwwk^bX6U9Vdq=XoS~#_foyDl%$B;R1f
zsRq=XV1#NAl;Ao?PR(^Szt@`$qy(XB`4&E~DEqeNS4M4cD!^;k`
zV^3k*G}oiD9$6Z>X_4*ZExgo`$HE=QH%aim1{ttaW4i;&cQ`OUsSUr=gsW$ARWc$2$~yHd!-%T-vNVf8
z-y0({v3RA-`|OdvLeQ9ztX(>Nd0r}r2FAZ+9`smdUS{l8N~k!?3JJ!jezM2{Q7_c`
z<0&VfP!xp3utOo*T$kD`B{UPb)l=01$v}o>6HyPPRZVSb;hWR(+dE>Zb^SF)vs3E%KTppnnZ7Aq<=$H4+
zBe9C#$ZF~_txNZ_b55%m@y~!$N&hWAWAUG7d}TYUuoW}5aNf~i5L$jZcdyTLooL_O
zV3sgV8Vkwon~R@(BXd;aZMG-5sb5fw`WX4NkDV-L)y{^MYg=npzL8W5{1t%p=C`VG
zL4IDmNnA^K4^d78J9giCS_FKTgTxQY5)EzbNhC-+ZgYCHQT-dR8Q}xIa<8w8IT&k|
zf)ooyJ&EtREeaj^RS)*>su!5s#+WtedaORzPu#-f_=>oSkfgr4;b>lTca|G?m`n-V3kBGozr|gDlZ9nAW|*ml
z(egmRp)wi4W0#f2`YY3Xe>M2~6HmjMI*H2yj$$SP%`%?tl3?hF!b#V7*w%CjG7k@7N<@e4(11x69$~HZ}LFXE?`viWnKaolgSj38kwu
zslaJ~pr{4gga9F_?DOgJD4G)-)v9WiV1^&5P-%4Imo*#w;>8+VrGD(~
zML2v{fub)b!+Mu&FUVneo}d9V88%B3DAwMK7gppSYc8kff~S_M
zOsiYC$HKhFU*b}N_Eguwp<-030i)t{a&8yBPo`-!d2AzysZA)M&VW5=fM@-2xwS$TzL=kI=%w_E
z%tED(r$L9nRL6M)Okz`tk}uzb_kA)~z)j|-wP56iCyD8wS>g<%e;1PdS+Z*WXUS^J
zn;@wv7kbP8sOqIWJ#BfE2fy@fWNVPF>Rj%0nU2c-ZUNZuD|<=UB6ok^0gBQ78`2xu
z*6s4aWrm`Z@~w~an@x|Y;*Nu)y{V{&%fe?9zye3+yDruEkRoqWAL&j9C1O}NkZy811#L5@6Sv$h2L2Ap|NEbeKmK2
zdsOw|PY9~<@o(>G=e&Ad=QZ8;^Sh($3bu>2&AV&h-Av%iZP7bAj9Yp{p7O!fI?>!TLX#bVtuA^oKKa^};FVWzo9rX#qUQu>}k%
z6{vXQoxhm2-vB})NHfS&RT+7k0NAsD{GQuI>qWg~f-5T%X@}7uH^Lnl6a8UWi4iTZ
z^PlDU=H8j)@#Q
zoD6E+{rEvp?c!p1raQ3ov*`D+723MQc>TcMW>bmh$2%SK(E1N;~+SA~X%>Z70hBzX5yh1rJDIN-59YGz|vw&E^&9Hn=_0ho`(C
z50w6dNGmn0^3?h9=DxcynA7valaK9!Qhck{K)slL&WCAwIojT~>L!}7HpGPR7n=W;
zMFr<9kh(4V*bQOYDh}xIoZ#=1O<4Ch>IumbSz#$ep#ey7@!5uzHRxU!V2euT9OgV1xgd@2LXuXhv
z$2nqu-ltZVwvDr}|}
z5|>XljdsM1l*xZ#++XAWY`fa#y4-XG5hM1b*2H=xlWc}6kSw|hl>D6fh9V=tEw_m_
z&RScHuc4-LbzKex5)9cBcW+xY;ZlS;lb>0p2^0JVwC8Fg4rf9?+m7(sR_6NX>=|*_
zk?7MwoTnueR%$y+@B5pKKsm3jOFBW@Zni_@3o`+
z1RAdJ;y0lB$YFu`Iv9wBfd+f?on;9ImbDLmFsoUSzjIo*CZl~;H96Ytdgqq`!Cu=u
zo7OgNpFFIrq+-Syd@85@N;)HSj~+Utq72TTg*-h!7>BAU+i|gJ4w3B}4BFnWN=AHf
z%OVFI9^CD;gmx-?tR};IY>elljsJvDs)#eVw4MQ0^2JfY0IW0Tq~lxZBb%@5)eV+Ky!>AdiJKEF
z0wa*ge)!?jY{z4TY+hc!O}Wx1FuCLo`8^YRH9Gr;1Osywp6x#-8xgZCKJjBRUb9*y
z9cLOFRZ=D&rP-I`BxXPzlo*qSqXv~dv))uAUaY!n?g2s+%I~e*@+mC5@WG<=cbDXP`oK5HJY_raz!n;0v@j&E>A!72@7F1(vnu1i)cw@U;q_OwC_
z34=tLHMzw5%llt&GK)hh(KYw1`O2WXP^`Yq)p2*yjG)xJBWrFvwpiQ{y^QR8I)s
zPlzaH5ehw0N?v*68}J)Y3ksU8pT!&{O(y9!yd^&0OyGT+ypc-sg21__I{wsA#=g;f
z;jXGy>CENq%k~N=PafiUV038io^{RVY5O%5+m$^@ry!`xfN3K
z+~!{u7>AC67v~|K5_AIth}5Ztt*LgU>PH3y$66(30<9f0)iA$=`!Pf_9_u-=pa3pU
zC=8!Z+j1rM#ntm3uXnQfTz-9K;nG~N*~r(Q>p^in-MnpqA~hY==Lx}zdM|HEj-`(k
zO7ZH^J2^>a*(hQyV8Q;~uLFx$ipqz}V3y#+pvNI&Zpa}mw=&4xhYWUsd72Ctf(S!A
z!P7Vt&D=_hYCD45rxQLCM=hD
z-}YwLDMA|O3sOGG^x^5{!51fG8}OSuQs}$L*=or*ODlOU*iXl`{zOK8Pt{13&d8fk
zvpsDQUbtfunMMFwL??GV+D$pT+k|EKx_t60GT4fk72hnlC&TU+yfXC88qI3Wqvg7Z
zc;6R2=y0J#+lc{SJ%;*yrAJ-jx_9n|YbV4n+|Jq^{oS~Dsg`^1o+qhI>v=L-I62h4
z#DQ2@u>~u*f)c&^B)jv2%XGE>y101^Sx)j*9Vqqvi+DW_o$Rf+5p-XKY>!Ih%xk}2
zH@Rqz6^Fn)ZBW83y-l6_Rku29kZZYP#C&e
zQ8mL~H}C8)h&!R8Fc;W%!TTHFVEJ(7jqx0?tIF6TT>?~PR$|1LVp5hm;!|0C_Ub_G
zrUFXbVB?vtwY+>%fjccI!P-0w3F9Fo5mI=cr>4vT0ay7O%nO4Fn}V-FO|5g=Ms
zCY3|Unta~vED>Lc*`-F8Q948Z2A!5bC5Q6ET)MFMHir0_@{*n+&5q)=4i0O0s#{b7
z+MwNMtHZOq%zL^zNH<{bv_fV%%iqCo2Zld!M`kouSB0w_n09biuMBr(1}RgG8Q?0W
z*#wL}SEIuFK&pmv
z92J!U1kU5_CVVi4PuZ#DiKkH9QskVFyBVJ7rv+f*rvb|^zwI&OTe#|cs;(TNVe^o*
z51PWeQU7_EZ|IHYs~+I4Z^{CzXV0rYD%IpZJ@uNAW%CfpwpPmRjQipOsRLBq^wN
zGY&?1#;z&okz^O&l0+cP%EF36+TIF*!bj=dw
z<0(Y>Lu^*#xe%Sa_cn9^BY@2d*&3*4uo7}9aek+ZUJ0=E%y3He(_y_%d1+<#pXaiA
zAgoa~wT^+@##;wFs>xvW;=nQ9Nzms=*c1YHYm^Nd$;W>tr5i4V{ltX|HXe{g
zJ&NNi#Cqxo>UrqLcyDdEkyLgDOJZG=%y!2+W%;~GDUUOqP`!M?vEA76>+v_pxB!7=^jqwiuN&^QZuYJU?Y8MDxeWjFbKP9*mmh+cMpr<4JHWHs-VyG_!H
zuHWqD)SUAlpL#f2PvmsD?F%B)Y9n#znv2@5!;wP2B6H-Ar_utddhn+a(K7;TZ@vrc
zeko=a1*NDjDUH-mE!3DCF5cvDj58F=)y1Vi#=@D(e~^>|r&?qKkRI)IB+<~0qP|))
z$APEHv=wPdx=t?;b4e0g9Cu6{M$j`~m@=)df-$H=5z};yn9n~F#s~O{n{yIh@BnFw
zAE_FAVGOaqO}jj67j7u%iC
z=jKH5+&m>2r64INo!E1|H3sEYTZax=nVlrPr>dDIPhNgI6pjHKd(rsm1We>h^MNB5
z_N7e|+87Q+YZ%vOxCS{=m}cH%)2D^wlzFinnF*r35tfV|<}1Nf0xWpDT!MJ9aVPa)
zEu2zQZ=KMOX#eF_LGx;Ih_O!Pj4MG#wnxB>Tjwd4qx5Ra-6~87`|MD;am@*Y9-PVe
zPLi;4=H40ai0C`8?0#C9O?%y-eVU*7Lb)U#3$k(R$yAKZ
zq|7miC5<`H@3}@I|1g
zoGWye1%ci(yM}vyT=(snItGbYHc0$0yRd0zj*>lJn(KS|mJwf}Y5I?PeGPo>`cnWvpcJGhtbE7
z^<^R-TXW03qqlAk&(~W`VK>RgQhWP_$0avb3VTxeLpTlv{1Z{|!~J8`+7B}E&va}1{mJzdhBpU7CGO0N
zOtVg(#&NAlJp}&U`3yu4hfRf(cl?sGhm8XTaVs62$NPQf2|?}ox$N@#D0@FZqQ4BYwV{3%HuAzIf4_$Ti6^EUr7_ZJo4Mhb^LNLYwKHa7XfUqR~HYnFa^Ryv`!H
z3s)FCOe$-q(+_LmGB$seu*YGW>;n=?wF~s;**!EAr?cs`v>WL-V#1_LD4G>pz`L!U
ztiK2NIS>1}wwIC)^Y%%NqF6F}=0?B4KGLatUE}vIXuR?YT{b!V!5SxOUYZc|p_?_A
zEC(Oea&tq_@0y>6pqL6RM7ElPFAE)CPjXvN{Sx^
z#mV!dBW*FW#9kR!$?`yUxgP~c8xdr&U~tVf57z1n>r@9%+b#cn(*megR-NKOd|b{R
zv7Y|W2_Gc(#}f(5|W0^ZL-i=cy{ea;4m2
z7uQ~iOIhn^Hymqt#5erWHiCo)mz2Tm>{U8KGV*r6Ds~_CA+%GROw9E5dD+NSfJzk>
z&gOI7qJJIFkLn;A@v4#8hXpc9FS&X=yI(2w{2g~HKo5T`>!#XqTA~@u%T8vQLOsXb
zIvtyk;|WlOWo{ba->SXeWLtA-d>!xrA6(OO?X%GRq;2>rSr+J|a@$O#rmXHQKKran
zaR))j>ap8HQQ!F6S6`Tt_ifvh8|h;+`Icjc%BEbd^Tl^kHKii0m0rZ1R(k}7q8RdD
zuL$Y8iCEzxA1a)OC+GO|2v*k7#k_#aHMFHYecw|OR{(@9$8V9`ocgG_y?#xC5@n67
ze&=F6T)iNL^Xrk+HS)I0B+u^~gz2*APXix=O%8?p;eFPUB;IuRFASe_cqGe-P^jfy
zH;dkMLb&Y6PP4W&DIhVH>4zDdO#l}<}OQ{254Pl6D?C7tzHcc8FE<@
z#S~igw6q+_TU>Z*l7cU@HuzE?EIY4NF1h>9+rUhA&uMoM|A
zMFE~TlzzvKcMN^G_IGzAm;&Z)UfHJGY>v?$nr^5_zf(0K8i*Mhpo4CW8KX$^EyEGE
z+rX8E(&?M~v<(OgPl-`h_?sAA@ix+k=6%L}!Av-c`ur}$(xOv4+>!_5kYI*iB1=Oe
zWCTvG*43uV-^Dm3ptAw5(Ej5s475J4z0{^M
zI{CBQ2t0(zht`uWjaS%Fd!=w`SC&LkuOO%HtSfrgdn)EtuRb7WQ<%ZcMN123OUe6}
z*^XYvpSLf2*!sO!pN#v1W?Pll*OY6G{z`8pY^!rGkbs@>7z&rB#w5{e5KrAxGdF^z
zDS~Nr7MBY8jL1i8W*BR+WtULe(iz~Fz8G_!n>PA~P4S)77z@UZr<
zyE$Vu_fFM>Fvj&{k%oF`5>NGgXMiCiIT%o3`6CB*p?9HIx-vlAm@l};u_(1)Su##t
zEb2h;fReD2eD*+?@5e;^PIN@hh6-h3tu$%@ZSTY7DD8r~
z=B>+ZUVX?Bia2ZLB*HWa$Og$)(D3pGB#m%}h8$>;D0a=nPb`-9(3En$gTPc@-ys3xww6|w97}aVO
zjGVq@mgw^Va?0V7Io)8{k#O{Tah5lIL9xY$byYHP3Tb@d%@wSFgg*7g$6G}7K%z$q
zknZSlOxU-$he!BEpW>L_d*9ch;_j-{Qe-@A?yNlZuL)hdjr?!LFSC^fI3_aN{rjCY
z`K$J?{oTx`j{`O0mxrk2y12VaIbd#v>0{cNDXbH~kd^T!>7HSXiwVCex7kvXup4PD
zON`zUy852l
z0fNyH%W3BcIGI7MRe%K_FTq_;Ld#HYa=
zvu;v64tJL3Pd-Z~cH77i*iy{qOC*Rq?g{$Q20ou~WcCP}FKk(C5ORKg_de6`Fl0}S
zk9tM^Y`c&T7>*ln$M8;vo764RG5Tdy4KW@mL>%
z(bQu+O9NMJ+U-xza0PqTggyyBwtG~kdM&vC{up*};YqnyfMvg$cc?LrG`Iw>Xf0>2
zIJ-S!pIdKJi+a+goKF-tAN20MhE(^`77T`W+(}+_a8tJV(1M~})NDawc`qY7s$2bFZ@TYkEA_z|*`ZIem-{oV(?BqY>a{%)O);v~Wd<^CVml{kIGA~Vq-B0
zX`8ANv{V^FPjq2F2l0EojWUM#&ODm47T9G4NCiG(un7#<9l+{&t5}BdZQBG01?-*hDxi1+XX26phLHW&erefxKY<-nyy{pP0N!)TiI
z+AKD`2XC6m8@2v`c8a#jllb#{5~Hofj9R-fy05)jJN%0h^&+%jR-a7n#j(K80GiNU
zJ8pE$*REAx(&&w(HR0UQt`MIyJCopF--5Ckwsq`+%}i_34&tZ%#8z
zH>cAAy}Y!LUpBdJ#)MX={lk1sUz^)pV%v0BhvuyjV7@~xAtrMyNGJqM11m_33gmO(
zd#3JLtyCSUiz22t#!1yU_}8?O=wz9_QWhD!MQrc_`byN){*fuxu2RWO*6>4xZ5f}~
zVoc(6Y?!#$nyA5cO`#H79>Ge8x7J7GSc}OUWCoA4114K=X8!iW0&jcYt*UldRNm_a
zvSZ{|u1~AD{BDY?pely*n7oVw6BeEE6BoYrSyl>I%dP>K8j~yJg8aD{Ao9)u@x6{z
ztY(6?vY59@LTzUoYyX9)!nW6Y>ShOtTNVXdFTJV7S>FVxpl-9IKLb?s&s1W*n*eq9
zMTHD#_W!<``1b>ZSwdVyN_##NEGOAp;woxVm#sy<@Nm+`^(h;id55Byw0q{x9>B!t
zd;#GrzOvD8Pqe-e{<~}Qu*bj1p;2UiRwJrnrs`yCh=Y#Wk_}0ejxT?6Pl3!&o=Si9&c*f+8eV9$l~3ssQSn>&-f6Yf2q|_xiw}@8WWZ=8}wc%}Fc=#$ISXYbZW{JlnT{n6JqE
zzC?JPMRXe*k$<6A_(SE}8h!rOGU?R7a?V(l`y9`t$gq>RxS$`Yx^PJoF0>ywiaz!W4fI+VQOMzGi=pr-o;;>be&rMb?q2Nxeb?K-va3TC{VOkIr{R3A&2AT{F1
z6dMMa!0_)^yKR27G~Bg{^Rw7C-)J)0Xr6gG!?nxSG?SP29a0WbuNz;p&nPp(`7GD!
zmSF_rG`TIV(Qw}jaQ^Bo++`U@*Il?YTKcyx)oxO6|g6pNz3xyYS
zWBt6hpX)g?`Tk`-lz)MAc6}>`{q17a*WJGJ+tVI_*%N)`(+f%>ci1xNSiEUPRjCcq
zfcKi52P;2joLi5T#-2f5EWMmOO+bG})6)Emitk*zUHBJ1-nzQxMr7QsG3JvAq6LPq
zk|!fbwRj)(QgR~OoEpWrYddoErH#4GV!1}AtoCjGRF^zr12v_bw8GcqD3JuK7O)B{J()+EXI-yD+?`g_imWm}}EVFdTs
zoJ`j18M;ST;5&g{9A9lvRRU~L6W@RbTSq3
z)Bf(nA{pPsYr!RyI+a8VS4o=6wN$|@8RYlwsUEhuk7WRL_t(KF=2bn?bdOoLH7@;4
z)>o;C<)~HFnR>p$^bG4u6vYk@cFoV^^P9RiZI7uh
zi5ZKRoL71~b4Hu{41xEnTXGR>iRsi+vlWV8NIzQbHSYQv4nb%ShZEP|t-l#cNXjr?
z)SObQPDm}cBGNOI^-o++qxRw@OD{vHcIr*Fb|R)z5z`g9HyO5KZQb@Yk})~dMpWPi
zT{^OSvX$M=(=)E(=6%Ie&mIp8L%~CH#07UiIv45ao3e`biI^zs?Tm*Dlz}#eqD)o&
zG5sz)QyL?VBvlismBo$>qMhfEo3erzy+l4AslCdg^i@V1a%vH&LtKRb
z&=v(wX}nN(L}oLw9Z0G#kCpvdl6DHKwkm^V|Du?}w&{biPpLR9R410n$)9><|Oc^({m{hU+FiQo{h@|ZZGBte(_X)pwPQ3CU$ya`pI)%qwh7K4K9+-4unYxT>wK|q?sgQ=
zQ2Yp|3;#UIDywkV=&&^ev`p>W=#FwP7B`A!_|zQxDLw-@qD`$$tCCrsjNAV_#}}Go
zc(x1TtqwybXpdZK;)5tv6+j03(~n(Qklr(E!{d{@dOp(9XKn?99$G%O$$40JBJhT4
zX(1I}?#7#xdKka=!an>N7&cc%R3gNMLt8Ozggg@0C&Xl@zva2WNpDl}_ZKm~0eVTd
z-ZI!`b?fo-vbxTy{uv7H7
z1`NNz=Qe)vw_VD0Jes>5`lLy_vny?*%Hlo@E1xIUzc@(Voo&)tEuRqBrP{6AAnuFD
zn;?!5#Z6~r6p|Er1q>bzXS>&wuZr)i@tU|K16EIsugwap--4n8cBUMX9FUAj8Wu%R
zE=Dm%39AsBPu=NB)W9~Uq$JP7fUDlQz{!PNlZt*{sYV78yl<^nyH4)*Fu}RETsXTk
z1Vw~zc&5s1Fp??!d$5FrCt)o?4dbEjgxA^a<5Re~a7Lz;dfF;(yxSNziXUqRLQz>U
z6s6#gq(Ed9%=-J{3|r%w!fI4^MSP0Dny@MnKF;oFCr?>#+#gS*6S9pDgotNgnf
znC+6a=KbP8YH6Z6t@M64Q#Ea?PdksGc{Nw*j4EBxjZPFSbi%O9#
zR0NnZD3|9qH>>%NU)I1?L7tB);^SPmk
zg*iYQ977p^;X|8ixEMG5u*_6xBbLP<>}12K%<7|Zk6=v2-~n_4h7)N?pS^1mN}8JG
z&OmYjqBR6tuw?yg+NYzKG}t+_D-tf^XD@s+QkusYQXEw`m7f^|{&a=EZwW6unpo0t
zHth}d-lR|`43g#D$Bz%Q0EBvYDDBM?7z7Edrt;zufflI%<>
z;1MiI_hSM-e(XQ(Y`8#tza^-j@LZbPj6}KC`<``IeDcvlQ`!$IWibJ@CAPpMzjgSX
zUyV;ecPh~=R~UJ$@BDeM{Jtw;2W0FIU`Y4-i|Yk~YU{-AW+;;)pAt2?9i5;ODiMROR3_m%@ew%9!|LRVx!_#?OyIWIsKyX3-`Q
z--^YSIAG*^PTncme)co{xT(P+8Udq^);}hJYL|WU_kTJBg72Fko_t4r_-&jM@nL4=
zQACPf)@bvda22DQ?(fkG=}o!&w6dg`3<}la721sh4e2&%D^I-p(B^H9uFpCJ6+;{N
z+@`X$RjR40PcnYO9=^b1+uRy?NLPO8A<%x>1gqf>3E-Q6Ih#1XfV0>3M71uAba5L<
zx3t0VXffJ0Ufx;4P0hw6Ah*2tga^I5+`V?qMU}*i6X|}BSLn$b7adL9EQT{&I6`bl
z^M`IZ8|=OA?rHLb_!JwG#^7c#ogPLUo(AU(q>|7A(9Wj+Hjl9IIy~uBG~|6AuZ8RXday~vZn|#x1?kV8lNFJhm|)4}YABD#ndiLYkzzuR
zsqAOFM0Hg#mwh^Rb8XDhi&SYV^|JSE#eOVlq0z*p%}&ySEQuo`rtE_VAE%DG8<#h*
zvC1!U&()&NAH9k}2m7GrB#p!G@wdG&>%(c9Ri4whBi;YQUV_Y^9C9)*<+}OVfJzNo
z#-R{BZmj&a*`RT6I9TXdmmj~)?U1p_(0GXMJ))AFE$g1WFjb*C!_vp`%%BOJnEaS<
z)}frguAqcZv@ye&N07Des(fzRpx*QvW99WffW>AV%-AZmL+4z_2iitVUu$K+zfxYelwQ6wK||1h#hlin#)
zTMi1VpG@|#p#7P#OdY_UJS$(=A{S>qC|7#g^MG;3agq)a!lW}5clN7F;}orQ6EpJ!
z9=m3H-b~i%i;^>&1wF9R%P0$|h^KkuR4y$O+cPRXd^+8SRmcNVSLjD7_Kh^__`!Nr
z=dEYkyxlvAx$)%T-_6~QWc7#mo6|g21k`6=CJ4}ijpKn>V>y0pbETK)jMux(H$
zua~9p`orZPd%x(IC`K*ggB7Nj
z4yUQfGY=(5L9x>J&0Flzhm2*#gu>L@^yPxH
zoT6mm%NSu5=on3BW`4xuKY%7ci|l;(6SHN_fh=v(_hF?q$>}}nG=tU`Vg7R5x{X(&
zD>BoJCtjI=+{rl;i^KEXtzSXAc6(B{$su=@JU2(P-{54KQdB(iWDMr>$m(vFxF2Im
z$*AL0bf
zQrT6a@0-uIVU4G1HuA3y2CnaU9r}No<7;&U3?D0hQe
zD&vHw*UhBfGv~TUBf3NIj`y04hv$T61dkHez*Pm4bVwDgk($40yx2B5ErRY%G4nFg{JyUwlWI?Pe)7KlQ1%=;&~ifE
zhC9RZSDp{2MQUQ@`C}9okLmu(^X(fzYYbRh+2k)(22v%oNj#^#OdQ=16T=Xk#Q
z=GCn}uG+k2dLBH{IMG*QS68VRF0uDzbqoB3iYuG`gG|R)py__};T!)sy0+Iq=lP{F
zZ?9zw?JCtq-w+=?F4b8h+jl)6Wg=l_&G^$h)~@tKlj+6IIJ!n`kUYJ3DH|ULZ3nFo
zy&(>4$B|hW{qokiJ!E9d6b33))4lR{&qFT9O>_I|X6#jA$XIX5EZI%93>
zr{NFje+8E6>xwgZjaN)1%X<*Gi+&=Oo4$yP}k
zYpQB4pL`1emJQUuXG?EBx}p%?*vS>Cp2BA3BOGDb!l%?A0!K~hJ`1u=P(^57Pu#dS
zckr0W{gp{Qw@!YWX8&7*p48@_T#umJu5!(SZz&)%V1WnnY|uTwIX@(5pPwP9G}*4@
z?x`Sc!^q3@kvxdgpG@$H_-+GQ{L*AQop76_8*cix>Qi?
zU}i;c2Stc+*)m
zQkJ%}snsv+tNM}s)U;WTg<8X6g5G%-Tk*}uUpxf;u5XL>HcZX}7r@ns>NcP695Xav
z1}aZ9ehhYTXnoTKH2GoqQpcgvYC_X1Jap}s?n~2!6$?59nzD=plw(eeTJ+%3;^Z;q
zpF;@0*47(P<6G;evn`14ZPPh+%;j08Uv!5a50dg{?z&S-eD+rqki>4^eK;en(|cL%
zP2%{@$!j9oB|YN#&2n5puaedBRq{J?0CjMiHB*xj@5Wb0c)3WEcm{9XS|j`B!m55|
z&1z7H(@(nEY+zgs%Dt;*OD)Z*+nxQ?M9GS><8Vec&Q|^R|)^~{-!B%r5LP9+VlcwjcN0n)9rnMKpRdnG42aUX?RSgUI%2r$@bYa&L
z{^j3B0V8n5K%^VIx6`DoITq@0w`*4`ER2=GHa$1uLCF@H$E&KLZIrfNMnue8F_}Yh
z(ynG*P>vvvKvfO3p`M
z6*qo`(ggdl;Fcm>=>;9=q2fbQtW@0PXxj*rqn$hEAfQyN?C_{zyw7r4(F-Ab7)8{f
z?Jt2})n;5e>nP$V#!Wf@UUof!w~Gdk`<{S8DO*_hmrsL;6ALo@nBLB#NXDAYmzelR
zwyj-?;^f6kigp7U3F=|0KQdTg_@_&qesBFBt!W2V1N>%>|Hg(EHa5h`8|TaUyekIi
z&QHnq=$@FGss5Pv`G&R!tw+sh3P1a{G0B!0J~WD0vYQGMbx;5+N`sn3FPI`hjhvjc
zX?Ordwh;qX7B95lKeFDgzP_jM6kpY};*d|A6Je7o4WWS8k>FeNYgGQuPUFi>P}R!v=)o6*p9-eR^!k*T4RL_
zUrTG^Fa%lkHNjD5DfK4gW`crG!Dcr(UzqdWRAP!4jPU3H$~B4lx|0Pwjf4mY>(&;E
zs!>2z8q_#AGD}OF@%X+Mc;C8~zgb_rzyYszRy)RvxH+B=HmVHgfQqd=hl9Pi-o~<
zl2W6K?w)R#0*OZIVe490v0QpM$Xx@+s5Rq5fbmVFdDG$i*`6Xr2LHE`Nz0D)N8jw+
z2bi2dc#1N3Xj|_ZvYWn-)Y=?TWl^5-g5Cpb5?6V7+oR=Tqkt`!;u&~5x4pAkwBTHE
zcMjvjL>~<$yL&hW??k9*Mjq1v-=9lfbeK6MEs7y#eV3Q$^cvMsu%^8Uq?T&nivgaP
z46xmU`3Tzg8b3x{Nx9dR4zHIDzW28s;5#RvLf_bt*=D^PWsmxk)J^*Q^aFwQ}VC`7}@e6S4%648BKVgfnuZ4t4UMUL;ecE{gz
zvFN_sVGp{&2@O&~rn7==f4Y+QuXIfK=Ba#F@>{^kn3IUzMBP71ub_)TtXMovuO5-zx2
zc+`l9G_W9U$>(pWrRl6B#cF(CA`w3WatOQ9f9L)Iv;qDz1m4$e7LfAKa7OCBQ{g2l
z8ygHr{jzq4tu*hW!;nlLj@Sr#{*qKTMd0pGhHwU@0oGQF=DeA-U6@`RZwAjC(!%v4
z1-?t@k@y=}DSA@og1EA*RO>WVkn`0tz=>j|L?&CRN20HIct%haJY^Cw98hLSpK}Ln
zzj`zc6|*55anRCWJZu<6(Ny?^Q5TLVc})2+H^To7(VYhFH}ajcLYFH~KX9seQ8Ifj
zC~PXQ>HLP_Rgx@y0#~$d5~RJz9%6tm$^
z^@xYXb8$h|wQ`XcW%+BYR_#&vYk6-DhgGYUN)33vZ#Ae1)w4lgc&a`g`#eZYw~qFi
z_%+`Eg*KO}AiqQ;uwGt~DBYTSKasa{wtFE6wrYu0qO_5sW^Y}srl(^Ch;eRc^#R}h
zC%4*~E%$EcVE~`Y(Ez+u>3K&*zfct$H@HDPhGbwh_Y=b}itK{}W4Z8ELx)1wYerJg
z&pAvvG?8qA>LUo{)@c;RZ`OdI3!ok5LzK_v-se)2N_fZm_FqgnE`4}fi^h>2i9!U(
zx;c90W%K@5g+zhKS3ERf;qq!Ecfe&otPxJW!#CvEOuZ*^vtorVuxM$zR7M>I_DlzwPPAr9rmEWF+3rnHWOmSFw$E84$i9~Fh{yfxQJ3ScXmnKv_A;4+(
zHNQwo!VkX`ljR-fXhU00z-PT47pZG$;zs^Zbj5BpBmH&N4$-aW)w+z4u4(a9Va7g{
zc&n)V91O0{c9BmFJp}l54t_oF=;v5@E%35~66~7#Ac6VS7cm?IjW{t}1-=2*;b!vR
zWCN3VwZgpL*;SobEQgcCaDzhl;`4>TSkS84a_p;Fmy88$x&Zv@k01X9Gt_;N#3oRy
z1_s#0&u4k{jL$Cc>5=<3538xSX|mDonhp$cf7*%gVOXg?MFt1n>DGhAey7rYSjy
zHehK~`75HwK9w=&nbP_$Qx>!%=(&-Bj$^gnRR`^e5@-DlnpW6%Un!MS?&O4LK79-K
zer&NSqV>7X-Il^$EN6f*kaZ=erGT#qaZUATq|>ht&i$4;Te9q`|*JQxS}EE
zJ<>!dAsgrWv<`6_W~KpL#G^pq$*@pNu_V%o9`OTD^CN9$*9PSnOXBfqy69HO9di
zj;wyMleChin@YxEH^}mWw^Y@>`!LfEU-+&b)*vG=9dy-LG18r)*J8^lgWJ$wfV+XI
z%5Qb4c`0d3N1AAY?P+Q*2Qwd&JUDc}R)XTkH+tT=F(c7fbrsnSxUb(4^Ojq>Zu7u`
z<3eU5|Dd;0cz&UU*TsNqL^9FPhMQB1FB&q?QuUyNI3tSDswjtB90GiY5{v+iE5w@Q
zsi`)!7+*^#;=)Not>!MOh^VYAkY7@XHU3f2{y#00WyyWNM}JJHUbF++|
zgktWGC2dx(Q2CwCSN3ktWgEVsh=es>=^wUhSAC_UU>25&FT~{uSqqjcR3TF1DUWxz
zK_b3Fus+20VE;wR%2oxn1l>*2;<+!@AMGiVr@M#WZIh<@NWt)>{-Z@F?VC9WSZvWQ
zqv8>MP(w2bZ<=t7L6ueI@$9TN9KB`r7zL8IFnO3__QQEVO|PDa84^pbF=Y7O(^1eE
zW`f-)9#{xLT=cR&x52~cn1!tcn#JxK&=cR05zJ@h@gCr(FX6c$1)P|8ZttSb1+!Qc
zu)xKzqmN)LaB=J%Pgy<|xQOjD@p%X!FP{XPHtlXrdN{agNqYpSn8@+h&E#{H=1^Hs
z1$^FH4EUx$nL=)3Dz+maiQ%9$eX}^VxAB;@?%U?ckCi9PuqNkujKijxmruA0Hc4?3
z{@B$-Oaz;1jq7K`?nyT@;@*dqgO%gkFAS5hbV-Sx!G}yvSQf8p5tAF1F3CWEn}0)o
z;5~8b_ZI7QVm|&IS^X1bzIO*Was!z{nl_1&x~Id%CG*!Bx(3*2<6b~-tSN=HWDmG-
zUtS6>x-8MS&?o#h0oHlBe!FRdJAej3yLZh=5;P#)a&EIAP`;P|OeuY6v)IT&z%Q>e
z*=9j6UuVCzq?64mFmYVoz66MCM4(V5IkBB8^a_xA9B{7O@tQGUP#J!atL7{Lp$d_m
z(l??VdW7TZ)1QDszo=oFe4=rwJtI4wqcpLSM}hS%#1{wNL4f9JN{;>Um?(
zB?VSjNV%Sk2r;_?guE
z;@5i$qql}On$!N)*JG9{KVy^k>E@S~R7i%jxZWvQHzt3|E-Xk`fj=^Z6NVT1k2Ma>
z`3s}hKa=w|`Vs2Bl{fB9GQ1sf7r6fWl?QzZ+r|FLT0nj@Jw=e0)diE&TRDT|PK4_5
zf1uV(zL;|NdA-Ph`#YTuJ-*zkSorPtck=pC{rX0yHmPKO_N^5y7Up-W-nZ!F#{pM%
z!pV)M`|L7C&6$VmrgH|-Z+s8_0CMfjyq>TUeKWxr~y9F9BZR~6eW~r8J!1?za2$=X>iLI;66ajdFTx8-qU(S
zWt~Et_1NxLGnstV?Da+PR`u-%SIRcsX}jYaF6OV|U|k)fPt25--_K4=xlU*MU8K*p
zf4I{A0l1X}c-&td!cwHCl^|
z4k9(Oxy`MiOxm?uCNyV2_}#Q?S*K77B_ZB=|36xgJ;c==OHE?sVihY@k{J2z!;tTN%so{xa7s$Uz)C-RQyZ&{&t`aNwc2+D3JcD
z`YAzX47=cB(H*lb;+md(k4Js7S=&6ULR
z#)N;2xNb{O3j;_y%EnG0CP5`!y|ViqD9l|_*OrV0S9eTvLv6jP*og7sAw!BS-~^j?
z%9(j2EQlc%Y6x)Nce3aG-kF$zVWj$az@`Wxs*+Z!*I3
z=3C=~jO#7;wenGQdN@n%J+P50AlmU-3EfqcaeJbTYDE*xW?W7+ULds6VI{$hyqXXF6y9onOo1y
z4aPs+l)>V@ap+2cT84=TO0m2*ODAs>MB;}(M}47!aP6>C;ZVg{r~j}iN7Pt|P}H0C
zRK=dG{dAPTD|ftR5DNVRsC`?z7LbQzUiZvS%Fd3E^xXW~vi*&G-4WFq+(g4GYRn(5^GY>Qmu!pL
z#%>k$catFJ%1qbl!zp-sZc*#vR|Ow|mO{T}J!Vukj#|f=a5bh?R$~&R8-$Atx12Br
zw8%%wHtjY@ggPr0_1Z8|NS0PnJ3*o&(j!P5pe(Sshg1^(BxwC_JZ#*ozKG+&9&%bymQM
zlWW5n0#<{sS(&w3x9SDh!g$l@gt-hU@>Yad8h?Lwe7Y|GqxghK3xJl!w!}ZCWNuuN
zTL@=u@8h?5FKy56Bs$D170dd|i7?Z$rz;xcK&RFf)W4{IZ6?Uhfo2{p_mwlHjk?EE
z4IZ+keX5P?72rt^G!QhhM!aw`-CfAIJ}I1QGBpCzZhAlKDU(zAp0-x^mgh~>zd*!T
zC0~0qhV-e^#!Tg&WDimtEcNVqF#hP->V|63tcH*74-1i_auYXOb8K;$a};RX|ADfp
zAV~65QX_MsJcDb#8cT|FIe<6SJK4p*G(MrlrM{LA2m4cYY+uXYk
zs*1x%6Lcg*N+~TjG$|Fy74~Z{
z0tC%GiUwL|@7nr$*J%Vp8>Q^U#6xwlHd
z1x#zjb#E|yx{SiDWVBd5LEw;0a?uANBES~Jn+E>DW{s%%$8yq-GzyMyvGS<{D&Y@^
zk(7%xkOiknRbaSH2uEam{tDmykT#>e0JujzX~nrraU`POL+
zLGeGhZGn<^*YFfV$q=7u$Kzsx!sa2tML@y~t!#~&yLTb8&byOFSjR+m_m~`;ycnvrN=;~x9#&KtKg{1V_mib$Mh(z}
z2TJ3I7iZYl*ylZiH^>5L1{Ab~6%@3rGzhzkG)kZ=Z8$|BWQ`S9%GvCOZCa^IG5Y
zfr>`Svd4=3a}3VZn?n*@IEuLN8J@c=rNSWP|8ObN|IKw@f1myLWj1%18S6D;HLX*!
zCsy{RBvpL|^&V@}t)l&&uohe?kI7sDeC3r-VsitI0B51GtM{MXEC6@O?{~|*yKKgt
zV0;=9fP3spSSb3I=$de8<&KKoZ_2Yf?P!*dc&7
T6OyWr!$CfJ)GO$>f9C!db}~`>
literal 0
HcmV?d00001
diff --git a/public/images/wechat/arrow.png b/public/images/wechat/arrow.png
new file mode 100644
index 0000000000000000000000000000000000000000..f9f9b18c5bf500b5b1d95f33e0c4404217148aad
GIT binary patch
literal 21159
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
literal 0
HcmV?d00001
diff --git a/public/images/wechat/dot.png b/public/images/wechat/dot.png
new file mode 100644
index 0000000000000000000000000000000000000000..bf1c0104e6d8c36a867507e927431299c758b9f8
GIT binary patch
literal 27646
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