-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrathegame_latest.html
80 lines (80 loc) · 137 KB
/
rathegame_latest.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no">
<meta name="generator" content="WASM-4 2.4.0">
<script id="wasm4-disk-prefix" type="text/plain">WASM-4 Game</script>
<title>WASM-4 Game</title>
<style>html,body{height:100%;margin:0}@font-face{font-family:wasm4-font;src:url(data:font/woff2;base64,d09GMgABAAAAAAegAA0AAAAAKHwAAAdOAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYGYAA0CAQRCArGHLlRC4FCAAE2AiQDgUIEIAWDJgcgG4ggUVRQhkQRbBylAWCR/eGAmzBgcbVSEQV1MFRs8Ts/TVirjdcmzZum+foZqYGq4TdA2FbzSDx8f5+ee7Ns74fim/BWoE4AP1Wwc6lakA20VO54RMrR2gpfsF97s/P3xKMD8UIkBZNFk2ondPz/n9v9G4ROvGcJ9ejaJw8RK4kYUOt8zO4KgUDgofBQGDwMCjsf2FAHKMuSxfQKGICKTqpw8TAYfHywFNs02zbbJDAgUAD+z7l4byADjcSJjXhAkX+V15z5PA0HfmEHdHqW5OfXT1PsVLlV5AkPgm14EPW/1ds0nWuhRkHhmb/7JBfdZazTpbTGMrxynHPs9XO634fF7LHGGYvKrld7xSsgpTyfJqABJJGiNEP0JXXyPy/gUd+Oq0QckHKAEocXne/KDv7oOwSG0MMrDDRgQ0HCAFZ0Ar7LFhgi+t39/2Lzv/+fFLDLD/G/EugBH+CBbj+wXA/giv6ofkm3ZAqiNhrXlgkd4AIQwJg18/ES0QEKIZXedNDpbH9FmDzLD3D97q2rzT3TRXdngPKMRazVYXWiUtlpVnZTprWt4J6wbQiLK7o/u+vhZr91OWHc2/gH+Qyq505NGWB7ui1DWkl94VWLPsznaf1Socl++32X0B1fLASbyLYi6TAO6LlJoPwXg5YAIDQZ2GxXd7yaLzKdTNrAjkIbD1Sca4fUrWmNr+IUViUJVbuuu66KDZXmnH4fMCQ5ukPCRJDdgit52b4Et5RuCK2ZjuBXWu6K6zJkW4qAxA6Y0BWJpS9UgZPLQ3iSuQWAodKrD1VK44bhgApzKGely9pyBS45qWsGAx7ELrGRNkqZX2rpG1no3KgrF9zv29HXdcAmEYpTeqXQunmcM1KNLri1l3ETKhr/jkuZpYQWCtMUkAOA+G31Ezc8TlQCcX0AFiJM8A/Ja5ANNF3s+Aj1HaR91PPZwCslbEBH81Bta7KBGjhAdpteqxIHxKrVrglxhbYG0qRrxPwYd+RA3LtpvfDZhqQKKExdOI4SSCr8hboPCCdUxuYcsLQ2TWw8XO+W8S8kg28tTsGhGLgAGRwq7qpSd5XiJn8+0m7km8BBpAhQ5rqdtpQ58nsk6UVIA1DbFmX+klm8NFI+mk+Ll5BXDAY1ZsGRNeDGIUiLnIISx8u1n++kPlx5KbJLJOSiIDP1dfY4drhKlPE7oTwc9gEI5vBFDpQ2ih/QCB4V+GrFeAMbdFltBSpSqZm9jTuVVM1CVTyG+Haj1uZhNOXIU0xda+WccPIV0vAyy13AXHS7odKqX6lPnNQW29uptFF7hjud+bei1obGQ3mmpvE7YI+21Nlt7iq+tVb3XTcUFG5q31u2uVI1qvk971yZ+/NvzpZV1dNa7Wrems+vXZ7G0bjYrBMdM44xvrdfytxyouoAmPMIUnc0H1njzFfrgVdARZ2VnWXVw+0qv/fX8iYj698zzrSTOlorbpYF7dsMJFE7yW5kV/NV/wwJ/6VW+S3vk6u7s/frQR4kpi7JSQUksyJhl0BSNPS65eUmD+i8UGEYHhd5zmQA0oU5xN+qs8fdwfJZAQaqNDFTgSowOASAVTi4nNRD5CwJVyFK13cHxDEeWVQDvZU3CfsgXuwhIGxxAGE3sxM1QNCL5oTRpAtVec0/pJXNfeLQLO+973quQzeYBhK7GMFx18+4DtE1AX90lFeaawcfPwKbh9CZncWGRig514Ca6r5aIcMk1u7R7OyRfIjVldpkv/8QTig8xMfDoNqXMmPq6rWqoKMWvmXNIhNcLI1TokIhQLNwOGTfZxXWtBtNJFOwSQNl+3DGVwiBVU4+Oq0FeJi5E8VTE1ABD05R60ZWTc49DS4M1nMCCzmZSm7M8UWDSoiGvZPrWrGYd4bKvbh8oXu1Pnv2vrfKud0bz5t2kT7Ti8FNP4L9IJy/PdAULtKZAlxz2FahwUZvcI6aZm61UI4qEJ3XUpHb3NZcIBs7HYrbHf7GgFYvCv4JTMlVK5o9e10zmwVpEoUbhD8pWxVbCX6xdKM4RGTiZ/2PaYEZMh7uAHi1vTTwNaeeqsmWeoX+fERAY8Dlq8IlZUVTrzi35D7ANkN8liq6UConAkh2mBUCA+jNZ4cnuXvJDuFGvEUlaWfzT5MjGonslkNYRjXtmwJEQgbrm1xCr4/AZMWbVPGZ3SvOH9q/AaXqXNGRhP+VuL2mvmu8/zv9BnB5l14cMu1MBSJ04++6QDnTv1bPp6oZnRul1ORTFVkMUlS1LsSh2h2L41VW44wWXcvRhJYwoLfn7pCnX7rB3Zs4otOwC568tbQs/egw8kfbjvhpM06nOc/rWqbg7EicnAydmY7O4nomxNHJws4WxYXFJFGl55716GhGRqqjKI9kp3x0+aiPQqzthaSFKiR6LmZAzFysLXdGb3rZfIi6TEU7jgcy2geINtNWQpaBCnYWTmxqWDw0wzgfrJvzphPhoIstcvGIzuZO4UN1requPbF1HWhqLtgPf3YiwnTA/xIgKAA=)}
</style>
</head>
<body>
<script id="wasm4-cart-json" type="application/json">{"WASM4_CART":"0ax}=0rr910A6tl0E>8S0!kX1u<RsjE$8@$E$8}Fu<7$eE$4Da0!kX2E{-lRu&$[dE/U4b1aL/I0ak}VE$8}GE{-CfE$8@$0ak?S0E[FZE$8@$E$8}F0:k*hwO#U}zdNN5A^mY!0rAplzGVh9A:-D?000ajzGVkaA:-D?w=I&lwO#U@vR/+2q/#KH0T01KB{8]9zE&!I17=v[1.qs*yJ/:Y17=v[1.qs*yJoyT10F=<1Qb8n2lj#e2NH.y2lj]h2l+ni1Qb2h2)*$w0r-x91P-My0rAxg0E>boPZ@c>2oT9RuUKy(Bzkf1x)Ks<2Nbo>vrcC&6:w/1wmoN>02L$x2myp30u.Bz3L0e5[CrnM0738=@0JGj2MLA<FpJdI3*d-}1B*Fr0ZD/LaoB?Koap>z0yl*cmgxnu0.0L0aoiI+eDt=i001byl4rR)10vOf0CS+Xaos+ey9A*E193:s0W4Ol4fvTLaos4]0xHhYaoB&Ty9rW406{W3aP@[*k($^B1WJlgmgxqv14rU2aoiI+eDt&k00jnAl49F>10vOf18n$Zaos+gy9A*E193:s0W4Ol4fvTLaos4]13cz:aoB&Ry9rW406{:5aP@[*k)g{C1Q>CuaoiI+aoIDF001bw4*%GYaP&?!aP@[*aQ5kPkMTg[1vicfa{5hN0ZD/LaoK[vpyNpD10EZO0sF@]aoK]Gy9AZB5oecVaoS!<dfoGd0STtCao:g}2Sz!<aoT$wy9rZ51WJYmaQ5$&aP&8{0ZNw?4fdHMaP.:haoS!<dfoGd0STtCao:g}2Sz!<aoS!<dfp5t0UuESao:g}7=IHkaoT$My9rZ51WKnCaQ5$&l11BK0ZNt&4fc+z0ZE>fk)RE04fdHNao:g}05<@Vao+4py9r:61virdaP@eOkP*a]1Au<t03zy!1T<ALhuA>31WJoaaQ5$>k)g{C1pCn@aoB?gAyyrpaoS!<f8$#l001bAk($^A1rW>l0+@>Z3M]Hp0DyKq0u.H/1UxYOiSGd501PCskMTgLkMTgLkP*d{aw01x0ZD/LaoB&Uy7psF009rjaoS!<c&%xg001bAao+4jya68.huA}51rW>l25kN/05<@-aoT$yy9rT31WJ=oaPT>saQf4)k[mST0rsnDk[k4u3<c>W1rW<@0SUmY03zy!1WJf7c&:l90S:zDao+4myafb.hV:d91viSmaP-+&k[N&P0ymer1%s7n4qEo>03IIi4<q2-0T/5{0ZE>gk[F2B03zy/0W4T&0sO#paoS!<eDt=i001bAao:d[0x6]UaoS!<df6Jg00KFFao:y#4lBL0aoS!<eDuqx01QgPk[E=O0W4Uj5nAu?3M]Kq2YQpP3<c>W1rW<@0STzCiSGd51rW+i5oZ8m0W4Q*0ZN9niSGg61rW>l18oj:05:(XaoS!<k)IcN001}V2oTdn6kwV(ao+4Ay9rQz4<qc11WJVlc&:k<1WJOv0$cjOao(N61VuzZ3M]G[0vX0GhVJ?20ZN9baP-+!k)RiG0sF@]aoK[jAyyrpaoAU^c&:l9001byk)g{C0W4If1zP7X3J-No13)0dmgxkt0W4H%0027X03zte0+@>Waos+fy9rP=aoK[gAyyrpaoAU^eDt=i000xH01jwV0rEWoZ<WBe0ZD&MaoL4w0rLIe13%eAGmA@pc&%xq4fdHMk[4GK0$khr3M]KqW$Gx:0brRTiSGd513%eAGmA@pk(&>B03zwfWUfo-0bs!1iSGd513%tFGmA@paosI603zwfW1K6Z0brRRiSGc<3QIPaFpERhFpJf201k$h0rN-}FpJf206}fia{f9vFpJdIaoK{Z1u3q&aoJ./huBdb10vR50T6RFaojq3071D@FpERx0$Z3lFpER=FpwZB13=]M0ZE>hmgxkt1vq$-F}9&oc&%wT0u.Ih@qqd%0bs*L1u3qYaoU19@doC0y9iNo0STtClg>8bFb<sb0x6#VaoU11@doC0y9iHm0SSPJ13)Gkb.gz}Fb*8/aoT$wy9rY*01fgM0%5KOby>q{Fb?>DyA-^8FpJf206#elF}9?A0S>Q?kP*4W0rsqCli3@!mHYwv13)0gl7[gbFb<sj0STwC0ZD&MaoKg}03RLm4fmNMaoT.903zte0CS+VaoK[gy9rV/01feS0ZN}&001bwk($^A03zte0CS+V3&*Uyk(-5gaoB?eiSGdC06{SD0i?ceFb?>nk(-}CYO7]/06{PJ05:]F@doC0k(:gJhuHywGmA}6kM:m]13}FoF}9&oeDt=t4fmNNk(>Zz0$keq3QB+n13(%5a]<I5].:q>03zwfF=ggJ0bs!xi@/mD03IFh03IyBkM:m]0W4Fr4fmNMl4F]=Fb<sd11TALaos+py9iKy2X<{gFpJdI0ZD/L0ZE>geDt=pZYl>l03zs^1pLqsaoB?fy9rW40vO0PaoVB51rW+iF=ggJ0bs7=06}.$4fmNOl6.Kx4flL@aoB>e@doC0y9rW40ZRrJa{o4<aoKg}06}.$4fc+U1vmOpF}9&oaP&8{13)nP001bAk(>Zz13(]g1pEG}c<65sF}9?A03zv!0T]5p3M]Eo5nAFvFpJdI3=8]C0!hCBFpJdIk[E/Q10&zEFpER3kMTg[071wHyc?>2Ax$En4fdHKaojXeBrQYJJduFf0br[-03RL70STtAaojY?FpSjJya6b-aoVEr0SSSf3J-No070lbyc?>2Ax$En4fdHKaojXeBrQYJ]-6C(0br[-03RL70STtAaoj.5%a2R1ya6b-aoVEr0SSSf3J-No06%B@lh{$9k)Zf[03zp+06{Wda]<{4F}nBLya6b-a{o!903zs=070AjFQ^-nc&%w>1zY)%01n(o0ZD/L0ZD/L0ZD/L0ZD/L0ZD/LaojYny7p:U0%/hs2NyOt2NyXq2MT]kaojX[y7ppE2NgUV0yr)<huA>30ZM(C0SSSm3M]EoU(V/+03zte12ZhX3<Nd.0ys6]huA>30ZM(C0SSSk3M]EoWGnt*03zte1u3qY3<v1Y0yso#huA>30ZM]D0SSSi3M]Eo05:(UaoB?ghuA<\u00210$cjKlh*<N4fl?V0ylYz0STtAk(-!A03zv^05:(Ul4O(.Fb*X]5p]vZFb/#U3M]Eo05:(UaoB?ehuA<^aoK[vy9XsWFpERcbME)hk(-FpU.mTV01w]J01+9tFpERg3QB+U06ga:GOa^P3W.%RE<oF]FpER=5nJD)b.gz}Fb*X{k(-!A3)kWs05:(:k(@hk0ZE>dk{eSa03zm:1viDhaoT$oy7MwPFpER=03zw90tE?)GN[TNaorO^aoT7]2QfBr2P%l#0T}u{l4x8701::jFpERcaoT$wy9XsWFpERx1Q?ab0rW/@FpJf206}fia{xlxFpJdI0ZE>hmgxk.03IK?03IEDkM:m]1t6PNa{QKC0u.Rk7<54XBSZ&N3#c)*k)RipJEVLf03zzg0CS+Xao:d{2P%s^aQetP3KX6Tao(Q80sF@]13^$eeDt+{1vS+2aojXdy9rN11vi(Dk]s.!0u.B^0$ZJzFpERx0CS+U3&*Uyao+4xy9XsWFpERcpYHLZaos^30zi!3aojZ20zi!3aorO+AZoW@4fdHKl7!l{aoldx0^c/40CS!Vaos4]06{Yf06{Tck)zrM0cyIRB8-r7aolI7iSGc/3M/vm04!hjF}FNNaolyE07PrPeDy]+GmA}A0c7CE3+VMw0!hCBFpJdIk[E/Q10&zEFpERx13)2E0T{gNaoBC52P%i(0x6#ZaoJ.^huA>AOb4O+03zvPFQ&o306%B81oH*&kM:m]1vS+20ZE>hlgxFUFb<sj0SUT#03zzg3#c{*3&{.zaoU1aF}FNNyc.}.001bAlg]?ZFb<sb0Y*qYaoU15F}FNNy9iKr001bAlgxFUFb<sb05:(U3&{-4?tz!N01:WhFpERcaoK[vy9XsWFpERc?#<3C03zn10*Fp?Fb/Toaoj?t00ky!kMTgLkMTgLkMTg[04m)Gl4rRV2lj=a0%w=i2myO#k(-Fp&dM-k06{SQ4feX!H>g6R5rqo>Fb*8/0ZD/L0ZD/L0ZE>deDu4^1POM80%w#tlc$BsFb*dtFpJdIk(-qmL.aKr06{SD00<8ylgxXYFb*dtFpJdIk(-qmL.aKr06{VE00<8yaojXfiSGBK06{PC0i?ceFb?>nk(-!AL.aKr01PD6[q8TC01+9tFpER=04m]kF}FNNk)fjG2Odp=06{YF00><<k(-}CU.mTV06{PJ05:[yF}FNN4*@C70ZD/L0ZD/L0ZE>deDu4^1][V90%w=n3QG(hFQ^.iJduCe06{Pk0*Fp?Fb?>oiSGA@3QIN+FQ^.iJduCe06{Pk0*Fp?Fb?>piSGA@3QJZcFQ^.iJduCe06{Pk0*Fp?Fb?>qiSGA@3QGr2FQ^.iJduCe06{Pk0*Fp?Fb?>riSGA@3QIN=FQ^.iJduCe06{Pk0*Fp?Fb?>siSGA@3M]Bn06g8=k(:gJiSMyqGmA}/06{Py0*Fp?Fb*8/lf[h]Fb*dhFpJdI0ZG3KeDA2dGmA}<4feV]k(-}[email protected]*2UlgP[:Fb*dtFpJdIk(:gKiSO8>GmA}j3QKYFFQ^.iJduCe06{PJ06gbrGOa^P4*$W+I?cxU5rqo>Fb*8/lbnzfFb*dvFpJdI4*$X)I?cxU5rqo>Fb*8/l7<f/Fb*dvFpJdI3K-Qe0rN-}FpJf206#bqyA-:7FpJf206{PJ%nS97huB1E070TnSS+oZ2TFCR>ffj}huBpM06{Py0Ut{eFpJdIk(:gJiSO8>GmA}/06{Py0]eDYFb*X(k{f]d?#TEzFpJdIaPSX=k[E=N04!f]huA>306}rlaoi$[a#PG5aoiI+huA>303zm[03Bf31rWW!04v%{hV<sK}UkO>03zmMFQ&o300kzd04!f[mgxk.03zm<0WGYa^eeAB072y[GmA}A06@OVlc69sIgybb02!c6aoi!>fG60F}*%s#k(-2cc&#j-0(T$/Fb?>naoi!>eh^NJ}*%s#aoi$[aS{+p03TYf5sm]$Fb/%106#bqy9XsWFpERcYA53lE)H(0aPIQf0ZE>d4feW<aPIQf0ZE>d4feW5aPIQf0ZE>dl5U?m4feY-EJXW)kM:m]07vs$aojY?F}FNNyc.?T0STtyk{Qg*01n&n3L9Q/073bKF}9&ok(-!A03znc5nAu*3&*Uyaoj.6F}FNNyc.?X001bwlgxFUFb<sI05:(UaojXoy9rM=01feS0715DGmA@pk(-}C03zncU.mTV0bs!1huA>306}3daPI]J3K:#R01+DDFpER3kP*a%4fdHKk)8iK0bs!3Bv1&{FQ^-nc&%wWRgs8D06{Pc0xHk9}*%s#k(-2ciSNz3F}9?jOpDcu01PD606{Sz0]eDYFb?[mHL79Sl8oo*Fb?)?01+0qFpERraos+gBryM#k(#c]&jat*0br[-01+#SFpER3kMThp04!h{}*%s#a{5>!pyNp&06{Sz0[q)QFb?>nl7!lp0)(QMFb/#U3J-No0W4Fq4feV]l7!lp0)(QMFb?>nk(-!A!p-E801n(o0ZG3KeDB5)F}9?B0W4Ir4feV]k(@}C!p-E806{PJKo4lv^1E4401n(o0ZE>faotmE06{PJ12ZkgGOa^Pk(:ij0x72aGOa^P3&{-4@RIa}01:WhFpERck(-2diSNC4F}9?!03zn50l>s(Fb/#Rv/Wf>by>q{Fb?)Z18x7Xb.gz}Fb?>nk(-Fp79S=u0fz!+Fb?>nk(-qmN1x%v06{T2huGm$GmA}6kTtx40gXT[Fb*2Uk(-FpU.mTV06{T94fcC{aos^S0c7rN07NE#k(:gJc<3=eGmA}/0CS!VhuHmsGmA}A0yn?r4fn=e}*:g%5p/pYFb?>nk(-!AW1K6Z03znd<Bz=hZZJd6wfp>rFDO4nu)2Cn7=zCqaoj:EFpJf=0xg6@aojXeiSJRP?#B]30ZD&Maos^^0.9R1aojZ=0brRSyc.?T0STtzk)g{C0sO@o3M]Bn?#EHT?#TEyFpJdI8w5f:FpERhM4jyn01n(ok(:gJhuHmsGmA}/0UyJBFpER*4fc%cFpJdI3J-NV04!hvF}FNN4feV]eDBBRGmA}C0yu.^Ayyrpk(-2dl4rSg0n8%SFb/@UkTtw#0)(QMFb*2U0ZG3L5r.M]Fb&1E06{Pd0rLH/kMThp04!hPGOa^P4fcF}aos+ZmHYC3kP*7[Z>dh?0br[-07vs%aojZ=0brRRlc/TF5sOc1Fb*X)lbXwcFb<so001bweDxfG4fdHKlb!CdFb<so001bweDB90mHYCcaos+py9rP^01feokTtw#0>r]oFb&1E03znc04m]kF}FNNk(:zk0-hgE{<^>{aojZO0br6@FpJdIk(-qmL.aKr03RCj4fN^O5r}Y}Fb/#X3QB+U0xHj[GOa^P3<c>W0ysIMGmA@p5r}Y}Fb/#V3QB+U0x71{GOa^Pk(:gJiSN9KGmA}g0sGEdFpJdIk(-FpKB&an06{WamgxkdN$c3t01+SIFpERhN$c3t01+SIFpERc0ZD/Lk(-FpOpVxz07vs%k(}QXFpJdImgxneNsG*r01n(ok(-Fp/O1)c03RCj4feV]aos=Tyb#vEGOa^P3QB+U04m]I}*%s#l4rR[0x71X}*%s#k(-Fp&dM-k03IyBkP*7p06{PJ04m]E}*%s#k(>Z^7&QV1huG&OF}9?!03zqd0^3-z.gvapya6b-k)q6.0<8oJFb*X[lh{$9k(<E+06#gvPADwrC0MdG4fdHKk(#c]&j%[]0br[-03RCfDUKV7k[FcUl4$5H2TGd<0t6)lFpERck(:gJc<3^MF}9?!E}*edhuHn.F}9?5kP*7p06{PJ04m]M}*%s#k(>Z^kxd>FhuHbWF}9?!03zqd0^2Q!leYzbFb<sj0SUH&y=hv4}*%s#aoB>e0Dyyam?2Cv0ytUPFQ^-nc&%xmGnbskk]@q[5qbH-Fb/%y06{Pk0>wbVFb?(+y9AWAc)eKfhuHz=F}9?5kMThp04!h{}*%s#k)H3(06{Pp0l$y)Fb?[n0DyyhnEUXdl4[@ZFb*dhFpJdIk(%sNk(?K-FpJdI3J-NV04m]}GOa^Pa]%$gndtL+03zqdD$<&ahuIlUGmA}A0sY2uOpDcu01h9dEJXZ[kM:m]0yWB#0ZE>el9M2{Fb<sj0STzCmgxkt0yseEGmA@pa{e}&eDt=p0CS!YiSGd50ZM&S4fdHNlh{$9k[#)003zwf06g8Waos^qGOa^Py9AZ40XBxLk(>Z^193v401f[Ik[4GK0sO@o3QB+UP[SOf0tCP20ZG3Kc<4+GGmA}C0yl-S4fcC{k(-qm!p-E803RIh0zr>4k(-5faos+daoum20#&x=0ZD&MaoB?omHYw:03IvBkMTg[0ym2Z4fdHLk(>Zz0T]braoAU^aoB>e0Dxj.lh{$95s[u4Fb*X]5t1A5Fb*X)k(>Zz0sO@o3KYl2aP>1gc<4+GGmA}C0ytT)yc!G[aoumz04m]#GOa^P8ZbtI@!DbR03IHFkP*d{3pUEbk(-5eao-[&13=]Maos+mm?2Cv1WJf7aQ5$<k(>Zz0$kksaoJ.!aoBa{03zyQO}8uw03zte3tHZ=aos+ey9rP^01fexaojXciSJLg06{PC0m7-&06{PC0l$V?06{PC0l>Qi03zqTaorO!k(%H{aP>1gaQe0k13^$kk)*6<0yl-f0u.Oj0DYH*k((0H1WJbi0S$W?kP*a]2$CB8ao>ajy9r=&0T*aPlh{$9aoB>e0DwWwFpJdIaojZ=0brRRlc/TFaojZM18n}UlcPHD5taG6Fb*X{aos=Ty9A)904!gUk(-2f5tjM7Fb*X}ao%1?eDB90k(-2f5tjM7Fb*X{aorO+eDB5#k(-2f5tjM7Fb*X}aorO+eDB2$k(-2f5tjM7Fb*X)k($^A0u.Cf0CS+V3&*Uy3QG<Pk(-qm^1E4403RCVaos^$ERIdGc<4[KGmA}/0.aaL0ZV*vGmA}B2TFCl1{mak20&O=4fw/@aPSX&k((6K1vi6eaQ5$]aP?*i0ZE>ek[=-$03zLk0CS+-ao>ajy9r=&0T*aMeDt+[072Jyy9iHx=Jv]8071)jy9iHx+(.X(PmzDx03zy!0yqiIa{Pj<eDxfA03zsOPN.My03zB/2oT0#0m7:k03zsOPN.My03zy!0u.v]0l$Wj03zsOPN.My03zB/0u.v]0l>Qi03zsOPN.My03zqd0+@>VaoK[py9rV/01fexaojXciSJLg06{PC0m7-&06{PC0l$V?06{PC0l>Qi03INHkP*p$3pUE9k(&bfao$gkBrQ/M0DGs^k(-5f13=]MaoB?nm?2Cv2sex9aQnzS3M]Wu@@E9Z0ZV?!As!W>FpERx072Jyy9iHx=Jv]8071)jy9iHx+(.X(PmzDx03zv^0yqiIa{x7?eDxfA06{[email protected]!1T0^%0m7:k06{[email protected]^0u.v]0l$Wj06{[email protected]!0u.v]0l>Qi06{[email protected]+@>VaoB?fy9rS!01fexk(:gLi@{3YZ<WBc0ZD&Maos[u0rLIe0yr@yGmA@pc&%xm0y)O0l7)H]Fb*X)l9#q$Fb<so002p!BryPIWs<f.0bs7=06{Zek)P:Zk]pZBlaqJ1Fb<so002p!Bv0[Dyc?RpAx$Zk0t6<kFpERcaos+py9rP^01ff2p:2<904!ieGOa^Plh{$9k(<F01P}0>kP*7p06%B80rUN*kP*7p06{Pd0ylYe0S>Q?kP*7[Ko4/W0rLIe0yql!GmA@pc&%xm0y)O0aos=}FReEMy9A:511jiJl4rR[1u3qYaos=)FReEMy9A*71UxYOk(>Z^jA9sY00kzd1pUtjkMTg[0yrocGmA@pa{oE$01G5h00iJJ1vi2G001bxl7&^YFb<sd1rW*}0SUH!yc.#va{o!903zwf04m]w=vQMDl5<aI0bK%U>dxTQy9A*E7<ngVA6T?ChuA>A03zC60?^?<Fb*X(aoTO7kTAV<FpERx071y2y7L@DFpERd0sH1Mk(<1D06{PJ04m]w=vQMDl5<aI0bK%U>dxTQy9A^s0?^?<Fb*X]aoT$EC0NJ}l4TP3lh{$9huA<^0ZE>el7JNVFb<so000Ddaos=[FReEMy9A:511:GMk(>Z^3ue3a00ky!kMTgLkMTgLkP*7[PN?-C0br[-06#9H4G=.k0@@YK0yqJ)GmA@paP&bP3M]HpbY2=1FReEMy9rWB0u?NO0$cjMk{QnjH>ghe0brUVk(&bi3<3!V0ZO8Fl4<\u002FwFb<sc0$dzAaP@e}10vW]0STtCybMa[aos=YFReEMy9A:511jiJa{gb?0u.FgIVDu/a{gaiaoK[gn/GU&03zqdH>ghe0brXWaoK1[03RIhIVB}5l5L+m8ZkwI0u.Fg0zjp?0SSP]04!i6GOa^P4fdHKl4<\u002FwFb<sj0STzDk(-qm/.ZnJ06{Pk0){*@Fb*+@ydX{naos=!FReEMya6b-aoMv31v@$4aos=:FReEMya6b-a{gahc<5i3F}9?!04m]#}*%s#a{qTM4fdHKl6cUIFb<sj0STtBy9iTB25lWr06{PJauxIPGOa^P3M]EobX!F6aoB?fy9rS!01ff2070p:i@{3Y[o#IY13=]Maoq]KlgB=6Fb*.[k(-5f13=]MaoB?mm?2C:FpwZy0ZD&Maos[u0u.ze@qqd%0br[-03RFg2Yy<*0ZD/LaoB>707)X2aoK[kndtOck(-5fk(-5g0ZD/L0ZE>elgB/7Fb<sj0SSYi009cek}0(Uk]p:D3&{-4arZ?M5fR8.k(:izH5<vp6HyVoFQ^.y0yuwQF}9&oc&%xmD$<=8lhpwfFb<sj0SUJlyc-a>2P%f>13%Z5k(?KGFpJdI3M]Eo5nAu?3&*Uyk(-5fk(-5gk(-5hk(-5i0ZD/L0ZD/L0ZG3Kc<5u7F}9?h1oOY90r-=@04!h&GOa^Pk)z6&4SBYsof&P2aP>1waP$7xaQ5nR3QB+v0)34EFb*+]k(:zv1AU^<aos[%1AU^&k(-Fp+.gR006{*7k[m<12tmt-BrH.{0T?pFk{eC[eDB4GGmA}/25lBlA6T.48ZbwJ5fRfx0WdTO0sIf[aP>1:k{eC[eDB7HGmA}/25lBlA6T.48ZbwJ5fRe:k(-5e0ZG3Kc<4+GGmA}C2sewY4feV]aPSX<aP.Zg0ZD/L0ZG3Kc<4[KGmA}i1onM90S@/@03Iwe03zIZaP-5O3QB+o0ZM/e2wUE-3<3/503Iy^2o:9R0sIf[aP:}faPR%p070p:l9{+X04!i6GOa^Pa{QysAx%.28:Qe6ao@&E0tCP20ZD/L0ZD/Lk(-qmZ>vt<01Gbi0rJua3QHD5FQ^.^04m]}}*%s#aoDpz04m]#}*%s#aoujy5j3<I1T0}lZYkFVk((0qF}ex401n@ql7(8CFb?>nc<4=)F}9?z0+$13c<4]}F}9?z0CT[ik[CdxaoU0C03zwf0DF:6FpJdI3<3/5PU=ng06{Pk0){*@Fb*X[yc.?F0[va0Fb*X)yc-y%5fIc01vo*6aoK[gAU9?MFpERd0sIgoaQ4{j0ZD/L0ZD/Lk(-qm&qnaR03RKQ1oXY90S@/@0WdWP0$dyaaQ7eXaPT>eaP@hP3QB?q0ylYe1vi2h1Q>ztaoJ+&3QHD5FQ^.^04m]}}*%s#aoDpz04m]#}*%s#aoujy5j3<I1WK?dZYkFWk((0qF}ex401e&[0ZD/L0ZD/L0ZG3Kc<5u7F}9?h1owMa00AVhkMTgLkTtw#0(fFwFb*+]l4rRV0@@u62mA/$l7[MC0tE?)>7e3.k(-qm^eeAB06$<Ak(-qm!CB&F06{(R2TGO02TMlak(?KGFpJdIl7)v>Fb?>nc<4=)F}9?!Ab4Vsc<4]}F}9?!2TF.Z7^OA[ZYlU35q2B.Fb/#Y3QB+UP:iZX6HwzOFQ^.^04m]}}*%s#l33^b04m]#}*%s#k[mS}5j3<[c{W&0ZYlUb5q2B.Fb/#X3QB+UP:iZX6HwzOFQ^.^04m]}}*%s#k)Ri>04m]#}*%s#k[W]#2TF.Z5j3pZZYlU35q2B.Fb?)d>7e3.k(-qm^eeAB06{)9k(-qm!CB&F06}Jrk)P:Zk[Dr/lbiE^0t6<kFpERd0$be}0ZD/Lk(-qmZ>vt<03RCfE}/C}009c93QB+UP:iZX6HwzOFQ^.^04m]}}*%s#k(-qm!CB&F06$<Ak)P:Zk[DrZlbiE^1RuooFpER=PYQ/Q06{Pk0){*@Fb?>nc<4]}F}9?!Ab4VAk)P:/k)P=(06{=1F}ex401n#rk(:iA2S&53l7)v>Fb?>nc<4=)F}9?!Bzs8wc<4]}F}9?!B80#Lk[Dsgk(:i^06{R%F}ex401n@qk(:iA2S&53l7)v>Fb?>nc<4=)F}9?!CXPIAc<4]}F}9?!2X(Thk)P+0k)P=(06{R%F}ex4070puFQ^.^04m]}}*%s#l2ZN804m]#}*%s#k)Ri>2TF.Z7^OA[ZYlU35q2B.Fb/#V3J-M{kMThp04m]:GOa^Pa]%#Vy7psC0rJAjk(:iA2S&53l7)v>Fb?>nc<4=)F}9?!2X(T9c<4]}F}9?!CXPIIk)P:/k(:i^06{=1F}ex4070puFQ^.^04m]}}*%s#k)Ri>04m]#}*%s#l2ZN82TF.Z5j3N/ZYlU75q2B.Fb/#W3QB+UP:iZX6HwzOFQ^.^04m]}}*%s#k[dM{04m]#}*%s#l33^b5j3<[c{W&0ZYlU55q2B.Fb/#V3QB+UP:iZX6HwzOFQ^.^04m]}}*%s#k[E=%04m]#}*%s#k)Ri>2TF.Zavco0ZYlU55q2B.Fb?)d>7e3.k(-qm^eeAB06}Dpk(-qm!CB&F06{)9k)P:Zk]q([lbiE^0$Z6mFpERd0sF@]0ZD/Lk(-qmZ>vt<03RCfE}/C}009c73QB+UP:iZX6HwzOFQ^.^04m]}}*%s#k[vY@04m]#}*%s#k)P:Zk{eD0lbiE^0$Z6mFpER=PYQ/Q06{Pk0){*@Fb?>Kyc.?F0[va0Fb?>vk)P:[k)P=(06{X#F}ex401n]pk(:iA2S&53l7)v>Fb?>nc<4=)F}9?!4qFfec<4]}F}9?!A+W(Kk[Dsgk(:i^06{X#F}ex401n(ok(:iA2S&53l7)v>Fb?>nc<4=)F}9?!04m]#}*%s#l3v0e2TF.Z5j3pZZYlU75q2B.Fb?)d>7e3.k(-qm^eeAB06{Pk0[va0Fb?(Myc-a>2TG1/2TMlak)m*KFpJdI3QB+v0(fFwFb*.[3J-M{kMTgLkMTg[0yqiI4G=Xi0T5(%06{Pp0k%LyFb?>oy9AWt0k%LyFb*X)lh{$9k)6Q^13(]M0Yya}GOa^Pk(:gJiSN9KGmA}g0$dx{k(-Fp-dS+[06{T2a]%.8-dS+[03zqd@@Ea914J!4k(:gMhuHWEGmA}/06{PC0k%LyFb/#U3QB+U04!h?GOa^Pk(>ZA0xHk0GOa^Paos!d0Dyyhm?2C:06{Py0(fFwFb?>nk(-}C-dS+[01n(ol4Y5=Fb?>n5p]vZFb*X(leR-TaojZN18nyoFpJdIaoi$[u)k[104!h%10O6-OQ=lv06{-T4fdHTk)hoN0yl*daQYz0k)hoN0ZM{eaQ/E]k)RGO4iLZr2Y.6#aojXwy9s9g06}fhaRl{taP?*ik(-qmY.^qh06#Q*<[email protected]$X0ZE>gk)fW!06{Pd0ylYd0Yya)}*%s#0ZD/LaoB&VFpGR0mgxk.03zteJM*F:y^D$vYw<0da]%O6Y.^qh03zqdFpJefAsz}m0u?EKaorO{apO)uFpJdI3M]^x3tZ*>yc!UJGmA@pk(%7E01n]pap*^ShV-$B03Iwe03zteJM*F:y^D$vYw<0da{ph>+&F?vleQ?p&@:3u1WOc(<[email protected]+l5<aI0bK%U>dxTQy9A<FJM*F:y^D$vYw<0da{Z7dY.^qh03z*}2TGqJk)86I2TFGaap7nXAV+MLFpJdQAt{8ahuA>306{Py0STtyapGv]k]s=h3uf-72Sq.!aoiI(aoT$EC0MEOy9A^s0TG[Gao$gHC0MjHa{74hy9iNzD#Ztkl4BGo2YQ!c1Vuz<lezr^Fb*X(5p]vZFb/Wp0ZD/Laos=U1v-?2aos!2H>yiTy9AZc0SSVgaos!aH>yiTyc.?T0STtAk]IS.03zqd[q8ZE0brRXhuA>30yu7dGmA@pao:U803zqd>.K>w0brRVk)?A^0STtzlf9&OFb<sb2TF/lhuA>30ytU1GmA@pk(-!A06{PJ04m{f}*%s#l5<aI0bK%U>dxTQy9AZq0{6lgFb*X)lhlm*Fb<sb0ZNVDk(>ZU0SSPJ13(%5aP&bO3M]EoazJ523&*Uy3QGq<aPRWg0ZE>e4feXAD)5H(kM:m]0yWB#0ZE>elg*a*Fb<sj0STzCk(<H=06{PJPOrFe0tE*1aoB?fACE&]AuLGd0yuTxGmA@pc&%w(0%gZ?kP*7[{(6&Q0br[-03RLi0DwLGaoS!*yc-zHk)Q180T]8qaoT$jz:+/J3QHCuF}9?z0yt!9GmA@pc&%xm3t*)^lfKnWFb<sj0SUH[z9XB[2TFCk1WNUtaoK[hAV+Db0VJr+k)hiJ0W4RiFb@mYk((0qF}ex401f[Ik{f[=0sO@o3QB+v0<EoeFb*.[0ZD/L0ZD/L0ZD/Lk(-qmTB=7P03RFg0z0U1aos=RAx%Q}4feV]aoB&Ny9AZq0<40aFb*X[4fdHKaP.Zgaos=Ty7psC0S@Gik(@hhk(:gLhuHamGmA}g0sIf{aP-+!k(%K=0$be}l4w$EL7n7k07vs%k(-qmSdGUL03RCf0.J[6k(-2dk(>ZU0&QZ6Fb/#V3J-NVZYj}eFpJdImgxk.04m]EF}FNNa]%$gndtR^03zqdE}*>ySdGUL01n]p0ZG3]5r.M]Fb&1E06{Pp0hLj0Fb*2Wk(:gKiSL$cGmA}g0T/5{k[BP<FpJdImgxk.04!hDF}FNNmgxq:06{PC0hLj0Fb/#V3J-NV0t7AAFpER*4fcC{k(-FpQ>jkH01w]fkTtw#0&ja[Fb?>nc<3u0GmA}C0y^H#k(-2dhuGY1F}9?f1pEG}k)f7EQ%sNx01n@q0ZG3Kc<35[GmA}/04m]EF}FNNa]$dx06{Pc0x71LF}FNN3<c(606#8)0?+c$Fb/#V3M]G]0yl+#L7n7k07vs#5sF60Fb?>nc<3S8GmA}B0sP2qk(:gJiSLX4GmA}/06{Py0<EoeFb/#V3M]G]0sIf[aP:}faQn6l0ZD/Laoq@P0@@x60T?o]c<3G4GmA}B2mHRvl68ak04m]IF}FNNyAS]<ao$h]0u.RkKo4@)aP?^h13^$laPRTfaoB<40y)O0k(:i^<n.mx6HyVoFQ^.^03zIj2TF.Z5j3pZZYlU35q2B.Fb?)[JdDGVl6}V}2seRY2TG1/071y2k)4WIFpJdIleWYMFb?>nao$h*0CS!Wk)P:Zk[DrZlbiE^1RuooFpER=&eAkq06#$MaoB?mk)P:/k(:i^06{&3F}ex406{(l0sP2q0ZD&MaoJ.!mHYwv0W4IfV)liBFpJdIaos+ey9rP^01feS0ZM<4aP-5L3KW2313^$fl6}Wx4fn=MJdDGVaorO&k)P:Zk]q(/lbiE^0t6<kFpER=&eAkq03zp+0ZN8T2TGp[071y2k)m*KFpJdIaos+ly9rP^01ff22Q6iJkMTg[0yqIxm?2C:070rk0xQq@k)FLlk(-5f13=]MaoB?im?2C:2o:al03IyCkMTg[0ZM@V4feV]l4K:>l7%2lk(-qmPN}/D02[026HyVoFQ^.^GAih2k})3$0ymn.5j3pZfHrFOk(?KGFpJdIk(:iAH5<O>H5<Nuc<35[GmA}/0y!1&0tE&TJdDGVl4/mY2slAhy9AZB5j3<[5j50oZYlU35q2B.Fb?>nl7%2ll4K:>k(-qmPN}/D06{VQ8-[6mleWYMFb?(*0u.Rk?#EHo13)F:5j4B8fHrFOk(?KGFpJdIk(:iAH5<O>H5<Nuc<35[GmA}/14Bj>0tE&TJdDGVl4/mY2sna+y9A^D5j3<[fHmxUZYlU35q2B.Fb?>nl4K:>l7%2lk(-qmQ%sNx02[026HyVoFQ^.^<nZq6k[Dr[k(:i^071y2k(?KGFpJdIk(:iAH5<O>H5<Nuc<3i&F}9?!0y!1&0tE&TJdDGVlf51*0ZNw-5j3<[ZYlWo06{R%F}ex406{PJP[SOlFRBg>04m]A=vQMDk(%H{i@{3Y&eAkq072VCaoK[vk[Ds8lbiE^ZYlU35q2B.Fb?>nl7%2ll4K:>k(-qmQ%sNx06{YR8-[6mleWYMFb?)@03zzg5j3<[fHrFOlbiE^0t6<kFpER=06#c&0xQq@k[Dr<k(-FpQ>jkH02)9-k(-qmSdGUL06{Z6a{gany9A^DEin+XEqf@fk(-qmN1x%v06}rrk)Q4a0yl=M01+&OFpERx0ZM)da{Gd)k)5kkaos+fk(}Q>FpJdIaoAU/k)RiH13}tT2siYKa{o1?k(%sP5tsS8Fb*X@aoK[iaoS!/k(%sR5tsS8Fb?>nl7%2li@{3r2slc9y9r:D03IyCkMTg[0ZN8Z4fdHQlbiFnaP$7haQn9mao$gsmHYUD1T14o19tZ/y9rT30ymlhaP>1gaPRTf13^$flbrK<4fmNNaoS!/yc.}kK:}$j03zqd4@9i*k)4WXFpJdIaos+ey9rP^01feS2sex9aQnzQ3KYl2aPRWg0ZE>ek)P%&03zte0CS+V3<3/50WdTEkMTg[0yl=S4fdHLk(%H+0sIf}aP?^haos+fm?2Cv0ZM&R4fl?rkP*7[0y)O0aoB?gmHYwak)6yMaoB?hmJjR[aos+emJiGM3QHFv0u?NEkP*7[04!h{}*%s#m?2Cv0ZM/r0l$y)Fb&7G070rk0ym>{04m]oF}FNNk]BSc3qhrY1pEG}aoT+b6D^A00ZNtt1T0[k13([#P[4Vz03zqd0CS+U3&*Uy3QB+UFRBg!0tE*1l7%2ll4K:>aoB?ec<35[GmA}>8-[6mk[Cdtl4rR[13(]f2setQ1vi20P[4Vz06}ht13(]f2setQ1WJFbP[4Vz06}ku13(]f2setQ1vi82P[4Vz06}es0ylYd2setQ1vie4P[4Vz06}ht0ylYd2setQ1WJz9P[4Vz06}ku0ylYd2setQ1vik6P[4Vz03zqd18n$WaoB?fy9rS!01ff206#f<0xQq@k(:iAH5<O>H5&y#k(-qmQ%sNx07E[?0tE*daos=Ty9A:C03zIj06{-N01+&OFpER=4iL:s03zIj06{=O3j@[YFpER=4J><t03zIj06{-N0Uz5QFpER=3)kNp03zIj06{-N1q4nSFpER=4iLWq03zIj06{=O2OrXWFpER=4J>^r03zIj06{-N1}WFUFpERx0yl*5aPSX!k(>Zz0T]5p3QJZfFQ^.^03zH?0CS!Wk)P:Zk]q(/lbiE^2[RYsFpER=&eAkq06#$MaoB?mk)P:[k(:i^06}59F}ex403zqd2X>H-3&*Uyk(:g]i@{3Y03IvBkMTg[0ymz&4feV]aPRWg0ZE>el7!lG4feV]aP:}paPRWg0ZE>e4feV]aP:}paPRWg0ZE>e4feX&G[B)QaQgjjaQ4{j13^$jk)P{?0u.Li1zP7+k(-5fk(-5e13=]MaoB&V0.iX1ao>amy9r^71WJf7aQ5nQ3M]EoL(URy0%gZ?kP*j@04!h{}*%s#m?2Cv0ylYq0l$y)Fb&7G06{Pk0*[N(Fb?>-A6UgfaP@hO3QB!V0W4W&0+%a+02)6:3M]V%10vZTK:}$j03zteazJ53aos+ey9rP^01fexk(:iAH5<vp6Hrc[5<VT^01+(PFpER=3{+K)1vie4Qjv=A06}5W5<VW!3j@}ZFpER=4m7T[1WJz9Qjv=A06}8X5<VT^0Uz8RFpER=4Ny:]1vik6Qjv=A06}eZ5<VT^01+(PFpER=5j3%}1vie4Qjv=A06}h.5<VW!3j@}ZFpER=5Kv6@1WJz9Qjv=A06}k-5<VT^0Uz8RFpER=5<Wf%1vik6Qjv=A00kzK04m]wF}FNNl4quk06{PJP[SOf0tE&TJdDGVl4/n8Ko4SUk[DrZc<35[GmA}/1AV{-lbiE^0t6<kFpERc0ZG3Kc<3i&F}9?!1v-?2k(:iAH5<vp6HyVoFQ^.^<n.Gc0ymn.5j3pA0&ja[Fb?>rBv0XxlbiE^0t6<kFpERck(:izH5<vp6HyVoFQ^.^5j8xUk)P:Zk]q)0k)P:Rc<4iYF}9?B0yl-Q8Z2eE0zjp%c{+SGk(?KGFpJdIleWYMFb?>Ll68ak2TF.Z7^OZ02TFCs0(jX+Fb*+]k)6N}aos+gn/H5AlbiE^0t6<kFpER=&eAkq06}.[Ko4SMk)P:[k[Dr/k(-qm.25.l03RCf1X6BN0yl(Y8:L(rZYlU35q2B.Fb?)[JdDGVk}23X0yl#S2TGp[5j3N/04m]:}*%s#a]%$mmJiDJk)H13k}24m06{R%F}ex4072L4FQ^.^fHp^3k)P:Zk]q)0k)P:Rc<4iYF}9?B0ym2Y8Z2eE2$=d5c{+SGk(?KGFpJdIleWYMFb?>{l68ak2TF.Z7^OZ02TFCs0(jX+Fb*+]k){d3aos+on/H5AlbiE^0t6<kFpER=&eAkq06}eZMJowTk)P:[k[Dr/k(-qm.25.l03RCf4mRoV0yme!8:L(rZYlU35q2B.Fb?)[JdDGVk]q[O0yl#S2TGp[5j3N/04m]:}*%s#a]%$umJiDJk[uNbk}24m06{R%F}ex4072L4FQ^.^avhs{k)P:Zk]q)0k)P:Rc<4iYF}9?B0ymq!8Z2eE5Ls0dc{+SGk(?KGFpJdIleWYMFb?>-l6?Qr2TF.Z7^OZ02TFCs0(jX+Fb*+]k[=Zbaos+wn/H5AlbiE^0t6<kFpER=&eAkq06@q8MJowTk)P:[k[Dr/k(-qm.25.l03RCf6?fb+0ymC)8:L(rZYlU35q2B.Fb?)[[email protected]%0yl#S2TG1/2TFCs0(jX+Fb*+]k]i0fk]pZBk]rcik}24m06{R%F}ex4072L4FQ^.^.#J8/0yl#S2TG1/avi^yk(?KGFpJdIleWYMFb?)V06#?Ik)P:Zk]q)glbiE^0t6<kFpERx072Jyyc.?F0)7m<Fb*dQFpJdIaojZ=0bs*H06#>JlbrK!01+lxFpERx072Jyyc.?F0*[N(Fb?>$zXeW]FpERx072Jyyc!J]l74:taWDbuKBR>i00kzK04!hPGOa^Pmgxk.070rk0xQq@k(-5e0ZD/L13=]Maos^30y)O0lbiEz1WR79FQ^.^072Jyk)P:Zk[Dr[lbiE^0t6<kFpER=&eAkq06#$MleR-e2TF.Z5j3<[ZYlU55q2B.Fb?)[JdDGVk(:ib0yl#S2TG1/5ja8ik)m*KFpJdIk)FLoleWYMFb?)50yqIxk)P:Zk[Dr[lbiE^2m#GqFpER=FC>7I03Izf>kVUgk(-qm[CE(*06{W6a{Gg)0ZD&MaoBa{03RCj4fmNNk(<H=0rLH/kMTg[0ym5Z4fcC{aos+Mm?2C:fD*Pd0$cjLlh*<O4fn=g03IHO0T*aQk).oH2seOr1pLqsaos+BBu{:^aoS!(ao+7h@@WlLKaq+h03zzVaP@[&l4rR)0$cjMk(>Zz0T]5p3QB+n20&kq0}=zxFb&s*0x71?GOa^Paoq]Mk(-FpYO7]/06{T9mgxq:04m{r@doC0aPR#N3QJZfFQ^.y0ytSzk)P:Zk]q)0lbiE^0t6<kFpER=&eAkq03zqd>M0)Ok)P:[k[Dt$06{R%F}ex4072L4FQ^.y0yuhPk)P:Zk]q)0lbiE^0t6<kFpER=&eAkq03zqd{Y9O=k)P:[k[Dt$06{R%F}ex4072L4FQ^.y0yqkpk)P:Zk]q)0lbiE^0t6<kFpER=&eAkq03zqdHYG^Ek)P:[k[Dt$06{R%F}ex403zqd2X>H-3&*Uyk(:i3Fb}.j6HyVoFQ^.^Ko4T$0ymn.5j4B8fHkW!0*[N(Fb?>RA6TU28:KD&ZYlU35q2B.Fb?>nk(-qm[CE(*03RCf0CTH][CE(*06{Pp0k9#qFb&1E0sIf[aos+fybMd.@doC03QB+U04!f^iSLp]GmA}A071%ly9XsWFpERg3QB>q0ZS4Ky9A:C0$ZPBFpER=3)kTr0$ZPBFpERx0yqiIaPSX!k(>Zz0T]5p3M]Hp18o1Zl6Iyo0$ZPBFpERx13@EUk)4WXFpJdIaos=Ty9rQ20ZM<4aP-5L3KX6Tl68ak0$ZPBFpERx0yl:3aPR#K3KX6Tk)Y*Sk(.E/FpJdIaos+ey9rP^01feokP*7[]O!AM0brXVc&%w)13(@U4fdHLaoK]VybMa[aos^?JdVSXy9A:511jiJaos^{JdVSXya6b-y9A^s0STtzlfKnWFb<sd10vW]0STtzlgx?=Fb<sj0SV%V12ZhX0ZE>hlag&HleuMM4fdHMl8Pi64fdHMl8>q-4fl?V0ZM/A0SSPJ0ym&yaPR#K3KW23aos+py9A:d0STzEk(<H=03zm:1u3rraoiI=huCM#SRz0]03zncfLReIFpJdIaoJ.*c&%xmE}*>y06{Pk0){*@Fb*+@k)RiF0yl<6c&%w)1WNxFoBQ$A1rW>y4feV]c<4]}F}9?B1virdaos+lya6b-a{ynSyd]6paoS!<p7mgC03zt30W6!<}g9$}aojXIy7L@DFpER3kMTgLkP*7Q0SSYi009cek(:gJk(-qm.25.l03RLi0CS!Zk(-qm-qtdp03RT<1T14v8Z2nHE[gIp0(jX+Fb/#U3QB+U04m]&}*%s#k(>ZU0)7m<Fb/%113(]B0SSPJ0ymoiaPSX!k(>Zz0T]5p3J-No0yq*0GmA@pc&%xm0y)O0aos^8F}FNNyaPz=aP@[*l70mRFb<sj0STwBaos=)F}FNNya6b-aP?^h0ZD/L0ZE>el9L@[Fb<sj0SUJoy7psD0S@AgleX5WFb*X]aoB?mk)OOolh{$9k)x[D19tZ&l5kOdZYlU75q2B.Fb?)[MvTL^aoJ./k)RiH1WJzW2P%moFc53L06{=1F}ex4072LeFQ^.y13)ica{e}?k)P:ZaoT#^0ZTQ4k)E%MFpJdIleX5WFb*X]ao+4pk)OOol4x25ZYlU95q2B.Fb/#W3QJZpFQ^.y10vUh2TF.Z5j4AY1vr4*Ax%+38ZkzJ2Y.9)l4x25ZYlU55q2B.Fb?)[MvTL^aoJ./k)RiH2seRY2P%ppHYP(T06{X#F}ex4072LeFQ^.y13)ica{e}?k)P:ZaoT#X0ZTQ4k)4WIFpJdIleX5WFb*X]ao$grk)OOol5kOdZYlU55q2B.Fb/#V3QJZpFQ^.y10vUh2TF.s1vr4*Ax%!2k)8iM1vmLtlbiE^0t6<kFpER=&fF}A03zv^0ZN9ba{ymrk)OOol5kOdZYlU35q2B.Fb?)[MvTL^aoK[ny9A:50ZN8T2P%moFc53L06{X#F}ex4072LeFQ^.y10v+k2TF.s1vm?BlbiE^0$Z6mFpERd0sIiKMvTL^aoJ./k)P:Zk[Ds8aoU1g0Dyyeob/5Tl4x25ZYlU35q2B.Fb?)[MvTL^aoJ./k)RiH1WJzW2P%moHYP(T06{R%F}ex4072LeFQ^.y13)ica{e}?k)P:ZaoT$oAV$SLFc53L06{R%F}ex4072LeFQ^.y10v+k2TF.s1vm?BlbiE^0t6<kFpERcaos+Ny9rP^01feokMTgLkMTgLkMTgLkMTg[0yujbGmA@pc&%xmE}/C#009c61o!#m3QB+UP:iZX6HyVyFQ^.y0yuvfGmA@peDt=p1AU:!lg]?ZFb<so002p/Bu{E75j3pZZYlWo06{YM0u.ze{KX3F0bs7=02(G3FpJdI3<E89070p:i@{3Y&fF}A03zqd]N.ZC0bs7=06{:faos!3F}FNNyaPz=k)ho}5j3<[072JzlbiE^13(@g0yuEiGmA@peDt+&5q2B.Fb/#Y3QB+UP:iZX6HyVyFQ^.y0yuvfGmA@peDt=p1AU:!lg]?ZFb<so002p/Bu{E75j3pZ[bL+&06{YM0u.ze{KX3F0bs7=02(G3FpJdI3<l@7070p:i@{3Y&fF}A03zqd]N.ZC0bs7=06{:faos!3F}FNNyaPz=k)ho}5j3<[5j3pZZYlU5k(&8elhb$-Fb<so000@HF}ex401n@qk(:iA2S&53leX5WFb*X)lg/+YFb<so002p/BryPI][4*D0bs7=06{:fk[Dr[k{eC[lbiE^13(@g0yuEiGmA@peDt+&5q2B.Fb/#V3QB+UP:iZX6HyVyFQ^.y0yuvfGmA@peDt=p1AU:!lg]?ZFb<so002p/Bu{E75j50o071y2k)6yNaos!5F}FNNyaPz=8XvQKFpERd0sIf[l7[MC0tE&TMvTL^aos!2F}FNNyaPz=k)hoL0yuygGmA@peDt=p1AV{vk[DrZk[Dt$06{YM0u.ze{KX3F0bs7=02(G3FpJdI3M]Eo3#c{^3&*Uy0ZE>elgxFUFb<sj0STzCmgxkt0yuBhGmA@pa{e}&eDt=p0CS!YiSGcYkMTgLkMTg[0ZRrJ4Hh$m0S-r50r-=M1vr4*Ax$Tn4fu}u3M]Nr@@Ea99.3Ot3<3!V1Q$FP1vr4*Ax$To4fl?V13(]F001bxlhb$-Fb<sd0W4K@002rmB3P?DiSGc/aos+py9rP^01ffl00ky!kMThp04m]MF}FNN4G=Xj0rJS{06#XEhuG$iGmA}/06{Sz0<EoeFb?>nk(<1DOpVxz01PD606#XEhuG$iGmA}/06{YB0<EoeFb/@+Ru3X#E)B5.0[va0Fb*.]aojXcc<4=)F}9?!2X(Tpz8}T%aorO^k)Ri>5n-P)iSGcYkMTgLkMTgLkTtw#0]S%cFb*5Z0S@A61pDsNlh{$9mgxtw0u.CfE}?1A01PCW0ZV?!Ax%>64fvTMaoB?fyb#s{4*%GWeDt+{0yWB#aoiI+l4rSg000Jqaoi$[03RCf2$>ZcaoiI+k(>ZY000xmH6[1/E/.(304!hPGOa^P4feV]c<4+GGmA}/07)X2k(-qmZ>vt<01w]fkTtx40gXT[Fb*2Uk(-FpKB&an03Rze7<54XBS*+!kMTg[06}-Ea{7gx06{Pd13(@h06{PJ04!h}GOa^Pk(>ZA1uDLcGOa^Pk(:gJiSNDUGmA}/04!h&GOa^Pk(-Fp+.gR00ceIHk(&bek(-5gk(:gKhuI?lF}9?f0sF@]0ZE>ek[F384feV]aP$7hk(-Fp=v*?206{T2a{f>a=v*?206{PJ06gb8GOa^Pk(-Fp-E@>]06{Pp0l*aGFb<Q00ylYe1vi2N05:]p}*%s#3&{-403IFh06{PC0l{gHFb?>nk(-}C=v*?206{Se06{Pd0$khrk(-5d3J-M{kP*7[E[ydIk(&bjk(:gJeDB1FGmA}/0CTT}+.gR006{PJ06gb0GOa^PaoJ.?AZxZaAsz}m06{YB0]S%cFb/#U3J-No0ysH3Ayyrpk(-5ik(:gJeDA+yGmA}/0CTT}-E@>]06{PJ06gb7GOa^PaoJ.?AZxZaAsz}m03IIi06{VA0]S%cFb/#U3QB+U06gb7GOa^Pk(:gJiSNcLGmA}/0u?QO0ZD/L0ZD/L0ZE>d4feV]c<4]}F}9?B06}9fk[E(R20&kq0){*@Fb*+}k)7<\u002F5n-P)lh{$9aojXkyc-zFa{QBl0DwWwFpJdIa{pgpoap[A1vi5T4fmNOk)x^/0u.Cf@@E9Z20@m&As!W>FpERz1vin=4fmNOk(<B:0u.Ih21x45aoB>e0Dxp^ao$jj0DwWDFpJdI4fmNOao>di0DwWDFpJdI4fn-{aoK]Vy9A:r0){*@Fb/#U3J-No0.0K#k(-qm!CB&F03Rze4R!ovz6o9H04m]}}*%s#a{gauyc-zFa{77g0DxjZk)Ri>5n-P@lh{$95s[u4Fb*+@k)H3(0u.Ih0y^I0aoT$mmHYwv0ZV?!AuCDK@@E9JOQ=lv03RLi2tkHbaoT$hmHYwv1vikY4fmNMlh{$9a{o1[lh{$95tT&bFb*2VaoS!>lh{$95tT&bFb*2Vk(-2fk(>ZA12Zkc}*%s#3&{.U1Q$F#04m]#}*%s#aPK!dc<4=)F}9?A0$kksao+gy0sH1Jl4qGo0ZM/m0){*@Fb*+]k[4G]5n-M]aos+hyc-zFa{gdh0Dyy9c<4]}F}9?B1viMkk[E(S073R=As!W>FpERz0yl@-4fvTMk(<B:0W4If21x46ao+7h0DxjZlh{$95s[u4Fb*+]k)H3(0W4If0y^I1aos+jmHYzw13#}/AuClE@@E9-0t85SFpERe0W4Uj@@E9Z0t85SFpERe0W4Ri0CS+U3&{.U13)ugk[E(R1rW!j1zQjlz6x6F@@E9Z06{<8k[E(S1WSd?As!W>FpERz0yl@-4fmNLk(<B:0u.ze21x45aoU1g0Dxj=lh{$95s[u4Fb*+]k)H3(0u.ze0y^I0aos+jmHYwv13#}/AuCAJ@@E9-0t85SFpERe0u.Ih@@E9Z0t85SFpERe0u.wdE}*bc3QB+n0x72e}*%s#3QG^NaPT[e0u?BAkMThp04m]}}*%s#a{ynYndtLw1WOgIndtO=03Iwe0u?BJk(-Fp+>)0x03znRlh{$9k(-Fp=hi9y06{O@MW<Qp06{Pc0x72a}*%s#3QK^)aPT[e0u?BAkTtw#0[va0Fb*+%l3L{f06{Se06{Pd0u.LiI2*cR0sIf[eDB2(F}9?!04!h}}*%s#aoldx@@Ea901+GEFpER=03zq20[va0Fb/@+GARwUE<oF]FpER=[b^wH03)8BFpER=04!h}}*%s#a]%$iBu])U0l>s(Fb*+{yc.]yl8oi!Fb<sI0x6#V0ZD/L0ZD/L0ZE>faos+hBAeMal0[vp0S-u53M]Eof?8PNaos+vm?2L^1vi8P0t7DBFpER=1WJeP1Ru(FFpER=20&IX0UyMCFpER=2seOX1}V#GFpERd0$dx@k)fER5r?S{Fb/#V3QCs&3{:>8IHZkc06}h.4m74bIHZkc06{-N3paU6IHZkc06{=O3QB?9IHZkc06}2V1vi20IHZkc06}5W1WJh3IHZkc06{SK2seC6LyOgl06{YM1vie4LyOgl01n(oaojXQhuBdb078l!FpJdNhV<4CX+Q=a03zmMFQ&o306{Pd0rLH*kP*7[Ko4/W0rLIe0yql!GmA@pc&%wT03zqdPN?-C0bs!1huA>30yq/#GmA@pk[C{Q03zqdH>ghe0bs<0FpJf20YHeXaos=UFReEMyc)G4FpJdNhV-$40yrlbGmA@pl4x1#0rskyl6M}MFb<sI06phYaos^1FReEMyc.>Y001bxl70jQFb<sI0x6#V3<c>W0ym#CaPR#K3KYn6@d6p$5p/pYFb/%106{SD01ZmMk(-tn^eeAB05<@[aojXceDB2(F}9?Z01*sNk(-Fp=hi9y06g8)aojXQyc*TdGmA}/:n#{fFpJdI8xY2C04m]:}*%s#huC0z06{Pk0(T$/Fb?FebP)7M04m]&}*%s#huB<v06}fhleR!QGN!P602!c6k(-qm:B]g@07w^E:B]g@03znc[b^tIFpJf201gN-0E)xnaP.ZgaojXloap>z0yl#:4fdHKk)?AJ0bs/}HL79SyaPz=aP-2]0ZV?!AsonS0rEV{FpJf206}fia{ofwFpJdIaoT$giSGWk1vi2G01HaOk(-}C4iL^t06g8*aoAU*k[vYM1viJjaoT$ty9iTB3#cuCFpJdIaojXdBrQ=e0yl:da]@!?eDuq713([#PN.My03zte0DGv:aorO/eDun613([#PN.My03zs=0yl:ba]@!?eDuk513([#PN.My03zm:0u.H%01o$Lk(.E?FpJdIaoT$wy9XsWFpERc&@]z:kMTgLkMTgLkMTgLkMTgLkMTgLkMTgLkMTgLkMTgLkMTgLkMTgLkP*4p6-Xjm0S@Me1{Uzu3jvmK4I69.5!+@!aos+diSGd50ZM/E001bzk(-}C03zzg06g8W4*%GXk@}4b03zte06g8WaoK[fiSGd51vk7f000Jqaos+diSGd50ZO>d001bzk@}4b03zzg06g8W4*%G.ldC@@001bzldC@@001byldC@@001bxldC@@000JqaoU0W06g8WaoK{V06g8WaoB<U06g8Waos^T06g8W4*%GXk[2^O03zte4lsE?aoK[HiSGd51vj4?000Jqaos+riSGd50ZNtT001bzk]@5!03zzga36x44*%GXlfned001bylfwke001bzlfOwg001bAk(<1D01PCW0yt(GiSGd50ZU#HiSGd513(@G001bAk(<1D01PCW0yt(GiSGd50ZV2IiSGd513(@G001bAlhpHw000Jqaos^)06g8WaoB?fiSGd513#RXiSGd51vq+ZiSGc<3M]Eo0xHhXaoB?fiSGd513#UYiSGd51vq+ZiSGc<3M]Eo0xHhXaoB>806g8WaoK}706g8WaoU1906g8W4*%GXlcGr&001bylcPx<001bzlehD3001bAleqJ4000Jqaos^N06g8WaoB<P06g8WaoK{^06g8WaoU0/06g8W4*%GXk)fjG03zte1V=R-aoK[ziSGd51vi+-000Jqaos+jiSGd50ZN5L001bzk]8GY03zzg7DIJ@4*%GXk%vsf03ztej#@VzaoK[]iSGd51vkmk000Jqaos^{06g8WaoB<}06g8WaoK}c06g8WaoU1d06g8W4*%GXl5kL5001byl5tR6001bzl6}Wl001bAl74:m000Jqaos+diSGd50ZM&F001bzk(%7E03zzg13czZ3P[zPPOw5G03znc19tT/y9iKy19tT*yc-a>2P%gm19u<70c6a.k((c{}2yx]2xr4W0yl.$F}ex401gQ-leWYMFb*X(k)8iK0+@?Uk)8iK18pack)OOok)8iK1WJljlbiEy20&og5q2B.Fb/%c072L4FQ^.y06{Zeaos+gBu{f#2TFCk0ZM{glbiEy13(%d5q2B.Fb/$F0rAsM0ZE>el4qGo03znceJJ>ik(-2dyASZ306{T2aPI)o03Iy^0u?KDkM:m]13(@U4fmNMk(>Zz0W4Oh3t}0?3&*UyaojYSy9rZ50ZM&f0ZV?!At}jz0Dxp!aP?^h13^$hmgxnu1rW!Yaos+nz6x3E{5O$L0CT[Oyb#s{aoK]Vy9rW40WdNM01feS03zCWk(-}C01ioq0!iGoaP:%KF}FNNaP?^h13=]MaoB?im?2C:1r^*P0T/5{aoKg}06{Wamgxkt13}oGeDt+[07NE#aoK]SyaPz=aos}v0T*aMk[4GK10vUh0CS+V3&*UyaoB?inEErP0E)xnaPRTf13^$fld#rd4fmNLl8oo*Fb<sb03zqSeDt=i001bxk(>Zz0sO@o3KWu@HYNRTl7)/H3Xl$jbu58<BAz%ibwh4dvru}#bt@8{A=jlNxLz43wO(0@BAq)hby9<wEGgQgz*?Whl${ZLz/Pxq0b3C10b#:=zGHd7vpA}!x([R2q/uX%C(Q/:C(Rn<C(RYb0chTVy&1v%bxE*ryK2[YxN6O^zH3CmC(Rw-C(QM:0b=v([email protected])B-WR9wPI}[bu5J3Bo3o2z/6Dn0b=Z%0bMN}0c.<?Bo2-=Bo32%0b2>+0cz).Bo1)O06&?(0aZ1=cV/t%A+fboBo3o2z/6DnA@Z2{BAmB>x([y@oMa&+A@Zq}x(:n<x(mH60a{d&v}xYYCw?IjA@Zk(ze0(#A@Y(ZA@YY*y&sDp0b((TCw?wfwPv=&y***+xM4Y$wPv=>wOld4vr8uYwO=q=Bz?d(zVA:P07Q@cl#J61B-RnbayYnlazC.nwPzi?BzkVh0blrJq!p5)x(mMax(mTbx<>*2B7ol4wO}G*vqV6pcV5<8D2m2eyYF6&y?%8}x(4O=B98bjyYEKJy?%8}z/PQ[y&slc0aGwDyxeA{wNPuOnne5GxKL%}0aY!Ly&r}^y&si70ax.MDtdnf0b#<(x(mL-Byx03x(mL-l#lGoz!n#-w=LIyC4yU!vrMhZrDzZKra]&-wDldVwDi@[zE&/HwO+<{zdJYmz/64=Cw*@1y?iP.x>}nWBzbj=v}Yp*xjR6(BzkM4wDlT^v}tTmvr(r[0chTXz/Pv*vrcpezE--XvqYPQv@DHawb{yVwb{W{x()&#wN>^UwO2xLwmYm+wmYoKvpS)Gz/e])x<>*@xj2d!zF0Q6z6gcn0cz{+yHpN&y&0V)BywS{wPF$uwfrge0axzGuT[1<y?m9#vpB4:asgLvc1FbAwfrge0axzGuV{4aasgLvc1FbAwfrgeasgLvc1FbAwb{B:vpT7&xcqn7C4AYSc1G4Vc1FbAwfrgeasgLvc1E0:wmP4YzGGDgvpKy/vR/QpasgLvc1FbAwfrge0axzGuUaa^zfXe+c1FbAwfrge07x<]pH!G+A=k.ozE[3hxKL%[iV].V0cz{+yHpN&y&0V)BywS{wPF$Ws3Y.LaS@7w099]LzF%-pay]I3CvLq{AYLr?v/P{qnDqHZlJzyIB:=KPxK#10klb[CA+^(tz/fbJ0bVpi0bV>1x>6vcz!pRJkR@EWy*?Q2A^/Rvbx4EGe=Wbmw[DGA0ay7WC}G8jzE[2A0cz^%Bs)MiB-YkovRG{p0c@c$e=Z0bvrsa4x(mK3A=2lbx(v(w0crp6wI9%@wPzum0bMv!wI9$ax(4P]xjSW}zfW-^e=Yr&BAI2dy<vS=e=X^XB7GDnx(mMaB76l6e?O:RbxEKjwO+)#EK>FeA+eW3z/Nxexj=xi0aYU:B0gK4Aar/%wPG0{s.hT$099]LzF%-paARTjzGxJlx(v(iwnc6}v@#B6zxP14xK#370cr6@xcvm%xK#i}aPK(rzyoJGvpS)>wO#6@C%rCLlVm9-wnS=payO!>ayPe4zddJ$wft#dy?k*O07ggjcV*FtwmM/%zGGDgvpKy/vR/QuaPKtx05C+#g9DSLaPMOcx(mMaw]zZlvrb[1efG4Gy?j-6B07C.00000&Ym5t>@/1DFi9-h)(ZTJLSF<Bs33xZ*=tAn-5^@0qAs^TVn}%=(]LgE+r2X7?-p-qnJM[L=Ph4ax/#B@wJx!>brC(9Nk$rF7cIS$9xBf2OJM@Mr676WcQ4IgR-K>UWk[o/QDFOSvMBF?Ku9vwS5T?Tc{vRh>SeXzaVYP6Ye]#)ixWux[&lWIAxsd2}z!JQ1uDI.?8+Ppm)c?L3PXm/O&V]Lg=>WqCSL)9h9y{t<Viwwl]$wG<u0twZ=II@{=OPSIAp!rJYEduaWb(aRAaXSU@.{=GGxel{b-lO7^d<0^MmBev)6!(H=LIonJD?KVonf/x/Vj]o/-mO0xQnYt%ee/mlgzGMPUrGa3fD5//o3j(Pk7Dd()Ug=]?vefff7k8-[31z-[72YGc2)HDtFo[h*QIsVMJ.fG/yoM]+oFz-N<#{bJ9M-5N!$XJfY<:#GC4B#/Q6C%8cc(]t4CdlmCeEMWVh/e&%jbS#bcUr8Z:UShW-=P7$9SYHgX/e-)i5iG{)8:jl48AE&#*DtJpx/=p{PG8#LT#VK.2S@7!t@?@=K2)sw@w:&Twif+>t@@2^j#@VzdMWRgEMvDePGi5MgDCHoTuuK-<t^hupceBQGe@#jGGPqniY^rwrYQiXdM)+ii643tkS]8ELr5Wz?8LDnffodlkrw&B4(%W<KV-WAb@#2a}A1VSp^1^UrY{A..-v+$8A!62E)9&jV]Xl/BuGQ713uL-<uiFyQb@tP7chA}*b/om9Z6G6D{dJgC%hidC0k)a000000000000000000001onA42MK&83&*nc5c8Xg6Awak7YTKo8#]%saohxwbME/Ac&:kEec2UIfAq7MgYNHQh#&{UjobuYkMy=:l&Wh!nb@R&oAk4)pYHE}q#=)#so5s3tMs:7u&Qfbwb(PfI#S?TKPkvYMh*)+N/AA*PA1@(R2QF}Sq([#T]FC4VJ6$9WG3pcXC#QfY-n3jZw[ll-q/(r:]zzw=J0}B!bPEG/-h0L?2EAP&q-&T<]twY(I{[+[C&K?{w+f[@qV/$0S-o32ls/83JQkc4/(Ug69e7k7xBHo8VY{s9@#uwblm=AcJKhEd//RIf984Mf-.mOgYWNRhur^TiSPiXjPLJ.oL<ci&&61P(#5&6T]FC4002m=0%f6500000aohxw0MA(2?p@wJkMy=:0000000000000000000000000S!#Q&lA6gHS!vyLQ5Ue[002m=1oFM>00000aohxw0zC{V1YL=8ZYjum0000000000000000000000000S!#Q&lA6gHS!vyFQ5Ue[00WC*xfhkPQzR3cDqN9BY*Lp^1YL+T5=.[i0000000000000000000000000)27kllDFC{Tvf8Hwb(Pf00bX8LUa!:rhz3ib2IsnG*<?N-Op+1000000000000000000000000000000S!#RjlA3].SWaR9c&:kE00=ae<vSoHrhz3gb2IrcNmdlEmmmBZ000000000000000000000000000000S!#RjlA3].(lJy{c&:kE00#mgGGq$g6S0lAb1+?jP*Y8MmmmaQ000000000000000000000000000000TzE9n)5)uVd-yyu=hW?A00^I?Bp7Pt6Q^0h8h6BIY#w=j-L<na5=.[i000000000000000000000000000000000000000000000000000b}#t009920000700000002m:1][S60000000000000000000000000g5%9ggYPxk8VR+@hVL/qgYPJoiSIkwjodIA697h@aPJR+klg--0000000000762cJ7YT:u82$MP8VQ&T9rmbX%nJ6000000000009@)z-aPJX^ble$?b(/m(cJCK{%nJ600000000000mGtdym/S.[nb#iYn=RG:iSI?No-NiOp5[5&aokjr3&<c8qul:%0000000000qVG+%rrc51r@=t5sPzR9tl4[dt(:{80000000000uh#8FpYK&5u&Qxhf-URZvGl-nv/Q3twDlrx%nJ60x8(PBf-U[/y5&2HyYFqLiSK3$1]@Jv698}Jz#:>TASydXh#[423ikeFh#[731]@/DnDr@m%nJ6000000CMm{FC(R:.z#+g:h#[p9D&OM{EGj&$Fb>c2h#){#8#$M<3ikXUGAcYamGwey%nN&OHYz&6I2^OQHx9bgEe]c8%nJ600000000000mGs84IVwXoJq#0tJSoZ)J@RivKn$yyD&L#6K]QWCLMl%G%nJ600000000000mGs84IVwXoMh&@CJSoZ)J@RivKn$yyD&L#6K]QWCLMl%G%nJ600000000000mGs84IVwXoMJf5DJSoZ)J@RivKn$yyD&L#6K]QWCLMl%G%nJ600000000000000310SSr51onP91][(d1][]e2(>qj3JHwh3&*.p1]]bk4/^dv5DABz695ZD6-!pl0000000000000008]8BN000000000000000%g!QmfAq7L00zY<0000000000kb$S.06*F-0000000000h#&{U0rr8m00zY<00000h#&{U0q2/$06*F-00000h#&{U1n{Hm0rr8m00000h#&{U1ogQP0q2/$00000h#&{U1n{Hm1n{Hm00000000001m#cN1ogQP00000000000rr8m1n{Hm00000000000rr8m0q2/$00000000000k[rw0rr8m000000000006y+(06*F-000000000000zY<00zY<0000000000000000000000000000000000000000ZRx*H%mGw(0000000000ZYl4S@/{F-00zY<00000ZYl4*}bHA{06*F-00000ZYl4*<YbqX0rr8m00zY<ZYl4*<YbqX0pQ9a06*F-001XM!M2QH1olZp0rr8m00000rAi401ogQP0pQ9a00000rAi401n@h*1olZprAi40rAi401mMAZ1ogQPr+kGjrN>gz0rr8m1n@h*rAio6sm]/c0rr8m0pQ9ar-@T(uP?Vs0k[rw0rr8mrAi#0tN:{E06y+(06*F-wMrQvt*lvy00zY<00zY<rB{P9tN:Y-0000000000rAi48u&s0P0000000000%nM80000000000000000>#y.-58WA/0q]4Y00000<YbqXhfY935c8X000000!M2QH/iO)3kMy=Y0q]4Y!M2QH/iOKVjPaXh5c8X0!M2QH/iO)3%1<WtkMy=Y!M2QHhfY93%iA?cjPaXh!M2QH58WA/%1<oD%1<Wt!L#OH00000@qu4G%iA?c!L#OH00000kMy=Y%1<oD!M1:3jN+G5kMy=YjPaXh!M6G}/9{nof-jczkMy=Y!M6x[!Eo#k4*fSp5c8X0!M1pSh83[b0q]4Y0q]4Y!M03[4zSB*0000000000!L#XK0@@A60000000000%nSc0%nSc0%nSc0%nSc0rAEZJrAi40rAi40rAi40rA}yYscV?FrAi40so3/JrA}yYsex9Zso5r[uJybRrA}yYs8a.@se@pdtQWzXrA}yYs5&nZsayodt.6QErA}yYsjHylsayodtMB4DrA}yYrRoZ:sa*LCt=LN%rA}yYrEGr@sa*CztMB4DrA}yYrBtM4sa*LCt+Hw&rE:%ErAFoZsa!&(tMz]7rD{8}rAFoZsa*Czt(RO%rD{8}rAFoZsa*LCu!6V0rBi7krAFoZso5r[rAi40rBtA0rAi40rAi40rAi40%nSc0%nSc0%nSc0%nSc0%nSc0%nSc0%nSc0%nSc0rAi40rAi40rAi40rE:Wwso5q2so5r[rAi40shkvtu-TvWse@pdso5r[uOGnUuAsdSshj:xsaD@3tRJ@5uAsdSsfJgxr$3rhD[2a9uA:yVsfK:Us2f}oA3$X}u&NdRsfK^pr$3(xA3$X}r%bH6sfRc[r@+3lD)!$7shRjwsd[%Vs3FF#tQPNYrL$}ssfF:Zs2o>luMYsTrR9Q#se@$js3DWxshj/0rDCMFse@WUr@:.TrSA9(rDCMFso4%zso5r[rDROErBsoRrAi40rAi40rDROE%nSc0%nSc0%nSc0%nSc08VP<r%eJa0%eJa0%eJa000000}L{N0}L{N0}L{N000000(z*>+(z*>+(z*>+00000&2<c)&2<c)&2<c)00000Q9p!YQ9p!YQ9p!Y00000Q97UWQ97UWQ97UW00000&V+3C&V+3C&V+3C00000(z*>+(z*>+(z*>+00000}L{M@}L{M@}L{M@00000(z*>/(z*>/(z*>/00000IukohIui<.Iui<.00000IxTITIxX=5IxX=500000(lmX=(lloq(lloq00000@VS?}@VS?}@VX8u00001@SjOH@Sif3@Sif300005@&i0#@&i0#@&i0#%eJa08#]%r8#]%r8#]%r}L{N0%nSc0%nSc0%nSc0(z*>+Z}^+=Z}^+=Z}^+=&2<c)+/[Ak+/[Ak+/[AkQ9p!Y+!RN8+!RN8+!RN8Q97UW+*jSn+*jSn+*jSn&V+3C+*j98+*j98+*j98(z*>+%nSc0%nSc0%nSc0}L{M@%nSc0%nSc0%nSc0(z*>/Z}^+=Z}^+=Z}^+=Iuk09+/[Ak+/[Ak+/{1+IxTkL+/))5+/))5+/{1+(lloq+/{1++/[rh+/{1+@VX8uZ}^+=Z}^+=Z}/)F@Sn?]%nSb$%nSc0Fb/MG@&i0#%nSb(%nSb$Fb/ME8#]%r8#]%r8#]%r8#]%r%nSc0%nSc0%nSc0%nSc0Z}^+=Z}^+=Z}^+=Z}^+=+/[Ak+/[Ak+/[Ak+/[Ak+!RN8+!RN8+!RN8+!RN8+*jSn+*jSn+*jSn+*jSn+*j98+*j98+*j98+*j98%nSc0%nSc0%nSc0%nSc0%nSc0%nSc0%nSc0%nSc0Z}^+=Z}^+=Z%x*@Z%yvb+/[rh+/[rh+*jJk+*jSn+/))5+/))5+*jJk+*jSn+/[rh+/{1++*jJk+*jSnZ}^+=Z}/)FZ%x*@Z%yvbFb/ME%nSb$%nSb$%nSb$Fb/Mw%nSb(%nSb(%nSb(8#]%r8#]%r8#]%r8#]%r%nSc0%nSc0%nSc0%nSc0Z}^+=Z}^+=Z}^+=Z}^+=+/[Ak+/[Ak+/[Ak+/[Ak+!RN8+!RN8+!RN8+!RN8+*jSn+*jSn+*jSn+*jSn+*j98+*j98+*j98+*j98%nSc0%nSc0%nSc0%nSc0%nSc0%nSc0%nSc0%nSc0Z%x*@Z%x*@Z%ym8Z%x*@+*lj!+*lj!+*jJk+*jSn+*j98+*j98+*j98+*j98+*jSn+*lj!+*lj!+*lj!Z%x*@Z%x*@Z%z@UZ%x*@%nSb$%nSb$%nSb$%nSb$%nSb(%nSb(%nSb(%nSb(%eJa0%luV+%luS:%nSc0}LU)E@&i0k%dVJ%%luS:(yXG+}L{N0%9$DS%dVJ%(qdU+(z*>+}IHfg%9$DSS&o:k(z*>+{[iGK}IHfgQ5]>5IMiXJ{[jnY{[iGK&duK*IMiXJ}xyB>{[jnY&0pCkH*3S0{-L9/}xyB>}K!g@>Om5E&0GDq{-L9/(i:gq@R#@0(vn(H&0GDqIHU=i}L{MN@S5$#(vn(HIe63#&-f0p@&cpt@Sob1>#y:(&-f0Z%k<T5%emoV@&5@4}JX7}%k{t@%emz2@TbX9%eHQ:%m=Vg@Sn-C@&i0#}L{N0%luS0@&i04%n5@0%n5@0(z%%+%nSc0%k^F+%kUd0Fc9H=(z%%+%car0%car0P&D4hFc9H=@.%SE@.#[jSA0g5P&D4h@-kr0@-8$k(qZ)+SA0g5}c6Rk}it00(q.Q0(qZ)+}dTLU}itc4&*0JU(q.Q0(0$Vz}djcbF%AgE&*0JUNw.PE>2CC.S47}*F%JmFNU3cSM6CHrFr:eNShS{rMh*]OL{G$bFr:9qF(L&&<=xXIMi@eiFtDU*F(L^N}HwS=>0e%J&f]}CFr=kh}cTIk}C*Kl&*0JU&hP^}>%#}3>#y./}JU60&-e#.(z*>+(z*>+@&i04}L{M@(IvY:(IvMY%eLw:@&km#&I3VC>bLCU@TanS{>2fN{<-B7}kQD:@!.9-}xgy&@!Mff@&i04S/0?R(y+fS%eJ9l}L{NgPEM$RIvcw#@!Z]-&&o2ZFc@r>Fc8:=}tZL=F#U&ePA.B1HYKJV<{DS<Hn}n9HZ3tLQ5*yWF/(g/NU[bdK@sz5Fp-rLF@*>o(vM4k<@:-1&f]g<MxUNN(x53D}K!4!}LTy*(z*>/(suu!}d7zf}b^V-}J7]Z}c3!4}L{J0}L:W6<\u002Fks+>9n#p@?%27@&i04FlF=JG>^O+%aag+%aag+S&A80S&A80%eJ9l%eJ9l%nP>l%nSb#%n8=}%nSc0(&5Nl%g[Wf}LBk(}L%2+&@gQ9@0GI1&fsow&VMyz{]pt4[tH%7GQz/ta%n6L@&h]n.HNfpN416Pcs[wz@Zv:u.ueZ7IKabsdYK?b>]+.}3jt+]O2b5Oa%mk)I6dLN3j8kaI%t$(a%n6L>]+YZF}eC5O8P*1cs[wz@Zv:aFs$[^I@GOXdYK?b@&i0kas.$DObnRxa%mk){]ppcc&/coI#OT1a%n6L&I@>g+77%xObX}Ncs[wzIUK]z[tVF!I#O.2cs[JnULt(#@@zJ*MJ9og8MBdA%nJ5#%nSbm(I{eCZYqdI%n5@0%n5@0%n5@0%n5@0%kjp+%kjp+%kjm:%kjm:%9$gJ%9$gJ%9$9:@^U0-}tZI@}tZJ0@S0qe@S026&VGv}&d7/=@VAsp{<@+V&rT%2&6mnI{<-]e{>P4X?#A-Y<nYf0{Y7pE{Y7p4{-HXf}tZHG{-GTM{YpD0}3IT<<]Fq[}HwUE@?]?i@Y*I0<\u00218%:@S5$#@S1CF}kQEf<YXG+@&f30}L]>Y}ga6n}bHB0{--=s&T5V=@^]-u@R#{K{<#-I&T5&?@&csu@&i0k@Soe2&ejPn{ZiVE{ZiVE%el20}LTF}}L{N0}L{N0%eJa0%eJa0%n8=(%nPa0S&Cv0}MG}{%kr}n%nNPH00qF&(*aPD%lxTHS&A80S&Cx*(*aPDS?xx+Fc7rB3wdMD(z%%XFfK$pFc7JjdX=m{(*aPDS?PnjL#-XDdX=m{(*aPDFfr^yNX>VV3wdMz(*aPDIMhmTNp-F0S&Da0%nSb{I#OQFM1H6(z#Y>q%nSc0I#PKKMzTYTz#Y<L}MG@0I#OXmMx}NDz#Yaa}MG@0I#R!KL#^}Xz#Ya6}MG@0Tn?%#Mx}NDz#Ya6(z%%+%nS6KL#^}Xz#Yaa}MG@0%nSblS&D9{z#Y<L@>FHk%nSc0%nSb{z#Y>q%nSc0%nSc0@S5O>015.vFb/MJ%nSc0@S5}#0ic4lR#M/E%nSb}@S5%#S&u6gdYPIE%nS7>@Y?%kS&u8]3ryhT}V2:V@Y**<S&b@I30ynU&j<^[email protected]@5rE+m830ynU&4t0V%bWK&rSAsd0--n3<oL:J%c9*)rSA)t0-h[$<P2uY%c9*)rSDkq0f{T^}2y.4%k:L&rSMOE04KSx}cTIj%m[#YrSAb7kMy=:@:lQE%nC[)so5wupYHE}%en$>%nOvHu&TiwL%trH%9$7H%nRs#L#R2/>#y.-@R#]#%nS7-rAus6@/{F:@R#]#%nSb:S&Mg1%luR+%eL{@(I{[-S>XPl%nSc0@-d>TFwqb.32/>z%nSc0@?Ufzc[>B80:CZ8%nSc0{Z8XL0gS7VF(.{K%nSc0?#X&kyf6yt0&C*$%eMa0&dwfiFr(oB2NYSi@-Yr3&dz1d049/wPAplB}3cX}>Ndv?c)<MC&dv7X{-/NmMANH>0a{&.&!0yg{-/NmL!SdMl6^c5>NiUR}3cX}KIuyuS-C5T}M5ZZ}DA-}KIu>SwM[B1&9l5Y@&k%$KIx&SM23A@Fn+F/%lxS:&4K[bS&#C}0Dn2r%nSc0{Zv84%nSaH7qG[H%nSc0@&u80%nSb:Tn&k1%nSc0%nSc0%lGZ+@&=s8%nS84%nSc0%bc<x@-Yq8%nS74%nSc0@?YTL@*0FF%nS7-%lGZ+}C)M{@W4LP%lvrA%ap9J(1Z6W{Zc+0%cmm7@VZndIdkEE{:V8u%clXo@WK}xRe2p8{:M6s%lpBI@?%Se<YhaV}2Zv)%m=)4%lcJ-<^bZB}BHD+%nEQv@&gOISJbk)>bvBv%nReU{Zh?(Id$%L>1jYb%nR<2&&n@((q^XC>0Fh%%nR(@IVrE^@?YT]<=FO=%nS6-Tn&gl@WN@9}LB4+%nS7{%nSc0%f8E*{!7rN%nR<^%nSc0%nSc0}L%y(%nR}}%n5+}%nSc0%nSc0%nSc0%e2^S%lu//%lu//UMaU5@Ws!D%bZE+%cjJ58VP<[email protected]@*D)[email protected]:w}BEoV{[d*A}dkbTFVF?J}gF/0{>>!0<+:nC2cX7b}d7QT{]ptE<+vKIyxatl}L{N0}d=)E}gsBaFuP1M[4X]+}uOjU@^>ze2RUptV+MUM}Bz^k}h$=[0L:[1V+MN^(5V9+(84G%r+)$2V+MN^I7kDkI3*g<Sa82(V+MN^H6<PpH6<PpPPUNuV+MN^FUThJFUThJ8BxY?V*W$u?#A-+?#A-+01k5(U(21w*n.fJ*n.fJS&8aZ@{D&!]dQZP})%0h(z<):@&i0k:CMU<}L{N}?#J/S@&i04+bREa}L{Ng&?DFM}HwTJ+bRF5@S5$4?#J/S&S{V+[=kX+{>Phe&WB<6&WM7e:n=F<}Ikzg?#J/r<D9gS+8cDH<pzrf&?DEq{)22o<pzr3<YWhH?#J:R{]pnC<YWg}(z:<0&!WOl}ynec(z*>B}LTFg?#J:R&^.wu}ALmC@Y)D3(z<(X&+CcQ&q-)%%eDxz%nSb}}CnrrGA80R@-ftz%nSb]@&6UEG*kSx@&i0k%nSb]{Y=*kG-zcD%bWD+%nSb#@&i0kGA8.{@&i0k%nSc0%luV+%n5@0%eJ<l%nSc0}JU9+%k^F+}AX]%%eJ<l>2EXo}JI=0&z&}U(oPj=<YiWi<Ybq+>9n#JKYtDZ>2J^$<Ybq+(lPCGNW3{S{]k!%}bHBk@WIV3(lPCG{>QaA}C*L0@VU*^@WIV3<{i8}}bHBk{-+Ec@VU*^MvG45@-8$k{Y8gI{-+DhMy[OJ}bHCf@ScOG{Y8goNRF?5}bHF0%eI]1@ScOh>.hLX}C*MH%ko>X%eJ50{(DsC@?TvF%kouH%koiz}C*O1}c65#%lrU+%dCT(@S2%k}bHBk%clQ0@-Sru@&i0k}L{N0%eJ9l@&i04%lxT:@&-v4%[email protected]@-Pua%l6W400000Mq))H(.Hi[UABMS00000>1$tx>hI3#N#d:@00000}bAUR&/BoEIA?Z(00000}30-%&T=neH^hUU00000}5]Fp&U3/yH!m?P00000}6+FI&T?!:H^D/100000}BE25&-474Ibn[g00000>0kwa>[email protected])$]00000MzHPD>bIQ=NYfF]00000O8<QC(.7gbU7y5+00000UD4S-%cxV?%[email protected]{@-Vs/%cxH@00000@&k@]@&=v!%k@Fz00000%nS7#%nSc0%n86Y00000d5N4BF#nOG*[$bLhMcPQKF&cV(zKW.m5Zd^O#zX&{]ak[qMoY%TF#m22cd.7v5<ncX#L/h6S.omzMA*r:Gbvwbcp?BE60wG!#X]LfS>xQIMM{V<GnE.kcB}^N6cF&[#&2[oT1G%RMZ420i(I7tcO5cW6oPh4ZD6mxTdQr.M<dw9j2RBCc.eG^6AYLdZPfQGTpZV?N0m.ije.^Lc>n&)6M/[mZ-o%PTB?2}Ncw7rjq&cUd1xh2!f<mvZ(yrYTN}w7p:zBAjC@G+ddGLb!r%QE.2HV/T.4.gp)I^JjP5&>dpP[k!E6%N.eR2]T>e7pq3ScvGlxdDJj3CLk>N..#G=q.#G=q.#G=q.#G=q.#G=qvGlxdDJj3CLk>N..#G=qvGlxdDJj3CLk>N..#G=qt(T<8zu6UpLk>N.zu6UpLk>N.t(T<8zu6UpLk>N.XC#Qf*YdrOcij8D6-!pm*YdrOXC#QfLk>N.t(T<8qucW%vGlxdDJj3CvGlxdqucW%vGlxdDJj3CvGlxdqucW%vGlxdDJj3CvGlxdqucW%vGlxdDJj3CvGlxdt(T<8zu6UpLk>N.zu6UpLk>N.t(T<8zu6UpLk>N.XC#Qf*YdrOcij8D6-!pm*YdrOXC#QfLk>N.t(T<80SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi20SSi200000<n]qY)G0p/)G0p/dGPOIo9b7[Ll7Z:00000Ll7Z:Xb=NfA037u0000000000o9b7[HYEFQHYEFQXb=Nf)G0p/dGPOI00000dGPOIASDdu<n]qY000002MK&82MK&82MK&80SSi20SSi20SSi20SSi21onA41onA41onA41onA45c8Xg2MK&82MK&82MK&80SSi20SSi20SSi20SSi21onA41onA41onA41onA45c8Xg8]8BN%nS8#0000000000%g!Qm%nI(-000000000000000%ez�}JU60000000000000000@-kr0000000000000000(r2vE000000000000000}K!h0000000000000000@S<TY000000000000000@S<TY000000000000000}g5J+000000000000000&hS!g000000000000000&*0[8000000000000000}AMgr000000000000000@&693000000000000000}A?i%000000000000000@&i0#0000000000%nS8#%n6Ig%n5!@%nSc0%nI(-%lu//%d&Y}%n5+}%eJ95%kjp+@S@+y}>K$g}L{N0@!^C+(oXS(}uYC(@&i0k{[O/Y}JdBQ}A!s?(zMhE{((KE%eze=@/A<U}K!h0{)z)J}xyJf%ezf1@S<TY}k1<B{-Lg6}xyJf@S<TY@?S/k@Y(kr{-Lg6}g5J+@:/XW%co5M@Y(kr&hS!g{*]+f%eI%@%eJa0&*0[8{)L6-%cLaE%koiT}AMgr@Y*U4%a?#o%kog@@&693@/{W4%c/$5%eGlQ}A?i%@&hS{%el20@S5(I@&i0#%eJ9l@&i0k@&i00%nSc0%nSc0%nSc0@@e}$ZPb6G[2Be5%lvx0{{&X]SZQ.6SZQ.6%cmK5&vp=BPPAjOSe$6W}Cpw}HdRVsS3N.zS3N.z&.-*)N3%ZT>)w.P>)w.P&?-P*S&A7d}K5TF}K5TB&Y[u:{-Y##&WuaR&Wud9>bLz:{[w4.F^uaHF^u7N}kQq1@VD-b(z/$#(z/#z}5>z1@S]j3&fve>&fve%}AL[3%e8/m&fvf5&fve>}kQa5%k^uo}Lv5^}Lv5v@-i=L%luC0%n2Q7%n2PA@&c??%dy<R%nPal%nP9[}t#t+%lumg%nSc0%nSb:@&i0k%nPal%n5!@@&ig4%nSc0%n5@0%lgs0{-G$A%luV+%d@{0@?HEE}II2Z)Vni/@.KuA{((KE{[O/Y>P{ml@-bk4{]gnD{((KE>)p{9{]kSU{<-A0}ij]#}A*3S>(Iga(1Who@/?3f}LD<0SZm6cF/pD1%d{Ul>.YXY(z+i>&Z+lc@-Jys&dqso@VWm1}J7{Y@ZH4e}2RJn{Ymka@[email protected](z*]+S-AYC}Jkv7@/!faF(UvQIM7g4}d7$&%d%FlF(&^wN1zrL@&6qu%ltjo(zW@uMv:.*%n5y(%n4tZ@So2KM1QK8%nG4k%nPal}L{M@S&&wp%nG80%nSc0%eJ<l@<](A%m()0@{3I#@VFow{:6>U%lrR0{)3-u@^>vO{:Nl.%a3$+}CpU8}uYE5}L]CM}LT:V@-UY7}wLD@}k748@&gL?@+9ZX(s=DG}jJLU%eJ24@Z^DG(y:Cz}g5:=%a(IE@ZGCg@VEFg}hbu<%b-8v@-bt^@VNLB}hc5<%el<J%cxX1@?-(l}h/h$@SYvp@+tTp@+wAF}F8Bc@SMAs@.=8.@/HtI{/gj)%d%qw@/&3m}JIgJ>(p}5%luR/%d%Gg{:6aAHe?zc%nELL%ltcH}u&(GFVtTI%nPal%n5+g@&i04S&A80%nSb}}UEz0}UEm@%nSc0%n8=S&hS^+&gHz+%lu//%k<oB&gHz+&*M:5@/ys-%crOLNWQaJ{[.dES3IRJ@/)hJN59$k{((KE>)p{9{]saDN3nvk{(Pew}A*3y{<&dt>:s)<}k4nk}L)b9{]sd8}k4nk@&68o>QD[N}kTo]@?Tkg@*3Z4&dqso}ILbv@W0Yw@ZAS$Sra4s}h1<d@Z]R]@.VLcIMi-S<\u0021hA:@.KJF@?G.jF(Obu<\u002FncQ@?T2q@S#=y&-l8r<{z1]}u&[0}u&[0}L]<t}u)ie}L{x}}Dx]5%kkvm@&k%#@&i0k@&i0k%eJ91%lu//%nRcA%eJ<l%nR#!@/yv:%nL6oX<pom%nRAd>P{Dk%n6EfPP*z}%n82[Sr)dJ%k<3PQ:qub%m@PC(oZux@/)hCSr%@^%kvH7}L)b9{($Mn(zV8A%al[#>.YW+{[^^MQ9}w*%dA+.&dqrJ{>[[NF^ue(%a)WMSra4s}jN.qS0PWc(z^doIMi-S@+zBEF%{STF(W%WF(Ocp@*J*?F[wl!F(O?p&-l8{{:2&v>#E(=(z!A1}L^Fk{Zm21@-Sw5Ia7#W%n5+0&U87{%eJd1F(oc$%nEK4&!41k@?6V0&f%UW%luR+}L%K{@&i0#(z?S0%lGZJ%nSb5%nSc0}M6Rg%apo5%lxD0(C9x0?#-Wb%eD0H%b#FVK?Z}YS/cT9%cAFj@!//rqe=D1r<hw6@Z({={]fKUt5TyystfF+@WEVe{>U7kRlx>8stfF:@W4wP{<\u0021G*c2-=-RMY/Y{($:)}9G!nc2rKD01nT+{($+y@Y(hP8E&:gaCfAS{($=z}h*%^aFO[6d2N!@}JZ(A}d!&5aFO.1x0q0f@W4us}gvN#dUvE#PLKs>%bcPo}HXNNZVbk[sq<w@%dGwM}HX2e%nh^{77d*B%lxTX@^$gI%nSa}l9x!u%n8=}%eMb0%nSb}S@Hos%n5@0%n6Ig%n5!@%nSc0@?S/k@&ico%d#Q)%n5+}{:G(f{-G?}@T5$D}>Zc){-G?}{:Si}(oU!}}u^Kk}Kjp+}Lk4k}Jv*Z}A+G)}kQDk}ihUk%eGja@/Tl+}kQDk}i-1p}xx6X%eGju}g{kk}k1<B{-->Q}xx6X}g{kk}k4nk@Z6/*{-->Q@/vt5}k4Vq%c^c>@Z6/*@+wBE@:?wf%d#Q)%cu<*@Zx&4@-Sgl%clD@%llz}@.JTg@Y*U4%9$o/%ku<e%cmul@/}lk%cxX1%elnT@&gKM@&hS{%el20@So2K%eJ9l%eJ9l@&i0k@&i00%lxTX%nSc0%nSc0%nSc0%b^ox%lu//%n5!@%lu//@*J?K%bZE+%k:E+%bZE+{[mzz@*D)5@/%v}@*D)5{>[<7{[d*A{(C?o{[d*A{]sa?{>>!0{>>!0{>>!0(1Z3e{]ptE{]ptESh=<JIu{i/}d=)E(z*?4IMeazIB-s&(z+#w&dr8^Fb*.bIi9*X&drd>&sWrqGRoPdH]MYt&sVGo&?uS)GAiMvH)siY&?A8:&zMWWGAij0IA)zZ&zH/k&zGYmGAijg(z-<v&zJ>V>N87dFMac0}A>4U{Zj4o}L]aI?#G^(@&l0#@&i0#@&i0k}L{N}%nSc0%nSc0%nSc0%nSc0%n5!@%lu//%nSc0%n5!@%k:E+@/HB+%luV+%k=.+@/%v}{-{TP)VpF:%cauN{(C?oSr)dJ>P{yJ@-JSzSevr5SZqLX>)p{t}c[]PIMecVIL-%-SZqLX}c/.^Fb?3pH(8INIL-$W@:qDAGRoK6PN)KJH(8IN%dB@ZGAim1Nf1ucPN)KJ%kZhSGAiAnNP==(Njo-!%lrSiGAiMbNv](CNU3<u%cw@$FM9}NNXk}XNU1M[@-b$}?#G^XO0{v(O9Bfg@&i0X(z/AsTeDa1N$dB<%9#S@}L{Ng@&i0kUbXI5@&i0k%n8=}%lxT:%lu//%nSc0%dGz(%crR:%cjJ5%eJp5@[email protected]<@.N1q}CXy4}b^<k}dnUN}dkbT<W0pTS:Y6X<+&eh<+:nC<Z<1DN5TLf<+z(O(v%6N(wzQRM)d9Y}gwA%{]p6(&&m[o(y%-w@^%@${Y7vG?#B4^{:S0ZS&ki.{^#gl&v4kI{-$CfF^Hv!{=]F(&q=D:{)4>RGI7ho{=]F(&q=HI@&f0CIIQn^{=]F(&q=KJ@-ksiG?gf2{.uc}&8Hf+}Lyi?G?yr4@S0ua{Y8/z&2hWV&2}!4%eJd1@&gH-(z*>}}L%y(@&i0#(z*(0%nPd+%nSc0}S+&}@&ig4%n4RE%nPd+}HJO+}cTQg%luJ:%n5:&(zN)^>9&fZ%dxY%%dxY2(z+W9N4$SN@!^Ck@!^Ck?#X+3Sfw5J{[O/L{[O/L&S}1X{)z)J{(#Qs{([/6&S{@#(7]el{)z)w{(]wm&dbNx>a#m@}k4b7}itb){[BB@<\u0021X=/}EJ<1}Lvw)@?{%O}Kgo@}k4Yb}i+AQ@-yU+@Y*U4}x.oc}BjR>@-k(g@/{W4@Z)[email protected]%eIy1@&h*f@/{W4@?SVg%luQq%eHQM@&hS{}u<mq%9#HJ%nG4k%eJ9l@&i0#@&i04%nSc0ZYgIq%nSc0%nSc0%nSc0UM7W6%nSc0%nSc0%nSc03&ZRm%nSb}%nSc0%n6IgQq9Cq%n8=S%n5!@%lu//8zr0Z%k<lF%d*Cg%dx=17aH7M@*ALO@S$)9@!^C+79Wuv{[mzt(oXS({[O/Y7gHDR{>[<D}JdBQ{((KEtb2hP:G0u%%eze=:E9!*w[1[$:.FV#}xyI}:!Y+.Mss0K.u!1H:rl7A.LHp=qkf}x[qcN}.A-<dZ[>cn1!(6M@3}Q][t-G0[fIDMtb$XZ@@A60}#uZY@%BqRPS+x0%nSc0%nSc0%nSc0S>UOl%nSc0%nSc0%nSc0%nSc0%nSc0%nSc0%nSc0%luS:%nSc0%n6Ig%jdex%ctdH%n5!@%lu//@C8pm@Y#BR%d&Y}%dx=1{nW?^}d:ys@S@+y@!^C+*n:>D}cY@2(oXS({[O/Y*n:*H<S(re}JdBQ{((KErJol5<RYny%eze={)z)Jyo3N0<Yk$3}xyI}}k1<Byn#3G<YXah{-Lfb[$/xF*n-(b}L{LB[<4}<[$/I2]&z3a@ZAXh[rF>w[tf!e{nW?^@.K=3@3[Tf@0G8Y*n-(b%d#U!@@r60%g!:p{nW?^%ltg?%nSc0%nSc0@C8pm%nG4k%nSc0%nSc0%jdex@&k?{%nSc0%nNQ0PAqcz}52^t%nSc0%nNRhsotG7<F<Sy%nSc0%nNXtr!vmRLa!+/%nSc0%nOEV1$3rvIu4k5%lx7M%nOEzQ9=<yNHgHE%ceDw%nOE^SWsYGS3%53%b--I%nFB3SB&bkI6Ow{%aj.W%m?(=aEo0g&ZcKo%lj1)%m&3Na/qkx(zWw{%aWPO%nF<R25pbvIdFfu%l8co%nN!MS-2*0F)bf)%nG!k%nNXor!vqM(yZ.-%nSc0%nP8:0ii22%kj*}%nSc0%nOyYt9+NW%n5@0%nSc0%nOF]PK%3:%nSc0%nSc0%nPa0S&y@RS&A7-0&*+JS^>>+UMaQkql3TY0igLHSSl818#]WUmHDeXkQ}o:R#Y@0tl1vEM(q#&qehv@Syo<\u002F0L!GhazN{wrCE!0SA000S&#k%3w$<GrCE!0SA000S&C(J2.F}srCE!0SA000S&L@Cne!v<rCE!0SA0002/3g#NqeW=rCE^/SA000FXR2zw#.<mrCE^+SA000yxaozsZ4?!6(610SA000G8+?sc<(#JrCE^}SA0c40@@lmc0EsFrCE^#SA0YkS@I(WS&zs/rC4H@Nn{7:yqn+[Q-$r<M131UIb]cdKs#c0S?L1zS?MI[IMcTTS&$Y/%lu//%n6Ig%n5!@%nSc0%bZE+%lu//%d&Y}%n5+}@*D)5%kjp+@S@+y}>K$g{[d*A@!^C+(oXS(}uYC({>>!0{[O/Y}JdBQ}A!s?{]ptE{((KE%eze=@/A<U}d=)E{)z)J}xyJf%ezf1@S<TY}k1<B{-Lg6}xyJf@ZXiE@?S/k@Y(kr{-Lg6}h+/0@:/XW%co5M@Y(kr&I@[@{*]+f%eI%@%eJa0&*0[&{)L6-%cLaE%koiT}AMgr@Y*U4%a?#o%kog@@&693@/{W4%c/$5%eGlQ}A?i%@&hS{%el20@S5(I@&i0#%eJ9l@&i0k@&i008%TTb}MG@0%nSc0%nSc0%bZE+}eurk%nSc0}L%O}@*D)5<qXd0%nSc0QYyC?{[d*A<qXd0%nSb4kX*tL{>>!0(z%%+%nS672eyh>{]ptE{+hWE%nS61yYBB/}d=)E{+hWE%nSaHZYjt!@S<TY{+hWE%nS6vfAq79@ZXiE{+hWE%nR)i3&*fd}h+/0{+hWE@&=8H0@}$[&I@[@{+hGzS-[F4Fv<Hl&*0[&{+gL90TvO$&ayYx}AMgr{+gL90TvR#}g^R3@&693{+hGzS-[AZ@S-45}A?i%@>FHk@&+tY}c9*#@&i0#%nSc0%nR9U@&u80Tn&k0%nR@0%nMEa%nSc0MCrE}%nR2D@qUyG%nSc0K.+0T}L]5)%nQTF%nSc0<qbH){Yb*]Fa@Te}2yx]<uWJI{YdmU])=U+}2yxV}4KLZ@SOQN=(.@j@TY3]}58Cj@SRzMl<JXx%dGu<@ZJfM%ag3I=&Ka5%n8Z>@ZJ]!%agjIkMQ]+%nSaX%b<sT%kr}Sry3P:%nSa-%b<cT%kr}S%iQ/C%nSa:%b<cO%m(S]%mDu>%[email protected]%m(S]=?dnq%nSb}}5l7f%nJ5#@Q*c&%nSc0<z6[V%nSc0%nz#$%nSc0K/zvX%nSc0%nz#$%nSc08=Y)r6&?ol1YXLa6&ZG}rAh##5Fg$xrAf2#pYUnGrAi40LTRQLrzTAbL#:]JrAfh6s^=p&rAhp0s^u1-rAi40x{(03p/QH(s^s&urAfh/rAb##rAho/5MCQ3rAi400t8ohrrVw6l&<rNrAh<br7r)/rAf60M0cUSrAi40LTRQLrrSLaRb<B!rAf2#w[!oBrAh##r+n1>rAi406&?olp/Qsb6&XworAf565MC^grAf=0p^}u4rAi405M2HcrzVH(q4VAfrAho/KP?++rAfh/RactCrAi40x<4Eo1YUO6s^=a.rAfPb6{U/0rAi001YRG>00Mg0rAi400A#r+rAi40r&Sf+rAi40S?ZMkrAi40SZ3M0rx{N+00bs+pYHFg0rCN>06@<Ip/Fe{1YXz+00Mg0rAi400z&}+rAi40q#=[#rA6c406%0Mq#=[#00b[)00bs+r1]GF1Qd<9rAi3/rAi40rAi40rAi4000Mg0rzSY@0A#r+rr910r?{U000b)@SZ3P+00Msp00Jx6rAi401on#krAi40kVH/XrAi40rAi40rAi4000Mg000LQ/0A#r+r25ypr&Sf+rAi40S&A80rAi40S&A80rAi40S/NB+rAi40Sq({krx{Z/01/+xpYHFgrAi40r0uo41YXLar0u8krAh##lzdc&rAf2#lzaWprAi40lzaWprzTAbxBk8$rAfh6r0w{zrAhp0r&5RcrAi40rAi40p/QH(r0u8krAfh/l<cborAho/lzaWprAi40lzaWprrVw6vXK$*rAh<bsp76brAf60r&5#+rAi40rAh<grrSLar0u8krAf2#r0rRWrAh##lzaWprAi40lzaWpp/Qsblzf#2rAf56xBmMJrAf=0r0uD<rAi40rAi40rzVH(r0u8krAho/qLsTlrAfh/lzaWprAi40lzaWp1YUO6nc>9frAfPbwcMA/rAi00r&5#+fAq7Eyn>ikUNH1hS&x60Z+B1nS&x60Z@jbTSCl}Q.VZYvSCl?N.XMfrS&yEt.XOC6S&yNwZ@KX4yn>ikfAjoiyn>ikUN.cLS&x60Z&GOWSCkHm.n3Y^Q-aTN.ne%=Q-aTN.nRURSCl?N.n..SS&yNwZ&N%byn>ikfAq7Eyn>[email protected]{p%LONJO-AZU^KoQa9-C+]TKoQa9-Ls&tLOOIK-LEg9Rcnxw.e)<*yn>ikfAq7EwM-8mUMIVJLONJO.cY5!pZ7aO-D8F!kMMo9-Ls&tkMMbq-LCFKpZ7@--LN*qLOO=w.e)<*wM-2k1Ykl1S@Jb0pZcY2!VS]!SCpW5heA5bS&Cf14o@(jS&Cf24o@(jS&Cf2o<vU$S&C(lo(H7iS&D61i>$Z{09f6:Tn&k1rri2{*p@%NS*rHFhN0dTS&C]2hlW5WS&C]mo%sP%S&C]no%sP%S&D664.@5zS&D92i@/lWpZc[0%nSc01Ykl:Tn&0lyn}lhtk@KqS&D5*/1.m+S&D5*hOYp(S&D664.@5zS&D66pqu&eS&D92i@/lWrri70%nSc009f70%nSa+MA6#ITn/6%S&D90(I{[:S&D91i@/lWS&D92i@/lWS&D9=jobuXS&D9%Fb/MGfAq7ES&A80UNH1hS&zI+Z+B1nTnn#lZ@jbTT/!X7.VZYvUca}s.XMfrTgB!..XOC6S&A80Z@KX4S&A80fAjoiS&A80UN.cLULLo0Z&GOWX#@6k.n3Y^&CkA).ne%=<\u002FtDE.nRUR(z{}+.n..SX#@6kZ&N%bS&A80fAq7ES&A80UMaUkNX)9+.b{p%U4>3l-AZU^S&Ah7-C+]TUdy^s-Ls&tO93=.-LEg9S&A80.e)<*S&A80fAq7ES&A80UMIVJS&Ao0.cY5!S&AUk-D8F!SJa((-Ls&tTlO/E-LCFKS&Cu+-LN*qS&AUk.e)<*S&A806AwaE6*I:#r0u8k6&k6kp.=}k08%Xf02nDk02exj02caE02nrg08%Wkp.=!g6&k6kr0u8k6*I!06AwaE1POK01YMjk1POK0098$#rrku+00Mg0q#]l000b)@00bs+q#]l000Mg0rrku+099201POK01YMjk1POK00AAb+kM%%+0ycVJkMKaJ1WA8+kMy=+rx{N+rr920rr920rx{N+kMy=+1WA8+kMKaJ0ycVJkM%%+0AAb+pYS/+pYHF0kVH!+6*I:408J?06&k6k08J?06&kSA6&k6k08Kyg6&k6k08Kyg6*I!0kVH!+pYHF0pYS/+rAi40ryG[/qb{Q@ryG[/qb{Q@rttW6rAi40rtwtgr8(:{rAi40r8<8/ryG[/qb{Q@ryG[/qb{Q@rAi40rtwIlrAi40rtwIlr8({#ryG)>r8({#ryGhIrAi40rAi40qb][UrtwIlqb{Q1rtwIlr8({#rAi40r8({#rAh<}mo9t/rz-]=mo9t/rz=:@6&!mlrAi406&!mlrA8%#rAi40rA8%#mo9t/rz=:@mo6HSrz=:@rAh<}6&!mlrAhsY6&!mlrA8%4mo9t/rA8%#mo9t/rAi40rAi40rz=:@6&!mlrz=:@6&!lqrA8%#rAhsYrA8%#rAi406&!mlqb{Q16&Xgkqb{M}5FbairAf2#pYTx)r8({#LTOOLr8<VfL#Z)+qb)=2s^-n&qb]<@s^q#!rtwIlx{?$3rtwIgs^q#!ryE6RrA8%#ryGdR5Mz+grAi400t4K[rtwHml&*o>rtwswr7o>/rAf60M0df/rAi40LTOOLrz-{1Rb*O@rz--}w[+mBrAh##r+kohrA8%#6&!mlrA8^f6&Xgkrz-=25Mw{1rz:F@p^[hX6&!ml5L$+&6&!7gq4V!imo8ORKP!-+mo6HRRaaD+rAi40x<1Co6&+oms^-n&6&+/w6{R^0rAi001YOG4rAl60yn?gk1YX:aS&u40rAl60S&u40rAl60SCjV!rAl60SCjM+rzYY(S&whJrAl60S&wqMrAl60yn?gkrAl60yn?gkp/Tu(S&u40rAl60SChInrAl60Q-8w+rAl60Q-8w+rrYyaSCjM+rAl60S&wqMrAl60yn?gkrAl60yn?gkrrYyaRci%3rAl60LOKXyrAl60KoN&prAl60KoN&pp/Tu(LOMl.rAl60RclaMrAl60yn?gkrAl60wMY9nrzYY(LOKXyrAl60pZ4oyrAl60kMK1prAl60kMJ<G1YX:apZ5W{rAl60LOMHMrAl60wMY0k)^ybPSCjW0YsU&TQ-8G0)YM0Cr25jkS&AXyrAi40S&A80rAi40S&A80rAi0kS&z[0rAi40S&zc+r8({#%nSc0LOQc1%nPZyKoQ$J%nIDOpZ6/kYsUU^rAi0k)^v9PrAi40S&A80rAi40S&z}+r25zkRco)/rAi40%nSc0kMN<0%nSc0kMNV0)^ybPpZ6/kYsU&TrAi40)YM0CrAi40S&AXyr25zkRco[0rAi40KoROZrAi0#%nSc0RK0CZ%nPZyL#-$J%nIDOr25jkYsUU^r25zk)^v9PrAi40S&A80rAi40RMcU@rAi0kRLZg[rAi40@&hB4@&hB4@<(pF@<(pF@}P:$@}P:$%mGQ@%mGQ@%k^R/%k^R/%d%UG%d%UG@?V^j@?V^j@?=Zg@?=Zg}a$jj}a$jj}b71c}b71c}bG.0}bG.0}dfOB}dfOB}j[4{}j[4{}K^[[}K^[[}J85/}Hw{R}Cn8G}AL%qL%tHNL%tHNL(H$6L(H$6LMg?4LMg?4LMgX0LMgX0LMgX0LMgX0LN)*gLN)*gLU.uXLU.uXL#4GZL#4GZ}j[4{}j[4{}K^[[}K^[[}J85/}J85/}Cn8G}Cn8G}a$jj}a$jj}b71c}b71c}bG.0}bG.0}dfOB}dfOBFb/MEZ+AT*)/iv+ZYjD0{^EF4.t<=5[JW*++yyKg.2KSv{ts-0ZYjwj}i[g0Z+AT*)]rx+Z+AT*Fb/MEZYjuk-!N?E)/iv+-SYu&}#G+Y-nKWd[bJF+.UshYZYvz4{p6^*-yi=O@HfZn-!N?E)]ru:-!N?EZYjukFb/ME*L-iZ)/iv+*L-iZ{=[*j*E!E[[LxlZ!-9KR.b7eh{oT{]/IXUr}j4g#*6T?@)?F?0*kA9YFb/MEkMy=Y/MCOu?V9VJ/MCOu{.u:Y/I$:D[Klm+-$.kH-xTz9{p}-w^g[[G}i[g0/I$^E?Xxe=/MCOukMy=Y0037Rr0uo401X?#r0u8k05Kvllzdc&kqSr#lzaWp/eHPalzaWp%2guBxBk8$%3c0ir0w{z%mm]Pr&5Rc0037RrAi40008=+r0u8k01X/Wl<cbokqSr#lzaWp/e7relzaWp%2guBvXK$*%2oATsp76b%nK+Mr&5#+0037+rAh<g008=+r0u8k008:Hr0rRWkm^=IlzaWp/e7r6lzaWp%1+5]lzf#2%2oAExBmMJ%mXhEr0uD<0037VrAi40008=[r0u8k01X/WqLsTlkqSr}lzaWp/fveelzaWp%1+6xnc>9f%2oATwcMA/%mXhEr&5#+00320S&Da0(z*WXrA=A6rA=k0%m{Qk%nSc0%nSc000320S&Da0DA9@ArA=A6rE:*AS&&}k(z*>+0000000320S&Da0DA9@BRe03$RS>pIrA[M+ZYjup0000000320S&Da0F2YI-S&A8$TcD(N00*<N!M2QJrAi4000320S&Da0/rhcNS&AV8U2OJl5c{LZ%nSc0tb[Q000320S&Da0!=8OGS&A*nU2Z>1rA[M+(WO)0tMs-+00320S&Da0E{.Jw(Ao*UXMUo3S&&}k/mi+J%nSc000320S&Da0sm#QV}V2E6XMUo3%m{Qk/mi+JTn&j+0000000000ys0:}ZV[s?4/=R0rC^1Y/mi+JtMs-O0000000000tr(h1tb:*Lg5}nES&ZPE/fxw*tMs-O0000000000p62k$7p)tIf@bZYY0%w)(&m1ttMs-O00000000004hO$]7xoRvi&M>}N=CA/>#v)>tMs-O00000000004SyV{ti(0ai0#rfTb)LJ!UJFptMs-O00000000002My:[email protected]!UMrktMs-O000000000002omZZnU9jApP50<nYf0%nSc0tMs-O0000000000000gf}JR3XXcKifkMy=+rAi40%nSc0L#WRW0b>>r}L<I{rRQsj}LAl(%nOX2lJv7p@?S/krAlk:2kRt1@&h##u?gki}LAl(%nP1h5c8X0%d@{0sl-&E8<NF=@&e%#ZW!zt}L&M}S}$#UkL?OYUJo0+tkwnAeKlIo}(fScXa(#(}L&J{S&A?AZPaskS]WD+td%#NC(UNP{uAg?XbSI3}L&J{X#C&h@&i0kS?&[0te9seWe{o6]$BBaU#OIB@?XV{S&xSp@?S/kS*cR+tcB2b<oCES}erpkFb/s.@?XWWt9Yc.}JU9+rAtw+tcE0a<qW@(}D0T@rAkr/@?XV{rAfig}JU9+rA[M+%nRd0<qXd0}L*C]rCDoLfi8hV00640ZYjukz#5DkrAn8:Kq?h1}L)LgSA2$4Km=XW0rr91@&i04XO*EEklf^CkWal^}L)O@X%oq0Kn-)$5Fa{x}C*Kh<qWe0*YcI60C?.#}L{M}NYrx>fwZDE1ve#!>(pY/<qWh+[a#(W6%B?r}L{Y#S&A85%k4H]00640<nYf0<qWu0%nP*fte74pEYxAFS&A8jrzD-j00000<onv0<qWx+)(UJ*S}!^yal](v@&i3>%nuco00000<q9$0<xGi#%9>*:%ciGZnb@R?%nSbDrAikq00640<qWe0<qS4k%nSc0%nSc0rJ(m0[bJB+5r.+J0fNM!00ic1%nLs:ZYjupZYjuptl1S0u&Qf0Dfr}07585H03vFatb}h{.#8:p=z)[JyYBC0z#Y>kf8LaEe:@NY0qP+.rI=(0.^27p=z)[JUMaU0Tn&j+u&Qf0af8vg1c)A$6>{<\u0021.^27p=z)[JUMaU0Tn&j+UMaT@ux[M@4PPt96(3^N.^27p=z)[JUMaU0UbXIk%nSc0?A.gK9-/a5rA+Y}.#8:p=&s4pUMaU0XM8TEFb/MEXJ&C#iA&mVrA+V?ZYjup=&s4pZYjuk<Ybq+fAq7Edm1IUDrMOlrCE/3ZYjup3v&9R6&X0z006!kFb/MzbOQz:(roHsr&RE^%nSc0ayCfHrAf.A5ch+bZYjukQYZ*7>#K*:r&Pi3/sfR*Flh^KrH1p0004l%fAq7EbVNUT>#B:-NYow*/sfR*GJFqGrAfh601=L65c8X5b([b=>#B:-S&x71/r[@pLVOhdwMn)q006MfUMaU0Sx-:M(q.LkS+CFl/z>)5dXE5HryE6a0rvDd3&*n43rp8t(s<m4SA001!M2QJ000k0rAf5l0019<0}i>Y0&q]&(zW=-Rb:K@%nSc0000006&UhF009lb3jm4!3jm4!(z^&:rAl610000000000%l5ep0rr90@@zsM%nSc0006!lr8&[#0idZYfBPSz@p$ph13=?^0L)$?00000006!mp.:ZC3r^&(3[@8z@P1{$4N<w$qlYsOrAi401hJa2mmv}(c8H^W1hC2O[6/tOiZ)4Gqlo4KrAi403]2)l6&kSCMrjm81hC2O-N1cO(p1YMqle$JrAi40f?/!16&kSCNp3BS3[@8z%iv$J(p1YMqle$JrAi40f?/!4mmv}(RgpldfBPSzT(EPJ(p1YMqle$JrAi40i6tydp.-%iSSi2000000V:.Tk(p1YMqle$JrAi40h@8gGr8>AF0000000000+M4R5(oCsH0JP7#%nSc0hF-u[0095#fBPSzfBPSz00000(qZ?:rJw#$+AV7ahF+5QfBN{-3[@8z3[@8z^/R*0(8H+-S+UFj+*/Y(heAWP3[}}n1hC2O1hC2OgTv:e(8H+-S+UFj+AV7ahF&Mi1hJbp1hC2O1hC2OgJ$@n>bLCYS*=>^ZYjuphF@Sj1hJbp3[@8z3[@8z]d@6+>bLCYS*=>^!M2Szh/o3T3[@j-fBPSzfBPSzgxP&$*n.fMS&5Z{!QNL(5bv)/fBVeY000000000000000*n.fMS&5Z{%m{Ik00000000030i=k0z[-%Y}$Tm(000001n>y0rzSU}S&A8l%5B1a3JHd09>FIY@:5!l01XM03<jp0rx{J:S&D9n^b?WIebDEk9{EEE}3i#u0q-(0f:W{&rx{%3%nOgi<t$UaUJ&g+iQiU!}sTA:1fexpfD)w6rx{Tu/iKG2}D)PFUwg6ki{%RY}sS9v4Y9vkAdw0gpYHHh%nOjyWfH5SUvQ(kkkIE}}bU<G4Wy80*>2L6kMy)uS&zhyWfI$nUv3#0DaHd}@-+Y1i*A:E/mi>!kMzi3S&ySjU9Og:ZJA].(By/k{Y1pei*A:E/t5S%kMy=:S&ySj@*0Jv}}v%K(GUBJ}cB8F00000?eA>&1YUK5K=+=STW6pj(E@ep[9xrp}Mo<w06*wY?gbp!0Axa1K+5TCt%M08(Ew#4[:7P#}Muc{1nYjp?cCu)096BoKB-HQzKd(q(ETT*^EZ^o}Muc!52#V0{G-ah096aPKDCT8X%x}h(IVjA!+0=YX#!n8kbzC}!.LO00963mK=VPdWlYbw(B9p+/8p8+zMMixk9YfYhfAhf096aPK=U&[XJ$LL}N6Ugh@g%#8#=ba}JU9+4rU$C00J=tFSVkj}C$w(%f{>N4[C4p0ak^a}JU9+1onzq00961FSY#$%nR-(00Ao3%nJ60DAcjfrJAd4%nSc000000!QNK0q]F.p06TAj7GG@89&!H9r&-mc7GBF+fBPSz%j7iJoZ%!B0oBl7t%Sxeal@cRtc1Z@t%OHl3[@8z!M2QJfZGi41c-!n@qZ3pALIvIS&#zc@qV?E1hC2O]>G+c.0q9r1c()cbum^WZ&fnrTn?#.bum:+1hC2ODx?Vn.%mAu4Zk)T82%Dp!MYnc@2+-o82%QY3[@8zBZLgG=3G<M4!T3LsMJ[](B+E2]y)ZmsMJ:kfBPSz%nt@6hc.*zacmphQ0%>IkK^N!Xa.0yQ0%(J00000!M2ULpW[z+iZsFc2B2y[6#j%peNeJW2B31J00000(xLvJr22xkC%CPG@]Br27xE[3tLgqi@]Ew0fBPSz]&Ie{q]HB0>#zR3tdETG4F1p+7u{)0tdFJJ3[@8zFbSHEoFD@f>#Cn<7oQUM4FEL9rSnRf7oUhA1hC2OBYXPAfX==C>#CnV1*g<v4Qeg9{3nDU1*ky31hC2O(qZ?=fX==C(q^7l1/>U71okAe{3hN)1/{(M3[@8z!MOlwgH7tx(xZWh6%0U302nX/sew<@6%3N}fBPSz%mGw[pW{aE(z<8GrJAd20005m@Y*C-rJCv:00000]<v+0pZ3?0r*Ad+>#y-0rI-(0rJCy+(qZ&+03y?k00000r(4&jtbwqY}bHBkrCueErH3P+(zmW+0d7:ES^>iLr(4^3S&xp+@/{K0rCFHkrAi40X#I^k0oEz+dprqZr(FufTlJ-JEPoyYrCFHkrAi40z%Bz0ac/[0csu&*rKErwULIm0En%o}r<hv+rAi407w+k0Dr0$Ec74HurJ>Z+%nM80C#W<YrJCy+rAi400L!R0>#y-0304-urCFMl}MA[0>#y-0rCQ&0rAi400dT}E>#y-00&=k2rAi8mLONn0>#y-0rCQ&0rAi4002?Tk>#y-000000rAi40z<pM)rAi7+r*uL$p>+iISG)I:0000000000008(0rAfc^x&OupS?&Pdp>+u*0*UIGfBPSz1onI6fBWlErRoaLSA320%lr5Sre3Y80Ch-]3[@8z1Q2cB3]1IYso5a%Rb:.:Tnko?p>-o?l<:4i1hC2O0tC<c1hE]pse@8%rCzC^qOLW8p)3oT@q)8p1hC2Op.j%Q1hEh*@?SQ{rCIvlp{i+ip(#}3%40LL3[@8z6ABza3[}UY}C*J}rA!J1p[7t^rdLCS%kkNtfBPSz0063HfBN{YrAi40rAks*rf*z=rd#B]%l{0*0000000000000000000f}#uY%(ES5p@&ix(rx[.arA7D0rx{J+ryitV06!mVtlB^6(TcV{UD2o.ro*/<t2x<8q#=[4r0=}o1j:TuyyTBY)rtOvtK5Wtp^sZMvP]:+pYHFgp:I+H4PNufyDkz0BVlu0uI.chkMB2GvQ]WykMy^0k:CH!iJwNX)={*Nqg2v}{5qA$kTj<uw#XZ[kMy^:lrd=2(AxHtjfejU6!==u74n:H1i4Qisokm-000102VW*6(?XkLgP)}EqfR#<\u002Fi^uk4l%QGwb)Hi00041aY+pp@n?ZOVGUNTrL-*aE{CAg4DhlkbO-{J00041Hfxdd1c]]S^DT=Fm/!9s6<TX^h?!csc0DEd000g4Rd{fk4QcElpPym}tnph*7Yvv}h==mh30K74000:k3AbyM4qLgn9<qME8=&lQ/ik3n)PJ/X32lq60031#0?:14iJF#{}d/h@tl1zDEqw>Z)wT)l2X]Sr00Mw000OQGi&!uC(pev^m.!}46#f:z)XN7[a/efs0992}2VUBUi&^*D(xeVV6%4w07xsk@(z<Zcmo9p!1YXL/b2}=p(At@x(zqj}qcHf+tMgQ0DAaelL#Q6H6&!ikdPGIM(A=}W}L?lg6+$F#%eIt0u&P^06&j(grAf20rAf3$01V<B57KV:0000-%g!Qm.)L0]rDRO]%nQ<Oq]F.p05Pf9fF#<m1n&em4r8sB=B9WV/l7x+}etD@oZ@bBR*]efJ-4*b2@2vCvJ}Ncug]Myhm}7I0FfZGMQfHaZn[hkY@4zY<Z16^@0(:t5C](]Yk}eubQ.0q.o.cx7>%k?5+4rzQK16=l[(9[Mqj:#W=}FUoe.%nQH-HEwS?M1/]16!j.5bXMwi>Z2Fh*T+&}etD/=3Hgq!%)gO:lHE?18{H8%np+Q4-qpF!-#R?{?@l#hcZa.he<97[Xt910kOTcFb-*f0%3>KrQf6o}el/zpW]{m55p1w*Ydsk0k[<fFb-![0%FNf@P->X}ell(r293S007H/>L$Op19sG1Fb-!V4zY)J1g)m@}FVz*q]L=p007L+(2*oE17g%-Bn{U[4s=eE1g)aZ}elvJoFHc>01Y7f}NS&k16kH5Ar1J{4r.ZG1hAC)}et(dfX/Vd0qfBV?#A-J17}Yo[b(XC4rZ%B@&!s^}7GUWfX=Td15]CK>t$Wr4[DJ$joF(p19KUpuA:$fXO/WDgH6[W4o9HEjfbyFfX{WJh#=:40ri3RuCDKv9DR!TpW[z+4olzk5c8X0.1zTD!Z:tt0000f@@r302HJIupZ3?01hB)p05c8b%nG!k0rr90@@zsMkMy=Y001bvr8&[#48q&N01V<B=@X+013=?^0L)$?<Y4HH003%rp.:ZC4eZ8Y1n@f0:YhFB4N<w$qlYsO!bU1n1hIZ!mmv}(g1OSC4&<6l-yi=%iZ)4Gqlo4K/q!b/3]2Gj6&kSC:n::IhYQp=-z]]t(p1YMqle$J/q!b/f??8K6&kSC=JBha{Ad>i-z]]t(p1YMqle$J:n=gWf?/v.mmv}(%1<Wt{z3RO.2%^a(p1YMqle$J(&m1Ji6t1Rp.-%i=JBjs{w+qy=})Kz(p1YMqle$J/z>)5h%^:Gr8>AF.#A^]{Y7nv(&m1J(oCsH0JP7#/z>)5hF&A[%nSb*.#ou7{Y7nv%5W+J(qZ?:rJw#$-z&a3hF-u[0000d:n+(#]&k1t/qEuO(8H+-S+UFj?#FonheHOH55XwG=KZ4m{Y7nv>DB:p(8H+-S+UFj}L@?:hF&K8fFHxD*@42*?V9=l%mG+0>bLCYS*=>^?#A-JhG1fBfFJFp[gUnf?.N7z!PNG+>bLCYS*=>^<T0/eh/uIwfFHoA06G:f?V9=l(uYOk*n.fMS&5Z{DB*eV5bzm%55W(s05Dqt%nSb%%nSc0*n.fMS&5Z{aohxk000000000e%5A80z#Y>krAi4000000:5Sft%nM80!QNK0004pA)}O)1V&y7Er8()$1hCC.:5J9tZYQQ9%j7iJL#I6&}!Ae1^zbVJr-Jd13[%AK:7tqJ-z-!9!M2QJL#H?I@+wEF-]QA*rBtz@4g*B[:5Mbt-z-!9]>G+cL#HVy%5A80:cph+mr@-M4l%@k:5LMdZYNOpDx?VnL#Hz4[2Aw::5LNSrPC90h2)RY:3<c1%nM&lBZLgGL#Gtw}(lT::7pK+rNMU5h1iRj:5VhK]uRfK%nt@6Fb(#U@&h%j:5D6/rNX#*!g-NT:5Mbt%nM&l!M2ULS&k2Vkug.Y:cz$trPC90!xXd%rNT/F/>jq+(xLvJ%nSc0=UxGK-]F85mr@-I/XuT%71lq=/&Lhx]&Ie{ZYTSp<nYe5.mD^pwNCa0*+n]-rNT@F/{z:sFbSHE*gO4f>L$Pk=#nZ+rAi4g*+n]-s>0AJ!T3moBYXPA*gNB=>#y-0<p$Skqb{E[?24#urNT@FZYNOp(qZ?=/>j]eXM8TE}2yzksYOKl/tEL*rNQ{F%nM80!MOlw!%xxpz#Y>k@&i0krA8%!hnJN6rNW$F]uWEp%mGw[*ns]J6&!mk%nSc0rAi40hpV?%qpCNB%nM80]<v+0%nSc05c8WB52&^G^+D^p56%>qZ<Vm.5ayb0%nSc0S&A80hc0T}59Wrl^y.UkppUnD!d*CmiB1BT}Mu<4G@F6M/8L.O59m-B?%rD02KyZN@rhP^(zJvp<.+/qG&IbN*Ydqz52BiW[h@/zk>1Oe}-%CE>M$SE<T#T0FMk&N?)R>akDeC/-7R)01mMaC>G%ne<hcC(<If%/FMkMF?FeIm[9a6y+/$h+%nRAV/eh2V<hcC(&{cMAFMkYJ?S}e@?@Ok2+*k(p!O.O1^*UZx<oyX+(Y[KJG?@H+?Kn=C?>+nD*$]I0?s7ju^[G5c)oWhE%aKWTFc{/d/rheV?(gzD?qkR+!O.noEfoJH(?W*J(.1SP00960<]to}?%1w2?t^I8!O<:o6C]q3i?M?Y>ix1prAns/}bHCc*OF?U%n5@0?s7x}5p-kik9boE<?H?N%nPa1kb$TL>kUA%])u7k!O<:M0Q)/ah{.9J<.H{.L#Z)=5c8WB}bHCc^0&Uk!O.y@2IW2@hn^sp<Y!4=L#W>^5c8WBkb$TLZ&f2J?s7yr9m%FRiDJCY<o{GRS&u4159X2F5c8WB.l)Pp(AxG=fVSIB9<ucY}M3T1%nLs+52B6S00000%g!:p%nSb*f#%s]2MK?J%nSc0%nJ*l1m#c1uJ2wYrSA13zASrWrR#?crr911rx{J+000004Z8$su*3hpsexY.t}H0>r%ck]p.i40q#=[4fBPSzi:pZEt&V?Yuo?&ct}G##t!&5rkSU$IpYHFg3[@8zkaM(]k>OF0t(U[Ft}G%2Bi+o[k<fZkkMy^01hC2OgP[t2k<-[#BC:=2t}xr>A$uF{59LLpkMy^:1hC2O4.7r^0o-a4A?Pi7y:Zl{A1yg=4dp.+000103[@8ziEbET1lpA.(oF^&A3$}H.vG}@1mMcq00041fBPSz<.%%04S#7M^Gc:)=>Ek4ZYwO00q]5X0004100000*n.fJixb=x:hm*Y!kYIU@2:Eg0pP!:000g400000[1#MJg&mXE=^R]=<.m=aan5.f5am74000:kfBPSz]o#M5hkBAD=*gR=k6:)r0998Z4dB6E0031#3[@8z=rGzp59c%!=!5iGgRhi1@6ai91n>y000Mw01hC2O4qUiE0KV*b==l1pf-Ga.=+O8P0pP!I0992}1hC2O4x^oY1:Nmo^/EiNh2>:u={7K=0Q^M+1YXL/3[@8z4.ac}6(HLZ/eV!H9o$/2h}p#m1+acI6&!ikfBPSz4ZlCErA)@MW()-fslo6pE]MQC6<{OkrAf200000000000/fyu(004oA0001ar238YZYaok%nQS:0m.5H01XM0<<\u0021HP004lz00047}9vq+}Mx(0}et@g13)V505LU}iE/OXkToA/1WAh9UAhlI&AGGZ}7H1s4fWIF0mR}/?C):*qit#^82%TJ8SR<k&AGW@}es:dg.*:a0m+oN:lG.OMdp3Twb(Pv0KJ[k>$uVC}FT)3hgD]M0m+oN^zbVJ{u3S2<wk*R0c*6}&CTv=}etx3iLVww05XJ(<nYf0UFkG+]/@GS1-cg}&AGW@{?@f%4/VIg06daX/&q3/rAjGkWeZgb09?wY=<9:J}el/z0$M(Y0m+(=!ViC2rAf3o]-a%(qfV}D>bRGZ}eumFyYI5T13{b>]@z?C[9Zld<V&!C8f^-z{odU@}FM<ZtlaZ64fY!F=8Z?/XW?}+r1G7b7ptiF{od<g}et>Gr>}:pg.<2{!byfrwmLZD6Awbzr<=n0%nN.*}et(VrJ]I8hgKeT!wXEs5d!&j1onAtyuctk&AH@K}7GSo!Vq!L!XB4U<>u+J0001o000fwZMYJk{od<gXO/YdhOx7&/aesaiOHJI000:Z0004b<XMa+{odU@9DR^ckKXTM/aesa5c8X00005k00019q#]l0%nSc02HJIu[w227)YGL%rC+}9(.Rh83Qu%R00000rzVY}u!r{5%5Ga0)YJNWw$D6?(/#6[tnpcs01X#crx%Q=*=NXT0m*:x)YJQbtcs)>(-dLdtm<>n06j(}p^wn+jWo3}6/CQ-)YJNXx70m@(-N?htnpdr0p1smkMC5qaj7n+EkR68)YKcrtctE5(-N?htnpdr1fcau0043sDAW)Y%4SK[@&Sq)r<5F5%eJVBtnrA64YToB0043s}FV[E%4Se^(&9]/yoB+L)!TY:TcGJThk%=H0048<}%^FJsiZvq(.1jS%nR=7)QbXN%nSc0iC1HYkMF&8D?VB+rN.0F(.O(b]&nPn)YG:V00000D2JH}1Y-PyE.m>TrN.0F(/${DhMBv2)YJRR06*wYDAW)Y0AEfCu?tDkB<<t$(-dK)iQjh/)YJOQ1nYjpDE8h+09d6Bshj{*B<*sj(-N<\u002FCb&c=)YKd!52#V0DE8h+09d6BB<8TEB<{x<(-N*:D9j-<)YKd!kbzC}DC^U509d6?]$QVp@Np/DF2Z8BCiVVLEY/ZHk9YfYi<Wbk09d8jFaK&Yu^&1Z2Mzrl}L}rS2MzG+}JU9+9<ucY00N(5rSdzEsn-av00&M7%nQBC00*<J}JU9+2MK?J00ic1%nSc0%nSc000924}O91g(C6y@UJ(a/jodRn000000001(UJ>z/01VdbUJ>PS}Mu)}UJ&Z5hXk.2fBPSz5c8+GUJ&Z506m8]SCnHmi&YmSUJ&c?h-X4A3[@8z3zmDdUJ*Op06l%QyfEXs4YWb9Te-h7i}*t=1hC2ObP3O9TeX%}0p3OXtb[R6h%QyxS>bm^4!4j01hC2OL#W@eS&w1T52&:etbu06ci7-.Tn&i416VhF3[@8zMx?J3UbKvVi&c2VynCan59*U6UB./:4R[0KfBPSzNpQ)GX$}P!i*BDWS&og61j<sm@-+-84Y?.(00000Mt8kbX%mPb(xOt-SCkRqp8Ym985FBu4/wMb00000c26e.Tnq*@(Z1wYx<dL5g&6}6upT6Y4@yvifBPSz3w>6RTnqW@[2AjXt3v%6hnvf6z^i6yiC!e=3[@8z00#!oS{l:?)Y9p-tb[QmcI(u&DFtS<iJR-p1hC2Oc<:TsS&Akb)Y9p-tb[Qm3GZ3AY4-Ogi>LEV1hC2OK{JlhTe-kQ(Avj:tb}C1k)jk.W5/uOfzCLB3[@8zRu!pAywIYy(C6u#yo4olwe3A)KPHas3zmwEfBPSza{Yp>tcq5g(C6v}UD4P5t2+Mgdf{?}0000000000c<1]1r<2G9r&=o2%j7aHS<z+xirgb2%nSc0ULLo4p-FE0X#I$gM0BT{^dTCsrJ(Ih9Zyin%nSc0UN^+BpZi0+UbZ$3UK>Yx])iXsr]sd=4P0K#S}@:(!KeT3LMgX0ZPkgLY)52>Esww3S]$kCn0CK7S&A80%iQU(R9C5+:l%okV]uL2Pz(IaS]v7bn0P1jX#I^gY0KRx>A2]59EF{h[P!g7RgnbwS]QjCr{yT7S>XLkXOTey>J0Ppg-Q^U])S%x(z@rtTk%.=thSSITl0NoU3olY<N:JkgSOQ*}fSaM[a%Fh%k^FITl0N=uo!L0%mT!F<UN@YgSMc/@:8Q]]G6vdsliV3@]Ewm}2yzk[d1m{<-zIEg-79w/o=Gq^r-iDtJG7t0{9UFWgz+k!Kek0<*}Q0iAK3#!-v4p!W&d{yVO=%tie#MBR0$E%iP>z>kUEJi:h<?<:H7)/82hPS{9P:ysNa1h3pT0Y0Q+c(RE=JpobCs}b^mP%lGUOS}]=YTcG(*iyyS0XOVVz)eNckM-UKJZeXh4}MkmFS>K!gU9M/4zCQIEXM=*MV&y7E<]jvV%d@=@S<NuRS&@C9X#LRbTcD-JU3.ji=@B6JY8RDm%nSc0%nSc0%nSc0%nSc0%nSc0%m]Z)mqw/0[0d?>%5Pf}<P:%N006h/0005hS?&[0En$^&rJqr:%nG!k&qX%D(rBa=kTqEL0ycWmS&o:kB6[X]tb[M4p-FE0XIoyy&ihiWqiv%{20-ug%eJ9lB9K<>yo1pl>%*!JUbhe[<zSyHMdr0k8upsGTlM.YDH!&F2caX*@/GW+T@DcU<\u002FvGE{u5Gcx+QLz2kUyYuHMCgp+5G0%k^F+Zf/)](h{=%%nPk!}a}5R0LU+0r%@p@dYPI5].AzE[ufgd}9Il/ZPaFqX<ck}6#3(pumQ7.dYPG-<?laE=#eY{}C[16S&Am:T]FC40E?jGuAFMOn#!*&(B?UE^xzGxEYuDGS&u9hU0q%!5:DAYuJ2x7p]Y7j}U+]E!^E!PZY6XkS&u6gZcz&!7v4@+uOgizrr9+lZX@VY>MZ[WXI6)B%nJ^V}a}9N8Tsx1CR5r=rAi!0z#NJE}b!:7<xHX.XW?@<rrJqjyWd$=iiqVqp/TJ(M?)]pZnhk5<.J%}wmL:/1PPlNUD1S0i>LT-rAl50UA-e+UJYl!<\u002FvWH5d!(N0rrpM@&i0k5a&<0rAb#(XJ*gkY$O2-(z%e/0033}0004GS&o:kkV7IZrAgJ5<p$Sk]-}rj}MG+g000l10002gS?&[0r0uo4rAhp0KY[OJ070p60T)732)gec1onA46b82)6b82)6b82.0S&Ab0S&A869OBs0Te-e0S<2s0S&A81Q1(d69OKy1Q1#i1oGkr0T5Sf1Q1(d69OBs0Te-e0S<2s1Qb5k1Qb5k69njp0TeSb0S<2G6b82)6b82)1Qa@e0TeSb0S&Ab0S&Ab1P!-b0TeSb0S&Jd0S&Ab1Qb5j1Q1@f0S&Aa1o!@i0S&Je0S&Ab1P!-b0Te-h1Qb5k1Qa@e0S&Ab0S&A86b82)6b82)6b7JM0S&Ab0S&A80TeSb0Te-e0S&Ab0S&A81Q1(d0Te-h1Q1#i1oFSa0T5Sf1Q1(d1Qa@e0Te-e0S&Ab1Qb5k1Qb5k0S&A80TeSb0S<2G6b82)6b82)1Qa@e0TeSb0TeSe0S&Ab1P!-e0TeSb0S&Jd0TeSe1Qb5j1Q1@i0S&Aa1o!@i0Te-h0S&Ab1P!-e0Te-h1Qb5k1Qa@e0S&Ab0S&Ab6b82)6b82)6b7JM0S&Ab0S&A81Qa@e0TeSb0S&Je0S&Ab0S&A81Qa@e0TeSb0S&Je0S&Ab0S&A81Qa@e0TeSb0S&Je0S&Ab0S&A81Qa@e0TeSb0S<2G6b82)6b82)1Qa@e0TeSb0S&Je0S&Ab0S&A81Qa@e0TeSb0S&Je0S&Ab0S&A81Qa@e0TeSb0S&Je0S&Ab0S&A81Qa@e0TeSb0S&Je0S&Ab0S&A86b82)6b82)6b7JM0S&Ab0S&A81Qa@e0TeSb0S&Je0S&Ab0S&A81Qa@e0TeSb0S&Je0S&Ab0S&A81Qa@e0TeSb0S&Je0S&Ab0S&A81Qa@e0TeSb0S<2G6b82)6b82)1Qa@e0TeSb0UURs0S&Ab1P!-s0TeSb0S&Jd0UURs1Qb5j1Q1@w0S&[email protected]&Ab1P!-s0Te-h1Qb5k1RQ}s0S&Ab0S&Ap69njp1o!&d0S<2s0S&Ab0S&A869OBs0Te-e0S<2s0S&A81Q1(d69OKy1Q1#i1oGkr0T5Sf1Q1(d69OBs0Te-e0S<2s1Qb5k1QbwD69njp0TeSb5d[%B0S&Gd0S&A81Qa@e0TeSb0S&Ab0S&Ab1P!-b0TeSb0S&Jd0S&Ab1Qb5j1Q1@f0S&Aa1o!@i0S&Je0S&Ab1P!-b6A[Tz1Qb5k1QbwD4I63W4I63W0S&A81o!&d0S&Je0S&Ab0S&A80TeSb0Te-e0S&Ab0S&A81Q1(d0Te-h1Q1#i1oFSa0T5Sf1Q1(d1Qa@e0Te-e0S&Ab1Qb5k1Qb5k4I63W0TeSn4?nTx0S&Gd0S&Ab1Qa@e0TeSb0TeSe0S&Ab1P!-e0TeSb0S&Jd0TeSe1Qb5j1Q1@i0S&Aa1o!@i0Te-h0S&Ab1P!-e0Te-h1Qb5k1Qbzr0S&Ab0S&Ab0S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&Gd0S&Ap1Qa@e0TeSb0UURs0S&Ab1P!-s0TeSb0S&Jd0UURs1Qb5j1Q1@w0S&[email protected]&Ab1P!-s0Te-h1Qb5k1RQ}s0S&Ab0S&Ap69njp1o!&d4I6iR0S&Ab0S&]B69OBs0Te-e0S<2s0S&A81Q1(d69OKy1Q1#i1oGkr0T5Sf1Q1(d69OBs0Te-e0S<2s1Qb5k1Qb5k69njp0TeSb0S&]B5d]D=5d]D=6AOsq0S&A80S&A86AOsI1oGns0S&Aq0S&Aa0S&Ab1Qb5k1oX&e0Te-e0TeYf0S&Aq6AOst0S&Je0S&A81Qb5k1R7On0S&Jb0S&Am5d]D=1oX&s5Fb9H2NH?v0S&A80Te@u4h5:A0S&Ab1{Utq69njp0Te-h1Q1@h1oFSa0%w-f1oX=c1Qa@e0S&A80%e#p1Qb5k1Qb5k5DS1n0S&Jb0S&@n0S&Gd0S&A81Qa@e0TeSb0S&Ab0S&Ab1P!-b0TeSb0S&Jd0S&Ab1Qb5j1Q1@f0S&Aa1o!@i0S&Je0S&Ab1P!-b0Te-h1Qb5k1P!-b0S&Ab0S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&Gd0S&Ap1Qa@e0TeSb0UURs0S&Ab1P!-s0TeSb0S&Jd0UURs1Qb5j1Q1@w0S&[email protected]&Ab1P!-s0Te-h1Qb5k1RQ}s0S&Ab0S&Ap69njp1o!&d0S<2s0S&Ab0S&A869OBs0Te-e0S<2s0S&A81Q1(d69OKy1Q1#i1oGkr0T5Sf1Q1(d69OBs0Te-e0S<2s1Qb5k1Qb5k69njp0TeSb0S&Je1Qb5h0S&Ak1P!-b0S&A80UtIp1oX&e0T5Mm1P!/d1oFYc1p$.r1oX=c1oX&q1P!/d1oFYc1p$.r1oFYc1oFYo1Qa@e0S&A80Utzp1Qb5k1Qb5k4/#!l0S&Jb0S&@n0S&Ab1P!-b4/#>n0TeSb0S&@p0T5Md0S&A84/#>n0TeYf0S&@n0S&Je1oX=c4/#!o1Q1@h0S&@n0TeSd1oFSa1Qb5k1oX&e0S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&Ap0S&A80S&A80UURp0S&A80S&Ap0S&A80S&A80UURp0S&A80S&Ap0S&A80S&A80UURp0S&A80S&Ap0S&A80S&A80UURp0S&A80S&Ap69njp0S&A80S<2p0S&A80S&A869njp0S&A80S<2p0S&A80S&A869njp0S&A80S<2p0S&A80S&A869njp0S&A80S<2p0S&A80S&A869njp0S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&Ap0S&A80S&A80UURp0S&A80S&Ap0S&A80S&A80UURp0S&A80S&Ap0S&A80S&A80UURp0S&A80S&Ap0S&A80S&A80UURp0S&A80S&Ap69njp0S&A80S<2p0S&A80S&A869njp0S&A80S<2p0S&A80S&A869njp0S&A80S<2p0S&A80S&A869njp0S&A80S<2p0S&A80S&A869njp0S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&Ap0S&A80S&A80UURp0S&A80S&Ap0S&A80S&A80UURp0S&A80S&Ap0S&A80S&A80UURp0S&A80S&Ap0S&A80S&A80UURp0S&A80S&Ap69njp0S&A80S<2p0S&A80S&A869njp0S&A80S<2p0S&A80S&A869njp0S&A80S<2p0S&A80S&A869njp0S&A80S<2p0S&A80S&A869njp0S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&Ap0S&A80S&A80UURp0S&A80S&Ap0S&A80S&A80UURp0S&A80S&Ap0S&A80S&A80UURp0S&A80S&Ap0S&A80S&A80UURp0S&A80S&Ap69njp0S&A80S<2p0S&A80S&A869njp0S&A80S<2p0S&A80S&A869njp0S&A80S<2p0S&A80S&A869njp0S&A80S<2p0S&A80S&A86b82)6b82)6b7AG0S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S<2G6b82)6b82)0S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A86b82)6b82)6b7AG0S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S<2G6b82)6b82)0S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A86b82)6b82)6b7AG0S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S<2G6b82)6b82)0S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A80S&A86b82)6b82)6b7AG0S&A80S&Ap0S&A80S&A80UURp0S&A80S&Ap0S&A80S&A80UURp0S&A80S&Ap0S&A80S&A80UURp0S&A80S&Ap0S&A80S&A80UVjX6b82)6b82)7xsBn0rr91kl7V-0rr916Awak2)gec3&*nc7YTKomf0q/%nJ6000000000005c8Xg5c8Xg0@@r32)gec","WASM4_CART_SIZE":55020}</script>
<script>var __defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(t,e,s)=>e in t?__defProp(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,__spreadValues=(t,e)=>{for(var s in e||(e={}))__hasOwnProp.call(e,s)&&__defNormalProp(t,s,e[s]);if(__getOwnPropSymbols)for(var s of __getOwnPropSymbols(e))__propIsEnum.call(e,s)&&__defNormalProp(t,s,e[s]);return t},__spreadProps=(t,e)=>__defProps(t,__getOwnPropDescs(e)),wasm4=function(t){"use strict";
/**
* @license
* Copyright 2019 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
const e=window.ShadowRoot&&(void 0===window.ShadyCSS||window.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,s=Symbol(),i=new Map;class n{constructor(t,e){if(this._$cssResult$=!0,e!==s)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t}get styleSheet(){let t=i.get(this.cssText);return e&&void 0===t&&(i.set(this.cssText,t=new CSSStyleSheet),t.replaceSync(this.cssText)),t}toString(){return this.cssText}}const r=(t,...e)=>{const i=1===t.length?t[0]:e.reduce(((e,s,i)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(s)+t[i+1]),t[0]);return new n(i,s)},o=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const s of t.cssRules)e+=s.cssText;return(t=>new n("string"==typeof t?t:t+"",s))(e)})(t):t
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/;var a;const l=window.trustedTypes,c=l?l.emptyScript:"",h=window.reactiveElementPolyfillSupport,d={toAttribute(t,e){switch(e){case Boolean:t=t?c:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let s=t;switch(e){case Boolean:s=null!==t;break;case Number:s=null===t?null:Number(t);break;case Object:case Array:try{s=JSON.parse(t)}catch(i){s=null}}return s}},u=(t,e)=>e!==t&&(e==e||t==t),p={attribute:!0,type:String,converter:d,reflect:!1,hasChanged:u};class f extends HTMLElement{constructor(){super(),this._$Et=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Ei=null,this.o()}static addInitializer(t){var e;null!==(e=this.l)&&void 0!==e||(this.l=[]),this.l.push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach(((e,s)=>{const i=this._$Eh(s,e);void 0!==i&&(this._$Eu.set(i,s),t.push(i))})),t}static createProperty(t,e=p){if(e.state&&(e.attribute=!1),this.finalize(),this.elementProperties.set(t,e),!e.noAccessor&&!this.prototype.hasOwnProperty(t)){const s="symbol"==typeof t?Symbol():"__"+t,i=this.getPropertyDescriptor(t,s,e);void 0!==i&&Object.defineProperty(this.prototype,t,i)}}static getPropertyDescriptor(t,e,s){return{get(){return this[e]},set(i){const n=this[t];this[e]=i,this.requestUpdate(t,n,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||p}static finalize(){if(this.hasOwnProperty("finalized"))return!1;this.finalized=!0;const t=Object.getPrototypeOf(this);if(t.finalize(),this.elementProperties=new Map(t.elementProperties),this._$Eu=new Map,this.hasOwnProperty("properties")){const t=this.properties,e=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const s of e)this.createProperty(s,t[s])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const s=new Set(t.flat(1/0).reverse());for(const t of s)e.unshift(o(t))}else void 0!==t&&e.push(o(t));return e}static _$Eh(t,e){const s=e.attribute;return!1===s?void 0:"string"==typeof s?s:"string"==typeof t?t.toLowerCase():void 0}o(){var t;this._$Ep=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$Em(),this.requestUpdate(),null===(t=this.constructor.l)||void 0===t||t.forEach((t=>t(this)))}addController(t){var e,s;(null!==(e=this._$Eg)&&void 0!==e?e:this._$Eg=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(s=t.hostConnected)||void 0===s||s.call(t))}removeController(t){var e;null===(e=this._$Eg)||void 0===e||e.splice(this._$Eg.indexOf(t)>>>0,1)}_$Em(){this.constructor.elementProperties.forEach(((t,e)=>{this.hasOwnProperty(e)&&(this._$Et.set(e,this[e]),delete this[e])}))}createRenderRoot(){var t;const s=null!==(t=this.shadowRoot)&&void 0!==t?t:this.attachShadow(this.constructor.shadowRootOptions);return i=s,n=this.constructor.elementStyles,e?i.adoptedStyleSheets=n.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):n.forEach((t=>{const e=document.createElement("style"),s=window.litNonce;void 0!==s&&e.setAttribute("nonce",s),e.textContent=t.cssText,i.appendChild(e)})),s;var i,n}connectedCallback(){var t;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(t=this._$Eg)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostConnected)||void 0===e?void 0:e.call(t)}))}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this._$Eg)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostDisconnected)||void 0===e?void 0:e.call(t)}))}attributeChangedCallback(t,e,s){this._$AK(t,s)}_$ES(t,e,s=p){var i,n;const r=this.constructor._$Eh(t,s);if(void 0!==r&&!0===s.reflect){const o=(null!==(n=null===(i=s.converter)||void 0===i?void 0:i.toAttribute)&&void 0!==n?n:d.toAttribute)(e,s.type);this._$Ei=t,null==o?this.removeAttribute(r):this.setAttribute(r,o),this._$Ei=null}}_$AK(t,e){var s,i,n;const r=this.constructor,o=r._$Eu.get(t);if(void 0!==o&&this._$Ei!==o){const t=r.getPropertyOptions(o),a=t.converter,l=null!==(n=null!==(i=null===(s=a)||void 0===s?void 0:s.fromAttribute)&&void 0!==i?i:"function"==typeof a?a:null)&&void 0!==n?n:d.fromAttribute;this._$Ei=o,this[o]=l(e,t.type),this._$Ei=null}}requestUpdate(t,e,s){let i=!0;void 0!==t&&(((s=s||this.constructor.getPropertyOptions(t)).hasChanged||u)(this[t],e)?(this._$AL.has(t)||this._$AL.set(t,e),!0===s.reflect&&this._$Ei!==t&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(t,s))):i=!1),!this.isUpdatePending&&i&&(this._$Ep=this._$E_())}async _$E_(){this.isUpdatePending=!0;try{await this._$Ep}catch(e){Promise.reject(e)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Et&&(this._$Et.forEach(((t,e)=>this[e]=t)),this._$Et=void 0);let e=!1;const s=this._$AL;try{e=this.shouldUpdate(s),e?(this.willUpdate(s),null===(t=this._$Eg)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostUpdate)||void 0===e?void 0:e.call(t)})),this.update(s)):this._$EU()}catch(i){throw e=!1,this._$EU(),i}e&&this._$AE(s)}willUpdate(t){}_$AE(t){var e;null===(e=this._$Eg)||void 0===e||e.forEach((t=>{var e;return null===(e=t.hostUpdated)||void 0===e?void 0:e.call(t)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$Ep}shouldUpdate(t){return!0}update(t){void 0!==this._$EC&&(this._$EC.forEach(((t,e)=>this._$ES(e,this[e],t))),this._$EC=void 0),this._$EU()}updated(t){}firstUpdated(t){}}
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
var m;f.finalized=!0,f.elementProperties=new Map,f.elementStyles=[],f.shadowRootOptions={mode:"open"},null==h||h({ReactiveElement:f}),(null!==(a=globalThis.reactiveElementVersions)&&void 0!==a?a:globalThis.reactiveElementVersions=[]).push("1.3.0");const y=globalThis.trustedTypes,w=y?y.createPolicy("lit-html",{createHTML:t=>t}):void 0,b=`lit$${(Math.random()+"").slice(9)}$`,g="?"+b,v=`<${g}>`,A=document,_=(t="")=>A.createComment(t),x=t=>null===t||"object"!=typeof t&&"function"!=typeof t,k=Array.isArray,$=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,S=/-->/g,P=/>/g,E=/>|[ \n\r](?:([^\s"'>=/]+)([ \n\r]*=[ \n\r]*(?:[^ \n\r"'`<>=]|("|')|))|$)/g,C=/'/g,U=/"/g,I=/^(?:script|style|textarea|title)$/i,M=(N=1,(t,...e)=>({_$litType$:N,strings:t,values:e})),T=Symbol.for("lit-noChange"),L=Symbol.for("lit-nothing"),O=new WeakMap,R=A.createTreeWalker(A,129,null,!1);var N;class B{constructor({strings:t,_$litType$:e},s){let i;this.parts=[];let n=0,r=0;const o=t.length-1,a=this.parts,[l,c]=((t,e)=>{const s=t.length-1,i=[];let n,r=2===e?"<svg>":"",o=$;for(let l=0;l<s;l++){const e=t[l];let s,a,c=-1,h=0;for(;h<e.length&&(o.lastIndex=h,a=o.exec(e),null!==a);)h=o.lastIndex,o===$?"!--"===a[1]?o=S:void 0!==a[1]?o=P:void 0!==a[2]?(I.test(a[2])&&(n=RegExp("<\u002F"+a[2],"g")),o=E):void 0!==a[3]&&(o=E):o===E?">"===a[0]?(o=null!=n?n:$,c=-1):void 0===a[1]?c=-2:(c=o.lastIndex-a[2].length,s=a[1],o=void 0===a[3]?E:'"'===a[3]?U:C):o===U||o===C?o=E:o===S||o===P?o=$:(o=E,n=void 0);const d=o===E&&t[l+1].startsWith("/>")?" ":"";r+=o===$?e+v:c>=0?(i.push(s),e.slice(0,c)+"$lit$"+e.slice(c)+b+d):e+b+(-2===c?(i.push(void 0),l):d)}const a=r+(t[s]||"<?>")+(2===e?"<\u002Fsvg>":"");if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return[void 0!==w?w.createHTML(a):a,i]})(t,e);if(this.el=B.createElement(l,s),R.currentNode=this.el.content,2===e){const t=this.el.content,e=t.firstChild;e.remove(),t.append(...e.childNodes)}for(;null!==(i=R.nextNode())&&a.length<o;){if(1===i.nodeType){if(i.hasAttributes()){const t=[];for(const e of i.getAttributeNames())if(e.endsWith("$lit$")||e.startsWith(b)){const s=c[r++];if(t.push(e),void 0!==s){const t=i.getAttribute(s.toLowerCase()+"$lit$").split(b),e=/([.?@])?(.*)/.exec(s);a.push({type:1,index:n,name:e[2],strings:t,ctor:"."===e[1]?z:"?"===e[1]?G:"@"===e[1]?W:j})}else a.push({type:6,index:n})}for(const e of t)i.removeAttribute(e)}if(I.test(i.tagName)){const t=i.textContent.split(b),e=t.length-1;if(e>0){i.textContent=y?y.emptyScript:"";for(let s=0;s<e;s++)i.append(t[s],_()),R.nextNode(),a.push({type:2,index:++n});i.append(t[e],_())}}}else if(8===i.nodeType)if(i.data===g)a.push({type:2,index:n});else{let t=-1;for(;-1!==(t=i.data.indexOf(b,t+1));)a.push({type:7,index:n}),t+=b.length-1}n++}}static createElement(t,e){const s=A.createElement("template");return s.innerHTML=t,s}}function D(t,e,s=t,i){var n,r,o,a;if(e===T)return e;let l=void 0!==i?null===(n=s._$Cl)||void 0===n?void 0:n[i]:s._$Cu;const c=x(e)?void 0:e._$litDirective$;return(null==l?void 0:l.constructor)!==c&&(null===(r=null==l?void 0:l._$AO)||void 0===r||r.call(l,!1),void 0===c?l=void 0:(l=new c(t),l._$AT(t,s,i)),void 0!==i?(null!==(o=(a=s)._$Cl)&&void 0!==o?o:a._$Cl=[])[i]=l:s._$Cu=l),void 0!==l&&(e=D(t,l._$AS(t,e.values),l,i)),e}class F{constructor(t,e){this.v=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}p(t){var e;const{el:{content:s},parts:i}=this._$AD,n=(null!==(e=null==t?void 0:t.creationScope)&&void 0!==e?e:A).importNode(s,!0);R.currentNode=n;let r=R.nextNode(),o=0,a=0,l=i[0];for(;void 0!==l;){if(o===l.index){let e;2===l.type?e=new H(r,r.nextSibling,this,t):1===l.type?e=new l.ctor(r,l.name,l.strings,this,t):6===l.type&&(e=new q(r,this,t)),this.v.push(e),l=i[++a]}o!==(null==l?void 0:l.index)&&(r=R.nextNode(),o++)}return n}m(t){let e=0;for(const s of this.v)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,e),e+=s.strings.length-2):s._$AI(t[e])),e++}}class H{constructor(t,e,s,i){var n;this.type=2,this._$AH=L,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=s,this.options=i,this._$Cg=null===(n=null==i?void 0:i.isConnected)||void 0===n||n}get _$AU(){var t,e;return null!==(e=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==e?e:this._$Cg}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return void 0!==e&&11===t.nodeType&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=D(this,t,e),x(t)?t===L||null==t||""===t?(this._$AH!==L&&this._$AR(),this._$AH=L):t!==this._$AH&&t!==T&&this.$(t):void 0!==t._$litType$?this.T(t):void 0!==t.nodeType?this.k(t):(t=>{var e;return k(t)||"function"==typeof(null===(e=t)||void 0===e?void 0:e[Symbol.iterator])})(t)?this.S(t):this.$(t)}A(t,e=this._$AB){return this._$AA.parentNode.insertBefore(t,e)}k(t){this._$AH!==t&&(this._$AR(),this._$AH=this.A(t))}$(t){this._$AH!==L&&x(this._$AH)?this._$AA.nextSibling.data=t:this.k(A.createTextNode(t)),this._$AH=t}T(t){var e;const{values:s,_$litType$:i}=t,n="number"==typeof i?this._$AC(t):(void 0===i.el&&(i.el=B.createElement(i.h,this.options)),i);if((null===(e=this._$AH)||void 0===e?void 0:e._$AD)===n)this._$AH.m(s);else{const t=new F(n,this),e=t.p(this.options);t.m(s),this.k(e),this._$AH=t}}_$AC(t){let e=O.get(t.strings);return void 0===e&&O.set(t.strings,e=new B(t)),e}S(t){k(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let s,i=0;for(const n of t)i===e.length?e.push(s=new H(this.A(_()),this.A(_()),this,this.options)):s=e[i],s._$AI(n),i++;i<e.length&&(this._$AR(s&&s._$AB.nextSibling,i),e.length=i)}_$AR(t=this._$AA.nextSibling,e){var s;for(null===(s=this._$AP)||void 0===s||s.call(this,!1,!0,e);t&&t!==this._$AB;){const e=t.nextSibling;t.remove(),t=e}}setConnected(t){var e;void 0===this._$AM&&(this._$Cg=t,null===(e=this._$AP)||void 0===e||e.call(this,t))}}class j{constructor(t,e,s,i,n){this.type=1,this._$AH=L,this._$AN=void 0,this.element=t,this.name=e,this._$AM=i,this.options=n,s.length>2||""!==s[0]||""!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=L}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,e=this,s,i){const n=this.strings;let r=!1;if(void 0===n)t=D(this,t,e,0),r=!x(t)||t!==this._$AH&&t!==T,r&&(this._$AH=t);else{const i=t;let o,a;for(t=n[0],o=0;o<n.length-1;o++)a=D(this,i[s+o],e,o),a===T&&(a=this._$AH[o]),r||(r=!x(a)||a!==this._$AH[o]),a===L?t=L:t!==L&&(t+=(null!=a?a:"")+n[o+1]),this._$AH[o]=a}r&&!i&&this.C(t)}C(t){t===L?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:"")}}class z extends j{constructor(){super(...arguments),this.type=3}C(t){this.element[this.name]=t===L?void 0:t}}const V=y?y.emptyScript:"";class G extends j{constructor(){super(...arguments),this.type=4}C(t){t&&t!==L?this.element.setAttribute(this.name,V):this.element.removeAttribute(this.name)}}class W extends j{constructor(t,e,s,i,n){super(t,e,s,i,n),this.type=5}_$AI(t,e=this){var s;if((t=null!==(s=D(this,t,e,0))&&void 0!==s?s:L)===T)return;const i=this._$AH,n=t===L&&i!==L||t.capture!==i.capture||t.once!==i.once||t.passive!==i.passive,r=t!==L&&(i===L||n);n&&this.element.removeEventListener(this.name,this,i),r&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var e,s;"function"==typeof this._$AH?this._$AH.call(null!==(s=null===(e=this.options)||void 0===e?void 0:e.host)&&void 0!==s?s:this.element,t):this._$AH.handleEvent(t)}}class q{constructor(t,e,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){D(this,t)}}const J=window.litHtmlPolyfillSupport;
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
var Y,K;null==J||J(B,H),(null!==(m=globalThis.litHtmlVersions)&&void 0!==m?m:globalThis.litHtmlVersions=[]).push("2.2.0");class X extends f{constructor(){super(...arguments),this.renderOptions={host:this},this._$Dt=void 0}createRenderRoot(){var t,e;const s=super.createRenderRoot();return null!==(t=(e=this.renderOptions).renderBefore)&&void 0!==t||(e.renderBefore=s.firstChild),s}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Dt=((t,e,s)=>{var i,n;const r=null!==(i=null==s?void 0:s.renderBefore)&&void 0!==i?i:e;let o=r._$litPart$;if(void 0===o){const t=null!==(n=null==s?void 0:s.renderBefore)&&void 0!==n?n:null;r._$litPart$=o=new H(e.insertBefore(_(),t),t,void 0,null!=s?s:{})}return o._$AI(t),o})(e,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),null===(t=this._$Dt)||void 0===t||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this._$Dt)||void 0===t||t.setConnected(!1)}render(){return T}}X.finalized=!0,X._$litElement$=!0,null===(Y=globalThis.litElementHydrateSupport)||void 0===Y||Y.call(globalThis,{LitElement:X});const Z=globalThis.litElementPolyfillSupport;null==Z||Z({LitElement:X}),(null!==(K=globalThis.litElementVersions)&&void 0!==K?K:globalThis.litElementVersions=[]).push("3.2.0");
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
const Q=t=>e=>{return"function"==typeof e?(s=t,i=e,window.customElements.define(s,i),i):((t,e)=>{const{kind:s,elements:i}=e;return{kind:s,elements:i,finisher(e){window.customElements.define(t,e)}}})(t,e);
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/var s,i},tt=(t,e)=>"method"===e.kind&&e.descriptor&&!("value"in e.descriptor)?__spreadProps(__spreadValues({},e),{finisher(s){s.createProperty(e.key,t)}}):{kind:"field",key:Symbol(),placement:"own",descriptor:{},originalKey:e.key,initializer(){"function"==typeof e.initializer&&(this[e.key]=e.initializer.call(this))},finisher(s){s.createProperty(e.key,t)}};
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
function et(t){return e=__spreadProps(__spreadValues({},t),{state:!0}),(t,s)=>{return void 0!==s?(i=e,n=s,void t.constructor.createProperty(n,i)):tt(e,t);var i,n};var e}
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
function st(t,e){return(({finisher:t,descriptor:e})=>(s,i)=>{var n;if(void 0===i){const i=null!==(n=s.originalKey)&&void 0!==n?n:s.key,r=null!=e?{kind:"method",placement:"prototype",key:i,descriptor:e(s.key)}:__spreadProps(__spreadValues({},s),{key:i});return null!=t&&(r.finisher=function(e){t(e,i)}),r}{const n=s.constructor;void 0!==e&&Object.defineProperty(s,i,e(i)),null==t||t(n,i)}})({descriptor:s=>{const i={get(){var e,s;return null!==(s=null===(e=this.renderRoot)||void 0===e?void 0:e.querySelector(t))&&void 0!==s?s:null},enumerable:!0,configurable:!0};if(e){const e="symbol"==typeof s?Symbol():"__"+s;i.get=function(){var s,i;return void 0===this[e]&&(this[e]=null!==(i=null===(s=this.renderRoot)||void 0===s?void 0:s.querySelector(t))&&void 0!==i?i:null),this[e]}}return i}})}
/**
* @license
* Copyright 2021 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/var it;null===(it=window.HTMLSlotElement)||void 0===it||it.prototype.assignedElements;const nt=160,rt=160,ot=1024,at=[14743759,8831084,3172432,464929],lt=16,ct=32,ht=64,dt=128,ut=Uint8Array.of(255,255,255,255,255,255,255,255,199,199,199,207,207,255,207,255,147,147,147,255,255,255,255,255,147,1,147,147,147,1,147,255,239,131,47,131,233,3,239,255,157,91,55,239,217,181,115,255,143,39,39,143,37,51,129,255,207,207,207,255,255,255,255,255,243,231,207,207,207,231,243,255,159,207,231,231,231,207,159,255,255,147,199,1,199,147,255,255,255,231,231,129,231,231,255,255,255,255,255,255,255,207,207,159,255,255,255,129,255,255,255,255,255,255,255,255,255,207,207,255,253,251,247,239,223,191,127,255,199,179,57,57,57,155,199,255,231,199,231,231,231,231,129,255,131,57,241,195,135,31,1,255,129,243,231,195,249,57,131,255,227,195,147,51,1,243,243,255,3,63,3,249,249,57,131,255,195,159,63,3,57,57,131,255,1,57,243,231,207,207,207,255,135,59,27,135,97,121,131,255,131,57,57,129,249,243,135,255,255,207,207,255,207,207,255,255,255,207,207,255,207,207,159,255,243,231,207,159,207,231,243,255,255,255,1,255,1,255,255,255,159,207,231,243,231,207,159,255,131,1,57,243,199,255,199,255,131,125,69,85,65,127,131,255,199,147,57,57,1,57,57,255,3,57,57,3,57,57,3,255,195,153,63,63,63,153,195,255,7,51,57,57,57,51,7,255,1,63,63,3,63,63,1,255,1,63,63,3,63,63,63,255,193,159,63,49,57,153,193,255,57,57,57,1,57,57,57,255,129,231,231,231,231,231,129,255,249,249,249,249,249,57,131,255,57,51,39,15,7,35,49,255,159,159,159,159,159,159,129,255,57,17,1,1,41,57,57,255,57,25,9,1,33,49,57,255,131,57,57,57,57,57,131,255,3,57,57,57,3,63,63,255,131,57,57,57,33,51,133,255,3,57,57,49,7,35,49,255,135,51,63,131,249,57,131,255,129,231,231,231,231,231,231,255,57,57,57,57,57,57,131,255,57,57,57,17,131,199,239,255,57,57,41,1,1,17,57,255,57,17,131,199,131,17,57,255,153,153,153,195,231,231,231,255,1,241,227,199,143,31,1,255,195,207,207,207,207,207,195,255,127,191,223,239,247,251,253,255,135,231,231,231,231,231,135,255,199,147,255,255,255,255,255,255,255,255,255,255,255,255,255,1,239,247,255,255,255,255,255,255,255,255,131,249,129,57,129,255,63,63,3,57,57,57,131,255,255,255,129,63,63,63,129,255,249,249,129,57,57,57,129,255,255,255,131,57,1,63,131,255,241,231,129,231,231,231,231,255,255,255,129,57,57,129,249,131,63,63,3,57,57,57,57,255,231,255,199,231,231,231,129,255,243,255,227,243,243,243,243,135,63,63,49,3,7,35,49,255,199,231,231,231,231,231,129,255,255,255,3,73,73,73,73,255,255,255,3,57,57,57,57,255,255,255,131,57,57,57,131,255,255,255,3,57,57,3,63,63,255,255,129,57,57,129,249,249,255,255,145,143,159,159,159,255,255,255,131,63,131,249,3,255,231,231,129,231,231,231,231,255,255,255,57,57,57,57,129,255,255,255,153,153,153,195,231,255,255,255,73,73,73,73,129,255,255,255,57,1,199,1,57,255,255,255,57,57,57,129,249,131,255,255,1,227,199,143,1,255,243,231,231,207,231,231,243,255,231,231,231,231,231,231,231,255,159,207,207,231,207,207,159,255,255,255,143,69,227,255,255,255,255,255,255,255,255,147,147,255,131,41,41,17,41,41,131,255,131,57,9,17,33,57,131,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,131,17,33,125,33,17,131,255,131,17,9,125,9,17,131,255,131,17,57,85,17,17,131,255,131,17,17,85,57,17,131,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,231,255,231,231,199,199,199,255,239,131,41,47,41,131,239,255,195,153,159,3,159,159,1,255,255,165,219,219,219,165,255,255,153,153,195,129,231,129,231,255,231,231,231,255,231,231,231,255,195,153,135,219,225,153,195,255,147,255,255,255,255,255,255,255,195,189,102,94,94,102,189,195,135,195,147,195,255,255,255,255,255,201,147,39,147,201,255,255,255,255,129,249,249,255,255,255,255,255,255,255,255,255,255,255,195,189,70,90,70,90,189,195,131,255,255,255,255,255,255,255,239,215,239,255,255,255,255,255,231,231,129,231,231,255,129,255,199,243,231,195,255,255,255,255,195,231,243,199,255,255,255,255,247,239,255,255,255,255,255,255,255,255,51,51,51,51,9,63,193,149,181,149,193,245,245,255,255,255,255,207,207,255,255,255,255,255,255,255,255,255,247,207,231,199,231,195,255,255,255,255,199,147,147,199,255,255,255,255,255,39,147,201,147,39,255,255,189,59,183,173,217,177,125,255,189,59,183,169,221,187,113,255,29,187,215,45,217,177,125,255,199,255,199,159,57,1,131,255,223,239,199,147,57,1,57,255,247,239,199,147,57,1,57,255,199,147,199,147,57,1,57,255,203,167,199,147,57,1,57,255,147,255,199,147,57,1,57,255,239,215,199,147,57,1,57,255,193,135,39,33,7,39,33,255,195,153,63,63,153,195,247,207,223,239,1,63,3,63,1,255,247,239,1,63,3,63,1,255,199,147,1,63,3,63,1,255,147,255,1,63,3,63,1,255,239,247,129,231,231,231,129,255,247,239,129,231,231,231,129,255,231,195,129,231,231,231,129,255,153,255,129,231,231,231,129,255,135,147,153,9,153,147,135,255,203,167,25,9,1,33,49,255,223,239,131,57,57,57,131,255,247,239,131,57,57,57,131,255,199,147,131,57,57,57,131,255,203,167,131,57,57,57,131,255,147,255,131,57,57,57,131,255,255,187,215,239,215,187,255,255,131,57,49,41,25,57,131,255,223,239,57,57,57,57,131,255,247,239,57,57,57,57,131,255,199,147,255,57,57,57,131,255,147,255,57,57,57,57,131,255,247,239,153,153,195,231,231,255,63,3,57,57,57,3,63,255,195,153,153,147,153,137,147,255,223,239,131,249,129,57,129,255,247,239,131,249,129,57,129,255,199,147,131,249,129,57,129,255,203,167,131,249,129,57,129,255,147,255,131,249,129,57,129,255,239,215,131,249,129,57,129,255,255,255,131,233,129,47,131,255,255,255,129,63,63,129,247,207,223,239,131,57,1,63,131,255,247,239,131,57,1,63,131,255,199,147,131,57,1,63,131,255,147,255,131,57,1,63,131,255,223,239,255,199,231,231,129,255,247,239,255,199,231,231,129,255,199,147,255,199,231,231,129,255,147,255,199,231,231,231,129,255,155,135,103,131,57,57,131,255,203,167,3,57,57,57,57,255,223,239,131,57,57,57,131,255,247,239,131,57,57,57,131,255,199,147,131,57,57,57,131,255,203,167,131,57,57,57,131,255,147,255,131,57,57,57,131,255,255,231,255,129,255,231,255,255,255,255,131,49,41,25,131,255,223,239,57,57,57,57,129,255,247,239,57,57,57,57,129,255,199,147,255,57,57,57,129,255,147,255,57,57,57,57,129,255,247,239,57,57,57,129,249,131,63,63,3,57,57,3,63,63,147,255,57,57,57,129,249,131);function pt(t){const e=new URL(location.href),s=e.searchParams.get(t);if(null!=s)return s;return new URL(e.hash.substring(1),e.origin).searchParams.get(t)}function ft(){null==document.fullscreenElement&&document.body.requestFullscreen({navigationUI:"hide"})}const mt="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-:+=^!/*?&<>()[]{}@%$#".split(""),yt=[0,68,0,84,83,82,72,0,75,76,70,65,0,63,62,69,0,1,2,3,4,5,6,7,8,9,64,0,73,66,74,71,81,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,77,0,78,67,0,0,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,79,0,80,0,0];function wt(t,e){let s=0,i=0,n=0;const r=t.length,o=e.length;if(t.length%5==0)for(;i<r;){const r=t.charCodeAt(i++)-32;if(r<0||r>=yt.length)return s;if(n=85*n+yt[r],i%5==0){let t=16777216;for(;t>=1;){if(s>=o)return s;e[s++]=n/t%256,t/=256}n=0}}return s}class bt{constructor(){this.memory=new ArrayBuffer(65536),this.diskBuffer=new ArrayBuffer(ot),this.diskSize=0}read(t){new Uint8Array(this.memory).set(new Uint8Array(t.memory.buffer)),this.diskSize=t.diskSize,new Uint8Array(this.diskBuffer).set(new Uint8Array(t.diskBuffer,0,t.diskSize))}write(t){new Uint8Array(t.memory.buffer).set(new Uint8Array(this.memory)),t.diskSize=this.diskSize,new Uint8Array(t.diskBuffer).set(new Uint8Array(this.diskBuffer,0,this.diskSize))}toBytes(t){t||(t=new Uint8Array(65540+this.diskSize)),t.set(new Uint8Array(this.memory),0);return new DataView(t.buffer,t.byteOffset,t.byteLength).setUint32(65536,this.diskSize),t.set(new Uint8Array(this.diskBuffer,0,this.diskSize),65540),t}fromBytes(t){new Uint8Array(this.memory).set(t.subarray(0,65536));const e=new DataView(t.buffer,t.byteOffset,t.byteLength);this.diskSize=e.getUint32(65536);new Uint8Array(this.diskBuffer).set(t.subarray(65540,65540+this.diskSize))}}const gt=20;class vt{constructor(){this.frame=-1,this.state=new bt,this.inputs=new Array(4),this.predicted=new Array(4);for(let t=0;t<4;++t)this.inputs[t]=0,this.predicted[t]=!0}}class At{constructor(){this.futureInputs=new Map}}class _t{constructor(t,e){this.currentFrame=t,this.runtime=e,this.rollbackIdx=gt,this.history=new Array(gt);for(let s=0;s<gt;++s)this.history[s]=new vt;this.players=new Array(4);for(let s=0;s<4;++s)this.players[s]=new At}addInputs(t,e,s){const i=this.players[t];for(const n of s){if(e>=this.currentFrame)i.futureInputs.has(e)||i.futureInputs.set(e,n);else for(let s=0,i=gt;s<i;++s){const i=this.history[s];if(i.frame==e){i.predicted[t]&&(i.predicted[t]=!1,i.inputs[t]!=n&&(i.inputs[t]=n,this.rollbackIdx=Math.min(s,this.rollbackIdx)));break}}++e}}update(){if(this.rollbackIdx<gt){for(let e=this.rollbackIdx+1;e<gt;++e){const t=this.history[e];for(let s=0;s<4;++s)if(t.predicted[s]){const i=this.history[e-1];t.inputs[s]=i.inputs[s]}}let t=!0;for(;this.rollbackIdx<gt;){const e=this.history[this.rollbackIdx++];t?(t=!1,e.state.write(this.runtime)):e.state.read(this.runtime);for(let t=0;t<4;++t)this.runtime.setGamepad(t,e.inputs[t]);this.runtime.update()}}const t=this.history[19],e=this.history.shift();this.history.push(e),e.frame=this.currentFrame,e.state.read(this.runtime);for(let s=0;s<4;++s){const i=this.players[s];let n=i.futureInputs.get(this.currentFrame);null!=n?(e.predicted[s]=!1,i.futureInputs.delete(this.currentFrame)):(e.predicted[s]=!0,n=t.inputs[s]),e.inputs[s]=n,this.runtime.setGamepad(s,n)}this.runtime.update(),++this.currentFrame}}class xt{constructor(t,e){this.bufferedOutput=[],this.socket=new WebSocket(`wss://aduros.com/webrtc-signal-server/?peerId=${encodeURIComponent(t)}`),this.socket.addEventListener("message",(t=>{const{source:s,message:i}=JSON.parse(t.data);e(s,i)})),this.socket.addEventListener("open",(t=>{for(const e of this.bufferedOutput)this.socket.send(e);this.bufferedOutput.length=0}))}send(t,e){const s=JSON.stringify({target:t,message:e});1==this.socket.readyState?this.socket.send(s):this.bufferedOutput.push(s)}close(){this.socket.close()}}class kt{constructor(t){this.connections=new Map,this.localPeerId=function(){let t="";for(let e=0;e<22;++e)t+="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".charAt(62*Math.random()>>>0);return t}(),this.signalClient=new xt(this.localPeerId,(async(e,s)=>{switch(s.type){case"OFFER":if(this.connections.has(e))throw new Error("Received offer for a connection we already initiated");{const i=this.createConnection(e);await i.setRemoteDescription(s.description),await i.setLocalDescription(await i.createAnswer()),t(i,e),this.signalClient.send(e,{type:"ANSWER",description:i.localDescription.toJSON()})}break;case"ANSWER":{const t=this.connections.get(e);t&&await t.setRemoteDescription(s.description)}break;case"CANDIDATE":{const t=this.connections.get(e);t&&await t.addIceCandidate(new RTCIceCandidate(s.candidate))}break;case"ABORT":{const t=this.connections.get(e);t&&t.close()}}}))}createConnection(t){const e=new RTCPeerConnection({iceServers:[{urls:"stun:openrelay.metered.ca:80"},{urls:"turn:openrelay.metered.ca:80",username:"openrelayproject",credential:"openrelayproject"},{urls:"turn:openrelay.metered.ca:443",username:"openrelayproject",credential:"openrelayproject"},{urls:"turn:openrelay.metered.ca:443?transport=tcp",username:"openrelayproject",credential:"openrelayproject"},{urls:"stun:stun.l.google.com:19302"}]});return this.connections.set(t,e),e.addEventListener("negotiationneeded",(async()=>{await e.setLocalDescription(await e.createOffer()),this.signalClient.send(t,{type:"OFFER",description:e.localDescription.toJSON()})})),e.addEventListener("icecandidate",(({candidate:e})=>{e&&this.signalClient.send(t,{type:"CANDIDATE",candidate:e.toJSON()})})),e.addEventListener("connectionstatechange",(()=>{const s=e.connectionState;"connected"!=s&&"failed"!=s||this.connections.delete(t)})),e}connect(t){return this.connections.get(t)||this.createConnection(t)}close(){this.signalClient.close();for(const[t,e]of this.connections)e.close()}}const $t=16384;class St{constructor(t){this.chunks=[],this.size=0,t.addEventListener("message",(t=>{if(t.data instanceof ArrayBuffer){const e=new Uint8Array(t.data);this.size+=e.byteLength,this.chunks.push(e)}}))}read(){const t=new Uint8Array(this.size);let e=0;for(const s of this.chunks)t.set(s,e),e+=s.byteLength;return this.chunks.length=0,this.size=0,t}}class Pt{constructor(t){this.channel=t,this.size=0}write(t){this.buffer||(this.buffer=new Uint8Array($t));let e=this.size,s=0;for(;s<t.length;){const i=t.subarray(s,s+$t-e);this.buffer.set(i,e),s+=i.length,e+=i.length,e>=$t&&(e-=$t,this.channel.send(this.buffer))}this.size=e}flush(){this.buffer&&this.size>0&&this.channel.send(this.buffer.subarray(0,this.size)),this.buffer=void 0}}class Et{constructor(t,e=0){this.buffer=t,this.position=e}readBit(){const t=!!(this.buffer[this.position/8>>>0]&1<<(7&this.position));return++this.position,t}readBits(t){let e=0;for(let s=0;s<t;++s)e|=+this.readBit()<<s;return e}}class Ct{constructor(t,e=0){this.buffer=t,this.position=e}write1(){this.buffer[this.position/8>>>0]|=1<<(7&this.position),++this.position}write0(){this.buffer[this.position/8>>>0]&=~(1<<(7&this.position)),++this.position}writeBits(t,e){for(let s=0;s<e;++s)t&1<<s?this.write1():this.write0()}}class Ut{constructor(t=.125){this.discount=t,this.average=0,this.firstUpdate=!0}update(t){if(this.firstUpdate)this.firstUpdate=!1,this.average=t;else{const e=this.discount;this.average=(1-e)*this.average+e*t}}}const It=8+Math.ceil(82.5),Mt=new ArrayBuffer(It);class Tt{constructor(t,e,s,i){this.peerId=t,this.connection=e,this.reliableChannel=s,this.unreliableChannel=i,this.playerIdx=-1,this.frame=0,this.nextNeededFrame=0,this.outboundFrame=0,this.outboundInputs=[],this.ping=new Ut,this.drift=new Ut,this.chunkReader=new St(s),this.chunkWriter=new Pt(s)}addOutboundInput(t,e){if(0==this.outboundFrame&&(this.outboundFrame=t),t<this.outboundFrame){for(let s=this.outboundFrame-t;s>0;--s)this.outboundInputs.unshift(e);this.outboundFrame=t}else{const s=t-this.outboundFrame;if(s>=this.outboundInputs.length){for(let t=this.outboundInputs.length;t<s;++t)this.outboundInputs[t]=t>0?this.outboundInputs[t-1]:0;this.outboundInputs[s]=e}}}sendMessage(t){this.reliableChannel.send(JSON.stringify(t))}sendUnreliableBuffer(t){this.unreliableChannel.send(t)}sendPingRequest(){const t=new DataView(Mt);t.setUint8(0,2),t.setUint32(1,performance.now()>>>0),this.sendUnreliableBuffer(new Uint8Array(Mt,0,5))}sendPingReply(t){const e=new DataView(Mt);e.setUint8(0,3),e.setUint32(1,t),this.sendUnreliableBuffer(new Uint8Array(Mt,0,5))}sendTick(t){const e=new DataView(Mt);e.setUint8(0,1),e.setUint32(1,t),e.setInt8(5,0==this.nextNeededFrame?-127:this.nextNeededFrame-t),e.setInt8(6,this.outboundFrame-t),e.setUint8(7,this.outboundInputs.length);const s=new Ct(new Uint8Array(Mt,8));let i=0;for(const r of this.outboundInputs){const t=i^r;i=r;for(let e=0;e<8;++e)t&1<<e&&(s.write1(),s.writeBits(e,3));s.write0()}const n=8+Math.ceil(s.position/8);this.sendUnreliableBuffer(new Uint8Array(Mt,0,n))}close(){this.reliableChannel.close(),this.unreliableChannel.close(),this.connection.close()}}class Lt{constructor(t){this.runtime=t,this.remotePlayers=new Map,this.localPlayerIdx=-1,this.updateCount=0,this.peerMgr=new kt((async(t,e)=>{const s=Array.from(this.remotePlayers.keys()),i=await this.createRemotePlayer(t,e);i.sendMessage({type:"WELCOME",otherPeers:s}),this.localPlayerIdx>=0&&i.sendMessage({type:"PLAYER_INFO",playerIdx:this.localPlayerIdx})}))}host(){this.rollbackMgr=new _t(1,this.runtime),this.localPlayerIdx=0}join(t){const e=this.peerMgr.connect(t);this.createRemotePlayer(e,t).then((t=>{t.sendMessage({type:"JOIN_REQUEST"})}),(t=>{this.runtime.blueScreen(new Error("Failed to connect\nto peer. They may\nbe offline?"))}))}getInviteLink(){return`https://wasm4.org/netplay/#${this.peerMgr.localPeerId}`}close(){for(const t of this.remotePlayers.values())t.close();this.peerMgr.close()}async createRemotePlayer(t,e){function s(e){return new Promise(((s,i)=>{const n=t.createDataChannel("WASM-4",e);n.binaryType="arraybuffer",n.onopen=()=>{s(n)},n.onerror=i}))}const[i,n]=await Promise.all([s({negotiated:!0,id:0}),s({negotiated:!0,id:1,ordered:!1,maxRetransmits:0})]),r=new Tt(e,t,i,n);this.remotePlayers.set(e,r);const o=()=>{this.remotePlayers.has(e)&&(this.remotePlayers.delete(e),this.onleave&&r.playerIdx>=0&&this.onleave(r.playerIdx))};return t.addEventListener("connectionstatechange",(()=>{"disconnected"==t.connectionState&&o()})),i.addEventListener("close",o),n.addEventListener("close",o),i.addEventListener("message",(async t=>{if("string"!=typeof t.data)return;const e=JSON.parse(t.data);switch(e.type){case"WELCOME":for(const t of e.otherPeers)if(!this.remotePlayers.has(t)){const e=this.peerMgr.connect(t),s=await this.createRemotePlayer(e,t);this.localPlayerIdx>=0&&s.sendMessage({type:"PLAYER_INFO",playerIdx:this.localPlayerIdx})}break;case"JOIN_REQUEST":{const t=this.nextPlayerIdx();if(t>=4)r.sendMessage({type:"JOIN_REJECT"}),r.close();else{r.playerIdx=t,r.chunkWriter.write(this.runtime.wasmBuffer);const e=new bt;e.read(this.runtime),r.chunkWriter.write(e.toBytes()),r.chunkWriter.flush(),r.sendMessage({type:"JOIN_REPLY",yourPlayerIdx:r.playerIdx,frame:this.rollbackMgr.currentFrame,stateOffset:this.runtime.wasmBuffer.byteLength}),this.onjoin&&this.onjoin(r.playerIdx)}}break;case"JOIN_REPLY":{for(const e of this.remotePlayers.values())e!=r&&e.sendMessage({type:"PLAYER_INFO",playerIdx:this.localPlayerIdx});const t=r.chunkReader.read(),s=t.subarray(0,e.stateOffset),i=t.subarray(e.stateOffset);await this.runtime.load(s,!1);const n=new bt;n.fromBytes(i),n.write(this.runtime),this.rollbackMgr=new _t(e.frame,this.runtime),this.localPlayerIdx=e.yourPlayerIdx,this.onstart&&this.onstart(this.localPlayerIdx)}break;case"JOIN_REJECT":this.runtime.blueScreen(new Error("Connected, but the\ngame is already\nfull!")),this.close();break;case"PLAYER_INFO":-1==r.playerIdx&&(r.playerIdx=e.playerIdx,this.onjoin&&this.onjoin(r.playerIdx))}})),n.addEventListener("message",(async t=>{const e=t.data,s=new DataView(e);switch(s.getUint8(0)){case 1:if(this.rollbackMgr&&r.playerIdx>=0){const t=s.getUint32(1);if(t>r.frame){const i=s.getInt8(5)+t,n=s.getInt8(6)+t,o=s.getUint8(7),a=new Et(new Uint8Array(e,8)),l=new Array(o);let c=0;for(let t=0;t<o;++t){for(;a.readBit();){c^=1<<a.readBits(3)}l[t]=c}if(r.frame=t,r.nextNeededFrame=n+l.length,0==r.outboundFrame)r.outboundFrame=i;else if(i>r.outboundFrame){const t=i-r.outboundFrame;r.outboundFrame=i,r.outboundInputs.splice(0,t)}const h=t+.5*r.ping.average*60/1e3,d=this.rollbackMgr.currentFrame-h;r.drift.update(d),this.rollbackMgr.addInputs(r.playerIdx,n,l)}}break;case 2:{const t=s.getUint32(1);r.sendPingReply(t)}break;case 3:{const t=s.getUint32(1),e=(performance.now()>>>0)-t;r.ping.update(e)}}})),r}nextPlayerIdx(){t:for(let t=0;t<4;++t)if(this.localPlayerIdx!=t){for(const e of this.remotePlayers.values())if(e.playerIdx==t)continue t;return t}return-1}update(t){if(!this.rollbackMgr)return!1;const e=0==(7&this.updateCount),s=0==(31&this.updateCount);++this.updateCount;const i=this.rollbackMgr.currentFrame,n=i+2;this.rollbackMgr.addInputs(this.localPlayerIdx,n,[t]);let r=!1;for(const o of this.remotePlayers.values())o.addOutboundInput(n,t),o.sendTick(i),(o.nextNeededFrame<i-gt||o.outboundInputs.length>=20)&&(r=!0),s&&o.sendPingRequest();if(e){let t=0;for(const e of this.remotePlayers.values())t=Math.max(e.drift.average,t);t>=1&&(r=!0)}return r||this.rollbackMgr.update(),!r}getSummary(){const t=[{playerIdx:this.localPlayerIdx,ping:-1}];for(const e of this.remotePlayers.values())t.push({playerIdx:e.playerIdx,ping:e.ping.average});return t.sort(((t,e)=>t.playerIdx-e.playerIdx)),t}}var Ot='(()=>{"use strict";var p=44100,q=.15,A=.25,V=class{constructor(){this.freq1=0;this.freq2=0;this.startTime=0;this.attackTime=0;this.decayTime=0;this.sustainTime=0;this.releaseTime=0;this.sustainVolume=0;this.peakVolume=0;this.phase=0;this.pan=0;this.pulseDutyCycle=0;this.noiseSeed=1;this.noiseLastRandom=0}};function M(n,e,t){return n+t*(e-n)}function g(n,e){if(n<e){let t=n/e;return t+t-t*t}else if(n>1-e){let t=(n-(1-e))/e;return 1-(t+t-t*t)}else return 1}var C=class extends AudioWorkletProcessor{constructor(){super();this.time=0,this.channels=new Array(4);for(let e=0;e<4;++e)this.channels[e]=new V;this.port!=null&&(this.port.onmessage=e=>{this.tone(...e.data)})}ramp(e,t,o,T){let m=(this.time-o)/(T-o);return M(e,t,m)}getCurrentFrequency(e){return e.freq2>0?this.ramp(e.freq1,e.freq2,e.startTime,e.releaseTime):e.freq1}getCurrentVolume(e){let t=this.time;return t>=e.sustainTime?this.ramp(e.sustainVolume,0,e.sustainTime,e.releaseTime):t>=e.decayTime?e.sustainVolume:t>=e.attackTime?this.ramp(e.peakVolume,e.sustainVolume,e.attackTime,e.decayTime):this.ramp(0,e.peakVolume,e.startTime,e.attackTime)}tone(e,t,o,T){let m=e&65535,x=e>>16&65535,d=t&255,y=t>>8&255,l=t>>16&255,r=t>>24&255,b=Math.min(o&255,100),f=Math.min(o>>8&255,100),a=T&3,i=T>>2&3,u=T>>4&3,s=this.channels[a];this.time>s.releaseTime&&(s.phase=a==2?.25:0),s.freq1=m,s.freq2=x,s.startTime=this.time,s.attackTime=s.startTime+(p*r/60>>>0),s.decayTime=s.attackTime+(p*l/60>>>0),s.sustainTime=s.decayTime+(p*d/60>>>0),s.releaseTime=s.sustainTime+(p*y/60>>>0),s.pan=u;let c=a==2?A:q;if(s.sustainVolume=c*b/100,s.peakVolume=f?c*f/100:c,a==0||a==1)switch(i){case 0:s.pulseDutyCycle=.125;break;case 1:case 3:default:s.pulseDutyCycle=.25;break;case 2:s.pulseDutyCycle=.5;break}else a==2&&y==0&&(s.releaseTime+=p/1e3>>>0)}process(e,[[t,o]],T){for(let m=0,x=t.length;m<x;++m,++this.time){let d=0,y=0;for(let l=0;l<4;++l){let r=this.channels[l];if(this.time<r.releaseTime){let b=this.getCurrentFrequency(r),f=this.getCurrentVolume(r),a;if(l==3){for(r.phase+=b*b/(1e6/44100*p);r.phase>0;){r.phase--;let i=r.noiseSeed;i^=i>>7,i^=i<<9,i^=i>>13,r.noiseSeed=i,r.noiseLastRandom=((i&1)<<1)-1}a=f*r.noiseLastRandom}else{let i=b/p,u=r.phase+i;if(u>=1&&u--,r.phase=u,l==2)a=f*(2*Math.abs(2*r.phase-1)-1);else{let s,c,k,h=r.pulseDutyCycle;u<h?(s=u/h,c=i/h,k=f):(s=(u-h)/(1-h),c=i/(1-h),k=-f),a=k*g(s,c)}}r.pan!=1&&(y+=a),r.pan!=2&&(d+=a)}}t[m]=d,o[m]=y}return!0}};registerProcessor("wasm4-apu",C);})();\n';class Rt{constructor(){this.audioCtx=new(window.AudioContext||window.webkitAudioContext)({sampleRate:44100})}async init(){const t=this.audioCtx,e=new Blob([Ot],{type:"application/javascript"}),s=URL.createObjectURL(e);try{await t.audioWorklet.addModule(s);const e=new AudioWorkletNode(t,"wasm4-apu",{outputChannelCount:[2]});this.processorPort=e.port,e.connect(t.destination)}catch(i){let e;console.warn("AudioWorklet loading failed, falling back to slow audio",i);const s=(t,s)=>{e=new s};new Function("registerProcessor","AudioWorkletProcessor",Ot)(s,class{}),this.processor=e;const n=t.createScriptProcessor(1024,0,2);n.onaudioprocess=t=>{const s=t.outputBuffer.getChannelData(0),i=t.outputBuffer.getChannelData(1);e.process(null,[[s,i]])},n.connect(t.destination)}}tone(t,e,s,i){const n=this.processorPort;null!=n?n.postMessage([t,e,s,i]):this.processor.tone(t,e,s,i)}unlockAudio(){const t=this.audioCtx;"suspended"==t.state&&t.resume()}pauseAudio(){const t=this.audioCtx;"running"==t.state&&t.suspend()}}class Nt{constructor(t){this.bytes=new Uint8Array(t,160,6400),this.drawColors=new Uint16Array(t,20,1)}clear(){this.bytes.fill(0)}drawPoint(t,e,s){const i=nt*s+e>>>2,n=(3&e)<<1,r=3<<n;this.bytes[i]=t<<n|this.bytes[i]&~r}drawPointUnclipped(t,e,s){e>=0&&e<nt&&s>=0&&s<rt&&this.drawPoint(t,e,s)}drawHLineFast(t,e,s,i){const n=i-(3&i),r=Math.min(e+3&-4,n);if(n-r>3){for(let n=e;n<r;n++)this.drawPoint(t,n,s);const i=nt*s+r>>>2,o=nt*s+n>>>2,a=85*t;this.bytes.fill(a,i,o),e=n}for(let o=e;o<i;o++)this.drawPoint(t,o,s)}drawHLineUnclipped(t,e,s,i){s>=0&&s<rt&&(e<0&&(e=0),i>nt&&(i=nt),e<i&&this.drawHLineFast(t,e,s,i))}drawHLine(t,e,s){const i=15&this.drawColors[0];if(0==i)return;const n=i-1&3;this.drawHLineUnclipped(n,t,e,t+s)}drawVLine(t,e,s){if(e+s<=0||t<0||t>=nt)return;const i=15&this.drawColors[0];if(0==i)return;const n=Math.max(0,e),r=Math.min(rt,e+s),o=i-1&3;for(let a=n;a<r;a++)this.drawPoint(o,t,a)}drawRect(t,e,s,i){const n=Math.max(0,t),r=Math.max(0,e),o=t+s,a=e+i,l=Math.min(o,nt),c=Math.min(a,rt),h=this.drawColors[0],d=15&h,u=h>>>4&15;if(0!==d){const t=d-1&3;for(let e=r;e<c;++e)this.drawHLineFast(t,n,e,l)}if(0!==u){const s=u-1&3;if(t>=0&&t<nt)for(let e=r;e<c;++e)this.drawPoint(s,t,e);if(o>=0&&o<=nt)for(let t=r;t<c;++t)this.drawPoint(s,o-1,t);e>=0&&e<rt&&this.drawHLineFast(s,n,e,l),a>=0&&a<=rt&&this.drawHLineFast(s,n,a-1,l)}}drawOval(t,e,s,i){const n=this.drawColors[0],r=15&n,o=n>>>4&15;if(15===o)return;const a=o-1&3,l=r-1&3,c=s>>>1,h=i>>>1;if(c<=0)return;if(h<=0)return;const d=t+c,u=e+h,p=c*c*2,f=h*h*2;{let t=c,e=0,s=(1-2*c)*h*h,i=c*c,n=f*c,o=0,m=0;for(;n>=o;){if(this.drawPointUnclipped(a,d+t,u+e),this.drawPointUnclipped(a,d+t,u-e),this.drawPointUnclipped(a,d-t,u+e),this.drawPointUnclipped(a,d-t,u-e),0!==r){const s=d-t+1,i=d+t;this.drawHLineUnclipped(l,s,u+e,i),this.drawHLineUnclipped(l,s,u-e,i)}e++,o+=p,m+=i,i+=p,2*m+s>0&&(t--,n-=f,m+=s,s+=f)}}{let t=0,e=h,s=h*h,i=(1-2*h)*c*c,n=0,o=p*h,m=0,y=0;for(;o>=n;)if(this.drawPointUnclipped(a,d+t,u+e),this.drawPointUnclipped(a,d+t,u-e),this.drawPointUnclipped(a,d-t,u+e),this.drawPointUnclipped(a,d-t,u-e),t++,n+=f,m+=s,s+=f,y++,2*m+i>0){if(0!==r){const s=t-y-1,i=d-s,n=d+s+1;this.drawHLineUnclipped(l,i,u+e,n),this.drawHLineUnclipped(l,i,u-e,n)}e--,o-=p,m+=i,i+=p,y=0}}}drawLine(t,e,s,i){const n=15&this.drawColors[0];if(0===n)return;const r=n-1&3;if(e>i){let n=t;t=s,s=n,n=e,e=i,i=n}const o=Math.abs(s-t),a=t<s?1:-1,l=i-e;let c,h=(o>l?o:-l)/2;for(;this.drawPointUnclipped(r,t,e),t!==s||e!==i;)c=h,c>-o&&(h-=l,t+=a),c<l&&(h+=o,e++)}drawText(t,e,s){let i=e;for(let n=0,r=t.length;n<r;++n){const r=t[n];switch(r){case 0:return;case 10:s+=8,i=e;break;default:this.blit(ut,i,s,8,8,0,r-32<<3,8),i+=8}}}blit(t,e,s,i,n,r,o,a,l=!1,c=!1,h=!1,d=!1){const u=this.drawColors[0];let p,f,m,y;d?(c=!c,p=Math.max(0,s)-s,f=Math.max(0,e)-e,m=Math.min(i,rt-s),y=Math.min(n,nt-e)):(p=Math.max(0,e)-e,f=Math.max(0,s)-s,m=Math.min(i,nt-e),y=Math.min(n,rt-s));for(let w=f;w<y;w++)for(let f=p;f<m;f++){const p=e+(d?w:f),m=s+(d?f:w);let y;const b=(o+(h?n-w-1:w))*a+(r+(c?i-f-1:f));if(l){y=t[b>>>2]>>>6-((3&b)<<1)&3}else{y=t[b>>>3]>>>7-(7&b)&1}const g=u>>>(y<<2)&15;0!==g&&this.drawPoint(g-1&3,p,m)}}}const Bt=6409,Dt=3553;class Ft{constructor(t){this.gl=t,this.colorBuffer=new Uint32Array(6400),this.paletteBuffer=new Float32Array(12),this.lastPalette=Array(4),this.paletteLocation=null;const e=new Uint32Array(256);for(let i=0;i<256;++i){const t=i>>6&3,s=i>>4&3,n=i>>2&3,r=3&i;e[i]=t<<30|s<<22|n<<14|r<<6}this.table=e;const s=t.canvas;s.addEventListener("webglcontextlost",(t=>{t.preventDefault()})),s.addEventListener("webglcontextrestored",(()=>{this.initGL()})),this.initGL()}initGL(){const t=this.gl;function e(e,s){const i=t.createShader(e);return t.shaderSource(i,s),t.compileShader(i),i}this.lastPalette=Array(4);const s=e(35633,"\n attribute vec2 pos;\n varying vec2 framebufferCoord;\n\n void main () {\n framebufferCoord = pos*vec2(0.5, -0.5) + 0.5;\n gl_Position = vec4(pos, 0, 1);\n }\n "),i=e(35632,`\n precision mediump float;\n uniform vec3 palette[4];\n uniform sampler2D framebuffer;\n varying vec2 framebufferCoord;\n\n vec3 lookup(float index) {\n vec3 p = palette[0];\n ${Array.from({length:3},((t,e)=>`p = mix(p, palette[${e+1}], step(${((e+1)/4).toFixed(2)}, index));`)).join("\n")}\n return p;\n }\n\n void main () {\n gl_FragColor = vec4(lookup(texture2D(framebuffer, framebufferCoord).r), 1.);\n }\n `),n=t.createProgram();t.attachShader(n,s),t.attachShader(n,i),t.linkProgram(n),t.useProgram(n),this.paletteLocation=t.getUniformLocation(n,"palette"),t.uniform1i(t.getUniformLocation(n,"framebuffer"),0),t.detachShader(n,s),t.deleteShader(s),t.detachShader(n,i),t.deleteShader(i),function(e){const s=t.createTexture();t.activeTexture(e),t.bindTexture(Dt,s),t.texParameteri(Dt,10242,33071),t.texParameteri(Dt,10243,33071),t.texParameteri(Dt,10240,9728),t.texParameteri(Dt,10241,9728)}(33984),t.texImage2D(Dt,0,Bt,nt,rt,0,Bt,5121,null);const r=t.getAttribLocation(n,"pos"),o=t.createBuffer(),a=new Float32Array([-1,-1,-1,1,1,1,1,1,1,-1,-1,-1]);t.bindBuffer(34962,o),t.bufferData(34962,a,35044),t.enableVertexAttribArray(r),t.vertexAttribPointer(r,2,5126,!1,0,0)}composite(t,e){const s=this.gl,i=e.bytes,n=this.colorBuffer,r=this.table,o=this.lastPalette,a=this.paletteBuffer;let l=!1;for(let c=0,h=0;c<4;++c){const e=t[c];l=l||o[c]!==e,a[h++]=(e>>16&255)/255,a[h++]=(e>>8&255)/255,a[h++]=(255&e)/255,o[c]=e}l&&s.uniform3fv(this.paletteLocation,this.paletteBuffer);for(let c=0;c<6400;++c)n[c]=r[i[c]];s.texImage2D(Dt,0,Bt,nt,rt,0,Bt,5121,new Uint8Array(n.buffer)),s.drawArrays(4,0,6)}}class Ht{constructor(t){this.warnedFileSize=!1;const e=document.createElement("canvas");e.width=nt,e.height=rt,this.canvas=e;const s=e.getContext("webgl",{alpha:!1,depth:!1,antialias:!1});if(!s)throw new Error("web-runtime: could not create wegl context");let i;this.compositor=new Ft(s),this.apu=new Rt,this.diskName=t,this.diskBuffer=new ArrayBuffer(ot);try{i=localStorage.getItem(t)}catch(n){}this.diskSize=null!=i?wt(i,new Uint8Array(this.diskBuffer)):0,this.memory=new WebAssembly.Memory({initial:1,maximum:1}),this.data=new DataView(this.memory.buffer),this.framebuffer=new Nt(this.memory.buffer),this.reset(),this.pauseState=0,this.wasmBufferByteLen=0}async init(){await this.apu.init()}setMouse(t,e,s){this.data.setInt16(26,t,!0),this.data.setInt16(28,e,!0),this.data.setUint8(30,s)}setGamepad(t,e){this.data.setUint8(22+t,e)}getSystemFlag(t){return this.data.getUint8(31)&t}unlockAudio(){this.apu.unlockAudio()}pauseAudio(){this.apu.pauseAudio()}reset(t){const e=new Uint32Array(this.memory.buffer);t&&e.fill(0),this.pauseState&=-2,e.set(at,1),this.data.setUint16(20,4611,!0),this.data.setInt16(26,32767,!0),this.data.setInt16(28,32767,!0)}async load(t,e=!0){if(this.wasmBuffer=t,this.wasmBufferByteLen=t.byteLength,t.byteLength>65536&&e)throw new Error("Cart too big!");const s={memory:this.memory,rect:this.framebuffer.drawRect.bind(this.framebuffer),oval:this.framebuffer.drawOval.bind(this.framebuffer),line:this.framebuffer.drawLine.bind(this.framebuffer),hline:this.framebuffer.drawHLine.bind(this.framebuffer),vline:this.framebuffer.drawVLine.bind(this.framebuffer),text:this.text.bind(this),textUtf8:this.textUtf8.bind(this),textUtf16:this.textUtf16.bind(this),blit:this.blit.bind(this),blitSub:this.blitSub.bind(this),tone:this.apu.tone.bind(this.apu),diskr:this.diskr.bind(this),diskw:this.diskw.bind(this),trace:this.trace.bind(this),traceUtf8:this.traceUtf8.bind(this),traceUtf16:this.traceUtf16.bind(this),tracef:this.tracef.bind(this)};await this.safeCall((async()=>{const e=await WebAssembly.instantiate(t,{env:s});this.wasm=e.instance,"function"==typeof this.wasm.exports._start&&this.wasm.exports._start(),"function"==typeof this.wasm.exports._initialize&&this.wasm.exports._initialize()}))}async safeCall(t){if("function"==typeof t)try{await t()}catch(e){if(!(e instanceof WebAssembly.RuntimeError||e instanceof WebAssembly.LinkError||e instanceof WebAssembly.CompileError))throw e;this.blueScreen(e)}}text(t,e,s){const i=new Uint8Array(this.memory.buffer,t);this.framebuffer.drawText(i,e,s)}textUtf8(t,e,s,i){const n=new Uint8Array(this.memory.buffer,t,e);this.framebuffer.drawText(n,s,i)}textUtf16(t,e,s,i){const n=new Uint16Array(this.memory.buffer,t,e>>1);this.framebuffer.drawText(n,s,i)}blit(t,e,s,i,n,r){this.blitSub(t,e,s,i,n,0,0,i,r)}blitSub(t,e,s,i,n,r,o,a,l){const c=new Uint8Array(this.memory.buffer,t),h=1&l,d=2&l,u=4&l,p=8&l;this.framebuffer.blit(c,e,s,i,n,r,o,a,h,d,u,p)}diskr(t,e){const s=Math.min(e,this.diskSize),i=new Uint8Array(this.diskBuffer,0,s);return new Uint8Array(this.memory.buffer,t).set(i),s}diskw(t,e){const s=Math.min(e,ot),i=new Uint8Array(this.memory.buffer,t,s),n=new Uint8Array(this.diskBuffer),r=function(t){const e=t.length,s=e%4,i=s?e+4-s:e;let n="",r=0,o=0;for(;r<i;){const s=r<e?t[r]:0;if(++r,o=256*o+s,r%4==0){let t=52200625;for(;t>=1;){const e=Math.floor(o/t)%85;n+=mt[e],t/=85}o=0}}return n}(i);try{localStorage.setItem(this.diskName,r)}catch(o){}return n.set(i),this.diskSize=s,s}getCString(t){let e="";for(;;){const s=this.data.getUint8(t++);if(0==s)break;e+=String.fromCharCode(s)}return e}print(t,e=!1){e?console.error(t):console.log(t)}trace(t){this.print(this.getCString(t))}traceUtf8(t,e){const s=new Uint8Array(this.memory.buffer,t,e),i=(new TextDecoder).decode(s);this.print(i)}traceUtf16(t,e){const s=new Uint8Array(this.memory.buffer,t,e),i=new TextDecoder("utf-16").decode(s);this.print(i)}tracef(t,e){let s,i="";for(;s=this.data.getUint8(t++);)if(37==s)switch(s=this.data.getUint8(t++)){case 37:i+="%";break;case 99:i+=String.fromCharCode(this.data.getInt32(e,!0)),e+=4;break;case 100:case 120:i+=this.data.getInt32(e,!0).toString(100==s?10:16),e+=4;break;case 115:i+=this.getCString(this.data.getUint32(e,!0)),e+=4;break;case 102:i+=this.data.getFloat64(e,!0),e+=8}else i+=String.fromCharCode(s);this.print(i)}start(){this.safeCall(this.wasm.exports.start)}update(){0==this.pauseState&&(this.getSystemFlag(1)||this.framebuffer.clear(),this.safeCall(this.wasm.exports.update))}blueScreen(t){var e;this.pauseState|=1;const s=t=>[...t].map((t=>t.charCodeAt(0))),i=" WASM-4 ",n=8*i.length,r=(160-8*i.length)/2;new Uint32Array(this.memory.buffer).set([1118702,8831084,11184810,16777215],1),this.data.setUint16(20,4611,!0),this.framebuffer.clear(),this.framebuffer.drawHLine(r,19,n),this.data.setUint16(20,4401,!0),this.framebuffer.drawText(s(" WASM-4 "),r,20),this.data.setUint16(20,4611,!0);const o=function(t){let e=t.message;t instanceof WebAssembly.RuntimeError?(t.message.match(/unreachable/)?e="The cartridge has\nreached a code \nsegment marked as\nunreachable.":t.message.match(/out of bounds/)&&(e="The cartridge has\nattempted a memory\naccess that is\nout of bounds."),e+="\n\n\n\n\nHit R to reboot."):t instanceof WebAssembly.LinkError?e="The cartridge has\ntried to import\na missing function.\n\n\n\nSee console for\nmore details.":t instanceof WebAssembly.CompileError&&(e="The cartridge is\ncorrupted.\n\n\n\nSee console for\nmore details.");return e}(t);this.framebuffer.drawText(s(o),9,60),this.composite(),this.print(null!=(e=t.stack)?e:"",!0)}composite(){const t=new Uint32Array(this.memory.buffer,4,16);this.compositor.composite(t,this.framebuffer)}}var jt=Object.defineProperty,zt=Object.getOwnPropertyDescriptor,Vt=(t,e,s,i)=>{for(var n,r=i>1?void 0:i?zt(e,s):e,o=t.length-1;o>=0;o--)(n=t[o])&&(r=(i?n(e,s,r):n(r))||r);return i&&r&&jt(e,s,r),r};class Gt{constructor(){this.gamepad=[0,0,0,0],this.mouseX=0,this.mouseY=0,this.mouseButtons=0}}
/**
* @license
* Copyright 2021 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*/
function*Wt(t,e){if(void 0!==t){let s=0;for(const i of t)yield e(i,s++)}}t.App=class extends X{constructor(){var t,e;super(),this.hideGamepadOverlay=!1,this.showMenu=!1,this.inputState=new Gt;const s=null!=(e=null==(t=document.getElementById("wasm4-disk-prefix"))?void 0:t.textContent)?e:pt("disk-prefix");this.runtime=new Ht(s+"-disk"),this.init()}async init(){const t=this.runtime;await t.init();const e=t.canvas,s=pt("netplay");s?(this.netplay=this.createNetplay(),this.netplay.join(s)):await t.load(await async function(){var t,e;const s=document.getElementById("wasm4-cart-json");if(s){const{WASM4_CART:e,WASM4_CART_SIZE:i}=JSON.parse(null!=(t=s.textContent)?t:""),n=new Uint8Array(i);return wt(e,n),n}{const t=null!=(e=pt("url"))?e:"cart.wasm",s=await fetch(t);return new Uint8Array(await s.arrayBuffer())}}());let i={toggleDevtools(){},updateCompleted(...t){}};this.netplay||t.start();let n=null;const r=t=>{if(document.body.style.cursor="",t.isPrimary){const s=e.getBoundingClientRect(),i=this.inputState;i.mouseX=Math.fround(nt*(t.clientX-s.left)/s.width),i.mouseY=Math.fround(rt*(t.clientY-s.top)/s.height),i.mouseButtons=7&t.buttons}};window.addEventListener("pointerdown",r),window.addEventListener("pointerup",r),window.addEventListener("pointermove",r),e.addEventListener("contextmenu",(t=>{t.preventDefault()}));const o={2:this.saveGameState.bind(this),4:this.loadGameState.bind(this),r:this.resetCart.bind(this),R:this.resetCart.bind(this),F8:i.toggleDevtools,F9:function(){t.composite(),e.toBlob((t=>{const e=URL.createObjectURL(t),s=document.createElement("a");s.href=e,s.download="wasm4-screenshot.png",s.click(),URL.revokeObjectURL(e)}))},F10:function(){if(null!=n)return;const t="video/webm",s=e.captureStream();n=new MediaRecorder(s,{mimeType:t,videoBitsPerSecond:25e6});const i=[];n.ondataavailable=t=>{i.push(t.data)},n.onstop=()=>{const e=new Blob(i,{type:t}),s=URL.createObjectURL(e),n=document.createElement("a");n.href=s,n.download="wasm4-animation.webm",n.click(),URL.revokeObjectURL(s)},n.start(),setTimeout((()=>{n&&(n.requestData(),n.stop(),n=null)}),4e3)},F11:ft,Enter:this.onMenuButtonPressed.bind(this)},a=e=>{if(e.ctrlKey||e.altKey)return;if(e.srcElement instanceof HTMLElement&&"INPUT"==e.srcElement.tagName)return;const s="keydown"==e.type;if(t.unlockAudio(),document.body.style.cursor="none",s){const t=o[e.key];if(t)return t(),void e.preventDefault()}let i=0,n=0;switch(e.code){case"KeyX":case"KeyV":case"Space":case"Period":n=1;break;case"KeyZ":case"KeyC":case"Comma":n=2;break;case"ArrowUp":n=ht;break;case"ArrowDown":n=dt;break;case"ArrowLeft":n=lt;break;case"ArrowRight":n=ct;break;case"KeyA":case"KeyQ":i=1,n=1;break;case"ShiftLeft":case"Tab":i=1,n=2;break;case"KeyE":i=1,n=ht;break;case"KeyD":i=1,n=dt;break;case"KeyS":i=1,n=lt;break;case"KeyF":i=1,n=ct;break;case"NumpadMultiply":case"NumpadDecimal":i=2,n=1;break;case"NumpadSubtract":case"NumpadEnter":i=2,n=2;break;case"Numpad8":i=2,n=ht;break;case"Numpad5":i=2,n=dt;break;case"Numpad4":i=2,n=lt;break;case"Numpad6":i=2,n=ct}if(0!=n){e.preventDefault();const t=this.inputState.gamepad;s?t[i]|=n:t[i]&=~n}};window.addEventListener("keydown",a),window.addEventListener("keyup",a),top&&top!=window&&(top.addEventListener("keydown",a),top.addEventListener("keyup",a));const l=()=>{if(navigator.getGamepads)for(const t of navigator.getGamepads()){if(null==t||"standard"!=t.mapping)continue;const e=t.buttons,s=t.axes;let i=0;(e[12].pressed||s[1]<-.5)&&(i|=ht),(e[13].pressed||s[1]>.5)&&(i|=dt),(e[14].pressed||s[0]<-.5)&&(i|=lt),(e[15].pressed||s[0]>.5)&&(i|=ct),(e[0].pressed||e[3].pressed||e[5].pressed||e[7].pressed)&&(i|=1),(e[1].pressed||e[2].pressed||e[4].pressed||e[6].pressed)&&(i|=2),e[9].pressed&&(this.showMenu=!0),this.inputState.gamepad[t.index%4]=i}};let c=!1;const h=()=>{if("hidden"==document.visibilityState&&!this.netplay)return;l();let e,s=this.inputState;if(null!=this.menuOverlay){if(this.menuOverlay.applyInput(),!this.netplay)return;s=new Gt}if(this.netplay)e=this.netplay.update(s.gamepad[0]);else{for(let e=0;e<4;++e)t.setGamepad(e,s.gamepad[e]);t.setMouse(s.mouseX,s.mouseY,s.mouseButtons),t.update(),e=!0}e&&!c&&(c=!0,requestAnimationFrame((()=>{c=!1,t.composite()}))),this.hideGamepadOverlay=!!t.getSystemFlag(2)};performance.now();const d=()=>{const t=performance.now();h();const e=performance.now()-t,s=Math.round(1e3/60-e);setTimeout(d,s)};d()}onPointerUp(t){"touch"==t.pointerType&&ft(),this.runtime.unlockAudio()}onMenuButtonPressed(){this.showMenu?this.inputState.gamepad[0]|=1:this.showMenu=!0}closeMenu(){if(this.showMenu){this.showMenu=!1;for(let t=0;t<4;++t)this.inputState.gamepad[t]=0}}saveGameState(){let t=this.savedGameState;null==t&&(t=this.savedGameState=new bt),t.read(this.runtime)}loadGameState(){if(this.netplay)return void this.notifications.show("State loading disabled during netplay");const t=this.savedGameState;null!=t&&t.write(this.runtime)}copyNetplayLink(){this.netplay||(this.netplay=this.createNetplay(),this.netplay.host()),async function(t){try{await navigator.clipboard.writeText(t)}catch{const e=document.createElement("textarea");return e.value=t,e.style.position="fixed",e.style.left="-999999px",e.style.top="-999999px",document.body.appendChild(e),e.focus(),e.select(),new Promise(((t,s)=>{document.execCommand("copy")?t():s(new Error("Failed to copy to clipboard")),e.remove()}))}}(this.netplay.getInviteLink()),this.notifications.show("Netplay link copied to clipboard")}async resetCart(t){this.netplay?this.notifications.show("Reset disabled during netplay"):(t||(t=this.runtime.wasmBuffer),this.runtime.reset(!0),this.runtime.pauseState|=2,await this.runtime.load(t),this.runtime.start(),this.runtime.pauseState&=-3)}createNetplay(){const t=new Lt(this.runtime);return t.onstart=t=>this.notifications.show(`Joined as player ${t+1}`),t.onjoin=t=>this.notifications.show(`Player ${t+1} joined`),t.onleave=t=>this.notifications.show(`Player ${t+1} left`),t}getNetplaySummary(){return this.netplay?this.netplay.getSummary():[]}render(){return M`<div class="content" @pointerup="${this.onPointerUp}">${this.showMenu?M`<wasm4-menu-overlay .app="${this}">`:""}<wasm4-notifications><\u002Fwasm4-notifications>${this.runtime.canvas}<\u002Fdiv>${this.hideGamepadOverlay?"":M`<wasm4-virtual-gamepad .app="${this}">`}`}},t.App.styles=r`:host{width:100%;height:100%;display:flex;align-items:center;justify-content:center;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;background:#202020}.content{width:100vmin;height:100vmin;overflow:hidden}@media (pointer:coarse) and (max-aspect-ratio:2/3){.content{position:absolute;top:calc((100% - 220px - 100vmin)/ 2)}}.content canvas{width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges}`,Vt([et()],t.App.prototype,"hideGamepadOverlay",2),Vt([et()],t.App.prototype,"showMenu",2),Vt([st("wasm4-menu-overlay")],t.App.prototype,"menuOverlay",2),Vt([st("wasm4-notifications")],t.App.prototype,"notifications",2),t.App=Vt([Q("wasm4-app")],t.App);var qt=Object.defineProperty,Jt=Object.getOwnPropertyDescriptor,Yt=(t,e,s,i)=>{for(var n,r=i>1?void 0:i?Jt(e,s):e,o=t.length-1;o>=0;o--)(n=t[o])&&(r=(i?n(e,s,r):n(r))||r);return i&&r&&qt(e,s,r),r};const Kt=["CONTINUE","SAVE STATE","LOAD STATE","COPY NETPLAY URL","RESET CART"];t.MenuOverlay=class extends X{constructor(){super(),this.lastGamepad=0,this.selectedIdx=0,this.netplaySummary=[]}applyInput(){let t=0;for(const s of this.app.inputState.gamepad)t|=s;const e=t&(t^this.lastGamepad);if(this.lastGamepad=t,3&e){switch(this.selectedIdx){case 0:break;case 1:this.app.saveGameState();break;case 2:this.app.loadGameState();break;case 3:this.app.copyNetplayLink();break;case 4:this.app.resetCart()}this.app.closeMenu()}e&dt&&this.selectedIdx++,e&ht&&this.selectedIdx--,this.selectedIdx=(this.selectedIdx+Kt.length)%Kt.length}connectedCallback(){super.connectedCallback();const t=()=>{this.netplaySummary=this.app.getNetplaySummary()};t(),this.netplayPollInterval=window.setInterval(t,1e3)}disconnectedCallback(){window.clearInterval(this.netplayPollInterval),super.disconnectedCallback()}render(){return M`<div class="menu"><ul>${Wt(Kt,((t,e)=>M`<li class="${this.selectedIdx==e?"selected":""}" }>${t}<\u002Fli>`))}<\u002Ful><\u002Fdiv><div class="netplay-summary">${Wt(this.netplaySummary,(t=>{const e=t.ping<100?"good":t.ping<200?"ok":"bad",s=t.ping<0?M`<span class="ping-you">YOU<\u002Fspan>`:M`<span class="ping-${e}">${Math.ceil(t.ping)}ms<\u002Fspan>`;return M`<div>PLAYER ${t.playerIdx>=0?t.playerIdx+1:"?"} ${s}<\u002Fdiv>`}))}<\u002Fdiv>`}},t.MenuOverlay.styles=r`:host{width:100vmin;height:100vmin;position:absolute;color:#a0a0a0;font:16px wasm4-font;display:flex;align-items:center;justify-content:center;flex-direction:column;background:rgba(0,0,0,.85)}.menu{border:2px solid #f0f0f0;padding:0 1em 0 1em;line-height:2em}.netplay-summary{margin-top:2em;line-height:1.5em}.ping-you{color:#f0f0f0}.ping-good{color:green}.ping-ok{color:#ff0}.ping-bad{color:red}ul{list-style:none;padding-left:0;padding-right:1em}li::before{content:"\\00a0\\00a0"}li.selected::before{content:"> "}li.selected{color:#fff}`,Yt([et()],t.MenuOverlay.prototype,"selectedIdx",2),Yt([et()],t.MenuOverlay.prototype,"netplaySummary",2),t.MenuOverlay=Yt([Q("wasm4-menu-overlay")],t.MenuOverlay);var Xt=Object.defineProperty,Zt=Object.getOwnPropertyDescriptor,Qt=(t,e,s,i)=>{for(var n,r=i>1?void 0:i?Zt(e,s):e,o=t.length-1;o>=0;o--)(n=t[o])&&(r=(i?n(e,s,r):n(r))||r);return i&&r&&Xt(e,s,r),r};function te(t,e,s){t&&(s?t.classList.add(e):t.classList.remove(e))}t.VirtualGamepad=class extends X{constructor(){super(...arguments),this.touchEvents=new Map,this.onPointerEvent=t=>{if("touch"!=t.pointerType)return;switch(t.preventDefault(),t.type){case"pointerdown":case"pointermove":this.touchEvents.set(t.pointerId,t);break;default:this.touchEvents.delete(t.pointerId)}let e=0;if(this.touchEvents.size){const t=100,s=10,i=50,n=.6,r=this.dpad.getBoundingClientRect(),o=r.x+r.width/2,a=r.y+r.height/2,l=this.action1.getBoundingClientRect(),c=l.x+l.width/2,h=l.y+l.height/2,d=this.action2.getBoundingClientRect(),u=d.x+d.width/2,p=d.y+d.height/2;let f,m,y,w,b;for(const g of this.touchEvents.values())f=g.clientX-o,m=g.clientY-a,y=Math.sqrt(f*f+m*m),y<t&&y>s&&(w=f/y,b=m/y,-w>n?e|=lt:w>n&&(e|=ct),-b>n?e|=ht:b>n&&(e|=dt)),f=g.clientX-c,m=g.clientY-h,f*f+m*m<i*i&&(e|=1),f=g.clientX-u,m=g.clientY-p,f*f+m*m<i*i&&(e|=2)}te(this.action1,"pressed",1&e),te(this.action2,"pressed",2&e),te(this.dpad,"pressed-left",e<),te(this.dpad,"pressed-right",e&ct),te(this.dpad,"pressed-up",e&ht),te(this.dpad,"pressed-down",e&dt),this.app.inputState.gamepad[0]=e}}connectedCallback(){super.connectedCallback(),window.addEventListener("pointercancel",this.onPointerEvent),window.addEventListener("pointerdown",this.onPointerEvent),window.addEventListener("pointermove",this.onPointerEvent),window.addEventListener("pointerup",this.onPointerEvent)}disconnectedCallback(){window.removeEventListener("pointercancel",this.onPointerEvent),window.removeEventListener("pointerdown",this.onPointerEvent),window.removeEventListener("pointermove",this.onPointerEvent),window.removeEventListener("pointerup",this.onPointerEvent),super.disconnectedCallback()}onMenuButtonPressed(t){this.app.onMenuButtonPressed(),t.stopImmediatePropagation()}render(){return M`<div class="menu" @pointerdown="${this.onMenuButtonPressed}"><\u002Fdiv><div class="dpad"><\u002Fdiv><div class="action1">X<\u002Fdiv><div class="action2">Z<\u002Fdiv>`}},t.VirtualGamepad.styles=r`:host{display:none}@media (pointer:coarse){:host{display:inherit}}.dpad{pointer-events:none;position:absolute;width:39px;height:120px;left:69px;bottom:30px;background:#444;border-radius:9px}.dpad:before{position:absolute;width:120px;height:39px;top:39px;left:-39px;background:#444;border-radius:9px;content:""}.dpad:after{position:absolute;height:39px;width:39px;top:39px;border-radius:100%;background:#333;content:""}.dpad.pressed-left:before{border-left:4px solid #a93671;width:116px}.dpad.pressed-right:before{border-right:4px solid #a93671;width:116px}.dpad.pressed-up{border-top:4px solid #a93671}.dpad.pressed-down{border-bottom:4px solid #a93671;height:116px}.action1{right:80px;bottom:30px}.action2{right:30px;bottom:90px}.action1,.action2{pointer-events:none;position:absolute;width:60px;height:60px;border:4px solid #a93671;border-radius:50px;color:#a93671;font:24px wasm4-font;text-align:center;line-height:60px}.action1.pressed,.action2.pressed{background:#a93671}.menu{position:absolute;background:#444;width:60px;height:20px;bottom:200px;right:35px;border-radius:10px}`,Qt([st(".dpad")],t.VirtualGamepad.prototype,"dpad",2),Qt([st(".action1")],t.VirtualGamepad.prototype,"action1",2),Qt([st(".action2")],t.VirtualGamepad.prototype,"action2",2),t.VirtualGamepad=Qt([Q("wasm4-virtual-gamepad")],t.VirtualGamepad);var ee=Object.defineProperty,se=Object.getOwnPropertyDescriptor,ie=(t,e,s,i)=>{for(var n,r=i>1?void 0:i?se(e,s):e,o=t.length-1;o>=0;o--)(n=t[o])&&(r=(i?n(e,s,r):n(r))||r);return i&&r&&ee(e,s,r),r};return t.Notifications=class extends X{constructor(){super(...arguments),this.notifications=[]}show(t){this.notifications=this.notifications.concat([t]),setTimeout((()=>{this.notifications=this.notifications.slice(1)}),5e3)}render(){return this.notifications.map((t=>M`<div class="notification">${t}<\u002Fdiv>`))}},t.Notifications.styles=r`:host{width:100vmin;height:100vmin;position:absolute;pointer-events:none;color:#fff;font:24px wasm4-font;display:flex;flex-direction:column}.notification{background:rgba(0,0,0,.85);padding:.5em;animation:appear .5s ease-out}@keyframes appear{from{padding-left:2em;opacity:0}to{opacity:1;padding-left:.5em}}`,ie([et()],t.Notifications.prototype,"notifications",2),t.Notifications=ie([Q("wasm4-notifications")],t.Notifications),Object.defineProperty(t,"__esModule",{value:!0}),t[Symbol.toStringTag]="Module",t}({});
</script>
<wasm4-app></wasm4-app>
</body>
</html>