Ë
    >gŒiÅ?  ã                   ó®  — d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dlmZm	Z	 d dl
mZ d„ Z G d	„ d
ej                  «      Z G d„ dej                  «      Z G d„ dej                  «      Z G d„ dej                  «      Z G d„ dej                  «      Z G d„ dej                  «      Z G d„ dej                  «      Z G d„ dej                  «      Z G d„ dej                  «      Z G d„ dej                  «      Z G d„ dej                  «      Z G d„ d ej                  «      Z G d!„ d"ej                  «      Z G d#„ d$ej                  «      Zy%)&é    )Úmodels)ÚFileExtensionValidator)ÚDecimal)Útimezone)Ú	timedelta)Údatetimer   )ÚZonec                  óD   — t        j                  «       t        d¬«      z   S )Né   ©Údays)r   Únowr   © ó    ú3/var/www/skyplay_api_hub/ott_subscription/models.pyÚget_expiration_dater   
   s   € Ü�<‰<‹>œI¨2Ô.Ñ.Ð.r   c                   óz  — e Zd Zg d¢Z ej
                  dd¬«      Z ej
                  dd¬«      Z ej                  ddd¬«      Z	 ej
                  ddd	gd
¬«      Z
 ej                  dd¬«      Z ej                  dd¬«      Z ej                  ddd¬«      Z ej                  ddd¬«      Zd„ Z G d„ d«      Zy)ÚOTTAggregator))ÚwatchoÚWatcho)Úplay_boxzPlay Box)ÚhotstarÚHotstar)ÚottplayÚOTTplay)Útata_play_bingezTata Play Bingeéd   T©Ú
