§
    Šv¦jv  ã                  óh   — d Z ddlmZ ddlmZmZ ddlZddlm	Z	m
Z
mZ  G d„ dej        ¦  «        ZdS )uÔ   
Poe2VisualTool Commercial License Activation Dialog
Há»™p thoáº¡i Ä‘á»“ há»�a kÃ­ch hoáº¡t báº£n quyá»�n sang trá»�ng, thÃ¢n thiá»‡n cho ngÆ°á»�i dÃ¹ng cuá»‘i (CustomTkinter).
Báº£n quyá»�n 2026 Poe2VisualTool.
é    )Úannotations)ÚCallableÚOptionalN)ÚLicenseManagerÚLicenseInfoÚLicenseTierc                  óJ   ‡ — e Zd ZdZ	 	 	 ddˆ fd„Zd„ Zd	„ Zd
„ Zd„ Zd„ Z	ˆ xZ
S )ÚLicenseDialoguQ   
    Há»™p thoáº¡i kÃ­ch hoáº¡t báº£n quyá»�n dÃ nh cho khÃ¡ch hÃ ng cuá»‘i.
    NÚlicense_managerúOptional[LicenseManager]Ú
on_successú'Optional[Callable[[LicenseInfo], None]]c                ó´  •— t          ¦   «                              |¦  «         |pt          ¦   «         | _        || _        |                      d¦  «         |                      d¦  «         |                      dd¦  «         |                      dd¦  «         |  	                    d| j
        ¦  «         |                      ¦   «          |                      ¦   «          d S )Nu-   KÃ­ch Hoáº¡t Báº£n Quyá»�n â€” Poe2VisualToolÚ540x480Fz-topmostTéd   )ÚsuperÚ__init__r   Úlmr   ÚtitleÚgeometryÚ	resizableÚ
attributesÚafterÚliftÚ	_build_uiÚ_refresh_status)ÚselfÚparentr   r   Ú	__class__s       €ú;C:\Projects\Poe2VisualTool\src\commercial\license_dialog.pyr   zLicenseDialog.__init__   sÃ   ø€ õ 	‰Œ×Ò˜Ñ Ô Ð Ø!Ð5¥^Ñ%5Ô%5ˆŒØ$ˆŒà�
Š
ÐBÑCÔCÐCØ�Š�iÑ Ô Ð Ø�Š�u˜eÑ$Ô$Ð$ð 	�Š˜
 DÑ)Ô)Ð)Ø�
Š
�3˜œ	Ñ"Ô"Ð"à�ŠÑÔÐØ×ÒÑÔÐÐÐó    c           	     óh  — t          j        | d¬¦  «        }|                     dddd¬¦  «         t          j        |dt          j        dd	¬
¦  «        d¬¦  «        }|                     d¬¦  «         t          j        |dt          j        d¬¦  «        d¬¦  «        }|                     d¬¦  «         t          j        |dd¬¦  «        | _        | j                             ddd¬¦  «         t          j        | j        dt          j        dd	¬
¦  «        d¬¦  «        | _        | j                             ddd¬ ¦  «         t          j        | j        d!t          j        d¬¦  «        d"d#d$¬%¦  «        | _        | j                             ddd&¬ ¦  «         t          j        |d't          j        dd	¬
¦  «        d(¬¦  «        }|                     ddd)¬ ¦  «         t          j        |d*¬¦  «        }|                     ddd¬¦  «         t          j        |t          j        d+d,d	¬-¦  «        d¬.¦  «        | _	        | j	         
                    d/| j        j        ¦  «         | j	                             d0¬1¦  «         | j	                             d#ddd2¬3¦  «         t          j        |d4d5| j        ¬6¦  «        }|                     d#¬7¦  «         t          j        |d8t          j        dd	¬
