From 25b205c99bd642ffec10c197d8e45482e13a7336 Mon Sep 17 00:00:00 2001 From: Dmitriy Prodchenko Date: Wed, 27 Jun 2018 16:47:21 +0300 Subject: [PATCH 01/54] Images for Introduction screen --- .../bg_introduction_image_top.webp | Bin 0 -> 17556 bytes .../res/drawable-hdpi/bg_pattern_light.png | Bin 0 -> 1035 bytes .../bg_introduction_image_top.webp | Bin 0 -> 9508 bytes .../res/drawable-mdpi/bg_pattern_light.png | Bin 0 -> 1023 bytes .../bg_introduction_image_top.webp | Bin 0 -> 26898 bytes .../res/drawable-xhdpi/bg_pattern_light.png | Bin 0 -> 1037 bytes .../bg_introduction_image_top.webp | Bin 0 -> 52888 bytes .../res/drawable-xxhdpi/bg_pattern_light.png | Bin 0 -> 1058 bytes 8 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 OsmAnd-telegram/res/drawable-hdpi/bg_introduction_image_top.webp create mode 100644 OsmAnd-telegram/res/drawable-hdpi/bg_pattern_light.png create mode 100644 OsmAnd-telegram/res/drawable-mdpi/bg_introduction_image_top.webp create mode 100644 OsmAnd-telegram/res/drawable-mdpi/bg_pattern_light.png create mode 100644 OsmAnd-telegram/res/drawable-xhdpi/bg_introduction_image_top.webp create mode 100644 OsmAnd-telegram/res/drawable-xhdpi/bg_pattern_light.png create mode 100644 OsmAnd-telegram/res/drawable-xxhdpi/bg_introduction_image_top.webp create mode 100644 OsmAnd-telegram/res/drawable-xxhdpi/bg_pattern_light.png diff --git a/OsmAnd-telegram/res/drawable-hdpi/bg_introduction_image_top.webp b/OsmAnd-telegram/res/drawable-hdpi/bg_introduction_image_top.webp new file mode 100644 index 0000000000000000000000000000000000000000..9c5b47b7f456baf9d64eb8cc018ac735c5012528 GIT binary patch literal 17556 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 literal 0 HcmV?d00001 diff --git a/OsmAnd-telegram/res/drawable-hdpi/bg_pattern_light.png b/OsmAnd-telegram/res/drawable-hdpi/bg_pattern_light.png new file mode 100644 index 0000000000000000000000000000000000000000..e10a5f8ade7cfd241277ccc8598cd0f4fd86d6f2 GIT binary patch literal 1035 zcmbVLJ#W)M7&Zh|RYeCT1k=e~sDwYxwH=>TQ&KyjL8Me^Br?`MpA)OK&)8SuMoh4T zpTNQoKnSsSfPn@01@I@>D^NM7NnxluV9CA@zt8i2KCgDRA1p83UJ?XhxxM9e`Fg#2 z7q9Z~_nY57@Z}b3_Sr6t*vQX`& zE|ZL-1z~-o%zV607zoH9P95>*@kbHFp(8#qI%+3#$uQm;=VW)h-NWO3j6!ka9#}7J zPLL4hgEBct3%hj0DX-1<)wLpmsR`S6#IvCKogLuPoB%^MB@EXrP)9N}kfrH&fu=%J zQIP_5NrkqGY!!mpBXVzf7};H~HS@(!jyPm2vlV4D8p)$IndSopB7_uGQ#4KD7E*DP zGQX74Vr96B}uBhrq%`P zlD}bGXkGM=1uVrJc&aX6S2yHs`qr?`}3d&9%%r)HDd2mW8}l3tFyMZ!}x_ zrZLC1(}MXaCUf60_dUZJmtt)3QVaU5P~8LnHEIi3?Ke)1r;8Y zQjN<$<1@eFGg)oV#lR2eav~|$P|n5j?#)=|LR)Qnjb8a9c>epusMTIhCX2Q7)93rw n_I{n7ZZw+SYyIuSY6@2tgvs&3jjs<+%1WN?=C=2KbMM6;F2X|u literal 0 HcmV?d00001 diff --git a/OsmAnd-telegram/res/drawable-mdpi/bg_introduction_image_top.webp b/OsmAnd-telegram/res/drawable-mdpi/bg_introduction_image_top.webp new file mode 100644 index 0000000000000000000000000000000000000000..253b28016c0ad37f4b9ba90e813f6bdd9fdb4942 GIT binary patch literal 9508 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 literal 0 HcmV?d00001 diff --git a/OsmAnd-telegram/res/drawable-xhdpi/bg_introduction_image_top.webp b/OsmAnd-telegram/res/drawable-xhdpi/bg_introduction_image_top.webp new file mode 100644 index 0000000000000000000000000000000000000000..5c20302743ff022c0e4c08cc4bd67b3be544bbd4 GIT binary patch literal 26898 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 literal 0 HcmV?d00001 diff --git a/OsmAnd-telegram/res/drawable-xhdpi/bg_pattern_light.png b/OsmAnd-telegram/res/drawable-xhdpi/bg_pattern_light.png new file mode 100644 index 0000000000000000000000000000000000000000..f215ed56b6e4cf15a684e40fa00f805689f2fe23 GIT binary patch literal 1037 zcmbVLO>5LZ7!EE-DHM9Gry;#4HXoBF*-Y5Aw8^erFtu(M++&l;Y&Ue1Nt3CY7Qs)X zy;c8$2R-=*JScb)Z{o>|zd*c7QR-y7TRoH>3?%cB_j%sW=Wu=P=FIe!X+aQXTB~lG zue0Slb%}qEp7%|@%&|t7ZO|SY`WX?HLmCj!iv2CpCVsfL^O4j9p;APhF6(-?Y)oU> zFKy%^PB~f-YD-1x<88t~K(?Z!F8+A?P6Sa{7w;OL>ZK0pN2~i8+1Ov};QeikLUHK^ zs1-IRhzavS5f75wF6!cl*XH~3S`op>gl*Tw)1bQEI&f%4fFYX_hKm-cA{iRU()0zO zsnAqZq(EI#p{*iYg<$-M+*=m*?6%t+`{Jj%*k>%Y6=gUa%ELvOW?KqG2q~(jXqv<= zqgVMLthNE3D0?WXQkn4j-^$hra{=SEaWzu&~n`B za-*rQ7!zzO$(f&EGVvX8-(xJi5NkUb@fpoJlny3Su->PP=6#w1$0@sB1y?;EM@e~k zt!&h3-Y&_adn9aTGzOze+tE2u1cng=S`|x%X(371H7ucCU`o}15Y)4fX+b28@!|hg zP~kx-<+%JaK9egxljZhI4E%5=Cz5atWn3&zUmY)SpvRIGC#J wJUo2lzW;f0^5BJjH2CoP*`1j$pM}{?!TWT1?$`HkFH3>88f)&GmCeV00H0Sz^Z)<= literal 0 HcmV?d00001 diff --git a/OsmAnd-telegram/res/drawable-xxhdpi/bg_introduction_image_top.webp b/OsmAnd-telegram/res/drawable-xxhdpi/bg_introduction_image_top.webp new file mode 100644 index 0000000000000000000000000000000000000000..e7785b4dc871bbba3205dfe3062435eeb69577b2 GIT binary patch literal 52888 zcmV)OK(@b9Nk&GH&Hw;cMM6+kP&iD4&Hw-}f5C$gjX-SMNRkA(JX6!Ct^5P-XP>(O zBKki8EX6F|{}cMT`WQc_|Dl-ctvK*m>|VBg5D~T3%0o?F^uC z)BtrlPV!ODUav+aIHO^q|7FXq2`kOCmalx2v5Vy;)+K(P-+eTL(Yh6G`K&&w{j`W` zdGgqJ7F*4J`gGiyJHE=->?6gBXK(!cv%fqK-L&h{L6NbGkz;^Qn zJV%%Jt5GQy>LYfH8J<_8x|Tf}DCX_fBUy+YvHv1iO>Ji8g|_6T%yB9_&uvx*ff(-F z9NX>wb^X&p(I45GV2?nkp*{Nb#n~GdD!_Z>XCM&c@8Zvw_n#l051fhjwW7>zj{j$; z&;3n&KG)x`AC053AwY2fH~`AVh9H1YSY!|u$3`PbgaqISJTkEWf*=S<+=FKT=%zpc z5Cphsqd<%#H*E6<5P0<8vIsiqAR;CJ+ZccGf3vW#{3!p*va{@3c9xxGXW3cwXZ*Bl z;Z2f&&vPRQ0lam9lq$Y25Rz;up48n^&dfLhSm;8%g^96sM9D zOfd{K)66n6?}_;jU^woXd2e%Hy77sbnVXiWnF_m-s#MUio|R--R#M$Q&HO|$wr$sK zv-bM{6iCPZ`*Q&~0627Q+cs@mwXc1xXWO=I+xEKnif3jQ`HO5vwr$(i@m_04p$33} zp6~4YZDWqMZF~9JjJ&93+e~XqwwY|(c(5SbYTM|#Tt5)H?-5aCCvp3t9m#GaNqW?x zB^m)nv6X9o@B92(DVk=T!~@tic)*^?WZXuQA`g5w|3LQ`**20Sr6y+VJ6@L%z#~lt zj%{tns}p++nLvh+I%7ze%B-wwR+@orqq1$=w(lnkw%xdGa;p&pZV*6PqNFUYNmTfaxRq4!%jEKBCd(GDFiEObRzTV--wr$n6CELoi^*J{jW;TsgQ!N0d zaeUY;1{Mp`Q8SI1nVId-wzbCS)pu>%s$JW*6?3kwOGB`jnU@R8isis^W4W?iS%$1H zX6C&o4|VlcOF&{HNs%->jXPet>*=MhFG-SB+qP}X-6Kk=we>z|Gcz+YLkiaC&cx2u z&c*&@W?am?*4_hpYqgdL7ukPfrJ#2|l5MNDZQE8#IoCesg3TO&Egt3*i4%_#ysaMT z$jp3HlK5wuq&iYDvqF64XtiXhaT_Vx6X@LY0^gD( zIg)JKmZ}BF0t3VU|FZFfF@_axM6TwZS!0Yj^HoD)*fxUXfZj|04d+L6Y};0CRekJR zYch8z6r}ESHPlerEWBN^acTMN=%~W(KVlRZQEAeNGt8ENB>mCl{Yg}$Ps1C z%*@Qppki!hDh63)$@Zvw&b@CxHN^WxNV>J{c&ob__U9kXI%9BbE4J;_Uz6{9-+a%@ z2NrExK_V+uL_FRYgqH&Ii%HuiMUo`_0;+1@9ub+5mC($*8@j_BVGc4!;F%-PikW$q z%-q~nO+`@=84>PoW~wS8!!vb*Oiz+ztF~?1mbsTwYwKgt=6xW9p%XkQI4PsdVUU@b z&slq(Ip^rT)#4r`Npd9Fwk=Ur^Q>O$oQuI&@olt-?!fL$Fvei*t_(K~GHDwF9g(ot z|F-|RUk(srR_FlZ^nq&0d zTdk#}F59+MTaug!YwvUJGxJDhtcVy3pg+}v6=wFHc{0>PMPO$5Rm(3iQ-I6uy?f8z zYlafGjU0CSKSzIJAUU5pe~v|*OaRHb|L6Xn`+x5L`Hwhl)RoQPx)OlGjs)9iM!%3E za5J`%04V5aATG=ega)MGLXI|4XXelW7jkrAmr%$N!!DtaL)NfMcF3??s5_9ti?*K5M8Ytnwy~8kbltrx z8b(Ea&yvDuIWghN*Q%^xG@Y3MXp&;I|B%fDKzs0I$x(fNcC45ANdN~3KvT$X@w(d# zVbdxgIW1A-WJ7AOHj8#c$YmLNXR(#k2nCSjIFCw4y^+)dVdFhKxu@maNl9@R6i+H& z5trO7UWdeyW~XxEiqeI!^x6$B+0%djVcUe>9EttQJaD8iGD zdWCn9TxDZ7q`Z}ugb6l)5u&QHmTQOobjm z$f3hkgoFZ>LvIu*oHYz#3htcZQU#FkUkVg(!gJ;kz4iMx9U(Pa$N1H4O{@F3nX<5>=FZj#VMOD_Ja=&0M}Q zaCQl($tn;96k`(K>xfHU+!8>6#H2`md)koZeM8a&Bk*~*Ba}h7N8X7N4on3!G{n0ZHZ0#q-% zlG_-7IpoY@FLRP)6^j5Q#}n!c_t1lbINn5ZiEcn+Nef=HOx!7HlB>yX)e*sWQgO{b zPEC%KX$hHGMDRh7L}meGC~wyU%LXl5H?HTYWP*^d7^UKi$x47#G+J`qJ(ITQbffVIEY1BUT7phv^2pM zUxX*L>x3G+famh(im@YQStQIK3t1%SE;@@2x{DtAi<};nV+@t3q8b+koI-+{=3|sl^MsP70x0XQM$%km4gI0Fbkz6HwOHvPCTNQ+ zV(h-DkJd;_Ej82BHgJy(-Lnmaacikr4K!dsZ>@f}bAH4-{pja^?~eW(c|7sX z=1o>OV1iK$cmM|~xz>EI-zmf|^Ol@yC~(hYhDFwhM}0J&z106Tr;!`o_%ZMTIWb=!6Ksp+A-<|G&6;UgSq$q)tm` zWg)ORt&lYaqW-4->UD-84`SK|7OiC7O6IJjY?>js*l)sZU)u784WDWBBeS8a#>`=+ zQUVRYoR}Q`V|hxSH(G9$B`fJ9^txt#24oFj_szzuw1*)vYL>-qXT|oG?O?3=hUj3= z|JM4*s*h~=SllE-L9JLkWhww|;KP3`PXX!*(uJZ|im$bF685rXF<5N9qyFmkp%s;y zVcCxEx0|K5S2DxUy&N>O?jtw6W33MjOwj_$m_5u@N`)dv|5%Y$7go})RdpHFIrq|| z&TMHK2yEn+1-Ehae~eKU)mUnK4{T2>c2H_2U^Fl=Y4!Th_1hcP&qt)91&k{zH);xS z?DypvOO}nNBL=B|L?CdQnXrc%T8!>S7C`gOt^bO_YF2k}`#NA>RjU9-37!6N^?KEn z+pF6BMQ@;{EL}YLk7ZdPbtSn1SNCUVu-^SM@Z1l?lYV33b=@Eo}XNx(k3=G{XUhI=aJ6 zwl-ii(d;)D?$5Y(y&*9LcjF-;q~}p=?;Y#Uq9++;^Bms^ zPVG#StqT}kbQ^K`dfvs`b6)Y!^}PUQN;qldTG4B+w&ilU_Aem|po6t1odv)gHOt|S za-?HbtOOWs^c(lr{j=q*b~$j~FW&)SP{go8PczlqRL69(0C?{edX86WmP0$z5l1VV z2N-?y^`Fo9Y42O?au`UM*ucu3cf_@l#CieE7hCV5N~Pj{`#9nlV^#v}5A<~JzI)}6 z0zt^(f~@#OO*l5ld5?Y{WBrA`FJZ>!4()Jypu117pLzDd*GE7?QgE3rg2|kIY`G`& z_By=ljf}5K~Je~az{Unwu7GQ|wcCpmXAb@=a z$hF7kPIrj}Ba4wKq5AqNcI$E>TiA|6kWxb* zem%v<=;V{lf!CRDId36v67Qll03ZN?0f0aN2|zHA;2;zLN07-{LDUjJjASWVO$4xP zEk*S(?yT>;IDhmz?mzOW^CzCW{phgIZy(0CynX-vERb-qz-zCWBYqH8-7deGcGEO_ z)A|AORrHUcze;=vcq9M-0s!cb5kdq2v_B4j2LMFcGH3>gQk=-dKB%@4CnXWnHq<#? zt1O07v|!04Rtdxyd&QIb>d!I%&E5|a-!_=D?uRFm&~U@>T6^j#Z~$>7;RvxO(0018Y0tS#D8v)P&11KpTN?M5-?MlHI9v_t?GVGq*)94p! zq=Qi6P-!fM)x!G0(ACWBfJ@j<}rVg@8tNi z9CGd-OkmK_5MTiWu*`}_W!krU9>nZpN0dm=1vr=zX|eYHDC&DMv#21XhMN(AC(tq?onPce`Ide+YkMgH<>LVSpLP#;Z$QVoWxk@V_OBl7 z>~A{lFGHxlqB@|I(S*!MAXu#8Hu*F(y@N0m8+CIOb8EMwS%}NVx%8^q`lgGn)kM2Q zDhU9Z8ynp;DZEilfmTOnm8XgtMf-b?{>zvAo!t+_|NnHm_JjR#2m-eWEjuvx1R6k4 z^|bSZ7pVck-13f+Pi6g90kM-rGe`mely?FMZVv)985!;#q$kmXT=C}UKrFPH`emg^ zQtnsDbF~8$@X0`Jp|ZH9SEzuljjn@`a2m?XnusesP-*j{#PIx{^Sj+*3q*FshqrgD zc173lIpUonp!@)Iqgg$wn)0F9@V|KWpD6z!4tTdf=#}-$IS?Fr-t%OQ%DLptDcCXM z6O`uF-|(}nPw5%-7{{oE(4dq6U)!k&WR5IMc8))s#|L7C2a{;FSvUahE+^Y{`+;o6 z6CiJ5HQNl$`OTrOSC9pr7Jl(4qCIR-57$T;dFDFG)=$gjH;CqP=a&K zafY_*ven#6V57`w>R6`pu*>Krxc@-@{^V!n4)0cZn!iIk97WT7xas+5d+2+Tbd|!K zx}6{E`?4+(;DFjt8p*~ZccCM4^y{IU{bSxb_Wm>UK3L-*w%yK3n%14r{(21fHt7Y~ zcDv@BAHqcI!h_PHSah7>sH~9^26m<}0;yM=P>H+}u>!IqJp_gvrI5x^A=#>ofDl#a zW(&UKD3hgGXbyN!;}HgfhHrLF-!5L#{YUZx;8v;Bl@6N8bS6kO+$^o}ubL++WGI(9R77s12GnAh_*MQ%IoqVVz zqD_~hUte`r7K}m73g&hZ%;l(rB-E;9BLKFS(NshZd2mg1Rtf=98QwyKNt7hk$lMV` z0MxZj(~1s413+k62b0Mr=>^!9as~12nTW~#vh*X&uO#m>vu9ta9g_1k9bLgwd)*QF z1W_WKPvRdn-l8WejZi{hvNj}Bh1HCG9Upcsx65xo#x|XNF`s=}+vB8pO;>l@x!G?A zk8fW&@8)`}MrZSFdECnI?2SKAE_~j~rOc~kGaDNo3QW}S@=kDML?CI&AljBj5>U{s zqbrgkvh6?-fip!h>$bJ01bVnU$w0VzdYlAftn9_r$r7DCP9uq#sxQ z*1S9I7C%)$>t8zDm!np7iWm{frF|9e+caN24W|GE%2i2s&s6w6s(GDTw{C7r$7RR) zc#9|h_PK8=3tp2b(8+9+WRJXFcz-Llcke${zuy|w<(vRz((vzCE;~i&;=p8QCp@yyw-u4lP zf>0hO5`20CAJk~BA%h7LnVec@n(m$^G&-HMa z$?CGn+4D(S<%2)`<5!O!r(J#e+S7ptcU(PWVCV%wuj)rp4#tH^p5jqRiU=c(<*a~s z(7~=59JF{NqpHPn0Vcqx6`Hb$_huv)JYrIoKm#c+G7_SK;UJ747EIRLJ^qr1plXEm zS=#=C+Fz62)y6hE;whw%?^F#&&!ffoj7=}Dzl--6_>)F7XvpYAe=^?P(CM^pMr)6| zD!aGNm7B+v_4dm5U!L;p&#(UI|Lx9dyv$U##w40&lCuYmHeFxR4&VRe@A|`g=j=aW zbirubZ#`-~+cHFj;UFF5jJD`QnRghX-7G24LJrNYTf-b-a*!-Z6Hu}h2{m?mqkl*1 zY$LeeRn%@Avc{9`fX$ zs(T;yd)w8^mEXlRUOvB99JAK>-0dxll&|N-9Y6Z*{Kj|OJMhw1OJCm|#^aqI=T)Tx zc`ymH!F2QZ;`*66qBc@6QelO=1>+#AYT2qFR1QHPu$l?k@*1{TeonpQU3Q^eosLB! z1xVllB22*(j0^-CLG);FJ2H?mH!wn)t71Fe#^KK1q_#NMyB&Z2t-pp1HYoU?!{2y7 z^D*L0Evm3C0SGbSY>)Md?Qsep;qeFki$8{MJ&6DSwP@WD7$6R5vXuZrs>$L}2?=1f z=^!?r%W;+%suD{nZaIck4C8{blb&^U7x*p@P13FiP%jvQ!*$NzeEH3;(eRz@zo)kE z#iP5$zQ_e?=kC!6nHG~Znffj!2TEbzkkxdy21(sfC+?vff5HH2Wo&D=roQN;)tvUs4A=p z$?(2*=e{fxw-1Q>K)TNG4(nP6AOe8(-Z3%_#KDFrG)l1l)$Yspy2O{t*Sh?2ANkH* zDdtGpL`!L;s?o~sKJvuEp_iAp_r>SeNhfMvetvOUZ*CthGyA3T=|oU+I7GCK()bfEGB|E9-z^=a5AgAxVagoZ>bh zX~2*~#TZOQ+6acVH+Zu~%U+H!#4ckIa%js?^Evr@!l{(lnmcwS1qHy?$dvD6$RL*mCD^W`)j0mi~f zsh)DmqK}OLDyjJ=z3`y(p5gu*_>2FVU%&|sa=c`PXn{+OV%-2(BDNR=U?C?f0E*2? zGOEFgE(FP519@;2>#z_uO|)vZC7z=L0lbMZg_4n&XgvBT9Dy?rZPfIMUKBU+nd#p#g!)aeA_wxIl}ySNYAxLvs`J zoa9{~x`qXe*pCo+ryW1&{6B(kelvc4fh&*!_?Q_6;DE9!#*57Gh64d0?=y!a6yGYSwmN4$9$xH-wx1diL-zzHPLb@0W zOlhY#dvD@elNHcl*REEzLu?Yw`3*(aNCP%ZpCqfVAL^xs1fluWxMqLtbUgZ`XJC1K zkRr5XG+)H#!JM#Su#Yid^C#7WJ`SgaYUug=^(gyx$%!l`J^MVdvU{wP`MTWn5$z=X znEX}qqn;X$NJb*FMIvdqQe8`eZ83VI`L2clAh8ITCF2Ct;3wYM{C4dYON zqa!Oa%lj^~!^ZB>_X95EFsJP}NL0F^S$=RPH`9K~2X0>~wxqEqMBR|w@a~OWlwVN~ zb7Z`=MrMdj<3VxG=>$o{aW|O?h`rfLk(Y`m`Qldvdbm_3|w;6OiS8#+Qb^) zV&WP)-)VlrLuI$zpx_e8Zuo4%EI7MtZFT2;;}v^{bLNl%iQ;>2GGPYE|8*V5MY5@8 zNF^>A?nYr(((%WOC82^EyoUZ={BJJ?ARy3+NQ14-h(+C{9)RK`IMXg?0Xpo%cI)?b zVY_CpqO#+`X8HQQ8(z_L-c&v8-0AQr%({h?3lHvk6sy59%7IfY4(Qk(-R%h$*gt%( z%1!Lw1B6L)vQRsiP|2gmtr(7me5_Es!xK4N_k3F6ki*Eab1IzN+3ZOKo|Bl~uuzd& z8l|bfMXRYzI7T%;d?pXmOB$Q%2YISnJ@j@{HAqP;zoaq0)bC2Rgc!ofvN;X^2eKqT zUI0Vv6!lIp+L^n6Kj%=J5l-RzgWYnHd zigsV!d+y|@*|}G@&L5(QsJU08pSXNj6tWF8vm9u8-EL$TqNB>KB%;sC%QZ%!k?S_* zBO_Vmm1em&OInCPopm_B$&HZSlQJ<2OZ1V(JcJ{$JK`bPo)d@D*Ph74L6(g3jm0P;MoE9OI(Q^(V8DjZz)!Shkw~mmQxpm{X5}^@ zyBk&qti5YV0F2ZPK`4N?PLIt4of;N4XJ3nLBPF5)$?3r-ckW2nv=1!FLKv*=M|mcR z^6U~Rn^$f>?s4l2JRb@+2XEJnbX7wFmZss~A|@`?q_M~*kxycv^%|EL2kISy%lorV zYd3e;EQy#;aJhY$xtlykJMJBPx(TFl2ynd(lM)aYDcVg%ONE$@OD)}Qw<1Ca8j`s$ z5HRIz0*eeGyT5a#M_xy#!A&VdI0PLf2y{|aCI~W%9&ZApp$O4KQ%yx0eicNrAn;(n zaKCpbVhRkR#cGJvd6;TI2im35Z3zM#sE|R*bV6$n%{N@O#eDR6ToheiavnT2MqUwv zQORxQ;pw_@4c>b4G`cG@_fT%kC+_RVyo+&t{ldci9*aAkg{$JK+$PNylUw87;=*`O zo=KT-a!y#i8nzrsO!W$l1k@>CMZqfcsYtJVrnfmAt++d!X+nEN=U2?cdq@T{bMC$nn>6l?5g{=(OF+fibC3uI27sVU zU`(;rX;g5Uq>;=UKlREbP0sN-rAi__&C6fwP}rf1#^XV@@0WI!U}$oahnJKQi?g!d#eowbdh#9CaU2e)u=H;oC(|IZMvfJaa+2XLoNbl|TdYv6Ct5BC*`k+ob3*9Rpa(iH1;h6ur5?Whz|QXL=G5izsNsfiMg&BNmBR zsAloxH`Un`o_0u;OM!%NtB%dR=P?|E@^$Wj2RKyPu6*78D*NWsAn4eqQiT`={Lr6e zEdqavM%p3S23x#Lkm|-c$Q&fW2_Oq8wCNm!5P4YYv->2=`76KvhM#v$h~y~iDE0zu zPfj;h-c+e?z8js}7NB5+-2>+8`wxHm@$OMP`pUsN-|7tmH8`3lQnld>F-<;!+{+O$ zQXeqZ=4nc-5-vG}WK`EM8hN-|ZRCvmkfjDd3z2o~KBvTI7 zB*i2)^GJG0j+d{Vxm8o}@n%F8l4CA|nq^ZAI>}8p=ipd_b9K7S*+49OLa>KMiOV$% z!7V7u`k_BIiZ}==73Hk9?+zxGSmV~db-AY_lD`jLnfGZ_ZeVrOMu(Y@XKnxkU>p{l zcD!i`u@$X-+3GPzi8}J-WB%I9C92rQ$T_Gw9?-35?kA{5(l+tP*uEjqlBzV?HCEX3 zQop|1g11nQRl`C(WM}p7$7(V1Vx<6 zcs-rnr|J>7$j4@ASLIgCD7PqwPOM93ok${%MAJ7%J0?dZsB`R`T7_QO?`QDwdF^X` z_=>v=Y`;b8U=5)4B;O2YSOF^;;V|niYgpz8Qj~NEyKdRz4haGsMlsm~jSMoqJ&Y3& zOzw8Lv9<2lCT);2Ng)@#UP;+GyZdwqsTwd=uQiCvSzswk*iLw`@4qFWE;@y(!^cvUBTmHvPbQ5_Fe8uNA z)K9X$hUyk|wvHGvqCpP=`y*3v+UqoOckmV=ozsz{=(yH;Ix1epp6@#;T6T1w7*I#s znwy!O9p&6_Z<<%oVIsJIT8BRA?bj(?)E?u}ga`ZGQP8|=ee_fV$jjNl@Oyyt?AfljZ7y0r>`%U6D@d1qNL<*yDM5LsH922b;R;m>ebfzDJ@A2^ z#iQ&uJr9VlrueLWL5M!lEZ zX}=#`o3}}XHX%CGr9g;+o2|SK*DjV*nYXj2<&pURjqym-^$G0Z*@X_{p?*q5MPq>OaRL1@88a6V2w#NP|~_c6K|5jd|tctgwLZ zEnXLw9N1YS>X-)rtDSg%04~WpKUcVHozifYSQHm*c3@8#u&%eStv^XL0fWSbmDy?T z)AqZiB6$b=9>pE`w29+*^1NPL9mB)>jLyMY@p8~C&leK$k+BBIQPESv5*T@hhLEfz zOl-7f9&BVN3l$hEX|u^Q2|sCsq!np9la>$(#7;_wnuC||c2!nS%IC8iUU~bqdq9%6 z)JRB-Sy?P(^_u5OP$zdy!`^ zH4rOmv(|ksKhDGZyEN`mjj*?YHV;uD4h*Z-WHFS>0SH4iKF9dfXqW&;zUltyBll}u zZTRx0D97dVy0b92AJJLyd-#OHM4akD*dg&429o4rC{Hxhoph|BuSncCgcBo9V#ir! z=rEz_!6jnoIZc#p8>BP)Dxjldm)>HOX#?ACZ;P;%jx>y4d|q6SpB1Zg!cWuYSSCDK z*<S@wK5aH)0s9U`3P zZixQ2G+t`_TAdnGL1V7J7WIcDBtVZWTa@Mt!u+1olkOb;(b%UX7dB51Z-|?h=SbJc zCbZS}m|(Wt#dD4bAz}=PAS_aPhl+I9T7)I9bYMzO8)fMYGd;|d8nX#cE2xXr=roL2 zS0#&k1Sz%-1&8|ps2)7aRc6nk>G8-K+{@a@32s$+#OZ^w%Y@H&t{)rSce<92Efy+o zAg;VZ5nI|fg?*#7MPfc5rzhSJqBt8lK{ym?hd9KAKNbTC%>%z@&L2i9a}{&AId;d6 z*eZ*h-??3pjDu}B02QZp_MND@GI@=i2OlPBUiH>?wb>_kop?DMY7FUGu zl{lbPxFBSv#MjIpk(oFuPTbeC-k{36#7oh5q(QNJ=%*s zq*RF^uj|Wt3S4)Y?JK0F7vwqPN`r<^dyZ}@9XL*Fbk7U~MUN-bMMD|Et;P`Of%lY3gxWec0{0~AnqJOEpcuDVXz!j*JjC7KMk0YfI6ary zcTb1%jw_Yaa5_NSOA{}^96^P=fhquY$J2k6mg|Z26)5WNztn!qU03_8-#M?a*CS_kjzwGNf2YQ!DZywZX%U98 z5}|R$1(ZU-@%qs=CN#SEnhX&Rl$~QWdOrdx@Jp@dXT8#Hw0IYJIo`{;O4SHF>V5En zgQ0K!f)&tVluk}a8>4tX9J-++P?G6pTe*1Te0mLR@%Cs7rANyL!o(?h<* zRYC;`NF-`h2GV<>#(Yxr-SH)F8jCmYZ`qx!uX^dX`v?vedj8@+f4=j^`#(IOB4K!J zI38UczHs}^OW#-wC0~TMwcOR5?V7q}wO(6c7^}%vOdW7br`m?(fwQ8_C0QOvyB_vOx7T8sRi7iaSIc*61Nai4de%wTil)&<_0kuk{^u8{Nu!rmZUX zedO2v*{3t_^ZUMj=Wy+QI~*P@;l{pRz1_ZDEp@ZCEuG#1woEC54c!NFwB;pKurQAe zwVjb-y?9*v67kJBm??o+uSL}32r(Gl7c3G&Q4krPXS$KzFc@f&c8*6iR^-*Gaz6fI z`s}fuv+kbQ=dew=-;_LAc+ESHP)rCA4jA*AHWsx0Vk7}-cyn=1z^vh1x3U2YKGsT! z}DZwGztSeEX3yY5X(@am9$Jh}$I~};XA#+Aw zKz#6lJiSZ4O}%bGy9^XrhcSN6^{B^s(){qu(u6s$hgJY*wJo|uz3_&MtH(1Rl`}j7 za1>`82`7WIVuAyfW)f5ANZek1WulK*tOQ@2PSCHkA*7i&FAa>Fq%F-8 zusQYNsJmD^An>VJe<@+!5}(nSu>t$fUYK0;Z~jERc(T&~a&5tS98>l_5_OodcI^wV z4G_Y&dXM)J9lW~Z{TuK3s+%CVO`qwd7D7;5Pe)y{pR%UY&K(qptR;~4LrgG)vFZ?H z7VKrs(~Wcih2kZtQM`(kNCW|CK)b$dXt3+^uXy%o-jdq;vg@e5lMkPng(^L_Ej@m! z9253VC5GTdaM2R?M9z^VVZN3-OESx_84j3@3%1l5*t}M3vAbx(EoqjkoZ*TI~Wq&oyfj-r6(!QXBSI-QFZ0} zJlxhK+`-)F3Ky%=H(_Gpy0dbil@F*u+tQ2@uLk`z6V@=Wj+1+#S=Kt^$Lfc69_{kc zj`lz?d=Nyc%i110aq$Ae$_x^W$xP4Pc;({BVpyJ6^WM~;)mwAz1EXz~d7C|4nB6`M zaBT<+-RDMEvO2|<#k~vMyn}~!?i=@`33@gTM^HJFgW^)SXhemes@2?JIN0z4yiIv>dOJ`r{!%9LvV=rk^DU;Rry=vb?hmF-^BepBg>> zpeT@C&AhHj=}y%SVs?jP`Q$`m{k=Hfl;?gaKV8_|@BdAmV_$=llJ#DBBWCG|xe?;MKkp4o)TIika)%9$~7Mp|NuYE~UE0%j;G+ z(lcO?TMpqBb#~O+RIT^4r?mF1w7i_gXe%DxXX1F{_U!$0UUc>?=(FeC?Q~s*xZu1s zpa42fA;ked)DtxX^~uQ=0+d{~?yi!~M;BFeDhS4#Iq<6Vc%?8)d??;^pLG5232$^Q z)p2f*3Vk^^k(OY+fKZ@vxAb1`=McLst;gt^<=Jaj$BrsH)a$!?XY{df)AMftV3&AfKNkG(~9IX#Kb96wLn;6D2_Z|+ZDJ?Hzg zcjh|rT7R&`7Z0MVuXuulfXPh2I~oy@8n0HR0p|FfZgS*Z59S_<`K<1!c3`;!6aU;3 ziSVrQg+`oxjrjb1rg((wk@epC$*@){3#)Y|#RkAZA?w!piG*&S#mM=22JhQDR~Sso z2CrHD8=C8$jy|-X!fXFhGW@NxO-GMz*&w&}Ubr2sx-PQPo%=&)(59%$OT-k%xGOqF zbs)zWbM!ivyozf(7&mi`HV}12<?I0*3K3qRG@>k1!3Bi z=YjMh8HKv6NUu)bT;Fol_xYuK96%qSz1URJ8cQ+G%3hrc$Wn!+oEcszIB#!MHy8a3 z;}4&CU|H$p74x_y-|zlN=Sw`_^7MPp{px!@9k;i1qo3C3s_23M1!aITspka!WfP(* z@{#%5f`eO2a9;FC#kEjU(mNklqyq9{{_xdpJPQ2O_?EZVIjwVzRdl&gQKV|gz;`Q!ubd`R8Xcav*QYc^$WHcNVe93go!zKbLO^BE=)C$=; z%^luwn}ZNc`Ng_GSOsOJ{P_t6qM7~Rzk>(Sk{-KI`=dt7GU4B}n! z9HOidqOln=)kBlXqw9Vz85i%!aVt7=a3U6ysm)5fdlvLd)8cu@fG^2Tw!H)uCqWcIp#k*3}xI%bV-M(Fpn9n%(7Op_`I+Gn6q-N8hT$ZG#>dylYJ5E z>F6(f@NnY?UH8Ld?lj65i43%MNMI5Z8A-D6WB?Mv;zm0P4Bo*oRbvO7F18o96ScLy z;ccs40J@j!@U)qAyd{m|#l$@+sd0G6Wp7{aE-%po$dI(d@`RXSB04Ck)3-pl^!eug z?rCgPV2^1mEue>$l{*55CzbIygq6EenI=RQygZ3>gpq>iBnbFmkA{fq^Y;v+!`mrJ z0h>J&5z-o*Za9X{*qt{kQooCVOCPNLnBxcGG|xVnb;nY_C7Tg6EJ}%xRnlg)wG&_` zvYEazzl^A&?uuJ9;zl*Wv=~v64FijD$Q;Eo+QUI387cybKx0SItBN&K%M{mJSo(CB zM+hwT>SOhbi~X1vmf!dNAGN;UdvSb4<1RYYtYTL zVhu~NqAAUdn+B@n$dtjR>TRXiI2t2$-xs(-qO$PrZ5~kqC2VoFz>^ zobNHb@p?tzSD9bu;%j~Xau=iL74_TCyyqu(-J)1jZR&2dPm+2;ZdFxwWxLUDn$G1R zb5{aRuX*nkg~jSRd_%J6a;H$2zQuc1yWsH2rb6gs^JI!q%N@(d$bxovA1(zhS|;-{~Fe0TKn>fTT6Fb>i(g4C$A?H9leVYlE>T0IH5aoQ+l;oGzD0& zw8wQpY|5gn=|W*$`k`+h$NWF}S9^2)k?8UE z`k(rjy!_-p{{G)I%71hcUiI^1UE`>wq~UG#pdE^`MvpVOLsk)jAytQfe8Ock+eMLC zaARMH2b-gAv;iNumV^m<)a-rS1XXiBPKlG7%^I&y&4M$aUTjiSA z@M@`j)*6}zNPCQjT@}z9>7uR%MT0lrp^!XGI%2nWqxJ<~4hnNK!@>tZ1H`JS0P^vy zh}X3z_iFd&bPlS+yW#y*^agTV_?ss?x*%y?YaI2gIUlp^^%VPQYSw(5$3xWPTFL4@ z!Ia$z_udjYeL?zKZfZFd?r|b%pM31|;qBYBHLVm+$iQY}GKYrtoN=YBWa*j`J zhRz4WDm_P!s_S#d=V(9%U6NDEj-V*n@9vi^1l<^QnHo);e6FgF53lK6k-YoiV_SaP zj%z;0xSoE?haYo*{FslxANtY#FP?vLb7LokJiNIDCY`eG+= z?poaxf<`RoRDvNQq~;K$F)TXN{Fo79$u4+$^nmPfxs4CUe(kR7`|)P?WEC}OrI|ES zAaP~~H=DcJ_M}+VRN{kt=-KRjtzPrAbk<`Rm~7R6%LM@PuD)f{js`L)Y8eiq%~6C? zfcS@O#vx!k`r9WODC@O-QdiT`q}28il@C92xgzqT^Gg7hG4`-u#@^HT{>AlL2d9qf z5Y(o6G4YM^&;RQiZt*YwWSqFpP&0I#Rs@Y6lR@o8 zOp0c!)+b)WsJkP(*wrHTk>U_;7K6er2G3&Nj1nwivQToG3fPb?>J6p%oY|_h`oY)u zx3>N79FKcSzF>&Pa*Gs9Q*D{sxa(mnY4U|NQrU~4K_mm$7rIMNDymooR$~ucL$g9Q z2?<*<40%|?1dvHADDBGmRu7kmJ$*$!Xkh2iWf1xUA4Y)(jBAe-X}>_P<74F)5%wYv63xNbPODNov)PglQ-LjZfnuQC zP3Zm%)$GEip(vEMX&KU5A*#n?LOlO`CG)#;)XO8uJZhHijY1S7nZ-RI4P2x`(Vgg2LiWx^K_+XEhEwi*r( zZzctZRmstOUt9{l=J2oyP%fAN&P)Fcw|g8R;Q)PYyR9nf4*UKq@tPdx*V}7cHwp*l zYZ&X`LQ5wH&p7%9H$PIH5x=hNon16wtEW9crL*EQYVM5aE~^9*RdO<&=B{brYLtud zRI_5M6A{OLO&oe}Iy{7U+2+?L!O+r#-#h^Gju!>MBv5e_Z&8c60-6AMle*g4T7Y2{k{(=yXb>5~anuLe@z#xoyZ7%$ zB9$X`Yz-OBj;v>2J~tN zPWhg2h}gFJ@% z`m~Opx9g{U+%LWCy7K-{tbVC3wAlFgKKeZbJ9%@a*&LcdJ%VJnL-pu&@n*J0Z|v(K zIUq64G1_em>r{cW^-OAKI~#NkEOVhbT6W_chW ztkZ5?UDa&eDR!d`qJ)huONZ162Xr#j%;$mg)I`S(4Y5rQVUW^3Ay7f~vBk{pvb8z9 zpEzoLz!uPu;ttOrdBcIqOma9hSy~7VIiT?D&@h7Za$_na1(Fmr=>fQFy8#C7x z?Zn+eSu(>?#-hrmRrgjj?q+!rGu_yA&z9tq@4Rvd_8GAg5{8aM&nt zvJERf(MlUaL@{W-vH_QnJ#_+v8PJyaYnXY2-4Uk(Te@yv5$GlA-k*=lAAk7Eyu1A! z`#5jp_2S3;vaj}+Ka^w6zTed!YrZ^7u3CES;UwP&+`TvVR{h}}A=IaY(d;d&?CvTh zB7&*5o^D+&Eo;NE_6L}=`SmYYeay!TjE^+v=5y;$6eA>>4G1$%pk<3uoFa-E*Z>!E zBLx_|C}z5iK^H4|(z9L4%h)x3I|sLlF``MbsSf@=ExX<>q#;d=phGwe@R%-Fmn*P< z?c}INa%Ojl+Xbsyzn@&-nFqIV{{6R9ufQt zU(UbzdiU3J`CK<&lV|Bn& z>XaVsyV*u7r&|sRi>glQpB?R7jo)FK{CG~cVb+LC`azG4Lp}=K+$2o$nEKuaM+xOgd0YynK03QC9)Fj-_0$XPmT}h25G0#Iq_ZL5VXU>SK0uEH#Vhm&xV5)$8&2AHF|c|Mq?F*T3<*|H8lVvwu6k=MVp=etH|m`OW`_e(dx& z-gv{EFTTuQ^+k0bb@?avuY9*`OtUp_i7J~CNQ9K_<^dp`h9|Ly(m z{pAJXgum0?d&cbj0ig! z^f^K&X4aNPYjT)Qgz^D35Vg|FW3U67rn`+8v_TN!CIEpDgn>3~Oh7^SipUUy6o{W` z>>)d91`;Qp`FLV(PeaHS(Gx{(*91d{^s-4oumh()s272Qm@occ`Qsx;TlIjgkCw&A z<9_TRa%IpF=MJ(SBzMb_b~INv@y4p8dQetFE}#$7Ktm4M7v%od^w7f-RX79M1sh;0 zR-e}YB|XGw`K$*&WcTGxjp}3POt;GzF()!j$K5ZT*`M{Hb5f#Eq=FVR2kqA~*Kq_@ zT?*f>aE4T~QXI%UMdp=kPY0@AfAJJK`)sUbv1%EAEp<5_-WT7$Yn``q z9{$WfLIZ2{zWngYpM5)g-{1OuKK=36f7+k_{U87TUcdU?^K)PP27hWFd%V!bh&lwW zJHFgAD^60Jnxxy)G=J7@S$xZ3mBP)L2w<&r_2I+gka}9({WAd`ATWqXA?S&Z3E;yw z2?(&%>9#-)lG2yMHNbY+^pFmmwo?hFtVLV`%zK2vN3S$0f2ZzyCma+*fD+X2ub+L~ zFXB7VnG4h^>gHPEepS^|Cf;Y>&DPQ->{{5O7V>MYph((rd7=fTCQ9M;&!z z7sJfNqw%n;m1b(Ulhr@|FLg;5w;$4Ur!RZncPEB&jtgPTq}xQ4k-P#TyP-s{B$0}R z6I3`1yA8cPp-UO}5o^_SnVmGUxc3p=GqAPG+VB}?&J&6;+Y2rz_%zBXU-Y~pKD-i# zv%PIje5KDk-;VEv+q(V<-}v9=;qlcU{R@8Ul@DERzy8*@e{o))ZvRIRCA;@2^ho@A=6u zuk(2$;x1anfmXady72Bck1P3=E2$5}y|)@cv+Uh3tOwF{jNl^9iS}AO8S4(N)m-&n z2dZYF(>8|1GY_-n?>>Bxtl57<+D;5f$drs=CY%q=xF@C5>c}$TWd$0DZExCc%)-Lq z1c|~F*8q1xWCD+xPt@hQL!T(x-rdO%fu`}1>+Z1XlEmyVvrU$JwC3g8FQxtKtloyF zx}M2(=J_u9vVQ7c_M7}V-a8+g-;9sW-@g9+UmX7C^ZxI^PbwIht>0d^zj1%Rd?tZy zDqW|%l$+hFi*wr6X0KtyDSJ==R+UP?Xcd2g^$S4&5{(c80dR~-p5rGE(on_ELZbXR zE5K$b-HZgWB1L-}&GU{~L0AAkaqiIV0RjN{CH*QM-(FpR>TWz>zP^n09fhn%bJT~Q z`QtyhzxWIn2847P>`*H+@r+K2s7HIB-iA|TW(;khXRj+wu4eL`*tJ5GaBKa5-rcTv6T z^OOJYrF?sN;V;TTFkf(@(=>GVkfDgxX53nDOq9{XDzA3HU`r}MLNvHr?%(?KdJ@sX)nCphKjv3n9?xHS{yCcyP+d)Lnj7iPTV_va zOUEY=9>*@4>!}wm=;YFVYGX&%F%vv{v0Gcp%ZV-XQJ+oiGj4K|S_CSg(SwJMG)P?P z=#;{S_-Ht_GZDigWKIf&6hN>PDOSm#(%K|vN1|)qfOyPqm$x=oM zOn{mPR~~=Kfo!)#+>?IDy=^iw1bncY&#k?NfAZAug+q@8d`JM}*km zb#+vW<5?f;+&wOP66y!ex`_ILSU;xk;_$C7a z;4BWPGvg=;z+EvmpbIf;cJq{BcLat651Ys3f=~kl7CA^F07h2}a{QK;ye>U=9N9Nj zZGhfU?<8=)LT~+(<6c6mo3;gls+rXYu73H>cfLACx5287IgVY(abe0GR=heNvKdI# zd@%sWCmx@-mo;9-eb4^8R$MT7+@S%edqRO^R+pV9I`v7+K>>)V7S_c}h@@2tfC;BF zD&&Ph-G*vbY86JctcU!8N*dk!fj)<%aA2i;P@D6(mz9#qOXQQCXPdoAyO-Zq!0zL% z&z%R7Sc9#_p~K(d=+8gnH9{H40dEW?I-&cQg;L?MsbN>-CSW+b%ByIvDxmjJ)jZ5O zshH?RanU{5V*R=PXDI#!b6Hv_Aq5;9Uw}z6?O@I<_5Fy9IIao69akPU0Ww^j;0a~S ze-@nV4EAW9pYB%vz`0`r2@Tx#=a62*| z+ur-iDWh7!?)cbkt6j2;=SwKxyM7FbWFxP!L<+VJuz{t~HpT+*W8;Pf0h~q<7zc&L zCnpOc?EnrbKa%YPiO_zg2V|FO353;b#_gf)7ovb3Y!`%ipzOAQNAxxnDM1dxT8lkz z{ket@d-ALF`&=BlKk+t>^gYLWPCw`X?KX8ekBwG)dybcW&Azv2IdBoP3+bT=* zFgZlXuv-WB>Qsx*6bgif11M#A;KlfbCz@5MiP@l5M6S$*D$taGNCA-~Cai=u^_IeH zct_}zF&S6Z@+bj8V_Nn{7&kz6pr>M^+&xemW|HSOpsaxET z-e40!9=Lvj4Da~t2ZY5)%u}cvrMY&Jc1T8Gy9pbKY-5|~B|7Qk-XojAcNAb6NkR=)NZd>e!{#nN z#w1nBv#6DE9i-*LZ#^jHaB8^KEN45CM%ikYLOV%B*x6Y=YK2e!pN9Nr3J3t)%UXid zJ^-r`pLV#^_&QmgA#2MSOw{>QLS90H>;dPpWHf_F)6XOC8PAf8m5%#7 zn3&}?v}B)+3obpJR(_xIS7_W|{UitU_AM#xq2TiBd>WOLopt$?edv;)Qz$ zFC_9{BnE+YG)fpFMDZ5NHs#5<1VNi3Q*>lrhm(eK1l3xEpw_@<@@}ccPup!vV4G8B zdSRUJYFYzsYP1mdh^%Y8h=0oNpH5(a0$xaLkSAFNP5TQ0eVh#ENPzCLhW<7Lw9;y6 zA*7R1K~8nJ+64_}SX}np%glohdw9cVzMn6==@%U9W~}w~-FJ#fKVA$zKyF}6R#Ik@ z(My}j_Py?yZ~ulDcb@)?-kf=>-j?lstCXRhgcuglwVstAvnVEGP=bmqGm7%?wq+5( zLwa2vNyM@1y4$3XB*qFkBOoJ#OQSQ9#emY9`^G+Cof|K}@7ITKI zdH^m1IHggRGVcADOFb-s3ZMcuL^xEU8n5_a-tYiWJ^?hj+(rU|6bNnxQU|;MwL5i2 z?q#5e5D#Ho-b5M3!wsVL(UVCxiJwDx^lGg_9C4-w=uXNSNEenjoOfz9LTBtSSCCb2aRboNhM2Y;#F3wWfk=C&#(w0GVR5Kkl-Da_1s)(!XnANKT zaTJQ8-s*N1!jMZg2C9TbEH9Ir+5z^_UM4UYHsD1_+u~M+HKc~ZM$8e|dSsQ|k_pgYW+ zvA+!t?J`nV&N^9tVE#je!gU1zX|@J4nCh``_4YESrw>-~kme>zp7mJI_ZlAh-W;D|? zApioU8)VVy?yFvWMLLxg_3jpsKnyPQ>IheQI+vWE7@Xni0 zjq|$aB=+e8n;o>z+nuI<37agD)J|?rRHw4t+i27SuP|G``$2Gb=NFzK~5CVXmV$|ne&HQawmE6`*iQUCI#lriI zi#snp`+wk<&z}E=^`kFClgBZ5q#D-_qqlCy#<64N1efk3&N%VGF> zrY|%-lzK=OpeY5$1Yvk;zFk1Hk#wjSxo5U4y{7?a*Vs?rzUTEP&yTa6EHm$YYhf%t z>hrz}9a*qRx#7Z14Y*qkf#+RIrbT|Wk`T=($E%Eq(^XJHy$2AW7!VMILI4G7yCJJa z4(1IVH_9drc2tk(a9pN1w*j-E?XT-aqxCRq}$ei$6jBl>be~+w0}m z^f%83hwo<(qZu$0y&4B(t}f8aJ?%zL$ss;oSQMH_>WTU}p5|t^Z?Z@s*5vL`$q9is zRTW~vErQT*ZAoy_U>j_~1AX`Y-agIw>8bZ~IN{FY$K67+4j#Q43f)4l)pcs!<6`T! z`u~-OaL7HES$80}R+jU8iE`H?h1ksul5FThj+Rw+b6{8%AV`U3AQ5&Ez0rf-E%*){ zhEW^EQ6N%8Y&*N6#Y!uK_Suvh%W|vAv*o3`7bF*maxsIZ@(@c$9^NC&XDShxrY&RM zy4jkRzv>09{K^0wfRr#Z>}~$M_scDScY9eQm>^bl2x^V5CtRK@$f<{Qlh0_2R~K8G zO<@yuK0z5}lNh0cff^w0IvE=|GB!mRl2;!pkmZ0C7Yi)~>4L}2SX$HyfdtjG8|=r#2i-rOg; zr)DReh3xOy9DePW{*V5fEN}C{<9PkMI(g~6uhwMG?E~eAZ~9`{b8JM|Z1vZQN6id)x(IzW+R!9)n&m=&{)_Ji#O$?h!AOro+q$#Hu`7OKGgcm%8-cJ%Fn}3}^zt4Gfw= z3`X7hXldd-G&(9JqiR2@yE}ZgHQOy7G*dGMcT)&w(e}YcyrGsGVw5g*c`>Z99jCP2 zkJJD*!)hk?fApP|yDtH})1*O-cqLu@OI6ZvCN~1o;H*EmKuKk=nb>aHK$F_O4d+^& z>6eo}nRnQEaIm}0AOCi^!KXh22e()ZW2+jw4_P+Pj@tiZ>~tz*$#QR(hB^*PDqpPI zLkI>YkjwzKbQVKDTZ(?>bG7#Kx&ssGEjLop5|Eed28Dp_HWI=JgDW&84#@)2hcxZf zmp8akVao?U_~HL9`04Rz{+Z|gl7B{n>s$M&M2wy>dOrMPzx!x=W|!H+b3Sw4?aWFH zgCLe=RCcl{ksw_rN$L^4oPA(Bu~Y|*qSwopdD8l@q2gTzbPA^t;2jxYvXNWlk;_d! zy;d6tfC?C}6+|89GDF&RO=CwjqUo0q-}T*eLN7%^<75M7fOAI%^t1k_t5MFZYU@yVVx-L*4v`_6 zcmp1C_y2nPqrDQqJ8*zt@e>DK3~^tM(#EKtwSCWSVcBW6OOs2r$8HagW=%&1X;Yj+ zKkFmR`+hV_Jooh2pV`p!VY#~{A}4YiuGmba8BAiPOuO3aVa*2okReE z00aU6^75;j8Rq0ANgIkT()rwuZ+SDGw;>87j&Q<9JV`K793!dJ^!m(61lhsYN**F&ui4%7qrRCF2yq&inAWmcuv?~G~%O)6_0SqRY5_os<;o;+f z&HOmx2Ql3BGx=lQHmlZ4%Hg{&p}K0rsHeSeLOnML6^PPqc%-N&ZM%~(SbL%O_rJWm z_vWd4^Ay0_x50qAChI5#7H3%rWIS^)tOLV9IGvUG{*h1K z$4ej9ZNiByX=7wCU(~o1cEoe=UV2YEO^qa(ZqbWa8?XUFIuKw%?!RJ0 zh-WP2amswiU8YhsN}44A0Te;aK?E^M)D#mY1T;esv@pssCv}5+bg9X}@H%~#Un^u4 z0>>I(B|_(GmzTe1zxne=&#$+G-^_aTR*$=H`PKjM>apc8+bSRi@T8=?89EX|fe{3wWUk^=^7eFY_9}+p`U7de%=@ z)zajKg_PaewA+DuayISGZZaKYdsIEqAO6Z$=IDd*_?d_IwrbVJHN5ZP z8|E+T-sM>4jKc<4R0YtA*#T|aHc4R!5$FaTFJFH4T8)fL-K>N;xVO_l8l)OQ4dN%< z_Q61_WntP7V^JeWyh|+j9Ka|h3UmYcHm6Z(-1`@)VM+Puz7V^5m-WGE=5=O!&5I;A%yCZJliZROjPE+DZ@ES~m2=H5Br2}8>@w#pFX0mWPg+}%#Y1IXG7_c zTittSJnq0)*V2WL+omuK$}{e0-1_jcR`@V2-?U7hI`ft)a52V$B+ z)g)}Jsk$vyXWRsU$=&_&BpjW2fO- z`9R4dGzGRnD2QnQ00g^zG20jPEmb!_;=G&zI%a3gZQFtYCI-MpftT#TST;6B2;eBR z4CqA!0?j<6hM=X&C0J67ipaD(q9c!Nb&97^j>C_y^;i+qxj)_=X3q1@HX>H%I0j|B zy2l9L&YV3DQXUQL9$~q`T0sY_o6a*nfcn9|`U9Yd@n&cV!gkXZA!x`FnFOL*XtBBT zepRvy`V;r(25JeShCTN}$ZZleJ+IFUqlvFW*RXYyXa3)^Y!4g44saL-A~D*=jRi!x zJ;HfsvvHg5N(AtBq(NO+L|q;%S+ml08aLZp2|zd=1gRDF_#RJ^FbUnJHrM#{?k}<- zdn?+I@yc4eWDm-eWI1C!e!kA5Y847WsS3Iv1Yf(cR>N!d`Mi!k1J!=)(8;W8$l_Hal#jo9WK%o0$7@@hsvOx8 zPGt|LePmmI^H;h5{JHX*JFylxe91oq(YAzAwJL zU-;L2=r4Xjau(GEyeO3>n9rW13&yc0QqrqMSdLcFl+Cb&r&{+03;^GP4FGB}YVG<{ zD-1;C4-Y1%bKc_e|M{}A0Ldg+6Er9`+CehNo;r{3Km7jaW~F^k6B)Lo%eS&zjUU97 zUOjbeO;CvTiIu366Lv5a(D7(5ca@*^#r(-%cs0sbS6r@#Y9;EVNf0MAuIu5e;p@w$ z8Y03@YM6oqR43aiwN;d4hL$__UC(d+!lc6;4r)-`B@+qm4Hce+Bq%lkp)3Nq(TzfE z!lNsSI!qEM2_@w)CL>|N%NPM|4l*_qeIH~22Ouc%NC1GxaOvylOPn5hB4%dG6ENUT zvU6I{;Vd|9yPaui_Vm-F6Na`OT?=}z-ujn+@F%w)-^3B1SaC|&77#Cxlft&1J!1NUkd~#zo69vGd7no+m&wTlMHE(H z&?w8@o_M?OUK^Xb3mruOZ;KA7%ZlkQhhM^NRY?Xw0^_JKbwHqz4xOU}J6vnQ*bCAw z;l{W!DekX|us(#=2R6x&t7}PiDD( z@K67CeE5mX>Wn5p4v}&Cf|LtKU_~L5G;%<2Tee$Cm?+{@bypS2NIks;H8>3`V(X7& z^P<+v{`mFFA3SvLzFw(UJ5?QtlJ?6#A+g5Hpu2Nko^`zR&&3{qrAYv9#{eOlDJmG! z$|B974iW%*f=iZcRU|Bwi*A{)xpZ@QYN&SRV#DQ2Hb>Gn9Q3GmIKP0`8)w{h3qwfI z<^huePWsS)pMU=^?v8S-ok6~sftye2Wu@emtD68D1i^K89TzfwTjSczGg?#aEqE%* z(}emsC~VyN6Febi4n%5hKF%_vlAi3H-UoD$4p zpSo#pIEj5N9}FVp@+E)vqd#1K^7r@OekcG9OW2I+BpI`-MIXDEHEiSo$Ml=g0*Nw; zgU}r_EM8K4+$FcbEICR=lde?oB}#7@*WZOV-K=Xq^1;DG~hiTe7? z<94UmvZYNEVg>#`k9ukpZFp(B^&ml7knjMIh-gQqZ0Kw;Um7sFuzw$?K7(-;G~24X z&3vR{y7#)wlA=N}M5>$3<>@o?*!9w)<#c@N$N%^FA9s)WU=SNrJjL5J@QF!~U9mcf zM5k_W0j|dN_=hUr#_2~$lBaA+G#Iqov)!jj6dQ;c&E&H{sdZ*z9cCQJbu{GaMA zo8TaTl<1-R*w+L725YUc#XxNIPYOBO-~n8S8%n^3wv&3u^v4FC;B)_^fn&YwGGe0E z$I*1ZyV-|tY=>uibK2}g9Tfn>SYEl#zP#f4y1XfZTYvfsM6|-U8w|Wm0*s08Y4fda z$~WU-0VD_v004|@wqp}H!X$HYKTqyVdUY7ft(V~iit})zhxLYTxrr*ai!*F)KBRV) z57a0@NL9NZ`Zxag_y2R5*y(Zg-T0UuWiZ=l>7UYA8(vJF@0J zAkV<0+E^lhh<5wQQL>-vPM7!E=o$3ET5NtU^qd_j;Q|`1j{!(sqjN9*|BcPC% zyKS2t3HLMsy?yfexBA8Z*nj_{-(J4N&F4@b1D+A$gt~qZC*FtBF!Dt^)vcX35509<OiEF(KtW*x1wzn4fCvL(H;CJKJoE1F zIB!m(2Zu(T`+7$mSz+6W@!V?MY2ajAN|<>@cmc+hq(EVeg6Hy!NJ~*YzsXA zMkU?mfwjFl#{9$4?XI)RU>8_z31q)|;8OO@{oj0_t_9h}cW008k>_yM{a)datK`!3 z#!I&dZiay6Z9Tm{^=W?SpZ@4i9{%g^qPhMwUIP-6tSNNypk*uX4iTGof%HVTMzYav z+YF{nMnHAaFl7xErWMgIyve~4p7+}FAOHO1U;3!=$^LU(Ip544ub036)LXGeG1?vP zRD~p`qe*AyjdQ(Hx^zqu+XDe5NdWIpo)-ARp2L}L1fD8T0tJ+?qm@Z8BCoRJr8XRp z(CC!7YkH1=?ZH&oCO;&w*J=k0B{l3zdV%4cAwD#=JCgxZ(ld>yRKAI?P|M$ z4cS3aE#J0BRm4uNbLc=Lf`%{cwuXG{Ep40I_^SW^hX1|M6OXlWbs2YH>&j~{i;kRd zY@u?^me>aN%+Gl7C6|wX^!CU9cK!bwug8d@4}>5fxR|yv!7=!`+j#7Ry*VoFEDTG;$Zm?*_BvS9v;tA<9 z12#q-kNZGjC}*@O7uTJ2U7QVcbH!=oS7$f1wOJC}w6$<#x9a_nL%f8aS@Bi~`-Lc;%O%&`eI>L7x zk?xh29fe|GYHVP4F@ocO+ODfGaU;HM!|4GqQgpvtlKXyiz7D4Tcyvp40E(Dchk(){ zfcJ-=26cgkvloQ`vlha?_#n%F7~NJKhMTlWX59ecFm!k)7MRLa<~=$+euCUs}!$ordiNNxP0t^r;E3~ z{wwK8eiKc+ltY}JQN-z-EgYKH<=ek_{}1}%pSmCT;Xl7D&WOd0^PkuJ7bBpa%~nrd z*WOn<%`GeAjq#ukbzECL;tL%^E$`sdY3-QhlIO0yW>abkVn7gaGS#4FAXpJ=rE6V9 z{hPn#zx*3s&2F)sUP2Km60kizoE^@yYq}p&aKr958p)g;ElXMK#8OTt6>Vz^Tu~r7 z+j3B&>Jiq6qH93{eRu7ua#$hU+#h#9IU>SxWT*IZ{kh)Hhpra5fq-h_Q>qBy{r;Ch zU76)PIg;ifAuz3A@xcq^Ik6f}+RBO*+*Sif<|eRnH_hz~Z*R9f8;ya=bv2zP`{P=z z2a`K^{XJ>#BtJY%u-h{>MA^~>2>@vzkY`hgHJ4Ml(a1cjS@{AcAxV|Sn$XXPfN_3~`pOT|PRKnQeeb@{KkM>mmOl@gyL~9u)&HVTzq}5f zE+#du8)n_iJo$c}pFQ!2Z;Z)dWcI<251P}hW}CDJ0JPdJ5W>(qAZ}%U9gy_ky-n<^!}Bx&sUHDG628<28k?w_fz3TTpOj2w}TG? z%m&DhK_07V0TmW17(jR#z%nx%N7Ew7k6Ddf=*k7>7Vr_0p$%PVw&x3#=7^kuC}T^aq;awd!K%q<`rTkT>F=f^6i1neaL6m zy?#DRR7xx(33e%YMVK;S$?QOvSKJ6VtYVWeFuUqUS7P3nP_GRlk_ce1RNHn_l}%1| ztHVZ9iy7|RUOdsLg-%4xlkpx)=wnPK4{VklRkSsMiX9~Iip*OA~~eKDvjGOrUx)^K1Wu8Ia*%|qvXOd|{LZdWV&*}+f}Nf4P}G0<7c zeEBDN?c=0fqeyTQSu48b!O9_(&pWW9Sv4)m(f|OPx`#`eH}ScYYtfp%!lA4n0?9-= zt-xx>=7R+3w?04E-KzW<^{4x`uO~OY_OHGEzd7D_ndjAi*VRXcH%&cOK6R!OX^W5` z1T0_j5n2yc3L&fZWEy!?Iqz2-N>GhR6oQB_?jssjY0FM=d3)8Oy-Xmgjno{kYvB?# z1!2IYC3K+7qTdqp#aE_^K*{tg~zqKDj)Oi|3%4`D^a6 zG;1&t0D%6_{)p0*HR%lJJfNwW!QOc%z+3?1Pes=gRs$m4K6-JOcd2Sm>OwFiYaHAS z@Lb24;pnzXi+|9*_VoE{an4dZkNU0o(d0cwScgWzYKs5?nkG4WZp(BA|d_Ys2B4kVuoS+7C>9Lzmj zJ22p&2~92mEOrmFW^b=$a|;JeMy-`D_j})H&UYtN4JJSkqh2(#Aue{{%5c(#aa1s? zGchDs+uCMUHX-3vzX`=$Ef|IJ3Vj3rw;^RH6p4-g^IWrO}qn8UsD< zxqnUP5A8e$yh%U+J_h9f+NwHT+s<&}PY`DYh#h;-_LtWJ&km^>kp9Q5|D#P;`Va`LtXT%j4%g*XIY{o)3NZ&&NOdb9yY?OXb2x`cR2wC^XU-!6i^&Gqe(f zPa^28j2=08|4zxdO%ogdAW7`92Mt3(QrEBZrJ|{kd#GG6NqkKy-8yQ+p(1xR6$d1P z0uVu|TISa5TdoA<0ILX>0C$t`-M=H6n?7^ipL*kOrz>UK%>hRS00A@*MA{0~1n_?N z#-MJ5JRQz2p=j^*xgDpqJPKscQmErafM+%*T{im)pX z<16gwM?ZErGo07M8AOo@8){))Bl55ySrHr3^e5Y=1^L&1RpsXNlI=^c-Q|2Cykwh9$kOSx$lL~BAYqR;)XNJqQf64Jpelaou0E9Imb6U|d zR(El0Rp{a%PgwcFR+>pDdXefQnh3V+31vQbl_`Nfr%7&V$=SIpBmyG=qSi}mjrY#u z&d=AsH&!-$;bsv8IPeJpKmv#&p!AXe-Cx4*e>A8GVaNGWfH7c)o!kjDk5xUDYnllv zsU7!dTL6;dKrX9B15AuNE8f|7L{X1EO?r4fuji9XrJqad(M1|z)J?hetVv?7D-;G6 zD2+G*K>F(s=j|!4ryEzy<|Dl+Px6`MK@eP2RxP%gF(TDnxS^+uCOO-)4cj+x8C)uD zhYA8li=7F;7?jl_L$|>goRl4=6H)dIBUo)YGsOb-1d@A@x)Knqgb|TV6HG99$+*8C@9Y=BAMsjJy=zM1+;2x3i(`%U)dh|-qdrm z_mWAwU28ZZ8P^n&%K<=ys2noj?3*TT51H+wGKI$_A~;3jIhlkWev7$Q}T7P(nyWN>^S<%Gu3sT9s!1Mv^-hD%(CL?9F>kcJVW zBI?DUIuSWENeSx!n$7a;LGb&Au6Z}J${x&-8~PiwE<-cWIUy5*t+1A#S87zJjQlM3 zUc8};-S~0VR)l6$kjY3Y?zPG}kg!m(2aOD9yvwGBI`outocm1O`}O{J9{Fh)^R=9% zg9IQL0M-bC7ZC6uC`!cIgTXYUfA{^|#_zyvQIu=rFB5_7@xpRE94zzk8Be_74xa!* zA`wOo=#KDW4ta%hdbQQnu8PeYxi&SH9{YDCJPh=p&n+7<%ib4S)HEZtB!Pw$0qo0M z8jHO4^>FptXu>p=rb1)}5?czMhC~v17?GSc#nNi&q&`FC{8EcHOv&DM+LHnFVFhHp zWs(AlP#jX09Z+Er&(1cB~Zv-vY~Egy5U{%fARvrFDQWt>l>R1 zA3*UFBPp=tsc5%KMpfLGr3gGfl-RH)_3WH=7_CTEs_x?&IIhql5~#@-PRZ>cFkH<# z8*FdETmRXm-+CEWZrk(@HaHvzfC9w;ARQ3^6g%9THJz?4XE5=I&!rM_l2T(ufU-AE z1h9?0fcYX^eFR+bAVDA*t`ZCY2#RDKZ2Ll^1@d-e4-gSmSBIA`PpJ2uNLdtFk|#^b+@n}?=AN+! z1QW4&dF|a?n}sdWdZmt{MIeIj$*AsrHk6tttQ&>^faN>IlUBO)Gm$tEouw|kfV z_k$J-Feo%0y*C!^-b5L+=uL(Plcn}H7`8w(yQPhU%eo@PIU8#S)T4xo&o~C!J&FZd z?~F{P^wd(WoVdvg2dF}i#q57pkKcUdeWQhf*lhv;iw+4OfB~RF036{Xull4~4K#Zg zO#X*Ff)4gAIULhn1I0f1MpdU(hYT=~ zYoI~GHWZWLhA2NwxFnX>@}^#U=WB;cOG$OgQXZmZ)5wH3kSJ9&E8p;>bzqTC=L+E* z(~|9j9&ktXH2%|}dwK;RvG*?;aPKGfpBm71frkT$YjZi4MS<;yQ+Xq0WLOttKfA7& z#dldg%XElb)PfUggVKFfIxzvB>}*zK!OJCzW#YH}H{RcVaro+ls|Yg$y}&HQCKIrM z4MZTB$%wovz$_8k?>z%HM9AsC$jKks{rIZWI16wXux>YA3!rbbCJczdaE1p6KoWEM zgtn*-!gK;dSfj56X4QE5`ckj?N4;xK!;~&XNSYSl(wOb>R>0J8M8Jed;#Te|%L;i$ zkm*(Vx>@`7+N#15ygG2xyjTN4LJGD$A}Kmvm?6Psn~-Ska14fcYyd*-+4iO36)#Iq zX&bf2YL2%Zd&Fu;nve}a8YU!lv_hANmrD(^zQ6H3`~m==PDg!89Tlnx|G8>Z2y)m$ zj6xZ?thNA4K(xP@p`+(d+g)0ocBj4cMr*lk+_QmK(jcm2t5YjV6b?5ebI!Th&R$n1 zzQ!;5{^g(l1^?mqT<5jWI@08ZV?;qN0?cTHz@!2-(4=;C;NCu&O#^Vhe*L3A0N>pa zj{@YwT`yx8TIubcL3XqSqBjdT89AU706@G7Z%^x zwi_{R@QQ^ZiJH7y0XAs?s7(~4kPt#}St@9=g*xnv9-Lm~dG71ETM59xHcwjpW);m+ z5gv-nAt!7rvqWtYS+`oftt2O*7bU{SSzZIRHiQEi(Z~2ny_bCgBAB*srE$7bw>U9m zGH@$*?#y1Hzo~x)81)6OAIsBzCt-gbd;M%Gbpb57B>o=3=Nn7g`L?3XIpfBtCZ1{S zSxwp~50+wJ2&#{A-QB+A+oQY_nuBa_uuJZI+$#XUKTH0?=VSM)Mn^apS-hqM#tjk% zG^=F;8MYKOv$3{YNSOvh^1l|bM`C!ssS8XGwbj`0gvme@xB*1j;mtFW6B``iN>CX; zIyoNIv}QdvV>^dr*XmFZ6*YZb3b3*?y{v1K2@*O2gppFD24%7p=#=7o*qze!TDnqx*04zAlJi+v*A# zp5uGg)%3jcXAWOXYav8#({;wPF~s!j+INz-{VyN+ub$@PJHGFafA>e>e)Ge;{gW@Z z&pGfl`diocj1_hLm>UW>&HmBPw{9)d6!)ZQ+~@hRup>Q)?7`sDO!|@3{i!2ky%i`^ zxjnPN@0kg^(# z%Ky=V^#a*}sNs3Np}@UeCLq7g?li-J-T@$og{7!?U`0{(SlfNsajg4}+nGq~R!eOT z(1yW9Vl&>*5EO1;HFm-dpmaECVe2@@Pa^~(BTRum8-$gu zJ*Em<4MuKksWnk_FBvqUwdJkL5uq@QvtpfcV@>VXoDb)Xs?G_tK9&cH$M<;F96jo7 zMBVB(CNY40_{iV>$N3$q)SVn-pbj;XRB+!8kirtB`X70K0A43ycIrXsZM; zEUSHBeI6Wn*&VjU5=vN*P%j5aJcL$m_j9e6t(>!cNYYlWHllUIk_ZBky{L=s)#+x{ zlBVuqZ}hd=d{3TZUWrM^RoBQUKS7zsbl6(0vTcZTPhY_;JF8pM7axE65A&11|9Qx- zSM$$5U+-7%`O=5^@<)GDxm*9d?}Zn9C;cJ%IY|k|IMpA}PwGGF{lll?9&RUdI`EX6 zZ0&AsR&NGMwaFN5D8Tu>4%fb&KP*Zg;0){k|FZe^_wzjP?ZW7ydakk4tL{2*+01lz zT-O<}B`^R6PKSVb0&FvJ%@i2bA#_$U{4Je%l5-Qkt0@4#RVW#=N)H zDNlDO6>u;KJpnuW+mb*P)%PVF0~>=-I3VCHh=dXcFP|RoU%ADYdTi^MVK}C;D62mx zVpr-^J4<)mJ7>2T&G=}xv7jB3CEGPH*021VfAD?3`aeGN%Mah<;|M-YA*cb3F=CC& zZcj;x$GbEfY;?q~agR;+&~Goo?%J(b_h(A;@wOAQP9RHcjii!~rPTV*P)LWp&Kfuj zPrwGZ%b0qlS87S#-)k|y?d`{ppZz2K&A}|h9jyyOK$y@*EZEBJ z+Mv@=1bU&Mz`fThbq>-10Yf80N|Hcnc3f{iWf!&IgB8vj*Pet&NeJ5AuSsPbo$t&? z&YF!lSSzlrg~;)Q3&gqMv8Nv%U;N^mPvw7o{1+atg8GPM209B$2neh~?{Pf6DiEQe zYC0qdXp_k{iH|Mq+M;ko0thKV)QHS9s_bIoO7nG@oCJY5Qw!^hWVzbat#0!+_O4GV zfBxU|Gk@&YKm39|G<6I3)VsE{KXiv|v)vZpeAoFF{(}{nuUTKGd|Ua^D(#+AB)kvr zcn{SKx6Uj+7v7ueL|KpSThcjvbW;_RVq91C_On0dkMT#p^mJU;n{CGiBTSYLvD#vT zOHQj*8Sb$SAc_NE&@Ck7N|}h-^LcQ1>X27XW9jzLZZYesvGVNY+qV`dB0&ZK0^B5; z&~op4&#O(`ePFc4TO4o6J@E7xA9#ks*2r)5Qjfke(cbK=grUhvr)p(pwiFZdCoX?F zzW;yykuSgg*5R4&`IUb5mt=AqyU2FdkyN?EwA`ETl~cs*0|_fy?*kq=k*W2hW_X` zu8=|!A{sHn4k5y*AA>r9>RZzH-f8jTBRx^{sV$HoiKvt9f;#W*9|?s*MByrc7$h8NyHiO<0U|;aG_Eg(QGB zxw&c#@XffiXl64yxZm;u-@;oRAYdn9g)rc78b)o#eRlnp3on0qf>YOdUvVq;;Q^<- zc^iIm?=r5f@#lH-Rzu?Mu|-;^ta8+gM~5$K zt?-TbE}F7pMc!Fnt<%dZ=pT(A{q|{k*RG8(S7y3lx16c8kpsHlfvRWk@1ED~d`IVI z0K-PfLeM~jH5kkHAOp}GdRnkdA{U7CIsL5w@*J-yotAV1SUCDD)8|=*^xbc%M{yyB zb9{Lt&}P^UWaZKAOz$-tX?5%9FI@Dkch*_MgYW-<_S{DGaAo{>s?{&9+(ot0f2!#aO>eThJHEu`ntf!=k1e2_c;wa|bv?sKc zTIn<-Eeo4VepM?E`MxIuCCcx(svSK@t=1LE%g^J!J$pdc?9HB9*{|D1l!M&6bK$yL0L9A<(T36Dg=NavWPgH4Qp7| z`Z=win~D2*D7m0@tY^ogsYF`K#B0aN{=@G@y9@~ex!0FRh#udIcXMx`4B9YVvP*X% zk4`I`krH1)VFyqIu$ZhmD+>`ITUJ+>fRWX;rk~v@@j!HIHFE;6Xs|Km_h1Oa?w zuV)+TtH;TGwA}9ylq?dJBB~*|liX3|IoWpHX5abT=bvvU)ZNv4S1#vm@#e#0a*yx1 z{nnbwQp{4lNW*HUjMeJ8GA6$AGM3k(fyfXA;F`?kEqSnr=8f42p7wc1r`CwHmXewx z#Q}5XWB>cNd+*0)-(D^2WL4F;do6OsmRyKjQAswK!5oyEAxT{jlwc5nLINg>t2|T^ zAp0Y?ZU@jY8oY+MI@Hr0?*JqQZT0DQ1@iqnSbKNAX)hqCc5FwYj@4xzUH0tBtR%cF*w*n*WwlUkSBU3zP*0rwI1#VO=4|FFi1=S=V z5K6A-@^HDh*@8ra9QiB-2Be6fICbG3!csAbWJU;v!sSZPe&}P|;54kzRbO&FH`UOYQ~i?1)pd6d${rw!90Rcr9Lt*2YwrGc{gb2{^Ck>%DNrv^2?@*aA4EEfG~Glw zoD37Ch$KP-yP^5*5U-_GXU`||SP@VW?ZMr(yu9uAG&4MHd=z^#1h8GS&vM+MLtOnIZn}CuYH<^D_u?UI-w)%_=(bWJjONw5)ukosT7S0n@LHMn?vB>j zCV))OGO^32MO3hW;A|p-XMp4DKAG}n5Q3w^2-z;X#VRSD zH7%qld5JdcJMSHKsVG}yIZ9=bq=xG#Zj~mIJk~1;w;VGP+;TgutV?d!+lSAF^eJRU7P4yHA04lYgXyW>y7}Nt`_bg`!J@|SYPw)m7nzw+ zcg1r+6x)&3(kB9q%v`q#;M%t}Yb^ z)UB(n4T6HKUpG2*BB(E3S8uz$e#|!9^AOD)Ep6PTXjy8U8HYv7x$HW}T9}nHgcz*s z>NYyP!cn9o5dxrOQA3ztXLtJ`cDMKKirQPL7%fOO4P zWd@E2?Pi-RN@gC^h-!pfsa!Ikz#g~lgMzBqo&j|n*44@N$?;fjVpeY+j#=eCUp?nU zi|2AX<|pDj#fqMgF)M&`@5j-OT)BxF4{&YY6xyasw(~?Ukng`{O-St@XMZ!w7V@Pq zuC=zvQ4Sz5oq=-Uoo8prfVC;wY)9G7W-fCh%eIi+**kKX5h$E2fG4LLFq%vTjZEVB z(L7?HGQ~}`EiE%mFAHQ-QRx*uCN4+l6?wDK{WJ8k(?l~xT=D9mHybKk-fA5%QY;7xpzaK|yg3DcJ@ zhyG$`2yD>PD@`L>M~yyQoBd>StvtYg#OKNB+Bv&C0$=l1GR*HcBbl;#o#jXV*(E#} z?BLldi&$Gk50_gOjqcux1A1Tsn2&xQ?Z9XwcCSU5I^3*iYR2IoAGZI_XDL1w|TQ8ufneNB_P5_4_|C_8;8;%JAR%2Y3FZ ze~|Tujp>{|;Dpc+Atk1iM|>o7GmxjIdzfTW$D>1e8x@a(5ecN34oq=W1qBNp#96?x;HV14dxb{k1&z8>y?%2>60AF|n&SV&>b-b=k) zgIKmwMGl#1$Qdz*M@hpt!{tO`OqBNiOkzJy|7CkyW-skd2ktl946^F=RC;-5JOnp# z^^yUIASbQ5NXrXgid5AHo_At6V#L}K_Z~%U_mK7B>;rTrV?o~*29YBkkpkF4mq?+M zke5Qr?T_m}zr`o=_$inB&-mv0vtQ$PepvXlOW8vyEC=Pveji9MiRZv@zK`jZM@L^T z;_fU3Whb`1n0lzw$Kl<*mbui{)>!YDZiLW_)sELSB4ldF1#jGTg*XZ{++hJ0DA1|o zN|T7y-=&*tW*^ZI8II}lY%B!H2<&wuOcnUew8VM^L+LFx*9t|NWhN*YTgi-`U4b_3RJ#7oU=UMUXHCyBs@WG|hx&fT6U^ zHlIHGsi!s=tHzCEw>>O}_YSmGQll9GtG6mdv&fU2p5!Qa2r<~K-6U{4@xWC!$QmN6 zChYjaO&|d<*Sa8ULlyb9Y}vy&5e%~6`RPc7$uVGSpZH%I_d?lCFKl+u@h(-SFxh{e zpZ(_Yp&7?vPHDZSs-}|IU^%RwC%fPH^bcSAC13mg_TAr}|B=qup6B9u zA{Bw8?0WY+dNI2_ltsO*67M74_g-dwQ#3dkYkM+TvJoG$qHuXWJQnMLinC5j&q_KP zMy4BeC9b)q3PciP2uLa>W}{mPOT#Y!WR@$Z5vcL%#Q)3SkTCw-s`ZAvc?oyB>VU3F z0Hx|N@n0q+=#>~`^CIvOc#-D?&v)`6yiQY&+(tfPKb}Q{=^z8G!}N&8g^}xl8K8{V z@p8Iq>KOyl^inZD0!)N6)qi?+-aXywWQPgEfd&e=mE|(n7LB;sR7*)O8fkev!!Wgp2bqAWt2v5{hQNa5IntyLgCvj%QmxUSvIjEPEBL0LdTA20W2 zE@^e_zWXTDgT(r4sx}KDxK!m9iy)x@JThjgasdh@fZO$_A*e4C6L0pypcXWc2C{hgAiu;Uf?OT@L3oWh z)RB#`K|=NZ7%m9qsj7CB>zSu~lS9@Ep0JxlvD&B_ z1cZ|4CJG~^#Hq5*gyax1WV^7uY98m7%mgbQI*+n9<%SY<^93?#hpy}uI*R#8|m)kr8#J#cVDQH)mFzQ{b983ie zhpO`Ay5!_Kn=t|wK@R;58@r5-+)11rra3RF9eJb()8 z9^Kysu-SHyqtICA5V!k%YG^(PgNV{mVAu2*fjdaq@hmGE7(ioky;&iqO{tABIJ|fA ztzwS@T&@*@w}}t0!A=pMo6yF+b46VK`T$eFUDo}r@9&=PU5_@VW-Q|{^sMS};|tO1 z!OURu`oc3^sX37iAHG*FYEhVyriR3+WOXtYaKrFVF@@^;&Iv_>YKU}p(WZ_pRsUYrN_RVj@}{x1 z90DozP^Y{anrV!Kr?1uVNr6$$j-pho${-#I0ybpL>8-$NG>->~ksCN4z4#|S^dprs>UJ@Q zc|bV%X5~j)*=_4VbhYx*V?6Jn2U-b83q2`Yzc{qdA;O-|AU*%=W*E4Iv4-Rz$Rpex;)`$y1KXOfD{K!moZ=_M%y3E866fq1pP+@{GuwW4Q~ zCT4;=4VxT{6pN`v^5(j|79t+urn1tL7(aG7YzlnC0I#G(En=~;Gb{;GupzmIhLF~s ze-s&msQ%VGv{a78AT9jkt{pKbvr`k=xTo5c_rH4!6d6H$_=F$1`knb+KYFlrv<*Ak zl-pZ&b7<72oK8JA>jc&2w!tFinKgerdy-LPlhjUFfA)d#wo~tA2Qd|dh0BhISW4`6 zZUqk?(oTGG+BuX=jknyz4@w+c+gsf`4o0)pK6od9(>6!7#`#d)uGqy&19D|9CjstS zO+uHm@_4BjO6H4gS+~?u716MBns?zKHOfvJZ3kpXIav^+UZaHS_jwl zg&r?AqHPy@YVdsO!Nk>l*Yg7l0{|kY%!KI|v@%@Ym~rCfAwG`etcxaCJGL5PDv4Mx zU>#hw1vitC8XTUgy`^nesuoVuk!??mXKX*}H%#+wuw~fY z%sG$(?w9D z0#9%b6V6@IJXZ_5w? zLT1&5QBsRpcFV`2JvgBj(lu5H*_OERS|sH2_KPi4<}vcbW@!JsBm%*Jh~+<+(& z2H0q|Nycn@qc}>0jimx^&x}5;Pw|Knv#ihb>2>*E8FAg@u8C{seC-Sl72qkTs2KBZ z?M_QX>Ey)~*O$#14nr)y-_!GHLD{Da*9|~Qa9gaxM#U}%7@2aGJAxC2vc4U|;mZ5* zi7R|ij%P@<#OEN8pcH8!gcjlktKB4|v#-1Q6EH!MuXU*z6tR;M-(PE(-Q7U~0RsFn zzU zbiw6`a>t%1ey@BuVxc+X(`eT}vZXZ#8d5d%5WS!MNahP}B zxW(qe;5!qEltFZu+lMB^$so*s4%}HfKRet42_9TO_;7=&brpl_-CN)H<8R%0Xa0vj zyXBwW89aL3dw>1L`Mw7^`hQ3Bz`lRK%%Eu0E4Wgu61E}(qI4?u(rb8)?o!#4qi6+u zUH2YlI?GJtbsUdl?d19@c-a72p;@hFM;pd$H|fa2OG=~8NCD`8HpZl&>jNk+tyIW0 zU|rHC1W6kKGe{;7pf0$JwE%kWM~_Soj`0t#&hKxd*)W-|b>~vCur7uy0<+A3h{sH0 z#Hb#*$$4MJ1`{TJyw}HTM@!E^vt=MwRR=}#ZT0&}@2?)-^SJNF!RvqPaI>!Yzg{= zjK+9b0lsX3vS6w3Y3eMSUfU(dF;ucTph-n)JxR$1P!Cd8AOle!F^WaX!2oenlpUlQ z9_nTkZDuQwNqOhy<=ETjP?~l{0IAdDq_^(APR%*fQ7qN@h%eiWH)6BLc_fNpQ{&NN z>_2@$k0lYSpVx7vJnHoY9cZuGFI@BT)HB!7h31dQtF+PxZ*BKUeRM&)Dp3#@&tcc*D!XRkrPs zJiaWBFEuO6u`$(9P<(<0Js~ps!iTF~frg)Ri6gq12B&5tO13%Zc{rsjz|x9jl%~)r z3K@W0NIKV0=Q=2lo-I{6*sfIxfI`uNDq}S)u|6W?#5QHkCZb%zE{Nu#rqmz*sHeq; z!reTThoF(9BV%C&Hbh0qUaAUSQbmz>4jDxnD_VB?5(e7$bB|8;bW5EsxLg_8%tNCO zvoGx{U7z=N(uvOWYV(Ep%O{uSJ!|S52yAE+MKCxl!A=K`VR_`*E&*^%yWOb{J}h|| z8QqayaX|~gxK_(^wX zLaOyl%W9!U+u}QcAy@1aZ_$cl`6xnT#5HTl-2Qf+jnCSEuG^oAp0TNBl$T~_bl41o zxvTN&s=1wq2WZg<5U+Fuzh3TsP>ufOa&?17Ggg{i%o#OGlm8r3`+4E~gt{5JKmf+NO>M$VDWhY8nA`G`=YS9> z577fnQZK_;xRX{`+#x5#gMw3f=bNP#G=>XeOS$H$S)CX0nbt!>TZ0g^VI$q3eY>W0FrDf+TkyPAP!ey=M81{W*9YWX@r6%qWPstIG8`Mgu`Yn}|y` zB3}gyIy8CxdwckPPn=#b*mj8Q&RX1i3|4nsJ-|S+9nsOQXSCd_IbAd9vSuadQDSru zEnTmobX#@1aZ@^{_h__M;{ikT_osKnJqELVL$a<0lpElX zmG?r7l#xS@G#{B(AF$Aq;q}s7E;$@DtD%k#fD5p-^{Cq5h5-T)n&S&3YJGRT@2`t5 z-ydL-fu@lT>>yuBIJ&ozBcTe<3%fJDoa9!D1m_!s+7W52O`Va38|=x#A!wyJHFY=E z8jtlnk>g{#SZ=gWut_<0NQjXe$La@*jas>C%@+OpnO81P4N^RC(IcHWyv2M@@j3Bi z-;@TQOU#Pzn7%8WRn*+OeyiVp^!nSMo__KF#C9ExQDd}Nd+s)9nS?Nd@!xja~9v~(OHfTUmBXLE9=^i=A9*xfcMtru0dQA)1&JTq`qnzlm zdjYspm!ENwQtga4E5|e0WS1;AG$~Y5NCURT_d=oQ*~RA~(yD z#mV;CP zN;D9=@Pf71$*1qUc)i>CF+BsetQw|Z1yCs&460$3CK1+9(b+xh`CQu}2_=)6rkf^1 z>MUHQ&C(3ww6|#@6NOeZ+Ny)Yi}kg^ly|jz>_*#i1MYM5#$K2r1`^D0NvYn}Ol?_O zy0e*RYH{k#>9>h#9g}H?vDzXVgJq$LqcJKv9&w`Zd*CuM(3mNlS~u?LC&NEV`JX`j zN7%jBpI&|W-hW??e|Y-Oc6POQ)UcJX=TYI!X)r+fL3Z5Txo?T1<7U$5b1KHo7>q0S zzP`R=Rh5!&{`KGc>fiKVP98mfy)8cUDuZ)$lOZKmt4C5XYntzl2Y)zUdCIqb?Y;Xr zSw}W0f}P**I-+j(H$2G-~ zqB~_Z2w2Gp1z|g)aqOA{B@4PXz@G9UL)PRj=9;%!hJUE9c7J!LNBzu8KC++wh5YHQ z?BTWHlJIs!>h*Pvb=mnQwHqVEV%pUGfUf4-!VbH^Egx#TV&+4`En3$9&R_P!|LO1h zgZsbD`8P30qpBWSPW$0PVh#2x`a_#{nkRq5m+#%j8NU76I_(z_UDs)wR=DVNdYns+ z_d+wA;1`#`vSe669V4{Eu zW&2=Yf?zhZ*_#}*PyOW~@A}tgKK8+5|M&8q&-DJk_|YXV2_t~u6KMkmCcn(26%RiJ zER2>srS48ULVME7D{5t_FZ}O6diJ|7|JgtGZy)@{ZwNNA=NJ#euxK7j>`Jb#zVt2U z#*~L{kr$_Z2-~46B2m%7OQ&+i9nj*Nnohy&-L<7^QauYlGTbT;1`ORYNX$}w00-k% zJ7O(?B2!(yWJb(RFhc;mt)A=`|REs4AFzWED?ZHtGcC2$eOZVGP@|=&` z;9;EURL!uL$b$U_VrK_4lB`6^Cm|8kK(G-jp_=DiXt9CacmI1q|8%SO{Q6U${@r~) z_rLKQN8D|J>WF~km!P)j?s&?zR@*{)z;u(?St2jOZU^Raew?YRUXow#Y_a=UORx9b zzg`a99^E-}FWtu;w|xD>`t^4n^x^v#Ux{vJnCDU4*-ciS+-OR@w>NESmpMxMxkaKg zvzNEdglu^)*U5246Np=yW)3`)r2C4-LR|BVy}RICyR+cR5@;v~B7oRI(lIQm_?~Sz z+o1YkhscKR|wQEQ2m zp^D!k4BmXT{Gju7n#!-`jknJn|Ls%m5g4aPy#`F6SsX=tdELq~x3wb2+T^t;sV>iA zx9S->kMW9Zpqu1zzFvTw9KPrHEbZIA+u3V%AHG!kEw?kmh6}ybm^|m_ri_sbwq!Boc>kId~>)3kGS^wp+TgVc=zVxg!SM8x+@}* zlHe{&K%)mk%5B3WP{*r|Y|>$(O0MK7vU~||tZ_z#zJODn_-HIW$GQ7IPT2vXfDt01 zy9yhLPremV+!2hoOWJn&Y#e<&p4_!I(0!r&GkbV#zU=WFRg@<`PF*?6m=ruS(Yt3-7_4OR`+-ZTHzsJ)tE5iSN?bB*YK+cmwlo0skoO56^HQR zLRAi6zQto#SqYs^+x>uTgkEgeiPSwDRJs)46YI!Li&hyb9hUwaiiErKWs*-LUx#O@ z;XKA|$K1rd?2@y#ob9$ci%K5s8Y-Ym)h5rpxD$)962kxjNhPXQ=a*nKZTR><{Z?;KIS6R?AzHM)a zxn?Aj;To0=6DnX6-~rD9Q)5|Hk}Uq8giks8Yk2VI(>`FP(DA^ECk{{1R|{rX5U$AJ zlV}5PG|k*MJ=&PGlQ`Qbn-U7jTWryx*uyjgoe;X;n6vOVIa~*!Sz=~%&hoKAoVWy+ z>E3FRM$%umLdTIT+(=#`HyLHlT27sgrMh(cpYy#hKVJ7;=O6w`U)}h=-J@o4Z)AD! z^fZgX%5%&fIHMCEgWcxw&A1hXRMwqEU3vy&$Bj25{H>P#QyA_*SG(0Px)~FJ~5Mxr_lD5ha z=_02&qRwd!SQx0BpBq1=IUFZKQ$zvQt@YzM?b7mCGZVy2xz#mQ$(I1)JMl$os<9*#2C~-3JnbI5AoM*{!qi$?yt7*tx-&N zG^})s4KUaTxmRGkl|W~}RgR;!!}yx6JGJ`p&JQNggQzVKgBbuR%#%IeqJJ1@-a{=2 zO%P>Ec-FMV1fyHlGBH|tR2*cJ$D$Xol5^_xwNCtl?|yF=gKaOmk zq&_z4gRK%dO_c?MmFzIT8h@gKKYt%|l_;PClTo^{!pY>UHPJ~rDTz%rjm@&_1-+8~ z=r{S|Z;tzK|NQrU<^47{IdO!Xae3w~=;_*7SQHVmh3)JmuVhO$8=x=Lsny8$Na0BtQYm(OiU(%eApE&P4irHJq$@Rr>rZ6QiC(Sn%e zR;PvO@OA7P%Xy#dRb!QXs3v%v3gn{7VpW4-ho0~6{B{Ap4_NZA#cv=hJ`b_OG_jy) z>E+ciJ`v;;9MCJS-+7$#>iUzPF24PK%i%uYObdKy zJxm0;HfbdGSe2NYu>z?Kasoz%x#~^jY^!`m4%Tvl#B_kw00*cizovc3{2M&{qh9{= zE!vC&D1lf`Afr^WI|=COFq?)a3pd_sah#*e*i~c-ta`Jl5Kg*~^xt3hcp3h!{{8)NZ8JKOKm$0DW9{)o+jgtZ&4`mUbyf>*&Z+f` z%NS151*|R&$9A#wE+@ydXh%DD>@W#T7T|MuMy=98UPH|85;T~d)%+l`oJ5=$6Uih- zyg>+2j=Wz}qjgDh(w%0H@zj z;VCRHK83vtk|n;<7RY%?ifgp-Z<>mpXJY-3??0cu0obM!p%0FkU?fU9-M9A>v7O4= zxozLMNtT$_G*r{j*K?e=Ys5;VldOCrO`jm3<%QFMfg^?Tb0CQ>3Hm0K8bj18LA9<0HS_hu`qE!#c^5QIQfT!J#^ng0Cp1AM?=KfM>U zZ&KV4z)aBfEd@Kg`DIHEvWR3--#yh5_wjFu4h4O|O+V89N8i_W(A(>CyO<=<_W49J zsl&>g-J-;Doe9#QTLK!o&9(NE#9^t*gwP@hm4m8u!D10x(Z(N~pKVWuh$)^a;#vb1)cf`LM}kvWe1#G_}gef8`0)V?bB_B$TE zsGYC@25|sPu9F}~am5-yuX=U<3qXkaYMHf6Do;9ProRZ{AbbZiMEf7!t6s zh;d$kQzXb@mU>ieHD>t1-f4F%=g@HQ|LF&_|MSY5BdrE%TdUZ}0c7)%2c1;ySv{|$bnByv-0ZXRnnky#og*up6%58A zSek%oDB`l)3KRDPLF@5ul}cyVg^Z!m1jv2Gnn25Bp+GR#eM>w{ix@^~pog$f62e)K&p$oteK-1H8ET>HnD~X=| z>2c@l^~K}8*hl>)-V7uM9qDM!0!pp`C%7r<_?P+oAN2fpgS!BK``dukYQ(O80nDV( zP)PHL=|>yFya;%G2Uj0Yk)eeSppoSP+D zs}%V#&E4{V8wr>N*cIQMr;P8*NKN-h($d)5`{;G)4OP?W|0{n$0A7K;$rrpf8^i$i5LFd z>*))Ijq$`7p0pzHYv}l?*WceWV6O>)QCA5~#gr?Kaz|veX7$wFH@Ucul`?yzg*+`rZ7ckHB8C08D`7_iTuJVdUzua~0VbB>o$goB*J#de^%5K>_v^ zV7|IXUwjYyda|CHdTK@uat?6W0uX`xl4^i-HtPnfA9C{x^WB!50+>7gcF8jueGk}2 z`0-wU^1Jaz-+;ZEZ3snB!`nz-DHPhuyu##$=~@NgKirqxo46uscj`lpPhaOxm}Ceza&?~CtqwHUtvFiYIrn=X1%uMxmL zK(A33_Owf$r(*PU^FXB$5QH+gn*&R4{)}j!zAt`21qD!!z{~-^4M6g76E1tkr9GwJ z7+}QFZ`{Q_>q5`chqyP~%UPJNHuB+siAw?sq|@Mf`myA(KIA`EOxzF#z+L=g$tfCA^}79t8>tWvpQ0LLdI= z8}r{D^DhrMx-wY-MiWiHxzIDNd4rx|Mlo^YGN9%rwSaJyA9*xndG`h&xD5@6vya7h zL{b2=BB64axS>g63RRYISXls7fKh|QrcYh+ytO_g0kC3~69R;~R@a#OzngC1)(7u% zkHwct$yaG8RIVUIxw2q^y~r6jGa zG@ibH1Akt}6-NpM&VN~aTpU$^N)9MQPyw(ImCDpbIr`?(iYS)#9?)AxDS**HZP)tH zb#GehBgP@Ta!lSRpAb;{x2T|MM-BzLT5Lq9s7?Lq&(KxIX3J4Sg2mpeFDE2!Bho!UoU+&wN--}=F3!Qv&Et~@X_AqG5`uV`k>kX^d`wst# zKpa9HtyW>9QvgzDMyLs#w1i=yj2?&58 z08Ie1wbyprY8J55{`tOq^*#ToFE5?A?9%4k5dCcTxAp4->*qro*N0*g3`}5YXZ}giq47d7?+df~~JfB!UAKE!TG9|3KoJXPnC)CTBG6?~9sksJeJ>RMm zUPa?(+A|-QEuLT&3J3&~&?{*|MFE7_+WY+fs}0Hd{bxIM zMwSAMNE2NQ10dp*kuYm}@3`8esl2Xow?8z`KibL;HnEB|Y@vZY^pHTn*_#ACw6KHQ zSi>qd0VFzC9`|ZoZ!?4t#>7~ZLli;)9Z{eliU`SSlp;m?WoTValA>9o>rGMgbINrjG83~a0wigE&=1AiV1emKpk7yz$$Kn zjh_k$0uLIx^ti+B`4GSyiLn?%R3HE$Xs9X`GMFQU`PAC5_0N>FA_gOyZ&w@*o-cpD ztom`9a}dTFvLJzg02HBtI)Vr&OH2xh>Ww#P`i!YH1z?uz&>)z|_GlMPw9!S31VBm^ zlXBsHi{|wifNRBg5CD@24ZTk>%1Fl>s%IjkrAcMO>|anFawM!J2jX1gV*0 zuqx7W5>_s7S4_Y9{{01#a&@5zAw?L3Ce;Je)!oU^5G#rZg_)%eDgw;xkRo6QLh1m_ zlTnR8LJUALy%B`aNr4ejWVF&S6tX(UnxRnx2~QBX_|a~q^g{r;e1oVJw7)w6k)8m7 z6hN#9#b~3FhDa~}LV8IZfO#^i2cx?IG^5ZBob*C~i-3YgD@i>_$x`PSY$t*LeYW#U zrWFZJ zu2>Ds0Tt7#goD7}KH5RG(`G@(h(>kXE8GyzDVp$khC=;T>K zq5#aK&HE&9B9Q*SI~V{Yk1am zkSm|hv~c;e%|$hfn1qcK9|lG#1BqD^QmCRkAfYIuFwMjN9&7Qv zA-nR_g=|PF04rHaoWTGgQjCN#&+7;Q6EsSLS9~1>W^?XM{O!lKbyQaA{UY5Sk-ERD zKn@io$N)l-1ho0XF#%BH;a%q5c4b!`(vXflmEv^bwSWdf0V&9E$>?sV$Y6v#W!@cI zLn~a9kC}3eIZc=fy91Pf3!rL?6o3*fANE;@c-VRF zZ+|xVl->LX8yI2i@z>1}uAuYbI4DOO;|2;q*QTYZ6N*K)6T5qk1<1c^KenUGl1m9N z?h=3iiUyKNseGqURF@%=_N9bCJ=CA{0YIE`rb7;8Q6D;w{!anN5Ni0aHXy}1kp6&z zGjlrM#aJKD-~H64OW6kqnBg{wp(1rk0JsQQpquMtSc=|gyyyvlPdM4Jj+53NYW{%% zHNwDZ-3z!xfJ4N^Wx>2xKgBY3D>rtx#VQ;qdqEVi)JHkHC8$C`pfpEGXs4mN3kfND zXgpD;qaE#()0i@$9Q`Z1a=52R*>`qnYzS2lsEC2|ql6OToQ5%62K_YBD>AV5>V266VbLit2Qu$kVupQY^U61k*NKT39fLLZ%Z@843 z)u@F3-xr{2H85KxgVEMvy!$ciNL-3f}^SGK2K)E5CT(hD%CfEruHtqU}Ox(9P|2VRV>shgjnsgsiY#_+D_tcH3CCHsT{i2~b=nFrB(%{*Tu6~q7$F)J zafkSA= zjFv*eIE7^Fj_yi#0F@J!)0n&hkTOhI151iJ3yW)rS)YBZ6-OAx!|XhrnWHfSfCzly zxGVu>*6NVI0qB$oQVh$YlM~T43}sKZF=2Ea<5-z?4I!%V1rwC6*tQafuZ_gfQ2_5~ z!`GR4avT|W!qp!aHj^v{Y*jMoPZS_ficxV-l0t@B8Bm1v&OrrRyE$U6*o@&D^>0AT zUBzE_-&Fwb=)#}C@&E|I5z1wyR^dpLS_GKEk&FNYSx8`{6e3hiY&bTk{&5Ww>L$b_ z21>T;?t`sZVeg3HPav%Tq(Fu1KP~JJ24_i{=$mo^su_f$O{ab)7h@qH2Ox?b8N&hL>RR^h|;{JxS+O&LH$`%p2%o>L0h@8N=HC^S24Iqo&IyyDTbTlyZXuf4 z-M5ua3|8{~mLH8_eWGF7qrs5j!=pPE-h_|a`}azgW61!=2v69^76Y8j2_ha&bV~*~ zSW0G50TAc2^KSsto+Sf3D_lcZH84{~1=WeV8dWD&WB~pLLI0|_8>OLHL;7i^bSABP zv!7=I-w@VH$}&=6bK z!+Qk?;1r~S(YaEDiq(~m+UPOo;CjDKAp$4|Q-J6*hgU+G<_20LD*|qnC_x1Y;1AfZ zp9UL!>XY(3dROWl!$81|XNWxtBl?a@`|A_b5GEK5xr4?dF{e0g;B z3Z}&h;13vqX=z~d(eqmzy<#8$#S6d;3~K|Q#>4*vppbz}iGqt>Z36&J1Cv!E;o?@^ z06^cMKxHCBilIm!0O%dGaHm3i8wLRS2VG=Ei?5^sfF?q#s3v#P06-&wSemkxvJL?B z6DSGrkG{cB;2(X1L%~1#Muew-^o@u=`bXag`K^ESjfgiY`XJ^NSOX$J!3XFE_Jd+B z_yD`$5YTOffVq7cJKx0J>Unl0vm9E?(RPu0G>bvuyTc)q6z-dH-?<&wCRC=^o=4LmMj?4 d|A+rGY8VxoO^ZA^vSe^b0u(0r|Nr(cVgr(Mp`8E# literal 0 HcmV?d00001 diff --git a/OsmAnd-telegram/res/drawable-xxhdpi/bg_pattern_light.png b/OsmAnd-telegram/res/drawable-xxhdpi/bg_pattern_light.png new file mode 100644 index 0000000000000000000000000000000000000000..07c53edf1f7c4ad9fefee3690bae7b7524e88aac GIT binary patch literal 1058 zcmbVLJ8aWX6m?q!RZ)fxNYKf+3rO|nIq~PY32kC0G!jXpG=iuT{=76+Yd>SZ5;r4a zVP@$HV+W96L3HShgpe3m5E2Y5NCzKsdmW*?va5VBc|+O2eI|Q-a>6;dwX|Yp(4Y~q<*JMx{Vu# zivz*VY=kt3D4Jo4D`{lA+la6Z+VaB^_xSeUfQZee!A_VMX^9*8HRwLO7CClgLbglXF{y5&#hN%qtRkqq3-UUvK>;XG zmkUd*ECE%Npa=@Q1Plop5@5#gX!6$nmu~R-w7AGDol(?}U5g&(a=FxWWE-7)8>2V4{)M%VI4wG@AXvxIXjzl0x zVi06`jjR*WM!#vCYMpfUA|$p^f_Gz=_M^8r0n^(3J5Xjw*%<4wPn%-zSlHbSP)O=l ziKBl6&-V-$IXZG^wyNrRd_e*|9%@RD*LBx*kgOE)jy&;m8s4l_E!otn8jxiGs=5xX zS`Fx?rIo9-LPeQi>tRCd&_$EjK8-EuifWlvT?117uUNy3kxg*i!FXpf1+6|NIO*ev zHO;K+8hfQ-yMCBmUdC2H;oX&lm*JcP=Zxjyay);za({OI c$GL^6v&_v_>+R;t;j>J&^=i|4Qn`Ka7Zz$uK>z>% literal 0 HcmV?d00001 From bcae09f8aea1a52cb6605b65f0c5118511ef97b7 Mon Sep 17 00:00:00 2001 From: Alex Sytnyk Date: Wed, 27 Jun 2018 17:12:32 +0300 Subject: [PATCH 02/54] Add assets folder to the sourceSet --- OsmAnd-telegram/build.gradle | 1 + 1 file changed, 1 insertion(+) diff --git a/OsmAnd-telegram/build.gradle b/OsmAnd-telegram/build.gradle index fdc07cacb8..ae1adfc95d 100644 --- a/OsmAnd-telegram/build.gradle +++ b/OsmAnd-telegram/build.gradle @@ -16,6 +16,7 @@ android { java.srcDirs = ["src"] resources.srcDirs = ["src"] res.srcDirs = ["res"] + assets.srcDirs = ["assets"] } } From 4c4236fcc385bbb84314f4101a9aec46ab757553 Mon Sep 17 00:00:00 2001 From: Alex Sytnyk Date: Wed, 27 Jun 2018 17:16:01 +0300 Subject: [PATCH 03/54] Fix font for text buttons; fix secondary button name --- OsmAnd-telegram/res/layout/primary_btn.xml | 4 +++- .../res/layout/{secondary_brn.xml => secondary_btn.xml} | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) rename OsmAnd-telegram/res/layout/{secondary_brn.xml => secondary_btn.xml} (86%) diff --git a/OsmAnd-telegram/res/layout/primary_btn.xml b/OsmAnd-telegram/res/layout/primary_btn.xml index 2a9937960b..9d4de5b3c0 100644 --- a/OsmAnd-telegram/res/layout/primary_btn.xml +++ b/OsmAnd-telegram/res/layout/primary_btn.xml @@ -1,13 +1,14 @@ - diff --git a/OsmAnd-telegram/res/layout/secondary_brn.xml b/OsmAnd-telegram/res/layout/secondary_btn.xml similarity index 86% rename from OsmAnd-telegram/res/layout/secondary_brn.xml rename to OsmAnd-telegram/res/layout/secondary_btn.xml index c73a6ffd01..1cc81f5baf 100644 --- a/OsmAnd-telegram/res/layout/secondary_brn.xml +++ b/OsmAnd-telegram/res/layout/secondary_btn.xml @@ -1,13 +1,14 @@ - From 5fb4ce78ab7b7ba01cbfba07d12e2a138121c533 Mon Sep 17 00:00:00 2001 From: masakoodaa Date: Wed, 27 Jun 2018 14:18:52 +0000 Subject: [PATCH 04/54] Translated using Weblate (Finnish) Currently translated at 60.1% (1560 of 2593 strings) --- OsmAnd/res/values-fi/strings.xml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-fi/strings.xml b/OsmAnd/res/values-fi/strings.xml index f9805accaa..f65823d83e 100644 --- a/OsmAnd/res/values-fi/strings.xml +++ b/OsmAnd/res/values-fi/strings.xml @@ -1,4 +1,5 @@ -Ei reittiä + +Ei reittiä Poista päämäärä Päämäärä %1$s Välietappi %1$s @@ -2228,4 +2229,9 @@ Jos pidät OsmAndista ja OSMsta ja haluat tukea niitä, on tämä täydellinen t Muuta väri Muokkaa nimeä Sijaintini animaatio - \ No newline at end of file + Muokkaa pistettä + Lisää piste + Tallenna jälkenä + Lisäsit %1 pistettä. Kirjoita tiedostonimi ja paina \"Tallenna\". + Ole kiltti ja lähetä tästä ilmoituksesta ruutukaappaus osoitteeseen support@osmand.net + From b74be3a1338813ac30cd9e3ac919d4d49fb43a62 Mon Sep 17 00:00:00 2001 From: jan madsen Date: Wed, 27 Jun 2018 11:50:40 +0000 Subject: [PATCH 05/54] Translated using Weblate (Danish) Currently translated at 99.9% (2592 of 2593 strings) --- OsmAnd/res/values-da/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-da/strings.xml b/OsmAnd/res/values-da/strings.xml index 01518ebfc6..65c86a5f49 100644 --- a/OsmAnd/res/values-da/strings.xml +++ b/OsmAnd/res/values-da/strings.xml @@ -2427,7 +2427,7 @@ Proportional hukommelse %4$s MB (Android grænse %5$s MB, Dalvik %6$s MB).Endnu ingen GPX-filer Tilføj også GPX-filer til mappen - Tilføj GPX-fil + Tilføj flere… Udseende Fin Ruteberegning From e5262c7ded8fb466991647b66be1a24e1b261d16 Mon Sep 17 00:00:00 2001 From: Yaron Shahrabani Date: Wed, 27 Jun 2018 13:02:10 +0000 Subject: [PATCH 06/54] Translated using Weblate (Hebrew) Currently translated at 99.8% (2590 of 2593 strings) --- OsmAnd/res/values-he/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-he/strings.xml b/OsmAnd/res/values-he/strings.xml index 6dbaa953f4..59e1fb2224 100644 --- a/OsmAnd/res/values-he/strings.xml +++ b/OsmAnd/res/values-he/strings.xml @@ -1235,7 +1235,7 @@ הפסקה סמנים אחרים - הוספת קובץ GPX + הוספת עוד… עדיין אין לך קובצי GPX חום כהה חום בהיר From 29012c78b72246fe9bdb3bbe1ed5844be429b9be Mon Sep 17 00:00:00 2001 From: Dimitris Spingos Date: Wed, 27 Jun 2018 08:46:14 +0000 Subject: [PATCH 07/54] Translated using Weblate (Greek) Currently translated at 83.6% (2916 of 3486 strings) --- OsmAnd/res/values-el/phrases.xml | 40 ++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/OsmAnd/res/values-el/phrases.xml b/OsmAnd/res/values-el/phrases.xml index dad25c0cf6..00146b43bd 100644 --- a/OsmAnd/res/values-el/phrases.xml +++ b/OsmAnd/res/values-el/phrases.xml @@ -3143,4 +3143,44 @@ Εκκένωση τουαλέτας: χημική Εκκένωση τουαλέτας: κουβάς + Μήκος + + Βικιπαίδεια + + Χριστούγεννα + Χριστουγεννιάτικη γιορτή + Χριστουγεννιατικές αγορές + Πυραμίδα των Χριστουγέννων + Χριστουγεννιάτικο κατάστημα + Κατάστημα με χριστουγεννιάτικα δέντρα + Χριστουγεννιάτικο δέντρο + Χριστούγεννα: περίοδος εκδήλωσης + Χριστούγεννα: σημείωση + Χριστούγεννα: ώρες λειτουργίας + Χριστούγεννα: τοποθεσία + Χριστούγεννα: ιστότοπος + + Δημόσια βιβλιοθήκη + Τύπος: τηλεφωνικός θάλαμος + Τύπος: κιβώτιο ανάγνωσης + Τύπος: ξύλινο ερμάριο + Τύπος: μεταλλικό ερμάριο + Τύπος: ραφιέρα + + Κουζίνα + Πίτσα + Μπέργκερ + Καφές + Σάντουιτς + Καλαμάκι (Κεμπάμπ) + Ντόνερ κεμπάμπ (σαουάρμα) + Κοτόπουλο + Παγωτό + Σούσι + Ψάρι και πατατάκια + Θαλασσινά + Ψησταριά + Ζυμαρικά (νουντλ) + Λουκουμάς (ντόνατ) + Ράμεν From f47526351d1fed9d53d2765fcaf374c14a2eee6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Babos=20G=C3=A1bor?= Date: Wed, 27 Jun 2018 12:20:54 +0000 Subject: [PATCH 08/54] Translated using Weblate (Hungarian) Currently translated at 99.8% (3481 of 3486 strings) --- OsmAnd/res/values-hu/phrases.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-hu/phrases.xml b/OsmAnd/res/values-hu/phrases.xml index 43027a72b0..d7037aa0da 100644 --- a/OsmAnd/res/values-hu/phrases.xml +++ b/OsmAnd/res/values-hu/phrases.xml @@ -410,8 +410,8 @@ Közigazgatási hivatal Vámhivatal Magányos lakóhely - Jelentős városrész - Városnegyed + Városrész + Kis városrész Környék Kiskertes településrész Tanya From 60db26b812f6b474ee8a7e89369c48af1635dbff Mon Sep 17 00:00:00 2001 From: Verdulo Date: Wed, 27 Jun 2018 14:45:08 +0000 Subject: [PATCH 09/54] Translated using Weblate (Esperanto) Currently translated at 100.0% (2593 of 2593 strings) --- OsmAnd/res/values-eo/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-eo/strings.xml b/OsmAnd/res/values-eo/strings.xml index dcf5a51195..e189199cce 100644 --- a/OsmAnd/res/values-eo/strings.xml +++ b/OsmAnd/res/values-eo/strings.xml @@ -2197,7 +2197,7 @@ Proporcia memoro %4$s MB (limito de Android %5$s MB, Dalvik %6$s MB). Vi ankoraŭ havas neniujn GPX-dosierojn Vi ankaŭ povas aldoni GPX-dosierojn al la dosierujo - Aldoni GPX-dosieron + Aldoni pli… Aspekto Eteta Difinado de vojo From f183a397972f4bd4200b3425fd8e85537e90666b Mon Sep 17 00:00:00 2001 From: masakoodaa Date: Wed, 27 Jun 2018 14:28:27 +0000 Subject: [PATCH 10/54] Translated using Weblate (Finnish) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 64.4% (1671 of 2593 strings) Onko "ole kiltti" hyvä? "ole ystävällinen"? --- OsmAnd/res/values-fi/strings.xml | 120 +++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) diff --git a/OsmAnd/res/values-fi/strings.xml b/OsmAnd/res/values-fi/strings.xml index f65823d83e..b9fdf14844 100644 --- a/OsmAnd/res/values-fi/strings.xml +++ b/OsmAnd/res/values-fi/strings.xml @@ -2234,4 +2234,124 @@ Jos pidät OsmAndista ja OSMsta ja haluat tukea niitä, on tämä täydellinen t Tallenna jälkenä Lisäsit %1 pistettä. Kirjoita tiedostonimi ja paina \"Tallenna\". Ole kiltti ja lähetä tästä ilmoituksesta ruutukaappaus osoitteeseen support@osmand.net + Hanki OsmAnd Live avataksesi kaikki toiminnot: Voit ladata rajattomasti päivittäisiä karttapäivityksiä, käyttää kaikkia ilmaisia sekä maksullisia plugineja, Wikipediaa, Wikivoyagea ja paljon muuta. + Oletustyylin muunnos, joka lisää jalkakäytävien ja pyöräteiden kontrastia. Käyttää vanhoja Mapnikin värejä. + Kirjanmerkki + Piilota täysi kuvaus + Näytä täysi kuvaus + Avaa Wikipedia-linkki verkossa + Linkki avataan selaimessa. + Kuinka linkki avataan? + Lue Wikipediaa ilman verkkoyhteyttä + Lataa kaikki + Sovelluksen uudelleenkäynistys + Näytä kuvat + Kartat, joita tarvitset + OsmAnd -tiimi + Suosittuja kohteita + Maksettu sovellus + Maksettu lisäosa + Päivitys saatavilla + Lataa tiedosto + Aloita muokkaus + Hanki rajaton pääsy + Tervetuloa avoimeen betaan + Matkaoppaat + Karttapäivitykset: joka kuukausi + Karttapäivitykset: joka tunti + Sovelluksensisäinen ostos + Kertamaksu + Älä + Vain Wi-Fi yhteydellä + Lataa kuvat + Vain Wi-Fi yhteydellä + Valitse matkaopas + Matkaopas + Sivu saatavilla vain verkossa. Avataanko selaimessa? + Kuvavälimuisti + Poista hakuhistoria + Lataa kuvat + Matkaoppaat + Wikivoyage + Artikkeli poistettu + Hae: maa, kaupunki, alue + Lue + Kirjainmerkit + Tutki + Sisältö + Tulos + Matkaoppaat + Välietapit poistettu karttamerkeistä + Mitään ei löydetty: + Lisää kaikki jäljen välietapit tai valitse erilliset kategoriat + Yhteensä + Poista kaikki välipisteet + Ryhmä poistettu + Etäisyys: etäisin ensin + Etäisyys: lähin ensin + Syötä pituuspiiri + Syötä leveyspiiri + Syötä leveys- ja pituuspiiri + Valinnainen pisteen nimi + Kirjoita tiedostonimi. + Virhe kartan tuonnissa + Kartta tuotu + Tää tästä lähtöpiste + Nykyinen + Lisää välipysähdys + Lisää ensimmäisen pysähdyksen + Näytä suljetut muistiinpanot + Näytä/Piilota OSM-muistiinpanot kartalla + GPX - soveltuu vietäväksi JOSM:iin tai muihin OSM-editoreihin. + OSC - soveltuu vietäväksi OpenStreetMappiin. + GPX-tiedosto + OSC-tiedosto + Valitsi tietostotyyppi + Valitse viennin tyyppi: OSM-muistiinpanot, POI tai molemmat + Kaikki data + OSM-muitiinpanot + Aukeaa huomenna kello + Ilman nimiä + Täällä on: + parkkeerattu + Noudettava ennen + Ilman aikarajaa + Lue täysi artikkeli + Lue artikkeli + Kaikki ryhmän pisteet + + GPX-tiedosto, jossa koordinaatit ja valittujen muistiinpanojen data + GPX-tiedosto, jossa koordinaatit ja kaikkien muistiinpanojen data + Muokkaa hakua. + Toiminnot + Merkki + Luo tai muokkaa OSM-objekteja + Luo tai muokkaa OSM POI:ta, avaa tai kommentoi OSM-muistiinpanoja ja tue jakamalla tallennettuja GPX-tiedostoja. + Poistettu + Muokattu + Lisätty + Merkki %s aktivoitu. + Tökkää kartalla olevaa merkkiä siirtääksesi se ylimmäksi aktiiviseksi merkiksi avaamatta valikkoa. + \"Yhden napautuksen\" aktivointi + Tee muistiinpanoja! + Lisää ääni-, video- tai kuvamuistiinpano mihin tahansa kartan pisteeseen käyttämällä widgettiä tai valikkoa + Lisää + Ilmiasu kartalla + Valitse jälki lisätäksesi sen välietapit merkkeihin. + Valitse suosikkikategoria, johon merkit lisätään. + Jäljen välietapit + Suosikkikategoria + Lisää ryhmä + Tuo ryhmät suosikeista tai GPX-välietapeista. + Luo karttamerkkejä! + Tuo ryhmät + Tuo suosikkiryhmät tai välietapit merkkeinä. + Ohitetuiksi merkatut merkit ilmestyvät tälle ruudulle. + Kaksi + Yksi + Näytä suuntaviiva sijainnistasi aktiivisten merkattujen pisteiden sijainteihin. + Näytä yksi tai kaksi nuolta ilmaisemaan suunta aktiivisiin merkattuihin pisteisiin. + Valitse, kuinka etäisyys aktiivisiin pisteisiin näytetään. + Valitse, kuinka monta suuntailmaisinta näytetään. + Desimaalien määrä From b724cf67deb96f9bd835e80c8ed61337871cedc0 Mon Sep 17 00:00:00 2001 From: Alex Sytnyk Date: Wed, 27 Jun 2018 18:15:25 +0300 Subject: [PATCH 11/54] Add action buttons bar to the main screen --- OsmAnd-telegram/res/layout/activity_main.xml | 29 ++++++++++ OsmAnd-telegram/res/values/dimens.xml | 2 + .../net/osmand/telegram/ui/MainActivity.kt | 56 +++++++++++++++---- .../telegram/ui/MyLocationTabFragment.kt | 25 +++++++++ 4 files changed, 102 insertions(+), 10 deletions(-) diff --git a/OsmAnd-telegram/res/layout/activity_main.xml b/OsmAnd-telegram/res/layout/activity_main.xml index b99649a1b4..5118492b0c 100644 --- a/OsmAnd-telegram/res/layout/activity_main.xml +++ b/OsmAnd-telegram/res/layout/activity_main.xml @@ -27,6 +27,35 @@ + + + + + + + + + + 48dp + 56dp + 0.01 diff --git a/OsmAnd-telegram/src/net/osmand/telegram/ui/MainActivity.kt b/OsmAnd-telegram/src/net/osmand/telegram/ui/MainActivity.kt index a9a0143c4e..f6cd589c61 100644 --- a/OsmAnd-telegram/src/net/osmand/telegram/ui/MainActivity.kt +++ b/OsmAnd-telegram/src/net/osmand/telegram/ui/MainActivity.kt @@ -17,6 +17,8 @@ import android.support.v7.widget.AppCompatTextView import android.support.v7.widget.RecyclerView import android.support.v7.widget.SwitchCompat import android.view.* +import android.widget.LinearLayout +import android.widget.TextView import android.widget.Toast import net.osmand.PlatformUtil import net.osmand.telegram.R @@ -24,6 +26,7 @@ import net.osmand.telegram.TelegramApplication import net.osmand.telegram.helpers.TelegramHelper import net.osmand.telegram.helpers.TelegramHelper.* import net.osmand.telegram.ui.LoginDialogFragment.LoginDialogType +import net.osmand.telegram.ui.MyLocationTabFragment.ActionButtonsListener import net.osmand.telegram.ui.views.LockableViewPager import net.osmand.telegram.utils.AndroidUtils import org.drinkless.td.libcore.telegram.TdApi @@ -38,7 +41,7 @@ private const val PROGRESS_MENU_ID = 2 private const val MY_LOCATION_TAB_POS = 0 private const val LIVE_NOW_TAB_POS = 1 -class MainActivity : AppCompatActivity(), TelegramListener { +class MainActivity : AppCompatActivity(), TelegramListener, ActionButtonsListener { private val log = PlatformUtil.getLog(TelegramHelper::class.java) @@ -54,6 +57,11 @@ class MainActivity : AppCompatActivity(), TelegramListener { private val listeners: MutableList> = mutableListOf() + private var myLocationTabFragment: MyLocationTabFragment? = null + + private lateinit var buttonsBar: LinearLayout + private lateinit var bottomNav: BottomNavigationView + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) @@ -66,17 +74,34 @@ class MainActivity : AppCompatActivity(), TelegramListener { adapter = ViewPagerAdapter(supportFragmentManager) } - findViewById(R.id.bottom_navigation).setOnNavigationItemSelectedListener { - var pos = -1 - when (it.itemId) { - R.id.action_my_location -> pos = MY_LOCATION_TAB_POS - R.id.action_live_now -> pos = LIVE_NOW_TAB_POS + bottomNav = findViewById(R.id.bottom_navigation).apply { + setOnNavigationItemSelectedListener { + var pos = -1 + when (it.itemId) { + R.id.action_my_location -> pos = MY_LOCATION_TAB_POS + R.id.action_live_now -> pos = LIVE_NOW_TAB_POS + } + if (pos != -1 && pos != viewPager.currentItem) { + viewPager.currentItem = pos + return@setOnNavigationItemSelectedListener true + } + false } - if (pos != -1 && pos != viewPager.currentItem) { - viewPager.currentItem = pos - return@setOnNavigationItemSelectedListener true + } + + buttonsBar = findViewById(R.id.buttons_bar).apply { + findViewById(R.id.primary_btn).apply { + text = getString(R.string.shared_string_continue) + setOnClickListener { + myLocationTabFragment?.onPrimaryBtnClick() + } + } + findViewById(R.id.secondary_btn).apply { + text = getString(R.string.shared_string_cancel) + setOnClickListener { + myLocationTabFragment?.onSecondaryBtnClick() + } } - false } if (!LoginDialogFragment.welcomeDialogShown) { @@ -110,6 +135,9 @@ class MainActivity : AppCompatActivity(), TelegramListener { if (fragment is TelegramListener) { listeners.add(WeakReference(fragment)) } + if (fragment is MyLocationTabFragment) { + myLocationTabFragment = fragment + } } override fun onResume() { @@ -207,6 +235,14 @@ class MainActivity : AppCompatActivity(), TelegramListener { } } + override fun switchButtonsVisibility(visible: Boolean) { + val buttonsVisibility = if (visible) View.VISIBLE else View.GONE + if (buttonsBar.visibility != buttonsVisibility) { + buttonsBar.visibility = buttonsVisibility + bottomNav.visibility = if (visible) View.GONE else View.VISIBLE + } + } + private fun removeNonexistingChatsFromSettings() { val presentChatTitles = telegramHelper.getChatTitles() settings.removeNonexistingChats(presentChatTitles) diff --git a/OsmAnd-telegram/src/net/osmand/telegram/ui/MyLocationTabFragment.kt b/OsmAnd-telegram/src/net/osmand/telegram/ui/MyLocationTabFragment.kt index 3dcaa1f52e..af42721c76 100644 --- a/OsmAnd-telegram/src/net/osmand/telegram/ui/MyLocationTabFragment.kt +++ b/OsmAnd-telegram/src/net/osmand/telegram/ui/MyLocationTabFragment.kt @@ -49,11 +49,18 @@ class MyLocationTabFragment : Fragment(), TelegramListener { private val selectedChats = HashSet() + private var actionButtonsListener: ActionButtonsListener? = null + override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { + val activity = activity + if (activity is ActionButtonsListener) { + actionButtonsListener = activity + } + textMarginSmall = resources.getDimensionPixelSize(R.dimen.content_padding_standard) textMarginBig = resources.getDimensionPixelSize(R.dimen.my_location_text_sides_margin) searchBoxHeight = resources.getDimensionPixelSize(R.dimen.search_box_height) @@ -61,6 +68,9 @@ class MyLocationTabFragment : Fragment(), TelegramListener { savedInstanceState?.apply { selectedChats.addAll(getLongArray(SELECTED_CHATS_KEY).toSet()) + if (selectedChats.isNotEmpty()) { + actionButtonsListener?.switchButtonsVisibility(true) + } } val mainView = inflater.inflate(R.layout.fragment_my_location_tab, container, false) @@ -164,6 +174,16 @@ class MyLocationTabFragment : Fragment(), TelegramListener { override fun onSendLiveLocationError(code: Int, message: String) { } + fun onPrimaryBtnClick() { + Toast.makeText(context, "Continue", Toast.LENGTH_SHORT).show() + } + + fun onSecondaryBtnClick() { + selectedChats.clear() + adapter.notifyDataSetChanged() + actionButtonsListener?.switchButtonsVisibility(false) + } + private fun adjustText() { val gravity = if (appBarCollapsed) Gravity.START else Gravity.CENTER val padding = if (appBarCollapsed) textMarginSmall else textMarginBig @@ -270,6 +290,7 @@ class MyLocationTabFragment : Fragment(), TelegramListener { } else { selectedChats.remove(chat.id) } + actionButtonsListener?.switchButtonsVisibility(selectedChats.isNotEmpty()) } } holder.bottomShadow?.visibility = if (lastItem) View.VISIBLE else View.GONE @@ -290,4 +311,8 @@ class MyLocationTabFragment : Fragment(), TelegramListener { val bottomShadow: View? = view.findViewById(R.id.bottom_shadow) } } + + interface ActionButtonsListener { + fun switchButtonsVisibility(visible: Boolean) + } } From 1641e23a8a2893daf5fc41433ea8e605ac4f977e Mon Sep 17 00:00:00 2001 From: Alex Sytnyk Date: Wed, 27 Jun 2018 18:35:29 +0300 Subject: [PATCH 12/54] Fix text style for list items --- OsmAnd-telegram/res/layout/live_now_chat_card.xml | 14 +++++++++----- OsmAnd-telegram/res/layout/user_list_item.xml | 14 +++++++++----- OsmAnd-telegram/res/values/dimens.xml | 3 +++ 3 files changed, 21 insertions(+), 10 deletions(-) diff --git a/OsmAnd-telegram/res/layout/live_now_chat_card.xml b/OsmAnd-telegram/res/layout/live_now_chat_card.xml index 4a18103da4..b28511986d 100644 --- a/OsmAnd-telegram/res/layout/live_now_chat_card.xml +++ b/OsmAnd-telegram/res/layout/live_now_chat_card.xml @@ -1,6 +1,7 @@ - - diff --git a/OsmAnd-telegram/res/layout/user_list_item.xml b/OsmAnd-telegram/res/layout/user_list_item.xml index cd34e0fc5c..ccbf1c6417 100644 --- a/OsmAnd-telegram/res/layout/user_list_item.xml +++ b/OsmAnd-telegram/res/layout/user_list_item.xml @@ -1,6 +1,7 @@ - - diff --git a/OsmAnd-telegram/res/values/dimens.xml b/OsmAnd-telegram/res/values/dimens.xml index 1761217d2f..9af85d9928 100644 --- a/OsmAnd-telegram/res/values/dimens.xml +++ b/OsmAnd-telegram/res/values/dimens.xml @@ -47,6 +47,9 @@ 18sp 16sp + 16sp + 12sp + 15sp From b56ffe8fc77cc7a4c33fc0f6cf3deda02e29c95d Mon Sep 17 00:00:00 2001 From: Alex Sytnyk Date: Wed, 27 Jun 2018 18:36:46 +0300 Subject: [PATCH 13/54] Fix dimen name --- OsmAnd-telegram/res/layout/live_now_chat_card.xml | 2 +- OsmAnd-telegram/res/layout/user_list_item.xml | 2 +- OsmAnd-telegram/res/values/dimens.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/OsmAnd-telegram/res/layout/live_now_chat_card.xml b/OsmAnd-telegram/res/layout/live_now_chat_card.xml index b28511986d..eede1a4445 100644 --- a/OsmAnd-telegram/res/layout/live_now_chat_card.xml +++ b/OsmAnd-telegram/res/layout/live_now_chat_card.xml @@ -45,7 +45,7 @@ android:ellipsize="end" android:maxLines="1" android:textColor="?android:textColorPrimary" - android:textSize="@dimen/list_title_text_size" + android:textSize="@dimen/list_item_title_text_size" app:typeface="@string/font_roboto_regular" tools:text="Share location"/> diff --git a/OsmAnd-telegram/res/layout/user_list_item.xml b/OsmAnd-telegram/res/layout/user_list_item.xml index ccbf1c6417..f445a790a6 100644 --- a/OsmAnd-telegram/res/layout/user_list_item.xml +++ b/OsmAnd-telegram/res/layout/user_list_item.xml @@ -44,7 +44,7 @@ android:ellipsize="end" android:maxLines="1" android:textColor="?android:textColorPrimary" - android:textSize="@dimen/list_title_text_size" + android:textSize="@dimen/list_item_title_text_size" app:typeface="@string/font_roboto_regular" tools:text="Share location"/> diff --git a/OsmAnd-telegram/res/values/dimens.xml b/OsmAnd-telegram/res/values/dimens.xml index 9af85d9928..34925140ae 100644 --- a/OsmAnd-telegram/res/values/dimens.xml +++ b/OsmAnd-telegram/res/values/dimens.xml @@ -47,7 +47,7 @@ 18sp 16sp - 16sp + 16sp 12sp 15sp From f7b49495e3925217545c7688bea61d5b8b9386dc Mon Sep 17 00:00:00 2001 From: Alex Sytnyk Date: Wed, 27 Jun 2018 19:00:40 +0300 Subject: [PATCH 14/54] Fix small UI issues --- .../res/layout/fragment_my_location_tab.xml | 24 +++++++++++------- OsmAnd-telegram/res/values/colors.xml | 2 ++ OsmAnd-telegram/res/values/dimens.xml | 2 +- .../telegram/ui/MyLocationTabFragment.kt | 25 +++++++++++++------ 4 files changed, 36 insertions(+), 17 deletions(-) diff --git a/OsmAnd-telegram/res/layout/fragment_my_location_tab.xml b/OsmAnd-telegram/res/layout/fragment_my_location_tab.xml index db9f66b230..7c5a8e3cfa 100644 --- a/OsmAnd-telegram/res/layout/fragment_my_location_tab.xml +++ b/OsmAnd-telegram/res/layout/fragment_my_location_tab.xml @@ -28,21 +28,27 @@ android:paddingLeft="@dimen/my_location_text_sides_margin" android:paddingRight="@dimen/my_location_text_sides_margin"> - + android:layout_height="@dimen/action_bar_height"> + + + + #ffffff #cccccc + #333333 + diff --git a/OsmAnd-telegram/res/values/dimens.xml b/OsmAnd-telegram/res/values/dimens.xml index 34925140ae..a3aed34334 100644 --- a/OsmAnd-telegram/res/values/dimens.xml +++ b/OsmAnd-telegram/res/values/dimens.xml @@ -6,7 +6,7 @@ 32dp - 60dp + 56dp 24dp 60dp diff --git a/OsmAnd-telegram/src/net/osmand/telegram/ui/MyLocationTabFragment.kt b/OsmAnd-telegram/src/net/osmand/telegram/ui/MyLocationTabFragment.kt index af42721c76..bf1828024f 100644 --- a/OsmAnd-telegram/src/net/osmand/telegram/ui/MyLocationTabFragment.kt +++ b/OsmAnd-telegram/src/net/osmand/telegram/ui/MyLocationTabFragment.kt @@ -6,6 +6,7 @@ import android.graphics.drawable.Drawable import android.graphics.drawable.GradientDrawable import android.os.Build import android.os.Bundle +import android.support.annotation.ColorRes import android.support.design.widget.AppBarLayout import android.support.v4.app.Fragment import android.support.v4.content.ContextCompat @@ -218,22 +219,32 @@ class MyLocationTabFragment : Fragment(), TelegramListener { val animatorSet = AnimatorSet() animatorSet.duration = 200 animatorSet.playTogether(cornerAnimator, marginAnimator) - if (Build.VERSION.SDK_INT >= 21) { - if (appBarCollapsed) { - animatorSet.addListener(object : AnimatorListenerAdapter() { - override fun onAnimationEnd(animation: Animator?) { - if (Build.VERSION.SDK_INT >= 21 && appBarCollapsed) { + if (appBarCollapsed) { + animatorSet.addListener(object : AnimatorListenerAdapter() { + override fun onAnimationEnd(animation: Animator?) { + if (appBarCollapsed) { + updateTitleTextColor(R.color.app_bar_title_light) + if (Build.VERSION.SDK_INT >= 21) { appBarLayout.outlineProvider = appBarOutlineProvider } } - }) - } else { + } + }) + } else { + updateTitleTextColor(R.color.ctrl_active_light) + if (Build.VERSION.SDK_INT >= 21) { appBarLayout.outlineProvider = null } } animatorSet.start() } + private fun updateTitleTextColor(@ColorRes color: Int) { + context?.also { + title.setTextColor(ContextCompat.getColor(it, color)) + } + } + private fun updateList() { val chatList = telegramHelper.getChatList() val chats: MutableList = mutableListOf() From 1b215f7056b68c1b1629b8ddc46c5df2c0dca5fa Mon Sep 17 00:00:00 2001 From: ace shadow Date: Wed, 27 Jun 2018 18:35:59 +0000 Subject: [PATCH 15/54] Translated using Weblate (Slovak) Currently translated at 100,0% (2593 of 2593 strings) --- OsmAnd/res/values-sk/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-sk/strings.xml b/OsmAnd/res/values-sk/strings.xml index b6790a41db..fd9975c967 100644 --- a/OsmAnd/res/values-sk/strings.xml +++ b/OsmAnd/res/values-sk/strings.xml @@ -2223,7 +2223,7 @@ Dĺžka %2$s Nemáte zatiaľ žiadne súbory GPX Do priečinka môžete pridať aj súbory GPX - Pridať súbor GPX + Pridať viac… Vzhľad Jemné Výpočet trasy From 9b330e789262e5b20c53d4593b42f6617fd06785 Mon Sep 17 00:00:00 2001 From: masakoodaa Date: Wed, 27 Jun 2018 15:13:03 +0000 Subject: [PATCH 16/54] Translated using Weblate (Finnish) Currently translated at 70,3% (1824 of 2593 strings) some strings need to be checked --- OsmAnd/res/values-fi/strings.xml | 286 ++++++++++++++++++++----------- 1 file changed, 183 insertions(+), 103 deletions(-) diff --git a/OsmAnd/res/values-fi/strings.xml b/OsmAnd/res/values-fi/strings.xml index b9fdf14844..c18bcafde0 100644 --- a/OsmAnd/res/values-fi/strings.xml +++ b/OsmAnd/res/values-fi/strings.xml @@ -280,7 +280,7 @@ Pystysuunta Vaakasuunta Näytön orientaatio - Pysty, vaaka tai laitteen + Pysty, vaaka tai sama kuin laitteen. Lisää uusi sääntö Reitit Pysähdys @@ -761,7 +761,7 @@ Etsi Kirjoita etsiäksesi kaikista Nykyisen kartan keskusta - Kartta asetukset + Kartta-asetukset Lisäosat Lisäosat Valitse kohde @@ -778,7 +778,7 @@ Vältä moottoriteitä Ei mitään ei mitään - Navigointi asetukset + Navigointiasetukset Syötä leveysaste & pituusaste valitussa muodossa (D - astetta, M - minuuttia, S - sekuntia) Muoto Ulkoinen tallennustila @@ -913,15 +913,15 @@ Maailmanlaajuiset tiedot (välillä 70 astetta pohjoista ja 70 astetta eteläist Etsi kaupunkia tai aluetta Poistu %1$d. liittymästä Reitin laskenta - Sinulla ei ole vielä jälkiä - Voit myös lisätä jälkiä hakemistoon + Sinulla ei ole vielä yhtään GPX-tiedostoa + Voit myös lisätä GPX-tiedostoja hakemistoon Lisää jälki Ulkoasu Matkan tallennus (ei dataa) - Näytä huomautus, josta voi aloittaa matkan mittauksen painamalla Nauhoita-näppäintä + Näytä ilmoitus, josta voi aloittaa matkan tallennuksen painamalla Nauhoita-näppäintä. Huomautukset Jatka Keskeytä @@ -931,7 +931,7 @@ Maailmanlaajuiset tiedot (välillä 70 astetta pohjoista ja 70 astetta eteläist Ei dataa Korkeuskäyräviivojen väripaletti Miniminopeuden kirjaaminen - Aseta miniminopeus kirjattavalle pisteelle + Aseta miniminopeus kirjattavalle pisteelle. Liikkeen tunnistuksen kirjaus Aseta kirjattavan pisteen minimietäisyys edellisestä sijainnista Pienin kirjattava tarkkuus @@ -966,18 +966,18 @@ Maailmanlaajuiset tiedot (välillä 70 astetta pohjoista ja 70 astetta eteläist Vapaata tilaa Anna oikeus Salli pääsy sijaintiin - Hae sijaintini - Älä näytä päivityksiä - Haluatko päivittää kaikki kartat nyt? + Löydä sijaintini + Älä näytä uusia versioita + Päivitetäänkö kaikki kartat nyt? Poista kaikki tiilet Polttoainetaloudellinen reitti - Käytä polttoainetaloudellista reittiä (tavallisesti lyhin) + Käytä polttoainetta säästävää reittiä (tavallisesti lyhin). Muuta Aloita Koordinaattihaku Edistynyt koordinaattihaku Takaisin hakuun - Haluatko poistaa valitsemasi jäsenet historiasta? + Haluatko poistaa valitsemasi kohteet historiasta? Näytä %1$s kartalla Luokat Postinumero @@ -986,20 +986,20 @@ Maailmanlaajuiset tiedot (välillä 70 astetta pohjoista ja 70 astetta eteläist Avoinna 24/7 Muistikortti Koordinaattimuoto - Maantieteellisten koordinaattien muoto + Maantieteellisten koordinaattien muoto. Bussi Juna Nykyinen jälki Akun taso - Muuta merkin sijaintia - OSM Live suunnistamine - Päämäärää ei ole asetettu + Muuta markkerin sijaintia + OsmAnd Live -navigointi + Kohdetta ei asetettu Oletusväri Valitse luokka Anna nimi Anna luokka - Anna kuvaus - Kartta on linkitetty sijaintiin + Syötä kuvaus. + Kartta linkitetty sijaintiin Ei asennettu Laajenna Navigointi ylös @@ -1018,8 +1018,8 @@ Maailmanlaajuiset tiedot (välillä 70 astetta pohjoista ja 70 astetta eteläist - Siirrä ylös - Siirrä alas + Siirrä ↑ + Siirrä ↓ Lopeta navigaatio Vältä teitä Jaettu muisti @@ -1049,29 +1049,29 @@ Maailmanlaajuiset tiedot (välillä 70 astetta pohjoista ja 70 astetta eteläist Maanpäälliset objektit %1$s pysähdystä ennen Etsi %1$s etäisyydellä - " jaettu OsmAndista" + jaettu OsmAndilla lähtien Alue - Siirrä karttaa muuttaaksesi merkin sijaintia + Siirrä karttaa muuttaaksesi markkerin sijaintia Seuraa meitä - Osoita kohdepisteen suuntaa äänellä - Osoita kohdepisteen suuntaa värinällä + Osoita kohdepisteen suuntaa äänellä. + Osoita kohdepisteen suuntaa värinällä. Ota käyttöön navigaatio OSM Liven muutoksilla (Beta) - Älä muuta reittiä kun olet pois tieltä - Estä automaattinen reitin uudelleen laskenta kun olet varsin kaukana oikealta tieltä - Älä vaihda reitttiä virheellisellä suunnalla - Estä automaattinen reitin uudelleenlaskenta kun olet liikkumassa väärään suuntaan + Ei reitin uudelleenlaskentaa reitiltä poistuttua + Estä automaattinen reitin uudelleenlaskenta reitiltä poistuessa. + Älä vaihda reittiä virheellisellä suunnalla + Estä automaattinen reitin uudelleenlaskenta liikkuessasi väärään suuntaan. Älykkäät automaattiset huomautukset - Huomauta ainoastaan kun suuntaa kohdepisteeseen on muutettu + Huomauta ainoastaan kun suunta kohdepisteeseen muuttuu. Automaattisen huomautuksen väliaika - Minimi aikaväli huomautusten välillä + Minimiaika kuulutusten välillä. Laajennettu luettelo Tiivistetty luettelo Tyhjä luettelo Puurakenteinen luettelo Lisää karttamerkit kartalla - Nyt sovelluksella on lupa kirjoittaa ulkoiselle tallennuslaitteelle. Uudelleenkäynnistys vaaditaan. + Sovelluksella on nyt lupa kirjoittaa ulkoiselle tallennusvälineelle. Uudelleenkäynnistys vaaditaan. Yläpalkki Koko raportti "OpenStreetMap-käyttäjätunnus ja -salasana" @@ -1090,17 +1090,17 @@ Maailmanlaajuiset tiedot (välillä 70 astetta pohjoista ja 70 astetta eteläist Muut markkerit Lataa anonyymisti Näytä läpinäkyvä hakutieto - Ensimmäinen karttamerkki - Toinen karttamerkki + Ensimmäinen karttamarkkeri + Toinen karttamarkkeri Haluatko lisätä kaikki pisteet karttamarkkereihin? Lisää karttamarkkereihin Valitse karttamarkkerit Käänteinen järjestys Aktivoi karttamarkkeriominaisuus Haluatko poistaa kaikki aktiiviset markkerit? - Haluatko tyhjentää karttamarkerien historian? + Tyhjennä karttamarkkerien historia? Aktivoi markkerit - Karttamarkerit + Karttamarkkerit Karttamarkkeri Takaisin karttaan Kulkuväline @@ -1108,9 +1108,9 @@ Maailmanlaajuiset tiedot (välillä 70 astetta pohjoista ja 70 astetta eteläist Magneettinen suunta Suhteellinen suunta Anonyymi käyttäjä ei voi: -- luoda ryhmiä; -- synkronoida ryhmiä ja laitteita palvelimen kanssa; -- hallita ryhmiä ja laitteita henkilökohtaisella hallintapanelilla websivustolla. +\n- luoda ryhmiä; +\n- synkronoida ryhmiä ja laitteita palvelimen kanssa; +\n- hallita ryhmiä ja laitteita henkilökohtaisella hallintapaneelilla websivustolla. Muokkauksia %1$s, sijoitus %2$s, muokkaukset yhteensä %3$s OSM-muokkaajien sijoitukset Tilaa ei ole tarpeeksi! @@ -1334,7 +1334,7 @@ Maailmanlaajuiset tiedot (välillä 70 astetta pohjoista ja 70 astetta eteläist Kaikki tiedostot ovat päivitettyjä Käytä OpenGL hahmottamista POI tyyppi - Rivien lukumäärä panelissa %1$s + Rivien lukumäärä paneelissa %1$s Ole hyvä ja määritä POI tyyppi. Työpäivät Viime sijainnit @@ -1408,9 +1408,9 @@ Maailmanlaajuiset tiedot (välillä 70 astetta pohjoista ja 70 astetta eteläist Karttaselite Haluatko todella tallettaa POIn inman POI tyyppiä? Muokkaa OSM muutosta - Käytä hallintapanelia + Käytä hallintapaneelia Käytä valikkoa - Hallintapaneli tai valikko-ohjaus + Hallintapaneeli tai valikko-ohjaus Päivitä Lataa ainoastaan käyttäen WiFiä Live päivitys @@ -1484,7 +1484,7 @@ Maailmanlaajuiset tiedot (välillä 70 astetta pohjoista ja 70 astetta eteläist Paikalliset nimet Kartalle haluttu kieli Eteenpäin - Hallintapaneli + Hallintapaneeli Online seuranta (GPX pakollinen) Aloita online seuranta Lopeta online seuranta @@ -1668,7 +1668,7 @@ Jälki %2$s TTS ääni Uusi haku Valitse tekstin koko nimille kartalla - Kartan merkkien koko + Kartan fonttikoko Hahmottamisen testaustiedot Näytä hahmottamisen tehokkuus Puretaan uutta tietoa… @@ -1733,7 +1733,7 @@ Jälki %2$s Poista muutos Yritä uudelleen Virhe: {0} - Konfiguroi hallintapaneli + Konfiguroi hallintapaneeli Kortti oli piilotettu PALAUTA @@ -1748,7 +1748,7 @@ Jälki %2$s %.1f MB Päivitä kaikki (%1$s MB) Anna maan nimi - Voit ladata huomautuksia OSM:iin anonyymisti tai OpenStreetMap.org-profiilillasi. + Lataa OSM-huomautuksesi anonyymisti tai käyttämällä OpenStreetMap.org-profiiliasi. Lähimmät Wikipedia-artikkelit Lataa (vie) POI:t @@ -1790,7 +1790,7 @@ Jälki %2$s Nopeusrajoitus Rajatarkastus Tullirakennus - Pysähtymismerkki + Stop-merkki Hidaste Nopeuskamera Liikennevaroitus @@ -1946,8 +1946,8 @@ Paina ja pidä nähdäksesi kartalla Valitse tyyli ilmaistaksesi suhteelliset suunnat liikuttaessa Käynnistä automaattiset ilmoitukset Keskeytä automaattiset ilmoitukset - Suunta (äänipalautteena) - Suunta (värinäpalautteena) + Reittiohjaus (äänipalautteena) + Reittiohjaus (värinäpalautteena) @@ -1955,7 +1955,7 @@ Paina ja pidä nähdäksesi kartalla - Valittuun datahakemistoon ei voi kirjoittaa. Datahakemisto on hetkellisesti vaihdettu sisäiseen muistiin. Ole hyvä ja valitse sopiva datahakemisto. + "Datahakemisto on vaihdettu sisäiseen muistiin, sillä valittu hakemisto on vain luku -tilassa. Ole hyvä ja valitse sopiva datahakemisto." Tarvitsemme sen huolehtiaksemme tiedostasi maksuosuuksia varten Translitteroi, jos nimi puuttuu kielellä %1$s Translitteroi nimet @@ -1977,7 +1977,7 @@ Jos pidät OsmAndista ja OSMsta ja haluat tukea niitä, on tämä täydellinen t Määrittele Openstreetmap.org (OSM) asetukset jotka tarvitaan OSM huomautuksiin Näytä POI kartalla (käytä viimeksi valittua suodatinta) Salli moottoritiet - Salli moottoritiet + Salli moottoritiet. Nauhoituksen jako Käytä nauhoituksen jakoa Kirjoita leikkeet uudelleen kun käytetty tila ylittää tallennustilan koon @@ -1988,7 +1988,7 @@ Jos pidät OsmAndista ja OSMsta ja haluat tukea niitä, on tämä täydellinen t Tiekarttanäyttö Voit muuttaa toiselle reitille valitsemalla vältettäviä teitä Korkeuskäyräviivojen leveys - Korkeuskäyriäviivojen leveys + Korkeuskäyräviivojen leveys Vesi Vanha haku Näytä vanha haku @@ -2092,15 +2092,15 @@ Jos pidät OsmAndista ja OSMsta ja haluat tukea niitä, on tämä täydellinen t Keskitaso Korkeuskäyräviivojen tiheys Korkeuskäyräviivojen tiheys - Korkeuskäyrät - Näytä korkeuskäyrät ja -pisteet + Merelliset korkeuskäyrät + Näytä korkeuskäyrät ja -pisteet. Reitin korkeus Lasku Nousu Korkeuserot - Keskimäärin + Keskimääräinen korkeus Aika Kokonaisetäisyys @@ -2141,14 +2141,14 @@ Jos pidät OsmAndista ja OSMsta ja haluat tukea niitä, on tämä täydellinen t Muokkaa huomautusta Muokkaa OSM huomautusta Lisää lähtöpisteen kopio maalipisteeksi. - Tee kiertoajelu + Tee edestakainen matka Markkerit Koordinaattien muoto Käytä järjestelmän näppäimistöä Nopea koordinaattien syöttö Vältä jääteitä, kahlaamoja - Vältä jääteitä ja kahlaamoja + Vältä jääteitä ja kahlaamoja. Käytä sijaintia Lisää sijaintisi täydellisen reittisuunnitelmasi lähtöpisteeksi. Sijaintini @@ -2157,16 +2157,16 @@ Jos pidät OsmAndista ja OSMsta ja haluat tukea niitä, on tämä täydellinen t Lajittele Koordinaattien syöttö on talletettu - Vie markkerisi tiedostoon jonka voit määrittellä tässä: - Tallenna jälkenä + Vie markkerisi seuraavaan GPX-tiedostoon: + Tallenna GPX-tiedostona Siirrä historiaan - Ryhmä poistetaan uudelleen käynnistyksen jälkeen + Ryhmä poistetaan sovelluksen uudelleenkäynnistyksen jälkeen. Näytä nuolet kartalla - Poista Karttamarkkereista + Poista karttamarkkereista laskeva nouseva Päiväys lisätty - Järjestetys: + Järjestysperuste: Kaikki karttamarkkerit siirretty historiaan Karttamarkkeri siirretty historiaan Karttamarkkeri siirretty aktiiviseksi @@ -2180,8 +2180,8 @@ Jos pidät OsmAndista ja OSMsta ja haluat tukea niitä, on tämä täydellinen t Etäisyyden näyttö Lajittelu Älä käytä animaatioita - Poistaa animaatioiden käytön sovellutuksessa - Poistu ilman talletusta? + Poistaa animaatiot käytöstä sovelluksessa. + Poistu tallentamatta? Tallenna reittipisteinä Tallenna viivana Reittipiste @@ -2195,30 +2195,30 @@ Jos pidät OsmAndista ja OSMsta ja haluat tukea niitä, on tämä täydellinen t Näytä kartalla tallennuksen jälkeen Selaile karttaa ja lisää pisteet Mittaa etäisyys - Palauta/keskeytä navigointi - Näytä Navigointi lopetettu -vuoropuhelu + Pysäytä/jatka navigointia + Näytä Navigointi lopetettu -dialogi Käynnistä/lopeta navigointi - Käynnistä uudelleen + Resetoi Lataa uudelleen - Väärä käyttäjänimi! - Päiväykset - Anna käyttäjänimi + Väärä käyttäjänimi + Päiväyks + Kirjoita käyttäjänimi Käyttäjänimi Käyttöoikeudet Etäisyys korjattu - Mapillary kuva + Mapillary-kuva Avaa Mapillary Asenna - Online kuvat + Online-kuvat Lisää kuviin - Tälle sijainnille ei ole kuvia + Tästä sijainnista ei ole kuvia. Mapillary Käynnistä haku uudelleen - EI löytynyt mitään :( - Näytä/piilota OSM huomautukset - Näytä OSM huomautukset - Piilota OSM huomautukset - Lajiteltu etäisyydellä + Mitään ei löytynyt + Näytä/piilota OSM-huomautukset + Näytä OSM-huomautukset + Piilota OSM-huomautukset + Lajiteltu etäisyyden perusteella Etsi suosikeista Piilota zoomaustasosta Näyttääksesi korkeuskäyrät kartalla tulee Sinun ladata korkeuskäyräkartta tältä alueelta. @@ -2226,14 +2226,14 @@ Jos pidät OsmAndista ja OSMsta ja haluat tukea niitä, on tämä täydellinen t Näytä zoomaustasolta Näytä zoomaustaso: %1$s Ryhmän nimi - Muuta väri + Muuta väriä Muokkaa nimeä - Sijaintini animaatio + Animoi sijaintini Muokkaa pistettä Lisää piste Tallenna jälkenä Lisäsit %1 pistettä. Kirjoita tiedostonimi ja paina \"Tallenna\". - Ole kiltti ja lähetä tästä ilmoituksesta ruutukaappaus osoitteeseen support@osmand.net + Ole ystävällinen ja lähetä tästä ilmoituksesta ruutukaappaus osoitteeseen support@osmand.net Hanki OsmAnd Live avataksesi kaikki toiminnot: Voit ladata rajattomasti päivittäisiä karttapäivityksiä, käyttää kaikkia ilmaisia sekä maksullisia plugineja, Wikipediaa, Wikivoyagea ja paljon muuta. Oletustyylin muunnos, joka lisää jalkakäytävien ja pyöräteiden kontrastia. Käyttää vanhoja Mapnikin värejä. Kirjanmerkki @@ -2244,7 +2244,7 @@ Jos pidät OsmAndista ja OSMsta ja haluat tukea niitä, on tämä täydellinen t Kuinka linkki avataan? Lue Wikipediaa ilman verkkoyhteyttä Lataa kaikki - Sovelluksen uudelleenkäynistys + Sovelluksen uudelleenkäynnistys Näytä kuvat Kartat, joita tarvitset OsmAnd -tiimi @@ -2281,9 +2281,9 @@ Jos pidät OsmAndista ja OSMsta ja haluat tukea niitä, on tämä täydellinen t Sisältö Tulos Matkaoppaat - Välietapit poistettu karttamerkeistä + Välietapit poistettu karttamarkkereista Mitään ei löydetty: - Lisää kaikki jäljen välietapit tai valitse erilliset kategoriat + Lisää kaikki jäljen välietapit tai valitse erilliset kategoriat. Yhteensä Poista kaikki välipisteet Ryhmä poistettu @@ -2299,17 +2299,17 @@ Jos pidät OsmAndista ja OSMsta ja haluat tukea niitä, on tämä täydellinen t Tää tästä lähtöpiste Nykyinen Lisää välipysähdys - Lisää ensimmäisen pysähdyksen - Näytä suljetut muistiinpanot - Näytä/Piilota OSM-muistiinpanot kartalla + Lisää ensimmäisen pysähdys + Näytä suljetut huomautukset + Näytä/Piilota OSM-huomautukset kartalla. GPX - soveltuu vietäväksi JOSM:iin tai muihin OSM-editoreihin. OSC - soveltuu vietäväksi OpenStreetMappiin. GPX-tiedosto OSC-tiedosto Valitsi tietostotyyppi - Valitse viennin tyyppi: OSM-muistiinpanot, POI tai molemmat + Valitse viennin tyyppi: OSM-huomautukset, POI tai molemmat. Kaikki data - OSM-muitiinpanot + OSM-huomautukset Aukeaa huomenna kello Ilman nimiä Täällä on: @@ -2319,39 +2319,119 @@ Jos pidät OsmAndista ja OSMsta ja haluat tukea niitä, on tämä täydellinen t Lue täysi artikkeli Lue artikkeli Kaikki ryhmän pisteet - - GPX-tiedosto, jossa koordinaatit ja valittujen muistiinpanojen data - GPX-tiedosto, jossa koordinaatit ja kaikkien muistiinpanojen data + + GPX-tiedosto, jossa koordinaatit ja valittujen huomautuksien data. + GPX-tiedosto, jossa koordinaatit ja kaikkien huomautuksien data. Muokkaa hakua. Toiminnot - Merkki + Markkeri Luo tai muokkaa OSM-objekteja - Luo tai muokkaa OSM POI:ta, avaa tai kommentoi OSM-muistiinpanoja ja tue jakamalla tallennettuja GPX-tiedostoja. + Luo tai muokkaa OSM POI:ta, avaa tai kommentoi OSM-huomautuksia ja tue jakamalla tallennettuja GPX-tiedostoja. Poistettu Muokattu Lisätty - Merkki %s aktivoitu. - Tökkää kartalla olevaa merkkiä siirtääksesi se ylimmäksi aktiiviseksi merkiksi avaamatta valikkoa. + Markkeri %s aktivoitu. + Tökkää kartalla olevaa markkeria siirtääksesi se ylimmäksi aktiiviseksi markkeriksi avaamatta valikkoa. \"Yhden napautuksen\" aktivointi Tee muistiinpanoja! - Lisää ääni-, video- tai kuvamuistiinpano mihin tahansa kartan pisteeseen käyttämällä widgettiä tai valikkoa + Lisää ääni-, video- tai kuvamuistiinpano mihin tahansa kartan pisteeseen käyttämällä widgettiä tai valikkoa. Lisää Ilmiasu kartalla - Valitse jälki lisätäksesi sen välietapit merkkeihin. - Valitse suosikkikategoria, johon merkit lisätään. + Valitse jälki lisätäksesi sen välietapit markkereihin. + Valitse suosikkikategoria, johon markkerit lisätään. Jäljen välietapit Suosikkikategoria Lisää ryhmä Tuo ryhmät suosikeista tai GPX-välietapeista. - Luo karttamerkkejä! + Luo karttamarkkereita! Tuo ryhmät - Tuo suosikkiryhmät tai välietapit merkkeinä. - Ohitetuiksi merkatut merkit ilmestyvät tälle ruudulle. + Tuo suosikkiryhmät tai välietapit markkereina. + Ohitetuiksi merkatut markkerit ilmestyvät tälle ruudulle. Kaksi Yksi - Näytä suuntaviiva sijainnistasi aktiivisten merkattujen pisteiden sijainteihin. - Näytä yksi tai kaksi nuolta ilmaisemaan suunta aktiivisiin merkattuihin pisteisiin. + Näytä suuntaviiva sijainnistasi aktiivisten markkerien sijainteihin. + Näytä yksi tai kaksi nuolta ilmaisemaan suunta aktiivisiin markkereihin. Valitse, kuinka etäisyys aktiivisiin pisteisiin näytetään. Valitse, kuinka monta suuntailmaisinta näytetään. Desimaalien määrä + Muokkaa toimintoja + DD°MM′SS″ + DD.DDDDDD° + DD.DDDDD° + DD°MM.MMMM′ + DD°MM.MMM′ + E + W + S + N + Näytä numeronäppäimistö + Liitä + "Vaihda automaattisesti seuraavaan kenttään, kun %1$d desimaalia on syötetty. " + %1$d desimaalia + Seuraava kenttä + Uudelleennimeä markkeri + Kartan koskettaminen näyttää/piilottaa nappulat ja widgetit. + Kokoruututila + Merkkaa ohitetuksi + voidaan tuoda suosikkina tai GPX-tiedostona. + Tuo GPX-tiedostona + Tuo suosikkina + Tuo tiedosto + Väärä syöte + Syötä uusi nimi + Takaisin + Näytä + Välietapit lisätty karttamarkkereihin + Väärä muoto + Tie + Näytä kartta + Reitti laskettu + Edestakainen matka + Sinun täytyy lisätä ainakin yksi markkeri käyttääksesti tätä toimintoa. + Huomautusta ei voitu muokata + Valitse koordinaattien syöttömuoto. Voit aina vaihtaa sen tökkäämällä asetuksia. + Näytä suuntaviivat + Näytä ohitetut + Piilota ohitetut + Valitse kuinka korkeutta ja suuntaa karttamerkkareihin ilmaistaan karttaruudulla: + Viimeksi käytetty: %1$s + Siirrä kaikki historiaan + Jatka kartalla näyttämistä + Viiva + OsmAnd yhdistää pisteet valitun profiilin mukaisilla reiteillä. + Tallenna pisteet joko reittipisteinä tai viivana. + Paina tätä nappulaa pysäyttääksesi tai jatkaaksesi navigointia. + Paina tätä nappulaa aloittaaksesi tai lopettaaksesi navigoinnin. + Säilytä tallennetut jäljet kuukausittaisissa kansioissa + Säilytä tallennetut jäljet kuukausien mukaisissa alihakemistoissa (kuten 2018-01). + Lataa karttalaatat uudelleen nähdäksesi ajantasaista dataa. + Karttalaattavälimuisti + Näytä vain lisätyt kuvat + Näytä vain kuvat, jotka on lisännyt + Suoda kuvat lisääjän tai päivänmäärän perusteella. Aktiivinen vain lähelle tarkennettaessa. + OsmAnd ei voi tuoda tiedostoa. Ole hyvä ja tarkista, onko OsmAndilla tarvittavat käyttöoikeudet tiedoston lukemiseen sen sijainnista. + Mapillary-widgetti + Määränpääsi sijaitsee yksityisalueella. Saako tällä matkalla käyttää yksityisteitä? + Kasvata haun laajuutta + Muokkaa hakusanoja tai lisää haun laajuutta. + Tämän toimintonappulan tökkääminen näyttää tai piilottaa OSM-huomautukset kartalla. + Väriskeema + Salli yksityisalueet + Salli pääsy yksityisalueille. + Ota käyttöön animoitu sijaintini kartan vieritys navigaation aikana. + Yleiskatsaus + Valitse tie + Kirjoita osoite + Kirjoita kaupunki + Kirjoita postinumero + Lähimmät kaupungit + Valitse kaupunki + Valitse postinumero + Kartan automaattinen tarkennus päälle/pois + Tämän toimintonappulan koskettaminen ottaa käyttöön/poistaa käytöstä nopeuteesi perustuvan kartan automaattisen tarkennuksen. + "Ota kartan automaattinen tarkennus käyttöön " + "Poista kartan automaattinen tarkennus käytöstä " + Lisää määränpää + Korvaa määränpää + Lisää ensimmäinen välietappi From 1643c6ab11f051137543f79224aa19612b8d86e6 Mon Sep 17 00:00:00 2001 From: Branko Kokanovic Date: Wed, 27 Jun 2018 14:50:37 +0000 Subject: [PATCH 17/54] Translated using Weblate (Serbian) Currently translated at 99,9% (2592 of 2593 strings) --- OsmAnd/res/values-sr/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-sr/strings.xml b/OsmAnd/res/values-sr/strings.xml index 0b6d7df26c..b86925fdec 100644 --- a/OsmAnd/res/values-sr/strings.xml +++ b/OsmAnd/res/values-sr/strings.xml @@ -1107,7 +1107,7 @@ Прорачун путање Још увек немате ниједан GPX фајл Такође, можете додати GPX фајлове у фасциклу - Додај GPX фајл + И још… Приказ From eef6b7e6545f825b48a4162f39109045b5d00590 Mon Sep 17 00:00:00 2001 From: Alex Sytnyk Date: Thu, 28 Jun 2018 11:48:50 +0300 Subject: [PATCH 18/54] Improve animation --- .../telegram/ui/MyLocationTabFragment.kt | 32 ++++++++----------- 1 file changed, 14 insertions(+), 18 deletions(-) diff --git a/OsmAnd-telegram/src/net/osmand/telegram/ui/MyLocationTabFragment.kt b/OsmAnd-telegram/src/net/osmand/telegram/ui/MyLocationTabFragment.kt index bf1828024f..4b49ab6f96 100644 --- a/OsmAnd-telegram/src/net/osmand/telegram/ui/MyLocationTabFragment.kt +++ b/OsmAnd-telegram/src/net/osmand/telegram/ui/MyLocationTabFragment.kt @@ -6,7 +6,6 @@ import android.graphics.drawable.Drawable import android.graphics.drawable.GradientDrawable import android.os.Build import android.os.Bundle -import android.support.annotation.ColorRes import android.support.design.widget.AppBarLayout import android.support.v4.app.Fragment import android.support.v4.content.ContextCompat @@ -216,30 +215,27 @@ class MyLocationTabFragment : Fragment(), TelegramListener { searchBox.layoutParams = params } - val animatorSet = AnimatorSet() - animatorSet.duration = 200 - animatorSet.playTogether(cornerAnimator, marginAnimator) - if (appBarCollapsed) { - animatorSet.addListener(object : AnimatorListenerAdapter() { + AnimatorSet().apply { + duration = 200 + playTogether(cornerAnimator, marginAnimator) + addListener(object : AnimatorListenerAdapter() { override fun onAnimationEnd(animation: Animator?) { - if (appBarCollapsed) { - updateTitleTextColor(R.color.app_bar_title_light) - if (Build.VERSION.SDK_INT >= 21) { - appBarLayout.outlineProvider = appBarOutlineProvider - } + updateTitleTextColor() + if (appBarCollapsed && Build.VERSION.SDK_INT >= 21) { + appBarLayout.outlineProvider = appBarOutlineProvider } } }) - } else { - updateTitleTextColor(R.color.ctrl_active_light) - if (Build.VERSION.SDK_INT >= 21) { - appBarLayout.outlineProvider = null - } + start() + } + + if (!appBarCollapsed && Build.VERSION.SDK_INT >= 21) { + appBarLayout.outlineProvider = null } - animatorSet.start() } - private fun updateTitleTextColor(@ColorRes color: Int) { + private fun updateTitleTextColor() { + val color = if (appBarCollapsed) R.color.app_bar_title_light else R.color.ctrl_active_light context?.also { title.setTextColor(ContextCompat.getColor(it, color)) } From 6739e7101867fa162ead861c9acc2d2de256fff5 Mon Sep 17 00:00:00 2001 From: xmd5a Date: Thu, 28 Jun 2018 12:01:36 +0300 Subject: [PATCH 19/54] Add phrases --- OsmAnd/res/values-ru/phrases.xml | 3 +++ OsmAnd/res/values/phrases.xml | 3 +++ 2 files changed, 6 insertions(+) diff --git a/OsmAnd/res/values-ru/phrases.xml b/OsmAnd/res/values-ru/phrases.xml index a0b34f0aad..971517ac80 100644 --- a/OsmAnd/res/values-ru/phrases.xml +++ b/OsmAnd/res/values-ru/phrases.xml @@ -3815,4 +3815,7 @@ Обнажение пород + Бесконтактная оплата + Бесконтактная оплата не принимается + diff --git a/OsmAnd/res/values/phrases.xml b/OsmAnd/res/values/phrases.xml index 3fb134830f..a341ab9991 100644 --- a/OsmAnd/res/values/phrases.xml +++ b/OsmAnd/res/values/phrases.xml @@ -3838,4 +3838,7 @@ Outcrop + Contactless + Contactless not accepted + From 4a1e8f847faa07541c2712894fdb1185a9f5dd07 Mon Sep 17 00:00:00 2001 From: Alex Sytnyk Date: Thu, 28 Jun 2018 12:16:22 +0300 Subject: [PATCH 20/54] Add "RobotoMono-Bold" font --- OsmAnd-telegram/build.gradle | 1 + OsmAnd-telegram/res/values/fonts.xml | 1 + .../src/net/osmand/telegram/helpers/FontCache.kt | 11 +++++++---- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/OsmAnd-telegram/build.gradle b/OsmAnd-telegram/build.gradle index ae1adfc95d..a891f00470 100644 --- a/OsmAnd-telegram/build.gradle +++ b/OsmAnd-telegram/build.gradle @@ -114,6 +114,7 @@ task downloadPrebuiltTelegram { task collectFonts(type: Copy) { from "../../resources/fonts" + from "../../resources/fonts-telegram" into "assets/fonts" include "*.ttf" } diff --git a/OsmAnd-telegram/res/values/fonts.xml b/OsmAnd-telegram/res/values/fonts.xml index b6a1c3d72c..4e37d58ffd 100644 --- a/OsmAnd-telegram/res/values/fonts.xml +++ b/OsmAnd-telegram/res/values/fonts.xml @@ -2,4 +2,5 @@ fonts/Roboto-Regular.ttf fonts/Roboto-Medium.ttf + fonts/RobotoMono-Bold.ttf diff --git a/OsmAnd-telegram/src/net/osmand/telegram/helpers/FontCache.kt b/OsmAnd-telegram/src/net/osmand/telegram/helpers/FontCache.kt index 4b17006ab6..fe5cdb168e 100644 --- a/OsmAnd-telegram/src/net/osmand/telegram/helpers/FontCache.kt +++ b/OsmAnd-telegram/src/net/osmand/telegram/helpers/FontCache.kt @@ -3,22 +3,25 @@ package net.osmand.telegram.helpers import android.content.Context import android.graphics.Typeface import android.util.Log +import net.osmand.telegram.R import java.util.concurrent.ConcurrentHashMap private const val TAG = "FontCache" -private const val ROBOTO_MEDIUM = "fonts/Roboto-Medium.ttf" -private const val ROBOTO_REGULAR = "fonts/Roboto-Regular.ttf" object FontCache { private val fontsMap = ConcurrentHashMap() fun getRobotoMedium(context: Context): Typeface? { - return getFont(context, ROBOTO_MEDIUM) + return getFont(context, context.getString(R.string.font_roboto_medium)) } fun getRobotoRegular(context: Context): Typeface? { - return getFont(context, ROBOTO_REGULAR) + return getFont(context, context.getString(R.string.font_roboto_regular)) + } + + fun getRobotoMonoBold(context: Context): Typeface? { + return getFont(context, context.getString(R.string.font_roboto_mono_bold)) } fun getFont(context: Context, fontName: String): Typeface? { From 0aa9eb77a45d292db292219652598ce91838b07c Mon Sep 17 00:00:00 2001 From: Alex Sytnyk Date: Thu, 28 Jun 2018 12:25:14 +0300 Subject: [PATCH 21/54] Change typeface for title on "My location" tab --- OsmAnd-telegram/res/layout/fragment_my_location_tab.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd-telegram/res/layout/fragment_my_location_tab.xml b/OsmAnd-telegram/res/layout/fragment_my_location_tab.xml index 7c5a8e3cfa..452bb8174a 100644 --- a/OsmAnd-telegram/res/layout/fragment_my_location_tab.xml +++ b/OsmAnd-telegram/res/layout/fragment_my_location_tab.xml @@ -32,7 +32,7 @@ android:layout_width="match_parent" android:layout_height="@dimen/action_bar_height"> - + app:typeface="@string/font_roboto_mono_bold"/> From dbf4b6f24110a6f08e2b1b11eda659f694300515 Mon Sep 17 00:00:00 2001 From: ezjerry liao Date: Thu, 28 Jun 2018 09:55:28 +0000 Subject: [PATCH 22/54] Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (2593 of 2593 strings) --- OsmAnd/res/values-zh-rTW/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-zh-rTW/strings.xml b/OsmAnd/res/values-zh-rTW/strings.xml index ce3e41819b..190aa722c4 100644 --- a/OsmAnd/res/values-zh-rTW/strings.xml +++ b/OsmAnd/res/values-zh-rTW/strings.xml @@ -2373,7 +2373,7 @@ 您尚未有任何的 GPX 檔案 您也可以增加 GPX 檔案到資料夾 - 增加 GPX 檔案 + 增加更多… 外表 啟用錄製快速開始 From ce665199195c64ad31fc9adfd88f294d9aebe155 Mon Sep 17 00:00:00 2001 From: IgorEliezer Date: Thu, 28 Jun 2018 03:50:59 +0000 Subject: [PATCH 23/54] Translated using Weblate (Portuguese (Brazil)) Currently translated at 80.0% (2076 of 2593 strings) --- OsmAnd/res/values-pt-rBR/strings.xml | 82 ++++++++++++++++++++-------- 1 file changed, 58 insertions(+), 24 deletions(-) diff --git a/OsmAnd/res/values-pt-rBR/strings.xml b/OsmAnd/res/values-pt-rBR/strings.xml index da3fec39d1..38ca7a6593 100644 --- a/OsmAnd/res/values-pt-rBR/strings.xml +++ b/OsmAnd/res/values-pt-rBR/strings.xml @@ -130,7 +130,7 @@ Favoritos Endereço Adicionar - Adicionar aos favoritos + Adicionar aos \'Favoritos\' Minha posição Meus favoritos Minhas trilhas @@ -270,7 +270,7 @@ Conectado como %1$s Tolerância do limite de velocidade Selecione a margem de tolerância de limite de velocidade, acima do qual você receberá um aviso de voz. - O nome do favorito foi modificado para %1$s para facilitar a salvar corretamente a seqüência de caracteres com emoticons para um arquivo. + O nome do Favorito foi modificado para %1$s para facilitar salvar corretamente a sequência de caracteres com emoticons para um arquivo. Anunciar… Faixas de pedestre Não use as regras de roteamento introduzidas na v1.9 @@ -587,7 +587,7 @@ Europa - Itália Europa - Grã-Bretanha Calcular segmento de rota OsmAnd sem Internet - Adicionar como ponto de destino + Adicionar como destino seguinte Selecionar GPX… Selecionar destino Preferências de rota @@ -686,7 +686,7 @@ Pôr do Sol: %2$s Evitar vias com pedágio, não-pavimentadas, balsas Ativar\n modo segundo plano Radares - Moderadores de tráfego + Alertas de trânsito Destino %1$s Definir como destino Selecionar primeiro a cidade ou rua @@ -1591,7 +1591,7 @@ Pôr do Sol: %2$s Insira a latitude e longitude no formato selecionado (D - graus, M - minutos, S - segundos) Latitude Longitude - DDD.DD + GGG.GG DDD MM.MM DDD MM SS.SS Escolher endereço @@ -1775,7 +1775,7 @@ Pôr do Sol: %2$s Número de edifício Próximo Abre às - Fecha em + Fecha às Arquivo GPX com notas de posição. Posições @@ -1877,7 +1877,7 @@ Pôr do Sol: %2$s Navegação Rodando em segundo plano Frisão - Informação do favorito + Informação do Favorito Parar de simular sua posição. Simular a sua posição usando uma rota calculada ou uma trilha GPX gravada. Cor do GPX @@ -2008,7 +2008,7 @@ Pôr do Sol: %2$s Achar estacionamento Mostrar polígonos de áreas - Você quer adicionar todos os pontos aos marcadores de mapa? + Adicionar todos os pontos como marcadores de mapa? Adicionar aos marcadores de mapa Selecionar marcadores de mapa Ordem inversa @@ -2054,7 +2054,7 @@ Pôr do Sol: %2$s Você não possui mapas offlines. Você deve escolher um mapa da lista ou baixar mapas mais tarde pelo Menu - %1$s. Selecione um outro local Procurando mapas… - Deixar OsmAnd determinar o seu local e sugerir mapas da região para baixar. + Deixe o OsmAnd determinar o seu local e sugerir mapas da região para baixar. Local não encontrado Sem conexão à Internet É necessário baixar os mapas. @@ -2067,7 +2067,7 @@ Pôr do Sol: %2$s Não mostrar atualizações Atualizar todos os mapas agora? Limpar todos os títulos - Você tem certeza que deseja substituir seu favorito %1$s? + Você tem certeza que deseja substituir o Favorito %1$s? Mudar Busca de coordenadas Busca avançada de coordenadas @@ -2223,7 +2223,7 @@ Pôr do Sol: %2$s Pesquisar favoritos Para ver o sombreamento do relevo no mapa, você precisa baixar a camada de mapa de sombreamento de relevo desta região. Para ver o sombreamento de relevo no mapa, você precisa comprar e instalar o plugin de Curvas de Nível - Ocultar deste nível de ampliação + Ocultar a partir do nível de zoom Para ver as curvas de nível no mapa, você precisa baixar o mapa de curvas de nível desta região. Complemento Para ver as curvas de nível no mapa, você precisa comprar e instalar o plugin \'Curvas de Nível\' @@ -2235,10 +2235,10 @@ Pôr do Sol: %2$s Mostrar diálogo \'Navegação finalizada\' Cache de quadrícula Régua de raio - Mostrar do nível de ampliação + Exibir a partir do nível de zoom Permitir acesso privado Permitir acesso a áreas privadas. - Mostrar nível de ampliação: %1$s + Nível de zoom mínimo: %1$s Nome do grupo Alterar cor Editar nome @@ -2289,16 +2289,16 @@ Pôr do Sol: %2$s Procurando trilhas com pontos de passagem Mais Aparência no mapa - Pontos de passagem podem ser adicionados a marcadores selecionando uma dessas trilhas que os tem. - Selecione uma categoria favorita para adicionar aos marcadores. + Selecione uma trilha para adicionar seus pontos de passagem aos marcadores. + Selecione uma categoria dos Favoritos para adicionar aos marcadores. Pontos de passagem de trilhas Categoria favoritos Adicionar um grupo - Você pode importar grupos dos favoritos ou pontos de passagem de trilhas. + Importar grupos dos Favoritos ou pontos de passagem de trilhas. Crie marcadores de mapa! Toque longo ou rápido em \'Lugares\', e em seguida toque no botão de bandeira. Importar grupos - Você pode importar grupos de favoritos ou pontos de passagem de trilhas como marcadores. + Importar grupos de Favoritos ou pontos de passagem de trilhas como marcadores. Marcadores marcados como visitados aparecerão nesta tela. Dois Um @@ -2398,8 +2398,8 @@ Pôr do Sol: %2$s Subir POI Cálculo da rota Você não tem trilhas ainda - Você pode também adicionar trilhas para a pasta - Adicionar trilha + Você pode também adicionar arquivos GPX na pasta + Adicionar… Aparência @@ -2427,7 +2427,7 @@ Pôr do Sol: %2$s Transliterar se o nome %1$s for ausente Transliterar nomes Arquivo %1$s não possui pontos de passagem, importe-o como uma trilha? - Adicionar a uma trilha GPX + Adicionar a um arquivo GPX Adicionar nota de áudio, vídeo ou foto para cada ponto no mapa, usando o widget ou o menu de contexto. Tocar no botão de ação adicionará um destino no local do centro da tela. O destino anteriormente definido se torna o último destino intermediário. Tocar no botão de ação substituirá o destino com o local do centro da tela. @@ -2751,7 +2751,7 @@ Pôr do Sol: %2$s Mapa importado Esportes em corredeiras Converter em ponto de partida - Você pode adicionar todos os pontos da trilha, ou selecione categorias separadas. + Adicione todos os pontos da trilha, ou selecione categorias separadas. Total Limpar todos os pontos intermédios Grupo excluído @@ -2780,7 +2780,7 @@ Pôr do Sol: %2$s Artigo excluído Pesquisar: país, cidade, estado Ler - Artigos salvos + Artigos marcados Explorar Conteúdos Artigos Wikivoyage mundiais @@ -2833,10 +2833,10 @@ Pôr do Sol: %2$s Reiniciar app Renove a assinatura para continuar a usar todos os recursos: - Baseado nos artigos que você salvou, recomendamos você baixar os seguintes mapas: + Baseado nos artigos que você marcou, recomendamos você baixar os seguintes mapas: Mapas que você precisa Baixe guias de viagem Wikivoyage para ver os artigos sobre lugares ao redor do mundo sem uma conexão à Internet. - Travel baseia-se no Wikivoyage. Teste todos os recursos durante o teste beta aberto, de graça. Depois, Travel estará disponível para assinantes OsmAnd Unlimited e proprietários de OsmAnd+. + Os guias de viagem atualmente baseiam-se no Wikivoyage. Teste todos os recursos durante o teste beta aberto, de graça. Depois, os guias estarão disponíveis para assinantes OsmAnd Unlimited e proprietários do OsmAnd+. Baixe artigos da Wikipédia por %1$s para lê-los offline. Procurando o artigo wiki necessário @@ -2884,4 +2884,38 @@ Pôr do Sol: %2$s \nA maioria dos países ao redor do globo é disponível para download! \nObtenha um navegador confiável em seu país - seja ele França, Alemanha, México, Reino Unido, Espanha, Holanda, EUA, Rússia, Brasil ou qualquer outro. Estilo de elevado detalhe para fins de turismo. Inclui todas as opções de configuração de estilo padrão, além disso: exibe o máximo de detalhes possível, em particular todas as estradas, caminhos e outras maneiras de viajar. Distinção visual claro entre todos os tipos de caminhos diferentes, similar a muitos atlas turismo. Esquema de cores de alto contraste para uso ao ar livre, modo dia e noite. + Imagens do artigo podem ser baixadas para uso offline. +\nSempre disponível em \'Explorar\' → \'Opções\'. + Navegação GPS +\n• Escolha entre modos off-line (sem tarifa de roaming quando estiver no exterior) ou on-line (mais rápido) +\n• Orientação por voz passo-a-passo lhe guia ao longo do caminho (vozes gravadas e sintetizadas) +\n• A rota se recalcula sempre que se desviar dela +\n• Orientação de pista, nomes de ruas e tempo estimado de chegada ajudará ao longo do caminho +\n• Para fazer sua viagem mais segura, modo dia/noite se alterna automaticamente +\n• Visualize limites de velocidade e receba aviso se ultrapassá-los +\n• Zoom do mapa se ajusta a sua velocidade +\n• Pesquise destinos pelo endereço, tipo (p. ex.: estacionamento, restaurante, hotel, posto de gasolina, museu), ou coordenadas geográficas +\n• Suporta pontos intermédios em seu itinerário +\n• Grave ou carregue uma trilha GPX e siga-a +\n + Mapa +\n• Exibe POIs (ponto de interesse) em torno de você +\n• Ajusta o mapa na sua direção de movimento (ou bússola) +\n• Mostra a sua posição e direção para onde está olhando +\n• Compartilhe sua posição para que seus amigos possam encontrá-lo +\n• Mantém seus lugares mais importantes em \'Favoritos\' +\n• Permite-lhe escolher como exibir nomes no mapa: em inglês, local ou escrita fonética +\n• Exibe mapas on-line especializados, vista de satélite (do Bing), camadas diferentes como trilhas GPX de navegação/turismo e camadas adicionais com transparência personalizável + OsmAnd+ (OSM Automated Navigation Directions) é um aplicativo de mapa e navegação com acesso a dados do OpenStreetMap (OSM) livre, em todo o mundo e alta qualidade. +\nDesfrute da navegação visual ou por voz, exibindo POIs (pontos de interesse), criando e gerenciando trilhas GPX, usando informação de altitude e curvas de nível, escolher entre modos dirigir, andar de bicicleta e pedestres, editar o OSM e muito mais. +\n +\nOsmAnd+ é a versão paga do app. Ao comprá-lo, você apoiar o projeto, financia o desenvolvimento de novas funcionalidades e recebe as últimas atualizações. +\n +\nAlgumas das principais características: + Contribuia diretamente para o OSM +\n• Avisar erros dados +\n• Fazer upload de trilhas GPX para o OSM diretamente do app +\n• Adicionar POIs e fazer o upload diretamente para OSM (ou mais tarde se off-line) +\n• Gravação de viagem opcional também em modo background (enquanto o dispositivo está no modo sleep) +\nOsmAnd é um software de código aberto desenvolvido ativamente. Todos podem contribuir para o app, reportando bugs, melhorando as traduções ou programando novas funcionalidades. Além disso, o projeto conta com as contribuições financeiras para financiar o desenvolvimento e testes de novas funcionalidades. From 0bf28cf525afbd83b0169c7fe223e9bf289c8f0e Mon Sep 17 00:00:00 2001 From: IgorEliezer Date: Thu, 28 Jun 2018 04:07:11 +0000 Subject: [PATCH 24/54] Translated using Weblate (Portuguese (Brazil)) Currently translated at 93.1% (3248 of 3486 strings) --- OsmAnd/res/values-pt-rBR/phrases.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-pt-rBR/phrases.xml b/OsmAnd/res/values-pt-rBR/phrases.xml index 9302c0fc27..3e1a7c6a0c 100644 --- a/OsmAnd/res/values-pt-rBR/phrases.xml +++ b/OsmAnd/res/values-pt-rBR/phrases.xml @@ -163,7 +163,7 @@ Portão Muralha Cancela elevatória - Cabine de pedágio + Pedágio Alfândega Lombada (curta) Lombada rápida From 1e2e40e86238c52ede33d9965ff384238ea9cefd Mon Sep 17 00:00:00 2001 From: Alex Sytnyk Date: Thu, 28 Jun 2018 13:45:23 +0300 Subject: [PATCH 25/54] "Set time" dialog in progress --- .../res/layout/fragment_set_time_dialog.xml | 121 ++++++++++++++++++ OsmAnd-telegram/res/values/dimens.xml | 3 + OsmAnd-telegram/res/values/strings.xml | 5 + .../telegram/ui/MyLocationTabFragment.kt | 4 +- .../telegram/ui/SetTimeDialogFragment.kt | 77 +++++++++++ 5 files changed, 209 insertions(+), 1 deletion(-) create mode 100644 OsmAnd-telegram/res/layout/fragment_set_time_dialog.xml create mode 100644 OsmAnd-telegram/src/net/osmand/telegram/ui/SetTimeDialogFragment.kt diff --git a/OsmAnd-telegram/res/layout/fragment_set_time_dialog.xml b/OsmAnd-telegram/res/layout/fragment_set_time_dialog.xml new file mode 100644 index 0000000000..2b467979c3 --- /dev/null +++ b/OsmAnd-telegram/res/layout/fragment_set_time_dialog.xml @@ -0,0 +1,121 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/OsmAnd-telegram/res/values/dimens.xml b/OsmAnd-telegram/res/values/dimens.xml index a3aed34334..9f338c38d3 100644 --- a/OsmAnd-telegram/res/values/dimens.xml +++ b/OsmAnd-telegram/res/values/dimens.xml @@ -3,10 +3,13 @@ 4dp 8dp 16dp + 24dp 32dp 56dp + 12dp + 52dp 24dp 60dp diff --git a/OsmAnd-telegram/res/values/strings.xml b/OsmAnd-telegram/res/values/strings.xml index 6287349ba6..d8b0962262 100644 --- a/OsmAnd-telegram/res/values/strings.xml +++ b/OsmAnd-telegram/res/values/strings.xml @@ -1,4 +1,9 @@ + Share + Back + Visible time for all + Set the time that your selected contacts and groups will see your location in real time. + Set time Select the contacts and groups with whom you want to share your location. Search: group or contact Start location sharing diff --git a/OsmAnd-telegram/src/net/osmand/telegram/ui/MyLocationTabFragment.kt b/OsmAnd-telegram/src/net/osmand/telegram/ui/MyLocationTabFragment.kt index 4b49ab6f96..7cff6c9ffd 100644 --- a/OsmAnd-telegram/src/net/osmand/telegram/ui/MyLocationTabFragment.kt +++ b/OsmAnd-telegram/src/net/osmand/telegram/ui/MyLocationTabFragment.kt @@ -175,7 +175,9 @@ class MyLocationTabFragment : Fragment(), TelegramListener { } fun onPrimaryBtnClick() { - Toast.makeText(context, "Continue", Toast.LENGTH_SHORT).show() + activity?.supportFragmentManager?.also { + SetTimeDialogFragment.showInstance(it, selectedChats) + } } fun onSecondaryBtnClick() { diff --git a/OsmAnd-telegram/src/net/osmand/telegram/ui/SetTimeDialogFragment.kt b/OsmAnd-telegram/src/net/osmand/telegram/ui/SetTimeDialogFragment.kt new file mode 100644 index 0000000000..577f1bce25 --- /dev/null +++ b/OsmAnd-telegram/src/net/osmand/telegram/ui/SetTimeDialogFragment.kt @@ -0,0 +1,77 @@ +package net.osmand.telegram.ui + +import android.os.Bundle +import android.support.v4.app.DialogFragment +import android.support.v4.app.FragmentManager +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.ImageView +import android.widget.TextView +import android.widget.Toast +import net.osmand.telegram.R +import net.osmand.telegram.TelegramApplication + +class SetTimeDialogFragment : DialogFragment() { + + private val app: TelegramApplication + get() = activity?.application as TelegramApplication + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setStyle(DialogFragment.STYLE_NO_FRAME, R.style.AppTheme_NoActionbar) + } + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + val view = inflater.inflate(R.layout.fragment_set_time_dialog, container) + + view.findViewById(R.id.time_for_all_row).apply { + findViewById(R.id.time_for_all_icon).setImageDrawable( + app.uiUtils.getIcon(R.drawable.ic_action_time_span, R.color.ctrl_active_light) + ) + findViewById(R.id.time_for_all_value).text = "1 hour" + setOnClickListener { + Toast.makeText(context, "Time for all", Toast.LENGTH_SHORT).show() + } + } + + view.findViewById(R.id.secondary_btn).apply { + text = getString(R.string.shared_string_back) + setOnClickListener { + dismiss() + } + } + + view.findViewById(R.id.primary_btn).apply { + text = getString(R.string.shared_string_share) + setOnClickListener { + Toast.makeText(context, "Share", Toast.LENGTH_SHORT).show() + } + } + + return view + } + + companion object { + + private const val TAG = "SetTimeDialogFragment" + private const val CHATS_KEY = "chats_key" + + fun showInstance(fm: FragmentManager, chats: Set): Boolean { + return try { + val fragment = SetTimeDialogFragment() + fragment.arguments = Bundle().apply { + putLongArray(CHATS_KEY, chats.toLongArray()) + } + fragment.show(fm, TAG) + true + } catch (e: RuntimeException) { + false + } + } + } +} From cf6619b15724cd2e0853b342ec11d3ebba489473 Mon Sep 17 00:00:00 2001 From: Dmitriy Prodchenko Date: Thu, 28 Jun 2018 14:00:30 +0300 Subject: [PATCH 26/54] Add images for My location screen --- .../drawable-hdpi/img_my_location_roadbg.webp | Bin 0 -> 1438 bytes .../res/drawable-hdpi/img_my_location_user.png | Bin 0 -> 10485 bytes .../drawable-mdpi/img_my_location_roadbg.webp | Bin 0 -> 938 bytes .../res/drawable-mdpi/img_my_location_user.png | Bin 0 -> 7078 bytes .../drawable-xhdpi/img_my_location_roadbg.webp | Bin 0 -> 1698 bytes .../res/drawable-xhdpi/img_my_location_user.png | Bin 0 -> 14118 bytes .../drawable-xxhdpi/img_my_location_roadbg.webp | Bin 0 -> 2424 bytes .../drawable-xxhdpi/img_my_location_user.png | Bin 0 -> 21069 bytes 8 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 OsmAnd-telegram/res/drawable-hdpi/img_my_location_roadbg.webp create mode 100644 OsmAnd-telegram/res/drawable-hdpi/img_my_location_user.png create mode 100644 OsmAnd-telegram/res/drawable-mdpi/img_my_location_roadbg.webp create mode 100644 OsmAnd-telegram/res/drawable-mdpi/img_my_location_user.png create mode 100644 OsmAnd-telegram/res/drawable-xhdpi/img_my_location_roadbg.webp create mode 100644 OsmAnd-telegram/res/drawable-xhdpi/img_my_location_user.png create mode 100644 OsmAnd-telegram/res/drawable-xxhdpi/img_my_location_roadbg.webp create mode 100644 OsmAnd-telegram/res/drawable-xxhdpi/img_my_location_user.png diff --git a/OsmAnd-telegram/res/drawable-hdpi/img_my_location_roadbg.webp b/OsmAnd-telegram/res/drawable-hdpi/img_my_location_roadbg.webp new file mode 100644 index 0000000000000000000000000000000000000000..a90483f137a87bc1c0fa5aa5919cc7109a79e873 GIT binary patch literal 1438 zcmV;P1!4M9Nk&GN1pok7MM6+kP&iD91pojqW5P!O$KtqcBT3@SUKwouLGEiVp=Og{ zBuP?~Was~H^#p3OZ6rz296seA!sqoqc?{F@ueNO)2A+CyMJ(>tzAZ>`aO zUj+qNW%b#>@&c;?0mV{;VE-ooh~>jCKLGXFpiv-_20!xV?(c1R3ZGO2LZ)N5-!@#J_+&|>3 zbxQYtDP;ea9A)|nj_AK5wrw2A!u94Xu6xQJ?swHo579Sr4}IR~p?|ROV`=k<`Dkb_Z8)TZY%d1!q zTJAx2T@REM53d~HVX|gYwMi>A8oJ+JeTuVl)hqVU*L6Mgb`1~eFB|2rvR$t{XOGXb zbf15Em}SGvTCX?$KJ3pq>DwLC+IdTWVS$aaKzKo|nb$gCzMLCj3yct4DB4hw(1O~v zp*^@99Ahht5?ENYqXL12k{y*Yxd6O2Ctb3mCA8$E8+NpTmYnp+j`q=#liJzv34sMm zVgd_!xYGXW!J6#WYau7~KM!dXwxebWQ((zSQz*Q=r6G5PqMS6k)0x;5jLvemxoqeE z%XPR!+Fw1`5{z=vl!8%Cno=mrNx^iM{7qr3jd#kvDlp1PQ}(%oP)=$9wB)3=1ecuD z(grSP$^Vzzaf!6Yda$&4(JCj+|CifwiL_UEfO1ay40GPh{C~L)mq`1ohZo4^&CK5v z#@cwlY(H;i{=eLgOQb#4gQd-jRyk?@zub;Xq`krelylN%)DGpIV3d;Sy<&^&r0U zzTow{FLOu~Jotxvy%ljA?+kFXx%8tj7#KN54Hx&>b4l4(B?IgihgI@@IVszEJ-^N# z%)LH$ndaXADJ;)PuRm`yh}fR%5$B}iD-0x-2ZTB4RE?oTZA!9FePuZDHTgD!3ImFt zLDK#*LyB_3-Y*O)zQkV}!;0yc&18*XMQ!ronf@}c_^a+~mZ8Ng5ovn6!_Z>qEz#Ad z1qK%jM7{6U7+kC?q7jA{BSb}p7e!LL3@`T77z2#aMFtp!5(A9V5(A8-4T+a#bQ#N8 zn8tM&T?%NoswsRnjQebgd`8BXLlklc)a4kT%@j7PVO!+0VZAN`Y)HBYHk=dCCw!hAEs>Ky;R*cckr(K8x(VaXSO=)w_6I)mDnLSgp$d8yLGHjD7c8V1Q8=Wq>iN_84C5 zDTuX=L|Geeg|NOVn&8#vZjtEf6T8MKWN zN~*$;qN3tO!7m0Bzmn&kQ{Na)d{>kV#OBZ;qDd&V_g|5tfPvtF|K|2#29L(IdIubedhpJ(_00C*G7SO5S3 literal 0 HcmV?d00001 diff --git a/OsmAnd-telegram/res/drawable-hdpi/img_my_location_user.png b/OsmAnd-telegram/res/drawable-hdpi/img_my_location_user.png new file mode 100644 index 0000000000000000000000000000000000000000..833e11d44b95697778c42cbbb39194f5533959dc GIT binary patch literal 10485 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 literal 0 HcmV?d00001 diff --git a/OsmAnd-telegram/res/drawable-mdpi/img_my_location_roadbg.webp b/OsmAnd-telegram/res/drawable-mdpi/img_my_location_roadbg.webp new file mode 100644 index 0000000000000000000000000000000000000000..1998b0a180af858538aa37a12aba9baf6343def0 GIT binary patch literal 938 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 literal 0 HcmV?d00001 diff --git a/OsmAnd-telegram/res/drawable-xhdpi/img_my_location_roadbg.webp b/OsmAnd-telegram/res/drawable-xhdpi/img_my_location_roadbg.webp new file mode 100644 index 0000000000000000000000000000000000000000..7c3928caaaa72c2cc5e743301b5786d1500c313f GIT binary patch literal 1698 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 V9shSDmbtflAk6@c03E2}{5R2n${YXy literal 0 HcmV?d00001 diff --git a/OsmAnd-telegram/res/drawable-xxhdpi/img_my_location_user.png b/OsmAnd-telegram/res/drawable-xxhdpi/img_my_location_user.png new file mode 100644 index 0000000000000000000000000000000000000000..d6b27c1d6a6627b788be29512aaac441585f0930 GIT binary patch literal 21069 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

