§
   5Ô–­t~ã                   óB  — d dl Z d dlmZ d dlZd dlmZ d dlZd dlZd dl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d„ ZdZedz   Zd	Zeed
œZdZ e j        ¦   «         Zej                             e¦  «         dadd„Zd„ Zdd„Z d„ Z!dd„Z"d„ Z#dd„Z$d„ Z%dd„Z&dd„Z'dS )é    N)ÚElementTree)Úmd5crypt)ÚUI)Ú	user_datac                 óN  — | rt          | ¦  «        dk     rt          d¦  «        ‚t          | dd…         ¦  «        }t          | dd…         ¦  «        }t          | dd…         ¦  «        }| d         dk    s| d         dk    rt          d	¦  «        ‚t          j        |||¦  «        S )
uˆ   RychlÃ½ parser YYYY-MM-DD bez pouÅ¾itÃ­ datetime.strptime (kvÅ¯li stabilitÄ›).
    VracÃ­ py_datetime.date nebo vyhodÃ­ ValueError.
    é
   zdate_str too shortr   é   é   é   é   ú-zinvalid separators)ÚlenÚ
ValueErrorÚintÚpy_datetimeÚdate)Údate_strÚyÚmÚds       úi/Users/chudy/Library/Application Support/Kodi/addons/plugin.video.milionar/wcs/webshare/WebshareClient.pyÚ_parse_date_ymdr      s«   € ð ð /•s˜8‘}”} rÒ)Ð)ÝÐ-Ñ.Ô.Ð.ÝˆH�Q�q�SŒMÑÔ€AÝˆH�Q�q�SŒMÑÔ€AÝˆH�Q�r�TŒNÑÔ€AØ�„{�cÒÐ˜X aœ[¨CÒ/Ð/ÝÐ-Ñ.Ô.Ð.ÝÔ˜A˜q !Ñ$Ô$Ð$ó    zhttps://webshare.czz/api/zsMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36)z
User-AgentÚRefererz
:Webshare:Fc                 óÒ   — t                                t          | z   dz   |¬¦  «        }	 |r+| dvr't          s da	 t	          |ddd¬¦  «         dan# daw xY wn# t
          $ r Y nw xY w|S )	uÑ   JednoduchÃ© volÃ¡nÃ­ Webshare API s nenÃ¡padnou VIP kontrolou po volÃ¡nÃ­.

    - Vyhne se rekurzi a volÃ¡nÃ­ u 'user_data', 'login', 'salt'.
    - Notifikace expirace se Å™eÅ¡Ã­ uvnitÅ™ refresh_vip_info.
    ú/)Údata)r   ÚloginÚsaltTNFÚapi_call)Útoken_overrideÚshow_notificationÚlog_context)Ú_sessionÚpostÚAPIÚ_vip_check_lockÚrefresh_vip_infoÚ	Exception)Úfnctr   Úaddon_for_vip_checkÚresponses       r   r    r    )   s¢   € õ �}Š}�S 4™Z¨#Ñ-°Dˆ}Ñ9Ô9€Hð	Øð 	( 4Ð/MÐ#MÐ#MÕVeÐ#MØ"ˆOð(å Ð!4ÀTÐ]bÐpzÐ{Ñ{Ô{Ð{à"'��ø %�Ð'Ð'Ð'Ð'øøÝð ð ð Øˆðøøøà€Os(   ©A ¹A ÁA ÁAÁA Á
A$Á#A$c                 óB   — |                       d¦  «        j        }|dk    S )NÚstatusÚOK)ÚfindÚtext)Úxmlr.   s     r   Úis_okr3   =   s    € Ø�XŠX�hÑÔÔ$€FØ�TŠ>Ðr   Tc           	      ó   — | dk    s|dk    rJ ||                      d¦  «        |                      d¦  «        ¦  «         |r|                     ¦   «          d S t          dd| i|¬¦  «        }t          j        |j        ¦  «        }t          |¦  «        �rp|                     d¦  «        j        }	 t          j
        t          |                     d¦  «        |                     d¦  «        ¦  «        ¦  «                             ¦   «         }t          j        |                      d¦  «        t          z   |                     d¦  «        z   ¦  «                             ¦   «         }	nç# t           $ rÚ t          j
        t          |                     d¦  «        |                     d¦  «        ¦  «                             d¦  «        ¦  «                             ¦   «         }t          j        |                      d¦  «        t                               d¦  «        z   |                     d¦  «        z   ¦  «                             ¦   «         }	Y nw xY wt          d| ||	d	d