¦  «        d(¬¦  «        }|                     ddd)¬ ¦  «         t          j        |d9t          j        d+d¬:¦  «        ¬;¦  «        | _        | j                             ddd¬¦  «         t          j        |d*¬¦  «        }|                     ddd2¬¦  «         t          j        |d<t          j        d,d	¬
¦  «        d=d>d?| j        ¬@¦  «        | _        | j                             d#ddd2¬3¦  «         t          j        |dAt          j        d¬¦  «        dBdCd?| j        ¬@¦  «        | _        | j                             d#dd¬D¦  «         d S )ENz#0f172a)Úfg_colorÚbothTé   )ÚfillÚexpandÚpadxÚpadyu"   ðŸ›¡ï¸� KÃ�CH HOáº T Báº¢N QUYá»€Né   Úbold)ÚsizeÚweightú#38bdf8)ÚtextÚfontÚ
text_color)r%   é   )r)   u9   Poe2VisualTool Commercial Grade Â· Path of Exile 2 (2026)é   )r,   z#94a3b8)r   r%   z#1e293bé   )r#   Úcorner_radiusÚx)r   é   )r&   r(   r)   u   TRáº NG THÃ�I: Ä�ANG KIá»‚M TRAé   ú#f59e0bÚwr7   )é
   é   )Úanchorr(   r)   uV   Vui lÃ²ng nháº­p mÃ£ báº£n quyá»�n há»£p lá»‡ Ä‘á»ƒ má»Ÿ khÃ³a toÃ n bá»™ tÃ­nh nÄƒng.z#cbd5e1ÚleftiÌ  )r/   r0   r1   ÚjustifyÚ
wraplength)r   r;   u/   MÃƒ PHáº¦N Cá»¨NG Cá»¦A MÃ�Y TÃ�NH NÃ€Y (HWID):z#e2e8f0)r   r2   ÚtransparentÚConsolasé   )Úfamilyr,   r-   )r0   r1   r   Úreadonly)Ústate)r   r4   )Úsider&   r'   r(   u   ðŸ“‹ Sao ChÃ©péZ   )r/   ÚwidthÚcommand)rG   u!   NHáº¬P PRODUCT KEY Báº¢N QUYá»€N:z.PVTK-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX)rD   r,   )Úplaceholder_textr0   u   âš¡ KÃ­ch Hoáº¡t Ngayz#059669z#047857é$   )r/   r0   r#   Úhover_colorÚheightrJ   u   ðŸŽ� DÃ¹ng Thá»­ 24 Giá»�z#334155z#475569)rG   r&   r'   )ÚctkÚCTkFrameÚpackÚCTkLabelÚCTkFontÚcard_statusÚlbl_status_badgeÚlbl_status_descÚCTkEntryÚ
entry_hwidÚinsertr   ÚhwidÚ	configureÚ	CTkButtonÚ_on_copy_hwidÚ	entry_keyÚ_on_activateÚbtn_activateÚ	_on_trialÚ	btn_trial)	r   Ú	containerÚ	lbl_titleÚlbl_subtitleÚlbl_hwid_titleÚhwid_rowÚbtn_copy_hwidÚlbl_key_titleÚbtn_rows	            r    r   zLicenseDialog._build_ui)   s  € Ý”L °	Ð:Ñ:Ô:ˆ	Ø�Š˜F¨4°b¸rˆÑBÔBÐBõ ”LØØ5Ý” "¨VÐ4Ñ4Ô4Ø ð	
ñ 
ô 
ˆ	ð 	�Š˜GˆÑ$Ô$Ð$å”|ØØLÝ” "Ð%Ñ%Ô%Ø ð	
ñ 
ô 
ˆð 	×Ò˜wÐÑ'Ô'Ð'õ œ<¨	¸IÐUVÐWÑWÔWˆÔØÔ×Ò 3¨R°gÐÑ>Ô>Ð>å #¤ØÔØ2Ý” "¨VÐ4Ñ4Ô4Ø ð	!
ñ !
ô !
ˆÔð 	Ô×"Ò"¨#°B¸WÐ"ÑEÔEÐEå"œ|ØÔØiÝ” "Ð%Ñ%Ô%Ø ØØð 
ñ  
ô  
ˆÔð 	Ô×!Ò!¨°2¸GÐ!ÑDÔDÐDõ œØØBÝ” "¨VÐ4Ñ4Ô4Ø ð	
ñ 
ô 
ˆð 	×Ò 3¨R°fÐÑ=Ô=Ð=å”< 	°MÐBÑBÔBˆØ�Š˜3 R¨gˆÑ6Ô6Ð6åœ,ØÝ” J°RÀÐGÑGÔGØ ð
ñ 
ô 
ˆŒð
 	Œ×Ò˜q $¤'¤,Ñ/Ô/Ð/ØŒ×!Ò!¨
Ð!Ñ3Ô3Ð3ØŒ×Ò &¨s¸4ÀfÐÑMÔMÐMåœØØ!ØØÔ&ð	
ñ 
ô 
ˆð 	×Ò ÐÑ'Ô'Ð'õ œØØ4Ý” "¨VÐ4Ñ4Ô4Ø ð	
ñ 
ô 
ˆð 	×Ò #¨B°VÐÑ<Ô<Ð<åœØØMÝ” J°RÐ8Ñ8Ô8ð
ñ 
ô 
ˆŒð
 	Œ×Ò ¨2°GÐÑ<Ô<Ð<õ ”,˜y°=ÐAÑAÔAˆØ�Š˜# B¨VˆÑ4Ô4Ð4åœMØØ(Ý” "¨VÐ4Ñ4Ô4ØØ!ØØÔ%ð
