
    iW                        d Z ddlZddlmZ ddlmZ ddlmZm	Z	 ddl
m
Z
 ddlmZ ddlZddlZddlZ G d d	      Zg d
Zddddddd
Z G d de      Ze G d d             Ze G d d             Ze G d d             Z G d d      Z G d d      Z G d d      Z G d d       Z G d! d"      Zd# Zed$k(  r ej<                   e              yy)%z0CorvOS v1.0.5-ASI - Sistema Completo - Corrigido    N)eig)	dataclass)DictList)datetime)Enumc                   (    e Zd ZdZdZdZdZdZdZdZ	y)	CiR  g+?MbP?   p   2  g\(\@N)
__name__
__module____qualname__G_INFOLAMBDA2_TARGETGAP_C_Z	N_SENSORSBYZANTINE_QUORUMN_RESIDENT_INITIALRETROCAUSAL_WINDOW_MS     )/home/workspace/corvos/corvos_complete.pyr
   r
      s$    FuUWI3"42r   r
   )UrcaFlamengoLemeBotafogoHumaitaLagoag=
ףp=?gHzG?gQ?g(\?gQ?皙?c                       e Zd ZdZdZdZy)TD   r   N)r   r   r   CAUSALRETROCAUSAL	ATEMPORALr   r   r   r$   r$      s    qR!	r   r$   c                   l    e Zd ZU eed<   ej                  ed<   eed<   eed<   eed<   e	ed<   dZ
eed<   y	)
TP	packet_idpayloadtstampttargetlamtd hpreN)r   r   r   str__annotations__npndarrayr   floatr$   r3   r   r   r   r+   r+      s*    M"**$H_Y"ubT#[r   r+   c                   T    e Zd ZU eed<   eed<   eed<   eed<   eed<   eed<   eed<   y)	RFriddistricttsv2027satccrN)r   r   r   r4   r5   r   r8   boolr   r   r   r:   r:      s     GSLH
I%i%4r   r:   c                   J    e Zd ZU eed<   eed<   eed<   eed<   eed<   eed<   y)DPodhbharancdN)r   r   r   r4   r5   r8   rB   intr   r   r   rD   rD      s    	EU(e8tGcEU(r   rD   c                   *    e Zd Zd Zd Zd Zd Zd Zy)RARQc                     dddg d| _         y )Nr   )sentpreretlat)sselfs    r   __init__zRARQ.__init__$   s    qqr2r   c                     t        j                  |j                         |j                         j	                         z   t        t        j                        j	                         z         j                         S N)	hashlibsha256tobytes	isoformatencoder4   r
   r   	hexdigest)rU   pts      r   ghzRARQ.gh&   sL    GNN199;q{{}7K7K7M+McRSRZRZmNbNbNd+deooqqr   c                     t        j                          |t        j                  t        j                  z
  k\  rdk  S dk  S )Ng333333?333333?)randomr
   r   r   )rU   hr0   s      r   cpzRARQ.cp'   s1    fmmosA<L<LQYY<V7Vt``\_``r   c           	        K   dt        t        j                         j                               z   }| j	                  ||      }| j                  ||      rZt        ||t        j                         ||t        j                  |      }| j                  dxx   dz  cc<   t        j                   }n[t        ||t        j                         ||dz  t        j                  d      }| j                  dxx   dz  cc<   t        j                  }| j                  dxx   dz  cc<   | j                  d   j                  |       ||fS w)	Npkt_rP   r%   gGz?r2   rQ   rO   rR   )r4   r   now	timestampra   rf   r+   r$   r(   rS   r
   r   r'   append)rU   r-   tgtr0   pidphpktrR   s           r   sendz	RARQ.send(   s     3x||~//1227773772c?3wx||~c#bnnRHCFF5M1M!"9"9!9S3wx||~c#d(299RHCFF5M1M!8!8Sv$&&-..s33ws   EEc                     | j                   d   }| j                   d   | j                   d   | j                   d   t        | j                   d   d      z  |rt        j                  |      nd|rt	        |      dS ddS )NrR   rO   rP   r%   r   )rO   rP   rateavgmin)rS   maxr6   meanrt   )rU   ls     r   gszRARQ.gs3   s    