œ|¬¦  «        }t          j        |j        ¦  «        }t          |¦  «        r2|                     d¦  «        j        }
|                     d|
¦  «         |
S  ||                      d¦  «        |                     d¦  «        d¬¦  «         |r|                     ¦   «          nJ ||                      d¦  «        |                     d¦  «        d¬¦  «         |r|                     ¦   «          d S )NÚ i•u  i”u  r   Úusername_or_email©r+   zutf-8r   é   )r6   ÚpasswordÚdigestÚkeep_logged_inÚtokeniÍu  ÚnameÚerror©Úicon)ÚgetLocalizedStringÚopenSettingsr    ÚETÚ
fromstringÚcontentr3   r0   r1   ÚhashlibÚsha1r   ÚencodeÚ	hexdigestÚmd5ÚREALMÚ	TypeErrorÚ
setSettingÚgetAddonInfo)Úusernamer9   ÚaddonÚpopinfoÚopen_settings_on_failr,   r2   r   Úencrypted_passÚpass_digestr<   s              r   r   r   B   s,  € Ø�2‚~€~˜ Rš˜Øˆ�×(Ò(¨Ñ/Ô/°×1IÒ1IÈ%Ñ1PÔ1PÑQÔQÐQØ ð 	!Ø×ÒÑ Ô Ð ØˆtÝ˜Ð!4°hÐ ?ÐUZÐ[Ñ[Ô[€HÝ
Œ-˜Ô(Ñ
)Ô
)€CÝˆS�z„zñ !Ø�xŠx˜ÑÔÔ$ˆð	EÝ$œ\­(°8·?²?À7Ñ3KÔ3KÈTÏ[Ê[ÐY`ÑMaÔMaÑ*bÔ*bÑcÔc×mÒmÑoÔoˆNÝ!œ+ h§o¢o°gÑ&>Ô&>ÅÑ&FÈ×I^ÒI^Ð_fÑIgÔIgÑ&gÑhÔh×rÒrÑtÔtˆKˆKøÝð 	Eð 	Eð 	EÝ$œ\­(°8·?²?À7Ñ3KÔ3KÈTÏ[Ê[ÐY`ÑMaÔMaÑ*bÔ*b×*iÒ*iÐjqÑ*rÔ*rÑsÔs×}Ò}ÑÔˆNÝ!œ+ h§o¢o°gÑ&>Ô&>ÅÇÂÈgÑAVÔAVÑ&VÐYg×YnÒYnÐovÑYwÔYwÑ&wÑxÔx÷  Cò  Cñ  Eô  EˆKˆKˆKð	Eøøøõ ˜G¸8ÐQ_Ðkvð  KLð  &Mð  &Mð  chð  iñ  iô  iˆÝŒm˜HÔ,Ñ-Ô-ˆÝ�‰:Œ:ð 	%Ø—H’H˜WÑ%Ô%Ô*ˆEØ×Ò˜W eÑ,Ô,Ð,ØˆLàˆG�E×,Ò,¨UÑ3Ô3°U×5GÒ5GÈÑ5OÔ5OÐV]Ð^Ñ^Ô^Ð^Ø$ð %Ø×"Ò"Ñ$Ô$Ð$øàˆ�×(Ò(¨Ñ/Ô/°×1CÒ1CÀFÑ1KÔ1KÐRYÐZÑZÔZÐZØ ð 	!Ø×ÒÑ Ô Ð Øˆ4s   Â/B1E! Å!C!IÉIc                 ód  — |                       d¦  «        }t          |¦  «        dk    rNt          |                       d¦  «        |                       d¦  «        | |d¬¦  «        }|rt          | |¦  «        S d S t	          dd|i| ¬	¦  «        }t          j        |j        ¦  «        }t          |¦  «        r±| 	                    d
¦  «        j
        }|dk    r�| 	                    d¦  «        �.| 	                    d¦  «        j
        pd                     ¦   «         nd}|                      d¦  «                             |¬¦  «        } |||                      d¦  «        d¬¦  «         |S t          |                       d¦  «        |                       d¦  «        | |d¬¦  «        }|rt          | |¦  «        S d S )Nr<   r   ÚwsuserÚwspassF)rR   r   Úwstr7   ÚvipÚ1rO   r5   é³}  ©r=   r=   Úwarningr?   )Ú
