
    hM                        d dl mZ d dlmZ d dlmZ d dl	Z	d dl
Z
d dlZd dlZej                  dej                  dej                  dej                   dej"                  dej$                  dej&                  diZej                  dej                  d	ej                  d
ej                   dej"                  dej$                  dej&                  diZdddddddddddddddddddddddddd
i ddddddddddddd dd!dd"dd#dd$dd%dd&dd'dd(dd)dd*Zd+Zd,d-d+d.d	d+dd/d+d0d+d+d+d1d+d+d2d+d+d+d3Zd0d4d5d6d0d7d5d8d9d:d;d9d9d:d;d8d<d=d	d<d<d=d	d8d>d?d+d>d>d?d+d8d@dAdBd@d@dAdBd8d	dCd
d	d	dCd
d8dDZdE ZdF Zd`dGZdH ZdI ZdJ ZdK Z dL Z!dM Z"dN Z#dO Z$dP Z%dQ Z&dR Z'dS Z(dT Z)dU Z*dV Z+dW Z,dX Z-dY Z.dZ Z/d[ Z0d\ Z1d] Z2d^ Z3e4d_k(  r e0        yy)a    Ng      ?g?g      ?g      ?gffffff?g      ?-            
                  )D1D2D3D9D12D30   g      @g      @r   r   r   D7r   r   r   g      ?)
r   r   r   r   r   D10r   D16r   D60r   g      @r   r   D4r   r   r   r   r   D20D24D27r   D40D45r   	shadvarga
saptavarga
dashavargashodashavarga<   iV  i  i;  )Total	UchhabalaSaptavargajabalaOjhayugmarashiamshabalaKendradhibalaDrekshanabalai     )r%   Natonnatabala
PakshabalaTribhagabalaVarsha-maasa-dina-horabala
Yuddhabala	Ayanabala)r%   
SthanabalaDigbala	KaalabalaCheshtabalaNaisargikabalaDrikbalah  ,  i  iJ  SunMoonMarsMercuryJupiterVenusSaturn      `   #   2   P   F   p   d   C   (   )Shadbalar2   r3   r4   r5   r1   c                    |d   |    d   }|d   |    d   }|d   |    d   }|d   |    d   }t        |d   |       }|dk(  s|dk(  rd	}t        j                  S |d
k(  rd}t        j                  S ||v rd}d}	n||v rd}d}	n||v rd}d}	nd}d}	d}
|d   |    d   }|d   |   d   }t	        j
                  ||      }|dk(  s|dk(  s|dk(  s|dk(  s
|dk(  s|dk(  rd}
d}nd}
d}|	|z   }|dk(  rt        j                  S |dk(  rt        j                  S |dk(  rt        j                  S |dk(  rt        j                  S |dk(  rt        j                  S t        d       t        j                  S )Nplanets
dispositorfriendsenemiesnuetralsymbolEXALTMOOLMooltrikonaOWNSwarashiMitrar   ShatruSamar   UNKNOWN 	house-numr	   r   r   r         zCShould not reach here while computing planet to dispositor relation)#check_planetPos_OwnMooltrikonExhaltcrV   SWAYAMgen	housediff	ATHIMITRAMITRASAMASHATRU
ATHISHATRUprint)planetdivisionlagnarP   naturalfriendsnaturalenemiesnaturalnuetrals	planetstsnaturalrelationn_valtemporaryrelationplanethousedispositorhouseplanet2dispt_val	final_vals                   D:\jyotish\support\mod_bala.pyget_PlanetaryDispositorRelationr   g   s    )$V,\:J9%f-i8N9%f-i8NI&v.y9O3HX4FvNI 	W)v"5'vv	e	"oXX	~	%oe	~	% oe		&oe!oe 	"6*;7KI&z2;?O--O<Kqqqrrr"u$IQ
q.
q.
r/
r/ST    c            	      $   dD ]  } dD ]  }d}t         |    D ]N  }t        |t        j                  |   t        j                  d         }t        |   }t         |    |   }|||z  z   }P t        |d      t        j                  d   d   |    |<     y )Nr   )	r;   r<   r=   r>   r?   r@   rA   RahuKetu        r   r   Balas
Vimshopaka)vimshopak_divisionstrengthsr   datachartsrel2vimshopakratioround)levelro   planet_vimshopakaBaladivplanetDispositor_relationInDivplanetStrengthInDivdivisionWeightages          r~   compute_VimshopakaBalasr      s     LfF$'!2591PQWY]YdYdehYikokvkvw{k|1}.&89W&X#$?$Fs$K!(=ATWhAh(i%	 : AFF[]^@_DKK .u5f= g L r   c                 T   | dk(  s|dk(  rt        j                  t        j                  |    d   |   d         }t        j                  |    d   |   d   d   }|dk(  r|dk(  r|d	k  ry
yy|dk(  r|dk(  r|dk  ryy
|dk(  ryy|dk(  r|dk(  r|dk  ry
y|dk(  ryy|dk(  r|dk(  r|dk  ry|d	k  ry
y|dk(  ryy|dk(  r|dk(  r|dk  ry
y|dk(  ryy|dk(  r|dk(  r|dk  ry
y|dk(  ryy|d k(  r|d!k(  r|d	k  ry
y|d"k(  ryyy t        j                  t        j                  |    d   |   d         }|dk(  r|dk(  ry
y|dk(  r|dk(  ry
|dk(  ryy|dk(  r|dk(  ry
|dk(  ryy|dk(  r|dk(  ry
|dk(  ryy|dk(  r|dk(  ry
|dk(  ryy|dk(  r|dk(  ry
|dk(  ryy|d k(  r|d!k(  ry
|d"k(  ryyy )#Nr   TrO   signposdec_degr;   r         4@rV   rX   NONEr<   r	   g      @rU   r   r=   r   g      (@   r>   r
         .@r   r?   	         $@rb   r@      rA   ra   r   rg   signnumr   r   )r   ro   varga_degreesConsideredsignnodegs        r~   rd   rd      sq   
d{/47T[[-i8@HI{{3	*6259)DU?{:"!v{9#"1v{:"!1y {:#4Z"!1y {:"!2w{:"!1x|:"!2T[[-i8@HIU?{v{1v{1y {1y {2w{1x|2r   c                  .   dD ]  } t         j                  |    d   t         j                  |    d   ddg}t        j                  t        j                  d   ||       }|dkD  rd|z
  }|dz  }t        |d      t        j                  d	   d
   d   d   | <    y )Nr:   r   r   r   @	  0*  r   r   rM   r2   r&   )rg   deepDebilitPointget_point2planetdistancer   r   r   )ro   DebilitPointdist_secuchhabala_virupas       r~   compute_uchhabalar   >  s     S,,V4Q79M9Mf9UVW9XZ[\]^ //D0A<QWXx  H,H $V,NSTdfgNhGZ(6{CFK S r   c                      dD ]q  } d}dD ]?  }t        | t        j                  |   t        j                  d         }t        |   }||z   }A t	        |d      t        j                  d   d   d   d	   | <   s y )
Nr:   r   r   r   r   r   rM   r2   r'   )r   r   r   rel2sapthavargajabalar   )ro   planet_saptavargajabalar   r   r   s        r~   compute_saptavargajabalar   P  s    R"%?C-LVUYU`U`adUegkgrgrswgx-y*"78V"W&=@S&S# @
 V[[rtuUvGZ(67IJ6R S r   c                     dD ]  } d}t        j                  t        j                  d   d   |    d         }t        j                  t        j                  d   d   |    d         }|dz  dk(  r|d	z   }|dz  dk(  r|d	z   }|t        j                  d
   d   d   d   | <    dD ]  } d}t        j                  t        j                  d   d   |    d         }t        j                  t        j                  d   d   |    d         }|dz  dk(  r|d	z   }|dz  dk(  r|d	z   }|t        j                  d
   d   d   d   | <    y )N)r;   r=   r>   r?   rA   r   r   rO   r   r   r	   r   r   r   rM   r2   r(   r<   r@   r   r   )ro   planet_ojhayugmarashiamsabalaplanet_lagnasignnumplanet_navamsasignnums       r~   compute_ojhayugmarashiamsabalar   ]  sp   A(+%!kk$++d*;I*Fv*Nv*VW #DKK,=i,H,PQW,X Y!#),IB,N)!A%!+,IB,N)\yGZ(67PQRXY B $(+%!kk$++d*;I*Fv*Nv*VW #DKK,=i,H,PQW,X Y!#),IB,N)!A%!+,IB,N)\yGZ(67PQRXY $ r   c                      dD ]O  } d}t         j                  d   d   |    d   }|dv rd}n	|dv rd	}nd
}|t         j                  d   d   d   d   | <   Q y )Nr:   r   r   rO   r`   )r   r   r   r   r$   )r	   r   r   ra   r   r   r   rM   r2   r)   r   r   )ro   planet_kendradhibalahnos      r~   compute_Kendradhibalar   t  sy    R kk$	*62;?:#% Z#% #% RfGZ(6GO S r   c                      dD ]m  } d}t         j                  d   d   |    d   d   }|dk  r| dv rd	}n|dkD  r|d
k  r| dv rd	}n|d
kD  r| dv rd	}nd}|t         j                  d   d   d   d   | <   o y )Nr:   r   r   rO   r   r   r   )r;   r?   r=   r   r   r   )r>   rA   r   rM   r2   r*   r   )ro   planet_drekkanabalar   s      r~   compute_Drekkanabalar     s    R{{4 +F3E:9ED[v)CC"$Tzt&<M2M"$Tz*? ?"$"#ReGZ(6GO S r   c                      t                t                t                t                t	                dD ]  } d}|t
        j                  d   d   d   d   |    z   }|t
        j                  d   d   d   d   |    z   }|t
        j                  d   d   d   d   |    z   }|t
        j                  d   d   d   d	   |    z   }|t
        j                  d   d   d   d
   |    z   }t        |d      t
        j                  d   d   d   d   | <    y )Nr:   r   r   rM   r2   r&   r'   r(   r)   r*   r   r%   )r   r   r   r   r   r   r   r   )ro   planet_sthanabalas     r~   compute_sthanabalar     sD    "$R-G0DZ0PQ]0^_j0klr0ss-G0DZ0PQ]0^_q0rsy0zz-G0DZ0PQ]0^_x0y  {A  1B  B-G0DZ0PQ]0^_n0opv0ww-G0DZ0PQ]0^_n0opv0wwJOPacdJeGZ(6w?G S r   c                 h   d}| d   }|d   dz  |d   dz  z   |d   z   }|dkD  rd	|z
  }n|}|d
z  }dD ]+  }t        |d      t        j                  d   d   d   d   |<   - dD ].  }t        d|z
  d      t        j                  d   d   d   d   |<   0 dt        j                  d   d   d   d   d<   y )Nr   TOBhour  minr$   seci  iQ i  )r<   r=   rA   r   r   rM   r4   r,   )r;   r?   r@         N@r>   )r   r   r   )	birthdataplanet_nathonnatabala	birthtimebt_secbt_gapro   s         r~   compute_nathonnatabalar     s    % I$5)9")<=5AQRF'V#"3J-QVWlnoQpGZ(5oFvN ..QVX\]rXruvQwGZ(5oFvN / QUDKK$[1/B9M
r   c            
         d} dD ]  }d}t        j                  t        j                  d   d   |   d         }t        j                  d   d   |   d   d   }|d	z  |z   }|d
v rd}nd}|dv ru|dk(  r8d	dt	        t        j                  t        j                  |                  z
  z  }nd	dt	        t        j                  t        j                  |                  z   z  }n|dv ru|dk(  r8d	dt	        t        j                  t        j                  |                  z
  z  }nod	dt	        t        j                  t        j                  |                  z   z  }n7d	dt	        t        j                  t        j                  |                  z   z  }t        |d      t        j                  d   d   d   d   |<    y )Ng-DT!	@r:   r   r   rO   r   r   r   r   )r   r	   r   r   r   r
   NorthSouth)r<   rA   r   )r;   r=   r?   r@   r   r   rM   r4   r1   )	rg   r   r   r   absmathsinradiansr   )PIro   planet_ayanabalar   r   planet_longifullkrantis          r~   compute_ayanabalar     s   	BRT[[.y9&A&IJ{{4 +F3E:9E"RK3.m#FF(('!#%q#dhht||DT7U.V*W'X#Y #%q#dhht||DT7U.V*W'X#Y ;;'!#%q#dhht||DT7U.V*W'X#Y #%q#dhht||DT7U.V*W'X#Y !1c$((4<<@P3Q*R&S#TUMRTdghMiGZ(5kB6J1 S4 r   c                     d} t        j                  t        j                  d   dd      }|dkD  rd|z
  }t        j                  d   d   d   j	                         }t        j                  d   d   d	   j	                         }|j                  d
       |j                  d       |dz  } |D ]+  }t        | d      t        j                  d   d   d   d   |<   - |D ].  }t        d| z
  d      t        j                  d   d   d   d   |<   0 y )Nr   r   r;   r<   r   r   classificationsnatural-beneficsnatural-maleficsr   r   r   r   r   rM   r4   r-   r   )rg   get_distancebetweenplanetsr   r   copyremover   )planet_pakshabalasun_moon_gapnaturalbeneficsnaturalmaleficsro   s        r~   compute_pakshabalar     s   11$++d2CE&QLx  L0kk$'(9:;MNSSUOkk$'(9:;MNSSUO6"6"$f-!NSTeghNiGZ(5lCFK "!NSUYZkUknoNpGZ(5lCFK " r   c                     dD ]!  } dt         j                  d   d   d   d   | <   # dt         j                  d   d   d   d   d<   t        j                  t         j                  d	   d
   d         t         j                  d	   d
   d   d   t         j                  d	   d
   d   d   t         j                  d	   d
   d   d   g}t        j                  t         j                  d	   |d      }d|z
  }|dk  r dt         j                  d   d   d   d   d<   y |dk  r dt         j                  d   d   d   d   d<   y |dk  r dt         j                  d   d   d   d   d<   y |dk  r dt         j                  d   d   d   d   d<   y |dk  r dt         j                  d   d   d   d   d<   y |dk  r dt         j                  d   d   d   d   d<   y 	 y )Nr:   r   r   rM   r4   r.   r   r?   r   	ascendantr   r   r   r   r   r;   r   iK r>   i r   rA   i / r<   iz r@   r=   )r   r   rg   r   r   )ro   
lagnaPointlagna2sun_distsun2lagna_dists       r~   compute_tribhagabalar     s$   RPSGZ(5nEfM S PTDKK$[1.A)L KKD 1+ >v FGKK%k259%@KK%k259%@KK%k259%@DJ 11$++d2CJuUN.0N'"SWGZ(5nEiP  
H	%OSGZ(5nEeL  
H	%RVGZ(5nEhO  
H	%PTGZ(5nEfM  
H	%QUGZ(5nEgN  
H	%PTGZ(5nEfM  	
r   c                    dD ]!  }dt         j                  d   d   d   d   |<   # ddd	d
dddd}| d   }d|d    }t        j                  j                  |d      j	                         }t
        j                  |   }||   }dt         j                  d   d   d   d   |<   d|d    d|d    }t        j                  j                  |d      j	                         }t
        j                  |   }||   }	dt         j                  d   d   d   d   |	   z   t         j                  d   d   d   d   |	<   |d    d|d    d|d    }t        j                  j                  |d      j	                         }t
        j                  |   }
||
   }dt         j                  d   d   d   d   |   z   t         j                  d   d   d   d   |<   t        j                  t         j                  d   d   d         t         j                  d   d   d   d   t         j                  d   d   d   d   t         j                  d   d   d   d    g}t        j                  t         j                  d   |d      }d!|z
  }|d"z  }|d"z  d#kD  r|d$z   }g d%}|j                  |
      }||||z         }d&t         j                  d   d   d   d   |   z   t         j                  d   d   d   d   |<   y )'Nr:   r   r   rM   r4   r/   r;   r<   r=   r>   r?   r@   rA   )SundayMondayTuesday	WednesdayThursdayFridaySaturdayDOBz01 01 yearz%d %m %Yr   z01 month g      >@dayg     F@r   r   r   r   r   r   r   r   i  r   r   )#r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   datetimestrptimeweekdaycalendarday_namerg   r   r   index)r   ro   daylordbddatebornbornvarsha_firstday
varshalordbornmaasa_firstday	maasalord	bornvaara	vaaralordr   r   r   hora_num	horalordsdinaidxhoralords                      r~   compute_VarshaMaasaDinaHoraBalar  	  s   R^aGZ(56RSTZ[ S   !&%!$'G 
5	B bj\$D%%dJ7??AD$--d3,-J^bDKK$[12NOPZ[ 2g;-qF/D%%dJ7??AD#,,T2*+I]adhdodopwdx  zD  eE  FQ  eR  So  ep  qz  e{  ^{DKK$[12NOPYZ 5	{!BwK="V*8D%%dJ7??AD##D)I	"I]adhdodopwdx  zD  eE  FQ  eR  So  ep  qz  e{  ^{DKK$[12NOPYZ KKD 1+ >v FGKK%k259%@KK%k259%@KK%k259%@DJ 11$++d2CJuUN.0N'*H'"A%a<I ooi(Gy!123H\`cgcncnovcw  yC  dD  EP  dQ  Rn  do  px  dy  ]yDKK$[12NOPXY
r   c            
         t         j                  d   d   d   d   dddgt         j                  d   d   d   d   dddgt         j                  d   d   d   d   dddgt         j                  d   d   d   d   dddgt         j                  d   d   d   d   dddgt         j                  d   d   d   d   dddgt         j                  d   d   d   d   dddgd	} d	D ]b  }t        j                  t         j                  d   | |   |      }|d
kD  rd|z
  }|dz  }t	        |d      t         j                  d   d   d   |<   d y )Nr   housesr   sign-numr   r   r   r
   r:   r   r   r   r   rM   r3   )r   r   rg   r   r   )planet_zeroDigbalaPointsro   planet_dist4mzeropointplanet_digbalas       r~   compute_digbalar  E  s   ,0KK,=h,G,LZ,XZ\]^_`+a-1[[->x-H-Nz-Z\^_`ab,c-1[[->x-H-Mj-Y[]^_`a,b04D0A(0KC0PQ[0\^`abcd/e04D0A(0KC0PQ[0\^`abcd/e.2kk$.?.I$.OPZ.[]_`abc-d/3{{4/@/J3/OPZ/[]_`abc.d " S!$!=!=dkk$>OPhioPprx!y!X.&.2H%H"/6:>CNTU>VGZ(3F; S r   c                  z   t         j                  d   d   d   d   d   t         j                  d   d   d   d<   t         j                  d   d   d   d   d   t         j                  d   d   d   d<   g d	g d
g dd} | D ]  }t        j                  t         j                  d   |d      }t        j                  t         j                  d   d|      }t	        ||      }|dz  }|dz  dz  }| |   j                         }t        |d|       dz  }d|z  ||   z  }	||	z   }
t        |
d      t         j                  d   d   d   |<    t        j                  t         j                  d   dd      }t        j                  t         j                  d   dd      }t	        ||      dz  }t         j                  d   d   d   d   }|dk(  r	d|dz  z
  }n|dk  r|}nd|z  dz
  }t        |d      t         j                  d   d   d   d<   t        j                  t         j                  d   dd      }t        j                  t         j                  d   dd      }t	        ||      dz  }t         j                  d   d   d   d   }|dk(  r	d|dz  z
  }nd|z  }t        |d      t         j                  d   d   d   d<   y )Nr   rM   r4   r1   r;   r5   r-   r<   )r   r   r   r   r	   r	   r   )r
   r   r   r   r	   r   r   )r   r
   r   r	   r   r   r   )r?   rA   r=   r   i r   r   r   g?r@   rO   retroTr$   r   g      D@r	   )   r>   )r   r   rg   r   r   r   sumr   )planet_chestapointsro   dist_planet2sundist_sun2planetgap_planet2sun	gap_signsgap_degreeslistcheshtabal_signpartchestabal_degreepartplanet_cheshtabaladist_venus2sundist_sun2venusgap_venus2sunvenus_retroStsvenus_cheshtabaladist_mercury2sundist_sun2mercurygap_mercury2sunmercury_retroStsmercury_cheshtabalas                        r~   compute_chestabala_kurmamethodr.  X  s   =A[[=QR\=]^i=jkv=wx}=~DKK$]3E: ?Ckk'>RS]>^_j>klx>y  {A  ?BDKK$]3F; (=&;$9= &88T9JFSXY88T9JESYZ__= #W-	%1T9 #6*//1 #D9$5 69!$[$y/ A03GGBGHZ[\B]GZ(7?) &0 33DKK4EwuUN33DKK4EugVN~6t;M[[&y1':7CN 	$-"454 -!"=B 6?DEVWX?YDKK$]3G< 55dkk$6GSXY55dkk$6GPYZ*+;<TAO{{4(3I>wG 	D  OQ$78 0AFGZ[\A]DKK$]3I>
r   c                 "   | dk  ry| dk  r|dk(  r| dz
  dz  S | dz
  dz  S | dk  r|dk(  rdd| z
  dz  z   S | dz
  S | dk  r |d	k(  s|d
k(  rd| dz
  dz  z   S dd| z
  dz  z   S | dk  r|d	k(  s|d
k(  rd| z
  dz  S d| z
  S | dk  rt        d| z
        dz  S | dk  r|d	k(  ryd| z
  dz  S | dk  r"|d	k(  rd| z
  S |d
k(  rd| dz
  dz  z   S d| z
  dz  S | dk  r%|dk(  r| dz
  S |d
k(  rddd| z
  z  dz  z   S d| z
  dz  S | dk  r|dk(  rd| z
  dz  S d| z
  dz  S y)Nr   r   r$   rA   r	   Z   r   x   r=   r?   r+         r9      i  r   r   )r   )degreeaspectingplanets     r~   get_sputadrishtir7    s   {	"h&RKA%&RKA%&	"h&f))*B;	#v%?i+G"))*v**+	#v%?i+G&LA%&< 	#C&L!Q&'	#f$&LA%&	#f$< 	)#!++,&LA%&	#h&C< 	)cFl,q001&LA%&	#h&&LA%&&LA%&r   c                     t         j                  d   d   d   j                         } t         j                  d   d   d   j                         }|j                  d       |j                  d       dD ]  }d}d}d}| D ]D  }||k(  r	t	        j
                  t         j                  d   ||      d	z  }t        ||      }||z   }F |D ]D  }||k(  r	t	        j
                  t         j                  d   ||      d	z  }t        ||      }||z   }F ||z
  }	|	d
