From c5f2f5770f52e34cdfddecf00ee0ecfd402ab3fc Mon Sep 17 00:00:00 2001 From: Qxlkdr <33372537+Qxlkdr@users.noreply.github.com> Date: Mon, 19 Mar 2018 22:08:38 +0100 Subject: [PATCH] Add Trafikverket WeatherStation documentation (#4562) * Create sensor.trafikverket_weatherstation.markdown.markdown * Add trafikverket.png trafikverket.png used for trafikverket_weatherstation sensor platform. * api_key Updated from api to api_key due to CONF_API_KEY. * Removed text Removed text which I used on GitHub for the custom component. Now needed to have for the official release. * Example picture Added an example picture to better understand how to get the weather station. * Added example picture Added an example picture to better understand how to get the weather station. What the user needs to copy and add to the YAML file. * Added usage information Added examples of the usage (why needing the data). * linkable_title Changed from normal titles to linkable_title in order to follow the documentation standards. * Updated based on feedback Done - Rewrote "Usage" into "Potential use cases" - Linked to Trafikverket homepage - Description instead of static links * Configuration variables Updated to use "{% configuration %}" instead of "Configuration variables" as plain text. * HA release 0.64.0 Updated ha_release to 0.64.0 instead. * HA release 0.65.0 Updated ha_release to 0.65.0 since it wasn't merged in 0.64.0 release. * :pencil2: Tiny improvements * ha_release and note Updated ha_release to 0.66.0 and removed a note about using secrets.yaml for all your API keys, usernames and passwords. --- ...ensor.trafikverket_weatherstation.markdown | 86 ++++++++++++++++++ ...t_trafikverket_weather_station_example.png | Bin 0 -> 159671 bytes .../images/supported_brands/trafikverket.png | Bin 0 -> 30431 bytes 3 files changed, 86 insertions(+) create mode 100644 source/_components/sensor.trafikverket_weatherstation.markdown create mode 100644 source/images/screenshots/get_trafikverket_weather_station_example.png create mode 100644 source/images/supported_brands/trafikverket.png diff --git a/source/_components/sensor.trafikverket_weatherstation.markdown b/source/_components/sensor.trafikverket_weatherstation.markdown new file mode 100644 index 00000000000..76885964f39 --- /dev/null +++ b/source/_components/sensor.trafikverket_weatherstation.markdown @@ -0,0 +1,86 @@ +--- +layout: page +title: "Trafikverket WeatherStation" +description: "Instructions how to integrate Trafikverket WeatherStation within Home Assistant." +date: 2018-02-01 12:06 +sidebar: true +comments: false +sharing: true +footer: true +logo: trafikverket.png +ha_category: Sensor +ha_release: 0.66.0 +--- + +Showing weather information for air and road temperature provided by [Trafikverket](https://www.trafikverket.se/) in Sweden. + +Potential use cases: +- Get weather data in general +- You live near a weather station and want to know the current temperature at home +- Setup automations for your car heating system. If the road is frozen along the way to work, you might want the car heating system to start earlier. + +##### {% linkable_title Configuration %} + +To enable this sensor, add the following lines to your `configuration.yaml`. + +```yaml +sensor: + - platform: trafikverket_weatherstations + name: Trafikverket Road WeatherStation Kungälv + api_key: eXXcbXXXacXXXXc39XX3aXXX4aXX46XX + station: Kungälv + type: road +``` + +{% configuration %} +name: + description: Unique name of the device in the frontend. + required: true + type: string +api_key: + description: API key from Trafikverket. + required: true + type: string +station: + description: Name of the weather station. + required: true + type: string +type: + description: Defines which temperature you want (`air` or `road`). + required: true + type: string +scan_interval: + description: How frequently to query for new data (in seconds). + required: false + type: int + default: 300 +{% endconfiguration %} + +##### {% linkable_title Obtaining API key %} + +Please click [here](https://api.trafikinfo.trafikverket.se/) and register to obtain the API key. + +##### {% linkable_title Weather stations %} + +Click [here](https://www.trafikverket.se/trafikinformation/vag/?TrafficType=personalTraffic&map=1/606442.17/6886316.22/&Layers=RoadWeather%2b) to get a map of valid weather stations. Once a station is found, copy the name according to the below picture and paste it in your `configuration.yaml` file as the `station` variable. + +
+
+
t|7-hgL3eM#fuWqod)+s6e6n-^(JMzlJJ zANcx$X6?!GNunb^>Z`SU@ek-TM$eNgb7b4bHF|y|gZi{TuaWMk^VUAv1Bp=Uy)cdK zfr62|>B@qYOBbm$%tu;o-5YWze8Avg(#=hfIeW5|M3As6YwDHAkDWMC)bOn0$>?tc&xdhxNo_I=sOH+pVpU+i(G?+Z`Xl=ZW`ee(F z9GUs?7qZ1Fd#|(<^)mtiQu?^DN6G1@OqPe9ct&1-d#21=@U7NUd2N8k)w|FFlYk?n zgG1uR50(eqh-+GG$Qu23S$T!(uWPDnGz_(gNy|9}tF oy z65vD3&dE}hi*a-r8|o@mGQpXTm6s7cTZ#LHNQsY@p2@M2922Hehj~VHqC5vbsL7u? z;M)E|bG>21YKe)7k%0qUADK6pd~rx!99u*Eu#@!ISX(Kl4@%Wu%;5^^!u$?xf$p{; zYU-Jnn8p$UZwsWubrrZTLPmCe{yxNXAb`FZ)dhM?bkPtnh>eME@$rI?@Nku)E}DL! z>dAe9A@S ?TH(ldvJ1nCb$H<25@^T8J?)+4QF z?k-S2!aQ3;h}#!w400!)e%z%6ZeJI2a| ~$)l%XL4fL1!pS>&p zed1wl#c2Kb;3yXa4*1Yfvm~bW)W&J|?j1_nG(w 66~C}2K#y2S0NO}6E^#s<0){I 4X8h_xx-Wq0fpd-c{Esy{A1^r%qd3OwPBZTlSoA0tcwS^hK0O*f{z4Sf}L3?{o z?CCv0!@j@7jo`*_-Ih8NxZVk?K`m^_CHn(-gu%vz%Ur!@uGLkRN<;286$-fq2z0y) z4?J+6^zGYE%Z>1><1TUWdTt+2fPZNG>BTX2$9IyMORug%UBI-n&$z2^zy8v@cOQv~ z43*WZ*GSgRJ#yx0Cs;2~ylmUHT}F=@DLXQ^%ZztFkiGc@5{jB+KtEZvcB3T5gv-V) z+oi0c$|`xI#C6M%%xzn&?&4Vz85JYz)~}b*!-rZ@dh;mr-s(`Pu)2)CA}y*x>T0e0 z-Kef NltFIL`jTK)+3~`Ik#NT4PqlgrK})FPCR~soORY&Qc_wjxjDOZ)V;p0 zR&sK(B|W{TL`KI+NkOjlF~vwJlDvPU_}5oSP*AWmG}cR4RIJt2ERY>LcZz>#w3HSX zNMvk+_yq(>jz#u~F_97<7p>1dZ{D{uY0`1li(4htRb`six|zE~E;Q!vl*VF9GP8c% zhd=#ZPCC(zSuj*`8l1{s94!8snXbw-r>&(C$%EQ{O1Ni>f3%pur-h5cLnW zzD>@(0n%8zr%aNfLL@AxYY99wBt*)QR{j0;yvtzyMyWk|NNTs_rVkU08$VvgjXO%e zm$1+fiMQT|3FD8}>+cpWl&O=CmxQEbjWd4CaH(%-kch}giH(ks06#xTN{EwQJze8B z97#_; )o}Nqc!9gSOQ9DXbT}EGAziFSc8>(`JDs&U3%KN zo0 evxs?5mr@8ba;?le#O=L`-TPvG}S9doL_ydR92NJ-!(SY>Jhgt-@mE;IO6oG`=R?{FARW;h{Ih@g& z1Z^ZOBq$?68!LsH+O``by6p$jj1ct+7D8=FmYo6bf+t}bKjV-3@ZNjxS2yk4Y3gUf zc~`L9px0 r9!r0>n^mg{c;Os@&47@{?C0O!@#w_#M2_AnD4 zXAA%cH)BjjkB)S12DMRb?(c5{SGD$yd4lpV) %?vRc(#_pw(7)ghmKE?u{GQtDXuy7Wzv-IE@^nfT{^=fbCn> zYyH?keh@wSDh8Ll{aB5?$GVQSmGbkcgXOK)Up#D8C&1He%pkX{PIcP=0-(;#Z_dZr znu-jPV9@$N5jUV5=yy?r9Zc|h^KGH;#Bpwa2Ow-n#|R*d3$@qn?<{z)xfk!O{aZA^ z4`Bv7V}26^Acz*i^=5^Il#80tfJU9)+{DL`kGH{2Z^$WgNtB%-aYMr1o~t!b{*I0n zw1=UC2T10oeNBE#c5TsdHB?n*(6lXhHbQNwnEiR7AS)v|1C;QdevlZ0EM|0_IHO07 zR6AAtjRV9n;2c8Y<;1mTVbU6S04CdPwK@chD%;^7;vx=jc^gszm~k ?7YI+) AU>puK*Hp$u9gN381RI!+9Ei9zd?P|)wY=5udN1^Mu46vzda<4Ws&(E5ug~j zMBwtY>)x=(`|~j N*e;RtTi8jWt;tUi#DSE$4JZ#?eKYucxBx;0d`F%G@?8PQ$vm?!QXh>R z<3RLCfhW0fjRhE%T&NxxNJC2J{owfBmVy=n6zBFl=!Mx~f2Vj)klZ^0dQ+H$`todc z@IFBJUD+F>-ZHbY+*cN{CcAq0QGJHD_#S+L>4BMES!?ildb}O{AnVqy)C%yW;!Ia; ze~H_UAw6OwCDLW@2$onckmt*R<%6lX)(FkO5H^5N?D1)Quu}QW%|CbhbPnX>4K*J; zq=Oqs;hBTa(ME=z03_bl4^J6sjEpG~pmCwmu;0u4Ug>>@?L(GyZK+38JLu&wr?TI3 zLtdRETh($fNcKPi5<^<--`6$hcPPQ{0dXJ!a->&)6$H|FM?dt|U{odaQhk;B0A<4( zBgj3DWdGgyj w?hFWR!r`AKOt~>1zkzp%vXT8dFGA~H=qnA4Js7g1&9~$ z9-z-gO0EqIm(sFYeGl+QYBt{vM^q`mJd+s=?Ml#NfrmN^%zrUC<{7#IJ$q&}f3xvD zT*r!i*K%nO)Hf>P_BgZCZ%cay@pc@DH4SLhwS~8w=R^8xy}*b$ yaG^U%N;XF!9qC$B^nELx`4GCUuP;DFcP zoT(q?Cm(+#+qSu0HqQYZY*Mkd0ptZ3fc<>-+@^C>Jlq3m|8O91l^U)0!5e6t4~5>_ z6A%S;ZMw$%F3b{!(7OUyHb6)$Q_)d%f*myUtjWU>;%!0V7BNHM+p1%fK)I(U`2OsY zwIOpmOn& oZU_nf^x-)k5y5F6TnP$?`a_8NXL zT+ZITQdwT8lgsS>K|ujhWc7~hew}f9vNNTqs7MA49_}@~BaZsQnd{=boqD96`M!E5 zN9p&rwJKWg*_nD>xwBLX%4@xbwdW{DMR`e!GIqwrL`Laxd)D@S!a4%R!(M;mb@^t_ z92JaeqmtCW(W cFMzm>J?DV{61QFI_SJHM28fw=bSw8qI_XL@ zjy=bHX5qaDv_ZM~XE(~d4?gPl^p23AU{$pk2aqTV3yXACti88TP|$4N1xAjYAeUc# zz06&>Ld_k4T>>|0vGunP{CWa&%R>p?GxVwL^|&zq>?$d%qcB}_^sAn|JX9x?YkwqB z@<-zK9JAP8kQb^F%81pGs@Sah2B=EVX`2P>T2nu?#shr2_;=>H>8a3T=?d^{V1Lvn zymxQB`if+9OVE`Yjc|)0LPtTJ(`#vOW^#vqWhxmd&5V*CPN0?YMO6Zr5D}Nq?XV$k zzz-HU`gA?#2e1C<-?}#N)mL6A_dW2B4yh%G+q+jUdH4NKbt?9`=TBG58Wy`j#qrhG zu8BmbMn3!a1F5d9))$zMkjX|2T#|;g#AjMIjfovt-w=j14(ktl0@JVkAtPVGJs<#I zRb__)lo7k`*1Guo_AGeTS=9-o19`T$e);}@d}+X$3XWvScn8mgKh88j-Yk0BnjYU- zpawGw%k3{HKb+Q@3aBIKJz%KT4=}1wGoh)YXwR&=L)IqdhcU~(wg-M(&k<%%c Yv}l2g-V%ciyas6JXF zaMX)2v9UTa&&;xH$lj#KjsVWxFH=D>z?6;&9@umm#lEjVFXjn5aWfEtbqFKZ=qm|v zsM~=92ZsaTDy&iZ^cyUhyR+4r$BxzreB|(9YG&)-%Qbn(NZ=iTFG~fqO5O~DK-z3} zz(5Ey)7nylcmm?~G!Zlp%f68ix4Gts!}O@3;lK}aIdI^>L3@CU;3dov*({;Bs8r28 z?Jyi>fQ8oR(PMN`JO89!ZeQPlzzlb`Cv^jVqt7v_5hQK&JgVPLO;fYL?c2BMD6EO= z3p__k?GG6oWJ%fXYmPWmQPw~8ci_N*gF^`y9l5v(0v|A7h+5li+`PF37aA@zVCB+v z>o+yqdYeV6d;k)+uk&L3v3G{Bm7sGAbm>B-jbc&4G+B ?vuti-neTH8e37^f z{Bm||Z1mOMnSwG&hvgIp_U+f|;3e_wCW1V46Rh*2dc}Iof)uH)tCMf6G?4f7PqN*S z|Cdb#ySa})WHkTI4jdeA2yUnle}8}Rv;Oqx=Q0(<)mfyDU4Gu)JSB6CIpU&YG#&FS zm;=FH2B+nHs(t~N-RG0q*_*n#HTbT?w!qDi#!;sfv+Y?YkPsQX4{<}-rImHok(SQ) z?a>S>Dk`MTB7X-C960DI)YsRmYiMjxj)JQUZ=ps(=w⪻zrGky4lRqjEo4^O=_CV z1*_YisDxd2N0t)tXI4>1r-h>TX$?r-t*#(uJ+ztfX(w(|IrUarD$7?u+IQS>hg^2q zWpdtm=gEQv3)~?N4kik$PS#I;BC>h2+rxo_9{}p=+~jTJC^!r5GTuN#8>*|T WWu?6E!V7Z78D~hhZr$Y8TW?jr z_5dM5j1Z)O)n>_Uw~4&-j<$yf1y+^HuYWC8U5HgDA`d-;Wa18V;NS;{daE~Y1WF}t z{_Nc4@$nfFH_L~x%a74_*RP+a$JT(*+Yx;?P_;=%*EyzjF 2ki(TZYwJpK3wFSbI`%L0}e2(>Q%zFs=}%h7m)`v?}g#O!C?bdXsoDc zxf@lv#T6wb9a~$w&f+3N;D)E*EV#>)xb1+%gTmt^I3%!1^6tz6Rqa8^+q4wEfEI$) zyzI(%voOwv(&ojBOv}{tknW?oHb+w_>@u#SyH@@k#g;8wl*mDHa wouXe{4J-_kB8|D1-&zEuI z#>wEpgXMw?E|3)~_T7Z^`|rP(^73-|@sEEjQBj>=2@SRWv(Jjvz=&LQkyy`2xy6#= zMHac1-fqH!4~o3~w(Fd*2Obdl=p(Ttf02IuL~gi2Wb0N}I4HCPgnRE5nKn(VIuPrb zMb11^ Go#leBcuAN!3Yu66R%4Dfy z*Sa8(d8T!}(-JUqbA2Bqw@cl|0Z$IIAN4#aR2T3H2#S>QYTs7eH2cJM1pcheZFXPx z1&pvVamRpZqijXQL>^XlGgIEZAt5qINuTHAA*l@4u~AAYYn8Y=qVqQR;)^d-T>^4* zbCp=z8o=z{y}LzV{hC()0=stYa;=3tXpmk92M5b3r<@{RfBm)W*|SG3zx;A}>7|#H z Y;Gjc5O0KGQ8B)L_dv@=X z-RgE(@2iVzDy^=o608q^L+T-IC2$up8_qIWc*|?Wk_GaYyKa}+U(J^AT9;7S-n!nM zSvuRFrBU13{1izWm55m?k@cS0_st+{PmW6NkTO%;nK{`S^2%HbuLJAxn<@iWP*QFk zJEk`2ECQ_l{-jBhWX_y9P3o0JmUs%G8`TKXcmMwVRf0z?gX)BVTH@0{pgT`XbE$~1 zjZe3jX|os6lK4A!?$mq!$`V~qJn=-8?q|-N>9d6l#64pMjg(lDK4o(UbO1w#iq#mo z()wF%_1LjuHF&6=T++MMd9fNUR~U|S{M^+etVag9qoyH`fdgIoZ%?3cvN}IX*nqNs z`>n`?37spq0|&k$!1`9x(|YQ+3n1{q0ygMyNws0&;nE{5UB72vpyX}k;j;I3@stv` z^#{BWH(;H7?7Vw)Z#MT0=rhKBwlCn=&cMI2vRwS#8}E9;3_!ApDe;)h1A&?N=B6E4 z^Q5q%zL~(O2 ?_q*Sz#0?;LBy*#7LB+Cr_il^OEJkYuSi&$+`sJ5j%4@H^CZB))xzE-yjGva5 zi%gs-^5~;3y>~}JJ7c}OUJ)89(x;D0BIozOaSnkSwfv49B6r>8lEzWl& *)G6nz^er zuyJ^?)r-IJM?Y%Pb^G_+w?}T!8I=i8wTb5@rAFFj01|bGnQ6&RBrJdqffLR~#0+-Y z_22EaB9S4kR?kJ;F1IVc%sRTdC%#JFw2DTe1+=C}x%^0DEwR$HzO4b0M^BB!z1`~P z*IEq-gbt9ZA9&yaHOznRx#v_h@{fP~L!zTyy$S|LQKS6yr$1Fa_YF7Ppc3^^#M@SI zk;QmMs^@sZ2`8vJ#TWGM?NVR->}M{u$tRz<2(~p4){!<4LFB> QV?+$d}-~fZc%G%nNJc4lo<4zrc4p=IA z8&yfOYYPj$U!mh_wew!nYizySTF<+)n^pL;bM?wq%bOgA=1hY}6#`+~iJ4JUx&&;u zg|v+$4q#Rhj`%6@9;y@f!}g7L>AWQ t(Yp;Rv1d_AWn5+KU>L|1d-cfHVjkW+mGm!b-doC4? z)zN5@)FEQ4ty9$tDizR{)nrnVOTWEljmZ4@E=k<6OmT29z~H3Oaob^Z;ARlh7v$wL z 8jm}7_kh~cBe?s}#7(pf_gb!)iy z-uvaB|9VVje( y>?Dy>P@)9R)?_$lRRWidx1P$o?|&rozWGugIx!~F zs+>lN2@S9+$hQH@ty{NR5@~Pw=%bJ1{rBIu2<>H+#u;? eQ+7@y8!G{fKs)bka$x bpU+SnY W@*QMoFJOeWb6| zU>QVOY<2b3SIZ-hJYo@Js!pgm_uO-J023goFR|E>1_Zq~jtMwS7D5H%3Dh%~75?E5 ze^8>o`R1E-G7y$2Nb`_6gP2AI)E pxP#rh~PI$M}?y3&;1qoJ9d~eQf$tx(ZT%qc+fs(j;&=S}Q9U=DGV|qzL z;cmSS9C%!tYe2O+8{G$VXb($(lzr#j_sHebr%Aa*9Ltt1mFup#N|voyt>>U`-+q$Z zXPErwiASx<3zMUc9xsa*E|AfK`$(!q;*jOc4?dF$OG56~e}KgH=qGQ!`m)5t##n?J zCx6;&eerIzwlEa~iuc`jpQ<)ce-v014B4VO!S6ug!3Q5yNgZcEd61s3xZ( 5{e^E#mfFf46P@N{e7?bzv&Vzur3Uk(?wE(XrY<1Xy|b`@8OgW8&hwv)-2zi@%lN zIv3H0Uip9?J<;C&l)k{XCddQq9KL4bHYICT&H`V3{k4)f?z`{4m1K*DYHMrc@~f|x zq|`Kv+$v?nn4@LfF~>=4e6mbF_9&IySFBtq o zpa1-49XzxX>VX0hJJu;ix6X?(fBt;Q&(H7hEKE!c@4WL)58^(!;MQn#khl%dnPcy5 z>yS8ba74hh0$|JWC;U1>+<@;o(vsX0ERMrPMMq1HC4sjE_$;WlS#4YV&CBkymME|7 zkj(5Aog(jU7D1hN?%7Jz>({Px`!*xUlFs!Q ZH7 `+0D)RTgyHq1y<{UY2@IM2)o;xNYN@{EBq_)oc*c57& zf}CCME9*M8hlK9gC?)UzYaiYA&b(6hS?AFywaLxDy;Y_hKS>As03^=(wWv!#PWEmY zKlx<&*Tav=4L|+46ciOp?(Q8DDaBG$QYA4laXPSo>D|0VE9Ll;PL`}~TQtAitj+RR z#2K0oaMttg2plzp0|#A&&1;rPSXiiphJ@%iT5wR1R8&_ W z#BcfM(qHz9zr~Xwm)x!SFkc3 QM zBqhsb-!&KMf0w)+IB;+%VJB~N-XX!k5(t4;RZ0 $z-&kf*3=F}`+;!+n6Ox@QM z8*&b)DYQu5HIuu0Nb`Uuq~1F*T;mvYO6T1Xq{Rg3ih((WrIMLjEZcHj1*@}KpUnJ9 z*=zY1RMbjdQJLfymrId#?!bWq2Zu9If25|S%YeZnWKixBX?*8y339XPuHI900Y3xQ zg<=9^NN}K(RaVNp1>Z{Eo=i#hD^^mDtK2T#>UZi!HAv@n5ROYvj1<563P}s!56QbT zDD~(b&}~?jRV?|~8ai;`z`+p+2s|=ti3At91}SSTn)AEh4oN?1vTkt0T2PQSd;UV) zETtVD FMYj&6IL+B11IB;+z0gkI* v} zH=8nm5--yAmNv{^GGc>dY|qx$RB_ hj}t#>R<#t| zcAWdnfddB)4j$GnTj !XoIIGvAeA1AFUWX3zd3b)Bff{2bMrqiR742OQCl zL*%Go{O^0 GUQ$-2 p`BtYmEmlWw-=l;}=nvEhDl+UaM=z&<^spr};VZrm;jX# Xxlw}~5y6hs?ZAP9BLjX*KXe^~LS=DwrNqZ4=yeeiweDd)Qd z-^#CVy gL*@+*dPh?Kky4mIdI^>fv@ljYPr)@Z9{{s+*v9s zc9cr}cGnh${@wb^uFS2{qh}w<*`1}t%C?aYJ@JeT95h5yyCuuXXHHX9No#AF03>PB zBDrI&!ul!T55N6|EMK*;iNMiyL-MLN36F|VJxpUjxb)1(kkKPurYrLnE>)LpNz!(N zgoWucu$a4e0!bUNjT&GRhKkw%sj6#`% Y{1}&(WA%6 z <-Y?5 z4jdc~sH*dm0!zRSv4qRvy^=&0zAbgDJ{P~hFbV8GK|-eeUMJ76c{u} ;iw}3rqQs^f2_8!o1}O1k!VmdRoj9pU0%t{6we!|H zwF3qz?E{yd*8sl_c`lnoY`P(9_OjH)%q_P)x2T1k_rT~ )h z#G`e!)nEVNE;;wilVsM1U&t%3yefaV?f+C8v0>dBx&Q7z%7zUaWZ=Moa`9C^lI2U6 z$UpDCMJ@J>+5`g+Cgd<#2R%0k4Ttn2SGn*8mh_vD+^+azGf@zOYOqD-E2oW#Y(%9D>jDxZG*k!;?wRsQ+Vznk_q`2PDP za?xeiNwFoFzdhqk8Fk#rvU~S#x&HDC<(Nq)%KKj}lw0rktGw~ze`UjJ*Wf3XDyT^q zxQtIs)tQ!txB&y1tedhYH($n%8Y2FzdR0_fqN O#9&{{#mH^#0{={hwJBw>| zEfcfzLtCS&2JwC^*E|UcjgqiX$JX0{0|$o(CLDXL)UTQ?$4?w6=bto5p8IsZ1oRy% zufP4ChF^WvRnjLdQDP$l<+s1SS*2;rtBpqD^2;xi=bw36h7TVu-Me>}4`#lt()Nu% z`-Ox>M9QSGL*@EwU1Ng`KtkHN7U!ZiF;n0@LA*=PKUvpI@gLZ?pOQ2)fS6Z5aNsaC zb-_;2Y`TDd*7mKg?R+fex9g}mZ*Mf!8|s6b74#ut(GqPvj5EX1L04hGF>B?@pJu9i z b5V}^Tdq)vUJ@RVKbRE-_4Qn >nj^5iWO2x(u#<509vwtDG)ko?8 zC5xt@tMLZ>k;X|>SX!WquONw|CPCuv3`z_0q^8EDZV&UY7eCzazylA+@y8!8o7iH# z9T11OzxmB?q_VPoHPExqJ}bvsE&QrgtK2>v1NY!w7hZUw6clvsxA-CA=+WV_aA~=^ zNB(P(x8<(*>2`GxyPe!W|9by7gY^~sUTjqD%e&;@(4ryR{Ts!kNN`xF^tA-plCn|> zO-fa7R`>gA-eO7V#tvbwZ#^s|NRM_v(q>1ohAJ0XGl d9&LB1-P;#<&Np)@Gewhjy@`{g- zm+8}|OMZU7JA}%ukw5 $0!yVOV^HgocGn|A9lLwzf`Nv#!9R zMT=zf=H_loPEL+2S>meH!xa}@bdfyw+;h^WPan6>kqHRr$}6wbM*cv6{Lv|n8a2x8 z(>8n|e=ONpw{E!o$La3+0VB-q81pvf$o&>n$bm{RKkDEw|hv{rmTq|Ni&C zKIO^%%gf8%R}KyY9{F&gEZtQs|99s-^8NSU%a3mOiEJ-wkh9M`U4JX)!Jzg)RdUw( zm&x_lTp 0a0UlckZRv>pT4WUtF&%48HNs`|`JY|L%_E+BK)JtWF0j4U81- z3HZ3px0ZEEvMos#y?As&58cfe(LN-qyA)Kkzcsxl*o$rQ0N0Bd92_jskx`PKo*^YA z#Zpq (ZcH0u1Q4ao_nqy4UiC@dg>`T=9puoXV0E;?X}mo zP+KfsyjadW^Gpr<)vtb~jes5Pr8l6 $@%A>FWK4IUj2}`_*fwaz%}`O`Q?{d z2EvHHWs9rD=Gi{{@I#q6aiVtP{`R-OS@qZYVDiDjGtWGu1a#VIr@4K+1JdCcUwGjK zeKs7@I`v2Ih-+`XB(CY9@X^?NTgI9C^A+8@1^G @!YSx@`{{(`ss4-z4xjg=^Y#xJo=7nzRKgzy(YB*VN&fL@B8ze zcUlto7 GP!>Iv>EmyVl3%h%s^t%>rF2mdAO)^C!V ze)bc+Hi(N1lzegN(gC*K-k=LpxzG0js*=L|Y}blbRt9EnK7`GAM~NGxCAel&rlh3n z4$L6PpKGfz$S;tZ%FYiarKYCJQAZtRb!Wa)>94xFTIS4|V^#22B{>7g58{CIkb0kd z@<}NzEmb`vWQyaXSigR~N|LBG-hKC7ck1@j+rc6- gr&hy?!k8v%} z*&23d*UIPL_}=KzXi#oXwGHHX>Zzy7^5w39Edcp4aV;$^P2=y`vqztka-MO<8S>Rv zU%6wtR3`Rti1@bKZfkljPig a%I@Cq4LlB{w801_^v$r *pgK6%oydJgBootRLk_3R_F-hNZw zpEXl%zw0kjykm=Wk7-`>2~tiCE|m?X5lY}Vqx1HJcY72I*b}l5CO5Y4L&>yGUrYf# zkr)}Ic{MaN>PlRGe)X2CwOWZ<^-oJnm(82jN< 1Egmx_t^_19l3sb78d)smQ)D50UDa=`@`$hvjwlvD`+^{;;|fB3^6Gz|-}8-i>v zJs+$cC!BDCy!6sbGJpPjIqtaQWbWL#lAN5Z#O&wS`eIyskY}HLwtm=|nVCvt_4W1o zED$&!@io_6qYVe7zIX4wYt0<4piwjGkFc;XZFnJLh!7BFdQAW_ X!xBX?e9xphn{dMQL4{8!4CG)#J{q)m%PI>RU@4lw;(9rNaV8Ma~a`D9% z>vIAcfdK;s=sCZsXE==zj%TJP3Fw8PT5)i2(Xea1gb$e{(V+oS@9!tQQlsSYC;w{+ zbm3A}Q7$E= g=2V1<=$~RqA>(U0W{$5B>fF%SrSl@2Btlv{)32|w1??0aq zzs9 zr3neHB{Y2jQZ3Rgbq%OLi1Wr9Z&W{TDidD^AtCU$KWI7Upe@j-8fkahv}sDR5Hczq z&I#i;g2*9fdPb()0Fv&}qlcb*3pdEh%F?(r(ttRqOzgc82L~37b*{Bq5jMB2UnXl; ze6QCZfAYCx^zJWboik0&zwqKFclNpG$=Q}4?i}mf?k>9Ue03LIaK06OuKHbm#TD|G zzx+jh{_|g0jq`26@W-Isn}fK6!ejLu zK-x@ofBNx9ny$^ oJ-FbUo78YRV-K%#$_f^M%6g+O+I3-HD)=0YO zne0I7<3m6X4#CqUHSVml&T3L+pf*9$MNP7G>sIvx?WOkw N3ilkS (n~K@mF(=fi<)-OG4N;OgnRG3UuMsC zt(3*}ga3Y1UYRjVR~y9tuD}0NKKu9sS-fz86ztiq1kO}Xjvvi aV`~s_MxZfF%6+=bzU~yZ!dtRmwAHFTFR=ppb^aDkNrKEhfBy*;+_> z=!DUIqmM&Z{6hr|B)uw6b(8@FXc{z6VCxOADtYhazH;yFEgNz>I!fR)m`KNvG%zX- z8WN+Mr)+%K_!+|Gd5q56TR4pn4r$&K+>4%;0TRAL zgcGxLnS;>;^gI^s{8#F%u*{wU m4ei y#Z;S9{`~1_UsLG1Q7S1{`4ma3JTH&YNYkM zp`ZVu0%_K+69zmtL}nal?SrzL1ESmREP;F86a6~_+lFK*pHYPwA_qv#G%l!0NXPSB za>*s`P**qvZo*N=7%LK_ZEVTy_q@XDYI85tGBh5fbF57c9D@BCB_=eWY5newfU!5e zO} !x2HKE1Z@T@y#a#vWf0R7 zkSGN13@-jKu>5bATMec4{!IIgsy{bn?v{K0_ILUC cf8Umeh2Atn@*IjBw z1!3FAxRAmjZ+c)5JO&8}b@a|#17ZJp^nSGi5A(0oNjrY4mwc-<{=sKo%g=ATR_?j~ zU*cyKsG__~ttcugs-&jAQHlx+q+4ot$;;cT`r6=-P}!TCV@ay6E^GFl-4YuYFQp~L z5)~aIb+xrtoDhkL43q4fTuDhz(qovFr!>|}L1D2B95hfSjXz5I^h|fi+rdFaTLgaI znXz);9Ubc(q3fo{W|zht9NB=pLxTb(=EB<~G%`k>d+}xY>gzcjCT}zE!~kOlR4J%s zImdLEbK (%ncmNQZPwN;lFC@9_Jt_XA&twa)C>Gy9I~sq 3W3q z3K-*;p1*Ld+|#ROo(3#o%HnJ;Nl){unjYfBzUrk}8{xmPO@XlR_Hb*;n^Fw{b0{X{ z-m@fAp#psEMni&Dhe@C{=aQ8RKfl-?EA1@cv&MJJ=;CV%@fEDg<>g%uX=4OzG+p=e z%R3|G)t1u}4=~6*1-N~F2%C1D_vR;*?(t2IA B=+@pwcGlGpO7 zN!+o+^?Ni&IpVQ7#&mS+mtjaI(9#kF)3d1O`9ei-^7GXiBCwNex^5tKb?**;yTt#U zl2Cj%9+l ~FizF4Nw@{D zU5PQ9#aGaU{^IX8hLtlVWwyD>XTLmZSD&zAx)U}_sI8J}re`ee|L!WqXdEJr0PW6* zZ<0VWBZ!WeZzAWQh%&-BitqO2E{nS53bXZ2|0kjGCZ^zw8nT)X>cO|Q_T%r zA4u1d }UU zbYM7vmiGa 8ufl&f+me)y+m*h>w7(^uLSH{d9CrF1U6;Q;`Y^kyA}Q+j87* z{aGu%9)$@sZBg|(!jM{sVJr-1G;&C^+R8OIj(w4SWfIp2{r?3@ut;z#A0rVE;bklf zZ*9>#0=VS~Voft?>t=9+qWQT4lTlUk;{KU^!iME>CtF}t|4bN9=cAG*D81GhT>u=2 zdk@dv{6J|UgsaimvNGgSt9Mgq=HHQ>!SwV~#b{kqqU0MNC(Rqwn9ekVaidKSY@$2K zX=$ZFn_Ff8QlQG(_^s0*3Ov9JMzD%M*JYN2u$!oIg8#d1z0hX3+`zGfGVbSjeEhVY zmDQoC((76)w)dNsqkiPyt(=*|Ax0cva*DEm>1hp{=9-w4H0+n %8iFQNP+RASZvLh@g{=Ic0HYDYEF%XZNdN#k4ZPhFOkQqEfqDr!sQ&2 zTi+Hz-nfCs38(Bgf%Mm}UXioMas}ZRJ|tA+ rsYpFl>4e^>THQeyJRLGced-qo6F z&%)kqv}QuM@t!X-fA%3zRHX%>lU}!{m1Wr4ga$*8X@jI!t)YeDYryU1!|`ud %pXwXK5->DPKvErml*0S`#Z=z7=Uq^Qd&xchS<1kq*V;-n0PTpyWDH91oY lJcIFU+|yt}yq6L@+a)*M)_(w5&sr@gXjji_;Bz?N4Cc6P1B0;efEcZE zt@9xID$PldBNbT0t9Zrps4{)P@L;;|;&FYQp*Yhi{yn#O{i(tkKBy|{V|66ybenWM zbsud>RvY&w0uYCQWsg7n&t%4SLjJzfH(Vv`;zdncHZI7wsHn2}ZMM3xc8GF0%jtM3 z-wfypT&&)Xs$P7S|AgiD3RN1RkVrweYC2Q&=^|tONowXz@Ud&z!6Otf4U>=xlDE^( zQk|cdSC&oV;+mCre9@2V#-y((nIReHYYf5LCdrPa*3!~CEua58DpSTzWrG3SjU>K| z&CaUaE!REt_s1CV2;Ph{RhpHj0n)A|8C@k3nSrl*1$~1uE;j91h@q02eI#G8+!K}dt*>Z!3XE>zSNTq4H}AZXQ^hU-G+)EI)LC8Xpa zpQ5&R_D0L*j!f;v;!IEfPyyKwik9Vt(LZPz+Xt^g;FcDzopp>?o$qoTU7;_~N$?<5 zja<8b`}sRR2T5l#nnJ4xWSLo6Q&J2(Wur;_67?76bTB%3r6*z}*gCSw-YqPZz7X@+ zD9z2hWxbnX0%4;}1|>(EBEHY9zRD!GI#+8Jq8m3QJW6M~J#&C6p`RJZ1kZv3#WASQ z%0@VZSy@=({c~g@L<5 2oWop9JJvK{ccCq`PCAQbueXtvKHgp_AEY!Ysg zVbN;nY&-vj$9IR|H?J~xJ!YC4x~%X?eU3t+pem)!bcruY^Zgs_G<9|0bS{ZM48}KL zO40Ky)%EDdm2>)=`^)LC$DW+8Q7%Z|IR0#u1xEj0_R}`4HsCq=dPam44_K}4S7A!E zpkGOEoSm@(ZxKLKWDygqs+xPH{OW%9>CRR=(6Zpp_Osv#SGGd6cd!R-=ktwD)5Hs` zF)Kr9!dA4UUz_Noprx(`_rRN0w=4OqXXPW^IZNz_Rq_6q3|Ve;PC ~Pz}tbYVoMPHlA%jv>&aU%dkNJt@j&;h2W&<{Z)q1=k$*G9NHqwNhv zi<`A8 AxY{X=POebr0z>Q=6dZie zLedxDPo5VP1lMH05Fj9t>V7pP?KATF5?Z$%Ann#%-EOj<^DgcB!XZ2y-QlqwU3~WO z@$uYlCcoq5;pq0Lqp(v;<5k8x8y!3@^2pV)TIN^r>519yPqSU{)!~f%HyBtjC4;`} z$xuB0TB;eABQFvPMnWm}pgeCxqR5L&W8c64K&!~)a2X=kV)v^`heFVtZh;Gxd+qdL zGHQ?s?pR#p3zt1MKR2j^n^hZ9&JUGSmdqEr{r%+)`J`T<&D`~}1exaSC~i|7`S}F*p5tOahTkJsC+$OSDc1gmRAai4SPr>NGp#rk_LAb&dol zZ`&i1-NyJ{QE^*JFyw_o{Yp3mbi0M&kAUPKlg?SC)ASiEfnX}@_Hw^B3M7P?yl#%C z+P@M;tpiOE)$d&K)X|rZXI%!w_@{_zqD&=`P|{WBWbDR4?bq` qro zB;F%5EK{i;Vo-WN9293zYf@{Q%=I-ikn>AsF(L2SrNu#ZIE_m83{;bfunPWo7;NWxSYI=3Z z?Dn*7zdc~hno!Q#p(HCb2~trMxrU2)lo}!|&ZMRvmUSAL4R_jH{N?l%i<&msRotg- z>a)VWwH;LYMU^>zTKE&tHX}D-qHq8CQ_T1y@wNu %8LOBPyo+iLFmHihr4+$PXY*45ANwr)kZAuj~j;?vLKP5g8L&kc!JNAWBas)66 z3`W=o-%|lu5Qjl0Xr}?8Q2cwKKJ-NmML3v5&~=}hD!CT;=zT4p9@&Z!sk*0FrFvFK z=aMB3Yp`Ch(tqD|w~3;*R8ZiqaX*>r19%!vz$3*VMir;RBWm*Ny4i8d^x^7&!|im1 z%1N13=043LOPPKuqu$mKp)al5Oa|d2O$RSIx0Hm$*WT}0m{04k&)M^2zL6{WAhrX3 z6+dYbi0YTLeMc<(!LyB}ul2>qOD%2MA0B$#dP1A+TMvqSh;UEk^FMAG*Q`DGrjo@O z`4nKDROz){@zXP&Z33e1ZuEgl+F~zZb`PIFLU&2nZ|BXof(V4Q>#255yi@1-{lT&u zPBM=o-tSS?c%=vlv@(Y8s}?Mxt?*uMvX+hk;Iv2iL~!cBpoHv4oBFHdj|VzUIuE?2 z^4>0CsD}v*!ZRvh?ho4EiFyla8^z>+(|S!`YxXrUE W6mEZ3wf(OzW }}8Mn@Jef CgvDG|SWPshwW_c*n2eYS2;==^~x zT9?eyeJ|5Zm3v42mh>Y>P-OmJa0jp9BQh4OFY)F@8vzW>@6HOCE)f&jSc-Gy!VVy( zd^$P4mGasotM5g-;4{agv^>=;T9Gx)vh%zVh>_?34FdxMo%45hNnwi@5R?gRkYxPb z`Z<3*ZhVCTVPmT~oZGOycOj*qFjBF><|?;7($UONRl|{0E8JnC+ -%$6vWs_^>e2WCYPC zS3`vSYGT{0M=9 4+;e^IzGC^h z5`s#Y2Phq}1@!pSTpfCkbr)4^cWCXw#B5#PyxC_8@q6kh3k4TNT;xB+ mwB9QY^)Ik0 ipH@* ekIVWLYd(iqr4b@e+HX=xG}wR{AUKCmqBDfgDf Yb(ZN+B;1(df+2OwKyJ?mRC7kbm3=rjomROc(bI#Z@zNdhjG!zC>(hn8wU(f^2 z$PhGtsB1+C@TyjuQ06iHwXF#Xk(3Pwn*ni7?Lkm!L&0Hlka?1&i)l#^;=OFJ CO|jP+o+E2@3;?G>GIEj`_+V8J$22Yp`)+i7o3PZX z>)o-8r0#Hg{|ERv_-T&7NK~5-7eiDRe?!SyO~T?qRv?7Lx6F&lU^FDu1=ZVTzcno& zcqIIkdpEhhSsD~;SE{i^4kj9cN5LzR7_$FM??IUa^Q7;20DfMLtY6WJEv68+-^dJx z>VVd<_g5QUIEzXS1y1FMW%+Q?(HW2F`uMO%{(B)q&=a3YHY_~JOZ@+n`M<%A*ZqXa z>fj~fP8bic_s?)WSp#b=d3=IHpPrcpTv99!??st%3lY@^El8$KhmJ|KfI4O6Iz5-r z2uPRH)ZsM?guU!kI2%9dvXtstakX?GygYcAwrm<4TXI^v@re6|No?89vlI|3&Rv_^ z7ysuN7l4P+W;6D@obHSC!~{Y|u6ZZKFanx0DQs+2U>NyM4FpnEKwCSoS?>TWQP z{lnO_GPkFt9G-njgzQ!osHBt9G-Ph|15w}QlXYJ2Xd`g28z`&VpH#+P2YGdA11sg4 zPY)TlOMX&;d*kPC5yeB%=Wx*+e|W+8@V3ghT<_O MeUJrHU{+x7uo+H!O10_+m!j(w&I7aGDf0T{eBaONn=6m{6noyb{``54TIK+g zDCnqsq>x)w0acZ9hiF4O-^dd#wn@+66se7Wqi~Pb?R&TIS@@QgvPJ4Zcs_-O__n`5 z4oeC4G({$-yPfEpbKoHzHHS`p>Y ucs~a6@hU@l(@rW5Z#9kap0kVarYt=GE0`5OFDPw+5A6oeLdZv7pE$;i?{Wc>H!e z?w@vUzr7^<5{LwgVHl4r???(#+wq&*zMt3;*1TSPMVYuuc~if`C`0I}+HVA$qEBJ; zH*UI^w# 9I-!&4w1Y z3T}tCz#V67{GL732Xk(*)}BIyO@#u(0R7S@qKQ7e5*imtl(!DZX>wHH{Z`K4 ~ii9eJji#%5Qj-F@7?ZJSmpYS~OF6 z36sXFFs&l3rIWe(BO=X|2Qj5Vy ;5-Ci>nVw{<{oB9N#hEe7a^72-ULYp-MV0AXwRH+SMy z(7&6rwdKzKms 8n%KR%cmO=vUR Q7d<%%o Ny!By^G;Qw4U&I6>)$O96Vywbp)HJSH7nrf8#Bc&C6?$AY$wikg5n!KQg(W( z7uqq&9a?8J;7 #H{YRni zR|qlZM|ET_(TPmr<8&`fRUH<`(RH;|emq(%%r@eROXocg*?64O)|4)Tf1P!Itjeri z4%=9#IS!Vcw#CGL-rgXn -Cq=(;AgU(Tb3 zM=8!P#ipJHlzrz=OWS`?5(|ibzqP4WV28jI*9tTNt@-Vqra);c#g_BbY-K5b$nkR# z@lWEjBJ^XgHj-h^#%Np3Jx(hfuv%XMWO0%y^dMo~hgk^0vGcVK>^X0h4l{Ss&c)cu z{ox>%NHpIjL8gat>5&+k6~n0MOh`lP#d0@vAov4|I?OZ4^>@HI0Td5a*_gX`{I5L+ z7ynEY)nO{VtG?9i7*(e9otbiinJ)1KHdMyA-8yLQzhBP+2j@6>@t-LF(aPlx zD~8Z4HMhngr7BDKVu?)TCtkzd?KE1&WV=$!PmG8#v&_FI6)G0#9SxorPL94ADAlQ( zD%~onr3g7${vh@9a!Q2z0of&Viz4No9?211hy*ZI8lXu{#_|RG