max_lengthÚuniqueé2   r   )ÚdefaultÚnullÚblank©ÚactiveÚActive©ÚinactiveÚInactiver&   ©r   Úchoicesr"   ©r#   r$   zicons/playstore/)Ú	upload_tor#   r$   zicons/appstore/c                 ó   — | j                   S ©N©Úname©Úselfs    r   Ú__str__zOTTAggregator.__str__(   ó   € Ø�y‰yÐr   c                   ó   — e Zd ZdZdZy)úOTTAggregator.MetazOTT AggregatorzOTT AggregatorsN)Ú__name__Ú
__module__Ú__qualname__Úverbose_nameÚverbose_name_pluralr   r   r   ÚMetar8   +   s   „ Ø'ˆØ/Ñr   r>   N)r9   r:   r;   ÚPLATFORM_CHOICESr   Ú	CharFieldr2   ÚcodeÚIntegerFieldÚorder_idÚstatusÚURLFieldÚplay_store_urlÚapp_store_urlÚ	FileFieldÚplay_store_iconÚapp_store_iconr5   r>   r   r   r   r   r      sÐ   „ òÐð ˆ6×Ñ s°4Ô8€DØˆ6×Ñ r°$Ô7€DØ"ˆv×"Ñ"¨1°4¸tÔD€HØˆV×ÑØØ%Ð'?Ð@Øô€Fð %�V—_‘_¨$°dÔ;€NØ#�F—O‘O¨°TÔ:€Mà&�f×&Ñ&Ð1CÈ$ÐVZÔ[€OØ%�V×%Ñ%Ð0AÈÐTXÔY€Nò÷0ò 0r   r   c            	       ó.  — e Zd Z ej                  d¬«      Z ej                  dd¬«      Z ej                  d¬«      Z ej                  ddd e
g d¢¬«      g¬	«      Z ej                  d
¬«      Z ej                  ddej                  dd¬«      Zd„ Zy)ÚOTTéÿ   ©r   Tr   ©r"   zott_images/)ÚjpgÚjpegÚpngÚgif)Úallowed_extensions)r.   r$   r#   Ú
validatorsr   ÚOTTPlanÚ	ott_plans)Úrelated_nameÚ	on_deleter#   r$   c                 ó   — | j                   S r0   r1   r3   s    r   r5   zOTT.__str__>   r6   r   N)r9   r:   r;   r   r@   r2   rA   ÚBooleanFieldÚ	is_activeÚ
ImageFieldr   ÚimagerB   rC   Ú
ForeignKeyÚCASCADEÚott_planr5   r   r   r   rL   rL   1   s�   „ Øˆ6×Ñ sÔ+€DØˆ6×Ñ s°4Ô8€DØ#�×#Ñ#¨DÔ1€IØˆF×ÑØØØÙ*Ò>[Ô\Ð]ô	€Eð #ˆv×"Ñ"¨1Ô-€HØ ˆv× Ñ  ¸ÐPV×P^ÑP^ÐeiÐquÔv€Hór   rL   c                   óî   — e Zd Z ej                  d¬«      Z ej                  dddd¬«      Z ej                  d¬«      Z ej                  e
ej                  ¬«      Z ej                  dd¬	«      Zd
„ Zy)ÚOTTPlanGroupr   rN   r!   T)r   r    r#   r$   r   rO   ©rY   ©r$   r#   c                 óL   — | j                   j                  › d| j                  › �S ©Nú - ©Úplatform_idr2   r3   s    r   r5   zOTTPlanGroup.__str__J   ó$   € Ø×"Ñ"×'Ñ'Ð(¨¨D¯I©I¨;Ð7Ð7r   N)r9   r:   r;   r   r@   r2   Ú
group_coderB   rC   r_   r   r`   rj   Ú	TextFieldÚdescriptionr5   r   r   r   rc   rc   C   so   „ Øˆ6×Ñ sÔ+€DØ!�×!Ñ!¨R¸À4ÈtÔT€JØ"ˆv×"Ñ"¨1Ô-€HØ#�&×#Ñ# M¸V¿^¹^ÔL€KØ"�&×"Ñ"¨°DÔ9€Kó8r   rc   c                   ó
  — e Zd ZddgZ ej
                  eej                  ¬«      Z ej                  d¬«      Z
 ej                  dd¬«      Z ej                  d	ed
¬«      Z ej                  d	d ed«      ¬«      Z ej                   d¬«      Z ej                   d¬«      Z ej                   d¬«      Z ej(                  ed¬«      Z ej
                  eddej0                  ¬«      Z ej4                  d¬«      Zd„ Zd„ Zy)rV   r%   r(   rd   r   rN   r!   Tr   é
   r&   r+   é   z0.00©Ú
max_digitsÚdecimal_placesr"   FrO   Úott_plans_associated)rX   )r#   r$   rY   r   c                 óL   — | j                   j                  › d| j                  › �S rg   ri   r3   s    r   r5   zOTTPlan.__str__m   rk   r   c                 ó:   — | j                   j                  d¬«      S )NT)r\   )ÚottsÚfilterr3   s    r   Úget_active_ottszOTTPlan.get_active_ottsp   s   € Ø�y‰y×Ñ¨$ÐÓ/Ð/r   N)r9   r:   r;   ÚPLAN_STATUS_CHOICESr   r_   r   r`   rj   r@   r2   rA   rD   ÚDecimalFieldr   Úpricer[   Úpremium_plan_flagÚhighlighted_plan_flagÚflexible_plan_flagÚManyToManyFieldrL   rx   rc   ÚSET_NULLÚ
plan_groupÚPositiveIntegerFieldÚvalidity_monthsr5   rz   r   r   r   rV   rV   N   s  „ àØ ðÐð $�&×#Ñ# M¸V¿^¹^ÔL€KØˆ6×Ñ sÔ+€DØˆ6×Ñ r°$Ô7€DØˆV×Ñ¨Ð5HÐRZÔ[€FàˆF×ÑØØÙ˜“ô€Eð ,˜×+Ñ+°EÔ:Ðà/˜F×/Ñ/¸Ô>Ðà,˜×,Ñ,°UÔ;Ðà!ˆ6×!Ñ! #Ð4JÔK€Dð #�×"Ñ" <°dÀ$ÐRX×RaÑRaÔb€JØ1�f×1Ñ1¸!Ô<€Oò8ó0r   rV   c                   ó¸  — e Zd ZddgZg d¢Z ej                  d¬«      Z ej                  dd¬«      Z ej                  e
«      Z ej                  d	ed
¬«      Z ej                  d	dd¬«      Z ej                  d¬«      Z ej                  ddd¬«      Z ej                  ded¬«      Z ej                  dej(                  j*                  ddd¬«      Zd„ Zy)ÚSkylinkPlanr%   r(   )©ÚmobileÚMobile©ÚsuperÚSuper)ÚunavailableÚUnavailabler   rN   r!   Tr   rp   r&   r+   rq   ç        rr   FrO   ©r   r$   r#   é   r‰   z5Specifies the service type associated with this plan.)r   r,   r#   r$   Ú	help_textc                 ó   — | j                   S r0   r1   r3   s    r   r5   zSkylinkPlan.__str__™   r6   r   N)r9   r:   r;   r{   ÚJIOHOTSTAR_CHOICESr   r@   r2   rA   r�   rV   rW   rD   r|   Úamountr[   Úbandwidth_verified_flagÚ	bandwidthÚjiohotstar_flagr	   ÚServiceTyper,   Úserver_typer5   r   r   r   r‡   r‡   u   sø   „ àØ ðÐòÐð ˆ6×Ñ sÔ+€DØˆ6×Ñ r°$Ô7€DØ&�×&Ñ& wÓ/€IØˆV×Ñ¨Ð5HÐRZÔ[€FØ ˆV× Ñ ¨B¸qÈ$ÔO€Fà1˜f×1Ñ1¸%Ô@ÐØ �× Ñ ¨B°dÀÔF€Ià&�f×&Ñ&ØØ"Øô€Oð #�&×"Ñ"ØØ× Ñ ×(Ñ(ØØØIô€Kór   r‡   c                   óÀ   — e Zd Z ej                  d¬«      Z ej                  eej                  ¬«      Z	 ej                  d¬«      Z
 ej                  d¬«      Zd„ Zy)ÚOTTSubscriptionrM   rN   rd   T©Úauto_now_addc                 óT   — d| j                   › d| j                  › d| j                  › �S )NzSubscription for ú on z - Plan ©Ú	client_idrj   Úplan_idr3   s    r   r5   zOTTSubscription.__str__¤   s/   € Ø" 4§>¡>Ð"2°$°t×7GÑ7GÐ6HÈÐQU×Q]ÑQ]ÐP^Ð_Ð_r   N)r9   r:   r;   r   r@   r£   r_   r   r`   rj   r¤   ÚDateTimeFieldÚsubscription_dater5   r   r   r   r�   r�   ž   sW   „ Ø �× Ñ ¨CÔ0€IØ#�&×#Ñ# M¸V¿^¹^ÔL€KØˆf×Ñ¨#Ô.€GØ,˜×,Ñ,¸$Ô?Ðó`r   r�   c                   óü  — e Zd Zg d¢Zg d¢Z ej                  d¬«      Z ej                  e	ej                  ¬«      Z ej                  d¬«      Z ej                  d¬«      Z ej                  dd	¬