ñ 
ô 
ˆÔð 	Ô×Ò F°¸TÈÐÑOÔOÐOåœØØ,Ý” "Ð%Ñ%Ô%ØØ!ØØ”Nð
ñ 
ô 
ˆŒð 	Œ×Ò ¨c¸$ÐÑ?Ô?Ð?Ð?Ð?r!   c                ó¢   — |                       ¦   «          |                      | j        j        ¦  «         | j                             d¬¦  «         d S )NuV   [âœ“] Ä�Ã£ sao chÃ©p mÃ£ HWID! HÃ£y gá»­i mÃ£ nÃ y cho Admin Ä‘á»ƒ nháº­n Product Key.©r/   )Úclipboard_clearÚclipboard_appendr   rZ   rV   r[   )r   s    r    r]   zLicenseDialog._on_copy_hwid›   s_   € Ø×ÒÑÔÐØ×Ò˜dœgœlÑ+Ô+Ð+ØÔ×&Ò&ð  -EÐ&ñ  	Fô  	Fð  	Fð  	Fð  	Fr!   c                óŽ  — | j                              ¦   «         }|j        �re|j        t          j        k    r8| j                             dd¬¦  «         | j                             d¬¦  «         nÒ|j        t          j	        k    rh| j                             d|j
        › d�d¬¦  «         |j        r|j                             d	¦  «        nd
}| j                             d|› d�¬¦  «         nU|j        t          j        k    r@| j                             dd¬¦  «         | j                             d|j
        › d�¬¦  «         |j        r=| j                             dd¦  «         | j                             d|j        ¦  «         d S d S | j                             dd¬¦  «         | j                             |j        pd¬¦  «         d S )Nu4   TRáº NG THÃ�I: Báº¢N QUYá»€N VÄ¨NH VIá»„N (LIFETIME)z#10b981©r/   r1   uU   Pháº§n má»�m Ä‘Ã£ Ä‘Æ°á»£c kÃ­ch hoáº¡t vÄ©nh viá»…n khÃ´ng giá»›i háº¡n thá»�i gian.rl   u   TRáº NG THÃ�I: THUÃŠ BAO CÃ’N u    NGÃ€Yr.   z%d/%m/%Y %H:%Mu	   ChÆ°a rÃµu   Háº¡n sá»­ dá»¥ng Ä‘áº¿n: z UTC.u(   TRáº NG THÃ�I: Ä�ANG DÃ™NG THá»¬ (TRIAL)r9   u$   Thá»�i gian dÃ¹ng thá»­ cÃ²n láº¡i: u    ngÃ y.r   Úendu!   TRáº NG THÃ�I: CHÆ¯A KÃ�CH HOáº Tú#ef4444u5   Vui lÃ²ng nháº­p mÃ£ báº£n quyá»�n Ä‘á»ƒ sá»­ dá»¥ng.)r   Úload_licenseÚis_validÚtierr   ÚLIFETIMErU   r[   rV   ÚSUBSCRIPTIONÚ	days_leftÚ
