From 88ff01eba0c106c6360123a8c9a42414ecbd5755 Mon Sep 17 00:00:00 2001 From: LX3JL Date: Sun, 13 Mar 2016 19:16:51 +0100 Subject: [PATCH] db 2.2.2 --- dashboard/css/layout.css | 11 ++- dashboard/img/down.png | Bin 0 -> 4129 bytes dashboard/img/dvc.jpg | Bin 29674 -> 25593 bytes dashboard/img/ear.png | Bin 0 -> 1338 bytes dashboard/img/flags/ad.png | Bin dashboard/img/flags/ae.png | Bin dashboard/img/flags/af.png | Bin dashboard/img/flags/ag.png | Bin dashboard/img/flags/al.png | Bin dashboard/img/flags/am.png | Bin dashboard/img/flags/ao.png | Bin dashboard/img/flags/ar.png | Bin dashboard/img/flags/at.png | Bin dashboard/img/flags/au.png | Bin dashboard/img/flags/ax.png | Bin dashboard/img/flags/az.png | Bin dashboard/img/flags/ba.png | Bin dashboard/img/flags/bb.png | Bin dashboard/img/flags/bd.png | Bin dashboard/img/flags/be.png | Bin dashboard/img/flags/bf.png | Bin dashboard/img/flags/bg.png | Bin dashboard/img/flags/bh.png | Bin dashboard/img/flags/bi.png | Bin dashboard/img/flags/bj.png | Bin dashboard/img/flags/bn.png | Bin dashboard/img/flags/bo.png | Bin dashboard/img/flags/br.png | Bin dashboard/img/flags/bs.png | Bin dashboard/img/flags/bt.png | Bin dashboard/img/flags/bw.png | Bin dashboard/img/flags/by.png | Bin dashboard/img/flags/bz.png | Bin dashboard/img/flags/ca.png | Bin dashboard/img/flags/cd.png | Bin dashboard/img/flags/cf.png | Bin dashboard/img/flags/cg.png | Bin dashboard/img/flags/ch.png | Bin dashboard/img/flags/ci.png | Bin dashboard/img/flags/cl.png | Bin dashboard/img/flags/cm.png | Bin dashboard/img/flags/cn.png | Bin dashboard/img/flags/co.png | Bin dashboard/img/flags/cr.png | Bin dashboard/img/flags/cu.png | Bin dashboard/img/flags/cv.png | Bin dashboard/img/flags/cy.png | Bin dashboard/img/flags/cz.png | Bin dashboard/img/flags/de.png | Bin dashboard/img/flags/dj.png | Bin dashboard/img/flags/dk.png | Bin dashboard/img/flags/dm.png | Bin dashboard/img/flags/do.png | Bin dashboard/img/flags/dz.png | Bin dashboard/img/flags/ec.png | Bin dashboard/img/flags/ee.png | Bin dashboard/img/flags/eg.png | Bin dashboard/img/flags/eh.png | Bin dashboard/img/flags/er.png | Bin dashboard/img/flags/es.png | Bin dashboard/img/flags/et.png | Bin dashboard/img/flags/fi.png | Bin dashboard/img/flags/fj.png | Bin dashboard/img/flags/fm.png | Bin dashboard/img/flags/fr.png | Bin dashboard/img/flags/ga.png | Bin dashboard/img/flags/gate.png | Bin dashboard/img/flags/gb.png | Bin dashboard/img/flags/gd.png | Bin dashboard/img/flags/ge.png | Bin dashboard/img/flags/gh.png | Bin dashboard/img/flags/gm.png | Bin dashboard/img/flags/gn.png | Bin dashboard/img/flags/gq.png | Bin dashboard/img/flags/gr.png | Bin dashboard/img/flags/gt.png | Bin dashboard/img/flags/gw.png | Bin dashboard/img/flags/gy.png | Bin dashboard/img/flags/hn.png | Bin dashboard/img/flags/hr.png | Bin dashboard/img/flags/ht.png | Bin dashboard/img/flags/hu.png | Bin dashboard/img/flags/id.png | Bin dashboard/img/flags/ie.png | Bin dashboard/img/flags/il.png | Bin dashboard/img/flags/in.png | Bin dashboard/img/flags/iq.png | Bin dashboard/img/flags/ir.png | Bin dashboard/img/flags/is.png | Bin dashboard/img/flags/it.png | Bin dashboard/img/flags/jm.png | Bin dashboard/img/flags/jo.png | Bin dashboard/img/flags/jp.png | Bin dashboard/img/flags/ke.png | Bin dashboard/img/flags/kg.png | Bin dashboard/img/flags/kh.png | Bin dashboard/img/flags/ki.png | Bin dashboard/img/flags/km.png | Bin dashboard/img/flags/kn.png | Bin dashboard/img/flags/kp.png | Bin dashboard/img/flags/kr.png | Bin dashboard/img/flags/ks.png | Bin dashboard/img/flags/kw.png | Bin dashboard/img/flags/kz.png | Bin dashboard/img/flags/la.png | Bin dashboard/img/flags/lb.png | Bin dashboard/img/flags/lc.png | Bin dashboard/img/flags/li.png | Bin dashboard/img/flags/lk.png | Bin dashboard/img/flags/lr.png | Bin dashboard/img/flags/ls.png | Bin dashboard/img/flags/lt.png | Bin dashboard/img/flags/lu.png | Bin dashboard/img/flags/lv.png | Bin dashboard/img/flags/ly.png | Bin dashboard/img/flags/ma.png | Bin dashboard/img/flags/mc.png | Bin dashboard/img/flags/md.png | Bin dashboard/img/flags/me.png | Bin dashboard/img/flags/mg.png | Bin dashboard/img/flags/mh.png | Bin dashboard/img/flags/mk.png | Bin dashboard/img/flags/ml.png | Bin dashboard/img/flags/mm.png | Bin dashboard/img/flags/mn.png | Bin dashboard/img/flags/mr.png | Bin dashboard/img/flags/mt.png | Bin dashboard/img/flags/mu.png | Bin dashboard/img/flags/mv.png | Bin dashboard/img/flags/mw.png | Bin dashboard/img/flags/mx.png | Bin dashboard/img/flags/my.png | Bin dashboard/img/flags/mz.png | Bin dashboard/img/flags/na.png | Bin dashboard/img/flags/ne.png | Bin dashboard/img/flags/ng.png | Bin dashboard/img/flags/ni.png | Bin dashboard/img/flags/nl.png | Bin dashboard/img/flags/no.png | Bin dashboard/img/flags/np.png | Bin dashboard/img/flags/nr.png | Bin dashboard/img/flags/nz.png | Bin dashboard/img/flags/om.png | Bin dashboard/img/flags/pa.png | Bin dashboard/img/flags/pe.png | Bin dashboard/img/flags/pg.png | Bin dashboard/img/flags/ph.png | Bin dashboard/img/flags/pk.png | Bin dashboard/img/flags/pl.png | Bin dashboard/img/flags/pr.png | Bin dashboard/img/flags/pt.png | Bin dashboard/img/flags/pw.png | Bin dashboard/img/flags/py.png | Bin dashboard/img/flags/qa.png | Bin dashboard/img/flags/ro.png | Bin dashboard/img/flags/rs.png | Bin dashboard/img/flags/ru.png | Bin dashboard/img/flags/rw.png | Bin dashboard/img/flags/sa.png | Bin dashboard/img/flags/sb.png | Bin dashboard/img/flags/sc.png | Bin dashboard/img/flags/sd.png | Bin dashboard/img/flags/se.png | Bin dashboard/img/flags/sg.png | Bin dashboard/img/flags/sh.png | Bin dashboard/img/flags/si.png | Bin dashboard/img/flags/sk.png | Bin dashboard/img/flags/sl.png | Bin dashboard/img/flags/sm.png | Bin dashboard/img/flags/sn.png | Bin dashboard/img/flags/so.png | Bin dashboard/img/flags/sr.png | Bin dashboard/img/flags/st.png | Bin dashboard/img/flags/sv.png | Bin dashboard/img/flags/sy.png | Bin dashboard/img/flags/sz.png | Bin dashboard/img/flags/td.png | Bin dashboard/img/flags/tg.png | Bin dashboard/img/flags/th.png | Bin dashboard/img/flags/tj.png | Bin dashboard/img/flags/tl.png | Bin dashboard/img/flags/tm.png | Bin dashboard/img/flags/tn.png | Bin dashboard/img/flags/to.png | Bin dashboard/img/flags/tr.png | Bin dashboard/img/flags/tt.png | Bin dashboard/img/flags/tv.png | Bin dashboard/img/flags/tw.png | Bin dashboard/img/flags/tz.png | Bin dashboard/img/flags/ua.png | Bin dashboard/img/flags/ug.png | Bin dashboard/img/flags/us.png | Bin dashboard/img/flags/uy.png | Bin dashboard/img/flags/uz.png | Bin dashboard/img/flags/va.png | Bin dashboard/img/flags/vc.png | Bin dashboard/img/flags/ve.png | Bin dashboard/img/flags/vn.png | Bin dashboard/img/flags/vu.png | Bin dashboard/img/flags/wl.png | Bin dashboard/img/flags/ws.png | Bin dashboard/img/flags/ye.png | Bin dashboard/img/flags/za.png | Bin dashboard/img/flags/zm.png | Bin dashboard/img/flags/zw.png | Bin dashboard/img/header.jpg | Bin 16053 -> 45960 bytes dashboard/img/radio-waves-hi.png | Bin dashboard/img/sat.png | Bin dashboard/img/up.png | Bin 0 -> 4346 bytes dashboard/index.php | 124 +++++++++++++-------------- dashboard/log/index.html | 0 dashboard/pgs/class.node.php | 20 +++-- dashboard/pgs/class.parsexml.php | 0 dashboard/pgs/class.peer.php | 0 dashboard/pgs/class.reflector.php | 136 ++++++++++++++++++++++++++++-- dashboard/pgs/class.station.php | 0 dashboard/pgs/config.inc.php | 50 +++++++---- dashboard/pgs/country.csv | 2 +- dashboard/pgs/functions.php | 12 ++- dashboard/pgs/liveccs.php | 0 dashboard/pgs/liveircddb.php | 0 dashboard/pgs/peers.php | 0 dashboard/pgs/reflectors.php | 55 ++++++++++++ dashboard/pgs/repeaters.php | 0 dashboard/pgs/users.php | 22 +++-- 225 files changed, 331 insertions(+), 101 deletions(-) mode change 100644 => 100755 dashboard/css/layout.css create mode 100755 dashboard/img/down.png mode change 100644 => 100755 dashboard/img/dvc.jpg create mode 100755 dashboard/img/ear.png mode change 100644 => 100755 dashboard/img/flags/ad.png mode change 100644 => 100755 dashboard/img/flags/ae.png mode change 100644 => 100755 dashboard/img/flags/af.png mode change 100644 => 100755 dashboard/img/flags/ag.png mode change 100644 => 100755 dashboard/img/flags/al.png mode change 100644 => 100755 dashboard/img/flags/am.png mode change 100644 => 100755 dashboard/img/flags/ao.png mode change 100644 => 100755 dashboard/img/flags/ar.png mode change 100644 => 100755 dashboard/img/flags/at.png mode change 100644 => 100755 dashboard/img/flags/au.png mode change 100644 => 100755 dashboard/img/flags/ax.png mode change 100644 => 100755 dashboard/img/flags/az.png mode change 100644 => 100755 dashboard/img/flags/ba.png mode change 100644 => 100755 dashboard/img/flags/bb.png mode change 100644 => 100755 dashboard/img/flags/bd.png mode change 100644 => 100755 dashboard/img/flags/be.png mode change 100644 => 100755 dashboard/img/flags/bf.png mode change 100644 => 100755 dashboard/img/flags/bg.png mode change 100644 => 100755 dashboard/img/flags/bh.png mode change 100644 => 100755 dashboard/img/flags/bi.png mode change 100644 => 100755 dashboard/img/flags/bj.png mode change 100644 => 100755 dashboard/img/flags/bn.png mode change 100644 => 100755 dashboard/img/flags/bo.png mode change 100644 => 100755 dashboard/img/flags/br.png mode change 100644 => 100755 dashboard/img/flags/bs.png mode change 100644 => 100755 dashboard/img/flags/bt.png mode change 100644 => 100755 dashboard/img/flags/bw.png mode change 100644 => 100755 dashboard/img/flags/by.png mode change 100644 => 100755 dashboard/img/flags/bz.png mode change 100644 => 100755 dashboard/img/flags/ca.png mode change 100644 => 100755 dashboard/img/flags/cd.png mode change 100644 => 100755 dashboard/img/flags/cf.png mode change 100644 => 100755 dashboard/img/flags/cg.png mode change 100644 => 100755 dashboard/img/flags/ch.png mode change 100644 => 100755 dashboard/img/flags/ci.png mode change 100644 => 100755 dashboard/img/flags/cl.png mode change 100644 => 100755 dashboard/img/flags/cm.png mode change 100644 => 100755 dashboard/img/flags/cn.png mode change 100644 => 100755 dashboard/img/flags/co.png mode change 100644 => 100755 dashboard/img/flags/cr.png mode change 100644 => 100755 dashboard/img/flags/cu.png mode change 100644 => 100755 dashboard/img/flags/cv.png mode change 100644 => 100755 dashboard/img/flags/cy.png mode change 100644 => 100755 dashboard/img/flags/cz.png mode change 100644 => 100755 dashboard/img/flags/de.png mode change 100644 => 100755 dashboard/img/flags/dj.png mode change 100644 => 100755 dashboard/img/flags/dk.png mode change 100644 => 100755 dashboard/img/flags/dm.png mode change 100644 => 100755 dashboard/img/flags/do.png mode change 100644 => 100755 dashboard/img/flags/dz.png mode change 100644 => 100755 dashboard/img/flags/ec.png mode change 100644 => 100755 dashboard/img/flags/ee.png mode change 100644 => 100755 dashboard/img/flags/eg.png mode change 100644 => 100755 dashboard/img/flags/eh.png mode change 100644 => 100755 dashboard/img/flags/er.png mode change 100644 => 100755 dashboard/img/flags/es.png mode change 100644 => 100755 dashboard/img/flags/et.png mode change 100644 => 100755 dashboard/img/flags/fi.png mode change 100644 => 100755 dashboard/img/flags/fj.png mode change 100644 => 100755 dashboard/img/flags/fm.png mode change 100644 => 100755 dashboard/img/flags/fr.png mode change 100644 => 100755 dashboard/img/flags/ga.png mode change 100644 => 100755 dashboard/img/flags/gate.png mode change 100644 => 100755 dashboard/img/flags/gb.png mode change 100644 => 100755 dashboard/img/flags/gd.png mode change 100644 => 100755 dashboard/img/flags/ge.png mode change 100644 => 100755 dashboard/img/flags/gh.png mode change 100644 => 100755 dashboard/img/flags/gm.png mode change 100644 => 100755 dashboard/img/flags/gn.png mode change 100644 => 100755 dashboard/img/flags/gq.png mode change 100644 => 100755 dashboard/img/flags/gr.png mode change 100644 => 100755 dashboard/img/flags/gt.png mode change 100644 => 100755 dashboard/img/flags/gw.png mode change 100644 => 100755 dashboard/img/flags/gy.png mode change 100644 => 100755 dashboard/img/flags/hn.png mode change 100644 => 100755 dashboard/img/flags/hr.png mode change 100644 => 100755 dashboard/img/flags/ht.png mode change 100644 => 100755 dashboard/img/flags/hu.png mode change 100644 => 100755 dashboard/img/flags/id.png mode change 100644 => 100755 dashboard/img/flags/ie.png mode change 100644 => 100755 dashboard/img/flags/il.png mode change 100644 => 100755 dashboard/img/flags/in.png mode change 100644 => 100755 dashboard/img/flags/iq.png mode change 100644 => 100755 dashboard/img/flags/ir.png mode change 100644 => 100755 dashboard/img/flags/is.png mode change 100644 => 100755 dashboard/img/flags/it.png mode change 100644 => 100755 dashboard/img/flags/jm.png mode change 100644 => 100755 dashboard/img/flags/jo.png mode change 100644 => 100755 dashboard/img/flags/jp.png mode change 100644 => 100755 dashboard/img/flags/ke.png mode change 100644 => 100755 dashboard/img/flags/kg.png mode change 100644 => 100755 dashboard/img/flags/kh.png mode change 100644 => 100755 dashboard/img/flags/ki.png mode change 100644 => 100755 dashboard/img/flags/km.png mode change 100644 => 100755 dashboard/img/flags/kn.png mode change 100644 => 100755 dashboard/img/flags/kp.png mode change 100644 => 100755 dashboard/img/flags/kr.png mode change 100644 => 100755 dashboard/img/flags/ks.png mode change 100644 => 100755 dashboard/img/flags/kw.png mode change 100644 => 100755 dashboard/img/flags/kz.png mode change 100644 => 100755 dashboard/img/flags/la.png mode change 100644 => 100755 dashboard/img/flags/lb.png mode change 100644 => 100755 dashboard/img/flags/lc.png mode change 100644 => 100755 dashboard/img/flags/li.png mode change 100644 => 100755 dashboard/img/flags/lk.png mode change 100644 => 100755 dashboard/img/flags/lr.png mode change 100644 => 100755 dashboard/img/flags/ls.png mode change 100644 => 100755 dashboard/img/flags/lt.png mode change 100644 => 100755 dashboard/img/flags/lu.png mode change 100644 => 100755 dashboard/img/flags/lv.png mode change 100644 => 100755 dashboard/img/flags/ly.png mode change 100644 => 100755 dashboard/img/flags/ma.png mode change 100644 => 100755 dashboard/img/flags/mc.png mode change 100644 => 100755 dashboard/img/flags/md.png mode change 100644 => 100755 dashboard/img/flags/me.png mode change 100644 => 100755 dashboard/img/flags/mg.png mode change 100644 => 100755 dashboard/img/flags/mh.png mode change 100644 => 100755 dashboard/img/flags/mk.png mode change 100644 => 100755 dashboard/img/flags/ml.png mode change 100644 => 100755 dashboard/img/flags/mm.png mode change 100644 => 100755 dashboard/img/flags/mn.png mode change 100644 => 100755 dashboard/img/flags/mr.png mode change 100644 => 100755 dashboard/img/flags/mt.png mode change 100644 => 100755 dashboard/img/flags/mu.png mode change 100644 => 100755 dashboard/img/flags/mv.png mode change 100644 => 100755 dashboard/img/flags/mw.png mode change 100644 => 100755 dashboard/img/flags/mx.png mode change 100644 => 100755 dashboard/img/flags/my.png mode change 100644 => 100755 dashboard/img/flags/mz.png mode change 100644 => 100755 dashboard/img/flags/na.png mode change 100644 => 100755 dashboard/img/flags/ne.png mode change 100644 => 100755 dashboard/img/flags/ng.png mode change 100644 => 100755 dashboard/img/flags/ni.png mode change 100644 => 100755 dashboard/img/flags/nl.png mode change 100644 => 100755 dashboard/img/flags/no.png mode change 100644 => 100755 dashboard/img/flags/np.png mode change 100644 => 100755 dashboard/img/flags/nr.png mode change 100644 => 100755 dashboard/img/flags/nz.png mode change 100644 => 100755 dashboard/img/flags/om.png mode change 100644 => 100755 dashboard/img/flags/pa.png mode change 100644 => 100755 dashboard/img/flags/pe.png mode change 100644 => 100755 dashboard/img/flags/pg.png mode change 100644 => 100755 dashboard/img/flags/ph.png mode change 100644 => 100755 dashboard/img/flags/pk.png mode change 100644 => 100755 dashboard/img/flags/pl.png mode change 100644 => 100755 dashboard/img/flags/pr.png mode change 100644 => 100755 dashboard/img/flags/pt.png mode change 100644 => 100755 dashboard/img/flags/pw.png mode change 100644 => 100755 dashboard/img/flags/py.png mode change 100644 => 100755 dashboard/img/flags/qa.png mode change 100644 => 100755 dashboard/img/flags/ro.png mode change 100644 => 100755 dashboard/img/flags/rs.png mode change 100644 => 100755 dashboard/img/flags/ru.png mode change 100644 => 100755 dashboard/img/flags/rw.png mode change 100644 => 100755 dashboard/img/flags/sa.png mode change 100644 => 100755 dashboard/img/flags/sb.png mode change 100644 => 100755 dashboard/img/flags/sc.png mode change 100644 => 100755 dashboard/img/flags/sd.png mode change 100644 => 100755 dashboard/img/flags/se.png mode change 100644 => 100755 dashboard/img/flags/sg.png mode change 100644 => 100755 dashboard/img/flags/sh.png mode change 100644 => 100755 dashboard/img/flags/si.png mode change 100644 => 100755 dashboard/img/flags/sk.png mode change 100644 => 100755 dashboard/img/flags/sl.png mode change 100644 => 100755 dashboard/img/flags/sm.png mode change 100644 => 100755 dashboard/img/flags/sn.png mode change 100644 => 100755 dashboard/img/flags/so.png mode change 100644 => 100755 dashboard/img/flags/sr.png mode change 100644 => 100755 dashboard/img/flags/st.png mode change 100644 => 100755 dashboard/img/flags/sv.png mode change 100644 => 100755 dashboard/img/flags/sy.png mode change 100644 => 100755 dashboard/img/flags/sz.png mode change 100644 => 100755 dashboard/img/flags/td.png mode change 100644 => 100755 dashboard/img/flags/tg.png mode change 100644 => 100755 dashboard/img/flags/th.png mode change 100644 => 100755 dashboard/img/flags/tj.png mode change 100644 => 100755 dashboard/img/flags/tl.png mode change 100644 => 100755 dashboard/img/flags/tm.png mode change 100644 => 100755 dashboard/img/flags/tn.png mode change 100644 => 100755 dashboard/img/flags/to.png mode change 100644 => 100755 dashboard/img/flags/tr.png mode change 100644 => 100755 dashboard/img/flags/tt.png mode change 100644 => 100755 dashboard/img/flags/tv.png mode change 100644 => 100755 dashboard/img/flags/tw.png mode change 100644 => 100755 dashboard/img/flags/tz.png mode change 100644 => 100755 dashboard/img/flags/ua.png mode change 100644 => 100755 dashboard/img/flags/ug.png mode change 100644 => 100755 dashboard/img/flags/us.png mode change 100644 => 100755 dashboard/img/flags/uy.png mode change 100644 => 100755 dashboard/img/flags/uz.png mode change 100644 => 100755 dashboard/img/flags/va.png mode change 100644 => 100755 dashboard/img/flags/vc.png mode change 100644 => 100755 dashboard/img/flags/ve.png mode change 100644 => 100755 dashboard/img/flags/vn.png mode change 100644 => 100755 dashboard/img/flags/vu.png mode change 100644 => 100755 dashboard/img/flags/wl.png mode change 100644 => 100755 dashboard/img/flags/ws.png mode change 100644 => 100755 dashboard/img/flags/ye.png mode change 100644 => 100755 dashboard/img/flags/za.png mode change 100644 => 100755 dashboard/img/flags/zm.png mode change 100644 => 100755 dashboard/img/flags/zw.png mode change 100644 => 100755 dashboard/img/header.jpg mode change 100644 => 100755 dashboard/img/radio-waves-hi.png mode change 100644 => 100755 dashboard/img/sat.png create mode 100755 dashboard/img/up.png create mode 100755 dashboard/log/index.html mode change 100644 => 100755 dashboard/pgs/class.node.php mode change 100644 => 100755 dashboard/pgs/class.parsexml.php mode change 100644 => 100755 dashboard/pgs/class.peer.php mode change 100644 => 100755 dashboard/pgs/class.reflector.php mode change 100644 => 100755 dashboard/pgs/class.station.php mode change 100644 => 100755 dashboard/pgs/config.inc.php mode change 100644 => 100755 dashboard/pgs/country.csv mode change 100644 => 100755 dashboard/pgs/functions.php mode change 100644 => 100755 dashboard/pgs/liveccs.php mode change 100644 => 100755 dashboard/pgs/liveircddb.php mode change 100644 => 100755 dashboard/pgs/peers.php create mode 100755 dashboard/pgs/reflectors.php mode change 100644 => 100755 dashboard/pgs/repeaters.php mode change 100644 => 100755 dashboard/pgs/users.php diff --git a/dashboard/css/layout.css b/dashboard/css/layout.css old mode 100644 new mode 100755 index 35bb41b..c929c73 --- a/dashboard/css/layout.css +++ b/dashboard/css/layout.css @@ -16,12 +16,11 @@ h1 { width : 100%; background-image : url('../img/dvc.jpg'); background-repeat : no-repeat; - background-position : 99.5%; + background-position : 98.5%; position : absolute; left : 0px; top : 0px; min-width : 760px; - padding-left : 3px; } #menu { @@ -91,4 +90,10 @@ background-image: linear-gradient(to bottom, rgb(201, 231, 233) 0%, rgb(220, 237 .listingtable td { padding-left : 5px; -} \ No newline at end of file +} + +.listinglink { + ont-size : 12pt; + text-decoration : underline; + color : #60A1DE; +} diff --git a/dashboard/img/down.png b/dashboard/img/down.png new file mode 100755 index 0000000000000000000000000000000000000000..647313fd71078c7329113a84a95eaff4b5e3d6ee GIT binary patch literal 4129 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 literal 0 HcmV?d00001 diff --git a/dashboard/img/dvc.jpg b/dashboard/img/dvc.jpg old mode 100644 new mode 100755 index f0eb3fbe3bab9eb8d1effc9ddf317b1ee74d8b89..ff3db34b963cfe06a18313dcead8692122e23e8d GIT binary patch delta 22513 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Ξ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