«      Z ej                   dd¬«      Z ej$                  dd¬«      Z ej(                  dd¬«      Z ej$                  dd¬«      Z ej                  ddd¬«      Z ej                  dd¬
«      Z ej                  dedd¬«      Z ej                  ddd¬«      Z ej                  ddd¬«      Z ej                  ddd¬«      Z ej:                  d¬«      Z ej                  ddd¬«      Z ej                  ddd¬«      Z  ej                  ddd¬«      Z! ej$                  dd¬«      Z" ejF                  dddd¬«      Z$ ej                  ddd¬«      Z% ej                  e&¬«      Z' ej                  ddd¬«      Z( ej(                  dd¬«      Z) ej                  ddd¬«      Z* ejV                  dd¬«      Z, ejV                  dd¬«      Z- ejF                  dddd¬«      Z. ej$                  dd¬«      Z/d„ Z0y)ÚOTTActivationLog))é   ÚMonthly)é   Ú	Quarterly)é   zHalf-Yearly)é   ÚYearly))ÚrazorpayÚRazorpay)ÚcashfreeÚCashfree)ÚmanualÚManualrM   rN   rd   Trž   r!   ÚSuccess©r   r"   re   r-   iˆ  )r#   r$   r   Úfree)r   r,   r$   r#   r‘   FrO   iô  rp   rq   ©rs   rt   r#   r$   r’   r©   úQBilling cycle in months: 1 (Monthly), 3 (Quarterly), 6 (Half-Yearly), 12 (Yearly)©r"   r“   c                 óT   — d| j                   › d| j                  › d| j                  › �S )NzActivation Log for r¡   rh   r¢   r3   s    r   r5   zOTTActivationLog.__str__ð   s+   € Ø$ T§^¡^Ð$4°D¸×9IÑ9IÐ8JÈ#ÈdÏlÉlÈ^Ð\Ð\r   N)1r9   r:   r;   ÚBILLING_CYCLE_CHOICESÚPAYMENT_GATEWAY_CHOICESr   r@   r£   r_   r   r`   rj   r¤   r¥   Úactivation_daterD   rm   ÚmessageÚ	JSONFieldÚinputrB   Úresponse_statusÚoutputÚendpointÚsubscription_tiersÚpayment_gatewayÚrazorpay_payment_idÚrazorpay_signatureÚrazorpay_order_idr[   Úpayment_verifiedÚcashfree_order_idÚcashfree_payment_idÚcashfree_payment_session_idÚcashfree_raw_responser|   Úpayment_amountÚpayment_currencyr   Úexpiration_dateÚphone_numberÚbilling_cycleÚ
invoice_idÚ	DateFieldÚbilling_from_dateÚbilling_to_dateÚinvoice_amountÚpayment_raw_datar5   r   r   r   r¨   r¨   ©   s¸  „ òÐòÐð
 !�× Ñ ¨CÔ0€IØ#�&×#Ñ# M¸V¿^¹^ÔL€KØˆf×Ñ¨#Ô.€GØ*�f×*Ñ*¸Ô=€OØˆV×Ñ¨°YÔ?€FØˆf×Ñ T°Ô5€GàˆF×Ñ $¨dÔ3€EØ)�f×)Ñ)¨t¸4Ô@€OØˆV×Ñ 4¨tÔ4€FØˆv×Ñ T°À$ÔG€Hð *˜×)Ñ)°RÀÔHÐð '�f×&Ñ&ØØ'ØØô	€Oð +˜&×*Ñ*°cÀÈDÔQÐØ)˜×)Ñ)°SÀÈ4ÔPÐØ(˜×(Ñ(°C¸tÈ$ÔOÐØ*�v×*Ñ*°5Ô9Ðð )˜×(Ñ(°C¸tÈ$ÔOÐØ*˜&×*Ñ*°cÀÈDÔQÐØ"2 &×"2Ñ"2¸cÈÐTXÔ"YÐØ,˜F×,Ñ,°4¸dÔCÐð )�V×(Ñ(°BÀqÈtÐ[_Ô`€NØ'�v×'Ñ'°2¸TÈÔMÐð +�f×*Ñ*Ð3FÔG€OØ#�6×#Ñ#¨r¸ÀDÔI€Lð (�F×'Ñ'ØØeô€Mð "�×!Ñ!¨S¸À4ÔH€JØ(˜×(Ñ(¨d¸$Ô?ÐØ&�f×&Ñ&¨D¸Ô=€OØ(�V×(Ñ(°BÀqÈtÐ[_Ô`€Nð (�v×'Ñ'¨d¸Ô>Ðó]r   r¨   c                   óÆ   — e Zd Z ej                  ddd¬«      Z ej                  ddd¬«      Z ej                  d¬«      Z ej                  e