z  }t        |d      t         j                  d   d   d   |<    y )Nr   r   r   r   r   r   r:   r   r         @r   r   rM   r7   )r   r   r   r   rg   r   r7  r   )
r   r   ro   planet_drikbalabenefic_sputamalefic_sputar6  dist_aspecting2planetsputadrishtipinda_totals
             r~   compute_drikbalar@    sg   kk$'(9:;MNSSUOkk$'(9:;MNSSUO6"6"R.O($'$B$B4;;tCTVefl$mnr$r!$%:?KE)E1M  /  /O($'$B$B4;;tCTVefl$mnr$r!$%:?KE)E1M  / +]: -s2?D_VW?XGZ(4V<5 S8 r   c                 $   t        |        t                t                t                t	        |        dD ]  }d}|t
        j                  d   d   d   d   |   z   }|t
        j                  d   d   d   d   |   z   }|t
        j                  d   d   d   d   |   z   }|t
        j                  d   d   d   d	   |   z   }|t
        j                  d   d   d   d
   |   z   }t        |d      t
        j                  d   d   d   d   |<    y )Nr:   r   r   rM   r4   r,   r-   r.   r/   r1   r   r%   )r   r   r   r   r  r   r   r   )r   ro   planet_kaalaabalas      r~   compute_kaalabalarC    sI   9%#I. S-G0DZ0PQ\0]^m0nou0vv-G0DZ0PQ\0]^j0klr0ss-G0DZ0PQ\0]^l0mnt0uu-G0DZ0PQ\0]^z0{  }C  1D  D-G0DZ0PQ\0]^i0jkq0rrINO`bcIdGZ(5g>vF S r   c                  `   dD ]!  } dt         j                  d   d   d   d   | <   # dD ]  }dD ]  }||k(  r	t        j                  t         j                  d   ||      }|dk  s7|}|}t	        t         j                  d   d   d	   |   t         j                  d   d   d	   |   z
        }t         j                  d   d   d   d   |   |z
  t         j                  d   d   d   d   |<   t         j                  d   d   d   d   |   |z   t         j                  d   d   d   d   |<     y )