&&-ffVn466%=ucRVRXRXY_R`abNc@cxyjljqjqrsjt  @A  RS  HK  LM  HN  [  	[  YZ  [  	[r   N)r   r   r   rV   ra   rf   rp   rx   r   r   r   rM   rM   #   s    3q`
[r   rM   c                   (    e Zd Zd ZddZddZd Zy)BHMc                 Z   g d| _         t        j                  g dg dg dg dg dgt              | _        | j                  j                         | _        | j                  dxx   d	z  cc<   t        | j                        \  }}t        t        j                  |      d
      | _
        y )N)MaterialSocialCultural	Ambiental
Espiritual)g?Q?皙?{Gz?g{Gz?)333333?g
ףp=
?{Gz?Q?r   )r   皙?g      ?{Gz?r   )r   r   r   g(\?r   )r   r   r   r   r"   )dtype   gzG?T)reverse)snr6   arrayr8   McopyMar   sortedabsev)rU   r   _s      r   rV   zBHM.__init__8   s    Ixx./D*+@*,279 dggaj$.jCLtr!PRPVPVWYPZcgIhr   c                 d    |j                         }t        |      D ]  }| j                  |z  } |S rX   )r   ranger   )rU   strI   rr   s        r   applyz	BHM.apply>   s-    
'')q%ADGGAI!%r   c                    i }t        | j                        \  }}t        D ]  }t        |   }t	        j
                  g d      |z  }| j                  ||      }t	        j                  |      }	|t        |	d      |	|z  dz
  dz  t        t	        j                  t	        j                  |                  t        t        | j                  |            d||<    |S )N)gffffff?g      ?r   r   r         ?r%   d   )bagdesc)r   r   	DISTRICTSDHr6   r   r   sumrt   r8   ru   r   dictzipr   )
rU   yearsr   r   r   rE   baser   finfinhs
             r   simzBHM.simB   s    