PQ&y z%unV3BmWCfFrxJe2nf_stY7ZU=jZX_RM;%n*9+VuR+KuxiZ7Pog3a^FaJkd_!lhxG z>@2F7FPx!DTTn;My=9I9lY8i#DJ9U9L%8P$%n=_Q9p1`CEb?h6CA>r1sc~M?o6BSy z=331cex|Cj_*7NFB3LF7Dki55&l}V9Luy60v_%uenDbfA*RnhFduVB%8|p}j&2PFO z>nM6U1>^~Ptl06@a!&C^8GdE~PPH;#9FOJ<6CTk?&$r-j{rzKs;Y_D2Bt@xDQRY)b zsZsiKnc-{~fwb^m^bK89%J`oYrwU-&=WYcN+>h;xMD-1{-Mz!gl5u%=U})jYJblb7 zGoa81=J2;s?DHKEM)p5dSuCt2q)2p*+3iU4m_q|6DfUeLBFXF0Ry9fF j#Q!I0t@7w^MivHpX?2d)H=5VzfXC|w=K3$tPEr2@|4SYF literal 0 HcmV?d00001 From 385ff6dc026296a2df4cffe8dcfdf6e0b9d3fb38 Mon Sep 17 00:00:00 2001 From: Alex Sytnyk Date: Thu, 28 Jun 2018 15:53:13 +0300 Subject: [PATCH 27/54] Extract logic for setting the user's photo into a separate class --- .../telegram/helpers/TelegramUiHelper.kt | 29 +++++++++++++++++++ .../osmand/telegram/ui/LiveNowTabFragment.kt | 23 ++------------- .../telegram/ui/MyLocationTabFragment.kt | 18 ++---------- 3 files changed, 34 insertions(+), 36 deletions(-) create mode 100644 OsmAnd-telegram/src/net/osmand/telegram/helpers/TelegramUiHelper.kt diff --git a/OsmAnd-telegram/src/net/osmand/telegram/helpers/TelegramUiHelper.kt b/OsmAnd-telegram/src/net/osmand/telegram/helpers/TelegramUiHelper.kt new file mode 100644 index 0000000000..946934478b --- /dev/null +++ b/OsmAnd-telegram/src/net/osmand/telegram/helpers/TelegramUiHelper.kt @@ -0,0 +1,29 @@ +package net.osmand.telegram.helpers + +import android.graphics.Bitmap +import android.graphics.drawable.Drawable +import android.widget.ImageView +import net.osmand.telegram.R +import net.osmand.telegram.TelegramApplication + +object TelegramUiHelper { + + fun setupPhoto(app: TelegramApplication, iv: ImageView?, photoPath: String?) { + if (iv == null) { + return + } + var drawable: Drawable? = null + var bitmap: Bitmap? = null + if (photoPath != null && photoPath.isNotEmpty()) { + bitmap = app.uiUtils.getCircleBitmap(photoPath) + } + if (bitmap == null) { + drawable = app.uiUtils.getThemedIcon(R.drawable.ic_group) + } + if (bitmap != null) { + iv.setImageBitmap(bitmap) + } else { + iv.setImageDrawable(drawable) + } + } +} diff --git a/OsmAnd-telegram/src/net/osmand/telegram/ui/LiveNowTabFragment.kt b/OsmAnd-telegram/src/net/osmand/telegram/ui/LiveNowTabFragment.kt index f9cf173d5a..29f4dad289 100644 --- a/OsmAnd-telegram/src/net/osmand/telegram/ui/LiveNowTabFragment.kt +++ b/OsmAnd-telegram/src/net/osmand/telegram/ui/LiveNowTabFragment.kt @@ -1,7 +1,5 @@ package net.osmand.telegram.ui -import android.graphics.Bitmap -import android.graphics.drawable.Drawable import android.os.Bundle import android.support.v4.app.Fragment import android.support.v7.widget.LinearLayoutManager @@ -17,6 +15,7 @@ import net.osmand.telegram.R import net.osmand.telegram.TelegramApplication import net.osmand.telegram.helpers.TelegramHelper.TelegramAuthorizationState import net.osmand.telegram.helpers.TelegramHelper.TelegramListener +import net.osmand.telegram.helpers.TelegramUiHelper import org.drinkless.td.libcore.telegram.TdApi private const val CHAT_VIEW_TYPE = 0 @@ -140,7 +139,7 @@ class LiveNowTabFragment : Fragment(), TelegramListener { val nextItemIsUser = !lastItem && items[position + 1] is TdApi.User val chatTitle = item.title - setupIcon(holder.icon, item.photo?.small?.local?.path) + TelegramUiHelper.setupPhoto(app, holder.icon, item.photo?.small?.local?.path) holder.title?.text = chatTitle holder.description?.text = "Chat description" // FIXME holder.imageButton?.setImageDrawable(app.uiUtils.getThemedIcon(R.drawable.ic_overflow_menu_white)) @@ -180,7 +179,7 @@ class LiveNowTabFragment : Fragment(), TelegramListener { holder.bottomDivider?.visibility = if (nextItemIsUser) View.VISIBLE else View.GONE holder.bottomShadow?.visibility = if (lastItem) View.VISIBLE else View.GONE } else if (item is TdApi.User && holder is ContactViewHolder) { - setupIcon(holder.icon, telegramHelper.getUserPhotoPath(item)) + TelegramUiHelper.setupPhoto(app, holder.icon, telegramHelper.getUserPhotoPath(item)) holder.title?.text = "${item.firstName} ${item.lastName}" holder.description?.text = "User description" // FIXME holder.bottomShadow?.visibility = if (lastItem) View.VISIBLE else View.GONE @@ -189,22 +188,6 @@ class LiveNowTabFragment : Fragment(), TelegramListener { override fun getItemCount() = items.size - private fun setupIcon(iv: ImageView?, photoPath: String?) { - var drawable: Drawable? = null - var bitmap: Bitmap? = null - if (photoPath != null && photoPath.isNotEmpty()) { - bitmap = app.uiUtils.getCircleBitmap(photoPath) - } - if (bitmap == null) { - drawable = app.uiUtils.getThemedIcon(R.drawable.ic_group) - } - if (bitmap != null) { - iv?.setImageBitmap(bitmap) - } else { - iv?.setImageDrawable(drawable) - } - } - inner class ContactViewHolder(val view: View) : RecyclerView.ViewHolder(view) { val icon: ImageView? = view.findViewById(R.id.icon) val title: TextView? = view.findViewById(R.id.title) diff --git a/OsmAnd-telegram/src/net/osmand/telegram/ui/MyLocationTabFragment.kt b/OsmAnd-telegram/src/net/osmand/telegram/ui/MyLocationTabFragment.kt index 7cff6c9ffd..714e7ec779 100644 --- a/OsmAnd-telegram/src/net/osmand/telegram/ui/MyLocationTabFragment.kt +++ b/OsmAnd-telegram/src/net/osmand/telegram/ui/MyLocationTabFragment.kt @@ -1,8 +1,6 @@ package net.osmand.telegram.ui import android.animation.* -import android.graphics.Bitmap -import android.graphics.drawable.Drawable import android.graphics.drawable.GradientDrawable import android.os.Build import android.os.Bundle @@ -17,6 +15,7 @@ import net.osmand.telegram.R import net.osmand.telegram.TelegramApplication import net.osmand.telegram.helpers.TelegramHelper import net.osmand.telegram.helpers.TelegramHelper.TelegramListener +import net.osmand.telegram.helpers.TelegramUiHelper import net.osmand.telegram.ui.MyLocationTabFragment.MyLocationListAdapter.ChatViewHolder import org.drinkless.td.libcore.telegram.TdApi @@ -273,20 +272,7 @@ class MyLocationTabFragment : Fragment(), TelegramListener { val chat = chats[position] val lastItem = position == itemCount - 1 - var drawable: Drawable? = null - var bitmap: Bitmap? = null - val chatPhoto = chat.photo?.small - if (chatPhoto != null && chatPhoto.local.path.isNotEmpty()) { - bitmap = app.uiUtils.getCircleBitmap(chatPhoto.local.path) - } - if (bitmap == null) { - drawable = app.uiUtils.getThemedIcon(R.drawable.ic_group) - } - if (bitmap != null) { - holder.icon?.setImageBitmap(bitmap) - } else { - holder.icon?.setImageDrawable(drawable) - } + TelegramUiHelper.setupPhoto(app, holder.icon, chat.photo?.small?.local?.path) holder.title?.text = chat.title holder.description?.text = "Some description" // FIXME holder.checkBox?.apply { From 948ffd1b8e50785cd57c76e217a68a1e7a357ee2 Mon Sep 17 00:00:00 2001 From: Alex Sytnyk Date: Thu, 28 Jun 2018 16:23:14 +0300 Subject: [PATCH 28/54] Add selected chats list to the "Set time" screen --- .../res/layout/fragment_set_time_dialog.xml | 25 +++++-- OsmAnd-telegram/res/layout/user_list_item.xml | 19 +++++ .../telegram/ui/SetTimeDialogFragment.kt | 74 +++++++++++++++++++ 3 files changed, 110 insertions(+), 8 deletions(-) diff --git a/OsmAnd-telegram/res/layout/fragment_set_time_dialog.xml b/OsmAnd-telegram/res/layout/fragment_set_time_dialog.xml index 2b467979c3..968487c53f 100644 --- a/OsmAnd-telegram/res/layout/fragment_set_time_dialog.xml +++ b/OsmAnd-telegram/res/layout/fragment_set_time_dialog.xml @@ -81,17 +81,26 @@ - + android:layout_weight="1"> - + + + + + + + diff --git a/OsmAnd-telegram/src/net/osmand/telegram/ui/SetTimeDialogFragment.kt b/OsmAnd-telegram/src/net/osmand/telegram/ui/SetTimeDialogFragment.kt index 577f1bce25..2174c4fe17 100644 --- a/OsmAnd-telegram/src/net/osmand/telegram/ui/SetTimeDialogFragment.kt +++ b/OsmAnd-telegram/src/net/osmand/telegram/ui/SetTimeDialogFragment.kt @@ -3,6 +3,8 @@ package net.osmand.telegram.ui import android.os.Bundle import android.support.v4.app.DialogFragment import android.support.v4.app.FragmentManager +import android.support.v7.widget.LinearLayoutManager +import android.support.v7.widget.RecyclerView import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -11,12 +13,21 @@ import android.widget.TextView import android.widget.Toast import net.osmand.telegram.R import net.osmand.telegram.TelegramApplication +import net.osmand.telegram.helpers.TelegramUiHelper +import net.osmand.telegram.ui.SetTimeDialogFragment.SetTimeListAdapter.ChatViewHolder +import org.drinkless.td.libcore.telegram.TdApi class SetTimeDialogFragment : DialogFragment() { private val app: TelegramApplication get() = activity?.application as TelegramApplication + private val telegramHelper get() = app.telegramHelper + + private val adapter = SetTimeListAdapter() + + private val chatIds = HashSet() + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setStyle(DialogFragment.STYLE_NO_FRAME, R.style.AppTheme_NoActionbar) @@ -27,6 +38,10 @@ class SetTimeDialogFragment : DialogFragment() { container: ViewGroup?, savedInstanceState: Bundle? ): View? { + arguments?.apply { + chatIds.addAll(getLongArray(CHATS_KEY).toSet()) + } + val view = inflater.inflate(R.layout.fragment_set_time_dialog, container) view.findViewById(R.id.time_for_all_row).apply { @@ -39,6 +54,11 @@ class SetTimeDialogFragment : DialogFragment() { } } + view.findViewById(R.id.recycler_view).apply { + layoutManager = LinearLayoutManager(context) + adapter = this@SetTimeDialogFragment.adapter + } + view.findViewById(R.id.secondary_btn).apply { text = getString(R.string.shared_string_back) setOnClickListener { @@ -56,6 +76,60 @@ class SetTimeDialogFragment : DialogFragment() { return view } + override fun onResume() { + super.onResume() + updateList() + } + + private fun updateList() { + val chats: MutableList = mutableListOf() + telegramHelper.getChatList().filter { chatIds.contains(it.chatId) }.forEach { orderedChat -> + telegramHelper.getChat(orderedChat.chatId)?.also { chats.add(it) } + } + adapter.chats = chats + } + + inner class SetTimeListAdapter : RecyclerView.Adapter() { + + var chats: List = emptyList() + set(value) { + field = value + notifyDataSetChanged() + } + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ChatViewHolder { + val view = LayoutInflater.from(parent.context) + .inflate(R.layout.user_list_item, parent, false) + return ChatViewHolder(view) + } + + override fun onBindViewHolder(holder: ChatViewHolder, position: Int) { + val chat = chats[position] + + TelegramUiHelper.setupPhoto(app, holder.icon, chat.photo?.small?.local?.path) + holder.title?.text = chat.title + holder.description?.text = "Some description" // FIXME + holder.textInArea?.apply { + visibility = View.VISIBLE + text = "1 h" + } + holder.bottomShadow?.visibility = View.GONE + holder.itemView.setOnClickListener { + Toast.makeText(context, chat.title, Toast.LENGTH_SHORT).show() + } + } + + override fun getItemCount() = chats.size + + inner class ChatViewHolder(val view: View) : RecyclerView.ViewHolder(view) { + val icon: ImageView? = view.findViewById(R.id.icon) + val title: TextView? = view.findViewById(R.id.title) + val description: TextView? = view.findViewById(R.id.description) + val textInArea: TextView? = view.findViewById(R.id.text_in_area) + val bottomShadow: View? = view.findViewById(R.id.bottom_shadow) + } + } + companion object { private const val TAG = "SetTimeDialogFragment" From 8cafbbaad2dfe6e8a2325b5f98463e524f451ea1 Mon Sep 17 00:00:00 2001 From: Verdulo Date: Thu, 28 Jun 2018 16:55:42 +0000 Subject: [PATCH 29/54] Translated using Weblate (Esperanto) Currently translated at 100.0% (3488 of 3488 strings) --- OsmAnd/res/values-eo/phrases.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/OsmAnd/res/values-eo/phrases.xml b/OsmAnd/res/values-eo/phrases.xml index c9863acef7..397039bf6d 100644 --- a/OsmAnd/res/values-eo/phrases.xml +++ b/OsmAnd/res/values-eo/phrases.xml @@ -3871,4 +3871,7 @@ Rok-malfermejo +senkontakta (alproksima) + Senkontakta pagmaniero malakceptata + From 9a243e8fa382cc276423c58bd8edb43f616ad430 Mon Sep 17 00:00:00 2001 From: jan madsen Date: Thu, 28 Jun 2018 11:14:42 +0000 Subject: [PATCH 30/54] Translated using Weblate (Danish) Currently translated at 99.8% (3484 of 3488 strings) --- OsmAnd/res/values-da/phrases.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/OsmAnd/res/values-da/phrases.xml b/OsmAnd/res/values-da/phrases.xml index 17d845f1c7..5d5ddf65e9 100644 --- a/OsmAnd/res/values-da/phrases.xml +++ b/OsmAnd/res/values-da/phrases.xml @@ -3946,4 +3946,7 @@ Klippefremspring +Kontaktløs + Kontaktløs ikke accepteret + From 3ddb944611dc73b40e2dd2f3bca6a90306950385 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Allan=20Nordh=C3=B8y?= Date: Thu, 28 Jun 2018 10:07:16 +0000 Subject: [PATCH 31/54] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegian?= =?UTF-8?q?=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 34.7% (1213 of 3488 strings) --- OsmAnd/res/values-nb/phrases.xml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/OsmAnd/res/values-nb/phrases.xml b/OsmAnd/res/values-nb/phrases.xml index 00691dcfbf..3c598375f6 100644 --- a/OsmAnd/res/values-nb/phrases.xml +++ b/OsmAnd/res/values-nb/phrases.xml @@ -1267,4 +1267,29 @@ MasterCard er ikke akseptert Adgang tillatt Toalettadgang: Tillatt + Korrugert fortau + Gods + Betegnelse + Utlevering + Betegnelse + Type + Speiderleir + Sjanger + Vannegenskap + Helsespesialitet + Klatringsstil + Uttak + Kontrollpunktstype + +Kriseinfrastruktur + Apotek + Barneklær + Fiskeutstyr + Fluefiskeutstyr +Hagemøbelbutikk + Gassbutikk + Glassmester + Videobutikk + Solskjermingsbutikk + Firhjulingsbutikk From 551167160f184c79f866d33168eb90dd9742bc80 Mon Sep 17 00:00:00 2001 From: Ajeje Brazorf Date: Thu, 28 Jun 2018 16:32:37 +0000 Subject: [PATCH 32/54] Translated using Weblate (Sardinian) Currently translated at 99.8% (3482 of 3488 strings) --- OsmAnd/res/values-sc/phrases.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/OsmAnd/res/values-sc/phrases.xml b/OsmAnd/res/values-sc/phrases.xml index 938082c71a..4bdaf3091e 100644 --- a/OsmAnd/res/values-sc/phrases.xml +++ b/OsmAnd/res/values-sc/phrases.xml @@ -3880,4 +3880,7 @@ Afioramentu (bessida a pitzu) de roca +Chene cuntatu (Contactless) + Cartas chene cuntatu non atzetadas + From 224e4335a03d52c281045dacb2a89421926f2f52 Mon Sep 17 00:00:00 2001 From: ssantos Date: Thu, 28 Jun 2018 17:32:36 +0000 Subject: [PATCH 33/54] Translated using Weblate (German) Currently translated at 100,0% (2593 of 2593 strings) --- OsmAnd/res/values-de/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-de/strings.xml b/OsmAnd/res/values-de/strings.xml index bcf8e9dd3d..fffb51952f 100644 --- a/OsmAnd/res/values-de/strings.xml +++ b/OsmAnd/res/values-de/strings.xml @@ -2325,7 +2325,7 @@ Derzeit sind nur {2} MB verfügbar. Routenberechnung Sie haben noch keine GPX-Dateien GPX-Dateien können dem Ordner hinzugefügt werden - GPX-Datei hinzufügen + Weitere hinzufügen… POI hochladen Nehmen Sie die %1$d Ausfahrt Suche Stadt oder Region From 21b99719a0ed4acb82c513cde972174a26d82ebf Mon Sep 17 00:00:00 2001 From: ssantos Date: Thu, 28 Jun 2018 17:33:45 +0000 Subject: [PATCH 34/54] Translated using Weblate (German) Currently translated at 100,0% (3488 of 3488 strings) --- OsmAnd/res/values-de/phrases.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/OsmAnd/res/values-de/phrases.xml b/OsmAnd/res/values-de/phrases.xml index 8789293dff..f15e295c93 100644 --- a/OsmAnd/res/values-de/phrases.xml +++ b/OsmAnd/res/values-de/phrases.xml @@ -3864,4 +3864,7 @@ Aufschluss +Kontaktlos + Kontaktlos nicht akzeptiert + From e77dd31844d6a37fdcb8bee7128cb75a7509a00d Mon Sep 17 00:00:00 2001 From: Franco Date: Fri, 29 Jun 2018 19:33:27 +0000 Subject: [PATCH 35/54] Translated using Weblate (Spanish (Argentina)) Currently translated at 100,0% (3488 of 3488 strings) --- OsmAnd/res/values-es-rAR/phrases.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/OsmAnd/res/values-es-rAR/phrases.xml b/OsmAnd/res/values-es-rAR/phrases.xml index 28a6b9656f..b9a8299d27 100644 --- a/OsmAnd/res/values-es-rAR/phrases.xml +++ b/OsmAnd/res/values-es-rAR/phrases.xml @@ -3918,4 +3918,7 @@ Afloramiento +Sin contacto + Sin contacto: no + From f114e4e274f0c43825a87bef553bbb3b27e81fdc Mon Sep 17 00:00:00 2001 From: ButterflyOfFire Date: Thu, 28 Jun 2018 18:52:52 +0000 Subject: [PATCH 36/54] Translated using Weblate (Arabic) Currently translated at 80.0% (2075 of 2593 strings) --- OsmAnd/res/values-ar/strings.xml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/OsmAnd/res/values-ar/strings.xml b/OsmAnd/res/values-ar/strings.xml index da3f56b865..48d1170cdf 100644 --- a/OsmAnd/res/values-ar/strings.xml +++ b/OsmAnd/res/values-ar/strings.xml @@ -1,4 +1,5 @@ -اظهر + +اظهر التقط صورة تسجيل الفيديو @@ -2326,7 +2327,7 @@ عرض اشعار نظامي للسماح ببدء تسجيل الرحلة. الإشعارات يمكنك أيضا إضافة مسارات إلى المجلد - إضافة مسار + إضافة المزيد … المظهر رفع POI @@ -2660,7 +2661,7 @@ اختر بروفايل الملاحة إضافة نقاط مسار إضافة خط - إضافة وتسجيل المسارات + إضافة ملفات GPX تسجيل أو استيراد مسارات للعرض. إضافة المفضلات إضافة المفضلة على الخريطة أو استيرادها من ملف. @@ -2796,7 +2797,7 @@ مساهمي OSM المستفيدون الشتاء و التزحلق الملاحة البحرية -لم نتمكن مِن العثور على أي شيء في هذا القُطر : +لم نتمكن مِن العثور على أي شيء : بإمكانك إضافة كل نقاط المسار أو إختيار فئات أخرى. الإجمالي إزالة كافة النقاط الوسيطة @@ -2894,6 +2895,6 @@ كيف يُفتح الرابط ؟ قراءة ويكيبيديا مِن دون اتصال تنزيل الكل - إعادة التشغيل + إعادة تشغيل التطبيق إشارة مرجعية - \ No newline at end of file + From af993c86eda45e5beb0fca7c4815dc7bc0262f77 Mon Sep 17 00:00:00 2001 From: Franco Date: Fri, 29 Jun 2018 19:46:56 +0000 Subject: [PATCH 37/54] Translated using Weblate (Spanish (American)) Currently translated at 100,0% (3488 of 3488 strings) --- OsmAnd/res/values-es-rUS/phrases.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/OsmAnd/res/values-es-rUS/phrases.xml b/OsmAnd/res/values-es-rUS/phrases.xml index d709219644..5db98cf517 100644 --- a/OsmAnd/res/values-es-rUS/phrases.xml +++ b/OsmAnd/res/values-es-rUS/phrases.xml @@ -3677,4 +3677,7 @@ Afloramiento +Pago sin contacto + "No acepta Pagos sin contacto " + From 4668eb7a990d7542735f80cca544fb1a50bafef4 Mon Sep 17 00:00:00 2001 From: FTno Date: Sat, 30 Jun 2018 06:37:42 +0000 Subject: [PATCH 38/54] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegian?= =?UTF-8?q?=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 98,7% (2561 of 2593 strings) --- OsmAnd/res/values-nb/strings.xml | 55 ++++++++++++++++---------------- 1 file changed, 27 insertions(+), 28 deletions(-) diff --git a/OsmAnd/res/values-nb/strings.xml b/OsmAnd/res/values-nb/strings.xml index 4a0fcefc69..c4af385fc2 100644 --- a/OsmAnd/res/values-nb/strings.xml +++ b/OsmAnd/res/values-nb/strings.xml @@ -203,7 +203,7 @@ Talemeldinger (TTS-syntetisert, anbefales) Wikipedia (offline) Brukerdefinert - Fil som inneholder tidligere eksporterte favoritter finnes allerede. Erstatt den? + Fil som inneholder tidligere eksporterte favoritter finnes allerede. Vil du erstatte den? Profilspesifikke innstillinger Standardprofil Kartvisning- og navigeringsinnstillinger lagres per profil. Sett din standardprofil her. @@ -549,7 +549,7 @@ Melding Rediger interessepunkt Opprett interessepunkt - Slette {0} (skriv kommentar)? + Slette {0} (kommentar)? Slett interessepunkt Interessepunkt slettet legg til @@ -1883,7 +1883,7 @@ Transkriber hvis %1$s navn mangler Transkriber navn Få for %1$s måned - Få ubegrensede kartnedlastinger, og kartoppdateringer mer enn en gang i måneden: Ukentlig, daglig eller hver time. + Få ubegrensede kartnedlastinger og kartoppdateringer mer enn en gang i måneden: Ukentlig, daglig eller hver time. Lydbaserte anvisninger Indiker retning til målpunkt med lyd. Anvisninger med vibrasjon @@ -1900,7 +1900,7 @@ Redigeringer %1$s, rang %2$s, redigeringer totalt %3$s Rangering av OSM-bidragsytere - For å gi deg informasjon om bidrag. + Behøves for å gi deg informasjon om bidrag. Støttet region Takk for at du støtter OsmAnd! \nFor å aktivere alle nye funksjoner må du starte OsmAnd på nytt. @@ -2109,8 +2109,8 @@ Rundkjøring: Ta avkjøring %1$d og fortsett Støtt nye funksjoner Maksimumshastighet - Avreise - Ankomst + Starttid + Sluttid Farge Filen kan ikke flyttes. Flytt @@ -2216,7 +2216,7 @@ Hurtighandling Legg til handling Legg til handling - Reisemålet ditt ligger i et område med privat adgang. Bruk private veier for denne turen? + Reisemålet ditt ligger i et område med privat adgang. Tillate adgang til de private veiene for denne turen? Start søk på nytt Øk søkeradius Ingenting funnet @@ -2331,7 +2331,7 @@ Takk for at du kjøpte betalingsversjonen av OsmAnd. Kortere ruter Balansert - Rutepunkter, fremtredende punkter på denne ruten, navngitte karakteristika. + Rutepunkter, interessepunkter, navngitte objekter Tid i bevegelse Varighet Maks. @@ -2509,8 +2509,8 @@ La stå tomt for å bruke adressen eller stedsnavnet. Denne meldingen inkluderes i kommentarfeltet. Du må være koblet til internett for å vise bilder fra Mapillary. - Last ned relieffskyggeoverleggskartet for å se relieffskygger for denne regionen. - Installer programtillegget for koter for å vise relieffskygger på kartet + Last ned relieffskyggeoverleggskartet for denne regionen for å se relieffskygger på kartet. + Kjøp og installer programtillegget for koter for å se relieffskygger på kartet Oppfør nytt navn Tilbake Rutepunkter lagt til kartmarkører @@ -2526,10 +2526,10 @@ Last ned kotekartet for denne regionen. Vis Importer som GPX-fil - Importer som favoritt + Importer som favoritter Importer fil Velg hvordan avstand og retning til kartmarkører på kartskjermen angis: - kan importeres som favoritt, eller GPX-fil. + kan importeres som favoritter eller en GPX-fil. Fullskjermmodus Utseende på kartet @@ -2571,14 +2571,14 @@ Mørkegul Gjennomskinnelig rosa Endre søkeord. - Ser etter GPX-filer med rutepunkter + Ser etter spor med rutepunkter Spor-rutepunkter Importer grupper fra favoritter eller GPX-rutepunkter. Importer favorittgrupper eller rutepunkter som markører. Vis veivisningslinjer fra din posisjon til de aktive markørplasseringene. Vis én eller to piler som indikerer retningen til de aktive markørene. Velg hvordan avstanden til aktive markører skal vises. - Velg antall aktive markører som skal vises. + Velg hvor mange retningsindikatorer som skal vises. Et trykk på kartet skjuler/viser kontrollknappene og miniprogrammene. Marker som passert Kunne ikke endre notatet @@ -2676,7 +2676,7 @@ Vil sette GPX-logging i pausemodus når programmet avsluttes (via nylig brukte apper). (OsmAnds bakgrunnsindikasjon forsvinner fra Android-varslingslinjen.) Legg til mellomliggende reisemål hvis denne lange ruten ikke er beregnet innen 10 minutter. Optimalisert rekkefølge av mellomliggende reisemål underveis til målet. - Sted å assosiere med notatet er ikke definert ennå. \"Bruk posisjon …\" for å tilordne et notat til det angitte stedet. + Sted å assosiere med notatet er ikke definert ennå. \"Bruk posisjon…\" for å tilordne et notat til det angitte stedet. Legg til rutepunkt i innspilt GPX-spor Taleveiledning er ikke tilgjengelig, gå til \'Innstillinger\' → \'Navigeringsinnstillinger\' → \'Taleveiledning\' og velg eller last ned en språkpakke. For lange turer, beregn på nytt bare den første delen av ruten. @@ -2833,7 +2833,7 @@ Dette programtillegget aktiverer funksjoner for å ta opp og lagre sporene dine ved å manuelt trykke på miniprogrammet for GPX-logging på kartskjermen, eller også for å automatisk logge alle dine navigeringsruter til en GPX-fil. \n \nSpor som er tatt opp kan deles med dine venner eller brukes som OSM-bidrag. Idrettsutøvere kan bruke innspilte spor til å følge treningen sin. Noe grunnleggende sporingsanalyse kan utføres direkte i OsmAnd, som rundetider, gjennomsnittshastighet etc., og spor kan selvfølgelig også analyseres senere i spesielle tredjeparts analyseprogrammer. - Dette programtillegget viser innstillinger for utvikling og feilrettingsfunksjoner, for testing eller simulering av veivisning, skjermtegningsytelse, eller stemmeanvisning. Disse innstillingene er ment for utviklere, og trengs ikke for vanlige brukere. + Dette programtillegget viser innstillinger for utvikling og feilrettingsfunksjoner som testing eller simulering av ruteberegning, skjermopptegningsytelse eller talemeldinger. Disse innstillingene er ment for utviklere og trengs ikke for vanlige brukere. GPS-navigering \n • Velg mellom frakoblet modus (ingen roaming-kostnader når du er utenlands) eller nettbasert modus (raskere) \n • Taleveiledning sving-for-sving leder deg langs veien (innspilt og syntetisert tale) @@ -2963,22 +2963,21 @@ Dette programtillegget tilbyr et miniprogram for kartskjermen der du kan opprette stier ved å trykke på kartet, eller ved å endre eksisterende GPX-filer, for å planlegge en tur og måle avstanden mellom punkter. Resultatet kan lagres som en GPX-fil, som senere kan brukes for veiledning. Via dette programtillegget kan OsmAnd brukes til å sende inn OSM-bidrag, som opprettelse eller endring av OSM-POI-objekter, åpning eller kommentering av OSM-notater, og bidrag til GPX-spor. OSM er et verdensomspennende kartprosjekt i offentlig eiendom. For detaljer, se https://openstreetmap.org. Aktiv deltagelse verdsettes, og bidrag kan gjøres direkte fra OsmAnd, hvis du angir din personlige OSM-innloggingsinfo i programmet. Kart -\n • Viser POI-er (interessepunkter) rundt deg -\n • Orienterer kartet i fartsretning (eller etter kompass) -\n • Viser din plassering og retningen du ser i -\n • Del din plassering slik at dine venner kan finne deg +\n • Viser interessepunkter rundt deg +\n • Orienterer kartet etter bevegelsesretning (eller kompass) +\n • Viser din posisjon og retningen du ser i +\n • Del din posisjon slik at dine venner kan finne deg \n • Beholder dine viktigste steder i \"Favoritter\" -\n • Tillater deg å velge hvordan du vil vise navn i kartet: På engelsk, lokale navn, eller fonetisk staving -\n • Viser spesialiserte nettbaserte flis, satellittvisning (fra Bing), forskjellige overleggslag, som tur/navigasjon-GPX-spor og ytterligere lag med tilpassbar gjennomsiktighet +\n • Lar deg velge hvordan du vil vise navn på kartet: På engelsk, lokale navn, eller fonetisk staving +\n • Viser spesialiserte nettbaserte kartfliser, satellittvisning (fra Bing), forskjellige overlegg som GPX-spor til tur/navigering og ytterligere lag med tilpassbar gjennomsiktighet \n Kartvisning \n • Vis din posisjon og retning -\n • Valgfri rotasjon av kartet mot kompass eller fartsretning +\n • Eventuelt orienter kartet etter kompass eller bevegelsesretning \n • Lagre dine viktigste steder som favoritter -\n • Vis POI-er (interessepunkter) rundt deg -\n • Vis spesialiserte nettbaserte fil, satellittvisning (fra Bing), forskjellige overleggslag, som tur/navigasjons-GPX-spor og ytterligere lag med tilpassbar gjennomsiktighet -\n • Valgfri visning av stedsnavn på Engelsk, lokal, eller fonetisk staving -\n +\n • Vis interessepunkter rundt deg +\n • Vis spesialiserte nettbaserte kartfliser, satellittvisning (fra Bing), forskjellige overlegg som GPX-spor til tur/navigering og ytterligere lag med tilpassbar gjennomsiktighet +\n • Valgfri visning av stedsnavn på engelsk, lokalt språk, eller fonetisk staving Bruk OSM- og Wikipedia-data \n • Høykvalitetsinfo fra de beste samarbeidsprosjektene i verden \n • OSM-data tilgjengelig per land eller region @@ -3028,5 +3027,5 @@ Rediger punkt Legg til punkt Lagre som spor - Du har lagt til %1$s punkter. Skriv inn navnet på filen og klikk \"Lagre\". + Du har lagt til %1$s punkter. Skriv inn navnet på filen og trykk \"Lagre\". From f819a39a9a164ee899b61692d09d377aa20c53ab Mon Sep 17 00:00:00 2001 From: FTno Date: Sat, 30 Jun 2018 11:48:13 +0000 Subject: [PATCH 39/54] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegian?= =?UTF-8?q?=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 98,7% (2561 of 2593 strings) --- OsmAnd/res/values-nb/strings.xml | 38 ++++++++++++++++---------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/OsmAnd/res/values-nb/strings.xml b/OsmAnd/res/values-nb/strings.xml index c4af385fc2..69308b9bb5 100644 --- a/OsmAnd/res/values-nb/strings.xml +++ b/OsmAnd/res/values-nb/strings.xml @@ -1415,7 +1415,7 @@ Fullversjon Det rene veikartet er ikke nødvendig siden du har det fullstendige standardkartet. Laste det ned likevel? Senere - Aktiver \"koter\" -tillegget + Aktiver programtillegget for koter Åpner Lukker @@ -2158,7 +2158,7 @@ Punkt(er) slettet. Du skal slette %1$d punkt(er). Er du sikker? Gjennomsnittshastighet - Velg GPX-fil -mappe + Velg mappe for GPX-fil OsmAnd (OSM Automated Navigation Directions) er et kart- og navigeringsprogram med tilgang til gratis, verdensomspennende og høykvalitets data fra OpenStreetMap (OSM). \n \n Gled deg over tale og visuell navigering, visning av interessepunkter, oppretting og behandling av GPX-spor, bruk av kotevisualisering og høydeinformasjon (gjennom programtillegg), et valg mellom kjøring, sykling, fotgjenger-modus, OSM-redigering og mye mer. @@ -2246,7 +2246,7 @@ Legg til ny mappe GPX-spor Bruk høydedata - Ta hensyn til terrenghøydedata (fra SRTM-, ASTER- og EU-DEM -data). + Faktor i terrenghøyde (data fra SRTM, ASTER og EU-DEM). Melding Tillatelser OsmAnd kan ikke importere filen. Kontroller om OsmAnd har leserettighet for fillagringsstedet. @@ -2462,7 +2462,7 @@ Kunne ikke beregne rute Beregnet rute er tom Ny rute beregnet, distanse - Lagrer GPX-fil til SD-kort… + Lagrer GPX-fil… Angi språk, last ned/gjeninnlast data. Kameraets fokusmetode Velg fokusmodus for kameraet. @@ -2526,10 +2526,10 @@ Last ned kotekartet for denne regionen. Vis Importer som GPX-fil - Importer som favoritter + Importer som favoritt Importer fil Velg hvordan avstand og retning til kartmarkører på kartskjermen angis: - kan importeres som favoritter eller en GPX-fil. + kan importeres som favoritt eller en GPX-fil. Fullskjermmodus Utseende på kartet @@ -2575,7 +2575,7 @@ Spor-rutepunkter Importer grupper fra favoritter eller GPX-rutepunkter. Importer favorittgrupper eller rutepunkter som markører. - Vis veivisningslinjer fra din posisjon til de aktive markørplasseringene. + Vis retningslinjer fra din posisjon til de aktive markørplasseringene. Vis én eller to piler som indikerer retningen til de aktive markørene. Velg hvordan avstanden til aktive markører skal vises. Velg hvor mange retningsindikatorer som skal vises. @@ -2941,17 +2941,17 @@ \n De fleste landene i verden kan lastes ned. \n Få pålitelig navigering i ditt land - det være seg Frankrike, Tyskland, Mexico, Storbritannia, Spania, Nederland, USA, Russland, Brasil eller andre. OsmAnd-laget - "Aktivering av denne visningen endrer OsmAnds kartstil til \"Turvisning, dette er et spesielt høydetaljskart for dem på reisefot og folk i transportbransjen. + Aktivering av denne visningen endrer kartstilen til \'Turvisning\', dette er en spesielt detaljert visning for reisende og yrkessjåfører. \n -\nDenne visningen gir, uansett forstørrelsesnivå, høyest antall reisedetaljer tilgjengelig i kartdataen (i særdeleshet veier, småveier, stier og orienteringsmerker). -\n -\nDet viser også alle typer veier, klart adskilt med fargemerking, som er nyttig når du kjører for eksempel store kjøretøy. +\nDenne visningen gir, uansett zoomnivå, det høyeste antall reisedetaljer tilgjengelig i kartdataene (i særdeleshet veier, småveier, stier og orienteringsmerker). \n -\nDet gir også spesielle turvalg, som visning av sykkelveier eller fjellruter. -\n -\nMan trenger ikke å laste ned noe ekstra, visningen lages basert på standardkart. -\n -\nDenne visningen kan tilbakestilles enten ved å deaktivere den igjen her, eller å endre \"Kartstil\" under \"Sett opp kart\" man ønsker." +\nViser også alle typer veier klart adskilt med fargemerking, som er nyttig ved kjøring av f.eks. store kjøretøy. +\n +\nGir også spesielle turvalg som visning av sykkelruter eller fjellruter. +\n +\nMan trenger ikke laste ned noe ekstra, visningen lages basert på standardkart. +\n +\nVisningen kan tilbakestilles enten ved å deaktivere den igjen her, eller ved å endre \'Kartstil\' under \"Kartinnstilling\" som ønsket. Dette programtillegget beriker OsmAnds kart og navigasjonsprogram til også å tjene som sjøkart, for båt, seiling eller andre typer vannsport. \n \nDette spesielle karttillegget for OsmAnd gir alle sjømerker, for innom-, og utenskjærs bruk. Beskrivelsen av hvert av dem gir detaljer nok til å identifisere dem og deres mening (kategori, form, farge, sekvens, referanse, osv.). @@ -2989,9 +2989,9 @@ Bidra direkte til OSM \n • Rapporter datafeil \n • Last opp GPX-spor til OSM direkte fra programmet -\n • Legg til POI-er og last dem opp direkte til OSM (eller senere hvis du ikke har nett) -\n • Valgfri turopptaksmodus i bakgrunnen (mens enheten er i dvalemodus) -\n OsmAnd er aktivt utviklet fri programvare. Alle kan bidra til programmet ved å rapportere feil, forbedre oversettelser, eller kode nye funksjoner. Ytterligere avhenger prosjektet av finansielle bidrag for å støtte koding og testing av ny funksjonalitet. +\n • Legg til interessepunkter og last dem opp direkte til OSM (eller senere hvis uten internett) +\n • Valgfri turopptakelse også i bakgrunnsmodus (mens enheten er i dvalemodus) +\n OsmAnd er aktivt utviklet programvare med åpen kildekode. Alle kan bidra til programmet ved å rapportere feil, forbedre oversettelser eller kode nye funksjoner. I tillegg avhenger prosjektet av finansielle bidrag for å støtte koding og testing av nye funksjoner. \n Skjul full beskrivelse Vis full beskrivelse From 1cb3f07d7a28489fb4b929c934f2d68243614c58 Mon Sep 17 00:00:00 2001 From: FTno Date: Sat, 30 Jun 2018 12:15:27 +0000 Subject: [PATCH 40/54] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegian?= =?UTF-8?q?=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 98,7% (2561 of 2593 strings) --- OsmAnd/res/values-nb/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OsmAnd/res/values-nb/strings.xml b/OsmAnd/res/values-nb/strings.xml index 69308b9bb5..721792c47c 100644 --- a/OsmAnd/res/values-nb/strings.xml +++ b/OsmAnd/res/values-nb/strings.xml @@ -2575,7 +2575,7 @@ Spor-rutepunkter Importer grupper fra favoritter eller GPX-rutepunkter. Importer favorittgrupper eller rutepunkter som markører. - Vis retningslinjer fra din posisjon til de aktive markørplasseringene. + Vis retningsbestemte linjer fra din posisjon til de aktive markørplasseringene. Vis én eller to piler som indikerer retningen til de aktive markørene. Velg hvordan avstanden til aktive markører skal vises. Velg hvor mange retningsindikatorer som skal vises. From 391dbde6ccb71381445ed3c4af1e7766a1843eb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sveinn=20=C3=AD=20Felli?= Date: Fri, 29 Jun 2018 14:12:43 +0000 Subject: [PATCH 41/54] Translated using Weblate (Icelandic) Currently translated at 99.9% (3486 of 3488 strings) --- OsmAnd/res/values-is/phrases.xml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-is/phrases.xml b/OsmAnd/res/values-is/phrases.xml index 421e41d388..9db1f33578 100644 --- a/OsmAnd/res/values-is/phrases.xml +++ b/OsmAnd/res/values-is/phrases.xml @@ -3845,4 +3845,7 @@ Spurningalisti Heimilistækjaverslun - + Snertilaust + Ekki tekið við snertilausum kortum + + From bc02b1764ced9fc39983c362720389e880e6afc6 Mon Sep 17 00:00:00 2001 From: Thomas Klingers Date: Fri, 29 Jun 2018 18:58:01 +0000 Subject: [PATCH 42/54] Translated using Weblate (Dutch) Currently translated at 70.4% (2456 of 3488 strings) --- OsmAnd/res/values-nl/phrases.xml | 54 ++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/OsmAnd/res/values-nl/phrases.xml b/OsmAnd/res/values-nl/phrases.xml index 0a32ff9d0c..2c65f584de 100644 --- a/OsmAnd/res/values-nl/phrases.xml +++ b/OsmAnd/res/values-nl/phrases.xml @@ -2803,4 +2803,58 @@ Gehandicapten Geluiddemper + Begeleid wonen + Opvang + Workshop + Dagzorg + + Senioren + Kinderen + Patiënten met mentale beperkingen + Jeugdig + Beschaving: oude romeinen (753 v.Chr. – 284 n.Chr.) + Hond + Paard + + Paarden toegestaan + Paarden niet toegestaan + Dieren toegestaan + Dieren niet toegestaan + + Magnetron: ja + Magnetron: nee + Waterkoker: ja + Waterkoker: nee + + Garageboxen + Carports + + Badminton + Judo + Squash + NEMA 14-30 + NEMA 14-50 + Schuko + BS 1363 + AS/NZS 3112 + + Hoog + Middel + Laag + Hoog + Middel + Laag + Hoog + Middel + Laag + Hoog + Middel + Laag + Hoog + Middel + Laag + Hoog + Middel + Laag + From 7ce5b816999d9d88546c3aa630113415d0ba4556 Mon Sep 17 00:00:00 2001 From: Branko Kokanovic Date: Sat, 30 Jun 2018 19:41:16 +0000 Subject: [PATCH 43/54] Translated using Weblate (Serbian) Currently translated at 100.0% (2593 of 2593 strings) --- OsmAnd/res/values-sr/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/OsmAnd/res/values-sr/strings.xml b/OsmAnd/res/values-sr/strings.xml index b86925fdec..3c6e7a3941 100644 --- a/OsmAnd/res/values-sr/strings.xml +++ b/OsmAnd/res/values-sr/strings.xml @@ -2954,4 +2954,5 @@ Додај тачку Сними као путању Додали сте %1$s тачке(и). Унесите име фајл и кликните \"Сними\". + Укључивањем овог погледа се мења стил мапе на \"СТил From 36967d37b16c03bd30371cf47381127df9814ea9 Mon Sep 17 00:00:00 2001 From: Franco Date: Fri, 29 Jun 2018 19:47:49 +0000 Subject: [PATCH 44/54] Translated using Weblate (Spanish (Argentina)) Currently translated at 100.0% (3488 of 3488 strings) --- OsmAnd/res/values-es-rAR/phrases.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-es-rAR/phrases.xml b/OsmAnd/res/values-es-rAR/phrases.xml index b9a8299d27..6f5e59eedc 100644 --- a/OsmAnd/res/values-es-rAR/phrases.xml +++ b/OsmAnd/res/values-es-rAR/phrases.xml @@ -3918,7 +3918,7 @@ Afloramiento -Sin contacto - Sin contacto: no +Pago sin contacto + No acepta Pagos sin contacto From 41bb6040a5719c543c113f9ec0ea309e27617331 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20Sok=C3=B3=C5=82?= Date: Sat, 30 Jun 2018 04:42:19 +0000 Subject: [PATCH 45/54] Translated using Weblate (Polish) Currently translated at 97.2% (2521 of 2593 strings) --- OsmAnd/res/values-pl/strings.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-pl/strings.xml b/OsmAnd/res/values-pl/strings.xml index bfc9bcd23f..3ba080c20d 100644 --- a/OsmAnd/res/values-pl/strings.xml +++ b/OsmAnd/res/values-pl/strings.xml @@ -3077,8 +3077,9 @@ Reprezentuje obszar: %1$s x %2$s Czytaj Wikipedię offline Pliki GPX Edycja działań - Prosimy o przesłanie zrzutów ekranu tego powiadomienia na support@osmand.net + Proszę przesłać zrzut ekranu tego powiadomienia na adres support@osmand.net Edytuj punkt Dodaj punkt - Dodano %1$s punkty/ów. Wpisz nazwę pliku i naciśnij \"Zapisz\". + Dodano %1$s punktów. Proszę wprowadzić nazwę pliku i nacisnąć „Zapisz”. + Zapisz jako ślad From 45fe2c83f3518c96586983766a85f34241e0fb20 Mon Sep 17 00:00:00 2001 From: Alex Sytnyk Date: Sun, 1 Jul 2018 13:41:11 +0300 Subject: [PATCH 46/54] Add the ability to select duration on the "Set time" screen --- .../telegram/ui/SetTimeDialogFragment.kt | 89 +++++++++++++++---- 1 file changed, 74 insertions(+), 15 deletions(-) diff --git a/OsmAnd-telegram/src/net/osmand/telegram/ui/SetTimeDialogFragment.kt b/OsmAnd-telegram/src/net/osmand/telegram/ui/SetTimeDialogFragment.kt index 2174c4fe17..27a55f4671 100644 --- a/OsmAnd-telegram/src/net/osmand/telegram/ui/SetTimeDialogFragment.kt +++ b/OsmAnd-telegram/src/net/osmand/telegram/ui/SetTimeDialogFragment.kt @@ -1,5 +1,6 @@ package net.osmand.telegram.ui +import android.app.TimePickerDialog import android.os.Bundle import android.support.v4.app.DialogFragment import android.support.v4.app.FragmentManager @@ -16,6 +17,7 @@ import net.osmand.telegram.TelegramApplication import net.osmand.telegram.helpers.TelegramUiHelper import net.osmand.telegram.ui.SetTimeDialogFragment.SetTimeListAdapter.ChatViewHolder import org.drinkless.td.libcore.telegram.TdApi +import java.util.concurrent.TimeUnit class SetTimeDialogFragment : DialogFragment() { @@ -26,7 +28,7 @@ class SetTimeDialogFragment : DialogFragment() { private val adapter = SetTimeListAdapter() - private val chatIds = HashSet() + private val chatIdsToDuration = HashMap() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -38,9 +40,7 @@ class SetTimeDialogFragment : DialogFragment() { container: ViewGroup?, savedInstanceState: Bundle? ): View? { - arguments?.apply { - chatIds.addAll(getLongArray(CHATS_KEY).toSet()) - } + readFromBundle(savedInstanceState ?: arguments) val view = inflater.inflate(R.layout.fragment_set_time_dialog, container) @@ -50,7 +50,7 @@ class SetTimeDialogFragment : DialogFragment() { ) findViewById(R.id.time_for_all_value).text = "1 hour" setOnClickListener { - Toast.makeText(context, "Time for all", Toast.LENGTH_SHORT).show() + selectDuration() } } @@ -81,11 +81,65 @@ class SetTimeDialogFragment : DialogFragment() { updateList() } + override fun onSaveInstanceState(outState: Bundle) { + super.onSaveInstanceState(outState) + val chats = mutableListOf() + for ((id, duration) in chatIdsToDuration) { + chats.add(id) + chats.add(duration) + } + outState.putLongArray(CHATS_KEY, chats.toLongArray()) + } + + private fun readFromBundle(bundle: Bundle?) { + chatIdsToDuration.clear() + bundle?.getLongArray(CHATS_KEY)?.also { + for (i in 0 until it.size step 2) { + chatIdsToDuration[it[i]] = it[i + 1] + } + } + } + + private fun selectDuration(id: Long? = null) { + val (defHours, defMinutes) = secondsToHoursAndMinutes(DEFAULT_VISIBLE_TIME_SECONDS) + TimePickerDialog( + context, + TimePickerDialog.OnTimeSetListener { _, hours, minutes -> + val seconds = TimeUnit.HOURS.toSeconds(hours.toLong()) + + TimeUnit.MINUTES.toSeconds(minutes.toLong()) + if (id != null) { + chatIdsToDuration[id] = seconds + } else { + chatIdsToDuration.keys.forEach { + chatIdsToDuration[it] = seconds + } + } + adapter.notifyDataSetChanged() + }, defHours, defMinutes, true + ).show() + } + + private fun secondsToHoursAndMinutes(seconds: Long): Pair { + val hours = TimeUnit.SECONDS.toHours(seconds) + val minutes = TimeUnit.SECONDS.toMinutes(seconds - TimeUnit.HOURS.toSeconds(hours)) + return Pair(hours.toInt(), minutes.toInt()) + } + + private fun formatDuration(seconds: Long): String { + val (hours, minutes) = secondsToHoursAndMinutes(seconds) + return when { + hours != 0 && minutes == 0 -> String.format("%d h", hours) + hours == 0 && minutes != 0 -> String.format("%02d m", minutes) + else -> String.format("%d h, %02d m", hours, minutes) + } + } + private fun updateList() { val chats: MutableList = mutableListOf() - telegramHelper.getChatList().filter { chatIds.contains(it.chatId) }.forEach { orderedChat -> - telegramHelper.getChat(orderedChat.chatId)?.also { chats.add(it) } - } + telegramHelper.getChatList().filter { chatIdsToDuration.keys.contains(it.chatId) } + .forEach { orderedChat -> + telegramHelper.getChat(orderedChat.chatId)?.also { chats.add(it) } + } adapter.chats = chats } @@ -111,11 +165,11 @@ class SetTimeDialogFragment : DialogFragment() { holder.description?.text = "Some description" // FIXME holder.textInArea?.apply { visibility = View.VISIBLE - text = "1 h" + chatIdsToDuration[chat.id]?.also { text = formatDuration(it) } } holder.bottomShadow?.visibility = View.GONE holder.itemView.setOnClickListener { - Toast.makeText(context, chat.title, Toast.LENGTH_SHORT).show() + selectDuration(chat.id) } } @@ -134,14 +188,19 @@ class SetTimeDialogFragment : DialogFragment() { private const val TAG = "SetTimeDialogFragment" private const val CHATS_KEY = "chats_key" + private const val DEFAULT_VISIBLE_TIME_SECONDS = 60 * 60L // 1 hour - fun showInstance(fm: FragmentManager, chats: Set): Boolean { + fun showInstance(fm: FragmentManager, chatIds: Set): Boolean { return try { - val fragment = SetTimeDialogFragment() - fragment.arguments = Bundle().apply { - putLongArray(CHATS_KEY, chats.toLongArray()) + val chats = mutableListOf() + for (id in chatIds) { + chats.add(id) + chats.add(DEFAULT_VISIBLE_TIME_SECONDS) + } + SetTimeDialogFragment().apply { + arguments = Bundle().apply { putLongArray(CHATS_KEY, chats.toLongArray()) } + show(fm, TAG) } - fragment.show(fm, TAG) true } catch (e: RuntimeException) { false From 0537d68585dea940f03db13e82f4226f0c5e225b Mon Sep 17 00:00:00 2001 From: Yunkers Date: Sat, 30 Jun 2018 11:35:28 +0000 Subject: [PATCH 47/54] Translated using Weblate (Polish) Currently translated at 99.8% (3484 of 3488 strings) --- OsmAnd/res/values-pl/phrases.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/OsmAnd/res/values-pl/phrases.xml b/OsmAnd/res/values-pl/phrases.xml index 404fc33e8d..2cbc510e47 100644 --- a/OsmAnd/res/values-pl/phrases.xml +++ b/OsmAnd/res/values-pl/phrases.xml @@ -3883,4 +3883,7 @@ Wychodnia +Zbliżeniowo + Płatność zbliżeniowa nieakceptowana + From 5a48021a08350465a2618dfd5e1590cc3752caee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Allan=20Nordh=C3=B8y?= Date: Sat, 30 Jun 2018 19:58:38 +0000 Subject: [PATCH 48/54] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegian?= =?UTF-8?q?=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 98.7% (2560 of 2593 strings) --- OsmAnd/res/values-nb/strings.xml | 94 ++++++++++++++++---------------- 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/OsmAnd/res/values-nb/strings.xml b/OsmAnd/res/values-nb/strings.xml index 721792c47c..66173e0fda 100644 --- a/OsmAnd/res/values-nb/strings.xml +++ b/OsmAnd/res/values-nb/strings.xml @@ -203,7 +203,7 @@ Talemeldinger (TTS-syntetisert, anbefales) Wikipedia (offline) Brukerdefinert - Fil som inneholder tidligere eksporterte favoritter finnes allerede. Vil du erstatte den? + Fil inneholdende tidligere eksporterte favoritter finnes allerede. Vil du erstatte den? Profilspesifikke innstillinger Standardprofil Kartvisning- og navigeringsinnstillinger lagres per profil. Sett din standardprofil her. @@ -1845,27 +1845,27 @@ Kotebredde Kotebredde Overvei å betale for kote-programtillegget for å støtte videre utvikling. - OsmAnd (OSM Automated Navigation Directions) -\n -\n OsmAnd er et navigeringsprogram med åpen kildekode og med tilgang til et bredt mangfold av globale data fra OpenStreetMap (OSM). Alle kartdata (vektor- eller fliskart) kan lagres på telefonens minnekort for nettfrakoblet bruk. Frakoblet og nettbasert rutefunksjon tilbys også, inkludert talebaserte anvisninger. -\n -\n Noen av kjernefunksjonene: -\n - Fullstendig nettfrakoblet funksjonalitet (lagre nedlastede vektor- eller fliskart i enhetens lagringsmedium) -\n - Kompakte frakoblede vektorkart fra hele verden tilgjengelige -\n - Last ned lands- eller regionkart direkte fra programmet -\n - Overlegg av flere kartlag mulig, som GPX og navigeringsspor, interessepunkter, favoritter, koter, stoppesteder for offentlig transport, ytterligere kart med egendefinert gjennomsiktighet -\n - Frakoblet søk etter adresser og steder (interessepunkter) -\n - Frakoblet ruteplanlegging for middels avstander -\n - Bil, sykkel eller fotgjengermoduser med valgfri: -\n - Automatisk skifting mellom dag/natt-visning -\n - Fartsavhengig kart-zooming -\n - Kartjustering etter kompass- eller bevegelsesretning -\n - Filhenvisning, fartsgrensevisning, innspilte og TTS-tale -\n -\n Begrensninger i gratisversjonen av OsmAnd: -\n - Antall kartnedlastinger er begrenset -\n - Ingen nettfrakoblet tilgang til interessepunkter fra Wikipedia -\n + OsmAnd (OSM Automated Navigation Directions) +\n +\n OsmAnd er et navigeringsprogram med åpen kildekode og med tilgang til et bredt mangfold av globale data fra OpenStreetMap (OSM). Alle kartdata (vektor- eller fliskart) kan lagres på telefonens minnekort for nettfrakoblet bruk. Frakoblet og nettbasert rutefunksjon tilbys også, inkludert talebaserte anvisninger. +\n +\n Noen av kjernefunksjonene: +\n - Fullstendig nettfrakoblet funksjonalitet (lagre nedlastede vektor- eller fliskart i enhetens lagringsmedium) +\n - Kompakte frakoblede vektorkart fra hele verden tilgjengelige +\n - Last ned lands- eller regionkart direkte fra programmet +\n - Overlegg av flere kartlag mulig, som GPX og navigeringsspor, interessepunkter, favoritter, koter, stoppesteder for offentlig transport, ytterligere kart med egendefinert gjennomsiktighet +\n - Frakoblet søk etter adresser og steder (interessepunkter) +\n - Frakoblet ruteplanlegging for middels avstander +\n - Bil, sykkel eller fotgjengermoduser med valgfri: +\n - Automatisk skifting mellom dag/natt-visning +\n - Fartsavhengig kartforstørring +\n - Kartjustering etter kompass- eller bevegelsesretning +\n - Filhenvisning, fartsgrensevisning, innspilte og TTS-tale +\n +\n Begrensninger i gratisversjonen av OsmAnd: +\n - Antall kartnedlastinger er begrenset +\n - Ingen nettfrakoblet tilgang til interessepunkter fra Wikipedia +\n \n OsmAnd utvikles aktivt, og prosjektet vårt og dets videre framdrift avhenger av finansielle bidrag for å drive utviklingen og testingen av nye funksjoner. Overvei å kjøpe OsmAnd+ eller støtte spesifikke nye funksjoner eller bidra med en generell donasjon på https://osmand.net. Last opp ditt OSM-notat anonymt eller ved å bruke din profil hos OpenStreetMap.org Du har ingen GPX-filer enda @@ -1883,7 +1883,7 @@ Transkriber hvis %1$s navn mangler Transkriber navn Få for %1$s måned - Få ubegrensede kartnedlastinger og kartoppdateringer mer enn en gang i måneden: Ukentlig, daglig eller hver time. + Få ubegrensede kartnedlastinger og kartoppdateringer mer enn en gang i måneden: Ukentlig, daglig eller timevist. Lydbaserte anvisninger Indiker retning til målpunkt med lyd. Anvisninger med vibrasjon @@ -2162,25 +2162,25 @@ OsmAnd (OSM Automated Navigation Directions) er et kart- og navigeringsprogram med tilgang til gratis, verdensomspennende og høykvalitets data fra OpenStreetMap (OSM). \n \n Gled deg over tale og visuell navigering, visning av interessepunkter, oppretting og behandling av GPX-spor, bruk av kotevisualisering og høydeinformasjon (gjennom programtillegg), et valg mellom kjøring, sykling, fotgjenger-modus, OSM-redigering og mye mer. - OsmAnd+ (OSM Automated Navigation Directions) -\n -\n OsmAnd+ er et navigeringsprogram med åpen kildekode og med tilgang til et bredt mangfold av globale data fra OpenStreetMap (OSM). Alle kartdata (vektor- eller fliskart) kan lagres på telefonens minnekort for nettfrakoblet bruk. Frakoblet og nettbasert rutefunksjon tilbys også, inkludert talebaserte anvisninger. -\n -\n OsmAnd+ er betalingsversjonen, ved å kjøpe den støtter du prosjektet, finansierer utviklingen av nye funksjoner, og mottar de siste oppdateringene. -\n -\n Noen av kjernefunksjonene: -\n - Fullstendig nettfrakoblet funksjonalitet (lagre nedlastede vektor- eller fliskart i enhetens lagringsmedium) -\n - Kompakte frakoblede vektorkart fra hele verden tilgjengelige -\n - Ubegrenset nedlasting av lands- eller regionkart direkte fra programmet -\n - Frakoblede Wikipedia-funksjoner (last ned Wikipedia-interessepunkter), flott for sightseeing -\n - Overlegg av flere kartlag mulig, som GPX og navigeringsspor, interessepunkter, favoritter, koter, stoppesteder for offentlig transport, ytterligere kart med egendefinert gjennomsiktighet -\n - Frakoblet søk etter adresser og steder (interessepunkter) -\n - Frakoblet ruteplanlegging for middels avstander -\n - Bil, sykkel eller fotgjengermoduser med valgfri: -\n - Automatisk skifting mellom dag/natt-visning -\n - Fartsavhengig kart-zooming -\n - Kartjustering etter kompass- eller bevegelsesretning -\n - Filhenvisning, fartsgrensevisning, innspilte og TTS-tale + OsmAnd+ (OSM Automated Navigation Directions) +\n +\n OsmAnd+ er et navigeringsprogram med åpen kildekode og med tilgang til et bredt mangfold av globale data fra OpenStreetMap (OSM). Alle kartdata (vektor- eller fliskart) kan lagres på telefonens minnekort for nettfrakoblet bruk. Frakoblet og nettbasert rutefunksjon tilbys også, inkludert talebaserte anvisninger. +\n +\n OsmAnd+ er betalingsversjonen, ved å kjøpe den støtter du prosjektet, finansierer utviklingen av nye funksjoner, og mottar de siste oppdateringene. +\n +\n Noen av kjernefunksjonene: +\n - Fullstendig nettfrakoblet funksjonalitet (lagre nedlastede vektor- eller fliskart i enhetens lagringsmedium) +\n - Kompakte frakoblede vektorkart fra hele verden tilgjengelige +\n - Ubegrenset nedlasting av lands- eller regionkart direkte fra programmet +\n - Frakoblede Wikipedia-funksjoner (last ned Wikipedia-interessepunkter), flott for sightseeing +\n - Overlegg av flere kartlag mulig, som GPX og navigeringsspor, interessepunkter, favoritter, koter, stoppesteder for offentlig transport, ytterligere kart med egendefinert gjennomsiktighet +\n - Frakoblet søk etter adresser og steder (interessepunkter) +\n - Frakoblet ruteplanlegging for middels avstander +\n - Bil, sykkel eller fotgjengermoduser med valgfri: +\n - Automatisk skifting mellom dag/natt-visning +\n - Fartsavhengig kartforstørring +\n - Kartjustering etter kompass- eller bevegelsesretning +\n - Filhenvisning, fartsgrensevisning, innspilte og TTS-tale \n OsmAnd+ (OSM Automated Navigation Directions) er et kart- og navigeringsprogram med tilgang til gratis, verdensomspennende og høykvalitets data fra OpenStreetMap (OSM). \n Gled deg over tale og visuell navigering, visning av interessepunkter, oppretting og behandling av GPX-spor, bruk av kotevisualisering og høydeinformasjon, et valg mellom kjøring, sykling, fotgjenger-modus, OSM-redigering og mye mer. @@ -2212,7 +2212,7 @@ Tale er av Tale er på Sortert etter avstand - Søk favoritter + Søk blandt favoritter Hurtighandling Legg til handling Legg til handling @@ -2246,7 +2246,7 @@ Legg til ny mappe GPX-spor Bruk høydedata - Faktor i terrenghøyde (data fra SRTM, ASTER og EU-DEM). + Ta hensyn til terrenghøyde (data fra SRTM, ASTER og EU-DEM). Melding Tillatelser OsmAnd kan ikke importere filen. Kontroller om OsmAnd har leserettighet for fillagringsstedet. @@ -2529,7 +2529,7 @@ Importer som favoritt Importer fil Velg hvordan avstand og retning til kartmarkører på kartskjermen angis: - kan importeres som favoritt eller en GPX-fil. + kan importeres som favoritt eller GPX-fil. Fullskjermmodus Utseende på kartet @@ -2989,8 +2989,8 @@ Bidra direkte til OSM \n • Rapporter datafeil \n • Last opp GPX-spor til OSM direkte fra programmet -\n • Legg til interessepunkter og last dem opp direkte til OSM (eller senere hvis uten internett) -\n • Valgfri turopptakelse også i bakgrunnsmodus (mens enheten er i dvalemodus) +\n • Legg til interessepunkter og last dem opp direkte til OSM (eller senere hvis uten Internett) +\n • Valgfri turopptak også i bakgrunnsmodus (mens enheten er i dvalemodus) \n OsmAnd er aktivt utviklet programvare med åpen kildekode. Alle kan bidra til programmet ved å rapportere feil, forbedre oversettelser eller kode nye funksjoner. I tillegg avhenger prosjektet av finansielle bidrag for å støtte koding og testing av nye funksjoner. \n Skjul full beskrivelse From 149a3cb5cdfbc218340b469368d1cb6775f2ad33 Mon Sep 17 00:00:00 2001 From: IgorEliezer Date: Sun, 1 Jul 2018 08:01:14 +0000 Subject: [PATCH 49/54] Translated using Weblate (Portuguese (Brazil)) Currently translated at 81.4% (2113 of 2593 strings) --- OsmAnd/res/values-pt-rBR/strings.xml | 78 +++++++++++++++------------- 1 file changed, 42 insertions(+), 36 deletions(-) diff --git a/OsmAnd/res/values-pt-rBR/strings.xml b/OsmAnd/res/values-pt-rBR/strings.xml index 38ca7a6593..7cea6d0559 100644 --- a/OsmAnd/res/values-pt-rBR/strings.xml +++ b/OsmAnd/res/values-pt-rBR/strings.xml @@ -194,12 +194,12 @@ Iluminação pública Proxy Pontos da trilha - "Este complemento fornece curva de nível e camada de sombra de colinas (relevo) por cima do mapa padrão do OsmAnd. Esta funcionalidade será muito apreciada por atletas, viajantes e alguém interessado na estrutura de relevo da paisagem. + Este plugin fornece curvas de nível e camada de sombras de relevo por cima do mapa padrão do OsmAnd. Esta funcionalidade será muito apreciada por atletas, viajantes e alguém interessado na estrutura de relevo da paisagem. \n -\nOs dados globais (entre as latitudes 70° norte e 70° sul) são baseados em medições do SRTM (Shuttle Radar Topography Mission) e ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer), um instrumento de imagens da Terra, o principal satélite do Sistema de Observação da Terra da NASA. ASTER é um esforço conjunto da NASA, do Ministério Japonês da Economia, Comércio e Indústria (METI) e do Sistema Espacial Japonês (J-spacesystems). " - "Este complemento fornece camadas de curvas de nível e de sombras das colinas (relevo) por cima do mapa padrão do OsmAnd. Esta funcionalidade será muito apreciada por atletas, viajantes e alguém interessado na estrutura de relevo da paisagem. -\n -\nOs dados globais (entre as latitudes 70° norte e 70° sul) são baseados em medições do SRTM (Shuttle Radar Topography Mission) e ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer), um instrumento de imagens da Terra, o principal satélite do Sistema de Observação da Terra da NASA. ASTER é um esforço conjunto da NASA, do Ministério Japonês da Economia, Comércio e Indústria (METI) e do Sistema Espacial Japonês (J-spacesystems). " +\nOs dados globais (entre as latitudes 70° norte e 70° sul) são baseados em medições do SRTM (Shuttle Radar Topography Mission) e ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer), um instrumento de imagens Terra, o satélite principal do Sistema de Observação da Terra da NASA. ASTER é um esforço conjunto da NASA, do Ministério da Economia, Comércio e Indústria do Japão (METI) e do Sistema Espacial Japonês (J-spacesystems). + Este plugin fornece curvas de nível e camada de sombras de relevo por cima do mapa padrão do OsmAnd. Esta funcionalidade será muito apreciada por atletas, viajantes e qualquer interessado na estrutura de relevo da paisagem. (Por favor, note que as curvas de nível e/ou dados de relevo são downloads adicionais separados disponíveis depois de ativar o plugin.) +\n +\nOs dados globais (entre as latitudes 70° norte e 70° sul) são baseados em medições do SRTM (Shuttle Radar Topography Mission) e ASTER (Advanced Spaceborne Thermal Emission and Reflection Radiometer), um instrumento de imagens Terra, o satélite principal do Sistema de Observação da Terra da NASA. ASTER é um esforço conjunto da NASA, do Ministério da Economia, Comércio e Indústria do Japão (METI) e do Sistema Espacial Japonês (J-spacesystems). O plugin de posição de estacionamento grava onde seu carro está estacionado e quanto tempo resta (se o estacionamento for de tempo limitado). \nVocê pode encontrar o seu lugar e tempo de estacionamento no painel de instrumentos e no widget do mapa. Pode ser adicionado um evento no calendário, se você quiser um lembrete. Este complemento do OsmAnd pode ser usado para fazer contribuições ao OSM como criar ou modificar POI, abertura ou comentários de erros do OSM e contribuir com arquivos GPX gravados. OSM é um projeto de mapeamento mundial dirigido pela comunidade e de domínio público. Para mais detalhes, consulte https://openstreetmap.org. Participação ativa é apreciada e as contribuições podem ser feitas diretamente do OsmAnd, se você especificar suas credenciais pessoais de OSM no app. @@ -2111,7 +2111,7 @@ Pôr do Sol: %2$s Distância total Inclinação Usuário e senha do OpenStreetMap - Ocorreu exceção: a anotação não foi modificada + Não foi possível modificar a nota Modificar anotação Modificar anotação do OSM Adicionar cópia do ponto de partida como destino. @@ -2119,28 +2119,28 @@ Pôr do Sol: %2$s Marcações Formato das coordenadas Usar teclado do sistema - Escolha o formato de inserção de coordenadas. Você sempre pode alterá-la tocando em Opções. + Escolha o formato de inserção de coordenadas. Você sempre pode alterá-la tocando em \'Opções\'. Inserção de coordenadas rápida Usar posição - Adicione sua posição como ponto de partida para planejar uma rota perfeita. + Adicione sua posição como ponto de partida para planejar a rota perfeita. Minha posição Terminar Planejar rota Classificar Inserção de coordenada está salvo - Exporte suas marcações para um arquivo que você pode especificar aqui: - Salvar como trilha + Exporte seus marcadores para o seguinte arquivo GPX: + Salvar como arquivo GPX Mover para o histórico - O grupo será excluído na próxima vez que reiniciar o aplicativo. + O grupo será excluído na próxima vez em que reiniciar o aplicativo. Mostrar setas no mapa - Excluir das Marcações de Mapa + Excluir dos marcadores de mapa decrescente ascendente Data adicionada Ordenar por: Selecionar como indicar distância e orientação para marcadores de mapa na tela do mapa: - Selecione a baixo em qual velocidade a orientação do mapa alterna de \'Na direção do movimento\' para \'Pela bússola\'. + Selecione a baixo em qual velocidade a orientação do mapa muda de \'Na direção do movimento\' para \'Pela bússola\'. Todas as marcações de mapa foram movidas para o histórico O marcador de mapa foi movido para o histórico O marcador de mapa foi movido para ativo @@ -2155,7 +2155,7 @@ Pôr do Sol: %2$s Mover tudo para o histórico Indicação de distância Classificar por - Não usar animações + Sem animações Desabilitar animações no aplicativo. Manter mostrando no aplicativo Sair sem salvar? @@ -2168,7 +2168,7 @@ Pôr do Sol: %2$s Adicionar ponto após Opções OsmAnd irá conectar os pontos com rotas para o perfil selecionado. - Você pode salvar os pontos tanto como pontos da rota quanto como uma linha. + Salve os pontos ou como pontos da rota ou como uma linha. Selecionar perfil de navegação Favor adicionar ao menos um ponto. Nome do arquivo GPX: @@ -2180,11 +2180,11 @@ Pôr do Sol: %2$s Iniciar/parar navegação Toque neste botão para iniciar ou parar a navegação. Armazenar trilhas gravadas em pastas mensais - Armazenar trilhas gravadas em subpastas por mês gravado (como 2017-01). + Armazenar trilhas gravadas em subpastas por mês (ex.: 2018-01). Redefinir Recarregar Recarregar ladrilhos para visualizar dados atualizados. - Nome de usuário errado! + Nome de usuário errado Para De Ver somente imagens adicionadas @@ -2206,25 +2206,25 @@ Pôr do Sol: %2$s Não temos fotos para este local. Contribuir com suas próprias vistas de rua deste local através do Mapillary. Ferramenta Mapillary - Permite que você contribua rapidamente ao Mapillary. + Permite contribuições rápidas ao Mapillary. Fotos ao nível da rua, online, para todos. Descobrir lugares, colaborar, capturar o mundo. Mapillary Fotos ao nível da rua para todos. Descubra lugares, colabore, capture o mundo. - Seu destino está localizado em uma área de acesso privado. Você quer permitir acesso às estradas privadas para esta viagem? + Seu destino está localizado numa área de acesso privado. Permitir acesso às vias privadas para esta viagem? Reiniciar pesquisa Aumentar o raio de busca - Nada encontrado :( + Nada encontrado Modifique o texto da pesquisa ou aumente o raio de busca. Mostrar/ocultar notas OSM Mostrar Anotações do OSM Ocultar notas OSM - Tocar neste botão de ação mostra ou oculta as notas OSM no mapa. + Tocar neste botão de ação mostra ou oculta as Notas OSM no mapa. Classificado por distância - Pesquisar favoritos - Para ver o sombreamento do relevo no mapa, você precisa baixar a camada de mapa de sombreamento de relevo desta região. - Para ver o sombreamento de relevo no mapa, você precisa comprar e instalar o plugin de Curvas de Nível + Pesquisar Favoritos + Para ver as sombras de relevo no mapa, baixe a camada de sombras de relevo desta região. + Para ver o sombreamento de relevo no mapa, você precisa comprar e instalar o plugin \'Curvas de Nível\' Ocultar a partir do nível de zoom - Para ver as curvas de nível no mapa, você precisa baixar o mapa de curvas de nível desta região. + Baixe o mapa \'Curvas de nível\' para usar nesta região. Complemento Para ver as curvas de nível no mapa, você precisa comprar e instalar o plugin \'Curvas de Nível\' Esquema de cores @@ -2238,12 +2238,12 @@ Pôr do Sol: %2$s Exibir a partir do nível de zoom Permitir acesso privado Permitir acesso a áreas privadas. - Nível de zoom mínimo: %1$s + Nível de zoom mín.: %1$s Nome do grupo Alterar cor Editar nome Animar Minha Posição - Ativar animação de deslizamento de mapa da Minha Posição durante a navegação. + Ativar animação de deslizamento de mapa da \'Minha Posição\' durante a navegação. Visão geral Selecionar rua em %1$s @@ -2302,8 +2302,8 @@ Pôr do Sol: %2$s Marcadores marcados como visitados aparecerão nesta tela. Dois Um - Exibir as linhas de guia desde a sua posição até os locais dos marcadores ativos. - Exibir uma ou duas setas indicando a direção para os marcadores ativos. + Mostrar linha direcional desde a sua posição até os locais dos marcadores ativos. + Mostrar uma ou duas setas indicando a direção para os marcadores ativos. Escolher como exibir a distância para os marcadores ativos. Escolha o número de indicadores de direção a exibir. Número de casas decimais @@ -2318,7 +2318,7 @@ Pôr do Sol: %2$s Um toque no mapa mostra/oculta os botões de controle e widgets. Modo tela cheia Marcador visitado - pode ser importado como pontos favoritos, ou como arquivo de trilha. + pode ser importado como Favoritos ou arquivo GPX. Importar como arquivo GPX Importar como Favoritos Importar arquivo @@ -2328,7 +2328,7 @@ Pôr do Sol: %2$s Via Ida e volta Você precisa adicionar ao menos um marcador para usar esta função. - Mostrar linhas de guia + Mostrar linhas direcionais Sem camada superior Sem camada inferior Erro @@ -2701,8 +2701,8 @@ Pôr do Sol: %2$s \n• Oriente Médio: ** \n• África: ** \n• Antártida: * -\nA maioria dos países ao redor do globo disponível como downloads! -\nDo Afeganistão ao Zimbabué, da Austrália aos Estados Unidos. Argentina, Brasil, Canadá, França, Alemanha, México, Reino Unido, Espanha,… +\nA maioria dos países ao redor do globo disponível como downloads! +\nDo Afeganistão ao Zimbabue, da Austrália aos Estados Unidos. Argentina, Brasil, Canadá, França, Alemanha, México, Reino Unido, Espanha, … Laociano Mostrar notas encerradas @@ -2744,7 +2744,7 @@ Pôr do Sol: %2$s S N Nome do ponto opcional - Rotas a menos de + Rotas próximas a Cerca de Digite o nome do arquivo. Erro de importação de mapa @@ -2762,7 +2762,13 @@ Pôr do Sol: %2$s Pontos de passagem removidos dos marcadores de mapa Resultado - Navegação • Funciona on-line (rápido) ou offline (sem custo de roaming quando estiver no exterior) • Orientação por voz passo-a-passo (vozes gravadas e sintetizadas) • Orientação de faixas opcional, exibição do nome da rua e tempo estimado de chegada • Suporta pontos intermediários do seu itinerário • Correção de rota automático sempre que você sair da rota • Busque lugares por endereço, pelo tipo (ex.: restaurante, hotel, posto de gasolina, museu), ou por coordenadas geográficas + Navegação +\n• Funciona on-line (rápido) ou offline (sem custo de roaming quando estiver no exterior) +\n• Orientação por voz passo-a-passo (vozes gravadas e sintetizadas) +\n• Orientação de faixas opcional, exibição do nome da rua e tempo estimado de chegada +\n• Suporta pontos intermediários do seu itinerário +\n• Correção de rota automático sempre que você sair da rota +\n• Busque lugares por endereço, pelo tipo (ex.: restaurante, hotel, posto de gasolina, museu), ou por coordenadas geográficas Visualização de mapa \n• Exiba sua posição e orientação \n• Opcionalmente alinhe a tela de acordo com a bússola ou a direção de seu movimento @@ -2839,7 +2845,7 @@ Pôr do Sol: %2$s Os guias de viagem atualmente baseiam-se no Wikivoyage. Teste todos os recursos durante o teste beta aberto, de graça. Depois, os guias estarão disponíveis para assinantes OsmAnd Unlimited e proprietários do OsmAnd+. Baixe artigos da Wikipédia por %1$s para lê-los offline. - Procurando o artigo wiki necessário + Procurando o artigo wiki correspondente Marcador Ocultar descrição completa Mostrar descrição completa From a28e4b5c727ec706eefe714b50ba769619226185 Mon Sep 17 00:00:00 2001 From: Branko Kokanovic Date: Sat, 30 Jun 2018 19:41:45 +0000 Subject: [PATCH 50/54] Translated using Weblate (Serbian) Currently translated at 100.0% (2593 of 2593 strings) --- OsmAnd/res/values-sr/strings.xml | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-sr/strings.xml b/OsmAnd/res/values-sr/strings.xml index 3c6e7a3941..3ae7d7146b 100644 --- a/OsmAnd/res/values-sr/strings.xml +++ b/OsmAnd/res/values-sr/strings.xml @@ -649,7 +649,7 @@ Додатак за изохипсе OsmAnd додатак за линије изохипси ван мреже Изохипсе - Возачки преглед карте + Туристички преглед карте Забелешке звука и снимака Додатак за бележење звука и снимака омогућује да се сниме звуци, слике и видео приликом путовања, или притиском дугмета на приказу карте, или непосредно у приручном изборнику за сваки положај на карти. Положај паркирања @@ -2954,5 +2954,15 @@ Додај тачку Сними као путању Додали сте %1$s тачке(и). Унесите име фајл и кликните \"Сними\". - Укључивањем овог погледа се мења стил мапе на \"СТил + Укључивањем овог погледа се мења стил мапе на \"Туристички преглед\", који је специјални високодетаљни преглед за туристе и професионалне возаче. +\n +\nОвај поглед нуди, на сваком нивоу зума, највећу количину туристичких детаља на подацима карте (посебно путеве, путање, стазе и знакове за оријентацију). +\n +\nТакође и јасно представља све врсте путева по боји, тако да никад не буде забуне, што је корисно када се нпр. возе већа возила. +\n +\nА нуди се и посебне туристичке опције као што су приказ бициклистичких или планинских рута. +\n +\nНије потребно скидање посебне карте, поглед се прави од стандардних карти. +\n +\nОвај поглед се може искључити тако што се или овде деактивира, или тако што се, по жељи, промени \"Стил карте\" под \"Подеси карту\". From bdc73f45c91a8bcbbd3317694514bab18929af00 Mon Sep 17 00:00:00 2001 From: Olexandr Nesterenko Date: Sat, 30 Jun 2018 18:50:49 +0000 Subject: [PATCH 51/54] Translated using Weblate (Ukrainian) Currently translated at 78.1% (2027 of 2593 strings) --- OsmAnd/res/values-uk/strings.xml | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/OsmAnd/res/values-uk/strings.xml b/OsmAnd/res/values-uk/strings.xml index 375c0c7b90..fef03a5275 100644 --- a/OsmAnd/res/values-uk/strings.xml +++ b/OsmAnd/res/values-uk/strings.xml @@ -1,4 +1,5 @@ - + + Швидко Круговий рух : %1$d з’їзд @@ -3083,4 +3084,12 @@ Відстань: спочатку найближче Групу було видалено Сплавний спорт - \ No newline at end of file + Редагувати точку + Додати точку + Зберегти як трек + Редагувати дії + Отримайте OsmAnd Live, аби розблокувати всі функції: щоденні оновлення карт з необмеженим завантаженням, всі платні та безкоштовні додатки, Вікіпедія, Вікімандри та багато іншого. + Закладка + Приховати повний опис + Показати повний опис + From f8ca7ea18482e545c9f4a837ecf6975534838a50 Mon Sep 17 00:00:00 2001 From: Viktar Vauchkevich Date: Sat, 30 Jun 2018 19:35:09 +0000 Subject: [PATCH 52/54] Translated using Weblate (Belarusian) Currently translated at 99.9% (3486 of 3488 strings) --- OsmAnd/res/values-be/phrases.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/OsmAnd/res/values-be/phrases.xml b/OsmAnd/res/values-be/phrases.xml index d96942b69c..d4c57df7d8 100644 --- a/OsmAnd/res/values-be/phrases.xml +++ b/OsmAnd/res/values-be/phrases.xml @@ -3902,4 +3902,7 @@ Агаленне +Безкантактная + Безкантактная аплата не прымаецца + From da11ef0fb81b1f0991b7e539529b678297dada59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Babos=20G=C3=A1bor?= Date: Sun, 1 Jul 2018 10:01:57 +0000 Subject: [PATCH 53/54] Translated using Weblate (Hungarian) Currently translated at 99.9% (3485 of 3488 strings) --- OsmAnd/res/values-hu/phrases.xml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/OsmAnd/res/values-hu/phrases.xml b/OsmAnd/res/values-hu/phrases.xml index d7037aa0da..5384554050 100644 --- a/OsmAnd/res/values-hu/phrases.xml +++ b/OsmAnd/res/values-hu/phrases.xml @@ -3871,4 +3871,7 @@ Háztartásigép-bolt - + Érintés nélküli + Érintés nélkülit nem fogad el + + From 2f7ca9f47a429f3206d28f3e47d8fdf69acaa34a Mon Sep 17 00:00:00 2001 From: Olexandr Nesterenko Date: Sat, 30 Jun 2018 18:54:35 +0000 Subject: [PATCH 54/54] Translated using Weblate (Ukrainian) Currently translated at 98.9% (3452 of 3488 strings) --- OsmAnd/res/values-uk/phrases.xml | 42 +++++++++++++++++++++++++++++--- 1 file changed, 39 insertions(+), 3 deletions(-) diff --git a/OsmAnd/res/values-uk/phrases.xml b/OsmAnd/res/values-uk/phrases.xml index a97687cc3e..e000b071bc 100644 --- a/OsmAnd/res/values-uk/phrases.xml +++ b/OsmAnd/res/values-uk/phrases.xml @@ -910,7 +910,7 @@ Цирк Художня галерея Танцмайданчик - Нічний клуб + Нічний клуб;Диско Клуб з показом стриптизу Гірськолижний курорт Пляжний комплекс @@ -3379,7 +3379,7 @@ Продаж Продаж: немає - Продаж: є; також б/у + Продаж: є, також б/у Продаж: б/у Оренда Оренда: немає @@ -3774,4 +3774,40 @@ Назва річкових порогів - +Автопослуги + Тип льодовика + Тип контрольного пункту + +Пункт видачі замовлень + + Мангал: є + + Офіс водопостачання + + Ігровий зал + Ігровий зал для дорослих + + Авторемонт + Заміна мастила + Продаж вживаних авто + Гальма + Продаж нових авто + Діагностика + Автозапчастини + Акумулятори + Кондиціонери + Ремонт кузова + Електрика + Колеса + Скло + Ремонт вантажівок + Глушник + Розвал-сходження + Ремонт трансмісії + Двигун + Страхування + Шиномонтаж + + Складність + +