getSettingr   r   Ú
revalidater    rC   rD   rE   r3   r0   r1   ÚstriprA   ÚformatrN   )rP   rQ   r<   r,   r2   rY   rO   Únon_vip_texts           r   r_   r_   b   sª  € Ø×Ò˜WÑ%Ô%€EÝ
ˆ5�z„z�Q‚€Ý�e×&Ò& xÑ0Ô0°%×2BÒ2BÀ8Ñ2LÔ2LÈeÐU\ÐtyÐzÑzÔzˆØð 	.Ý˜e WÑ-Ô-Ð-Øˆtå˜K¨5°%Ð)9ÈuÐUÑUÔUˆÝŒm˜HÔ,Ñ-Ô-ˆÝ�‰:Œ:ð 
	2Ø—(’(˜5‘/”/Ô&ˆCØ�cŠzˆzØHKÏÊÐQ[ÑH\ÔH\ÐHh˜CŸHšH ZÑ0Ô0Ô5Ð;¸×BÒBÑDÔDÐDÐnp�Ø$×7Ò7¸Ñ>Ô>×EÒEÈ8ÐEÑTÔT�Ø�˜ e×&8Ò&8¸Ñ&@Ô&@ÀyÐQÑQÔQÐQØˆLå˜%×*Ò*¨8Ñ4Ô4°e×6FÒ6FÀxÑ6PÔ6PÐRWÐY`Ðx}Ð~Ñ~Ô~ˆEØð 2Ý! %¨Ñ1Ô1Ð1Øˆ4r   c                 óž  — |p|                       d¦  «        }|sdS 	 t          dd|i| ¬¦  «        }t          j        |j        ¦  «        }t          |¦  «        sdS d„ |D ¦   «         }	 t          j        d|                     dd	¦  «        ¦  «        }|r| 	                    d
¦  «        |d<   n# t          $ r Y nw xY w|S # t          $ r Y dS w xY w)up   NaÄ�te detailnÃ­ informace o ÃºÄ�tu z Webshare API.

    VracÃ­ slovnÃ­k {tag: text} nebo None pÅ™i chybÄ›.
    r<   Nr   rX   r7   c                 óP   — i | ]#}|j         |j        pd                      ¦   «         “Œ$S )r5   )Útagr1   r`   )Ú.0Úes     r   ú
<dictcomp>z!get_user_info.<locals>.<dictcomp>‡   s.   € Ð;Ð;Ð;°!�”˜œ˜ "×+Ò+Ñ-Ô-Ð;Ð;Ð;r   z(\d{4}-\d{2}-\d{2})Ú	vip_untilr5   r8   )r^   r    rC   rD   rE   r3   ÚreÚsearchÚgetÚgroupr)   )rP   rQ   r!   r<   r,   r2   Úinfor   s           r   Úget_user_inforo   z   s  € ð
 Ð7˜e×.Ò.¨wÑ7Ô7€EØð ØˆtðÝ˜K¨%°¨ÈUÐSÑSÔSˆÝŒm˜HÔ,Ñ-Ô-ˆÝ�S‰zŒzð 	Ø�4Ø;Ð;°sÐ;Ñ;Ô;ˆð	Ý”	Ð0°$·(²(¸;ÈÑ2KÔ2KÑLÔLˆAØð /Ø$%§G¢G¨A¡J¤J��[Ñ!øøÝð 	ð 	ð 	ØˆDð	øøøàˆøÝð ð ð Øˆtˆtðøøøs<   �<B> ÁB> Á(AB, Â+B> Â,
B9Â6B> Â8B9Â9B> Â>
CÃCc                 óè  — 	 |pd                      ¦   «         }|pd                      ¦   «         }t          j        d|› d|› d�t          j        ¬¦  «         |dk    r¼|rº|                      ¦   «         dz   dd	…         }t	          |¦  «        d	k    r|d
         dk    r|d         dk    s(t          j        d|z   dz   t          j        ¬¦  «         dS t          |¦  «        }t          j                             ¦   «         }||z
  j	        }|dk     rd}d|› �}	|	dfS t          j        dt          j        ¬¦  «         dS # t          $ r.}
t          j        d|
› �t          j        ¬¦  «         Y d}
~
dS d}
~
ww xY w)uÉ   SestavÃ­ lokalizovanÃ½ text VIP expirace.
    VracÃ­ (text, is_valid) kde is_valid znaÄ�Ã­, zda obsahuje platnÃ© datum a vÃ½poÄ�et dnÅ¯.
    FormÃ¡t: "ZbÃ½vÃ¡ dnÅ¯: {poÄ�et}" (sjednoceno s KRA.sk)
    r5   z3[plugin.video.milionar] _build_vip_text: raw_flag='z', raw_until='ú'©ÚlevelrZ   z
          Nr   r	   r   r   z?[plugin.video.milionar] _build_vip_text: date_part invalid -> ')u   ZbÃ½vÃ¡ dnÅ¯: N/AFr   õ   ZbÃ½vÃ¡ dnÅ¯: TzK[plugin.video.milionar] _build_vip_text: invalid inputs, returning fallbackz3[plugin.video.milionar] _build_vip_text: exception )r`   ÚxbmcÚlogÚLOGINFOr   r   r   r   ÚtodayÚdaysr)   )rP   Úvip_flagÚvip_until_valueÚraw_flagÚ	raw_untilÚ	date_partÚdtrx   Údiffr1   rg   s              r   Ú_build_vip_textr�   “   sÅ  € ð
