§
    Ã¿igG  ã                   ó>   — d dl mZ ddlmZ ddlmZmZmZ d„ Zd„ Z	dS )é   )Ú_Curveé    )ÚInteger)Úload_pycryptodome_raw_libÚVoidPointerÚSmartPointerc                  óþ   ‡— d} d}d}d}t          dd¦  «        Š G ˆfd„dt          ¦  «        }t          t          | ¦  «        d t          |¦  «        t          |¦  «        t          |¦  «        d d	d
d dd|¦  «        }|S )Nl   íÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿl   íSë9i“@eMó^¨w|o                l   UK‚5±J,{´$%Xci\¸-÷G'
lJ[sii!l   XfÌL™33ffÌL™33ffÌL™33ffÌL™33ffzCryptodome.PublicKey._ed25519ai  
typedef void Point;
int ed25519_new_point(Point **out,
                      const uint8_t x[32],
                      const uint8_t y[32],
                      size_t modsize,
                      const void *context);
int ed25519_clone(Point **P, const Point *Q);
void ed25519_free_point(Point *p);
int ed25519_cmp(const Point *p1, const Point *p2);
int ed25519_neg(Point *p);
int ed25519_get_xy(uint8_t *xb, uint8_t *yb, size_t modsize, Point *p);
int ed25519_double(Point *p);
int ed25519_add(Point *P1, const Point *P2);
int ed25519_scalar(Point *P, const uint8_t *scalar, size_t scalar_len, uint64_t seed);
c                   óŽ   •— e Zd Z” j        Z” j        Z” j        Z” j	        Z
” j        Z” j        Z” j        Z” j        Z” j        ZdS )úed25519_curve.<locals>.EcLibN)Ú__name__Ú
__module__Ú__qualname__Úed25519_new_pointÚ	new_pointÚed25519_cloneÚcloneÚed25519_free_pointÚ
free_pointÚed25519_cmpÚcmpÚed25519_negÚnegÚed25519_get_xyÚget_xyÚed25519_doubleÚdoubleÚed25519_addÚaddÚed25519_scalarÚscalar)Ú_ed25519_libs   €úY/var/www/html/afkarena/venv/lib/python3.11/site-packages/Cryptodome/PublicKey/_edwards.pyÚEcLibr   !   sW   ø€ € € € € Ø Ô2ˆ	ØÔ*ˆØ!Ô4ˆ
ØÔ&ˆØÔ&ˆØÔ,ˆØÔ,ˆØÔ&ˆØÔ,ˆˆˆó    r#   éÿ   z1.3.101.112ÚEd25519zssh-ed25519)r   Úobjectr   r   )ÚpÚorderÚGxÚGyr#   Úed25519r!   s         @r"   Úed25519_curver-   
   s¶   ø€ ØJ€AØN€EØ	K€BØ	K€Bå,Ð-Lð Oñ ô €Lð"	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-•ñ 	-ô 	-ð 	-õ •W˜Q‘Z”ZØÝ˜U‘^”^Ý˜R‘[”[Ý˜R‘[”[ØØØ"ØØØ"Øñô €Gð €Nr$   c                  óÞ  ‡	— d} d}d}d}t          dd¦  «        Š	 G ˆ	fd„dt          ¦  «        }t          ¦   «         }‰	                     |                     ¦   «         ¦  «        }|rt          d	|z  ¦  «        ‚t          |                     ¦   «         ‰	j        ¦  «        }t          t          | ¦  «        d t          |¦  «        t          |¦  «        t          |¦  «        d d
d|dd |¦  «        }|S )Nl   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿl   óD°VJ
ÆRu±8£a6!m,»&ÚvD}D2_ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿl   ^@¯ 51â8`b8ÀCÊlª\×p*AŒtô(’qmjÏ.<‚+FaS[Í/SDZ74_3ã	l   zadoeC@Ù
ùZK‰^ýDsx™sø­sZhNx0Ž2›§>Ilq2« vIðZugt'zCryptodome.PublicKey._ed448a*  
typedef void EcContext;
typedef void PointEd448;
int ed448_new_context(EcContext **pec_ctx);
void ed448_context(EcContext *ec_ctx);
void ed448_free_context(EcContext *ec_ctx);
int ed448_new_point(PointEd448 **out,
                    const uint8_t x[56],
                    const uint8_t y[56],
                    size_t len,
                    const EcContext *context);
int ed448_clone(PointEd448 **P, const PointEd448 *Q);
void ed448_free_point(PointEd448 *p);
int ed448_cmp(const PointEd448 *p1, const PointEd448 *p2);
int ed448_neg(PointEd448 *p);
int ed448_get_xy(uint8_t *xb, uint8_t *yb, size_t len, const PointEd448 *p);
int ed448_double(PointEd448 *p);
int ed448_add(PointEd448 *P1, const PointEd448 *P2);
int ed448_scalar(PointEd448 *P, const uint8_t *scalar, size_t scalar_len, uint64_t seed);
c                   óŽ   •— e Zd Z” j        Z” j        Z” j        Z” j	        Z
” j        Z” j        Z” j        Z” j        Z” j        ZdS )úed448_curve.<locals>.EcLibN)r   r   r   Úed448_new_pointr   Úed448_cloner   Úed448_free_pointr   Ú	ed448_cmpr   Ú	ed448_negr   Úed448_get_xyr   Úed448_doubler   Ú	ed448_addr   Úed448_scalarr    )Ú
_ed448_libs   €r"   r#   r0   V   sW   ø€ € € € € ØÔ.ˆ	ØÔ&ˆØÔ0ˆ
ØÔ"ˆØÔ"ˆØÔ(ˆØÔ(ˆØÔ"ˆØÔ(ˆˆˆr$   r#   z#Error %d initializing Ed448 contextiÀ  z1.3.101.113ÚEd448)r   r'   r   Úed448_new_contextÚ
address_ofÚImportErrorr   ÚgetÚed448_free_contextr   r   )
r(   r)   r*   r+   r#   Úed448_contextÚresultÚcontextÚed448r:   s
            @r"   Úed448_curverE   ;   s  ø€ Øz€AØ~€EØ	{€BØ	{€Bå*Ð+Hð Kñ ô €Jð*	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)•ñ 	)ô 	)ð 	)õ  ‘M”M€MØ×)Ò)¨-×*BÒ*BÑ*DÔ*DÑEÔE€FØð JÝÐ?À&ÑHÑIÔIÐIå˜=×,Ò,Ñ.Ô.°
Ô0MÑNÔN€Gå•7˜1‘:”:ØÝ˜5‘>”>Ý˜2‘;”;Ý˜2‘;”;ØØØ ØØØØñô €Eð €Lr$   N)
Ú_curver   ÚCryptodome.Math.Numbersr   ÚCryptodome.Util._raw_apir   r   r   r-   rE   © r$   r"   ú<module>rJ      s†   ðð Ð Ð Ð Ð Ð Ø +Ð +Ð +Ð +Ð +Ð +ð0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð.ð .ð .ðb9ð 9ð 9ð 9ð 9r$   