j                  ¬«      Zd„ Zy	)
ÚVerificationCodeT)r    r$   r#   r’   r‘   r­   rN   rO   c                 ób   — | j                   t        d¬«      z   }t        j                  «       |kD  S )z*Check if the verification code has expiredrp   )Úminutes)Ú	timestampr   r   r   )r4   Úexpiry_times     r   Ú
is_expiredzVerificationCode.is_expiredû   s&   € à—n‘n¤y¸Ô'<Ñ<ˆÜ�|‰|‹~ Ñ+Ð+r   N)r9   r:   r;   r   Ú
EmailFieldÚemailr@   rÓ   rA   r¥   r   r   rß   rá   r   r   r   rÜ   rÜ   õ   s[   „ ØˆF×Ñ T°¸DÔA€EØ#�6×#Ñ#¨r¸ÀDÔI€LØˆ6×Ñ qÔ)€DØ$�×$Ñ$¨X¯\©\Ô:€Ió,r   rÜ   c                   ób  ‡ — e Zd ZddgZ ej
                  dd¬«      Z ej                  d¬«      Z ej                  dd¬«      Z
 ej
                  ddd¬	«      Z ej
                  d
dd¬	«      Z ej
                  ded¬«      Z ej                  dd¬«      Z ej
                  ddd¬«      Z ej"                  dd¬«      Z ej"                  dd¬«      Z ej(                  dddd¬«      Z ej"                  dd¬«      Z ej                  d¬«      Z ej                  d¬«      Zˆ fd„Zd„ Zˆ xZS )ÚJioHotstarCoderˆ   r‹   r   Tr   FrO   r-   ©r   r#   r$   r’   rp   r‰   r+   r©   rº   r»   rM   r‘   rq   r¹   r   c                 óÄ   •— | j                   rD| j                  r8| j                  s,| j                  j                  «       t	        d¬«      z   | _        t        ‰| �  |i |¤Ž y )NéZ   r   )Úactivated_flagÚactivated_dateÚexpired_dateÚdater   rŒ   Úsave)r4   ÚargsÚkwargsÚ	__class__s      €r   rí   zJioHotstarCode.save  sN   ø€ Ø×Ò 4×#6Ò#6¸t×?PÒ?PØ $× 3Ñ 3× 8Ñ 8Ó :¼YÈBÔ=OÑ OˆDÔÜ‰‰�dÐ%˜fÓ%r   c                 ó   — | j                   S r0   )rA   r3   s    r   r5   zJioHotstarCode.__str__$  r6   r   )r9   r:   r;   ÚTYPE_CHOICESr   r@   rA   r[   ré   r¥   rê   Úactivated_client_idÚclient_phone_numberÚtyperB   rÔ   rÕ   rÖ   r×   rØ   r|   rÙ   rë   Úcode_provide_countrí   r5   Ú__classcell__)rð   s   @r   rå   rå     sH  ø„ àØð€Lð
 ˆ6×Ñ s°4Ô8€DØ(�V×(Ñ(°Ô7€NØ)�V×)Ñ)¨t¸4Ô@€NØ*˜&×*Ñ*°cÀÈDÔQÐØ*˜&×*Ñ*°b¸tÈ4ÔPÐØˆ6×Ñ r°<ÈÔR€Dà'�F×'Ñ'ØØeô€Mð "�×!Ñ!¨S¸À4ÔH€JØ(˜×(Ñ(¨d¸$Ô?ÐØ&�f×&Ñ&¨D¸Ô=€OØ(�V×(Ñ(°BÀqÈtÐ[_Ô`€Nà#�6×#Ñ#¨°TÔ:€LØ,˜×,Ñ,°QÔ7Ðð -˜×,Ñ,°QÔ7Ðô&ör   rå   c                   óf  — e Zd Z ej                  d¬«      Z ej                  d¬«      Z ej                  d¬«      Z ej                  dd¬«      Z
 ej                  ddd¬«      Z ej                  ddd¬«      Z ej                  dd¬«      Z ej                  ej                   dd¬	«      Zd
„ Zy)ÚIptvRequestr   rN   é   Trž   r-   r‘   re   )r"   r$   r#   c                 ó8   — | j                   › d| j                  › �S rg   )r£   Úrequested_atr3   s    r   r5   zIptvRequest.__str__5  s   € Ø—.‘.Ð!  T×%6Ñ%6Ð$7Ð8Ð8r   N)r9   r:   r;   r   r@   r£   rÓ   r¥   rü   râ   rã   Úactivation_codeÚactivated_byrm   Úreason_not_activatedr   r   Úactivated_atr5   r   r   r   rù   rù   )  s®   „ Ø �× Ñ ¨CÔ0€IØ#�6×#Ñ#¨rÔ2€LØ'�6×'Ñ'°TÔ:€LØˆV×Ñ D°Ô5€Eð '�f×&Ñ&°#¸TÈÔM€OØ#�6×#Ñ#¨s¸$ÀTÔJ€LØ+˜6×+Ñ+°$¸TÔBÐØ'�6×'Ñ'°·±ÀDÈtÔT€Ló9r   rù   c                   óü   — e Zd Z ej                  d¬«      Z ej                  d¬«      Z ej                  ddd¬«      Z	 ej                  dd¬«      Z ej                  d¬«      Z ej                  d	¬«      Zd
„ Zy)ÚSupportVideorM   rN   T)r$   zsupport_videos/)r.   r$   r#   re   rO   r   c                 ó   — | j                   S r0   )Útitler3   s    r   r5   zSupportVideo.__str__A  s   € Ø�z‰zÐr   N)r9   r:   r;   r   r@   r  rm   ÚsubtitlerH   Ú
video_filerE   Úyoutube_linkr[   r\   r„   rC   r5   r   r   r   r  r  9  sy   „ ØˆF×Ñ¨Ô,€EØˆv×Ñ dÔ+€HØ!�×!Ñ!Ð,=ÀTÐPTÔU€JØ"�6—?‘?¨°DÔ9€LØ#�×#Ñ#¨DÔ1€IØ*ˆv×*Ñ*°1Ô5€Hór   r  c                   óÒ   — e Zd Z ej                  d¬«      Z ej                  dd¬«      Z ej                  d¬«      Z ej                  d¬	«      Z
 ej                  d¬	«      Zd
„ Zy)Ú	TVChannelrM   rN   r   Tr   z
tv_images/)r.   r   rO   c                 ó   — | j                   S r0   r1   r3   s    r   r5   zTVChannel.__str__L  r6   r   N)r9   r:   r;   r   r@   r2   rA   r]   r^   rB   rC   r[   r\   r5   r   r   r   r	  r	  E  sc   „ Øˆ6×Ñ sÔ+€DØˆ6×Ñ s°4Ô8€DØˆF×Ñ¨Ô5€EØ"ˆv×"Ñ"¨1Ô-€HØ#�×#Ñ#¨DÔ1€Iór   r	  c                   ót  — e Zd Zg d¢Z ej
                  dd¬«      Z ej                  eej                  dd¬«      Z
 ej
                  dd¬«      Z ej                  dd¬«      Z ej
                  d	dd¬
«      Z ej
                  ddd¬«      Z ej
                  dddd¬«      Z ej
                  dddd¬«      Z ej
                  ded¬«      Z ej&                  ddd¬«      Z ej
                  dd¬«      Z ej,                  d¬«      Z ej,                  ddd¬«      Z ej2                  dde¬«      Zd„ Zy)ÚCashfreePayment))ÚPendingr  )ÚPaidr  )ÚFailedr  rM   zUnknown Clientr·   T©rY   r#   r$   zDefault Planre   r’   r‘   Ú