*Ø�N ×)Ò)Ñ+Ô+ˆØ$Ð*¨×1Ò1Ñ3Ô3ˆ	ÝŒÐkÀxÐkÐkÐ_hÐkÐkÐkÕswÔsð  	Añ  	Aô  	Að  	AØ�sŠ?ˆ?˜yˆ?à"ŸšÑ*Ô*¨\Ñ9¸3¸B¸3Ô?ˆIå˜	‘N”N bÒ(Ð(¨Y°q¬\¸SÒ-@Ð-@ÀYÈqÄ\ÐUXÒEXÐEXÝ”ÐZÐ]fÑfÐilÑlÕtxô  uAð  Bñ  Bô  Bð  BØ1Ð1å  Ñ+Ô+ˆBÝÔ$×*Ò*Ñ,Ô,ˆEØ˜‘JÔ$ˆDØ�aŠxˆxØ�à* DÐ*Ð*ˆDØ˜�:ÐåŒHÐbÕjnÔjvÐwÑwÔwÐwØ-Ð-øÝð *ð *ð *ÝŒÐJÀqÐJÐJÕRVÔR^Ð_Ñ_Ô_Ð_Ø)Ð)Ð)Ð)Ð)Ð)øøøøð*øøøs%   ‚CD9 ÃAD9 Ä D9 Ä9
E1Å#E,Å,E1r5   c                 óˆ  — |p|                       d¦  «        }|s&t          j        d|› d�t          j        ¬¦  «         dS |                       d¦  «        pd}t	          dd	¦  «        D �]6}	t          | d
„ |¬¦  «        pi }
|
                     d¦  «        pd                     ¦   «         }|
                     d¦  «        pd                     ¦   «         }t          j        d|› d|	› d|› d|› d�	t          j        ¬¦  «         |dk    �rc|
                     d¦  «        pd                     ¦   «         }|sˆ	 t          dd|i| ¬¦  «        }t          j
        |j        ¦  «        }|�C|                     d¦  «        �.|                     d¦  «        j        pd                     ¦   «         nd}n# t          $ r d}Y nw xY w|                      d¦  «                             |¬¦  «        }|                      d|¦  «         |rFt%          j        ¦   «                              |                      d¦  «        |t$          j        d¦  «         t          j        d|› d|› �t          j        ¬¦  «          dS t/          | ||¦  «        \  }}t          j        d|› d|	› d|› d|› d�	t          j        ¬¦  «         |�r!|                      d|¦  «         |�rU	 t1          |                       d ¦  «        pd!¦  «        }n# t          $ r d"}Y nw xY w	 |                     d#¦  «        d$                              d%¦  «        d$         }t5          |¦  «        }t6          j                             ¦   «         }||z
  j        }|d$k     rd$}|d$k    r’||k    rŒ|› d%|                      d&¦  «        › �}|                      d'¦  «        }|                     ||¬(¦  «        }t%          j        ¦   «                              |                      d¦  «        |t$          j        d)¦  «         n# t          $ r Y nw xY w|rˆ|r|› |› �}n9|
r)|
                     d¦  «        pd                     ¦   «         nd}|rd*|› d+|› �n|}t%          j        ¦   «                              |                      d¦  «        |t$          j        d)¦  «         t          j        d|› d,|› �t          j        ¬¦  «          dS |dk    �rµ|�r²	 |                     d#¦  «        d$                              d%¦  «        d$         }t5          |¦  «        }t6          j                             ¦   «         }||z
  j        }|d$k     rd$}|› d%|                      d&¦  «        › �}|                      d-¦  «        › d%|› d+|                      d.¦  «        › d%|› �}|                      d|¦  «         |râ	 t1          |                       d ¦  «        pd!¦  «        }n# t          $ r d"}Y nw xY w	 |d$k    r’||k    rŒ|› d%|                      d&¦  «        › �}|                      d'¦  «        }|                     ||¬(¦  «        }t%          j        ¦   «                              |                      d¦  «        |t$          j        d)¦  «         n# t          $ r Y nw xY w|rŒ|r|› d/|› �}n<|