#dgg,TR 	OAAD"((#89$>r4::bQVCWsDtD$t)A+sARX]^`^d^degekeklneo^pXqw{|  AE  AH  AH  IL  }M  xN  #OQqT	O r   c           
         | j                  d      }t        | j                        \  }}t        |t        j
                  d      D cg c]   }t        t	        j
                  |            " c}t        t	        j                  t	        j
                  |                  |t        t	        j                  t	        j
                  |                  dk7  dS c c}w )Nr%   T)keyr   r   )r   srdinu)r   r   r   r   r6   r   r8   ru   )rU   sir   r   es        r   dashzBHM.dashH   s    88A;CLtr!/5bRVVD/QR!U266!9%RX]^`^d^degekeklneo^pXqwy  @E  FH  FL  FL  MO  MS  MS  TV  MW  FX  @Y  []  @]  ^  	^Rs   %CN)r%   )r   r   r   rV   r   r   r   r   r   r   rz   rz   7   s    i^r   rz   c                   $    e Zd Zd Zd Zd Zd Zy)CRPc                 ^    g | _         t        D ci c]  }|d c}| _        d| _        y c c}w )Nr   )histr   dsma)rU   rE   s     r   rV   zCRP.__init__M   s'    	95aac5TWadg5s   
*c                   K   d|z
  }|dz  }t        ||z  dz        }| xj                  |z  c_        ||dz  z   }t        ||t        |d      d||      }| j                  j                  |       | j                  |xx   |z  cc<   |S w)Nr   皙?rc   -?T)rK   r   rD   rt   r   rk   r   )	rU   disthapprI   deficitpirsnhr_   s	            r   r   z	CRP.applyO   s     473;#ad3h-r5=3tDRDB?		@P@PQR@STXT[T[\`TaceTeTamnfns   BB	c                    K   g }t        t        j                         d       D ]/  \  }}|j                  | j	                  ||d       d {          1 |S 7 w)Nc                     | d   S Nr%   r   xs    r   <lambda>zCRP.proc.<locals>.<lambda>T   s
    !A$ r   r   i  )r   r   itemsrk   r   )rU   psrE   re   s       r   proczCRP.procR   sQ     "((*7]CAa		

STUVW[H\B\8]]	 C]s   A
AA
Ac                     t        | j                        | j                  | j                  t	        t
        j                         d       d   dS )Nc                     | d   S r   r   r   s    r   r   zCRP.rep.<locals>.<lambda>V   s    hijkhl r   r   r   )r_   r   r   low)lenr   r   r   rt   r   r   rT   s    r   repzCRP.repV   s8    S^dggCPRPXPXPZ_lLmnoLpqqr   N)r   r   r   rV   r   r   r   r   r   r   r   r   L   s    @o rr   r   c                        e Zd ZddZd Zd Zy)PFCc                 V    || _         i | _        dD ci c]  }|d c}| _        y c c}w )Nutopiastable_growth
maintained	decliningcollapser   )rI   resvc)rU   rI   vs      r   rV   zPFC.__init__Y   s(    "2p%qaac%qTW%qs   
&c           	        K   dddddd}d|j                  |d      z   }|d	kD  }t        ||t        j                         ||||      | j                  |<   | j
                  j                  |d      d
z   | j
                  |<   ||dS w)Nr   r   r   gg333333ÿr   r   r   gffffff?r%   )r@   rg)getr:   r   ri   r   r   )rU   r;   r   verr?   r   r@   r   s           r   recvzPFC.recv[   s     Y]
^
c!
CRT(,,.S2>DGGKKX[\]L^_`L`twws|"os   BBc                     t        | j                        t        d | j                  j                         D              | j                  | j
                  dS )Nc              3   &   K   | ]	  }|d  y wr   r   ).0r   s     r   	<genexpr>zPFC.st.<locals>.<genexpr>`   s     5dAVWVca5ds   )regactr   target)r   r   r   valuesr   rI   rT   s    r   r   zPFC.st`   sJ    c$((m#5dAR5d2djnjqjq{  |B  |B  C  Cr   N)r   )r   r   r   rV   r   r   r   r   r   r   r   X   s    r
 Cr   r   c                   ,    e Zd Zd Zd Zd ZddZd Zy)CorvOSc                     t               | _        t               | _        t	               | _        t               | _        d| _        d| _	        d | _
        ddd| _        y )NgX9v?Fonline)r   r   )rM   arqr   poprz   bhmr   crpr0   eptvtzrT   s    r   rV   zCorvOS.__init__c   sG    txsudheTX\aTXT[jnbfbi H5r   c                 F  K   t        d       t        d       t        d       t        d       t        d       t        d      D ]\  }t        | j                  t        j
                  z
        }|t        j                  k  r	d| _         n| xj                  |dz  z  c_        ^ t        d| j                  | j                  t        j                  t        j                  t        j                  fz         t        d	| j                  d
   d| j                  d          y w)NF======================================================================z&  CORVOS v1.0.5-ASI - SISTEMA COMPLETOz3  ASI-EVOLVE + qhttp:// + Retrocausal ARQ + MaxTokiz'  Synapse-k | Arkhe(n) | Rio de Janeiro   Tr   z*  EP=%s lambda2=%.6f gap=%.3f quorum=%d/%dz  Tzinor: Urca=r   
 Flamengo=r   )printr   r   r0   r
   r   r   r   r   r   r   )rU   ir   s      r   initzCorvOS.initf   s     f67CD78fr 	A$((1+++,A!))|DDGHHagH	 	:DGGDHHQYYWXWiWijkjuju;vvwtwwvtwwz?RSTs   DD!c                 8   K   t        d       t        d       y w)Nz-  [DEPLOY] Tzinor Urca:     qhttp:// injetadoz-  [DEPLOY] Tzinor Flamengo: qhttp:// injetado)r   rT   s    r   deployzCorvOS.deployr   s     =>=>s   c           
        K   t        | j                  j                  j                               }t	        |      D ]  }| j                  j                  d|z  t        j                  t              t        j                  |      t        j                  dd             d {   }| xj                  |d   z  c_
        t        | j                  d      | _
        |dz  dk(  st        d|| j                  fz          | j                  j                  d	   t        | j                  j                  d
   d      z  dkD  rd| _        y y 7 w)Nzres_%05dr   r   r@   gH.?2   r   z  res %d lambda=%.6frP   rO   r%   g      ?r   )listr   r   keysr   r   rd   choicer   uniformr0   rt   r   r   rS   ru   r   )rU   rI   r   r   fbs        r   runz
CorvOS.runu   s     !!#$q 	CAXX]]:a<i0HWZI[\b\j\jknoq\rssBHHbgHs488F';dhtQw4a\AB	C 88::eSF!3A66s:?47: ts   BE E!?E!A&Ec           	      8   | j                   j                         }| j                  j                         }| j                  j                         }| j                  j                         }| j                  | j                  ||||| j                  | j                  dS )N)r0   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   rx   r0   r   r   r   )rU   r   r   r_   r   s        r   r   zCorvOS.dash|   sh    
((--/DHHLLN!TXX[[]1TXX[[]1XX477PTPWPW]a]d]deer   N)   )r   r   r   rV   r   r   r  r   r   r   r   r   r   b   s    6U?Sfr   r   c            
        K   t               } | j                          d {    | j                          d {    | j                  d       d {    | j                  j                          d {   }| j                         }t        d       t        d       t        d       t        d|d   |d   rdndfz         t        d	|d
   d   dz  |d
   d   fz         t        d|d   d   |d   d   |d   d   fz         t        d|d   d   |d   d   fz         t        d|d   d   |d   d   |d   d   fz         t        d|d   d   d|d   d           t        d!|d"          t        d#       |d   d$   j                         D ]*  \  }}t        d%||d&   |d'   |d'   |d&   z
  |d(   fz         , t        d)       |D ]G  }t        d*|j                  |j                  |j                  |j                  |j                  fz         I t        d       t        d+       t        d       y 7 7 7 7 ϭw),Nr  r   z%  DASHBOARD FINAL - CORVOS v1.0.5-ASIz  [SISTEMA] lambda2=%.6f EP=%sr0   r   ATIVOINATIVOz  [ARQ] retro=%.1f%% lat=%.2fmsr   rr   r   rs   z  [POP] reg=%d/%d versoes=%sr   r   r   r   z  [REGEN] sessoes=%d baixo=%sr   r   r   z  [BHM] ev=%s sr=%.4f nu=%sr   r   r   r   z  [TZINOR] Urca=r   r   r   r   z  [LENTE 2027] visao=r   z  --- EVOLUCAO FELICIDADE ---r   z)  %s: %.3f -> %.3f (d=%.3f) growth=%.2f%%r   r   r   z  --- PULSOS REGENERACAO ---z'  %s: %.3f->%.3f afetados=%d delta=%.4fz/  SISTEMA OPERACIONAL - TODOS OS MODULOS ATIVOS)r   r   r   r  r   r   r   r   r   rE   rF   rG   rI   rJ   )r@   r   rE   r   rrr_   s         r   mainr     s8    hAQVVX~~AHHJ..QUU3Z/?/?UUZZ\BAFFH!	&M	
12	&M	
*AeH$WY+W
WX	
+QuXf-=c-A!E(5/,R
RS	
(!E(5/!E(8:LQuXVZ^)\
\]	
)1U8D>!E(5/*J
JK	
'5$%qxPT~(V
VW	AdGFOAdGJ<O
PQ	QtW
./	
)*U8D>'') jR9433PRSVPWXZ[^X_P_`bcf`g:hhij	
() R7QTT!$$qss1448PPQR	&M	
;<	&M) ./?sD   IH9IH<IH?!I3I4GI<I?II__main__)__doc__numpyr6   scipy.linalgr   dataclassesr   typingr   r   r   enumr   rY   asynciord   r
   r   r   r$   r+   r:   rD   rM   rz   r   r   r   r  r   r  r   r   r   <module>r     s    6   !     8 8
 B	4ttdSWX 3 3
1 1 1 ( ( ( 3 3 3[ [(^ ^*
r 
rC Cf f<. ZDF+r   