ORDER_0000)r   r    r"   Ú )r   r$   r#   r"   r!   r  r+   rp   rq   r�   rr   ÚINRrž   N)r$   r#   r"   c                 óV   — d| j                   › d| j                  › d| j                  › d�S )NzCashfree Payment: rh   z (ú))r£   r¤   Úpayment_statusr3   s    r   r5   zCashfreePayment.__str__n  s.   € Ø# D§N¡NÐ#3°3°t·|±|°nÀBÀt×GZÑGZÐF[Ð[\Ð]Ð]r   )r9   r:   r;   ÚSTATUS_CHOICESr   r@   r£   r_   r   r`   rj   r¤   râ   Úcustomer_emailÚcustomer_phonerC   Úpayment_session_idÚ
payment_idr  r|   r–   Úcurrencyr¥   Ú
created_atÚpaid_atrÁ   ÚdictÚ
extra_datar5   r   r   r   r  r  T  sN  „ ò€Nð !�× Ñ ¨CÐ9IÔJ€IØ#�&×#Ñ# M¸V¿^¹^ÐRVÐ^bÔc€KØˆf×Ñ¨#°~ÔF€Gð '�V×&Ñ&¨T¸Ô=€NØ%�V×%Ñ%°¸4ÀdÔK€Nð  ˆv×Ñ¨3°tÀ\ÔR€HØ)˜×)Ñ)°SÀÈ4ÐY[Ô\ÐØ!�×!Ñ!¨S¸À4ÐQSÔT€JØ%�V×%Ñ%°¸^ÐU^Ô_€NØ ˆV× Ñ ¨B¸qÈ$ÔO€FØˆv×Ñ¨2°uÔ=€HØ%�×%Ñ%°4Ô8€JØ"ˆf×"Ñ"¨°DÀ$ÔG€GØ!�×!Ñ!¨°4ÀÔF€Jó^r   r  c                   ó<  — e Zd Z ej                  eej                  dd¬«      Z ej                  eej                  dd¬«      Z	 ej                  eej                  ddd¬«      Z
 ej                  eej                  ddd¬«      Z ej                  ddd¬«      Z ej                  ddd¬«      Z ej                  ddd¬«      Z ej                  ddd¬«      Z ej                  d	ddd