r)|
                     d¦  «        pd                     ¦   «         nd}|rd*|› d0|› �nd/|› �}t%          j        ¦   «                              |                      d¦  «        |t$          j        d)¦  «         t          j        d|› d1|	› d2|› �t          j        ¬¦  «          dS # t          $ r0}t          j        d|› d3|› �t          j        ¬¦  «         Y d}~nd}~ww xY wt          j         d4¦  «         �Œ8|s}t/          | dd¦  «        \  } }!|                      d| ¦  «         |rQ|r|› | › �}n| }t%          j        ¦   «                              |                      d¦  «        |t$          j        d)¦  «         t          j        d|› d5�t          j        ¬¦  «         dS )6u  JednotnÃ¡ funkce pro naÄ�tenÃ­ a uloÅ¾enÃ­ VIP expirace.

    - PouÅ¾Ã­vÃ¡ retry (3x) s krÃ¡tkou prodlevou, protoÅ¾e Webshare mÅ¯Å¾e bezprostÅ™ednÄ› po loginu vracet prÃ¡zdnÃ© `vip_until`.
    - UloÅ¾Ã­ `webshare_vip_info` a volitelnÄ› zobrazÃ­ notifikaci.
    - Loguje prÅ¯bÄ›h.
    r<   z$[plugin.video.milionar] VIP refresh(z): missing tokenrr   FÚwebshare_vip_infor5   r8   r	   c                  ó   — d S ©N© )ÚaÚks     r   ú<lambda>z"refresh_vip_info.<locals>.<lambda>Á   s   € °D€ r   )r!   rY   ri   z
) attempt z: vip=z, vip_until='rq   rZ   rO   r   rX   r7   Nr[   r\   r=   i   z) non-vip: Tz: is_valid=z, text='Úwebshare_vip_warn_daysÚ7r   ÚTr   ú i±}  iµ}  )r   Ú	remainingiˆ  u   PÅ™ihlÃ¡Å¡en: z, z) success: i®}  i¯}  rt   u   , ZbÃ½vÃ¡ dnÅ¯: z) forced set on attempt z: z) forced parse error: i�  z) finished without valid date)!r^   ru   rv   rw   Úrangero   rl   r`   r    rC   rD   rE   r0   r1   r)   rA   ra   rM   ÚxbmcguiÚDialogÚnotificationrN   ÚNOTIFICATION_INFOr�   r   Úsplitr   r   r   rx   ry   ÚNOTIFICATION_WARNINGÚsleep)"rP   r!   r"   r#   Únotification_prefixÚlogin_usernameÚshow_warningr<   Ú	last_textÚattemptrn   rz   ri   rO   ÚpreÚpre_xmlrb   r1   Úis_validÚ	warn_daysr~   r   rx   Ú	diff_daysÚremaining_textÚwarn_templateÚ	warn_textÚ
notif_textr€   Údays_displayÚforced_textrg   ÚfallbackÚ_s"                                     r   r(   r(   ³   s
  € ð Ð7˜e×.Ò.¨wÑ7Ô7€EØð ÝŒÐU¸ÐUÐUÐUÕ]aÔ]iÐjÑjÔjÐjØˆuà× Ò Ð!4Ñ5Ô5Ð;¸€IÝ˜˜A‘;”;ð añ aˆÝ˜UÐ$8Ð$8ÈÐOÑOÔOÐUÐSUˆØ—H’H˜U‘O”OÐ) r×0Ò0Ñ2Ô2ˆØ—X’X˜kÑ*Ô*Ð0¨b×7Ò7Ñ9Ô9ˆ	ÝŒð  B¸ð  Bð  BÈwð  Bð  BÐ^fð  Bð  BÐu~ð  Bð  Bð  Bõ  JNô  JVð  	Wñ  	Wô  	Wð  	Wà�sŠ?‰?àŸš Ñ,Ô,Ð2°×9Ò9Ñ;Ô;ˆHØð "ð"Ý" ;°¸°ÐTYÐZÑZÔZ�CÝ œm¨C¬KÑ8Ô8�GØPWÐPcÐho×htÒhtÐuñ  iAô  iAð  iM §¢¨ZÑ 8Ô 8Ô =Ð CÀ×JÒJÑLÔLÐLð  SU�H�HøÝ ð "ð "ð "Ø!�H�H�Hð"øøøà ×3Ò3°EÑ:Ô:×AÒAÀxÐAÑPÔPˆLØ×ÒÐ0°,Ñ?Ô?Ð?Ø ð yå”Ñ Ô ×-Ò-¨e×.@Ò.@ÀÑ.HÔ.HÈ,ÕX_ÔXqÐswÑxÔxÐxÝŒHÐb¸KÐbÐbÐT`ÐbÐbÕjnÔjvÐwÑwÔwÐwØ�4�4Ý(¨°¸)ÑDÔD‰ˆˆhÝŒÐ|¸Ð|Ð|ÈwÐ|Ð|ÐckÐ|Ð|ÐuyÐ|Ð|Ð|õ  EIô  EQð  	Rñ  	Rô  	Rð  	RØñ  	Ø×ÒÐ0°$Ñ7Ô7Ð7àñ ð"Ý # E×$4Ò$4Ð5MÑ$NÔ$NÐ$UÐRUÑ VÔ V�I�IøÝ ð "ð "ð "Ø !�I�I�Ið"øøøðØ )§¢°Ñ 4Ô 4°QÔ 7× =Ò =¸cÑ BÔ BÀ1Ô E�IÝ(¨Ñ3Ô3�BÝ'Ô,×2Ò2Ñ4Ô4�EØ!# e¡Ô 1�IØ  1’}�}Ø$%˜	Ø  1’}�}¨°iÒ)?Ð)?Ø,5Ð)YÐ)Y¸×8PÒ8PÐQVÑ8WÔ8WÐ)YÐ)Y˜Ø(-×(@Ò(@ÀÑ(GÔ(G˜Ø$1×$8Ò$8¸iÐSaÐ$8Ñ$bÔ$b˜	ÝœÑ(Ô(×5Ò5°e×6HÒ6HÈÑ6PÔ6PÐR[Õ]dÔ]yÐ{ñ  Aô  Að  AøøÝ ð ð ð Ø�Dðøøøà ð wà&ð [Ø$7Ð!?¸Ð!?Ð!?�J�Jð HLÐS §¢¨Ñ 4Ô 4Ð :¸×AÒAÑCÔCÐCÐQS�HØHPÐ!ZÐ!D°(Ð!DÐ!D¸dÐ!DÐ!DÐ!DÐVZ�JÝ”Ñ Ô ×-Ò-¨e×.@Ò.@ÀÑ.HÔ.HÈ*ÕV]ÔVoÐquÑvÔvÐvÝŒHÐZ¸KÐZÐZÐTXÐZÐZÕbfÔbnÐoÑoÔoÐoØ�4�4à�sŠ?‰?˜y‰?ð#|Ø%ŸOšO¨CÑ0Ô0°Ô3×9Ò9¸#Ñ>Ô>¸qÔA�	Ý$ YÑ/Ô/�Ý#Ô(×.Ò.Ñ0Ô0�Ø˜U™