Nr:   r   r   rM   r4   r0   r   r   r%   )r   r   rg   r   r   )ro   planet1planet2dist_planet1to2looserplanetwinnerplanetshadbalaGaps          r~   compute_yuddhabalarK  
  s   RNOGZ(5lCFK S TWG7"!<<T[[=NwW^_O%&&"4;;w#7
#CG#L\#Z]a]h]hip]qr|]}  F  ^G  HT  ^U  $U   V]a]h]hip]qr|]}  J  ^K  LX  ^Y  Zf  ^g  ju  ^uG$Z0=lKLY]a]h]hip]qr|]}  J  ^K  LX  ^Y  Zf  ^g  ju  ^uG$Z0=lKLY X T r   c                    t                t                t        |        t                t	                dD ]  }d}|t
        j                  d   d   d   d   |   z   }|t
        j                  d   d   d   d   |   z   }|t
        j                  d   d   d   |   z   }|t
        j                  d   d   d	   |   z   }|t
        j                  d   d   d
   |   z   }|t
        j                  d   d   d   |   z   }t        |d      t
        j                  d   d   d   |<    t                dD ]  }t
        j                  d   d   d   |   }|t
        j                  d   d   d   d   |   z   }t        |d      t
        j                  d   d   d   |<   t        |dz  d      t
        j                  d   d   d   |<    y )Nr:   r   r   rM   r2   r%   r4   r3   r5   r6   r7   r   r0   r$   Rupas)	r   r  rC  r@  r.  r   r   r   rK  )r   ro   planet_shadbalas      r~   compute_shadbalarO     s   i "$ S)DKK,@,L\,Z[b,cdj,kk)DKK,@,L[,YZa,bci,jj)DKK,@,LY,WX^,__)DKK,@,L],[\b,cc)DKK,@,LM],^_e,ff)DKK,@,LZ,XY_,``<A/ST<UGZ(1&9 S  S++g.z:7CFK)DKK,@,L[,YZf,ghn,oo<A/ST<UGZ(1&9<A?SUCUXY<ZGZ(1&9 S r   c                  :   dD ]  } t         j                  d   d   d   d   |    }t         j                  d   d   d   |    }t        t        j                  ||z        d      }d|z
  }|t         j                  d   d	   | <   |t         j                  d   d
   | <    y )Nr:   r   rM   r2   r&   r5   r   r   	Ishtabala