expires_atÚstrftimeÚTRIALÚraw_keyr^   ÚdeleterY   Úmessage)r   ÚinfoÚexp_strs      r    r   zLicenseDialog._refresh_status    s  € ØŒw×#Ò#Ñ%Ô%ˆØŒ=ñ 	yØŒy�KÔ0Ò0Ð0ØÔ%×/Ò/Ð5kð  yBÐ/ñ  Cô  Cð  CØÔ$×.Ò.ð  5LÐ.ñ  Mô  Mð  Mð  MØ”�kÔ6Ò6Ð6ØÔ%×/Ò/Ð5lÐVZÔVdÐ5lÐ5lÐ5lð  zCÐ/ñ  Dô  Dð  DØHLÌÐh˜$œ/×2Ò2Ð3CÑDÔDÐDÐ]h�ØÔ$×.Ò.Ð4_ÐQXÐ4_Ð4_Ð4_Ð.Ñ`Ô`Ð`Ð`Ø”�kÔ/Ò/Ð/ØÔ%×/Ò/Ð5_ÐluÐ/ÑvÔvÐvØÔ$×.Ò.Ð4rÐ[_Ô[iÐ4rÐ4rÐ4rÐ.ÑsÔsÐsàŒ|ð 7Ø”×%Ò% a¨Ñ/Ô/Ð/Ø”×%Ò% a¨¬Ñ6Ô6Ð6Ð6Ð6ð7ð 7ð Ô!×+Ò+Ð1TÐajÐ+ÑkÔkÐkØÔ ×*Ò*°´Ð0wÐ@wÐ*ÑxÔxÐxÐxÐxr!   c                óP  — | j                              ¦   «                              ¦   «         }|s| j                             d¬¦  «         d S | j                             |¦  «        }|rf| j                             ¦   «         }|                      ¦   «          | j	        r|  	                    |¦  «         |  
                    d| j        ¦  «         d S | j                             |¦  «        \  }}}}| j                             dd¬¦  «         | j                             d|› �¬¦  «         d S )NuH   [!] Lá»—i: Vui lÃ²ng nháº­p Product Key trÆ°á»›c khi báº¥m KÃ­ch hoáº¡t!rl   éÜ  u(   TRáº NG THÃ�I: KÃ�CH HOáº T THáº¤T Báº Irr   rp   z[!] )r^   ÚgetÚstriprV   r[   r   Úsave_licensers   r   r   r   ÚdestroyÚverify_product_keyrU   )r   ÚkeyÚsuccessr   Úvalidru   ÚexpÚmsgs           r    r_   zLicenseDialog._on_activateµ   s%  € ØŒn× Ò Ñ"Ô"×(Ò(Ñ*Ô*ˆØð 	ØÔ ×*Ò*Ð0zÐ*Ñ{Ô{Ð{ØˆFà”'×&Ò& sÑ+Ô+ˆØð 		>Ø”7×'Ò'Ñ)Ô)ˆDØ× Ò Ñ"Ô"Ð"ØŒð &Ø—’ Ñ%Ô%Ð%Ø�JŠJ�t˜Tœ\Ñ*Ô*Ð*Ð*Ð*à$(¤G×$>Ò$>¸sÑ$CÔ$CÑ!ˆE�4˜˜cØÔ!×+Ò+Ð1[ÐhqÐ+ÑrÔrÐrØÔ ×*Ò*°°s°°Ð*Ñ=Ô=Ð=Ð=Ð=r!   c                ó>  — | j                              d¬¦  «        rf| j                              ¦   «         }|                      ¦   «          | j        r|                      |¦  «         |                      d| j        ¦  «         d S | j                             d¬¦  «         d S )Né   )Úhoursr‚   ue   [!] KhÃ´ng thá»ƒ kÃ­ch hoáº¡t dÃ¹ng thá»­. CÃ³ thá»ƒ mÃ¡y nÃ y Ä‘Ã£ tá»«ng dÃ¹ng thá»­ trÆ°á»›c Ä‘Ã³.rl   )	r   Úactivate_trialrs   r   r   r   r†   rV   r[   )r   r   s     r    ra   zLicenseDialog._on_trialÇ   s®   € ØŒ7×!Ò!¨Ð!Ñ+Ô+ð 	YØ”7×'Ò'Ñ)Ô)ˆDØ× Ò Ñ"Ô"Ð"ØŒð &Ø—’ Ñ%Ô%Ð%Ø�JŠJ�t˜Tœ\Ñ*Ô*Ð*Ð*Ð*àÔ ×*Ò*ð  1XÐ*ñ  Yô  Yð  Yð  Yð  Yr!   )NNN)r   r   r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r]   r   r_   ra   Ú__classcell__)r   s   @r    r
   r
      s¶   ø€ € € € € ðð ð Ø48Ø>Bð	ð ð ð ð ð ð ð*p@ð p@ð p@ðdFð Fð Fð
yð yð yð*>ð >ð >ð$Yð Yð Yð Yð Yð Yð Yr!   r
   )r”   Ú
__future__r   Útypingr   r   ÚcustomtkinterrO   Úsrc.commercial.license_managerr   r   r   ÚCTkToplevelr
   © r!   r    ú<module>rœ      s¯   ððð ð #Ð "Ð "Ð "Ð "Ð "à %Ð %Ð %Ð %Ð %Ð %Ð %Ð %Ø Ð Ð Ð à SÐ SÐ SÐ SÐ SÐ SÐ SÐ SÐ SÐ Sð@Yð @Yð @Yð @Yð @Y�C”Oñ @Yô @Yð @Yð @Yð @Yr!   