Ë
    _6ØjÜ
  ã                   óà   — d dl Z d dlmZ d dlZe j                  j                  dd¬«        ee«      j                  «       j                  j                  Z	e	dz  dz  Z
dd„Zd	„ Zd
„ Zd„ Zdd„Zy)é    N)ÚPathzutf-8Úbackslashreplace)ÚencodingÚerrorsÚArchivoszpose_scene_affinity.yamlc                 ó°  — | �t        | «      nt        }	 t        j                  |j	                  d¬«      «      }t        |t        «      rt        |j                  d«      t        «      s"t        d|z  t        j                  ¬«       di iS |S # t
        t        j                  f$ r/}t        d|›d|›�t        j                  ¬«       di icY d }~S d }~ww xY w)Nz	utf-8-sig)r   zAVISO: no se pudo leer z: )ÚfileÚposesz$AVISO: %s no contiene 'poses' valido)r   ÚAFFINITY_FILEÚyamlÚ	safe_loadÚ	read_textÚOSErrorÚ	YAMLErrorÚprintÚsysÚstderrÚ
isinstanceÚdictÚget)ÚpathÚtargetÚdataÚexcs       úEngine/pose_scene.pyÚload_affinityr      s¬   € ØÐ+ŒT�$ŒZ´€FðÜ�~‰~˜f×.Ñ.¸Ð.ÓDÓEˆô �dœDÔ!¬°D·H±H¸WÓ4EÄtÔ)LÜÐ4°vÑ=ÄCÇJÁJÕOØ˜ˆ}ÐØ€Køô ”T—^‘^Ð$ò Ý²¹Ð=ÄCÇJÁJÕOØ˜ˆ}Õûðús   •%B ÂCÂ&$CÃ
CÃCc                 óÜ   — t        | xs d«      j                  d«      D �ch c]@  }|j                  «       r.|j                  «       j                  dd«      j	                  «       ’ŒB c}S c c}w )NÚ Ú,Ú_Ú )ÚstrÚsplitÚstripÚreplaceÚlower)ÚlineÚparts     r   Ú_tagsr)      sb   € ä˜DšJ B›×-Ñ-¨cÔ2óDÙ2�°d·j±j´lð �J‰J‹L× Ñ   cÓ*×0Ñ0Õ2Ø2ñDð Dùò Ds   ¡AA)c                 ó  — | j                  |«      }t        |t        «      sg S |D �cg c]R  }t        |«      j	                  «       r7t        |«      j	                  «       j                  dd«      j                  «       ‘ŒT c}S c c}w )Nr    r!   )r   r   Úlistr"   r$   r%   r&   )ÚruleÚkeyÚvaluesÚvalues       r   Ú
_rule_tagsr0      su   € Ø�X‰X�c‹]€FÜ�fœdÔ#Øˆ	áó7Ù�¤3 u£:×#3Ñ#3Ô#5ô �‹J×ÑÓ×&Ñ& s¨CÓ0×6Ñ6Õ8Øñ7ð 7ùò 7s   ¨ABc                 óD   — || v ry| D ]  }||j                  «       v sŒ y y)NTF)r#   )Ú
scene_tagsÚwantedÚtags      r   Ú_has_tagr5   &   s-   € Ø�ÑØÛˆØ�S—Y‘Y“[Ò Ùð ð ó    c           
      óÌ  ‡— |€
t        «       }t        |t        «      r|j                  d«      ni }t        |t        «      sg S |j	                  «       D ��ci c]?  \  }}t        |t        «      r*t        |«      j                  dd«      j                  «       |“ŒA }}}t        | «      }t        |«      Šg }t        |«      D �]  }	|j                  |	«      }
|
sŒt        |
d«      }|D �cg c]  }t        ‰|«      rŒ|‘Œ }}|r8|j                  |	›ddj                  |«      ›ddj                  |«      ›d�«       t        |
d	«      }|r9t        ˆfd
„|D «       «      s%|j                  |	›ddj                  |«      ›�«       t        |
d«      }|D �cg c]  }t        ‰|«      sŒ|‘Œ }}|sŒì|j                  |	›ddj                  |«      ›�«       �Œ |S c c}}w c c}w c c}w )Nr
   r    r!   Úrequiresz
 requiere z, z en la escena (falta: Ú)Úrequires_anyc              3   ó6   •K  — | ]  }t        ‰|«      –— Œ y ­w©N)r5   )Ú.0r4   r2   s     €r   Ú	<genexpr>z&validate_pose_scene.<locals>.<genexpr>D   s    øè ø€ ð $=Ù/;¨ô %-¨Z¸×$=Ù/;ùs   ƒz requiere soporte/entorno: Ú	conflictsz choca con la escena: )r   r   r   r   Úitemsr"   r%   r&   r)   Úsortedr0   r5   ÚappendÚjoinÚany)Ú	pose_lineÚ
scene_lineÚaffinityr
   r-   r/   ÚrulesÚ	pose_tagsÚwarningsÚpose_tagr,   r8   r4   Úmissingr:   r?   Úfoundr2   s                    @r   Úvalidate_pose_scenerN   /   sÈ  ø€ ØÐÜ “?ˆÜ%/°¼$Ô%?ˆH�L‰L˜Ô!ÀR€EÜ�eœTÔ"Øˆ	à$Ÿ{™{œ}ôIÙ,‘��e´
¸5Ä$Ô0Gô �‹X×Ñ˜c 3Ó'×-Ñ-Ó/°Ñ6Ø,ð 
ñ Iä�iÓ €IÜ�zÓ"€JØ€HÜ˜9×%ˆØ�y‰y˜Ó"ˆÙØÜ˜d JÓ/ˆÙ"*ÓL¡(˜3´(¸:ÀsÕ2K’3 (ˆÐLÙØ�O‰OÚ% t§y¡y°Õ':¸D¿I¹IÀgÕ<NðPô Qä! $¨Ó7ˆÙ¤ó $=Ù/;ó$=ô !=à�O‰OÚ% t§y¡y°Ô'>ð@ô Aä˜t [Ó1ˆ	Ù )ÓG¡	˜¬X°jÀ#Õ-F’ 	ˆÐGÚØ�O‰OÚ% t§y¡y°Ô'7ð9ö :ð# &ð& €Oùó1Iùò Mùò Hs   ÁAGÃ(GÃ:GÆG!Æ#G!r<   )r   Úpathlibr   r   ÚstdoutÚreconfigureÚ__file__ÚresolveÚparentÚBASE_DIRr   r   r)   r0   r5   rN   © r6   r   Ú<module>rW      sn   ðÛ 
Ý ã à ‡
�
× Ñ  Ð0BÐ Ô Cá�‹>×!Ñ!Ó#×*Ñ*×1Ñ1€Ø˜:Ñ%Ð(BÑB€ó
òDò
7òôr6   