Kashtabala)r   r   r   r   sqrt)ro   	uchhabalacheshtabala	ishtabala
kashtabalas        r~   compute_ishtakashtabalasrX  B  s    RKK(4\B;OPVW	kk'*:6}EfM$))Ik$9:1=	)^
4=G[)&15?G\*62 S r   c                      t        d      D ]T  } t        j                  d   d   |    d   }t        j                  d   d   d   |   t        j                  d   d   d	   | <   V y )
Nrb   r   r  z	sign-lordr   rM   r%   	BhavaBalaBhavaAdhipathibalaranger   r   )r   	houselords     r~   compute_bhavaAdhipthibalar_  N  sl    RyKK%h/4[A	GK{{SZG[\fGghoGpqzG{G[)*>?D  r   c                  h   g dg dg dg dg dd} dddd	dddd
dddd	dd	d}t        d      D ]  }t        j                  d   d   |   d   }t        j                  d   d   d   d   }|dk  rd}nd}|dk(  s|dk(  r| d| }n|}||   }| |   |   }|t        j                  d   d   d   |<    y )N)r$   rF   rL   r   r   r   r   r   r   r   rL   rF   )r   rL   rF   r$   rF   rL   r   r   r   r   r   r   )r   r   r   r   r   r   r   rL   rF   r$   rF   rL   )r   r   r   r   rL   rF   r$   rF   rL   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   )nara	jalacharachatuspadhakeetanonerc  ra  rb  rd  re  )AriesTaurusGeminiCancerLeoVirgoLibraScorpiozSaggitarius-1zSaggitarius-2zCapricorn-1zCapricorn-2AquariusPiscesrb   r   r  r   r   r   r   r   r   r	   Saggitarius	Capricorn-r   rZ  BhavaDigbalar\  )	bhavadigbalassign_naturer   r   lagnadegpart	sign_partnaturebhavadigbalas	            r~   compute_bhavaDigbalar{  T  s   "F&J(L"F!:	M **#('""%$*$1"/"-%(K Ry{{4 *3/7;;t$[1%8CDD]"(;!F!D6,IIY'$V,S1AMG[).9#>   r   c            	         t         j                  d   d   d   j                         } t         j                  d   d   d   j                         }|j                  d       |j                  d       t	        d      D ]  }t         j                  d   d   |   d	   }d
}d
}d
}| D ]G  }t        j                  t         j                  d   |dd
d
g|      dz  }d|z
  }	t        |	|      }