lFd8p@e1d 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 literal 29674 zcmeHwc|4WR_xNMao-Cyj5kmItNfMGR`%YZf?q1FTPelF=4-o_WzV9$dNW}ad22?}`Au>Wf;FnBv z=qH>-bo{rpqJ$ivBjERnNNg8o0&sJXBSZ?GgtX(}!2$Rp{1dEv3qible>@d!kv4FS ziw;Onq=y62jYCOKLP(Uu$Prph&Ul)1|kv$B785XBo+Q6kpke7jA-`)3==LAATgw5

`-si=wmHj)S; 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Νxn{aO2toUFMm>pzQ=us`{v? zbEu-$iM}UY(uk7Dok!~2lGtu(iHPU-oF36HoEWv|He9k@6PjsM(+V5TZ)>hMv)~V$ zd!fVF>-z!^eQ&vpEu1|bqFz)uRl#NNqwUx_(}Q%nBvsTtos(FHs41!(;PXBrnBiuY zK>fJ3icI5)dB9j#bj-7sJHvV=O6PM*{nda@SHwdn5{8jrMqxQ^wKDe^{n$h(soGWO zMRLPz`Q!UjIqx+4!!u`|IB2rGORpJXrwnDdRJ7yo60I7p=AoxVYRmi(3tqIJ5!Q+X z6QUO-saRN6vRHmtR#q}I{F0J@0Ck`Y1(06@lI`~jkENWQOQ(29 zeq);fD%jg__KLx1U=V7h!*9^b-vC7!eka~ku*)Fdo8?sf0h;;RJzuVrnU3}P<{Ut; zYvZ9MndzA-H3fSER7hv)RqGo^-^ejmxS758p}B%utYxNa%kC?SI%X4mH)PKx?oQK5 zy63yLnA*k-`Ryy~)DcP3n-AXf&MjUDJNV?Xe?h`~nj@W4;n~+6C;QV^&#hc#y^IYs zMpa7Dsn}P4BFzbZ*|gsatQfLmLH!BqZh~FQQxe^iiyrxmUJ@r@@E!kB-dX6HH`H%V z#%)A*Z)g?wZqx^NEG=sa`*`yx$QLe@dB2zp(3p)0PH3UplH)tx8yBVdutu3#WgvlZ zK(izy>vp1c3HMhk)NJAi&e;06NBP97JbAV5=(wR4wyG~y>|VI;+7_53>CRv`9^#6X z)6PrkT#3zl9_qY;VnblF#b>wQ*xW8)*XBkY+xMPpA7K9;@~O0A+Ty-J9|bhxaIV?V znw`-IdEc|X9kjO9LQ1HOx85?#)E$HNdba((BM#o#+;$h@qYyEAMup=EoH?P#^n+*1 zn}_WDUSj2nue1zgY)%Et^hUpVS-wyr%b3px|1?*V`><2{0XAPgu7}Z8D5Yz{0J9oz zY@`+8YsU7F(EyRJXh3(MhT+UXI$EvpSYJBf>-_2>Z==Pn=COLJ!qB3oP!bOXq zYglZp{p{pyJ61rgBisV6lP|T;XjmL&g*+meA8+n>&nM*uuuFWoAGSfMba%G9FFku| zds}Yb{qo5Qemqn_AvA{NE94K*&~|^noiPD5 z`{;>PB(LwlLfA^snbnHvY0a)h>cRkd)R^X+UryTu?NF&0n`qwU@`wsKMvr0d7X6{p zTqo56_lNpAU*I-TqNfT^=A9CiP!s{3pV-CDFN=rr)>JFA3kxJWY;2F?E}}*krh_vp z+Zt{srr(|p$p9ok@)K85e;w@b}|Hi6b zKB@FFHhtAde>L6+b#Xhb(~3?Oduh(pNh`5Oz64ty`ii697cE_1?s#K`S3jrK^v#3l ztQGNw&TffxQ^mE5??G!jSNRQNWi;UAqc>9J=t5yLAE#=p!sJpVN+pGaa=-SC%?P#i z$P2$J3K{IaouA5!UCEnsEs#)A$#ty>e`QQ{&-~irM(`=1yMzna`9#855er!3itOp> zikXRqwuvJTuw@?Nn!!_Ra{=vhlUcKJurH`eRn)7?gR+Y!BD-@Z>SZ#lq;~Vf3)6Tv^iE1l_=%g0_W!q zV(j+~q#Z3}r8M

5aSbg}mtRb+Mc#UqfggHAdDTQgf?TT~(|4 zs^5=0r_`HjItW#FG{!DOc60_)q1t0~|x?Za+Wy41n*2gr9q+Xfqgtkp|%gFD9zpK7I zl{F*N_rx_quds+m<;{zLm0D}3g4QM5sdP@XaCY_0AZn`)(ehu#~X z>v?RCEDXrUCu6Q=4yPveJi4f8DlXl9AWU3MKuy3m*K?3=am@5~z~ZOvvL4Sk?U#!Z3fz2h6mRI!vl(%PN)JCDvUW~|%lF#j@)wm7A_MW^=8htE^Iz52`qt2Ol!@F<@#J57fyPR`DMUNLgh+kQ6F_!zrCZ*sHN*$W}; z*tQmAVeM1)(x+Cq0~;j}`Uy!}XjLqdr%k6gIX*S;S()bAf#&nWYnBsguTGzualIb0 z9(%3(YF+PX?0V?U=^ml3s^PE6pAC^wGnSH|K9A`v$@!`kBj*)%6KmNd=3BKc z(?zDC?A^Zfo-;kyHM74WG@p|8B76L5zFe7yT1fT90mmuFQS2+vS9vG(vLb{* zRzqEJ)Owv|k4x6-h2ij3^d&E^iS-YiTLNBsGv+)ap=o96UxQEk$Oo5Q!j{~7ofmiG zeoyf044WDo=k7=b<&%$;_)FA4e?4Oqn3r^#bcs_DAGVvv9x5(ct=#BJ5SEH$&s;rG zXvHN7{z#3tsdxKKl%ut?^YEu_RF7IoUn+G-&POy0ldoOTc^X}VV<@Fw-*jx$K)`+< z8*j;vJ-v;k{i%5eW}9z(U9-64#q;I8EslS5%Oh`f%z0Fbnf;P~Jpxu{+l9?^(rq4a z6mM;P`RR6KVtjJriA-5A{L4Q3nN}kLiu&cuUdqJ^zVT%*s<^n)QG@H4anihgt*di- zb!AF(tYa&Rs6aBxaBy+OSpLyVhj}(v#oH-&j5-Y7a>wTl$C#Xg0d2O4fvY~8UH2_q zTv0QjI6o?@ESZ*aPvgq7+SLm2Lacj^!3$<*6Lq8DEwW^WE2exJpFRZh0#U|%U(Nsh zdr;GxBQr13D!q}&A$JA|Zcq99rTl#{)_&(4qz_t{-5^+K zzBpzpvUfBoew|=M zE&sogOvLJ)J7zio5BUVtSk10&i4cxPnD!52U^|VtY4qNXWgOeiSFjRZ>aQAG?%$n^ zn!(?X8bNORzZTv)hFLFS--t_C*ubUYA@KfaXtfSbJxED_SIF@!^hDVX;Vo!KYWExs z9!i-bEbuYQy*SVtYq;3&XK7lz3Ek1ZiTHND1^j7`enOA@uOu8I%y>r ooUC!gVFp2|nP9s-Mgk9=e2kM9-cGU_RagUmOec}>Hiz%}f4;lQZ2$lO diff --git a/dashboard/img/ear.png b/dashboard/img/ear.png new file mode 100755 index 0000000000000000000000000000000000000000..6b07f3a012ac3f61d9f3bc95c15dc8566bd0f375 GIT binary patch literal 1338 zcmV-A1;zS_P)X1ONa4L{Pj(00009a7bBm000hn z000hn0kBg%p#T5_7->U8P*7-ZbZ>KLZ*U+lnSp_Ufq@}0xwybFAi#%#fq@|}KQEO56)-X|e7nZL z$iTqBa9P*U#mSX{G{Bl%P*lRez;J+pfx##xwK$o9f#C}S14DXwNkIt%17i#W1A|CX zc0maP17iUL1A|C*NRTrF17iyV0~1e4YDEbH0|SF|enDkXW_m`6f}y3QrGjHhep0GJ zaAk2xYHqQDXI^rCQ9*uDVo7QW0|Nup4h9AW240u^5(W3f%sd4n162kpgNVo|1qcff zJ_s=cNG>fZg9jx8g8+j9g8_pBLjXe}Lp{R+hNBE`7{wV~7)u#fFy3PlV+vxLz;uCG zm^qSpA@ds+OO_6nTdaDlt*rOhEZL^9ePa)2-_4=K(Z%tFGm-NGmm}8}ZcXk5JW@PU zd4+f<@d@)yL(o<5icqT158+-B6_LH7;i6x}CW#w~Uy-Pgl#@Irl`kzV zeL|*8R$ca%T%Wv){2zs_iiJvgN^h0dsuZZ2sQy$tsNSU!s;Q*;LF<6_B%M@UD?LHI zSNcZ`78uqV#TeU~$eS{ozBIdFzSClfs*^S+dw;4dus<{M;#|MXC)T}S9v!D zcV!QCPhBq)ZyO(X-(bH4|NMaZz==UigLj2o41F2S6d@OB6%`R(5i>J(Puzn9wnW{e zu;hl6HK{k#IWjCVGqdJqU(99Cv(K+6*i`tgSi2;vbXD1#3jNBGs$DgVwO(~o>mN4i zHPtkqZIx>)Y(Ls5-Br|mx>vQYvH$Kwn@O`L|D75??eGkZnfg$5<;Xeg_o%+-I&+-3%01W^SH2RkDT>t<8AY({UO#lFTB>(_`g8%^e z{{R4h=>PzAFaQARU;qF*m;eA5Z<1fdMgRZ-oJmAMRCwBS(mzPlVI0Tt*Zu6zNjj8V zbcvlrT4|b~21P>+E`=D;kRc>3O+`eD<=${xIVd!i4J|oLYg7|8#FQ@ z%*&pJ^M0N|-|6{0?+>5v_xtc96l=Q_HY>Mm(VTotL>e`!jP+Kv${~SByD8JCaMXTF zM$9{4ypYhU4hffy34-9OHc5vHK|P>b5KLJS1e11XvMo}t3Upw|LG7NQ#w`=lTyO`x z^v6Ds^ja`4?Qo=4mvS{Kbs7W9di_wPMLtq*kDNDVjKqt5Hh>mOd=&ih+p4T4Wow3N z%LY}Gx2Qq0SwY?hcO3^g4`j$X2m01_4pw#Jl|gmu4|^iU!F|lQ?no5lg>|O^9n#*( zY>Kb;n)b*iCq1@e*cX$Ui?G6TS2Tc&f}qE#wW)AJ@I*?x+aAj56S-$sF?`mLem5m$ zO@K32%$3Ze*J$ArAnC1E8!96ep9c;5Z(a3Gx+uEr+yJi$P8UVOxSTdylu7CILU5_n weO3^R8}(E0-T8le9rM(JMep_7T?+mV03H5m5Z=brn{efNFudw)E8zSUh_UEN(>9cFb^&0xM_CTL{Td>rinKt~7Q z0|0;sAcX(`E(k$zXut^a0|u0^h!YrFmIxvEiN^u)r+>m=MF{Or7^H$Q0r=Q=ozVHdq1Dl&BXZIT?0HPuwuksuKk{u#hFw);HxXArvfzi@xm{tJgl0RZVOP&QBh!db@xK>2+DU>N!fckVR+Py_=&S?Axz zLx){24jvw^vckgN-rhovP#YnvK!1n-NbsBTzX$%-pAfdc-?C#@h1ywpx_Gc-g=&Lv zL3p~eBVDa*pzMPGx`_YR75~Q8-}n%?4z+{2L*ZaoM&K%QgxiDD4Yzgla74h_9pV4o z4F4~y{f!4K_+wpz0Cn0iKw~KcPKz`4gHn9ukM7JyY?8#sVKAcPPy2sMNe!Uj1H;fGv+NJA7MY7lM6b%+V%7Q`MrDLo+p zkb96vkmry%NHQb~QV4kmsfT=mbVCLq6OehxI%FRQ7l#yw28R`g3r8478b=vN3&#M* z9LFBV4aW~B80QI23{DD8E>0OvJx&`=AI><=0?rnAFq7cY;hx16#FfTX!PUbx#kIqA z#|^>_!;QjC!Oh35#BIUt#U008#NERqz@x@v#}mYp!@G=Uh-ZW6h8KkQ7%vVl6R!-f z5w90-0&f-X7@rKE1)m>Z7GD$p2EIMMH+~3y6n;8>DSi`vAN~yfHUR+v9RW9i6v1Tz z69Oj!e}cyZ2?PZM?+LmIrUj--YX9#zRNQl^o zE)b~`nG(T??h-{2WfRpB^$^Vw9S~CzpC^_j)+4qh_9c!WP9v@)?j)WeJ~%~niu;tp zDT7l^r|z7JIhB8^>D2J44H6O(4iXuXYb1^&w@G41-jaMInIPFCJx$6-szPc;>Ph;9 zG=ua#=^*I_85tQD*+nu_G7qvRWLablWTRxej3Z2VOngk&n7o-1nVOgunQ55im~EKDn2VT)Sa4YQSgy19v!t@Lvuv@R zVbx%DWsPNRU|l>zcjn?5r!z0k)Sj7Vqh?cNb7XtLR>$_8ot9mh-Gx1dy^($OEX&!; zXFbm*pZ$FHfP{17AE} zCqE9qB)=nn0)MvvzJQDXTp&eYK#){WS3s1hs^YM5x3E zi6coVNq5P7$$6=BQn#dDNexKTNMDtHEd5aiU*?hwN~T(7PgYXaL$*kEMNUx8SuR`d zn>@EXR6b39N`XVcN+DTcT#;Szmf~y0aiz0LR!S*KlNUKJ+Fne*IH%03?4+ElynIRI zlKZ97OFJsEDuF8RRdH1{RKrw1tDROeREtv^Rp(H*SI<#j)sWEe*LZ&!|FYKQXO{;w zSv74mvou$)NL>lM(x^qMrLPsIHL1;~?XF#^gQIgrCsJov_q;A#w_Fd<)6|R98@bAT z)$MB4HG*qbuf<=Ry)Jq^;ChQbwZ5f(w*I!kC4&e9v>}h7r{M=93L`V4ETbJ`RpaNz z<2QtF1m0*fVKQ+vsW2rpH8M>%-MXoE^X1JMGYPX0vwm}Kb070h7EBf{7B!X>mR6R< zxA1Qn-^#vqXr*VBVzp(hY5mH2)kei8+GfG_qU{UYd8h*PIdslW!S1=;H+u#9Nc(vQ zC5I@7MMo9KIL9@o%T7s7JI;E}8O|6NW0wLL5$qQ19sD%h8QzFEgYZFgyYjn+xQ@HY zy1jH;b=PuFM?#S1$O;b{@MWsqlgIPE=Y*G{SG?D*w~=?T50wwxr`?y&_o45cpSs^0 ze>{I1{|^CY1MUP&1S$t62SI|YgFc`*QNgI0+Zwks@0_~he5d2C$ld36H}4tWs|;oh zz8ySuU*mpG2ziKm$UvxEXwn0`2aXRuKNNcy`|vo-HmvoL$fKx7hmUO@w}y*`$An{^ z*gg3iAsLbQl;A1+Y5y~&XPM8bp8GwYiqwfLd%^x9?8W9w%a@;`#G{g;Pepr1kH=`o zRK%W(eHwch=MdKye<{A;70auKuXYk_6M7OaCgvxxCOt~pf9?4CYqCaiSqfK5R4PHL zSL$qSnT{a$#hu)j#F=tHq|aem49l2@hFrD0`|GT*Y*a)3tC)rQ$TBTdd+a%k{+9ldcJ0vy+xO=#uHG?3VAY?NREf?^W$> z{-XJ%txvbFyWgwww7_*dJn-v(U<*M_`?4$!xU@rT1kC`Y13Sw>UFc*hFHCC6(f zR43Xe^(WC&Hd71J$mzqG;90WSs5!Q|tZx^-RnM!>cYVM4eP+RR;b1XjiE8Q9GS70! z%EguT)f=lbYwl~9^~W2G8yTD8n;*8WZjElkwhwl~b{Tgw_oVk)_Ko-F4!jQu4`Ysa zk1CI~j)yTY3ELC&>9LzF6ev$)hZ-Z|J5DXd!21tpBh=_?uiHS+6NKTPZ z(Nd6-QqVF`Q`1sYGfud|Xm7u#gHD@9b$&eC2Ca)EsViE)dW>OD?>`d5-pay|tLQ z``vC8!t>AdS0~nNkP>t$MfbQ=BMofTKBRg`()SonLf4Cf8+tvbHq^Oaq}?xh+4yC8 z^G#_}-^`YgomWUydRcS-?6#DKvAuU_bVhm0z}yZMfP({ai+92kApyR`2@7XMPve0c zxN%V9U%2y(2FpSH_3l-%bJi2?cb}{1)7l`#*Ul4Q86f16_|O9~kxFl?W+>?ao&3$h zf6oE;Uo2pT08-qOKB>T~?3O{a;MQP*`Et|I(+fxH7k2Eb=rtRLx+8Uj&W_DEv&{#6 z`Z}in1-c+V@+Bdn&-Lr@_7>rmx_S55ylq(g%@9GKf^yEDVzzChlFs&`HwG9&lmtce zYwEc_pC~T$TQ=?!ig>63LN5nlc7YA39P>2Wqg1Xby`$uVpf+a=P=W!Vn+i&+4h#xf z3o_p&x7r_@4SPX*pX}VK&B=w*7GHQQke!oiUv>Vg;mq6t-`0^p@a=2ImI#t>#KQ9J zbqicZuo}(qj>aQe<+5U?d79!Jv$1dfQnD+9K~HqPENzg6(LR#?(W?Zx}!|8bRy5>c1Jy{H3zI|Io#I z+K5FZuS49Zof+=^y?{S1k9fi^@qo9Pn;{?xrRL6c$M(#bt)%}5okqKIhADx9i zJ8m7f*j;T--W_vzQ{ibN28Zdj+kX`ZM78?`l^(y`i|;8__@MO!abth@`?^47vAUM% zTA9_reON9cdsu32PKrBdIR5Qekf-NncHY+Ff$*;798GNjy1(eSP(L=wa5DK$3bT&i%<;?utthEKnhjSVGmQc%7O+Aa}8>0!){i` zL@ubhW& zZfgbl2ii?{KXMlOZZ5TDW)v7#ps!fhhXK^Qzs*>h?2iT6aY?5Pqsk0)o&@oS8@vjE zPFpMVhhPA?-r-?V?V%!p)Xl_DbU`35#%C8D zo=029#wKN^zwoZkr9keR9O`Rdfc98EtGJEFcjus36OILU=hoWSjGivdADSz319GFr z>u|}>`kd@J2B>M z$;bU#MGdK|5|%B62#vmu)_Fd6K`n*d8|M`7$hAF>1RM1K0)X1xAc% zm5Z);AC)!wJsYIJbZx0F%ose^-@2kTV~b5Xy^ndAk0|z;-yO#vPANtlJJA&6L{kN7?z4)0-0WB1lF(weRkR zVldaUiw$Wf^<+=V-heSB`20BONnG6>;U0RP9#fze+apZ*)idahWN0;sM6 zPGc!mTs`2wm;jlycK@BZZjaRYol$XztNfLLd;FErwst}OF4493@cNxmgSn{w&VX|G ztLaNN&h~oNPN3fIm)-!>w}6_m6HO*?-Ikr*7U5}q5it&;egqA7_3W*R8&d%MbijcbkhQ*cN`w9`4c!ND15mQ}FBY zS9&tDTqkAZC-F(7bo=L=lbvL-3-QbeCF4KyxEm*V;*%JRASWvYR9Iufsb5n7;9%?G zf{HsZTn2>g?7$KiFa{ONV1WF@B*(`6##}hTgR0fv7>N^%;9r=NHnB=lP^}68;A`K% z3Ao>|#s8)NMEyT0JCOwuw(Vbg0p}vP@4@G%+^`D%pBwmumI<51RR*IUW5#9y@cjh9 zVF6PDP!Rdub_eq(s{%{#x9~UINu6J6`rjmfBlwN`Yoh{iPZ#WY03J^Ofi=Pt zZj1bvePZK*Rq&piIoQSJf`HrqY6rUr|DM0(fq?zYpRjQqR4)I>{}>L^#nA?eG;-0# zE@j9+`oTXb1JT$sg774xsrt9J3GLkxp058u5gqgP1uRX@c-@c<9fQg{5)!ZP6}4||HSAZ?SCD| zKWGT7Ts#b{?EgVUZUY7DfognB0B#?taQHj`qJKMe$?smw%x_ z0T9~$&_aVCu@}_cf@w))50_Y;(SXmQ$AY8#O zG9>ix3+I#zxRCw}med;I0WPTjf+smKTKo(8WH<3(I|8sq5get}6ZpqB6x9g~UYky+ zXijq21r0gLW9fm@o!C71yapd?5F7^pP7nsoR1Dzd@Q+#Qk6G%ES?Z5j3OpG8n5F)h zrT&rK%lxDp#2XN?0^cO4@dw)Sg&hP zVRoWH`=Prg1Rc{)`oT<)mi~08g(HQmu+Hg1HVBxokCm&isE~*-Ag|;Dy0|(+J=m?G zpaxfgW2LH&gWb_qfx}orM?}X}1?u2<+0PxS@26{EjQIzK|QS4 zePAwdq^yqu$4TR|AdE!|bFiO~csMI?oVa$d-_W@VI<>k(*(HQT1Z_klMcF0Ag+#?g zWW;3z*g?N|5n<5_!Xi?Fq9U>qQnDhV>^}ns*qghpo$Pg0^`Cu#IR%ctc?o-q2_f9= zg+Z@r8DWtN!WS+Gf)s*CU$}>rk02b$`Ktw0&{^Ew@x%hgj%^XN?s$4AaDbft7y`^y zN9T9L|5jQs7pzpC5X{I2T?s-jN@ zU~3}`b%DY_G9)-RqQARx{q-0$L(3H{XpI6eQK{MXE53Bdu&sv>MWv3+W) zDsV`Os3}W{iYSYU$S7Y@QInRCQ4v*>RFM(CBr2jNc1hw_9ZfjW!wU3P#?}E_5ps02 zl~ukZc}ZDPRYgrwO+rmVR8(0)N=8LZMN~{iS@Z%}_N(p>tALfu|Gj=~ZDj2b?l3D* zCc~N{DTx++_s=)@IMh__sEHSFFPVZW1{cRRjdzn z`w6)?vY)IWSt}c?O;&*eY2^jA<@kwo{9j4`2Udv{_z6pBm9TI_5Ucw z`77Z54u7kO^?%0sUGP5zet3i{;jrLBKo{!2Ji=8$kMINO51IC^2x|v*1Q5*P3;{VoxHq#eEsf+gg$r}_Tpt! zbWChq+MD!@%&hE^(z5c3ca@Dz%`G24wSMXAANV>rG(9sr_ig_B=GOMk?%qB)e5?;U z9xgr}9v%S!J`7};3iM&e7bO5VsFkk~Ua+EZBf4~l^BL{+WNSJx;=*(F-74;@^b>c* zL05JL8`ZUxA}$F=14%Vo?o-Hnk?I~;ehs0XMpD7|PZ-|dWqOfTf^}wp`NNx?N5j}o z`nN;-U*7DOZ#eioh{>$@`1RYajHZdB@59)vcb^95_xNP5m^%4|#bsBv4t?MMr_=e^ z)L7+?#m;igK+Qpc=StARi2onNKjeYJbo~+1e_A6bO!prl{bwQdoCwJ<_OQJ!HbVyk z@Fl)LTe8b7T8D<`kK}9<#?uVE-F^GSi8PE8yXcy z+@w9-&oI$LnjIL~@os2vxyr7Cm*35+n867MjtQV1|H8J^uG&HLMqA{w>sbkN$I_8e z*g@13Gw)3?`p5VISBv6&-lJ+&M@a>oL*l67#yxk7H#k#jtpm&!R$>CR-knj589Puf z_tAJdq7~j`yZx9UG%s~{S8z>F?b)ZPw=y-6&zcN-p`jyRdi6i)@Sj_+cYL@aZrbu` zZNzLP@@D=B{_AS7#|`5Q@-`ykd3dUOym&t6d{R>s?k;YyJaR5G9X>+zG03wj_RW(~t54YD2$mf6Tf8 z&5S=F&WJyzIu<&cHrJe{?r=f1j{XjH*-tqSVhJlMX;r9|?4g!ZVWR8k1tV4vwtj*tpT%^d21k#~*m zG1W-K@R~FQN=m0_F&5hK(U_Q+Te>$O!Cxua3b8-<;3h5gR7d{YTBsu4`yLlc5oe3U z(fPMXm%{`U1~~6i`}Q>Psv}fhMDG;~<3z^1E4QLKBVv~Su)eZ<&;HOgdrxb`+-*eR zQU7k>T$xwM?7dX4{;mKOo{BY0DDL#wN$_ zzyAIQgdU!@bC^fQF84-!G6slAYKFzG=SJ!mXu;{*YqN@;gTh&>A~Roi z!pv75H_k~BNKwVN;9t4>)c8wJjlgOrX-~bli|WnUF}Jo)2qa3du1CwE9LLp>I8}NSrqR{`)5nqw7&~ zp=)A$VF5YIs4z>WZ4J~i-|^FC_~Yi;<@Wrpui^=WvCT^z1Ioob*=4m04ckwUUd9^L zISZt_Zie^L4l4P4?Kp(lO8i;Vs_R=jJKmz119LV-MMSlkru0=P?wLNUX0VHYuo^{e zs&m;-bZl(Dy#4BW(>yi2DV-)%k^U}_@KDx~RE+j^D=w~hS5F}ub55GqbTIKTcvkQ+kKept>-=IcLnxty}(f;c2RV| zZF_lcA-^ypD|0Sd-jyc4j@RV=^6>US%HYdVx7-h}$8`)0dVHODC%0~NzF5qcsnrQ% zW=4>&xKr+mbguanL&o1<*-f_RdOE&~<78w-Yezeq79WZBkMJbW8%eiPx|6g>y!L?Q za{am(skLekNytkQHO zP+ZLC1_sc0phxtvG5vJfT&FlEGshCF?eWNgJz{y7za$3M5!?VL)$VP!j??x+FcVzA zlM$SG;LG$RPlEU8+=0?aS$smY*RYrWxMJn!Ne4R&5ZBFyH}|SSYpar(CEKz4YBW{v-xhN#j}H>lWy8YXK%1Pr@x2`Nd|(5iH;Vz*HcI5sM>uRx z=JF1_f^xEkI)^OhjpU<;T#ibsP!ZwpWmocQyKT)so;^US4{6I*w_F9FRj_L?v$|qL z&ob_Ofm%yj{VGwxOp+eD>&h6C8sYz>bKH)^fvezfK)kd*3G;yD%%c#=6H z8sM`>-yOJlz~tg7w3RU*H1bs;mFsh68wQ{}rY86v0ktp3T^h=L)@T%%-RDE5fo`Qc z=1{)ykSw8W`WXhO{FI|v*A;g+O`w{g=SDdGWyWzo@pl-2x~2jR|5E?1v2<0Ji_L{A z_|#;LF&h#C$XkXSu^zVUZ|qqhwAp<0#*Q9FEhN+^SH1P;hxK`EQ@DF2&di?e-YP z0KCWIE>DJsjvzHbs+$&FE9PtDk~*A?%u&Qs?)pT!MXvaw%3_D)PY^4yxY!w@P|dE z( z3Q_oc;aAhq zk~6$gQCBI-wzru@)a9#TmeJ}}LIVeryF-B*_q7~nrSsYEI(}TAJe#qx=b^0>>Aj(@ zH#@R+(={Mg_i5x52G~KBmuu+j71}P|Upgy)fPfV5;Q6)&_8qk>loDISmp3|MfRKGs zsSSxmf~wl)1M^V9(bCSas+YOtxHPN5#?f^9y2uy_1AV+x)@f&Ls^Uj_1BRMv$ex8B z!*{!OtL3vc4tzY}qph;C--8uBF~El>buZ`M!!}~S2ks5|=e(2icA92pt=eyydNP!{ zDBs_epPn$Ey%rzoF(-DwpR*>@?rA9S)^JkSW5$ui)XzbaUZ`YveE0@4)#MOU1k-D^ z4S8ptES$FwL&#kn%3#@({j^fKZ$Dq;;ENPO&KyOF?Kg8+O8`@^EhoJX`I7eZ1M(L; zO20gtt!kUvULJk7s6H^*u}+fr*2lc&oj2FSM+`vLY#lQ9{b*%qm$iK7WhA?VN%mtX z6C?f{!PM6Xm#^Mr{aViEwe#mkxNdRW{-Ps#&YIGZ%E_yVu7JrdO(Z1t_BpA8U}hI% zsq*d;e-|R{VqaC@T%=y#>*RC208>wbOTl7!>Y19A5&zemRf_5X0lR~@o8g_$0+)J6 z2unA7Eyo$myGIlfiYluRGsq526N?IM3rm0dvTfO7@h>!y+Po89nIg)ZrmdH+6rqpI zBrjR6WvO#aUe3%{n*Da**87OHK|_A+y-u}-hxCEZo%MpwWG&o;hGiEaZnvewbTO&& z;@$Qj8^VMJTi&7=v(Mau+NC~+>D=cvrjzqqrXBfG;oEOV2Psm@*1=iy5333+0KyRn$zHwykoM~3g1uo_GtFFnpu zpGKr4PkGicBDO$FG9iC1a71z>svXzc7fC9z?-cXkzHVS3#bAF%I0hiOer$B5z3vUHiBV>ru>C*+XCenU%Yi9YUnra#K>b=6DV`9jqhW;Q23?6soKE zOWvY=zw><44RrG`k>4H}_PLz1kdmIA^AXX}PCk>sObTlqnVQiQ+kH=N05lwl`&Veq^ac= zpJ}(TQGw~}T~_m%uD+&mLvb<#+LuHcT(u z(v%k`B{JK@*>lHH4+M z<%w@#0H-VGb9?mYIUfZo#IGEvR@c-ah;J=!xmuB2*8v))a*MSC@C_bO`zxBHmBxQtE>#(M?*w{Q%XU@6ii zOw1~IH8i5LT+Zu{Dr|shJ@A%&pkri{?v#*kb5*Hn=PFk{74_EJcJ8pLO}+yci(%xL z=!%yySL9M^eOw}~CS|gx1;_=Phh?%6rn#z?-cLN%g zDmj9Oa>!{Rub8yr0WZ6S=Ig~vX*rk1koOm=1q{BL!UVUs$TS770)1^r3O}Kx=%{z0 z(Pi;>4su+ER?ZUKemE!6u|*$bxHiL-Hwj^z`%1MCdzf`{5zR`}{Xx z7+{h`oQ3E?Yz8g6nT`VSgD0i-7$DdHHFymrT5zZlXo3Oi2m=o&*9VSd&Bu%~LQDII9eJY+1PP7nadEqL zw`rU=BvT=9GHbq|5tjZu+4oI$h)gJ-Ld#)&nOf}%X?f0P;_8Jur0?*W!_vcQ91gZjYk<}u7C2{?Q{C|xpE0lG!|}->fzC5CEsgFvz*Gkv?rMOTp@VFlXMH(u8zU+fBy9TBYdz=63jFLjfiB z+N)i#<;7+Bq%cr}@`CZP<%nm7SzJ-$QDXa0?8Plg634b_{?>S^Wvw}{2>U4X^JFua zx?$2WYmmpI-lU!G2PO^A<$2_9LE_*kqXvRC%!#h?9J@iGt&J$FhR}%kPp;?Bh+pkI zy3OiBVvYfT?7Ep?46u22hiaqzFzXc>16)CO?iUKHWGW43Ds~_1){0>Ox*&Fqb?@k`aBek^H8m70U~VsZ4E>?NeTK43U+}FY7eO?M+S4p=z5*^(;d*>rO$>={(T9fH z3NH}{fpxsg$F1vhBS1(G`Hc}_QceOYc{HBU)!q)Z@M`K00kvh zqx^O{;zY=5X6LHgQL{}g>uh@PHt$5u4+&y`LsDycq|hQP^^AM@ zhe8zXL4(#UCr=9mG-&aI486~&*HQdd%DtfCqTGg~Q~tXGZ7i20eDtZ`U#qUJ6y2VW zkP_&uWNA5QKYl{I&z4KMwpLfVitn=~zW%*5NDw9ZdEwZhZZ(N*mT?_f=T&gSW$B3U zO2E{DiKv1`=!mpJk`TXBKtN{eWcF0k3fWT4MvmE>+ebd(NWRgtZ;S`MtEvR^yFbb2 zRJ>o*okKw7tI2q4I-tsTBG&w7-*LCzOVxAmzS+?*eBiHfl`LA!M1@>wf=-H7$+noS zE!zV;02dI5xGLPea{=?iV}NXEzFgh(eWi8*PcHgfUg>txB&Gab2`Cd!oim4RH87O5 z=Xt!+U9y5537V&`W&}s&?q|w^cbpyLX2q}WhSeDwf*l77JFglp)LXmEs)at>nQj(DbH20zYwM(+*ZH#B;d@%QF*i>c-J8wSQeh6 z?_*SoUPtjMg_+~7TbIinhlB>{@4zSP$5RI_t(2S+>zHrM)?V>A-7gflfV@=j!M!r5 zhk2JENoJ~ccKBuKMe7Wqp!HV`!u!Hctcuri%zEorbvX`noN#Zp4t8`Z=?68Rv8Ee9 zr6?8k*xzee=cFbAjx6O3NX@);P~sRM2|Q@!#=wavh&1+^otu`HG@tUH z&0$U7Y(Ub!+39B>yld*bB}uV+HOUJlP%!(j9|O=Dr%5Wo4}FIf&XynG zN_>y;hfazoumQ(CsYF?~lB7L%jj*<1EhE?Yo4;dK7sP^u%Z&S_0 zSA`!S=gi+oZU}BAOb!mJ5M@M&_j^fE5wD514?O3kQZvP;;mSzn7BMkdVm9W3hq|u9 zxXad7xZ+-f5FzaEB5Aed1;@p31vbT)o}c~p+I!%TCugtqkaTf0X$%9ji|tu?TIw9? zE-yCe==L^@7t0KdPQMxI79=yb6UuqZ zLE-hT%t31Gd!6WV>Q0U3h5Dn2yIiY}*HCa_>yXsuRc`Jrt8;hcnI7d&RM!j|$N2gU zKXSUWf9QN=_xkO#aTE;3^ir1ve)*(>+No~9;J`-NrSzhm0WyiPS1E8{-` zOMSW*a$2&3zImtqdN;ZAow+a z-$-A~#$x->N`$E7i+wX;s2X|?jsX<)5|i4Q=XAS1G^}#eWnzFRW9w_%$!Mi><=i)R z7+bsR%odMYVp7`S1zZF1(B}ZIqO=1_nDe87~nn?O4Kru?d*X@y3(_O_d561DQq_L43$R|TE=3( zXR~m9ZK+2%2~1Q8&Jx^<))$A^+g#X)ahIY_m|yJ zn;jA;i_k=sWxbKUx;sk0y{bYpO7UutmAE{)$OWA|^L0m<&1>RDUEvYiQr1OhB59NA z8v!m??Sh*z0RPJFRVCz3K?lp+diSxdCHg%TxtyHun^pUk zF!t#Bm{UB7ysu>v32r~bGp7E2hREXH!NziRp?`TxmGbd-gzCjBN?qEU`|cVG#L2Ic zaGOcx84npA%f!C!)0*paMoHur9P$vR9N-q$ig|dU_cqFE*}0h{KUeZd*_LR{GJZd)8L9vL5PFO@=n*qca7c zX7x;Ot=_yFUtE<+8!Dsl=0P-nRDsK=_O)w0IwJR$<;C$e#Nl#AL%vrUZlUtV5U|ci z)Hd~TyyiZ{byE=4sqpeJt5!i})s#g|!}dCKgI2CecrZ09i^Q-G z{$QSdS{FU$TYdW0moH=udIPC6UvhRP>E7TS7zSju)?Jb5$ZS+Q3b#5QN~8!sp7x>5 zJpKys$KBfeJeC@}ECiFeqGRkC$417_6qA**2=vAZcTEpPOPm#E?1 z%<7%4LHXzN?B0X#2G6BcOi|W$+!A@R<>af!o_#2ix|h+$hu`+zt)+Tx4tz{(%Wrov zlWG`TaFBC7tN!=mYJ!YAV8*RFL409xT z?hLeV4*WR%8VD(lUG|n~EP(#T@}Zt=vf)oR z>u>Y6elb|yt5Ouo$cbN`mpX4qisDeJE0H!4c~Z(Y%DcbjX8j^;19-!UMrSv*(ns|N z%yHlI8=$(RvCWnz$q{0?RL$t5sz}pZD?=HlchT8O*FJ1kSO1oQPowcxU134^@$Ood z%27n}RAMd?{I9=Qls-zra#v5P6BTK06P*8b?{bi+_wk3tYZhu}&2?aZTNo|KO~i-&fUXilxhJ5`J7&^l;~G2KOt zb#)S*Yq(AfDt<3ufTe!cXbkY^;Sk%wvMg%2xT9`8_W->5Udf3#s9X+IM-v|A4exCa zqK1@=>JGPpOjm^OTef!2MEGqrtGh_q_AUtsz5mMCs(vF!a&~UXeB}OuAFNY@f1l$c ztdg}!B9N0(W4NcKr9v!$Nh`)n$UHps;N5Uau|&o;2jen=@NlfSJP~q*K|AG^Q^|MB z8KT!WN7}rruM95rBRj7c6hxo4zosVd^5qT5Ttv-99fYtr6IO=U6E zo6y-)&wU#&A-r(DGF7HpQTQ+cU6ll>`8?lH)+Zg*pEpld{&Y}WFX_OtN;od1sZ`<^ zyko?-Dm+`PvY3z(Tl5a7gXubie5U}yR0G^3tj<_SKr_DS+zg z&&DhYcHDf??6Gr=HA!*kK)_-@FC%xbg2{Ag`rY2>16yx6?&E+I+RQBmm2SOC3xwR0 z5tm1_FH1|PW8X|jMF^~xi1ekL5$B+FM3u4YKvuIXp0wXI%k_z*VZkf2= z*hZ^(xd&+UJ?|-`0qfE_x77;QAgXaPt_rdv{R-5(-Rz)@V-u-*u~e4mG<(@s>ieP4 ztr+wJ(?=5&nQK$!)Ho244v|xKA*Sz7BYIx-2tAMqmkN)FhRftLkXC71$gopQwhF$F zx}|WQiqeW&6>p9fh)w3ITP@Pr+OX$N_%0Y(=jWa0I)>+p9;1l)rn}H+=g4;;?Cq3)-Twr;y-IHk(z!X<0nLp)&vohZh~xuu$)M};;==@w}7HjS=kWhOQr zf0v?e72EF`-Mw}y#uZf<1CdfG^+|f3mo|t2EMc*^vo+jD1gorFHybD#_Qgzs3dLiL zkC@mN{c1X=_trc2p1TM?kc%ur#aXs|zQ5bO+Br4X@HuIW6&G!eOlY3_AJ zj&l`jE2mk(LnzU5qjzsjqo%554?H;d6;nr&sJ8QG+m~{^W>!YpUk2W(WCMaG z^HXU$);W{ET`=+Gk%t+Eqj#6uMGf;E!#!;qzR>OK^g5#jc53Z{-<0&vy3xqK$-VkK zqkc(DH^3p|f!4TixNz|E#0Q=}<%)8fP?f*Mo3v>4`cv@d8<(tO zGr3q)&`cn&E3vGgKHJ-f#DsWj(AHxpzd;oTM4Tz$>VI z`pEkpX}6R^n9upO?@&t8q)&Bwz0jZll#t@lUii8aNk5td6=2!vh4iLl%jH3SRfs0< z7(|mt6p6?z8cF%U!{-uG7+Fh=1;u>VCHVS0+>352Iq=VI>FQ7OTfotGDiUvM&QmoZ ztX}O(UV72q)dqbw=cdPp$CA9o@~P8UK3*}#R?5hNs`DViN1jT&Z?hs~2N$$7xN)Vu z0ly3aF~Eef!rGHHB4~D;CX* z`0ci$Ep8Ls8Hu-T!ov+GtYCy)E?G)k%gnu(QGO;C%A`Y%6XIfOqH7l=L>{Ey&eQG* z)1$}X7xh|r_sGH-y^X%X`_|%3%UwIAZ0_I>Ru9^42i%Z%M`!q{PbZV~qpL9Wm#-{*P&o+!`U{o1UMC zWDs$_`cb*ehK-w2wL;pQ-?V$5^2iJ0Y&!_dtOb~!b~9qqN}M~kS6a}HNHtd&G@ zDW)wP$2S?wqC#Mu&jxd!Er-Pka2k}n6fQ+3ojsOb5oj{H#Ap5GZO`I*pEl~#;Q+lu zo8(}z&`O#zVlgdu%C@h@=WXA+Ui1nwzmX@sa=w{ zy)3HOz3&EVXC%6)Ycd3hSXos5WVfxW#jGEaBw+t0)9?BPYF{WN|D4eyr)dU-rkRC1 zlASc;X2hr)4Wx>s8y)nwA@R+HYqRC)0Y2K|@dUQ=<<5d*N*V0Pa|EO76VO#MdA9zn z@>RRODIZ1r#(ryep9ZOUz{-hYY&8in$5>q#?|spmU}CwWw4a%+&QGP#QN+Imwk1J6 z|6#E;{7zM&QlsC2r~YJl`u9=aeZKaWL7WmQ`pnbWR(;_c5tOl3*Ul`Jf4#B(xx0OJ z81?A0eF#!`pJsbAI-GZWm-=Q`fBH2AUTp%{%5q(9d`JV5(4j2Ehk~N#d`gr+;=ENH zyWRUV{r9|P?Wa(@5p#O$-g^ls(Xlvl;gAL0$1R6UyTer#E}y&5KI9)Bl_L8DzZNc$ zr^(%OH`*4`x9eBBb!+<=A-uhMi>I~s8v3dznVl}b^xGYkDS{S#vRG%_KwS{tBJVNnt7zg>ulcx8`h`xHV*F}+t$(f z>G^nMyf?Ez)Hts(W*-$Ebq*ecWfZNy4^QhJnoaGa}7%ug)QBOS-;JB?-*$_y|PO(YC&lB{xGlsN{RHVN`bm#Q< zfmoS=sL!7?6I;JCW+Vn*tuO6>f~vU<({0~}M^1X;VjVJ}&D7VY72Qw@s3_Vb8E^0P zk>jgMlx3Z51$PC%p`yBh&vSo9Qy)usDSjXX< zb~jMw}1d^{iP4MX=D8aZxpotKmfH*}%eFX3`XOweN7@4NX9-mBcm&poeg zh1mWBT5^AWk`d4&JHqg6iJ8xi=9p%B$h8IuhJyins9uUy&N$`->i0TDF2J{87gEpc z%8MN2SY!zTq@WxbX@u&T+0g{a%ZBL;+MDn#q)A)DU|MqtC+WZvRqU7i@oyV;^F7@9CFh9D&x^-Jf5i;E6d^#_ac=}n18z*?dLwa z(7gB3te?Bzsr@qRkMLJ7So69j65iT@jFb=>X+F4pMRD-yZ0%9rJv03T;AFS;y(C3* z*9)0$8?JCpMmt~z+yyEx-b=u#NglKxoFo2%95zYAORDPnhnNy6o=lF!z3lP%7OxGa z%gXc1lx0PurFqNOZs_giY;*Vab=3ycCq(ysRM^tA`SiM zAL{KeqnvAFr@4IOzpa${tpDUG+3^Z%Y6>RXEcka>ntoc0+014v?*adIa1cG7cXvdT zzNh7jPbG*t`x5Gxmakn={1Ezw|2qTXELJmd1Vj$fD}yR7Chu#f&MSiiv`y+nAVi5< zwJ|k8dY=m2&yv|W&o+OCUl#0;z*r$6eu%&sB?IE|#(uM*5l{!)cC> z$$PYz^gRBcvVcZZ5MmfrGc zhg2C&hCq@gY~i8j`*EAP#?m2b%BKf>=v6$@^gR@}G+2ABot#gSzuJxEpTTt9t|suaiq>>e!D!wb15$2wB#epAwl% zZ~ej;I=YnOto~Y5VP=k@;$b@;>VLiI19dn`x2Iwd<@21A@A`e>HP9nJ<>g;#cM>hW zFd!;o?Ij)VL>ZxL$6LgAnA<;CUf#5+-68);7*NqvHj(e3mLmn%6V z%Uky+$(*LME*b8j+B9 zVrJADUyB^V<>j01)Bd-By@9`?fFKokVcUMF0-up1j1O|ek#0J@5FWko#C%3_rZvN# zUN({a&DUZVK|bkgADAY6Ti<$sBqe#@7GK75=eA}FcSf+u9Szg&g~t6&eL`)@pK=y7s1r%d_pjZW#c^U3FR{x$Rj zy65ezM3(VkB{fbS`7^X{orhoS?0Z*^jBjDtR9w?G1Q(vm+^$bgBzFuA2#P37oHz>D|XZAthrWPQCPi<@OSp)`A_uZd6AF~Kp`Lg4Q=NR@FI;vzGUn#wq2|kFCm8b)?lL_69)-S4qM|>F z{uob9O@94PW~iIBSZdC~v*q(`q}9Ld8Fyuofqw4&l??MnieT;{sSAf+PMv;1P-hk7 z4|upAV=fGE`#ucoSBG6g@g;0_JIrK|LZ=wn)-j?kw^mBH;~3RO|pd2D2H#% zn6K~RDrh7xb0#vaoAm&GJ_mo?b`(sdj95!6Be{kYY#vcZ^{k6V0jTEmGbAy2FxY}Z zW)5u#YAlTYS`lksP@D?$WVfNH>-ss%6-7SPczBA(V+?q^b38pxu8mRBetbUJ zK{Q~rl>W9-;h`YH2a@e9mN>MQfRxwZZP0O@Q%_D#{wZRj z@w7~X)!TUnJ_QeXkKXj?kC8ZCr((-xXxGb7 zU4qB?(2?wRrOk%lAHDeV%c#Z7`xP~p4#JCVRW(X^G2R>AAWWd~#=k@PmSX_?-_dm1 zgg=tDot2astd=W-)MDe^s50de z)dN(OW?jf#;Xp$d7w)R^`mN*=7M-X4*Zi5_=6DUleEXe`&Rq$KKv|{P4O&e?)IuBo z7q>^Q7dDLw04E2Zkh;d5FPtFXIBOewCpd$@$0%mZbdrXVWS}2^Y{GHa)uTn2_G?0e zbjve+5tsESF!hhD7il^tjN(j`7s?@Kb@6Hpa_ps3-6`cBaL<2p)^80*Czf|5{%OT9 zwz*oeg)7qB1aiXMKMBwjOlkn5paal$L}qFyGntV1t86CR=(8-`BI^g%J;g#Y4@3pS z>j4TqW2Oh$d(hR~=ove|PpvILcOwzYz`KOk8MuqXpD~kV2 zY>v917c7@iib#_2DA^oV=($ZaPtC38KQQJeE5yP!%2yQUTB$bZ>=_hdq^t}8Q+V7y zx*uP)$NQxj`{S1RjIJ+# zFgNx}(?yJ4P3q5xjFQ!;a>ddBE*<

  • =H{NVtvi3&2j29^y1Oe>pD7_pd~T~XNmge?uV|B~=#m%X__8vpPD z0r6BVge_`K4mkP*$W4`#Gaqt?8q}wjh&i-9@5C?La~#_pK9Q!Ooi-Q(cR!$}e8va; zKEX&nmW_9GsFRN@J49}G-BOw_BXJauU+S;nj`m5$Id{+QzRol%@BtN9)X0?5Wx#j~ zr)rvir~YTq?xr&%I9t zH=^#bY8+D)2B$XY)?R8h&%b3ApEzi-_!&!IoXxoFTKsEuUC%M|u2_6LoFJOuwN(fF zQ?)i~#F0?;XB}4MO|Tt3P-=ch{Hb=QE>HQs$K<;*{b`qtG4P!mpm?>dN`d_=iX|y~ z+?o5=w41Jex(6&O1P4GYjmof;o{x?u{-fFcsA_Ig!q`Ox47%VnO9~B_7$++VLl|E2 z#g?@YBCLNTW`DqkU*e~LRrL%zKSRgDgcVVZm2-J}qI{J@3VUI0ysxSfGZnu7K zqHdOui()rO*WdqIrle7^6OpIbkY=-h@f9y@IWwJDn!2Kh({*l582&<)2R3hw??+wk zHEEsK-$uSg)UKVMf^rTMp~*HpY7ft}j+y7lSIBZ{JMe&U6R7b9&0q%h`pIlH)FPuS ztGf6kWGK9Yan>q^B;SagZYksEaoFj8mp1sZ>*GiP(xoXfjo7%!+v1RB1vUcb6f#hx z7hWKP9{rLUCsqIWRs1h}GkapF@HO{srJ;CLy>eBJkMgIym^)$A zj-KMw?9H|-O&})y=1ciTqz3_epfg)nt0A!?-{$XcV>L7*MW6YyDx5xz8}YZ5<#l;K zwR1DbcLwtZm2YRq@_id;;(tZa?w2_qb@GRORQBgbTQb#ZZZn)i_MZK0_WxIr%3mpHaB%Qu`T;t|Jf$u^Q9W@b&xg!if;eDzAG-U z0Dl?mox{_a^DdlBYGsm`GH=naOpVjqirpvwSM0DMuBWKd44qa{3z6H@kJz?gTsx4qn{gN2AT72t0uHu)kIg`;b&}7wn(cyAJy^_2!ck##m5>B-sp`V_@&-ar>V9E zk-e6O_+jR7HNkUDX8N+fzI|g&`|WEO1MqE29oYL0U0L=sGtPE7Sw1S_Fdy@sL}|sH z1cA9rF?=?em9M+duW#qxxT2WgG(J(a0d4usf<2!+2&qWz_^7r}QL=>0PL<*?5@?VK z*l&=S&i_MsHvi)LeLbh*4EnT$c{B{;(Tr36Syj<0p0~aiCF@<-H^ejmeuQ$$_Fj)t zm!V^hcU>7}M=pL{Yo8;+H}|v?CD4q$aaxH|7{i0Q=;$j72S+1oKB+_h@sDW2HqL4G zU(UHPu48l^J<|VmPSs9b8_Vp!1sGjTdF!;)fsQq^!!Wj`j5>Xo2B%%nM+AqO!6W$bBfx*LM#6=mI}26^cVqtCGPg`` zWzMglhN9GLGtL47hZwHwu0#)!?TVIJcb3o1nA|;r>qu{*cSt(Hw)?6-mWYhxcdQA? z&RO9QN|6v-9H~3M5*1_(cU?Ow_CaT~#?zFhayPq--knl^)9H5Ptr0Y+U!8L75CHeV z2!d0;aY2wHWgkCXb5n6G${zTl60d+n;m_He8vp6mq864vR4Jnsd>+Fgeh}HQ*P*cn z>QCg4sxIqliK0mtOU9XHclUtXVT6kJ&_OmAFP)r$&~K5dFg4zlv)kJ1+)E%Azt2b< zBFaA=l>sMkw ztEo~-(FJ?WVxcv;opQgm=DB!MLC8z1m2+B0cLBxKnERY@a@P~r{o7eH_-~%Zxqfw{ zX#ftauWtVl|DO`QL-NV&cC!UMD#GmR&FKB^o*18M(8Ko=d^lQKYIh+GkKJ+U9|!-w zEAB1{e^XkXmy($hmEeo>uSjTk8^-vT`q!30vu;ODE+F%*wF+L1;=j2ufA?ns|LM3g zv`gw=x^!U{;~o8Jn7SZ;)ziJ4Yf*%oA71hwWl~f0pPz;V)>oZtV~(GnQ;+8ii3v}% z;g7TnNoo-1H;`hdgRI_9Xiw~ab4|K?Fr1a9#9H@(XR2{%=6gyvLv`0nqM&Zuu?5>9@%f>?MKG1Lg^pWau z3l=C8Xe8U{m(#<5v$6}7A3q@00sJJ0C?d$B_K_0i{$%0|?@nYv|AAZLD>EB|c&^`% z*5!p9v|Y_-mz8Gx7m!v* zMTR7%c?csf)KBo|P^3 z5*N{kd;7BmA z^I#tEv0O*sxOJB((?hIXXM`olnQ&i{v}iXEJ#Wk+|EKNi#l(0#oMe*Y4%{*ECdV|a z#(qIM$=bA^S_sVMEMdBroHVP7xQyAZI-136Ve{>cx9RfQtm$x%tx!S3n(xXyUQ*OLOu($<24(!QX_Q);Npg)aO(wm*4YpY6za6l@1L zlgn^%D!j)wBY8aahpedYE^k#G3MSyayRoc+v)sCqQkeC_e$J`n5MKq-Z#<=q43x8M zCz^U8J!?XW--+vrB6+F;5Xr>riYG8mU_LkkZjpM$l;%vvCk!a(=}y4 zZzD!2+Busa_Igg+Rv70+znr}J{Z@GR<%7E{>AC-nF)YdT6?fdi=qLsy zLWpPm?tsizoGku3P@|)O;vF>K|9FDF=uk(H?t@*9iOse~bxCu7b>K~ps^h9L=#%oU zH(-w$ZE3Yb)Ft`pIJq-x;)$s1_Z-=?I-+Vniwgl#yyP)ArJ z2dWmctzW{F{5e6+=bO|{6?=vZ+b2L6u-uLhc;{=NegI#kG1d`G0a`|kPYU|*d}&a#Fw9orReLC1UHj+Z&}Xi>{2qUq;xG^# zP>(=ftUm8UY@QKRF?w|eOXzui`iKiZ#^bD}yeV#cD4$n-TgH2L+Hi%P^{>No{P_%Q z))^ULlvvt3MQ4vf(RCY@7AWQ~h_NBSj5g)3w6V+bd5-n&J&Ajfef))hIP1sP~{FY(-vEn_t=x-}NYawC|Zs>AE# zjgw6D>`A9*;nK!sHr5$RaoY~j`-fKQTC&Cl8@tsoXwqu!vS$p@Xc4>>0iJl60`k9Z*yAg$#x8a6E`sGtdU4OB zKc(G?IAfKPXUmrcytO@2JlOFt;Y@02%)IdTb^j%WIgzY4=PycC+_LzT*;@QCM=^^w zqgNDo`@b6L;T+4y>lfjUQ!hqV^N^Q8uo9U|DA0m&fIVn-UGHS*ss2=hqdY0QOZnl! z_L$oAQG&?9bA1HpSo~+5eR4*RKI6atC|{$%DIhCVyNDWZ;oO5`NB5znZSdV`J36bp zkoe=SPoI((??t$)zCd8Fabr}XunFjDiTSBOw&o-Z$|?E+=yO1pv$J@;Xv=Q7qU759csacUs1>|cEa7@{T?_Wn>x7AM8EMvt!2zlU_Y^{8Q`h4 zFf}PsDb^O`{NC}m=yR%c>6&l!e0yVNQbCUUMMLm?NVJOBt17KK{!-Ad7LU6VzJSFK zgoTAWT7}vj^(BihHiD2L0WDS&3!pz9Un!`r&rWm)1lm>TGRT^b^D#0imE^?Oh^v{B zlVjzQL4?HreV`l9Q}Ol#)wl;InL+t5@cyVT8nV&>rG5LSe2!PQI;iCr=%cN7nF&EH z=^TnH_BJ&!9KZq6y5*nopfkp7H?^(StoqhJHmCMQyD;zRsjxCR{`ZcDjP!q5M2T#< zs!07Nt_QUGaP$q)jCnb`^0vxqC6IRVTi~%M*G( z9^A+pV`%f6mWkaMF#diZh9O>bD;rURRBcQD?8#c%yU~8{&%9*cuNDi^YEk!rRkQ(g zfBN$lJ%aYYUw4RH81vTHzM14@@lj4XfFT9JLMI_Y#}{~_7k05S$yq-0(&%k$d{ott z#MnOKT;J^2isY!wTvm-2<*UVqVKFeHqSZca-GqGP2`^R))TC4#u=-0ZpCsk%TnS>- z5ig%G80!Ch8Kc1cZjtzVd(6!%^HiX@uEq^3)v2P|_u-Wg*t)%u<1NpQ*4YcuULj1` zouKePp*zp@d*%112Qs{SVZYz2>ZwXTC5q=@1P}1X8CxTc>G1>x zlh!gRf-JTiCtn_ApKuzpXnW=f@eQSHNQx!ojCFw*iv(faoNj(X0z zcSilF&$6~;DxmRM-)&lQB>A=TZ>U}6cAJlxwD#+v_m6W05px#Yt(M^(M3337Uxwz- zg;jJ<|9=Zfqw=EU1%z*%yemdrlE$}otUA;;}2yH+J|cjOSiMqr3Qo=j6x8zKBnDt043Xa-mTkchT=?TifA=>$(7gl(A+j zi_65;$ZPIT6e?=HXgs=fW_gO^3~Wy9814<$XGDwW)A4=LKi5kLK65@ok=)4jAiyNr zpaWEECYx$2e46&n-|ao?yH>*P`|2h+$jfjq14TJ=9caMGKhlG)TWSZjseISc9q-i) zDA%{*(Dge(9-L{g&UFgLV99GnUd?koE;?O2iKi?R-=gld{WR8dtIAd=1M6*Ph77rL z%mMCS7bfpyb$S#G}85^%e?JP`KAHL9Ljx=v)y!Dw(fWAegK|4@2&PT z^YuH}om;Gf0n|q3l6^sS0gw+~OZ8<-nca2GxEctF(+;E8G&W+S|Lu2iez9dr5u0%r zS5>uN!);`6JIZn%^_DIm-@PH?8a>N1r#gQ95SHssZoe~_u9-jY;m$A@6~ig)`9%H{ z_fyse^4Ouq65h_xN!-K!V%bWDr-d+dFi*&n2DyaDj=kWgBt!ngpL%KdS*%*w`s}gf zJ{kDn#nl(mh`0$=_xkqdgis7)StAZ={&yB4`WNF-rS*|Mf8qQO_R`Jb&mU*0h?-pX zljHg$x~Sz8FLm#&GEy+FEfK! z41kX@84mF_=AV}3UOg1R`yU(LdfK1-_ah5b+3PYo2LFaUjQJy=1UA*A{hWE=g+FPN zn2NxQ#m5oJ5wK$2p`08dYIP@oTnh1t?2)%3v_Z+f1w7f6-ik2`ibs;NJ*$Y1oUSP9 z=ahKoppz|Izzb{7oU?@H6ACg2Y*OkD+E61OV-f3JE>wfFp=W3dir25X?2)}=Q75=! zxvm-N?b#gIT*0WJ4{DN9)_!=FTALJ?x=YcTIttWu#{JyxY-<=h$lNP&UHO51S-U97 zhzT#_ll&4y8(u||PU>@`AhvP(A^b?jF;u=|8WQ8B3|y{xkHnILsP zYN~MhUtI8##L2VZUlluTkLC}+_gz!g7DNrrDO3Bde|jWX`8p#}{qb{BZRMj(+no1{ z<>eW>+~gfmF8-P8U9OhfxllYISZBAgm5j{D4i(8LwHsh?7kVsG zRd&Ij5g)b8(=lZV{@K@o(XBzqDjU`MRls2VBzE%rni%&N?s8zfza>~C^|Yg^mMOS- zDRog#yK&3hlsY-=tgScl^@iyW}xpjCz2) zG%t>_{kS&$8UTO4 zZc|q0yHJfzL?D@BvV(*g*`r5OIO=(tYszFBzuM;gX_J?@KKY9G`Si(2VKLR%2LM-9 zz z>|pv<2JSum8L~wMR-h)=-c z9w*sr9TT%OWNoMc6OU|g?f`dm3!mWlk$tEJOjOMxms`Z7+=J+O>xn>qX^YijrUEq^ z1bnHj00r09Ac+Mup?#R~ZH`Te1caBVFJYx6s2Gt3JmSVHhn*WOsoEWJDo%%(VTbB2 zWvM5T%arZ1NOu=>)^)vN4n)^HVQ_JzzpBPE&DbJ-f zo(bRTxtG~>sI`~$U&@yRqN zwP{0%pm27u+F)DO6-AHBd>Og6sh_xj)62n;BM-OO$h<^fB>K*O@}a6A zob}$-^#3&=JO^woAFZD|5_%6o%x=N`yY!dgo~J3!@{MONc!QK-&ATzI*&_yj*J{&m zgiT#y-YGaaXy^#&BiwQtOp~8-4hcLQfzPRJd$!8A0bY6*{m1{ZSW5d5VOWYZwos~k z`NyMDVGdm4EZ<|q8aqOl_ROCxOs<<)Q|YP!s#aRJKeg_dU$mHQ@#1Vyy0r7uQRrLX z(dVE=t{#H)!S*|cjlmB&6!P6f89X1nd88EoW8-^B#sRL*YgYNk%;~G`mIuS;H(sq_ zk2>y~?X0{Z{t&6H4fpu8Bqn1YA*uA;-Et~p%kYCEuvGVzqAIIoH2)wF9~jJgpo(8! zW+$mkkktU!Gix>g44&f5HqYCc(e(~S+CcfE7k_k*@2gJF@q||$8tZ2Ds>_S6V?QFC zYC_tiqkq!y#$pUD*+yTO?E? zxT1GLHPo_VcaJZXEdmqG;G~vpGIg!~WZY=-X~ARBQVPZeb&j}(hQey01rAmw6^dWP z@WR>4xUJ0~pC&M;ko!O-!zA15bSHV?Yw1GmIl~_XCdu<7m`s$&bG~#W$xjkqxF~6n zuWr4aVUOSKPYD@D-}WmIFquo)n~l2wii6yiGzZw|YFV)*e;XHa)aj7>zhu?-mRJ~~ zthLkDo4083Ai96O6=iAdD+Wcl`X9ozg$th&9AI%$CCwx@%rY3c9Z<>kM>zmEP|lx+$zX|!1e+8)ErT1sd3skGN_fo5=IxdO%gIrpJU z6%?W_fyzZ;9GRxxA9kJGX!(|&k3Qm7y*ve71KlfXy%SLAqByQ%`4s*V9PFDKh8>oD z>ZHb@;v_X98Esi)*k@$%C9rneIPr#R2H>`%%Hm5xPGJ@LA-bZFSbk>q<~*e~fiZGu z6p^FPG>kvBv0;R!2zMrI;u@8;dKSt!vEjJ}w_5&# zlcf!4FedfxNN}I$g$-XFbR^*UWHjaKHK)&PPh}pdDmjcnMG%{(O`*|63aIEw)ZW zYDX#Ev|z7C_K}xdrZG90{6m?m@MA7yCZ{Xm&raH9lGiCL=wZ{DwJPq4!s!&>?NodI zuSQX{aZjl`aR29z52gl&dG#D79PI15CrkYcB9CD^09^zmh4ONc$8{xYR*fBfz3#?) zc^3hGmz_W`r?Q~R#nLh_4S8_6ZY=^jz!GH?&n5-zy0c+_?z#~zn8Fy)|en3Z3VUU z9S5nY4&$sOH4BsXbLAUX6lV936_CJAFE7uP=aj-HDv~!l z@m+SrTMvIH-_d^KV@VVvd`2W|J#~aT1(k)ed8n8=2cg@>>W=1hM_MjzYGllZnGSnR zS8yC^LnZrUOGm3s)e-k&A;Z$-S@dyirKM|@U7BRe+k7jJmWWPOy?H+myG%0mCm3;G zs(ii|YW$9>hbcSSh~^lE8LuX8JNl9bKi`cphAtN;7SFqLqws{2gWRHPMs^9C~>i8;Wy?4_QFsD+*Y71JS5RLWDC3q8uGWu=UQII3H~Lc z6lbwCK#kZ|cg#0$SBH_|iGz)zG$>XJpC2u~@wa?cew5zpW7-e?c4wY`vu%xxL!8u@ z_Gi7Vx&3qaxN<*hUo>!-+kSq3G{!aw?`HmwpB0fB(Sfo8VW~=zieVB5i<6j<&TyXf z8r-qjK}M{p7?r}?%^+X^#)BverR_FUUyUeneHyXH;`E>@n{=_;?}dEWSdo>U+R4s^ z)pabS5LO(JQxTaku5F0E*!BiNu>&bwF=kPphwbnVeW@xw{dpzx{C^VgI*@IsS@5rA z8%Bi}MoqP#=A4iX9MgS2$mkHVDP&ReyP_#7;Glkf@eBN-U-A3E#^ix}QE8VxL9d|o z)Y?bjAx#&0aP~G_rIAEEbzPfLcJEpO6_?EWyt;Ntq7gl=Yzap^s+idmnJ;nt#h z>XFB?mNs_Qplal+-ahAv4BZM20?E>U=9i>d-?Kki^}bjJKk+TLIj&xiYZ)VP$P*gR z$dW;4^V!zsuXD%vLG=D8w@;dQ|9@cYz8uQG6(-mm-@=>H^(y{W$Ua+{VT0%&;gjXX zw&dFS=Its-MHTuvEGhKlx^`E1GTFaCdmiYs7!;GK_H?7At$n52kFi{c%%Cw5almXK zNGdExdN1pDa}u6~yrS_%9qf92TeLZhEQgT2K@P|I%~DND`(qAXj1>*=o2G@nd_Jze zMc8GYgmMLl2B*!PvDi%R&jnA4WA7MIQZ2NV9v#1HVDU72A^1c`KThhj;AqDC?5oct zPx5;&Zj^ZcFonQp^7g16@on-h-FkNH_K3~q`XL4%D{l_T^a#Gy^WTCei_qQs6x-#}G7?qs)y`qrGK!j5~3Y8&8*r*p*p zx976;G>*j#X?BV$S|vNdW;g>2EA(G|l8AJK6W7o)A(o%fE4uQsui4&s|1FsVaeDez z4lbw$)M8z~%wICQuPB&Kb&ES%z4H&Lfq5H0dCT;`#B6%jY+4A&tj=)Fbt}VfvLr19 z06=+F0kVd?m*AizHFSW_<6{NoqU4n13y_Y`9{9P&co;D&|Aj}_XQmpg0g;n7@? zcQoiIm}@_!6ON}nf=fxS_y>o!;I<|ZI9aTT4B`wpQ`3#bk6>YNa?1nXDyl)}H;+I| ztrei{;>c>%`d0Rnl;CfrB_?kqZqEqUR>P3ajTwVL>WzEjPzTE-Vq7qbuDeL_?$7Um z3glDnFTR@X#cIdSFZnIyzwy9;0Hb^WR(M6f8}SMBqQx=zgDaxC9#}Rb9bND&QDIpQtv`j3jibJeeKW&A8CMAl1%64gCIWW)@+uL z_MC->y>#PRsz08le6QlvYHJ?y@n~Bm+^Xr%4y5|#Cj49TNABa>J??PJq78s?IKfXV zJp6U9Wddi*>2rAp=4h@ir?f7um?VLq5096I_0-Zb67`h~oA`_TZ>)12{nOat54T|p zRU&xlM=rkld#TKb{WZRgonBOLygzWJFgvmi_q8$s?-VRL*Sg~(H2gIi-9-!Jb9zPH zhX0#yQ{Wo`_@zQ4W_TBpKp-XRdn`oE9zQVewJ1yT0G8vg(n$rO! zq5LPM6sta0L#NYBZ#`k14(KNDK&_-#^_QDLG{CSRfx41plFTEa{ZZWSdBN(bkp6}E zno=}i?{@b!{mTRr#~HZ^*(_!>f${Y976r5 z)~NGFUd0c892v+;lHEf`8za67?$Q z2Z2Q-W~CoA?X{m`uX3gf8~ull3#*rz|5B!S<7bLlIgHsJon14e{k=lXvc@37+uS!J zOnzhn&8k&%^CMF58eP;RE79d?-w&42JFMgrf1Q~otx$RbJ$iBMH~Wy-33%{kP+B&a z;NmKsf%w;x9vT{A5#rTf8S&@i>NyrPscL62j#%_pcy`kJq8Dl8>x@%MeP-ktRt@4M zB1zOQ?;DDQPQBo|Mvcd{{RM_frTTht@6yS9dnq;9c@N9SNE`mzUqJJb)+<;qaj*mJ z&?$GHgCA+u`+FtWE$2=Hwlvssrp<(pjl>p0NK!b%749oBhXvg#en0UJ5v!^GbKe?= zy5uM&bLN!07h^tWA&=J_{Mp%rfJB{RCC<1uN!ek`#sy(Pi>c;&`ugsc`f(p7sEyx2Wm~isK2* zcV4}sXllrWw0Nwi(rJoI_e~k93R14PyiRcO({@q(&vmIYtG$T(@~il|hEz6pSx=(e zv$si>H)e|=O;GP2x&=`$;VE~SPegL1hGm$!9PfY8^w!7@myAHrki-ZSyRDJ02+w!_ zU1XLWfm+1c#UNc?5}iwEqn6qe^I&T;Q6FM@3m|2^&6DQFcS+hsVsli8s07&CuNlk} z*S_o-;BPrIxZL^Kp_c7&-6RDxUsrlW7Zjg$?>1=O68ZLka~yd^5xc}cEx*3XeBG9S z@Kk!z{`aH9v>Ty;WRNoyzHRLdw;6WVBkLbnqoV`&p$pTKtp*%+V5SOyXW!^|3zWZ^iaPr(GAn1!%uaQ*rX18Wi9 z&BKOqbEvT%56d6w@2~&O#HSNlLpjOlUAN-Xf{j!taG$i>gAUAyj;r}LFnz#V*K*cb z;b!o?2$>aLT?cXxwf$H7!Jun8c`E%*pe5qE&HIWq5DSs9x;^3?bVU(Q*>g)QtnWYn zRvMw-#}psEc+tZU+-+|%ZXVj~2|;+xZ-)OBNF}i~5z-6yQ2NH?II4Kf+Jd>&x_;YE zVc~KclHB7DU=-(Yl1X-MQHZG%+;1BR%g?V$GqV4n=vJ;Nk~~|~8+NE7 zV6*S4PZzt+Rh4!tHtg@mbA3Vui3TbWxOi%FxcFl092?gwzGNY;gcP@sK=C#*0ZxDVKe<|v?2VgW z%suq8({A&b7y_mL@etocSxLtXZHShV^FV`}3UFPBnKfDoHTnXUXR%wF5pz&#Q6*ag zuZ^qi%$+;h^91(<8EAtF^l#(r zR-hV?ox~n&e6CSbsT*I=_wI zE|FnwAAEgH1i(}jFV9?k0s?|K+8TNX++B2^`yVEMV^2gr?eB^%a7xs)r2MM`QNWI< zPH2Lfp3)e)xv1Fx+WwU8IH|`cS*!`#@H?^~nO{+ew`&Lwj(sCHaAJAmmaRSW#b4l3 zYg&@r`xBMPsUF?mJ}nx~5QU|=mbCRp-ql9ZRedIRn#~Qz!K&JFh~h3?gwf-od-fwh%eOO4 zoe$z8sxlBmk*hYx9LP*z*WkV#CAAGC(LL>tGfY($qt`ztj|>w2Sx}feG@zTdC%#u( zcVx8T@-Nq-q^Km&^zgZkX1?Jq*do~PiJxC|Di*0tmo%fO^KO<5x86O8j!o<@RG9TM zMS6}-f;T*UxC*7lDb1hfu_aoD$#uL5%Xl+M71^HXoo%n%*}fU%+p4{G z0Ct8JMl(!gGe||*Mx^~Ve@eyC=cXGd`adKWS}@;P+}9*~ckD&x6niQz z!RB(HI-9k?!+cXKX>6M7p8`pl<7IA&BwYlTiPb0f7|&dYSWw+%S$~AvEk~kxupO(+ z(8cF4Ih3RD=?Ihls{^}FxDO4BMX+mUH@#>?4Os+$oc3Ksv<*z9=EAwRK4;*e#e zC2!taBZok888yv#eCTE#66x*)M&mSNODl$6gg(Wfv~3S99P~f~4b9sg_5~=mVUF)V zWKG0No@UNF!<4NMGM5#@-%*?~srN3PNV>RQD7+a72~vFzd@*{c$xMTtad}1RISCrg zENHDlLzdNYcs`~rS%W$^f-No7*@1_9NTd%#_mk-5&Vh72647jy$Lx3WP*q_5yY;o6 z{n46v9+0i)<9A|rG!u{@AiWm6`Xr_>I*bp6!R>PwTH8aXa=?3%IKBeDAKfD+{Idp2|*LP%m9)0?; zvon^q_^RnFKxh-Hw(M1>|50!D`q9XZ^;@F?76~^t)aeEUWB!vh{8A0m9o+VN3GCa3 zM{vI)mmWQJmP*j!-oj_(=p`=35Pr8)K*oj{OODq=f2YYiJVRfZs2r5edxlg_@zKot?ZO|&w1_`2yM;tMruapW!J(osdVQ<+_UFfF3+#~ zHcXBYRBN4L4urnjFb+JVtFDdTuS^EMeHUQ3fpLEg1o zgZmP1(7Kbzma5=w1vvJx#IwAV-wvfBu_tvyH?I{WI2(Y2eza9=HZ+WV@dTXJciuBh zuLyn&bqss^^Tb3xu62T5LI7+01}j%p^`)E8MxQlFs10Qbj>hXxEz1Rk7bN);(*JEP zXiv8#FNQCe8^Fx$!8+Lo3sI1Gl94F zKJ3fGqled1jSt;44$3)K%&mRh{%P~n%g9G>lidQ{FmaN}ifOCLu2S?O zOb{DoDK66-x$zLW3T+|cMvXJOVEB-o8>SH>3Yv9K(6yg&wz782H@ z&T|u2m>tIH?V?LoLrfVKfiDN+q0&cZmW}4_^nNV3DDu(u)5Mhi2i{1ue)qZq+*6r3 z?=r%BUma(TG~H&;H~ql5;tiTl&QFO%(X823F0f>dl__X;e3CjO-lvz6MH6@Xf;wrs z&q}J4@5iS5MKa2yRHd2g&oj1u!MY;rm}R3scEGYfP@Wm0WlC*3FOZe}>J(K&lI@*i zx<_A@aYiBvoNy|9y4UOzXon0{zKOc7_MVpKI9#`)alztxbN$6GA}o{hX>+KmX@m6W>XHT|0zb?Ab+wR2OoJ6`2vc_clc*xCFNDF-mry-o3BgyJUx?lt9(HrY%4; zz{M^#T&Z=f+3;>5nai!FVe!?|Qe4H>m>bPOyrb#9*qIV;**v#g8E+ZdCgpytZ50u^ z@(H}GlbB&8Lp{`~-|V<{TmCHgG|@T+Y`VG!3oX)g9Zx(3o^h!26qVw!8N!JHb9WU-5r8^a2qT* zK{wyO|Gm$--52{@o$g+%E_!uUb+7lWs;+waY5r*qK%}auq6k1iK>?UQcfivUKpudG ziu#}N+|Zu~1~vu;Iywd}78WM<3)~kk@Nn_)@CitW@Ck?s@bHKzh=@ta$jQlH5K>Z6 zkWrD4k(2$02@2Zt8gvXC3=AAHd^~)z|Ks-50U*W(NTZUWp%4R5iBZsqQJ#7L^Z*n9 z+OxL*QTV?bCKfgh209ul?(?)V5dh^sdOxd=fkA+Y1^}R-KJNgN7=VRMLduNul8;PQ z+k%{eg&!gy2m0hnDIzLn>GlQc9uyK+gJ5M76b`PA&z*keMDr}*KZ5?3lxO}Sc(Qz*|GqA{cMVURqthXj$njLWSeV`1f&a}BQU{3{?R^eH}X zVjYtl6jI}sFnP)*Z~3$cc!Bm`%ZLHe0A$v;w3na1=du6)-n3)L(@5$hPv?w2Ll99^)l;$cCn<&M1R8!yEuT(zEF*0P&y`QUOw`+K8 z#nu~6=ZFpkWbBF=`FhQ$CZ%f}TDHXnjlKF!E+h^tooj4Y(ELepngwcG`MT<39G7kh zY%712{XqP-AxuDs(@DXWD34;PL^Y8lckM=-iYZu@rr9jDJ8(A+UHvfT(2Bl?9GIkS z*jP@9iG6>9PCV{iQTHn2ijYO*(`MD{A?t1)B&k#L%Z3Ym9SsPFi!h!O+xF|rgv4z$ zCelrs7=o#9-5JV6OSYE2q0WJt*sIpUOm{+%aOjF}ouVHK;)KO|_8TiJi9cqZ&yoi0 zc)(P^Fd_zdS5@n<|HICuVgSe6<99?)191;)R$Cx4!iuwFLCS3+gDzHxm$-<^kcz2| ziGG*4?oI?a-}Gr0-Hhua$VSxm-?-~iP8dLTKpNd4X^rVS9<|eI>D9>LfS%XB<+DY@}?PR zbUo3Pb!@zOy`NG^d_Ux_FN(fE7JB(B2Z?{0NwFAzoIsFmJsQ;}<%(lq7Y%MUN2lrvfe z7$a)F<{y!#Dq0!_ZIt{WJKLx0UK(1NxGe>fs+Xj>=B35VVyqX4&CM-3Gqy)s9-Wud zAi}s_RG8XoDt|bFmw%YfXCjPz0=#$m-~+QhR^5F$(Yz<3n#0MNoW`S(`c+KdTRyXv zJ0~m2Qgn=Py%@k2oI^iVZyTdkgF5hL8nb4yV&`N zYh~^FJ9wBKcrmuNr9i=0TIc66Z?kE&FZOK~#;=XbEQ`1cU#)ZUm#b$|L)?G;il3nQ z-zGHTjoyj`ZI@(JkCX zqJ1uq8+!d7{X;57Qumk*7w3&KE!dK@{->TB)Bp@qm+{2G?b+$!R*Y(}JVW7;ke2!r zplnc%_M@R&-Rig-)&8CD0kD=}C{twQAlOU(+dTzTdrg$*vsG-?86ZSsmITE%T!vy6}Z0_7ol zgua@%(rWT#e6?kU0%7`-7$-G~wjLXG!Z|wZ-}3A0HjR87fHr=sU$n~&-!w1S>pA62 z3um~YU$6l=nc#p7LQyP}13^)KCwG6ZiVzc77Ye+kFkwkmT9OT^>Ed`=wX(LZt|bUA zwQ79sS}-r-zzXot^a1*`aFCkS0 z4&sc&+jxHY&nlpAi~#^7?qzy-!R`29PQm~VXrcglNvqP>5GcN2etw`=4T!rf56B+T z$$0`iq-81~3~0q*waX<6b&jQouLp0JP6qSz3~#-n>SM)kWkLEGu{d&xC@i7_BRfCB zq^3<9spdT&%?}5P-|HVB#rtg;K28aFBQf|t|9E>&n|ZZM!m715RKN4bAj*z@{)@6E zri}Bi9G-r0eI-zJVrZ^HVs@l`vwagRz_wsPIIEF>^>}4Oednh&!=L=zdNkNL6YIyQ zx<0Q~Ns|+NL^%0Ue`Gyd;a0u4CGL#I-Zw8M>-V_sxZdA}d;z|UaV3}O6;v8mCkr*s z$)i`HLcOpxWB=jti_7IEZrRepX89uB*abUM77-@l{PU4AXE-nOi zu?CmFC`dJwT@UwV|#f&K)gz-3!ZJv5KUHe48A%rRxScowbWb`neq&I1U4_4 zONO0_0bA97W!g9B)7Q=z6+BH&Uw!Isi;!NG_h|o}_XL>p(Eqzy^YOCeVKHJS;i3BE z+W(FcR8P>Ie;gKNih!SnHc8sB#BSAI?-};V-f?&`J$%FZAR56!tUSdoLf>P;@D;a8 zt|V7Wmoh57Pk{m5u!1aVeOU@qb(JU5`p=pDLhy3Oy5WA!0lpsG5(cj|?qUY*yLZNuo z`|?ox{00nV)r4fK@wHIyfyel{@@3~n7Hp}|aZ0~8*fVtKN8F@1Cq-ob$sY}DV@BMU z(c)*E177Z40owxTZ_7WHp2#7V&M_X{>)^JEyNAI0SxdeZxDj6A><5ribInTpa_AF) zAnY>xTwb3+gO2=#%>3V}!O@`m&Q>}Wsn)$b7U-2^C zCCSB87#lTxg|=W4pRo&t(GV_JDnY?#So8!a5A=N35N*}T*wi#W!V5H|)7of_@mSQo zeXm%=^Iz+Bq{u?k#@$|^%-?^+I?!qbdu(qY-kR=c`VSa+q1FB9xP@3cJ7 zII{dx+9(q*d^E6d$vGi)vD?{vP=DXUTteXYYMP6~Bfsd^ul(Xo`Val9C&h^N4m}@E zGltn!h>J6Rm|DL7TT&gHwvWx_wC7?!^MdEaKxO1JXE8fIx0NA zJUGUw*gw`mNb$VP(HnSdA9JzW(ui+2yi8gp%+~HL!Lrw`Uf6I;OI-Q!@ah&;l~vZ9 z0rlUzxtmYR8kp^OGwfV?yKoluBdxQDy6jGh9-R99JPNMxAp^c*E7tqz18si|t%YLC z_Mk;L*MyzyZJDA8_4-|+9?c~2jmc|UYwIwgw`TY*W z`}Wxjtb}1W*fH~(N6DbXD7h>-Q$GlijQBq85G`xcQ-!dbEGY+khe!Y*nEdnXyHdDq z?X5~;q?I1;TXk1j<6*|hLzoMsTra&eJhjYJZ z*?3`H^+zt27Ftav%gDOagSj8$d;S+1a!o4l9q3i##xb5VmZ_|KhjQ>bO>bOvw z%s;QjMI5xWH>j$Q;uR`LCf5WiB7>o1#RX&7^OWnSAjF!=H?to%-=ahzkNk(CfF0td z-Q2cQk>7O)c)Y_*434i<7NRz*sjEE5agC^S**FxvrgIvMKoqbvR^gwKRK1Z~-N6Or2wOlKzjGi<%DipE{|refUrDv-XcJ_aw! zvve|`CQ~KO|977 zVAlJwvRU^xR>idv?CDJXI+uggvDKK6S*yzDR* z9G+778l}nEQKM;Wo}%aYEO9^iC28zBquw&k{`vCjFPkfo4yD=HYs-3(K~1|%ZXwkK zOExV$$6=Uk zDiLs^d}>-UpgRaJSC6);NXHeQU2Imt0R>0IZX{}nCt@=?OWYLIpvYzNt<2&lTt*5S zTTv`|3B*Pk@svdM%xE82vS`PN<_#F$1DWrc8q5* zv+N!>eEj%dd`a#%0Q#+qKAcd`I7+^fAnMm<_)ARtMtIlnYpQ|^L$Fr$sM<0$d4&BEZshTi8{sTnq~rpBsTpaq;j6tQq^Y^r>mP9JpU6hty1QOKjWyem&Y) z5B7B3tMzsmgzRe@Te3O9_)W!**lMCf>EKj%_z!F!5Y65<>3Vbj6wlOy`i%gsyQO^- z7g4fu(KHvsZtu{{Gs@wtixX9PiM-IWkbu+@lRNsVM6WA!6+DYZy?@m4PXMKOohLwq zIk_dZnw?ug29yICU2de?YroN>jyLbL=!E^VZQH{rN%dt~jbwMu_I{#-+^d)E2`;eywj%48=DZfhs~|D;noAo=$l31fZ>G?QXHu;nXw! zu>Y}O9+nI4e^EE!g{Nv_G|eBZl*Gs>-3{8u?lSM=${fU8ZNX2Urno7t^q$Z7(A6~O z=n5^kB-ld@^7elA4a?Q-$IV7(1;0y3nL9NUQ*Wt@(s_mH_Mp5T^lrt`b>BGmA3dUs ztceb}OCQ){3HF#)Ly22<#Jlw?D%cQ<645_1wiIwSUfJ|AFGSm$HII(o9oX-G@g}J| zn^Uj6)OgWm%c-7Nb6@09zkNxB<$SF)zN-7yN$9T-qUhJuB*IeHkaS9=+1b~B#6X<-2V5T&eBx&OyyG+e9hK@ri!(e?en~qX zWZHsYi?c)Qb3r>+u35OfiUM^|8b$LsF*MK2-(Hs>pwRiBy{)m{W5-*bBF)0%@^tip z_dFX1u{LG7_KKv_DWpk)h(vNLhHS`SPs1d~+E?+Q zY>2V(wWX=oPp1yIVWOqRbSDnLW+^LmEIwYDHW5Y@vr>Bd{)Tu~q{qq8Y&mBud2;@r2)bqdaP_?SA767i3zQ!g_yuo@v} zMb=M4@PMZR(#?SWMd9^cd!F6L^SQa(uK^EDmkH0e;ti?%wtXWSiOWUl4{f=wA1B9? z?)3WZbRc<7lEb(7w}_w7-R3$l)e{(g6XpF6HMF64$sSwj{*Utd`Sc;yuLs-)>9Eb| zgvrB!>3uwxt{CNjQ;hSzNwW4J_sG$e-IbM=WXXE|rNzR`thy{$X^Ze51AA(mXp6eK zYB0_LMS$ql4nDQYjXJ)p+2Y#QXlDYn1S26^&Ooxo_eVV&`&S|}ObLTw1?Lb6Cs}rO z{fJed*GFe(n7qx+UHyay>Ulv2V(==EA{7_Z2W>)lzk?Q)$4CdHau625TjONo7x4k2WKRdXP3rb2UoZ1aa|vI zm|wBG?@llorwmWpe}$tq0Y<55;PHL5oxxXshnR;Qw6CsspQ4QE&RK-`ob?= zVQ(T<>>}hN%WzsX#E9p7Mw)!V`x1hj{58#aY{0F@0m%b>9u=qMH+@l1qH0E{O2QY9 zA_h`?x8-1GA0rMdWcZfSc)TZ+=eZn+IW-+QO0G=L2!xLal{KGHs`#@i%oU@_o%cuB|DrV?xID92k0T)$kOJ z@_zc0JPq#5hg|*8TWb8^FTtn3Ufj+og=cr0wQ(jz@pFqYmJg0!XeSxja}?RI1%$NS zky&)r)tkF!+}JjG7=x2AkWT=}v7gNopw`l~u2=krWuMML?XJ=nUiGoMPo-ME9=fvf znVi(%_VyFs18IU46SrSNC_xPf$;G0Ir5oIj#B@e zj#6vt!!`%;fZ?BhgXj6Src862Qc`#V!=RUJ{ASk)i>gXBY@Yq=`32lMx#}||x1cjT zB@zId^|JCWVrxYIQV$Pwp$rnr!{9I~vWJKZp=q7tcXtBqBg zp+rpfpyUCp&_T+9V3d%KrI!wrZAk&PWz2KY$xKn9nmcRO9Bt)GwfbeI`cZg}B`F%m z5qX8(MPxgqSZRvnQ;isaqI#KyYhDUT1%X1z@3Y{9jW#h2nij}Gk`>u$ZI(vU@`BnavuBtp?wgmZJ|aXF;C z3k~Tr{odegFzlq8?!0fuM<;#zy#kd6D7EHg)Lt59AI+P;IH4LB-q!u~{I^%fVugiW z?eUwEGvVFn_34gvfht$;!L_LVmV2=_k)eXE!TPQJ;c^|L585UJ;1V07#O$UOP%`3X z{7@$bPrNp=aE1D74iyt#a|kv{8zZ0ezC_oru;L?@2zZ5Cjc2>S)E>&`FNb)(w-&A* zcdd}iCJeKW-X}G&5ntLis<*zayxLzCJ9AA;Bz<5Xlx`8SRlmEZS2w)XaPgQ$-97SM z-g=SjM7lgJY8l(?UvW|mrlp0qTDB`^{;qNFclFS|>pRLda#Z_HO}tW}n;M#un3BPT z&0E5(fXa`xS>iJGd1B0QxiNWbZoK%^;3D1ROLHa#ebFE13+{q+*l<)+mAl;WvOUj& zZ1dXhw4=}od&gn5_}RBTu7!yeNj&eRe*!f-X3cmmIVLeeTFy&Xrs{8$JpbbQ3Q!wW zRJ`)t^9jT7q- zv!LfUjR1as;%HmcP=bih5y3O4Eb0vLdpdmO`yJEx2F0ylCdjFcW8A_*e~FF)@jN ziT27}T2zn6n#M0Cc6%~TxRoS50lHsG59&%UMNau zNF%IMt(kJ6l_~N5m&lN^@f;~!dc3>0F;4(tznwQU2iuQRiWhxB;Fo`cc#-KgLg0Ft z2&75Yauwa%icO|V;XshyY#D0Y(I688;-qIzGU+m7&K0Gz57-6xw%T27LmYd0&!dkB46!7*}?5)UU`^jQ32g~>-fzNs^ z)tP(dj_tDay9DzgAX>lk2_UKV1js43{VYAl7vTJeS@LBZ`O~@T2_U9@qIEZ$UiSz~ zcYx}vS#k{x5L++o zYxbu7C8Hc{bw!QNR2%_{ZdjZH&bXsAWlkjd8UCLG!Nji03)E%;5)pqT6_1RfVmf(6 zesdjhNrE!IO>Fa5g$b^O9LwHMx=KGMll4a3(`X819C}Vd)HMy0bd)szSuQI&W92u? zy^Gj0&2$=U5OsT>J1J+FF4behY8J`LHpjWn`N*)1ulC4hS=vt1hr@qEdkmgqqX;Zs zRPWODs(kTkAinVluutDEOffPkLNnBUj0=u4HGSWxZ0aw^%-j)5k@2}<9S2V?;Vv}f zL=+2)BFqR{Nj55iMgZAc8({HQdebY16ymVVVh{kh^6qy>uOp>UB&p!M)2VQTfch{()+M30e5H5b4~rk;PnOEG5{>H=W)G@e4DY zJSK#N=S=ZpwCUlEhxi`0``gXr%$t?oeSnydQp2=qH5hbi3bMYY*}Z89<586YV7z*@ zMwqFTYx10SH`;k+=s5xKOy|9*p}VI??c{^s*Q&*6y`kQ2)s!@2?^H|N5gi$FRw;FxYZ_e?nXBDJv(rMrn*0PF&dTUK^@l<>R8a)AYSNGAF`MMQFqwaRO=_O4i zMXzm(#t;ELjHE}XDL%EcF|~XWdCp>7G%tLl%@^wqFKrKd;@Unbd@SwD5LsxhtKDB6 z7>cBdZ{o#VB%1|=q^g9cF!IDCS#jj|52`SNy~1XoJ7!r)-4l+M zubXv~POTZs`xL5NwNyXc)m5-X>iN*Gi@`P5_aE-r{IR7jaY)x0UQ%4Pa_C6S2L zk(m{3&wUXev_>)Cew};DB7UyU3$V@-+5mm)geX59GmTB@UWCa>9w@}|f-ANt%9FQ+ z?HRQiwsX4jZOfTnuN4;+pk!>0mD%m2J=BUT8BVifKWy64Ph_qQL>`uY7MOP@fUo@5 zSq8OzS|Vgi@q}3F^Ng$W%FfxpkYK>~r@OY>cQF@V()O{3O2>T!xjm{QHFzZ?8RZgc z<{TQaq<%7p*9?Tzy5&pU+|FPcg|*6akzR*?pv7%#rFsH%>eoC@t3Cm88I69n&-`80 zeYh?=ls*u89M7Aen_Nh3zUya)F9kMJgwIaaprX<6j=CCH18%#JSi{Ua33 z1J=iR&D3}5Vi{e+*XxH#eB?09U@l7B^^deeobdfOKT$7my?e!kZXK>TmJ#s;5V8A$JkW_+`13BY$w22mcTEwYn|WIL(s#3TG7Dysz3jm4QwA=obtVHR zwVOnAU*Z)+hp{v>gUKnYrkB9zP?F$;<1?9=*Bn=6#{0VdaASr934wnyv8>b*6?0Of zAz&Mk4?Wo&^%?1;#Ap^>_ft9bjwZqd%!6WdU*m}mD&AQ&vZd*(zD*RjY6~_9iH(n! zuw)sSjgAs1CDR`92b=Ti#A9Kbi4vujiN;)9)beUV?uXEvE- zUdQVEMWL?MPV8lu{HlWKNi89w;M{Vi#djja(Er168%;_;lKBgF&>dm_N>g@&>O%7l zEFdM0A@hUDzJ`iLZa7(JUERDL9xlcQrZOK$+%8`W&HO8no8QtPmKT#OU7-KLm<`YG z85^Eo4$X(8;Gn+#jG6+7$#BCj?;;}mmXrm>_%q9848eg=MjSASTx_*8Mi2Dadk%_^ z<=p-}qE~xy*P?6pZi#tf^vG7$y2v!D+YalKp#&^C=(2<7k;rt$=o(u01SovGIfP#I z2;~U@N3r4kjsZLpl?5s)k9d%<0Al#e0gY&xKS5lTqu|3&y8}>GO@o-tM8UEmAy$OP z?bZoC@2sScNOI6!-Ma6szOfK3V{~(EYy3J_iCMWA=gnv_Ly7XY#br^J@z(8zgqS^i zzA+jB1-?W@ndY41I#29Z35h=~9<5;+w}m}l&v==~qQly7Ll;Mv+y3cb?zed0{VcM^ zmpn`6&?>0l%5*M*zwWn}r?;ctrDMq@wU{&Og&gYII^DsKjy9Ek*QH* z0SyfRoi1!=(nE2oRQ43&Ht}rACv)0;4uusAVL(=t zp8!nP5VSLuSpvGWG~u==|E}2!bnvE1{}Fv0xJ(9(US2tx_no>)z%t;$%mH$%dN_V9 zxUuCBVa(Q4zRd%DpY(!5QS)%K=!PgsRC?@SAL5V9d@VXJ6eH4k*OdR0d-w0-Rk_iw z-3(p2z506^Q6X1{c?Gr$2{0UHR)@G^tINsx@=}g6niPLG)`U_pu$1S=5`dIqh1$R8aecnB&orQXr##jfH-3n|*$Ask z{?MnzH!=Sh+J{=zzlQC3QhlG(y(rSzuz=EUpFpqD@Y>u@I_~c~g~}{xg(d!1+j!Cv zHO5fA-NN04rGKt^j-|S#<#OucEg$d|RlEl2XYnfDO?_8$u(Jvy!t{1ktU;)8HltE) zl2ZYe+3H+&5zeF;VF9XA`4G8$g{tc<>^QoZFUM;rM(wtu;oZY;{9g+#N=)cBzY#`q zrm7SwRLB+cpN|Az(d&Mmm+8W}=ArIG8SF#+t>xm+k78yOni>e6nkC#MsyP*$ztz_5 zV9Spj2%26x#g!OcJuPw6{QC@uSZyu6CB3{?T6_Y8X%De=}-5tRYfwqckhVm5P7CN8zBjx+NS}cQf}O3cOgW@~ZVB6MOOBI5!w7V9&?S z***#FH2-$6c*U#NcfZ^bkZ|nBUYorK+dU(>EHM5nxC~Y-Qw&1nS432I8{SOWKs`Hw?SZf+~td#MXMv<#jpTpj#`SHS}7ad^SEtcWV+w#Cvm^yi?v+QW0auMruQ?7 zae2rMW>}_0TJyPsivHi%g)T|y%HuwU7rX?2S-+6>etyW>t>|0G0M$4M;Vq`nXuJ#| zp}ktRjcv+_o#F(m=kdyo>Bgg05(ndGF+kx3rL{Np(?x&C>0iD%r*7L@l4PIC%r6nu z0#p9vAyQeQ^&E3g@H=?tJ%6ds!;@U`b}1NjCHokHPL^UEi9oxdV>Xj!DT`gTo}x(- zCTu#m4J!{XUc42Wp-sr>-k5{Kf7VB}4mhEiRk<(jz*Z(p1d(7lUvEK#G9+2+z=?;K z4Ly;Axrhu@#%OU`anY^jP)~e;q2rf=Zd-?!23&_4%QL#X{r7GvPzx`Ifv}EcH7|n~;+AlK7U_@dT*gL$s);@XEbxy0X3_JQgyLp)n&2{z zK$hHKKh#)V7mGst?^wk@FS(%3#)-qAKSf$4L}@|FMSTjQm5Ws1Lao@u9KsF&W|_WM zkJuR8_3&nVmkmQ$_=o%lb7`q}ZhBv*Ae45({LeWGeV)7@-i^A}knNU{e?Z~7Swus@ zSAAr4-2E6FqlvH&5 z?tGM{cG6H}!cjgQn+2oGVB?oTd$k6@S~B4aPM4>Rtxkq1>3J2Ov!=cqx}v=}-#i!Q zzOsK!k`BI&;Hu~%FAZ-~rPZ->`Gpj}XSSyo+dt2+9c%UoFfiU5ahaXTrq>?gN!6}z zFf+ag#QNqKx1%Z9h~fD`SdY+&hfA*tJeBrb({W@M6jhH0P1)U0YqMrIvc{{h#sgs` zdY73M=dW%JJ@GK;#lZzD`q-3G?3!s6Wl}G}?DI}h@(>;eSu%&VoR9prd{WwScSFc8 z?qvIROxdE?0Kcl@VqYN^#iVqA5lu;Hj-F)tY_^0+yDhdCS;4= z1%MphCBqQFT#|Op z|1D=~h4L)&e30u7*-v!WGWsv|odDiWc27C1Rgj7QZxk-POLDCymR;wNfHNC zWYPsl(Bd*%fPA&>64E9D^mq6TwXduEmnKVFK#j>?H8kXGaoXjix}Q!bq(tf+hviX}&&LhBx+LS;Jgo2TW9$ZrQZyyys$;SH8vs&& zz?*z)(Fb$L>`JQK(juU~#EmsIrjo6lwR|!$A6~Lck$a@7h|(VurHcIJMysAKY*}H? zr;)q8X43KZ`FF!}a}luMedut#Dg}>VRfw>Dk5;kQO{RgYRa9)ugQpRBn(?ZH+Jj=s674Jp1;zZ@fV@tJ~nHBwzOKxN&oINCKLzr;#1b zg=;IH7{Tq-?^UtsEOO}#g{d%wy`mnF;>+02HJsbz)9{Rio=lF+SqAPHcQ z6*+1YQ?5N@Pwn>oRqCh#Oao!K=tx8ZpbIX%{uoM2-#UkvbkOf?uIs@2&-;tPYUsi4 zEs#qh>Y6Z+zbsSVnq7w#p>X4AJ?>qJjCMikvpi2rJ)-D5I_{dJFPs<76km+Ik~oM6 zF3Rrn_KA6&Le~crPlO~y89@yia|`Aj7oGrZVx=4DMn~qnEk}o&4D+r$-|(H-@+mfS zQT3ZQAW9hl}V>t6dYQ;q>{nLhP&A7zc)Tv=&EW zi&1Sk#zgraG6{s6-UXJZH>Ke4VoCH`kL3ZqzfWIgK=AS5F6ac5*~aH>_B1lu5U2!+ z)s0e4m^RClLsZn;ZW2#gY$+TcsXn|i~TvU*f@V` zH%26CetS@N3HKASqIuP&FOFS+;EfoU4!(GDQo`0YgYT|*^bcb>3_gn*zBMo%KWN4W zZn|@Kb@OAKZf5Lp)#%J|d9KVLJT8j2Lh%WG_nyU>*_$S}rSg+T( zZlp9k(6_hwOL!dVDllra2~WX`;kC7ulsvp1^3G#FFMJ;{!di@2ZegPLwa=K8vwy3z z1~K%7&l@u+@2yYXp0XILE)`6sv>y#Fb(n7W7dERO~ulC!X0^`dT)71H4#+bVFx|tw(GF+B;13pM-(H8VwPGX6vGmrfl zQC#F^Uy+}|w1d&6%{RJ&Y>+N~;jGv=>hU-%@m!lzPr7+oeqrT0%XXClpSK3YgrQ4& z{64V~6QDD~iKm6OMowqXtP&;OAs0Ihp(z+JV_*I&ZGKf)IjX)^BfUvMF38E=kR8@GWt5Mw(=MR&QrXjYpws&jsFzub+o+LrB=s`Tfj_qmT}Dj zgX-QgPgSjl*;tDG%Cuotnml%(IM{iJ~QTy!;iELJTx@-0E z_e0teVAo4gr~7lQhuDp}SxDz%elygr-lEbbYof}U9PY*}S6lsY%y|Y%xG=wU>!%VQKvEAwJ;5sUtjbGz+zj*@aY~(B@bonK%9Q9DntXS3< zG`SAyZc6De`{khdf$NaQW~egPtXlvA#b<-g1DuV@6kqY^tQ)5-;r4wmHB`QY{)PY3 z@=(092d(>R-1LyOG=!(XMB6U9WY3O&HL_4Q2eq=$M6ObX8hx|lbW=M`T?hjt(Lwy~ zMZo(dvz;ly@FDYl&KOX^9kia}&*Xycu;L`FUa{V;Jb9xF?BF6Cp9iy6;{tsLC8}t% zCY-~C?8U3nQYz^If$zx3_UjUnFGenGLOYZST(ezqM zr&E~~Raimz$viLrIr-OJ6{|4B+r`91dNl_o0DnP7Aj$xm_U{{8u?t62foc1U>!{`P zrug<}ATV-Sm?d|X!Q&(F9O7W_g;_|~epu?)$r<`}F)eS)OGSn?6l(!Qw?Fu*2u{tq zsqOAKJBRw%a(xMMkDi%M_jg^H@Vry%T1lKQJ%BcIJMUkV4x5^mhMY+9%ZsU~Hakhx zmQbrOUBtyI&lJx17#U3gcK@w(KAW9};m}8qH}+SX1Pe~QNG%bDjXF~8Ru0qbi5UT5 zHNUK>2uS-vZpUIJjN>leA4-pQI76?Wl(C~t`P4;P1$YOt#bg4`%>KB zeLfG0B}!7VB8o%7)M^&@#7flY4-oV%HYoz7sP_vswdDCN=wHTP*KuMf;o2n5$9jK{ z0l}^@LclA@Kay*m!ZE9y8iuG$`F(Kw!k9((F}TJcfwKS5(auY_@6~=FmlFhfj@G<5 ziti=lISoM0r^J!mX14$>Tk1UJwi~50lQC`LytTQJXC#^ne%l)=a zX3s9GRCVFvW^**(z20?7xa(&G9O#kGZ>5|-k2fZ(?qQ-Mk2TQs&abLsUvm15dgp5D zsYsSsg*`&QrnjX9E3dX*$M$gL7_nUE{KKEESHY;eU4xaA4G$2A;9=#&1;kCq6W~yv z7c*+qV!MU)soLm5-^#lRn^6p&=7UA|fu*ub!=`X=A??qupKnvPO3q^Cypzvn%K$KQ zTL#S-@#iSVkMI2|N4neh3*3gn+36#t(Ztf*{foWLq|J}sHK4^?Z`*fm8$CGjx%_(9 zlF9VX4}}5!V>yML%JKofe&uE5ujme+-#=QL&a$r>OIU#W>yNm|@Z5hevNh=LkW86p zClO&KF*Zf3+$EH(KAYW!XPB08;)}vrVDb2PTG-JWimUEV#}N;`mW%tjv)qjj%&fp? zK%oyeHxt_&S)$K(soz56#D^D{G)X^SuIduK$qeFBZM&^U=r*7DTak8cVb~u`|3A;N P{`+;-|5qg7Y2kkW3Rn(h diff --git a/dashboard/img/radio-waves-hi.png b/dashboard/img/radio-waves-hi.png old mode 100644 new mode 100755 diff --git a/dashboard/img/sat.png b/dashboard/img/sat.png old mode 100644 new mode 100755 diff --git a/dashboard/img/up.png b/dashboard/img/up.png new file mode 100755 index 0000000000000000000000000000000000000000..6b3e81c2cc5b0ed8776c7ee513a385e0371fbfe0 GIT binary patch literal 4346 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 literal 0 HcmV?d00001 diff --git a/dashboard/index.php b/dashboard/index.php index 8151c52..aee8a3a 100644 --- a/dashboard/index.php +++ b/dashboard/index.php @@ -1,8 +1,5 @@ SetFlagFile("./pgs/country.csv"); +$Reflector->SetPIDFile($Service['PIDFile']); +$Reflector->SetXMLFile($Service['XMLFile']); -$ServiceName = substr($FILECONTENT, strpos($FILECONTENT, "LoadXML(); -$AllNodesString = $XML->GetElement($FILECONTENT, $LinkedNodesName); -$tmpNodes = $XML->GetAllElements($AllNodesString, "NODE"); - -for ($i=0;$iGetElement($tmpNodes[$i], 'Callsign'), $XML->GetElement($tmpNodes[$i], 'IP'), $XML->GetElement($tmpNodes[$i], 'LinkedModule'), $XML->GetElement($tmpNodes[$i], 'Protocol'), $XML->GetElement($tmpNodes[$i], 'ConnectTime'), $XML->GetElement($tmpNodes[$i], 'LastHeardTime')); - $Reflector->AddNode($Node); -} - -$AllStationsString = $XML->GetElement($FILECONTENT, $LinkedUsersName); -$tmpStations = $XML->GetAllElements($AllStationsString, "STATION"); - -for ($i=0;$iGetElement($tmpStations[$i], 'Callsign'), $XML->GetElement($tmpStations[$i], 'Via node'), $XML->GetElement($tmpStations[$i], 'Via peer'), $XML->GetElement($tmpStations[$i], 'LastHeardTime')); - $Reflector->AddStation($Station, false); -} - -$AllPeersString = $XML->GetElement($FILECONTENT, $LinkedPeersName); -$tmpPeers = $XML->GetAllElements($AllPeersString, "PEER"); -for ($i=0;$iGetElement($tmpPeers[$i], 'Callsign'), $XML->GetElement($tmpPeers[$i], 'IP'), $XML->GetElement($tmpPeers[$i], 'LinkedModule'), $XML->GetElement($tmpPeers[$i], 'Protocol'), $XML->GetElement($tmpPeers[$i], 'ConnectTime'), $XML->GetElement($tmpPeers[$i], 'LastHeardTime')); - $Reflector->AddPeer($Peer, false); +if ($CallingHome['Active']) { + $CallHomeNow = false; + if (!file_exists("/tmp/callinghome.php")) { + $Hash = CreateCode(16); + $LastSync = 0; + $Ressource = @fopen("/tmp/callinghome.php","w"); + if ($Ressource) { + @fwrite($Ressource, "'); + @fclose($Ressource); + @exec("chmod 777 /tmp/callinghome.php"); + $CallHomeNow = true; + } + } + else { + include("/tmp/callinghome.php"); + if ($LastSync < (time() - $CallingHome['PushDelay'])) { + $Ressource = @fopen("/tmp/callinghome.php","w"); + if ($Ressource) { + @fwrite($Ressource, "'); + @fclose($Ressource); + } + $CallHomeNow = true; + } + } + if ($CallHomeNow || isset($_GET['callhome'])) { + $Reflector->SetCallingHome($CallingHome['Active'], $CallingHome['MyDashBoardURL'], $Hash, $CallingHome['ServerURL'], $CallingHome['Country'], $CallingHome['Comment']); + $Reflector->PushCallingHome(); + } } ?> - XLX Reflector Dashboard + + + + + + + + <?php echo $Reflector->GetReflectorName(); ?> Reflector Dashboard - + function ReloadPage() { document.location.href = "./index.php'; - if (isset($_GET['show'])) { - echo '?show='.$_GET['show']; + if (isset($_GET['show'])) { + echo '?show='.$_GET['show']; } echo '"; }'; - - if (!isset($_GET['show']) || (($_GET['show'] != 'liveircddb') && ($_GET['show'] != 'liveccs'))) { + + if (!isset($_GET['show']) || (($_GET['show'] != 'liveircddb') && ($_GET['show'] != 'reflectors'))) { echo ' setTimeout(ReloadPage, '.$PageOptions['PageRefreshDelay'].');'; } echo ' - + '; - } -?> + } +?> +
    XLX Multiprotocol Gateway Reflector -
     XLX vGetElement($FILECONTENT, "Version"); ?> - Dashboard v  /  Service uptime:
    +
       GetReflectorName(); ?> vGetVersion(); ?> - Dashboard v  /  Service uptime: GetServiceUptime()); ?>
    - - + diff --git a/dashboard/log/index.html b/dashboard/log/index.html new file mode 100755 index 0000000..e69de29 diff --git a/dashboard/pgs/class.node.php b/dashboard/pgs/class.node.php old mode 100644 new mode 100755 index 33f8f08..0571786 --- a/dashboard/pgs/class.node.php +++ b/dashboard/pgs/class.node.php @@ -1,7 +1,7 @@ IP = $IP; - + $this->Protocol = $Protocol; $this->ConnectTime = ParseTime($ConnectTime); $this->LastHeardTime = ParseTime($LastHeardTime); + + $this->FullCallsign = trim(str_replace(" ", "-", $Callsign)); + $this->FullCallsign = str_replace(" ", "-", $this->FullCallsign); + $this->FullCallsign = str_replace(" ", "-", $this->FullCallsign); if (strpos($Callsign, " ") !== false) { $this->Callsign = trim(substr($Callsign, 0, strpos($Callsign, " "))); @@ -29,12 +33,12 @@ class Node { $this->Suffix = ""; $this->Prefix = ""; } - - + + $this->LinkedModule = trim($LinkedModule); } - + public function GetFullCallsign() { return $this->FullCallsign; } public function GetCallsign() { return $this->Callsign; } public function GetIP() { return $this->IP; } public function GetLinkedModule() { return $this->LinkedModule; } @@ -45,4 +49,4 @@ class Node { public function GetPrefix() { return $this->Prefix; } } -?> \ No newline at end of file +?> diff --git a/dashboard/pgs/class.parsexml.php b/dashboard/pgs/class.parsexml.php old mode 100644 new mode 100755 diff --git a/dashboard/pgs/class.peer.php b/dashboard/pgs/class.peer.php old mode 100644 new mode 100755 diff --git a/dashboard/pgs/class.reflector.php b/dashboard/pgs/class.reflector.php old mode 100644 new mode 100755 index 3eaf076..fe6fda7 --- a/dashboard/pgs/class.reflector.php +++ b/dashboard/pgs/class.reflector.php @@ -2,11 +2,24 @@ class xReflector { - public $Nodes = null; - public $Stations = null; - public $Peers = null; - private $Flagarray = null; - private $Flagfile = null; + public $Nodes = null; + public $Stations = null; + public $Peers = null; + private $Flagarray = null; + private $Flagfile = null; + private $CallingHomeActive = null; + private $CallingHomeHash = null; + private $CallingHomeDashboardURL = null; + private $CallingHomeServerURL = null; + private $ReflectorName = null; + private $ServiceUptime = null; + private $ProcessIDFile = null; + private $XMLContent = null; + private $XMLFile = null; + private $ServiceName = null; + private $Version = null; + private $CallingHomeCountry = null; + private $CallingHomeComment = null; public function __construct() { $this->Nodes = array(); @@ -14,6 +27,85 @@ class xReflector { $this->Peers = array(); } + public function LoadXML() { + if ($this->XMLFile != null) { + $handle = fopen($this->XMLFile, 'r'); + $this->XMLContent = fread($handle, filesize($this->XMLFile)); + fclose($handle); + + $this->ServiceName = substr($this->XMLContent, strpos($this->XMLContent, "ServiceName)) { + $this->ServiceName = null; + return false; + } + + $this->ReflectorName = "XLX".$this->ServiceName; + + $LinkedPeersName = "XLX".$this->ServiceName." linked peers"; + $LinkedNodesName = "XLX".$this->ServiceName." linked nodes"; + $LinkedUsersName = "XLX".$this->ServiceName." heard users"; + + $XML = new ParseXML(); + + $AllNodesString = $XML->GetElement($this->XMLContent, $LinkedNodesName); + $tmpNodes = $XML->GetAllElements($AllNodesString, "NODE"); + + for ($i=0;$iGetElement($tmpNodes[$i], 'Callsign'), $XML->GetElement($tmpNodes[$i], 'IP'), $XML->GetElement($tmpNodes[$i], 'LinkedModule'), $XML->GetElement($tmpNodes[$i], 'Protocol'), $XML->GetElement($tmpNodes[$i], 'ConnectTime'), $XML->GetElement($tmpNodes[$i], 'LastHeardTime')); + $this->AddNode($Node); + } + + $AllStationsString = $XML->GetElement($this->XMLContent, $LinkedUsersName); + $tmpStations = $XML->GetAllElements($AllStationsString, "STATION"); + for ($i=0;$iGetElement($tmpStations[$i], 'Callsign'), $XML->GetElement($tmpStations[$i], 'Via node'), $XML->GetElement($tmpStations[$i], 'Via peer'), $XML->GetElement($tmpStations[$i], 'LastHeardTime')); + $this->AddStation($Station, false); + } + + $AllPeersString = $XML->GetElement($this->XMLContent, $LinkedPeersName); + $tmpPeers = $XML->GetAllElements($AllPeersString, "PEER"); + for ($i=0;$iGetElement($tmpPeers[$i], 'Callsign'), $XML->GetElement($tmpPeers[$i], 'IP'), $XML->GetElement($tmpPeers[$i], 'LinkedModule'), $XML->GetElement($tmpPeers[$i], 'Protocol'), $XML->GetElement($tmpPeers[$i], 'ConnectTime'), $XML->GetElement($tmpPeers[$i], 'LastHeardTime')); + $this->AddPeer($Peer, false); + } + + $this->Version = $XML->GetElement($this->XMLContent, "Version"); + } + } + + public function GetVersion() { + return $this->Version; + } + + public function GetReflectorName() { + return $this->ReflectorName; + } + + public function SetXMLFile($XMLFile) { + if (file_exists($XMLFile) && (is_readable($XMLFile))) { + $this->XMLFile = $XMLFile; + } + else { + die("File ".$XMLFile." does not exist or is not readable"); + $this->XMLContent = null; + } + } + + public function SetPIDFile($ProcessIDFile) { + if (file_exists($ProcessIDFile)) { + $this->ProcessIDFile = $ProcessIDFile; + $this->ServiceUptime = time() - filectime($ProcessIDFile); + } + else { + $this->ProcessIDFile = null; + $this->ServiceUptime = null; + } + } + + public function GetServiceUptime() { + return $this->ServiceUptime; + } + public function SetFlagFile($Flagfile) { if (file_exists($Flagfile) && (is_readable($Flagfile))) { $this->Flagfile = $Flagfile; @@ -184,6 +276,24 @@ class xReflector { return $out; } + public function GetModuleOfNode($Node) { + $Node = trim(str_replace(" ", "-", $Node)); + $Node = trim(str_replace(" ", "-", $Node)); + $Node = trim(str_replace(" ", "-", $Node)); + $found = false; + $i = 0; + $Module = ""; + while (!$found && $i<$this->NodeCount()) { + if (strpos($Node, $this->Nodes[$i]->GetFullCallsign()) !== false) { + $Module = $this->Nodes[$i]->GetLinkedModule(); + $found = true; + } + + $i++; + } + return $Module; + } + public function GetCallSignsInModules($Module) { $out = array(); for ($i=0;$i<$this->NodeCount();$i++) { @@ -193,6 +303,22 @@ class xReflector { } return $out; } + + public function SetCallingHome($Active, $DashboardURL, $Hash, $ServerURL, $Country, $Comment) { + $this->CallingHomeActive = ($Active === true); + $this->CallingHomeHash = $Hash; + $this->CallingHomeDashboardURL = $DashboardURL; + $this->CallingHomeServerURL = $ServerURL; + $this->CallingHomeCountry = $Country; + $this->CallingHomeComment = $Comment; + } + + public function PushCallingHome() { + $CallingHome = @fopen($this->CallingHomeServerURL."?ReflectorName=".$this->ReflectorName."&ReflectorUptime=".$this->ServiceUptime."&ReflectorHash=".$this->CallingHomeHash."&DashboardURL=".$this->CallingHomeDashboardURL."&Country=".urlencode($this->CallingHomeCountry)."&Comment=".urlencode($this->CallingHomeComment), "r"); + //debug($this->CallingHomeServerURL."?ReflectorName=".$this->ReflectorName."&ReflectorUptime=".$this->ServiceUptime."&ReflectorHash=".$this->CallingHomeHash."&DashboardURL=".$this->CallingHomeDashboardURL."&Country=".urlencode($this->CallingHomeCountry)."&Comment=".urlencode($this->CallingHomeComment)); + } + + } diff --git a/dashboard/pgs/class.station.php b/dashboard/pgs/class.station.php old mode 100644 new mode 100755 diff --git a/dashboard/pgs/config.inc.php b/dashboard/pgs/config.inc.php old mode 100644 new mode 100755 index 027d668..e2b1b6b --- a/dashboard/pgs/config.inc.php +++ b/dashboard/pgs/config.inc.php @@ -1,7 +1,5 @@ + +$PageOptions['MetaDescription'] = 'XLX is a D-Star Reflector System for Ham Radio Operators.'; // Meta Tag Values, usefull for Search Engine +$PageOptions['MetaKeywords'] = 'Ham Radio, D-Star, XReflector, XLX, XRF, DCS, REF, '; // Meta Tag Values, usefull for Search Engine +$PageOptions['MetaAuthor'] = 'YOURCALL'; // Meta Tag Values, usefull for Search Engine +$PageOptions['MetaRevisit'] = 'After 30 Days'; // Meta Tag Values, usefull for Search Engine +$PageOptions['MetaRobots'] = 'index,follow'; // Meta Tag Values, usefull for Search Engine + + + +$Service['PIDFile'] = '/var/log/xlxd.pid'; +$Service['XMLFile'] = '/var/log/xlxd.xml'; + +$CallingHome['Active'] = false; //xlx phone home, true or false +$CallingHome['MyDashBoardURL'] = 'http://your_dashboard'; //dashboard url +$CallingHome['ServerURL'] = 'http://158.64.26.134/api.php'; //database server, do not change !!!! +$CallingHome['PushDelay'] = 600; //push delay in seconds +$CallingHome['Country'] = "your_country"; //Country +$CallingHome['Comment'] = "your_comment"; //Comment. Max 100 character + +?> \ No newline at end of file diff --git a/dashboard/pgs/country.csv b/dashboard/pgs/country.csv old mode 100644 new mode 100755 index 5140149..05cff28 --- a/dashboard/pgs/country.csv +++ b/dashboard/pgs/country.csv @@ -234,7 +234,7 @@ Uganda;UG;5X Ukraine;UA;UR-US-UT-UU-UV-UW-UX-UY-UZ United Arab Emirates;AE;A6 United Kingdom;GB;2E-M0-M1-M2-M3-M4-M5-M6-M7-M8-M9-MB-MM-G0-G1-G2-G3-G4-G5-G6-G7-G8-G9-GX -United States;US;K0-K1-K2-K3-K4-K5-K6-K7-K8-K9-KA-KB-KC-KD-KE-KF-KG-KI-KJ-KK-KM-KN-KO-KQ-KR-KS-KT-KU-KV-KW-KX-KY-KZ-W0-W1-W2-W3-W4-W5-W6-W7-W8-W9-WA-WB-WD-WX-N0-N1-N2-N3-N4-N5-N6-N7-N8-N9-NS-NO-AA-AB-AC-AD-AE-AF-AG-AH-AI-AJ-AK +United States;US;K0-K1-K2-K3-K4-K5-K6-K7-K8-K9-KA-KB-KC-KD-KE-KF-KG-KI-KJ-KK-KM-KN-KO-KQ-KR-KS-KT-KU-KV-KW-KX-KY-KZ-W0-W1-W2-W3-W4-W5-W6-W7-W8-W9-WA-WB-WD-WV-WX-N0-N1-N2-N3-N4-N5-N6-N7-N8-N9-NS-NO-AA-AB-AC-AD-AE-AF-AG-AH-AI-AJ-AK United States Minor Outlying Islands;UM; Uruguay;UY;CV-CW-CX Uzbekistan;UZ;UJ-UK-UL-UM diff --git a/dashboard/pgs/functions.php b/dashboard/pgs/functions.php old mode 100644 new mode 100755 index 6826df1..2bd2ff8 --- a/dashboard/pgs/functions.php +++ b/dashboard/pgs/functions.php @@ -41,7 +41,7 @@ function ParseTime($Input) { case 'dec' : $month = 12; break; default : $month = 1; } - return mktime($tmp1[0], $tmp1[1], $tmp1[2], $month, $tmp[3], $tmp[5]); + return @mktime($tmp1[0], $tmp1[1], $tmp1[2], $month, $tmp[3], $tmp[5]); } @@ -50,4 +50,14 @@ function FormatSeconds($seconds) { return sprintf("%d days %02d:%02d:%02d", $seconds/60/60/24,($seconds/60/60)%24,($seconds/60)%60,$seconds%60); } +function CreateCode ($laenge) { + $zeichen = "1234567890abcdefghijklmnopqrstuvwyxzABCDEFGHIJKLMNAOPQRSTUVWYXZ"; + mt_srand( (double) microtime() * 1000000); + $out = ""; + for ($i=1;$i<=$laenge;$i++){ + $out .= $zeichen[mt_rand(0,(strlen($zeichen)-1))]; + } + return $out; +} + ?> \ No newline at end of file diff --git a/dashboard/pgs/liveccs.php b/dashboard/pgs/liveccs.php old mode 100644 new mode 100755 diff --git a/dashboard/pgs/liveircddb.php b/dashboard/pgs/liveircddb.php old mode 100644 new mode 100755 diff --git a/dashboard/pgs/peers.php b/dashboard/pgs/peers.php old mode 100644 new mode 100755 diff --git a/dashboard/pgs/reflectors.php b/dashboard/pgs/reflectors.php new file mode 100755 index 0000000..40a3a30 --- /dev/null +++ b/dashboard/pgs/reflectors.php @@ -0,0 +1,55 @@ +GetElement($INPUT, "reflectorlist"); +$Reflectors = $XML->GetAllElements($Reflectorlist, "reflector"); + +?> + + + + + + + + + + +GetElement($Reflectors[$i], "name"); + $COUNTRY = $XML->GetElement($Reflectors[$i], "country"); + $LASTCONTACT = $XML->GetElement($Reflectors[$i], "lastcontact"); + $COMMENT = $XML->GetElement($Reflectors[$i], "comment"); + $DASHBOARDURL = $XML->GetElement($Reflectors[$i], "dashboardurl"); + + if ($odd == "#FFFFFF") { $odd = "#F1FAFA"; } else { $odd = "#FFFFFF"; } + + echo ' + + + + + + + '; +} + +?> +
    #ReflectorCountryServiceComment
    '.($i+1).''.$NAME.''.$COUNTRY.''.$COMMENT.'
    + + diff --git a/dashboard/pgs/repeaters.php b/dashboard/pgs/repeaters.php old mode 100644 new mode 100755 diff --git a/dashboard/pgs/users.php b/dashboard/pgs/users.php old mode 100644 new mode 100755 index 3390f00..dea06f4 --- a/dashboard/pgs/users.php +++ b/dashboard/pgs/users.php @@ -12,6 +12,7 @@ DPRS Via / Peer Last heard + Listening on StationCount();$i++) { '.$Reflector->Stations[$i]->GetCallsignOnly().' '.$Reflector->Stations[$i]->GetSuffix().' - '.$Reflector->Stations[$i]->GetVia(); - if ($Reflector->Stations[$i]->GetPeer() != 'XLX'.$ServiceName) { + '.$Reflector->Stations[$i]->GetVia(); + if ($Reflector->Stations[$i]->GetPeer() != $Reflector->GetReflectorName()) { echo ' / '.$Reflector->Stations[$i]->GetPeer(); } echo ' - '.date("d.m.Y H:i", $Reflector->Stations[$i]->GetLastHeardTime()).' + '.@date("d.m.Y H:i", $Reflector->Stations[$i]->GetLastHeardTime()).' + '; + if ($Reflector->Stations[$i]->GetPeer() == $Reflector->GetReflectorName()) { + echo trim($Reflector->GetModuleOfNode($Reflector->Stations[$i]->GetVia())); + } + echo ' '; if ($i == 39) { $i = $Reflector->StationCount()+1; } } @@ -61,18 +67,22 @@ for ($i=0;$i<$Reflector->StationCount();$i++) { $Modules = $Reflector->GetModules(); echo ' - '; + '; for ($i=0;$i'.$PageOptions['ModuleNames'][$Modules[$i]]; if (trim($PageOptions['ModuleNames'][$Modules[$i]]) != "") { echo '
    '; } - echo $Modules[$i].''; + echo $Modules[$i].' +'; } else { echo ' + '.$Modules[$i].''; } }