¬«      Z ej$                  dd¬«      Z ej(                  ddd¬«      Zd„ Zy)ÚManualOTTActivationTr  Úsecondary_platform)rY   r#   r$   rX   Úsecondary_planr’   ræ   r   r!   r  )r   r#   r$   r"   r-   )rŸ   r#   r$   c                 óŒ   — | j                   r| j                   nd}| j                  r| j                  j                  nd}|› d|› �S )NzNo PhonezNo Platformrh   )rÓ   Úplatformr2   )r4   Úphoner&  s      r   r5   zManualOTTActivation.__str__³  s?   € Ø%)×%6Ò%6�×!Ò!¸JˆØ)-¯ª�4—=‘=×%Ò%¸MˆØ�˜˜H˜:Ð&Ð&r   N)r9   r:   r;   r   r_   r   r‚   r&  rV   ÚplanÚ
platform_2Úplan_2r@   rÓ   Ú
first_nameÚ	last_nameÚsky_idrD   rm   rÀ   r¥   r  r5   r   r   r   r"  r"  t  s`  „ à ˆv× Ñ ØØ—/‘/ØØô	€Hð ˆ6×ÑØØ—/‘/ØØô	€Dð #�×"Ñ" =¸F¿O¹OÐRVÐ^bð  rFô  G€JØˆV×Ñ˜w°&·/±/ÈÐTXÐgwÔx€Fà#�6×#Ñ#ØØØô€Lð "�×!Ñ!ØØØô€Jð !�× Ñ ØØØô€Ið ˆV×ÑØØØô€Fð ˆV×ÑØØØØô	€Fð ˆf×ÑØØô€Gð
 &�×%Ñ%ØØØô€Jó'r   r"  N)Ú	django.dbr   Údjango.core.validatorsr   Údecimalr   Údjango.utilsr   r   r   Úpricing_plan.modelsr	   r   ÚModelr   rL   rc   rV   r‡   r�   r¨   rÜ   rå   rù   r  r	  r  r"  r   r   r   ú<module>r4     s  ðÝ Ý 9Ý Ý !Ý ß (Ý $ò/ô
0�F—L‘Lô 0ôDˆ&�,‰,ô ô$8�6—<‘<ô 8ô#0ˆf�l‰lô #0ôN%�&—,‘,ô %ôR`�f—l‘lô `ôH]�v—|‘|ô H]ôX	,�v—|‘|ô 	,ô$�V—\‘\ô $ôP9�&—,‘,ô 9ô 	�6—<‘<ô 	ô�—‘ô ô^�f—l‘lô ^ô@B'˜&Ÿ,™,õ B'r   