package Ġcom . irv . rut as . R ut as Ċ Ċ import Ġcom . google . android . gms . maps . model . LatLng Ċ Ċ class ĠE je Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġr uta Punto s : ĠArrayList < String > Ġ= ĠArrayList () ĊĠĠĠ Ġprivate Ġvar Ġpoly : ĠArrayList < LatLng >? Ġ= Ġnull // de cod ificador // ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠOR IG EN ( Pro gres o ) ĠA ĠL AZ AR O ĠC ARD EN AS Ġ// ĊĠĠĠĠĠĠĠ Ġr uta Punto s . add (" yw ze Ex } m ` U _ D } Ac Ey B aC k As M { Ge G _ Da Mq Gu @ a @ g J { E _ Ci Ag Ic Ei De B q C } A { Ek Du Aa AW Mi @ Se @ Ig @ Cm BA ig @ H mA ? o EA a P Co OA u B @ q BP q BN m BD w Q ? m LA i CY o CA WQ ] e @ Ag A ") ĊĠĠĠĠĠĠĠ Ġ// ĠIN IC IO ĠDE ĠL AZ AR O ĠA ĠCO CA ĠCOL A ĠF REN TE ĠA ĠP LA ZA ĠCAR RAN ZA Ġ// ĊĠĠĠĠĠĠĠ Ġr uta Punto s . add (" g nb f Ed { k ` U @ q D ? g S ? s FC { AF w DD u J @ c D @ y GC { DC g E ? { F ? sp @ Fa A Ac BM u MC a IE _ H Am GE g SN } Z Hi I Js CT y M Ro MF k GA k EA i H ? i D ? a RB k LD a ^ ? q ES u CW iB ] s Au @ e Cc @ y Ag C _ Is @ yB q @ q CO i AC u @ By AF m @ BU B AB E JY @ _ @ I UE G AC G [ I _ A @ k F ? c OA a Y ? q GB } H As K Ac B @{ FC _ E ? w PB m OA yB Ag NA i C @ e D ? q K ? o DA mA ? s MB k DG y K @ a E @{ E Be J Ca FA _ J @{ BE g BY s D Gu @ i @ e Ic @ _ Hu @ i K Sc DB } A ? W @ i @ \\ { G ? a DC { TE q IG _ TA e U As M @ c MK k BC q KE q GA w EC i E ? m C ? y DC e UG s Y Ci IO { L Ag \\ Bo D ") ĊĠĠĠĠĠĠĠ Ġ// ĠH AST A ĠFIN AL ĠDE ĠL AZ AR O ĠC ARD EN AS Ġ// ĊĠĠĠĠĠĠĠ Ġr uta Punto s . add (" m ` cf Ex el _ U @ m BH q BP _ Bh @ _ D Vk Af @ w Ah @ o Ad @ w @ x @ } Al @ a A ` Aa B ~ A { Cx @ g Bj @ k Ap Aq Bv @ a A \\ k @ n Bg Dz As C ` Bs C xA } Bh Cq E |@ y An Bo Dh As Bn Ey H | D _ Hd Gs Kp Jg Pz Hg N | So ^ t Hu M ~ Hi N ` E _ Hb Is Nf Fk I ~ Ew I ~ Dc Hj B } Ct Ae Cz Im O zM w Uh @ w @ p B q Db Go Kj I { Nn @ _ Af B { Cv Ie O | Is O ") ĊĠĠĠĠĠĠĠ Ġr uta Punto s . add ("{ g { e E | ~ __ Uf @{ @ f @ m @ x @ m @ v @ [ d AO | CE z B Al M Wh J Mj J Gj EM V Br CC ` DA f @ Bb @ H PLL NP f @ Bf @ Gt @ k Ab F ^ Ld Bb A ~ Et Cz J ~ Fb I | E ~ Er Cp Mp Hb Dp B | G ~ D | Ab Ax Gt Dl C ` B ") ĊĠĠĠĠĠĠĠ Ġ// ĠAV ĠC ASC ADA ĠLA ĠB AL SA Ġ// ĊĠĠĠĠĠĠĠ Ġr uta Punto s . add (" mj ve Eb | a _ URL a @ h B _ Cb Ke A ` Eu @ | Ca @ b B Of AY j CO v @ c Ap E { Cv Ma Bz Hw Br Ia An Ds @ Y ") ĊĠĠĠĠĠĠĠ Ġ// ĠCAL LE ĠTL AX CAL TEC AS Ġ// ĊĠĠĠĠĠĠĠ Ġr uta Punto s . add (" cg we E ~ pd _ Uy Dy Aw Cq A _ Dk Ao Ai @ EP ") ĊĠĠĠĠĠĠĠ Ġ// ĠAV EN ID A ĠT EC AM ACH AL CO Ġ// ĊĠĠĠĠĠĠĠ Ġr uta Punto s . add (" ky we En hd _ U { Cr Ly Br Iy @ l C ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtotal () Ġ: ĠArrayList < String >{ ĊĠĠĠĠĠĠĠ Ġreturn Ġr uta Punto s ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdecode Poly ( encoded Ġ: ĠString ): ĠArrayList < LatLng >? Ġ{ ĊĠĠĠĠĠĠĠ Ġpoly Ġ Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠ Ġvar Ġindex Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġval Ġlen Ġ= Ġencoded . length ĊĠĠĠĠĠĠĠ Ġvar Ġlat Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġvar Ġlng Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġwhile Ġ( index Ġ< Ġlen ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġb : ĠInt ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġshift Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdo Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġb Ġ= Ġencoded [ index ++ ]. toInt () Ġ- Ġ 6 3 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġresult Ġor Ġ( b Ġand Ġ 0 x 1 f Ġshl Ġshift ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshift Ġ+= Ġ 5 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġwhile Ġ( b Ġ>= Ġ 0 x 2 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġd lat Ġ= Ġif Ġ( result Ġand Ġ 1 Ġ!= Ġ 0 ) Ġ( result Ġshr Ġ 1 ). inv () Ġelse Ġresult Ġshr Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlat Ġ+= Ġd lat ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshift Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdo Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġb Ġ= Ġencoded [ index ++ ]. toInt () Ġ- Ġ 6 3 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġresult Ġor Ġ( b Ġand Ġ 0 x 1 f Ġshl Ġshift ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshift Ġ+= Ġ 5 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġwhile Ġ( b Ġ>= Ġ 0 x 2 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġd lng Ġ= Ġif Ġ( result Ġand Ġ 1 Ġ!= Ġ 0 ) Ġ( result Ġshr Ġ 1 ). inv () Ġelse Ġresult Ġshr Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlng Ġ+= Ġd lng ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġp Ġ= ĠLat Lng ( lat . toDouble () Ġ/ Ġ 1 E 5 , Ġlng . toDouble () Ġ/ Ġ 1 E 5 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpoly ?. add ( p ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġpoly ĊĠĠĠ Ġ} Ċ }