||
z   }I |D ]G  }t        j                  t         j                  d   |dd
d
g|      dz  }d|z
  }	t        |	|      }
||
z   }I ||z
  }|dz  }t        |d      t         j                  d   d   d   |<    y )Nr   r   r   r   r   r   rb   r  r  r   r   r   r8   r9  r   r   rZ  BhavaDrishtibala)	r   r   r   r   r]  rg   r   r7  r   )r   r   r   sign_numbhava_drikbalar;  r<  r6  dist_bhavamadhya2aspectingdist_aspecting2bhavamadhyar>  r?  s               r~   compute_bhavadrishtibalar  |  s   kk$'(9:;MNSSUOkk$'(9:;MNSSUO6"6"Ry;;t$X.s3J?.O),)E)EdkkRVFWZbcefghiYjl{)|  ~B  *B&),/I)I&$%?PE)E1M  /  /O),)E)EdkkRVFWZbcefghiYjl{)|  ~B  *B&),/I)I&$%?PE)E1M  / +]: ,c1EJ>Z[E\G[)*<=cB3 4 r   c                  `   t                t                t                t        d      D ]  } t        j
                  d   d   d   |    }|t        j
                  d   d   d   |    z   }|t        j
                  d   d   d   |    z   }t        |d      t        j
                  d   d   d   | <    y )	Nrb   r   rZ  r[  rs  r}  r   r%   )r_  r{  r  r]  r   r   r   )r   	bhavabalas     r~   compute_bhavabalar    s     RyKK(56JKCP	G 4[ A. QRU VV	G 4[ ABT UVY ZZ	:?	!:LG[)'237	 
 r   __main__)F)5support.mod_astrodatamod_astrodatar   support.mod_generalmod_generalrg   support.mod_constantsmod_constantsre   r   r   r   r   rV   rf   ri   rj   rk   rl   rm   r   r   r   NumShadbalaMaxBalaNeededValuesr   r   rd   r   r   r   r   r   r   r   r   r   r   r  r  r.  r7  r@  rC  rK  rO  rX  r_  r{  r  r  __name__ r   r~   <module>r     sb   $ ! !    5555544  FFbHHbKKbGGbFFbHHaLLa  675656566767-. 67565658586767.. 67585858586969696967
..12D 1248124812 5912 59	12
 5912 5:#12 5:#12 5:!12 5:#12 5:#12 5:#12 5:!12 5:#12 5:#12 5:!125+! Z 	(+,.36:<0202 '*02-//1=@-/,. !!#', ),S#RUbeps  @C  !D*-sBSVcfqt  AC  #D')2rb]_jlxz{)+RPR_alnz|!}+.RTWdgru  BD  $E)+RPR_alnz|!} =@&H$. *$<$@:x&BH2l!F*, D	&PB z r   