Ô(�Ø˜!’8�8Ø�DØ"&ÐJÐJ¨×)AÒ)AÀ%Ñ)HÔ)HÐJÐJ�Ø!&×!9Ò!9¸%Ñ!@Ô!@ð  Að  AÀ9ð  Að  AÐPU×PhÒPhÐinÑPoÔPoð  Að  AÐr~ð  Að  A�Ø× Ò Ð!4°kÑBÔBÐBàð ð&Ý$'¨×(8Ò(8Ð9QÑ(RÔ(RÐ(YÐVYÑ$ZÔ$Z˜	˜	øÝ$ð &ð &ð &Ø$%˜	˜	˜	ð&øøøðØ$ qš=˜=¨T°YÒ->Ð->Ø04Ð-XÐ-X°u×7OÒ7OÐPUÑ7VÔ7VÐ-XÐ-X˜NØ,1×,DÒ,DÀUÑ,KÔ,K˜MØ(5×(<Ò(<À)ÐWeÐ(<Ñ(fÔ(f˜IÝ#œNÑ,Ô,×9Ò9¸%×:LÒ:LÈVÑ:TÔ:TÐV_ÕahÔa}ð  @Dñ  Eô  Eð  EøøÝ$ð ð ð Ø˜ðøøøà$ð {à*ð @Ø(;Ð%QÐ%QÈ4Ð%QÐ%Q˜
˜
àKOÐ#W D§H¢H¨ZÑ$8Ô$8Ð$>¸B×#EÒ#EÑ#GÔ#GÐ#GÐUW˜ØZbÐ%Ð%V°hÐ%VÐ%VÐPTÐ%VÐ%VÐ%VÐhÐy}ÐhÐh˜
Ý”NÑ$Ô$×1Ò1°%×2DÒ2DÀVÑ2LÔ2LÈjÕZaÔZsÐuyÑzÔzÐzÝ”Ð}ÀÐ}Ð}ÐelÐ}Ð}Ðp{Ð}Ð}õ  FJô  FRð  Sñ  Sô  Sð  SØ�t�tøÝð |ð |ð |Ý”ÐfÀÐfÐfÐcdÐfÐfÕnrÔnzÐ{Ñ{Ô{Ð{Ð{Ð{Ð{Ð{Ð{øøøøð|øøøõ 	Œ
�3‰Œˆ‰ð ð 	sÝ% e¨T°4Ñ8Ô8‰ˆ�!Ø×ÒÐ,¨hÑ7Ô7Ð7Øð 	sà"ð &Ø 3Ð?°XÐ?Ð?�
�
à%�
ÝŒNÑÔ×)Ò)¨%×*<Ò*<¸VÑ*DÔ*DÀjÕRYÔRkÐmqÑrÔrÐrÝ„HÐ^°KÐ^Ð^Ð^ÕfjÔfrÐsÑsÔsÐsØˆ5s›   Ä1A4F&Æ&F5Æ4F5Ë$K+Ë+K:Ë9K:Ë>DP
Ð

PÐPÓC]Ö1$W×]×W%×"]×$W%×%]×)BZÚ]Ú
ZÚ]ÚZÚB:]Ý
^Ý&^Þ^c                 óD  — t          d| |dœt          j        ¦   «         ¬¦  «        }t          j        |j        ¦  «        }t          |¦  «        s@t          d| |ddœt          j        ¦   «         ¬¦  «        }t          j        |j        ¦  «        }t          |¦  «        r|S d S )NÚ	file_info)ÚidentrX   r7   Útrue)r«   rX   Úmaybe_removed)r    Ú	xbmcaddonÚAddonrC   rD   rE   r3   )r«   rX   r,   r2   s       r   Úgetinfor°   2  s°   € Ý˜¨u¸SÐ%AÐ%AÕW`ÔWfÑWhÔWhÐiÑiÔi€HÝ
Œ-˜Ô(Ñ
)Ô
)€CÝ�‰:Œ:ð .Ý˜K°5ÀÐW]Ð)^Ð)^Õt}ô  uDñ  uFô  uFð  Gñ  Gô  GˆÝŒm˜HÔ,Ñ-Ô-ˆÝˆS�z„zð Øˆ
Øˆ4r   Úvideo_streamc                 ón  — |r|                      d¦  «        nd }|r8|s6t          t          j        ¦   «         ¦  «        }|                     d|¦  «         | ||dœ}|r||d<   t          d||¬¦  «        }t          j        |j        ¦  «        }t          |¦  «        r| 
                    d¦  «        j        S d S )NÚduuid)r«   rX   Údownload_typeÚdevice_uuidÚ	file_linkr7   Úlink)r^   ÚstrÚuuidÚuuid4rM   r    rC   rD   rE   r3   r0   r1   )r«   rX   ÚdtyperP   r³   r   r,   r2   s           r   Úgetlinkr¼   =  sÆ   € Ø).Ð8ˆE×Ò˜WÑ%Ô%Ð%°D€EØð )�Uð )Ý•D”J‘L”LÑ!Ô!ˆØ×Ò˜ %Ñ(Ô(Ð(Ø 3¸Ð?Ð?€DØð $Ø#ˆˆ]ÑÝ˜ T¸uÐEÑEÔE€HÝ
Œ-˜Ô(Ñ
)Ô
)€CÝˆS�z„zð %Ø�xŠx˜ÑÔÔ$Ð$Øˆ4r   c                 óˆ  — t          j        |¦  «        s+|s't          j        |dt	          j        ¦   «         ¦  «         dS t          |t          j        ¦  «        }|s+|s't          j        |dt	          j        ¦   «         ¦  «         dS 	 t          ||ddd¬¦  «         n# t          $ r Y nw xY wt          | |d|¬¦  «        }|��™|                     d|¦  «        }|                     d	d
¦  «        }	|                     dd
¦  «        }
|                     dd
¦  «        }|                     dd
¦  «        }t	          j        ||¬¦  «        }i }|
r|                     |
|
|
dœ¦  «         |r||d<   |r|                     |¦  «         |                     ¦   «         }|                     |¦  «         |                     |	¦  «         |r+	 |                     t'          |¦  «        ¦  «         n#  Y nxY w|                     dd¦  «         |                     dd¦  «         |r)t+          j        ¦   «                              ||¦  «         dS t          j        |d|¦  «         dS |s't          j        |dt	          j        ¦   «         ¦  «         t          j        |                     d¦  «        |                     d¦  «        d¬¦  «         dS )u    
    VyÅ™eÅ¡Ã­ hratelnou poloÅ¾ku - buÄ� zavolÃ¡ setResolvedUrl (pro plugin directory),
    nebo pÅ™Ã­mo spustÃ­ pÅ™ehrÃ¡vaÄ� (pro skripty/isFolder=False).
    FNÚplaybackT)r!   r"   r#   r™   r±   )r»   rP   Ú
tmdb_titleÚ	tmdb_plotr5   Ú
tmdb_thumbÚtmdb_fanartÚ	tmdb_year)ÚlabelÚpath)Úthumbr@   ÚposterÚfanartÚmimetypezapplication/octet-streamÚ
IsPlayabler¬   iÎu  r=   r>   r?   )r   Úcheck_providers_and_promptÚ
xbmcpluginÚsetResolvedUrlr�   ÚListItemr_   ÚuirQ   r(   r)   r¼   rl   ÚupdateÚsetArtÚgetVideoInfoTagÚsetTitleÚsetPlotÚsetYearr   ÚsetPropertyru   ÚPlayerÚplayrA   rN   )r«   r=   rP   ÚparamsÚhandleÚ
use_playerr<   r·   ÚtitleÚplotrÆ   ÚbackdropÚyearÚlistitemÚartÚinfo_tags                   r   Úresolve_playable_itemrã   M  s   € õ Ô/°Ñ6Ô6ð Øð 	IÝÔ% f¨eµWÔ5EÑ5GÔ5GÑHÔHÐHØˆõ �u�bœjÑ)Ô)€EØð ð ð 	IÝÔ% f¨eµWÔ5EÑ5GÔ5GÑHÔHÐHØˆðÝ˜¨uÈÐ[eÐtxÐyÑyÔyÐyÐyøÝð ð ð Øˆðøøøõ �5˜% ~¸UÐCÑCÔC€DàÑà—
’
˜<¨Ñ.Ô.ˆØ�zŠz˜+ rÑ*Ô*ˆØ—
’
˜<¨Ñ,Ô,ˆØ—:’:˜m¨RÑ0Ô0ˆØ�zŠz˜+ rÑ*Ô*ˆåÔ#¨%°dÐ;Ñ;Ô;ˆð ˆØð 	IØ�JŠJ °ÀÐGÐGÑHÔHÐHØð 	%Ø$ˆC�‰MØð 	!Ø�OŠO˜CÑ Ô Ð ð ×+Ò+Ñ-Ô-ˆØ×Ò˜%Ñ Ô Ð Ø×Ò˜ÑÔÐØð 	ðØ× Ò ¥ T¡¤Ñ+Ô+Ð+Ð+øðØ�øøøà×Ò˜ZÐ)CÑDÔDÐDØ×Ò˜\¨6Ñ2Ô2Ð2àð 	>åŒK‰MŒM×Ò˜t XÑ.Ô.Ð.Ð.Ð.õ Ô% f¨d°HÑ=Ô=Ð=Ð=Ð=àð 	IÝÔ% f¨eµWÔ5EÑ5GÔ5GÑHÔHÐHÝ
Œ
�5×+Ò+¨EÑ2Ô2°E×4FÒ4FÀvÑ4NÔ4NÐU\Ð]Ñ]Ô]Ð]Ð]Ð]s   ÂB Â
B*Â)B*Ç"G& Ç&G*r…   )T)NFr5   NNF)r±   N)F)(ÚrequestsÚ	xml.etreer   rC   rF   r   r¹   r�   rÌ   Úwcs.uir   rÏ   Úwcsr   ru   Údatetimer   rj   r®   r   ÚBASEr&   ÚUAÚHEADERSrK   ÚSessionr$   ÚheadersrÐ   r'   r    r3   r   r_   ro   r�   r(   r°   r¼   rã   r†   r   r   ú<module>rî      sÜ  ðð €€€Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø €€€Ø Ð Ð Ð Ð Ð Ø €€€Ø €€€Ø Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø €€€Ø Ð Ð Ð Ø 	€	€	€	Ø Ð Ð Ð ð%ð %ð %ð €Ø
ˆW�n€Øz€Ø¨Ð
-Ð
-€Ø€àˆ8ÔÑÔ€Ø Ô × Ò ˜Ñ  Ô  Ð  Ø€ðð ð ð ð(ð ð ð
ð ð ð ð@ð ð ð0ð ð ð ð2*ð *ð *ð@|ð |ð |ð |ð~ð ð ðð ð ð ð F^ð F^ð F^ð F^ð F^ð F^r   