Ë
    £èhSà  ã                  óh  — d dl mZ d dlmZmZmZmZmZm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mZ d dlmZmZmZmZmZ d d	lmZ d d
lmZ d dlmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z' d dl(m)Z) d dl*m+Z+ d dl,m-Z-m.Z. d dl/m0Z0 ddl1m2Z2m3Z3 ddl4m5Z5 ddl6m7Z7m8Z8 ddl9m:Z: ddl;m<Z< ddlm=Z= er2d dl>m?Z? d dl@mAZA d dlBmCZCmDZD d dlEmFZF d dlGmHZH d dlmIZI d dlJmKZK d dl(mLZL g d¢ZM ejœ                  d «      ZO ed!i d" ed#d$¬%«      “d& ed'«      “d( ed)«      “d* ed+d¬%«      “d, ed-e)j                   ¬%«      “d. ed/«      “d0 ed1ej¢                  ¬%«      “d2 ed3d¬%«      “d4 ed5d¬%«      “d6 ed7d8¬%«      “d9 ed:«      “d; ed<d=¬%«      “d> ed?d$¬%«      “d@ edA«      “dB edCd¬%«      “dD edEd¬%«      “dF edGd¬%«      “i dH edId$¬%«      “dJ edKe)j                   ¬%«      “dL edMd ¬%«      “dN edO«      “dP edQe)j                   ¬%«      “dR edSej¤                   eddd«      ¬T«      “dU edVd ¬%«      “dW edXd ¬%«      “dY edZd ¬%«      “d[ ed\d ej¦                  ¬]«      “d^ ed_d ej¦                  ¬]«      “d` edadej¦                  ¬]«      “db edcdej¦                  ¬]«      “dd eded ej¨                  ¬]«      “df edgdhej¨                  ¬]«      “di edjdhej¨                  ¬]«      “dk edld ejª                  ¬]«      “¥«      ZV eeV«      ZWdmZXdnZYdoZZdpZ[dqZ\drZ]dsZ^dtZ_duZ`	 	 	 	 	 	 d¶dv„Za edwdx«      Zb edydz«      Zce: G d{„ d|e7«      «       Zde: G d}„ d~ed«      «       Ze G d„ d€«      Zf G d�„ d‚«      Zg G dƒ„ d„«      Zh G d…„ d†«      Zi G d‡„ dˆ«      Zj ed‰i dŠ edad$¬%«      “d> ed+d$¬%«      “d‹ ed1d¬%«      “dŒ ed?d ¬%«      “d� ed)d$¬%«      “dŽ ed�d�¬%«      “d‘ ed7d�¬%«      “d* edCd¬%«      “d, ed-e)j                   ¬%«      “d. ed'«      “d0 edKd’¬%«      “d2 ed3d¬%«      “d“ ed<d”¬%«      “d4 ed5d¬%«      “d6 edVd8¬%«      “d• ed–d—¬%«      “d9 ed/«      “i d; ed˜d=¬%«      “d™ edpdš¬%«      “d@ ed:«      “dB edGd¬%«      “dF edId¬%«      “dH edXd ¬%«      “dD ed_d¬%«      “dJ edQe)j                   ¬%«      “d› edcd=¬%«      “dL edMd ¬%«      “dœ ed�d ¬%«      “dž edŸd=¬%«      “d  edZ«      “dN edA«      “dP ed¡e)j                   ¬%«      “d¢ ed£d¬%«      “d¤ ed¥d¬%«      “¥ ed¦d¬%«       ed\d¬%«       ed§d ¬%«       ed¨d ¬%«       ed©d¬%«       edld ¬%«       edªd ¬%«       ed«d¬¬%«       eded ¬%«       edgdh¬%«       edjdh¬%«       ed­d®¬¯«      d°œ¥«      Zk eek«      Zld±Zme: G d²„ d³e5«      «       Zn G d´„ dµe<en   «      Zoy)·é    )Úannotations)ÚTYPE_CHECKINGÚUnionÚOptionalÚIterableÚAnyÚIterator)ÚSelfN)Ú
namedtuple)Úconst)Ú
cast_value)ÚDXFAttrÚDXFAttributesÚDefSubclassÚXTypeÚgroup_code_mapping)ÚTags)ÚEXT_MAX_STR_LEN)	ÚVec3ÚNULLVECÚX_AXISÚY_AXISÚZ_AXISÚMatrix44ÚWCSTransformÚOCSTransformÚNonUniformScalingError)Úcolors)ÚProxyGraphicError)Úsafe_stringÚscale_mtext_inline_commands)Úsafe_handleé   )Ú
base_classÚSubclassProcessor)Ú	DXFObject)Ú
DXFGraphicÚacdb_entity)Úregister_entity)ÚObjectCollection)Údefault_copy)ÚAuditor)ÚDrawing)ÚDXFNamespaceÚ	DXFEntity)Ú
BaseLayout)ÚAbstractTagWriter)ÚDXFTag)ÚEntityQuery)Úxref)ÚMultiLeaderÚMLeaderÚMLeaderStyleÚMLeaderStyleCollectionÚMLeaderContextÚ	MTextDataÚ	BlockDataÚ
LeaderDataÚ
LeaderLineÚArrowHeadDataÚ
AttribDataÚezdxfÚAcDbMLeaderÚversioné  é   )ÚdefaultÚstyle_handleéT  Úproperty_override_flagséZ   Úleader_typeéª   Úleader_line_coloré[   Úleader_linetype_handleéU  Úleader_lineweighté«   Úhas_landingé"  Ú
has_doglegé#  Údogleg_lengthé)   é   Úarrow_head_handleéV  Úarrow_head_sizeé*   é   Úcontent_typeé¬   Útext_style_handleéW  Útext_left_attachment_typeé­   Útext_right_attachment_typeé_   Útext_angle_typeé®   Útext_alignment_typeé¯   Ú
text_coloré\   Úhas_text_frameé$  Úblock_record_handleéX  Úblock_coloré]   Úblock_scale_vectoré
   )ÚxtyperE   Úblock_rotationé+   Úblock_connection_typeé°   Úis_annotativeé%  Úis_text_direction_negativeé&  )rE   Ú
dxfversionÚtext_IPE_aligné²   Útext_attachment_pointé³   Úscaleé-   Útext_attachment_directioné  Útext_bottom_attachment_typeé  é	   Útext_top_attachment_typeé  Úleader_extend_to_texté'  zCONTEXT_DATA{zLEADER{zLEADER_LINE{i,  i-  é.  i/  é0  i1  c                óN   ‡‡— dˆˆfd„Št        | «      Š ‰t        ‰«      |«      S )Nc                ó€  •— | g}t        ‰«      } | j                  |k7  rŸ| j                  t        k(  r|j                   ‰| t        «      «       nT| j                  t
        k(  r0| j                  t        k(  r|j                   ‰| t        «      «       n|j                  | «       t        ‰«      } | j                  |k7  rŒŸ|S ©N)	ÚnextÚcodeÚSTART_LEADERÚappendÚ
END_LEADERÚSTART_LEADER_LINEÚvalueÚLEADER_LINE_STRÚEND_LEADER_LINE)ÚtagÚstopÚ	collectorÚbuild_structureÚtagss      €€ú6lib/python3.12/site-packages/ezdxf/entities/mleader.pyrž   z-compile_context_tags.<locals>.build_structureì   sœ   ø€ Ø�Eˆ	Ü�4‹jˆØ�h‰h˜$ÒØ�x‰xœ<Ò'Ø× Ñ ¡°´jÓ!AÕBð —‘Ô.Ò.°3·9±9ÄÒ3OØ× Ñ ¡°´oÓ!FÕGà× Ñ  Ô%Ü�t“*ˆCð �h‰h˜$Óð Ðó    )r›   r2   rœ   ÚintÚreturnúlist[Union[DXFTag, list]])Úiterr’   )ÚdataÚ	stop_coderž   rŸ   s     @@r    Úcompile_context_tagsr¨   é   s$   ù€ öô �‹:€DÙœ4 ›: yÓ1Ð1r¡   r>   zindex, handler?   zhandle, index, width, textc                  óz  ‡ — e Zd ZdZ eeee«      Ze	j                  Zdˆ fd„Zedd„«       Zdd„Zd d„Zedd„«       Zd!d„Zd"d„Zefd#d	„Z	 d$	 	 	 d%ˆ fd
„Zed&d„«       Zed'd„«       Zed(d„«       Zed)d„«       Zd*d„Zd+ˆ fd„Zd+d„Zd+d„Zd,ˆ fd„Z d-ˆ fd„Z!d.d„Z"d.d„Z#d/d„Z$d$d0d„Z%d/d„Z&d1d„Z'd2d„Z(d„ Z)ˆ xZ*S )3r5   ÚMULTILEADERc                ó\   •— t         ‰| �  «        t        «       | _        g | _        g | _        y r‘   )ÚsuperÚ__init__r9   ÚcontextÚarrow_headsÚblock_attribs)ÚselfÚ	__class__s    €r    r­   zMultiLeader.__init__	  s(   ø€ Ü‰ÑÔÜ%Ó'ˆŒØ02ˆÔØ/1ˆÕr¡   c                ó2   — | j                   j                  duS )z*``True`` if MULTILEADER has MTEXT content.N)r®   Úmtext©r±   s    r    Úhas_mtext_contentzMultiLeader.has_mtext_content  ó   € ð �|‰|×!Ñ!¨Ð-Ð-r¡   c                óL   — | j                   j                  }|�|j                  S y)zYGet MTEXT content as string, return "" if MULTILEADER has
        BLOCK content.
        Ú )r®   r´   Údefault_content)r±   r´   s     r    Úget_mtext_contentzMultiLeader.get_mtext_content  s(   € ð —‘×"Ñ"ˆØÐØ×(Ñ(Ð(Ør¡   c                ó`   — | j                   j                  }|�t        |t        «      |_        yy)z\Set MTEXT content as string, does nothing if MULTILEADER has
        BLOCK content.
        N)r®   r´   r    r   rº   )r±   Útextr´   s      r    Úset_mtext_contentzMultiLeader.set_mtext_content  s-   € ð —‘×"Ñ"ˆØÐÜ$/°´oÓ$FˆEÕ!ð r¡   c                ó2   — | j                   j                  duS )z*``True`` if MULTILEADER has BLOCK content.N)r®   Úblockrµ   s    r    Úhas_block_contentzMultiLeader.has_block_content%  r·   r¡   c                ó  — | j                   €J d«       ‚| j                   j                  }t        «       }| j                  D ]C  }|j	                  |j
                  «      }|€Œ!|j                  ||j                  j                  <   ŒE |S )zˆGet BLOCK attributes as dictionary of (tag, value) pairs.
        Returns an empty dictionary if MULTILEADER has MTEXT content.
        úvalid DXF document required)	ÚdocÚentitydbÚdictr°   ÚgetÚhandler½   Údxfr›   )r±   rÅ   rŸ   ÚattrÚattdefs        r    Úget_block_contentzMultiLeader.get_block_content*  su   € ð �x‰xÐ#ÐBÐ%BÓBÐ#Ø—8‘8×$Ñ$ˆÜ#›vˆØ×&Ô&ˆDØ—\‘\ $§+¡+Ó.ˆFØÑ!Ø'+§y¡y��V—Z‘Z—^‘^Ò$ð 'ð ˆr¡   c                ó€  — | j                   €J d«       ‚| j                   j                  }t        «       }| j                  }t	        |«      D ]p  \  }}|j                  |j                  «      }|€Œ$|j                  j                  }t        |j                  |«      t        «      }	|	€Œ\|j                  |	¬«      ||<   Œr |S )z{Set BLOCK attributes by a dictionary of (tag, value) pairs.
        Does nothing if MULTILEADER has MTEXT content.
        rÃ   )r½   )rÄ   rÅ   rÆ   r°   Ú	enumeraterÇ   rÈ   rÉ   r›   r    r   Ú_replace)
r±   ÚcontentrÅ   rŸ   r°   ÚindexrÊ   rË   r›   Únew_texts
             r    Úset_block_contentzMultiLeader.set_block_content7  sª   € ð �x‰xÐ#ÐBÐ%BÓBÐ#Ø—8‘8×$Ñ$ˆÜ#›vˆØ×*Ñ*ˆÜ$ ]Ö3‰KˆE�4Ø—\‘\ $§+¡+Ó.ˆFØÑ!Ø—j‘j—n‘n�Ü& w§{¡{°3Ó'7¼ÓI�ØÑ'Ø+/¯=©=¸h¨=Ó+G�M %Ò(ð 4ð ˆr¡   c                ó   — t        |t        «      sJ ‚t        j                  | j                  «      |_        t        j                  | j
                  «      |_        t        j                  | j                  «      |_        y)zCopy leadersN)Ú
isinstancer5   ÚcopyÚdeepcopyr®   r¯   r°   )r±   ÚentityÚcopy_strategys      r    Ú	copy_datazMultiLeader.copy_dataH  sT   € ä˜&¤+Ô.Ð.Ð.ÜŸ™ t§|¡|Ó4ˆŒÜ!Ÿ]™]¨4×+;Ñ+;Ó<ˆÔÜ#Ÿ}™}¨T×-?Ñ-?Ó@ˆÕr¡   c                óò  •— t         ‰| �  |«      }|€|S |j                  d«      }|r+| j                  |«      }|r;	 | j	                  |«      | _        n#t        j                  d|j                  › d�«      ‚| j                  |«      | _        | j                  |«      | _        |j                  |t         |d¬«       |S # t        j                  $ r& t        j                  d|j                  › d�«       Y Œw xY w)NrD   z/Context structure error in entity MULTILEADER(#Ú)z/missing 'AcDbMLeader' subclass in MULTILEADER(#T)ÚsubclassÚrecover)r¬   Úload_dxf_attribsÚsubclass_by_indexÚextract_context_dataÚload_contextr®   r   ÚDXFStructureErrorÚloggerÚinforÈ   Úextract_arrow_headsr¯   Úextract_block_attribsr°   Úfast_load_dxfattribsÚacdb_mleader_group_codes)r±   Ú	processorrÉ   rŸ   r®   r²   s        €r    rß   zMultiLeader.load_dxf_attribsO  s  ø€ ô ‰gÑ& yÓ1ˆØÐØˆJØ×*Ñ*¨1Ó-ˆÙØ×/Ñ/°Ó5ˆGÙðØ#'×#4Ñ#4°WÓ#=�D•Lô ×)Ñ)ØAÀ#Ç*Á*ÀÈQÐOóð ð  ×3Ñ3°DÓ9ˆÔØ!×7Ñ7¸Ó=ˆÔà×&Ñ&ØÔ)°DÀ$ð 	'ô 	
ð ˆ
øô ×.Ñ.ò Ü—K‘KØIÈ#Ï*É*ÈÐUVÐWöðús   ¼B= Â=6C6Ã5C6c                ó´   — d\  }}g }t        | «      D ]4  \  }}|j                  t        k(  r|}Œ|j                  t        k(  sŒ0|dz   }Œ6 |r|r
| || }| ||…= |S )N)NNr#   )rÎ   r“   ÚSTART_CONTEXT_DATAÚEND_CONTEXT_DATA)rŸ   ÚstartÚendÚcontext_datarÑ   r›   s         r    rá   z MultiLeader.extract_context_datal  sm   € à‰
ˆˆsØˆÜ# Dž/‰JˆE�3Ø�x‰xÔ-Ò-Ø‘Ø—‘Ô-Ó-Ø˜a‘i‘ð	 *ñ ‘SØ  c˜?ˆLà�U˜3�Y�ØÐr¡   c                óˆ   — 	 t        | t        «      }t        j                  |«      S # t        $ r t
        j                  ‚w xY wr‘   )r¨   rí   r9   ÚloadÚStopIterationr   rã   )r¦   r®   s     r    râ   zMultiLeader.load_context|  sD   € ð	0Ü*¨4Ô1AÓBˆGô "×&Ñ& wÓ/Ð/øô ò 	*Ü×)Ñ)Ð)ð	*ús	   ‚' §Ac                óü   ‡‡— ˆˆfd„}g Š	 | j                  d«      }|}t        «       Š| j	                  ddh|«      D ]  \  }}|dz  }|‰|<   |dk(  sŒ |«        Œ | ||…= ‰S # t        j                  $ r ‰cY S w xY w)Nc            	     óœ   •— ‰j                  t        ‰ j                  dd«      ‰ j                  dd«      «      «       ‰ j                  «        y )Né^   r   éY  Ú0)r•   r>   rÇ   Úclear)r�   Úheadss   €€r    Ú
store_headz3MultiLeader.extract_arrow_heads.<locals>.store_head‡  s?   ø€ Ø�L‰LÜØ—M‘M " aÓ(Ø—M‘M # sÓ+óôð �O‰OÕr¡   rö   r÷   r#   )Ú	tag_indexr   ÚDXFValueErrorrÆ   Úcollect_consecutive_tags)r¦   rû   rî   rï   r“   r˜   r�   rú   s         @@r    ræ   zMultiLeader.extract_arrow_heads…  sœ   ù€ õ	ð &(ˆð	Ø—N‘N 2Ó&ˆEð ˆÜ“Fˆ	Ø×8Ñ8¸"¸c¸ÀEÖJ‰KˆD�%Ø�1‰HˆCØ#ˆI�d‰OØ�s‹{Ù•ð	 Kð ��s�ˆOØˆøô ×"Ñ"ò 	ØŠLð	ús   ŒA# Á#A;Á:A;c                ó4  ‡‡— ˆˆfd„}g Š	 | j                  d«      }|}t        «       Š| j	                  h d£|«      D ]&  \  }}|dz  }|dk(  rt        ‰«      r |«        |‰|<   Œ( t        ‰«      r |«        | ||…= ‰S # t        j                  $ r ‰cY S w xY w)Nc                 óà   •— ‰ j                  t        ‰j                  dd«      ‰j                  dd«      ‰j                  dd«      ‰j                  dd«      «      «       ‰j                  «        y )	NéJ  rø   é±   r   é,   ç      ð?r�   r¹   )r•   r?   rÇ   rù   )Úattribsr�   s   €€r    Ústore_attribz7MultiLeader.extract_block_attribs.<locals>.store_attrib¤  s[   ø€ Ø�N‰NÜØ—M‘M # sÓ+Ø—M‘M # qÓ)Ø—M‘M " cÓ*Ø—M‘M # rÓ*ó	ôð �O‰OÕr¡   r  >   r  r�   r  r  r#   )rü   r   rý   rÆ   rþ   Úlen)r¦   r  rî   rï   r“   r˜   r  r�   s         @@r    rç   z!MultiLeader.extract_block_attribs¢  s­   ù€ õ		ð %'ˆð	Ø—N‘N 3Ó'ˆEð ˆÜ$(£Fˆ	Ø×8Ñ8Ò9LÈeÖT‰KˆD�%Ø�1‰HˆCØ�sŠ{œs 9œ~Ù”Ø#ˆI�dŠOð	 Uô
 ˆyŒ>ÙŒNð ��s�ˆOØˆøô ×"Ñ"ò 	ØŠNð	ús   ŒA? Á?BÂBc                óv   — | j                   j                  ryt        j                  dt	        | «      › d�«       y)NTzIgnore z% at DXF export, invalid context data.F)r®   Úis_validrä   ÚdebugÚstr)r±   Ú	tagwriters     r    Úpreprocess_exportzMultiLeader.preprocess_exportÃ  s/   € Ø�<‰<× Ò Øä�L‰L˜7¤3 t£9 +Ð-RÐSÔTØr¡   c                ó�  •‡‡— d'ˆˆfd„}t         ‰| �  |«       | j                  Š|j                  }|j                  Š ‰dt
        j                  «        ‰d‰j                  «       | j                  j                  |«        ‰d‰j                  «        ‰d‰j                  «        ‰d‰j                  «        ‰d‰j                  «        ‰d‰j                  «        ‰d	‰j                  «        ‰d
‰j                   «        ‰d‰j"                  «        ‰d‰j$                  «        |dd«        ‰d‰j&                  «        ‰d‰j(                  «        ‰d‰j*                  «        ‰d‰j,                  «        ‰d‰j.                  «        ‰d‰j0                  «        ‰d‰j2                  «        ‰d‰j4                  «        ‰d‰j6                  «        |dd«        ‰d‰j8                  «       |j;                  d‰j<                  «        ‰d‰j>                  «        ‰d‰j@                  «        ‰d‰jB                  «       |tD        jF                  k\  rn| jI                  |«       | jK                  |«        ‰d‰jL                  «        ‰d ‰jN                  «        ‰d!‰jP                  «        ‰d"‰jR                  «       |tD        jT                  k\  r9 ‰d#‰jV                  «        ‰d$‰jX                  «        ‰d%‰jZ                  «       |tD        j\                  k\  r ‰d&‰j^                  «       y y )(Nc                ó@   •— ‰j                  |«      }|�
 ‰| |«       y y r‘   )rÇ   )r“   ÚnamerÈ   rÉ   Ú
write_tag2s      €€r    Úwrite_handle_if_existz8MultiLeader.export_entity.<locals>.write_handle_if_existË  s%   ø€ Ø—W‘W˜T“]ˆFØÐ!Ù˜4 Õ(ð "r¡   éd   rC   rG   rI   rK   rM   rO   rQ   rS   rU   rW   rZ   rY   r\   r_   ra   rc   re   rg   ri   rk   rm   ro   rn   rq   rs   rv   rx   rz   r|   r   r�   rƒ   r…   r‡   rŠ   rŒ   )r“   r¢   r  r  )0r¬   Úexport_entityrÉ   r}   r  Úacdb_mleaderr  rB   r®   Ú
export_dxfrF   rH   rJ   rL   rN   rP   rR   rT   rV   r[   r^   r`   rb   rd   rf   rh   rj   rl   rp   Úwrite_vertexrr   ru   rw   ry   r   ÚDXF2007Úexport_arrow_headsÚexport_block_attribsr{   r~   r€   r‚   ÚDXF2010r„   r†   r‰   ÚDXF2013r‹   )r±   r  r  rB   rÉ   r  r²   s       @@€r    r  zMultiLeader.export_entityÊ  s­  ú€ ö	)ô
 	‰Ñ˜iÔ(Ø�h‰hˆØ×&Ñ&ˆØ×)Ñ)ˆ
á�3œ×)Ñ)Ô*Ù�3˜Ÿ™Ô$Ø�‰×Ñ 	Ô*ñ
 	�3˜×(Ñ(Ô)Ù�2�s×2Ñ2Ô3Ù�3˜Ÿ™Ô(Ù�2�s×,Ñ,Ô-Ù�3˜×2Ñ2Ô3Ù�3˜×-Ñ-Ô.Ù�3˜Ÿ™Ô(Ù�3˜Ÿ™Ô'Ù�2�s×(Ñ(Ô)á˜cÐ#6Ô7Ù�2�s×*Ñ*Ô+Ù�3˜×(Ñ(Ô)Ù�3˜×-Ñ-Ô.Ù�3˜×5Ñ5Ô6Ù�2�s×5Ñ5Ô6Ù�3˜×+Ñ+Ô,Ù�3˜×/Ñ/Ô0Ù�2�s—~‘~Ô&Ù�3˜×*Ñ*Ô+á˜cÐ#8Ô9Ù�2�s—‘Ô'Ø×Ñ˜r 3×#9Ñ#9Ô:Ù�2�s×)Ñ)Ô*Ù�3˜×1Ñ1Ô2Ù�3˜×)Ñ)Ô*Ø”e—m‘mÒ#Ø×#Ñ# IÔ.Ø×%Ñ% iÔ0Ù�s˜C×:Ñ:Ô;Ù�s˜C×.Ñ.Ô/Ù�s˜C×5Ñ5Ô6Ù�r˜3Ÿ9™9Ô%à”e—m‘mÒ#Ù�s˜C×9Ñ9Ô:Ù�s˜C×;Ñ;Ô<Ù�s˜C×8Ñ8Ô9à”e—m‘mÒ#Ù�s˜C×5Ñ5Õ6ð $r¡   c                ót   — | j                   D ])  \  }}|j                  d|«       |j                  d|«       Œ+ y )Nrö   r÷   )r¯   r  )r±   r  rÑ   rÈ   s       r    r  zMultiLeader.export_arrow_heads  s6   € Ø!×-Ô-‰MˆE�6Ø× Ñ   UÔ+Ø× Ñ   fÕ-ñ .r¡   c                ó"  — | j                   D ]€  }|j                  d|j                  «       |j                  d|j                  «       |j                  d|j                  «       |j                  dt        |j                  t        «      «       Œ‚ y )Nr  r  r  r�   )r°   r  rÈ   rÑ   Úwidthr    r½   r   )r±   r  Úattribs      r    r  z MultiLeader.export_block_attribs  si   € Ø×(Ô(ˆFØ× Ñ   f§m¡mÔ4Ø× Ñ   f§l¡lÔ3Ø× Ñ   V§\¡\Ô2Ø× Ñ  ¤k°&·+±+¼Ó&OÕPñ	 )r¡   c                óØ  •— t         ‰| �  |«       | j                  }|j                  |j                  «       |j                  |j
                  «       |j                  |j                  «       |j                  |j                  «       |j                  |j                  «       | j                  D ]  }|j                  |j                  «       Œ | j                  j                  |«       y©z5Register required resources to the resource registry.N)r¬   Úregister_resourcesrÉ   Ú
add_handlerF   rN   rY   r`   rn   r¯   rÈ   r®   )r±   ÚregistryrÉ   Ú
arrow_headr²   s       €r    r#  zMultiLeader.register_resources  sµ   ø€ ä‰Ñ" 8Ô,Ø�h‰hˆØ×Ñ˜C×,Ñ,Ô-Ø×Ñ˜C×6Ñ6Ô7Ø×Ñ˜C×1Ñ1Ô2Ø×Ñ˜C×1Ñ1Ô2Ø×Ñ˜C×3Ñ3Ô4Ø×*Ô*ˆJØ×Ñ 
× 1Ñ 1Õ2ð +ð 	�‰×'Ñ'¨Õ1r¡   c                ó4  •— t        |t        «      sJ ‚t        ‰| �  ||«       | j                  }|j                  }|j                  |j                  «      |_        |j                  |j                  «      |_        |j                  |j                  «      |_        |j                  |j                  «      |_	        |j                  |j                  «      |_
        |j                  |«       |j                  |«       |j                  j                  |«       y©z3Translate resources from self to the copied entity.N)rÕ   r5   r¬   Úmap_resourcesrÉ   Ú
get_handlerF   rN   rY   r`   rn   Úmap_arrow_head_handlesÚmap_block_attrib_handlesr®   )r±   ÚcloneÚmappingrÉ   Ú	clone_dxfr²   s        €r    r)  zMultiLeader.map_resources!  sä   ø€ ä˜%¤Ô-Ð-Ð-Ü‰Ñ˜e WÔ-Ø�h‰hˆØ—I‘Iˆ	Ø!(×!3Ñ!3°C×4DÑ4DÓ!Eˆ	ÔØ+2×+=Ñ+=Ø×&Ñ&ó,
ˆ	Ô(ð '.×&8Ñ&8¸×9NÑ9NÓ&Oˆ	Ô#Ø&-×&8Ñ&8¸×9NÑ9NÓ&Oˆ	Ô#Ø(/×(:Ñ(:¸3×;RÑ;RÓ(Sˆ	Ô%Ø×$Ñ$ WÔ-Ø×&Ñ& wÔ/Ø�‰×#Ñ# GÕ,r¡   c                óž   — | j                   D �cg c]-  }|j                  |j                  |j                  «      ¬«      ‘Œ/ c}| _         y c c}w ©N)rÈ   )r¯   rÏ   r*  rÈ   )r±   r.  Úarrows      r    r+  z"MultiLeader.map_arrow_head_handles2  sI   € ð ×)Ò)ó
á)�ð �N‰N '×"4Ñ"4°U·\±\Ó"BˆNÕCØ)ñ
ˆÕùò 
ó   �2A
c                óž   — | j                   D �cg c]-  }|j                  |j                  |j                  «      ¬«      ‘Œ/ c}| _         y c c}w r1  )r°   rÏ   r*  rÈ   )r±   r.  r   s      r    r,  z$MultiLeader.map_block_attrib_handles8  sI   € ð ×,Ò,ó
á,�ð �O‰O 7×#5Ñ#5°f·m±mÓ#DˆOÕEØ,ñ
ˆÕùò 
r3  c                ó"   — | j                  «       S )a  Yields the graphical representation of MULTILEADER as virtual DXF
        primitives.

        These entities are located at the original location, but are not stored
        in the entity database, have no handle and are not assigned to any
        layout.

        )Ú__virtual_entities__rµ   s    r    Úvirtual_entitieszMultiLeader.virtual_entities>  s   € ð ×(Ñ(Ó*Ð*r¡   c                ó    — ddl m}  || |«      S )a—  Explode MULTILEADER as DXF primitives into target layout,
        if target layout is ``None``, the target layout is the layout of the
        source entity.

        Returns an :class:`~ezdxf.query.EntityQuery` container with all DXF
        primitives.

        Args:
            target_layout: target layout for the DXF primitives, ``None`` for
                same layout as the source entity.

        r   )Úexplode_entity)Úezdxf.exploder9  )r±   Útarget_layoutr9  s      r    ÚexplodezMultiLeader.explodeI  s   € õ 	1á˜d MÓ2Ð2r¡   c                óz   — ddl m} 	 |j                  | d¬«      S # t        $ r |j                  | d¬«      cY S w xY w)z'Support for "VirtualEntities" protocol.r   )ÚmleaderT©Úproxy_graphicF)Úezdxf.renderr>  r7  r   )r±   r>  s     r    r6  z MultiLeader.__virtual_entities__Z  sH   € å(ð	GØ×+Ñ+¨DÀÐ+ÓEÐEøÜ ò 	GØ×+Ñ+¨DÀÐ+ÓFÒFð	Gús   ˆ ›:¹:c              #  ó  K  — dD ]%  }| j                   j                  |d«      }|€Œ"|–— Œ' | j                  D ]  }|j                  –— Œ | j                  j
                  �(| j                  j
                  j                  }|�|–— yyy­w©z(Support for "ReferencedBlocks" protocol.)rn   rY   N)rÉ   rÇ   r¯   rÈ   r®   rÀ   rn   )r±   r  rÈ   r&  s       r    Ú__referenced_blocks__z!MultiLeader.__referenced_blocks__c  s�   è ø€ ó AˆDØ—X‘X—\‘\ $¨Ó-ˆFØÑ!Ø“ð Að ×*Ô*ˆJØ×#Ñ#Ó#ð +ð �<‰<×ÑÐ)Ø—\‘\×'Ñ'×;Ñ;ˆFØÐ!Ø“ð "ð *ùs   ‚$B§A$Bc                óš  — | j                   }| j                  }t        |«      }|j                  st	        d«      ‚t        |j                  j                  «      dkD  s"t        |j                  j                  «      dkD  r|j                  st	        d«      ‚|j                  |«       |j                  |_        |j                  |_        |xj                  |j                  z  c_        |j                  r6|j                  j                   |_        |j                  j                  |_        | j'                  |«       | j)                  «        | S )a  Transform the MULTILEADER entity by transformation matrix `m` inplace.

        Non-uniform scaling is not supported.

        Args:
            m: transformation :class:`~ezdxf.math.Matrix44`

        Raises:
            NonUniformScalingError: for non-uniform scaling

        z0MULTILEADER does not support non-uniform scalingçê-�™—q=)rÉ   r®   r   Úhas_uniform_xy_scalingr   ÚabsÚplane_x_axisÚzÚplane_y_axisÚhas_uniform_xyz_scalingÚ	transformr[   r‚   rV   Úuniform_scalerÀ   Úrotationru   rr   Úpost_transformÚupdate_proxy_graphic)r±   ÚmrÉ   r®   Úwcss        r    rM  zMultiLeader.transformu  s  € ð �h‰hˆØ—,‘,ˆä˜1‹oˆØ×)Ò)ä(ØBóð ô ˆw×#Ñ#×%Ñ%Ó&¨Ò.´#°g×6JÑ6J×6LÑ6LÓ2MÐPUÒ2Uà×.Ò.ä,ØFóð ð 	×Ñ˜#Ôà%×5Ñ5ˆÔØ—M‘MˆŒ	Ø×Ò˜S×.Ñ.Ñ.ÕØ�=Š=Ø!(§¡×!7Ñ!7ˆCÔØ%,§]¡]×%8Ñ%8ˆCÔ"ð 	×Ñ˜AÔð 	×!Ñ!Ô#Øˆr¡   c                ó   — d | _         y r‘   r?  rµ   s    r    rQ  z MultiLeader.update_proxy_graphic£  s
   € à!ˆÕr¡   ©r£   ÚNone©r£   Úbool)r£   r  )r½   r  )r£   údict[str, str])rÐ   rY  )rØ   r/   r£   rV  r‘   ©rê   zOptional[SubclassProcessor]r£   r.   )rŸ   r   r£   úlist[DXFTag])r¦   r[  r£   r9   )r¦   r   r£   zlist[ArrowHeadData])r¦   r   r£   zlist[AttribData])r  r1   r£   rX  ©r  r1   r£   rV  ©r%  zxref.Registryr£   rV  ©r-  r
   r.  úxref.ResourceMapperr£   rV  )r.  r_  )r£   zIterator[DXFGraphic])r;  zOptional[BaseLayout]r£   r3   ©r£   zIterable[str])rR  r   r£   r5   )+Ú__name__Ú
__module__Ú__qualname__ÚDXFTYPEr   r$   r(   r  Ú
DXFATTRIBSr   ÚDXF2000ÚMIN_DXF_VERSION_FOR_EXPORTr­   Úpropertyr¶   r»   r¾   rÁ   rÌ   rÓ   r+   rÚ   rß   Ústaticmethodrá   râ   ræ   rç   r  r  r  r  r#  r)  r+  r,  r7  r<  r6  rD  rM  rQ  Ú__classcell__©r²   s   @r    r5   r5     s#  ø„ à€GÙ˜z¨;¸ÓE€JØ!&§¡Ðõ2ð ò.ó ð.óóGð ò.ó ð.óóð" :Fô Að 8<ðØ4ðà	õð: òó ðð ò0ó ð0ð òó ðð8 òó ðó@õ;7óz.ó
Qõ2õ-ó"
ó
ó	+ô3ó"Góó$,ö\"r¡   r5   c                  ó   — e Zd ZdZy)r6   ÚMLEADERN)ra  rb  rc  rd  © r¡   r    r6   r6   ¨  s   „ à�Gr¡   r6   c                  ó–   — e Zd Zddddddddd	d
ddddddœZdd„Zedd„«       Zdd„Zdd„Ze	dd„«       Z
e	d d„«       Zd!d„Zd"d„Zd#d„Zy)$r9   r‚   Ú
base_pointÚchar_heightr[   Úlanding_gap_sizeÚleft_attachmentÚright_attachmentÚtext_align_typeÚattachment_typeÚplane_originrI  rK  Úplane_normal_reversedÚtop_attachmentÚbottom_attachment)é(   rs   rW   éŒ   é‘   rg   ri   rx   r  én   éo   ép   é)  r‡   rŠ   c                ó   — g | _         d| _        t        | _        d| _        d| _        d| _        d| _        d| _        d| _	        d| _
        d | _        d | _        t        | _        t        | _        t         | _        d| _        d| _        d| _        y )Nr  g      @ç       @r#   r   rˆ   )Úleadersr‚   r   rp  rq  r[   rr  rs  rt  ru  rv  r´   rÀ   rw  r   rI  r   rK  rx  ry  rz  rµ   s    r    r­   zMLeaderContext.__init__À  s�   € Ø)+ˆŒØˆŒ
ô  !(ˆŒØˆÔØ"ˆÔØ #ˆÔØ ˆÔØ !ˆÔØ ˆÔØ ˆÔØ*.ˆŒ
Ø*.ˆŒ
Ü")ˆÔÜ"(ˆÔÜ"(ˆÔØ*+ˆÔ"ØˆÔØ!"ˆÕr¡   c                óð  — |d   t         t        fk(  sJ ‚ | «       }d }|D ]Ó  }t        |t        «      r/|j                  j                  t        j                  |«      «       ŒB|\  }}|r|j                  ||«      rŒ\d }|dk(  r|dk(  rt        «       }||_
        Œz|dk(  r|dk(  rt        «       }||_        Œ–t        j                  j                  |«      }|sŒ¸|j!                  |t#        ||«      «       ŒÕ |S )Nr   rS   r#   é(  )rì   ÚCONTEXT_STRrÕ   Úlistr„  r•   r<   rò   Úparser:   r´   r;   rÀ   r9   ÚATTRIBSrÇ   Ú__setattr__r   )Úclsr®   ÚctxrÐ   r›   r“   r˜   r  s           r    rò   zMLeaderContext.loadã  så   € à�q‰zÔ0´+Ð>Ò>Ð>Ð>Ù‹eˆØ04ˆÛˆCÜ˜#œtÔ$Ø—‘×"Ñ"¤:§?¡?°3Ó#7Ô8Øà‰KˆD�%ÙØ—=‘=  uÔ-Øà"�Gà�sŠ{˜u¨šzÜ#›+�Ø#�•	Ø˜’ ¨!¢Ü#›+�Ø#�•	ä%×-Ñ-×1Ñ1°$Ó7�ÚØ—O‘O D¬*°T¸5Ó*AÕBð+ ð, ˆ
r¡   c                ó¢   — | j                   �| j                   j                  |«       | j                  �| j                  j                  |«       yyr"  )r´   r#  rÀ   ©r±   r%  s     r    r#  z!MLeaderContext.register_resources   s?   € à�:‰:Ð!Ø�J‰J×)Ñ)¨(Ô3Ø�:‰:Ð!Ø�J‰J×)Ñ)¨(Õ3ð "r¡   c                ó¢   — | j                   �| j                   j                  |«       | j                  �| j                  j                  |«       yyr(  )r´   r)  rÀ   ©r±   r.  s     r    r)  zMLeaderContext.map_resources  s?   € à�:‰:Ð!Ø�J‰J×$Ñ$ WÔ-Ø�:‰:Ð!Ø�J‰J×$Ñ$ WÕ-ð "r¡   c                 ó   — y)NTrn  rµ   s    r    r	  zMLeaderContext.is_valid  s   € àr¡   c                óŠ   — | j                   j                  | j                  «      j                  «       }| j                  r| }|S r‘   )rI  ÚcrossrK  Ú	normalizerx  )r±   Úz_axiss     r    Úplane_z_axiszMLeaderContext.plane_z_axis  s<   € à×"Ñ"×(Ñ(¨×):Ñ):Ó;×EÑEÓGˆØ×%Ò%Ø�WˆFØˆr¡   c                ó  — |j                   }|j                  } |t        t        «        |d| j                  «        |d| j
                  «        |d| j                  «        |d| j                  «        |d| j                  «        |d| j                  «        |d| j                  «        |d| j                  «        |d	| j                  «       | j                  r% |d
d«       | j                  j                  |«       n	 |d
d«       | j                  r% |dd«       | j                  j                  |«       n	 |dd«        |d| j                   «        |d| j"                  «        |d| j$                  «        |d| j&                  «       | j(                  D ]  }|j                  |«       Œ |j*                  t,        j.                  k\  r& |d| j0                  «        |d| j2                  «        |t4        d«       y )Nr{  rs   rW   r|  r}  rg   ri   rx   r  rS   r#   r   r†  r~  r  r€  r�  r‡   rŠ   Ú})r  r  rì   r‡  r‚   rp  rq  r[   rr  rs  rt  ru  rv  r´   r  rÀ   rw  rI  rK  rx  r„  r}   r   r  ry  rz  rí   )r±   r  r  r  Úleaders        r    r  zMLeaderContext.export_dxf  s¦  € Ø×)Ñ)ˆ
Ø ×-Ñ-ˆÙÔ%¤{Ô3á�2�t—z‘zÔ"Ù�R˜Ÿ™Ô)Ù�2�t×'Ñ'Ô(Ù�3˜×,Ñ,Ô-Ù�3˜×-Ñ-Ô.Ù�3˜×,Ñ,Ô-Ù�3˜×-Ñ-Ô.Ù�3˜×,Ñ,Ô-Ù�3˜×,Ñ,Ô-à�:Š:Ù�s˜AÔØ�J‰J×!Ñ! )Õ,á�s˜AÔà�:Š:Ù�s˜AÔØ�J‰J×!Ñ! )Õ,á�s˜AÔá�S˜$×+Ñ+Ô,Ù�S˜$×+Ñ+Ô,Ù�S˜$×+Ñ+Ô,Ù�3˜×2Ñ2Ô3ð —l”lˆFØ×Ñ˜iÕ(ð #ð ×Ñ¤5§=¡=Ò0Ù�s˜D×/Ñ/Ô0Ù�s˜D×2Ñ2Ô3ÙÔ# SÕ)r¡   c                óH  — |j                   }|j                  }| xj                  |z  c_        |j                  | j                  «      | _        | xj
                  |z  c_        | xj                  |z  c_        | xj                  |z  c_        |j                  | j                  «      | _        |j                  | j                  d¬«      | _
        |j                  | j                  d¬«      | _        d| _        |j                  t        d¬«      }|j                  | j                   «      rd| _        | j                   D ]  }|j                  |«       Œ | j"                  �| j"                  j                  |«       | j$                  �| j$                  j                  |«       y y )NT©r•  r   r#   )rR  rN  r‚   rM  rp  rq  r[   rr  rw  Útransform_directionrI  rK  rx  r   Úiscloser—  r„  r´   rÀ   )r±   rS  rR  r‚   r–  rš  s         r    rM  zMLeaderContext.transformC  sQ  € Ø�E‰EˆØ×!Ñ!ˆØ�
Š
�eÑ�
ØŸ+™+ d§o¡oÓ6ˆŒØ×Ò˜EÑ!ÕØ×Ò Ñ%ÕØ×Ò Ñ&ÕØŸK™K¨×(9Ñ(9Ó:ˆÔØ×1Ñ1°$×2CÑ2CÈtÐ1ÓTˆÔØ×1Ñ1°$×2CÑ2CÈtÐ1ÓTˆÔØ%&ˆÔ"Ø×&Ñ&¤v¸Ð&Ó>ˆØ�>‰>˜4×,Ñ,Ð,Ô-Ø)*ˆDÔ&à—l”lˆFØ×Ñ˜SÕ!ð #à�:‰:Ð!Ø�J‰J× Ñ  Ô%Ø�:‰:Ð!Ø�J‰J× Ñ  Õ%ð "r¡   c                óÎ   — 	 || j                   z  }|| _         | xj                  |z  c_        | xj                  |z  c_        | xj                  |z  c_        y # t        $ r Y y w xY wr‘   )r‚   ÚZeroDivisionErrorrq  r[   rr  )r±   r˜   Úconversion_factors      r    Ú	set_scalezMLeaderContext.set_scaleZ  si   € ð	Ø %¨¯
©
Ñ 2Ðð ˆŒ
Ø×ÒÐ-Ñ-ÕØ×ÒÐ 1Ñ1ÕØ×ÒÐ!2Ñ2Öøô !ò 	Ùð	ús   ‚A Á	A$Á#A$NrU  )r®   r¤   r£   r9   r]  ©r.  r_  r£   rV  rW  )r£   r   r\  ©rS  r   r£   rV  )r˜   Úfloat)ra  rb  rc  rŠ  r­   Úclassmethodrò   r#  r)  rh  r	  r—  r  rM  r¢  rn  r¡   r    r9   r9   ­  s’   „ àØØØØØØØØØØØØ$ØØ ñ€Gó$!#ðF òó ðó84ó.ð òó ðð òó ðó(*óT&ô.3r¡   r9   c            
      óÄ   — e Zd Zi dd“dd“dd“dd“d	d
“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd “d!d"“d#d$d%d&d'd(d)d*d+œ¥Zd4d,„Zd5d-„Zd6d.„Zd7d/„Zd8d0„Zd9d1„Z	d:d2„Z
y3);r:   rŽ   rº   é   Ú	extrusionrG   rF   é   Úinserté   Útext_directionr\   rO  rv   r  r  Údefined_heightrƒ   Úline_spacing_factorrK   Úline_spacing_stylerI   ÚcolorrQ   Ú	alignmentr_   Úflow_directionrM   Úbg_coloré�   Úbg_scale_factorrk   Úbg_transparencyrU   Úuse_window_bg_colorÚhas_bg_fillÚcolumn_typeÚuse_auto_heightÚcolumn_widthÚcolumn_gutter_widthÚcolumn_flow_reversedÚcolumn_sizesÚuse_word_break)rm   rc   rz   éŽ   é�   r|   é�   rŒ   c                ó²  — d| _         t        | _        d| _        t        | _        t        | _        d| _        d| _	        d| _
        d| _        d| _        t        j                  | _        d| _        d| _        t        j$                  | _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        g | _        d| _        y )Nr¹   rø   ç        r  r#   g      ø?r   )rº   r   r©  rF   r   r«  r   r­  rO  r  r®  r¯  r°  r   ÚBY_BLOCK_RAW_VALUEr±  r²  r³  ÚWINDOW_BG_RAW_VALUEr´  r¶  r·  r¸  r¹  rº  r»  r¼  r½  r¾  r¿  rÀ  rµ   s    r    r­   zMTextData.__init__‚  sÏ   € Ø$&ˆÔÜ%ˆŒØ!$ˆÔÜ#ˆŒÜ$*ˆÔØ"ˆŒØˆŒ
Ø%(ˆÔØ*-ˆÔ Ø'(ˆÔÜ ×3Ñ3ˆŒ
ØˆŒØ#$ˆÔÜ#×7Ñ7ˆŒØ&)ˆÔØ$%ˆÔØ()ˆÔ Ø !ˆÔØ !ˆÔØ$%ˆÔØ#&ˆÔØ*-ˆÔ Ø)*ˆÔ!Ø)+ˆÔØ#$ˆÕr¡   c                ó:   — |j                  | j                  «       yr"  )r$  rF   r�  s     r    r#  zMTextData.register_resources�  s   € à×Ñ˜D×-Ñ-Õ.r¡   c                óD   — |j                  | j                  «      | _        yr(  )r*  rF   r‘  s     r    r)  zMTextData.map_resources¡  s   € à#×.Ñ.¨t×/@Ñ/@ÓAˆÕr¡   c                óæ   — |dk(  r%| j                   j                  t        |«      «       yt        j                  j                  |«      }|r| j                  |t        ||«      «       t        |«      S )NrÃ  T)	r¿  r•   r¥  r:   rŠ  rÇ   r‹  r   rX  ©r±   r“   r˜   r   s       r    r‰  zMTextData.parse¥  s^   € à�3Š;Ø×Ñ×$Ñ$¤U¨5£\Ô2ØÜ×"Ñ"×&Ñ& tÓ,ˆÙØ×Ñ˜V¤Z°°eÓ%<Ô=Ü�F‹|Ðr¡   c                ó&  — |j                   }|j                  } |dt        | j                  t        «      «        |d| j
                  «        |dt        | j                  «      «        |d| j                  «        |d| j                  «        |d| j                  «        |d| j                  «        |d| j                  «        |d	| j                  «        |d
| j                  «        |d| j                  «        |d| j                   «        |d| j"                  «        |d| j$                  «        |d| j&                  «        |d| j(                  «        |d| j*                  «        |d| j,                  «        |d| j.                  «        |d| j0                  «        |d| j2                  «        |d| j4                  «        |d| j6                  «       | j8                  D ]  } |d|«       Œ  |d| j:                  «       y )NrŽ   r¨  rG   rª  r¬  r\   rv   r  rƒ   rK   rI   rQ   r_   rM   rµ  rk   rU   rm   rc   rz   rÁ  rÂ  r|   rÃ  rŒ   )r  r  r    rº   r   r©  r"   rF   r«  r­  rO  r  r®  r¯  r°  r±  r²  r³  r´  r¶  r·  r¸  r¹  rº  r»  r¼  r½  r¾  r¿  rÀ  )r±   r  r  r  Úsizes        r    r  zMTextData.export_dxf¯  s°  € Ø×)Ñ)ˆ
Ø ×-Ñ-ˆÙ�3œ D×$8Ñ$8¼/ÓJÔKÙ�R˜Ÿ™Ô(Ù�3œ D×$5Ñ$5Ó6Ô7Ù�R˜Ÿ™Ô%Ù�R˜×,Ñ,Ô-Ù�2�t—}‘}Ô%Ù�2�t—z‘zÔ"Ù�2�t×*Ñ*Ô+Ù�2�t×/Ñ/Ô0Ù�3˜×/Ñ/Ô0Ù�2�t—z‘zÔ"Ù�3˜Ÿ™Ô'Ù�3˜×+Ñ+Ô,Ù�2�t—}‘}Ô%Ù�3˜×,Ñ,Ô-Ù�2�t×+Ñ+Ô,Ù�3˜×0Ñ0Ô1Ù�3˜×(Ñ(Ô)Ù�3˜×(Ñ(Ô)Ù�3˜×,Ñ,Ô-Ù�3˜×)Ñ)Ô*Ù�3˜×0Ñ0Ô1Ù�3˜×1Ñ1Ô2Ø×%Ô%ˆDÙ�s˜DÕ!ð &á�3˜×+Ñ+Õ,r¡   c                óÐ  — |j                   }t        | j                  |«      }|j                  | _        |j	                  | j
                  «      | _        |j                   j                  | j                  d¬«      | _        |j                  | j                  «      | _	        |j                  }t        j                  |d«      st        |«      dk  ry | xj                  |z  c_        | xj                  |z  c_        | xj                   |z  c_        | xj"                  |z  c_        | j$                  D �cg c]  }||z  ‘Œ	 c}| _        t'        | j(                  |«      | _        y c c}w )NTrœ  r  rF  )rR  r   r©  Únew_extrusionrM  r«  r�  r­  Útransform_anglerO  rN  Úmathrž  rH  r  r®  r¼  r½  r¿  r!   rº   )r±   rS  rR  Úocsr‚   rÍ  s         r    rM  zMTextData.transformÍ  s"  € à�E‰EˆÜ˜4Ÿ>™>¨1Ó-ˆØ×*Ñ*ˆŒØ—k‘k $§+¡+Ó.ˆŒØ!Ÿe™e×7Ñ7Ø×Ñ¨4ð 8ó 
ˆÔð ×+Ñ+¨D¯M©MÓ:ˆŒØ×!Ñ!ˆÜ�<‰<˜˜sÔ#¤s¨5£z°UÒ':ØØ�
Š
�eÑ�
Ø×Ò˜uÑ$ÕØ×Ò˜UÑ"ÕØ× Ò  EÑ)Õ Ø6:×6GÒ6GÓHÑ6G¨d˜T E›\Ð6GÑHˆÔÜ:¸4×;OÑ;OÐQVÓWˆÕùò Is   Ä3E#c                óz  — t        j                  |d«      st        |«      dk  ry | xj                  |z  c_        | xj                  |z  c_        | xj
                  |z  c_        | xj                  |z  c_        | j                  D �cg c]  }||z  ‘Œ	 c}| _        t        | j                  |«      | _	        y c c}w )Nr  rF  )
rÑ  rž  rH  r  r®  r¼  r½  r¿  r!   rº   )r±   r¡  Úhs      r    Úapply_conversion_factorz!MTextData.apply_conversion_factorâ  sª   € ä�<‰<Ð)¨3Ô/´3Ð7HÓ3IÈUÒ3RØØ�
Š
Ð'Ñ'�
Ø×ÒÐ0Ñ0ÕØ×ÒÐ.Ñ.ÕØ× Ò Ð$5Ñ5Õ Ø<@×<MÒ<MÓNÑ<M°q˜QÐ!2Ó2Ð<MÑNˆÔÜ:Ø× Ñ Ð"3ó 
ˆÕùò Os   ÂB8NrU  r]  r£  ©r“   r¢   r£   rX  r\  r¤  ©r¡  r¥  )ra  rb  rc  rŠ  r­   r#  r)  r‰  r  rM  rÕ  rn  r¡   r    r:   r:   e  s  „ ðØÐðà
ˆKðð 	ˆ^ðð 	ˆHð	ð
 	Ððð 	ˆJðð 	ˆGðð 	Ððð 	Ð!ðð 	Ð!ðð 	ˆGðð 	ˆ[ðð 	Ððð 	ˆJðð 	Ððð  	Ðð!ð" 	Ð"ð#ð$ ØØØØ"Ø#ØØò3€Gó8%ó6/óBóó-ó<Xô*
r¡   r:   c                  óŽ   — e Zd ZdddddddœZdd„Zdd	„Zdd
„Zedd„«       Zej                  dd„«       Zdd„Z
dd„Zdd„Zdd„Zy)r;   rn   r©  r«  r‚   rO  r±  )rO   é   é   é   é.   rq   c                ó¨   — d | _         t        | _        t        | _        t        ddd«      | _        d| _        t        j                  | _
        g | _        y )Nr#   r   )rn   r   r©  r   r«  r   r‚   rO  r   rÆ  r±  Ú_matrixrµ   s    r    r­   zBlockData.__init__ú  sD   € Ø26ˆÔ Ü%ˆŒÜ#ˆŒÜ  1 a›=ˆŒ
Ø ˆŒÜ ×3Ñ3ˆŒ
ð %'ˆ�r¡   c                ó:   — |j                  | j                  «       yr"  )r$  rn   r�  s     r    r#  zBlockData.register_resources  s   € à×Ñ˜D×4Ñ4Õ5r¡   c                ó`   — | j                   €J ‚|j                  | j                   «      | _         yr(  )rn   r*  r‘  s     r    r)  zBlockData.map_resources	  s-   € à×'Ñ'Ð3Ð3Ð3Ø#*×#5Ñ#5°d×6NÑ6NÓ#OˆÕ r¡   c                ó–   — t        | j                  «      dk(  rt        | j                  «      }n
t        «       }|j                  «        |S )NrÛ  )r  rÞ  r   Ú	transpose©r±   rR  s     r    Úmatrix44zBlockData.matrix44  s6   € äˆt�|‰|Ó Ò"Ü˜Ÿ™Ó&‰Aä“
ˆAØ	�‰ŒØˆr¡   c                ód   — |j                  «       }|j                  «        t        |«      | _        y r‘   )rÖ   râ  rˆ  rÞ  rã  s     r    rä  zBlockData.matrix44  s!   € à�F‰F‹HˆØ	�‰ŒÜ˜A“wˆ�r¡   c                óÔ   — t         j                  j                  |«      }|r| j                  |t	        ||«      «       y|dk(  r%| j
                  j                  t        |«      «       yy)Né/   FT)r;   rŠ  rÇ   r‹  r   rÞ  r•   r¥  rË  s       r    r‰  zBlockData.parse  s`   € Ü×"Ñ"×&Ñ& tÓ,ˆÙØ×Ñ˜V¤Z°°eÓ%<Ô=ð ð �RŠZØ�L‰L×Ñ¤ e£Ô-ð ð r¡   c                ó¾  — |j                   }|j                  }| j                  r |d| j                  «       n	 |dd«        |d| j                  «        |d| j                  «        |d| j
                  «        |d| j                  «        |d| j                  «       | j                  }t        |«      dk7  rt        t        «       «      }|D ]  } |d|«       Œ y )	NrO   rø   rÙ  rÚ  rÛ  rÜ  rq   rç  )r  r  rn   r©  r«  r‚   rO  r±  rÞ  r  rˆ  r   )r±   r  r  r  rR  r˜   s         r    r  zBlockData.export_dxf(  s¹   € Ø×)Ñ)ˆ
Ø ×-Ñ-ˆØ×#Ò#Ù�s˜D×4Ñ4Õ5ñ �s˜CÔ Ù�R˜Ÿ™Ô(Ù�R˜Ÿ™Ô%Ù�R˜Ÿ™Ô$Ù�2�t—}‘}Ô%Ù�2�t—z‘zÔ"Ø�L‰LˆÜˆq‹6�RŠ<ô
 ”X“ZÓ ˆAÛˆEÙ�r˜5Õ!ñ r¡   c                óR  — |j                   }t        | j                  |«      }|j                  | _        |j	                  | j
                  «      | _        |j                  | j                  «      | _        |j                  | j                  «      | _	        | j                  |z  | _
        y r‘   )rR  r   r©  rÏ  rM  r«  Útransform_scale_vectorr‚   rÐ  rO  rä  )r±   rS  rR  rÒ  s       r    rM  zBlockData.transform@  sx   € à�E‰EˆÜ˜4Ÿ>™>¨1Ó-ˆØ×*Ñ*ˆŒØ—k‘k $§+¡+Ó.ˆŒØ×/Ñ/°·
±
Ó;ˆŒ
Ø×+Ñ+¨D¯M©MÓ:ˆŒØŸ™¨Ñ)ˆ�r¡   c                ó.   — | xj                   |z  c_         y r‘   )r‚   )r±   r¡  s     r    rÕ  z!BlockData.apply_conversion_factorJ  s   € à�
Š
Ð'Ñ'Ž
r¡   NrU  r]  r£  )r£   r   )rR  r   r£   rV  rÖ  r\  r¤  r×  )ra  rb  rc  rŠ  r­   r#  r)  rh  rä  Úsetterr‰  r  rM  rÕ  rn  r¡   r    r;   r;   ð  sk   „ à"ØØØØØñ€Gó	'ó6óPð
 òó ðð ‡_�_òó ðó
	ó"ó0*ô(r¡   r;   c                  óH   — e Zd Zdd„Zedd„«       Zed	d„«       Zd
d„Zdd„Z	y)r<   c                ó’   — g | _         d| _        d| _        t        | _        t
        | _        d| _        d| _        d| _	        g | _
        y )Nr   r  )ÚlinesÚhas_last_leader_lineÚhas_dogleg_vectorr   Úlast_leader_pointr   Údogleg_vectorrV   rÑ   Úattachment_directionÚbreaksrµ   s    r    r­   zLeaderData.__init__P  sK   € Ø')ˆŒ
ð *+ˆÔ!Ø&'ˆÔÜ'.ˆÔÜ#)ˆÔØ$'ˆÔØˆŒ
ð *+ˆÔ!Ø"$ˆ�r¡   c                ó.   — t        | j                  «       S r‘   )rX  rô  rµ   s    r    Úhas_horizontal_attachmentz$LeaderData.has_horizontal_attachment`  s   € ä˜×1Ñ1Ó2Ð2Ð2r¡   c                óþ  — |d   t         t        fk(  sJ ‚ | «       }|D ]Ü  }t        |t        «      r/|j                  j                  t        j                  |«      «       ŒB|\  }}|dk(  r||_        ŒT|dk(  r||_	        Œa|dk(  rt        |«      |_        Œw|dk(  rt        |«      |_        Œ�|dk(  r||_        Œš|dk(  r||_        Œ§|dk(  r||_        Œ´|d	v sŒ¹|j                   j                  t        |«      «       ŒÞ |S )
Nr   rS   rU   rs   r¨  r{  rI   r…   )rª  r¬  )r”   Ú
LEADER_STRrÕ   rˆ  rï  r•   r=   rò   rð  rñ  r   rò  ró  rV   rÑ   rô  rõ  )rŒ  r®   rš  r›   r“   r˜   s         r    rò   zLeaderData.loadd  sð   € à�q‰zœl¬JÐ7Ò7Ð7Ð7Ù“ˆÛˆCÜ˜#œtÔ$Ø—‘×#Ñ#¤J§O¡O°CÓ$8Ô9Øà‰KˆD�%Ø�sŠ{Ø.3�Õ+Ø˜’Ø+0�Õ(Ø˜’Ü+/°«;�Õ(Ø˜’Ü'+¨E£{�Õ$Ø˜’Ø',�Õ$Ø˜’Ø$�•Ø˜’Ø.3�Õ+Ø˜Ò!Ø—‘×$Ñ$¤T¨%£[Õ1ð+ ð. ˆr¡   c                ó@  — |j                   }|j                  } |t        t        «        |d| j                  «        |d| j
                  «        |d| j                  «        |d| j                  «       d}| j                  D ]  } |d|z   |«       d|z
  }Œ  |d| j                  «        |d	| j                  «       | j                  D ]  }|j                  |«       Œ |j                  t        j                  k\  r |d
| j                   «        |t"        d«       y )NrS   rU   rs   r¨  r   rª  r#   rI   r{  r…   r™  )r  r  r”   rù  rð  rñ  rò  ró  rõ  rÑ   rV   rï  r  r}   r   r  rô  r–   )r±   r  r  r  r“   ÚvertexÚlines          r    r  zLeaderData.export_dxf�  sö   € Ø×)Ñ)ˆ
Ø ×-Ñ-ˆá”<¤Ô,Ù�3˜×1Ñ1Ô2Ù�3˜×.Ñ.Ô/Ù�R˜×/Ñ/Ô0Ù�R˜×+Ñ+Ô,àˆØ—k”kˆFá˜˜d™ FÔ+Ø�t‘8‰Dð "ñ 	�2�t—z‘zÔ"Ù�2�t×)Ñ)Ô*ð —J”JˆDØ�O‰O˜IÕ&ð ð ×Ñ¤5§=¡=Ò0Ù�s˜D×5Ñ5Ô6Ù”:˜sÕ#r¡   c                ó  — |j                   }|j                  | j                  «      | _        	 |j                  | j                  j                  | j                  «      «      }|j                  «       | _        |j                  | _        t        |j                  | j                  «      «      | _        | j                  D ]  }|j                  |«       Œ y # t        $ r) |j                  t        | j                  dd«      «      }Y Œ£w xY w©Nr   )rR  rM  rò  r�  ró  r•  rV   r   r   Ú	magnituderˆ  Útransform_verticesrõ  rï  )r±   rS  rR  Údog_legÚleader_lines        r    rM  zLeaderData.transform›  sÜ   € Ø�E‰EˆØ!"§¡¨T×-CÑ-CÓ!DˆÔð	LØ×+Ñ+Ø×"Ñ"×,Ñ,¨T×-?Ñ-?Ó@óˆGð
 %×.Ñ.Ó0ˆÔØ$×.Ñ.ˆÔÜ˜1×/Ñ/°·±Ó<Ó=ˆŒØŸ:œ:ˆKØ×!Ñ! #Õ&ñ &øô !ò 	LØ×+Ñ+¬D°×1CÑ1CÀQÈÓ,JÓKŠGð	Lús   ®4C Ã/DÄDNrU  rW  )r®   r¤   r\  r¤  )
ra  rb  rc  r­   rh  r÷  r¦  rò   r  rM  rn  r¡   r    r<   r<   O  s9   „ ó%ð  ò3ó ð3ð òó ðó8$ô4'r¡   r<   c                  ó6   — e Zd Zdd„Zedd„«       Zdd„Zd	d„Zy)
r=   c                óX   — g | _         g | _        d| _        t        j                  | _        y rþ  )Úverticesrõ  rÑ   r   rÆ  r±  rµ   s    r    r­   zLeaderLine.__init__¬  s&   € Ø$&ˆŒØ.0ˆŒð ˆŒ
Ü ×3Ñ3ˆ�
r¡   c                ó8  — |d   t         t        fk(  sJ ‚t        «       }|j                  }g }|D ]_  \  }}|dk(  r|j	                  t        |«      «       Œ&|dv r|j	                  t        ||«      «       ŒF|dk(  r||_        ŒS|dk(  sŒY||_        Œa |r||_	        |S )Nr   rs   )rI   r¨  rª  rM   rk   )
r—   r™   r=   r  r•   r   r   rÑ   r±  rõ  )rŒ  rŸ   rü  r  rõ  r“   r˜   s          r    rò   zLeaderLine.load¸  sœ   € à�A‰wÔ,¬oÐ>Ò>Ð>Ð>Ü‹|ˆØ—=‘=ˆØˆÛ‰KˆD�%Ø�rŠzØ—‘¤ U£Õ,Ø˜Ñ%Ø—‘œj¨¨uÓ5Õ6Ø˜’Ø"�•
Ø˜“Ø"�•
ð  ñ Ø ˆDŒKØˆr¡   c                ó„  — |j                   }|j                  } |t        t        «       | j                  D ]  } |d|«       Œ | j
                  r>d}| j
                  D ]-  }t        |t        «      r
 |d|«       Œ |d|z   |«       d|z
  }Œ/  |d| j                  «        |d| j                  «        |t        d«       y )	Nrs   r   rI   r¨  r#   rM   rk   r™  )r  r  r—   r™   r  rõ  rÕ   r¢   rÑ   r±  rš   )r±   r  r  r  rû  r“   r˜   s          r    r  zLeaderLine.export_dxfË  sª   € Ø×)Ñ)ˆ
Ø ×-Ñ-ˆáÔ$¤oÔ6Ø—m”mˆFÙ˜˜VÕ$ð $à�;Š;ØˆDØŸœ�Ü˜e¤SÔ)á˜r 5Õ)ñ !  d¡¨EÔ2Ø˜t™8‘Dð %ñ 	�2�t—z‘zÔ"Ù�2�t—z‘zÔ"Ù”? CÕ(r¡   c                ó@  — |j                   }t        |j                  | j                  «      «      | _        | j                  r]g }| j                  D ]D  }t        |t        «      r!|j                  |j                  |«      «       Œ4|j                  |«       ŒF || _        y y r‘   )	rR  rˆ  r   r  rõ  rÕ   r   r•   rM  )r±   rS  rR  rõ  r˜   s        r    rM  zLeaderLine.transformá  sy   € Ø�E‰EˆÜ˜Q×1Ñ1°$·-±-Ó@ÓAˆŒØ�;Š;Ø-/ˆFØŸœ�Ü˜e¤TÔ*Ø—M‘M !§+¡+¨eÓ"4Õ5à—M‘M %Õ(ð	 %ð
 !ˆD�Kð r¡   NrU  )rŸ   r[  r\  r¤  )ra  rb  rc  r­   r¦  rò   r  rM  rn  r¡   r    r=   r=   «  s%   „ ó	4ð òó ðó$)ô,
!r¡   r=   ÚAcDbMLeaderStyleÚunknown1Údraw_mleader_order_typeÚdraw_leader_order_typeÚmax_leader_segments_pointsÚfirst_segment_angle_constraintr{  rÅ  Úsecond_segment_angle_constraintéþÿÿÿrr  rƒ  r  é   ÚStandardr  Údefault_text_contentr¹   rq  Útext_align_always_leftr�  Úalign_spacerÜ  Úhas_block_scalingrö   Úblock_scale_xrç  Úblock_scale_yé1   r|  rµ  r  rÁ  r†  rÂ  g      @i*  T)Úoptional)Úblock_scale_zÚhas_block_rotationru   rw   r‚   Úoverwrite_property_valuery   Úbreak_gap_sizer„   r†   r‰   Úunknown2)rN   rY   r`   rn   c                  óê   ‡ — e Zd ZdZ eee«      Zej                  Z
	 d	 	 	 dˆ fd„Zdˆ fd„Zdˆ fd„Zdd„Zej                   dej"                  df	 	 	 	 	 	 	 dd„Zddd	„Zdˆ fd
„Zdd„Zdˆ fd„Zˆ xZS )r7   ÚMLEADERSTYLEc                óZ   •— t         ‰| �  |«      }|r|j                  |t        d¬«       |S )Nr#   )rÝ   )r¬   rß   rè   Úacdb_mleader_style_group_codes)r±   rê   rÉ   r²   s      €r    rß   zMLeaderStyle.load_dxf_attribs9  s9   ø€ ô ‰gÑ& yÓ1ˆÙØ×*Ñ*ØÔ3¸að +ô ð ˆ
r¡   c                ó”   •— t         ‰| �  |«       | j                  }t        D ]#  }|j	                  |j                  |d«      «       Œ% y )Nrø   )r¬   r#  rÉ   ÚMLEADER_STYLE_HANDLE_ATTRIBSr$  rÇ   )r±   r%  rÉ   Úattrib_namer²   s       €r    r#  zMLeaderStyle.register_resourcesC  s<   ø€ Ü‰Ñ" 8Ô,Ø�h‰hˆß7ˆKØ×Ñ §¡¨°SÓ 9Õ:ñ 8r¡   c           	     ó"  •— t         ‰| �  ||«       | j                  }t        D ]i  }|j	                  |«      r;|j                  j                  ||j                  |j                  |«      «      «       ŒO|j                  j                  |«       Œk y r‘   )	r¬   r)  rÉ   r%  ÚhasattrÚsetr*  rÇ   Údiscard)r±   r-  r.  rÉ   r&  r²   s        €r    r)  zMLeaderStyle.map_resourcesI  si   ø€ Ü‰Ñ˜e WÔ-Ø�h‰hˆß7ˆKØ�{‰{˜;Ô'Ø—	‘	—‘˜k¨7×+=Ñ+=¸c¿g¹gÀkÓ>RÓ+SÕTà—	‘	×!Ñ! +Õ.ñ	 8r¡   c                óà   — | j                   €J d«       ‚| j                   j                  j                  |«      }|�&|j                  j                  | j                  _        y t        d|› d�«      ‚)NrÃ   ztext style 'z' does not exist)rÄ   ÚstylesrÇ   rÉ   rÈ   r`   Ú
ValueError)r±   r  Ústyles      r    Úset_mtext_stylezMLeaderStyle.set_mtext_styleR  sa   € Ø�x‰xÐ#ÐBÐ%BÓBÐ#Ø—‘—‘×#Ñ# DÓ)ˆØÐØ).¯©×)9Ñ)9ˆD�H‰HÕ&ä˜|¨D¨6Ð1AÐBÓCÐCr¡   ÚBYBLOCKr#   c                ó�  — | j                   €J d«       ‚t        j                  |«      | j                  _        | j                   j
                  j                  |«      }|€t        d|› d�«      ‚|j                  j                  | j                  _	        t        |«      | j                  _        t        |«      | j                  _        y )NrÃ   zinvalid linetype name 'Ú')rÄ   r   Úencode_raw_colorrÉ   rL   Ú	linetypesrÇ   r-  rÈ   rN   r¢   rP   rJ   )r±   r±  ÚlinetypeÚ
lineweightrJ   Ú	linetype_s         r    Úset_leader_propertiesz"MLeaderStyle.set_leader_propertiesZ  s�   € ð �x‰xÐ#ÐBÐ%BÓBÐ#Ü%+×%<Ñ%<¸UÓ%Cˆ�‰Ô"Ø—H‘H×&Ñ&×*Ñ*¨8Ó4ˆ	ØÐÜÐ6°x°jÀÐBÓCÐCØ*3¯-©-×*>Ñ*>ˆ�‰Ô'Ü%(¨£_ˆ�‰Ô"Ü" ;Ó/ˆ�‰Õr¡   c                ó¾   — ddl m} | j                  €J d«       ‚|r6|j                  | j                  j                  |«      | j
                  _        y | j
                  `y )Nr   )ÚARROWSrÃ   )Úezdxf.render.arrowsr:  rÄ   Úarrow_handleÚblocksrÉ   rY   )r±   r  r:  s      r    Úset_arrow_headzMLeaderStyle.set_arrow_headj  sK   € Ý.à�x‰xÐ#ÐBÐ%BÓBÐ#ÙØ)/×)<Ñ)<¸T¿X¹X¿_¹_ÈdÓ)SˆD�H‰HÕ&ð —‘Ñ*r¡   c                óð   •— t         ‰| �  |«       |j                  t        j                  t
        j                  «       | j                  j                  |t
        j                  j                  «       «       y r‘   )r¬   r  r  r   ÚSUBCLASS_MARKERÚacdb_mleader_styler  rÉ   Úexport_dxf_attribsr  Úkeys)r±   r  r²   s     €r    r  zMLeaderStyle.export_entityu  sQ   ø€ Ü‰Ñ˜iÔ(Ø×ÑœU×2Ñ2Ô4F×4KÑ4KÔLØ�‰×#Ñ# IÔ/A×/IÑ/I×/NÑ/NÓ/PÕQr¡   c              #  ó`   K  — dD ]%  }| j                   j                  |d«      }|€Œ"|–— Œ' y­wrC  )rÉ   rÇ   )r±   r  rÈ   s      r    rD  z"MLeaderStyle.__referenced_blocks__z  s0   è ø€ ã@ˆDØ—X‘X—\‘\ $¨Ó-ˆFØÑ!Ø“ñ Aùs   ‚$.§.c           	     óú  •— ddl m} | j                  sy t        ‰	| �  |«       |j
                  }| j                  }t        | «      }|j                  dd «      }|�Æ||vrÂ|j                  j                  j                  d«      }|�I|j                  j                  | j                  _        |j                  |j                  |› d|› d�| «       nRt        j!                  d«       | j                  j#                  d«       |j                  |j                  |› d|› �| «       d	D ]V  }|j                  |«      }|�|d
k(  rŒ||vsŒ!|j#                  |«       |j                  |j$                  |› d|› d|› �| «       ŒX y )Nr   )Ú
AuditErrorr`   r  z: text_style_handle=z0 is not valid, replaced by 'Standard' text stylez-required text style 'Standard' does not existz$: removed invalid text_style_handle=)rY   rn   rø   z: removed invalid Ú=)Úezdxf.auditrF  Úis_aliver¬   ÚauditrÅ   rÉ   r  rÇ   rÄ   r,  rÈ   r`   Úfixed_errorÚUNDEFINED_TEXT_STYLErä   Úwarningr*  ÚUNDEFINED_BLOCK)
r±   ÚauditorrF  rÅ   rÉ   r  rÈ   Ústandardr   r²   s
            €r    rJ  zMLeaderStyle.audit�  st  ø€ Ý*à�}Š}ØÜ‰‰�gÔØ×#Ñ#ˆØ�h‰hˆÜ�4‹yˆØ—‘Ð,¨dÓ3ˆØÐ &°Ñ"8Ø—{‘{×)Ñ)×-Ñ-¨jÓ9ˆHØÐ#Ø-5¯\©\×-@Ñ-@�—‘Ô*Ø×#Ñ#Ø×3Ñ3Ø�fÐ0°°ð 9,ð -àõ	ô —‘ÐNÔOØ—‘× Ñ Ð!4Ô5Ø×#Ñ#Ø×3Ñ3Ø�fÐ@ÀÀÐIØôó
 CˆFØ—W‘W˜V“_ˆFØˆ~ ¨3¢ØØ˜XÒ%Ø—‘˜FÔ#Ø×#Ñ#Ø×.Ñ.Ø�fÐ.¨v¨h°a¸°xÐ@Øõñ Cr¡   r‘   rZ  r]  r^  )r  r  r£   rV  )r±  zUnion[int, colors.RGB]r5  r  r6  r¢   rJ   r¢   )r¹   )r  r  r\  r`  )rO  r,   r£   rV  )ra  rb  rc  rd  r   r$   rA  re  r   rf  rg  rß   r#  r)  r/  r   r0  ÚLINEWEIGHT_BYBLOCKr8  r>  r  rD  rJ  rj  rk  s   @r    r7   r7   3  s¦   ø„ à€GÙ˜zÐ+=Ó>€JØ!&§¡Ðð 8<ðØ4ðà	õõ;õ/óDð )/¯©Ø!Ø×2Ñ2Øð0à%ð0ð ð0ð ð	0ð
 ó0ô 	+õRó
÷&ñ &r¡   r7   c                  ó(   ‡ — e Zd Zdˆ fd„Zdd„Zˆ xZS )r8   c                óJ   •— t         ‰| �  |dd¬«       | j                  «        y )NÚACAD_MLEADERSTYLEr!  )Ú	dict_nameÚobject_type)r¬   r­   Úcreate_required_entries)r±   rÄ   r²   s     €r    r­   zMLeaderStyleCollection.__init__«  s$   ø€ Ü‰Ñ˜Ð(;ÈÐÔXØ×$Ñ$Õ&r¡   c                óÄ   — d| vr\| j                  d«      }| j                  j                  j                  d«      }|j                  j
                  |j                  _        y y )Nr  )ÚnewrÄ   r,  rÇ   rÉ   rÈ   r`   )r±   Úmleader_styleÚ
text_styles      r    rW  z.MLeaderStyleCollection.create_required_entries¯  sM   € Ø˜TÑ!Ø ŸH™H ZÓ0ˆMàŸ™Ÿ™×,Ñ,¨ZÓ8ˆJØ2<·.±.×2GÑ2GˆM×ÑÕ/ð	 "r¡   )rÄ   r-   rU  )ra  rb  rc  r­   rW  rj  rk  s   @r    r8   r8   ª  s   ø„ õ'÷Hr¡   r8   )r¦   r[  r§   r¢   r£   r¤   )pÚ
__future__r   Útypingr   r   r   r   r   r	   Útyping_extensionsr
   rÖ   ÚloggingrÑ  Úcollectionsr   Úezdxf.lldxfr   Úezdxf.lldxf.typesr   Úezdxf.lldxf.attributesr   r   r   r   r   Úezdxf.lldxf.tagsr   Úezdxf.lldxf.constr   Ú
ezdxf.mathr   r   r   r   r   r   r   r   r   r@   r   Úezdxf.proxygraphicr   Úezdxf.tools.textr    r!   Úezdxf.tools.handler"   Ú	dxfentityr$   r%   Údxfobjr&   Údxfgfxr'   r(   Úfactoryr)   Úobjectcollectionr*   r+   rH  r,   Úezdxf.documentr-   Úezdxf.entitiesr.   r/   Úezdxf.layoutsr0   Úezdxf.lldxf.tagwriterr1   r2   Úezdxf.queryr3   r4   Ú__all__Ú	getLoggerrä   rÆ  rQ  Úpoint3dr  r  r  r  ré   r‡  rù  r™   rì   rí   r”   r–   r—   rš   r¨   r>   r?   r5   r6   r9   r:   r;   r<   r=   rA  r#  r%  r7   r8   rn  r¡   r    Ú<module>rw     sB  ðõ #ß J× JÝ "Û Û Û Ý "å Ý (÷õ õ "Ý -÷
÷ 
õ 
õ Ý 0ß EÝ *ç 4Ý ß +å $Ý .Ý áÝ#Ý&ß6Ý(Ý7Ý(Ý'Ýò€ð 
ˆ×	Ñ	˜7Ó	#€ñ Øð|Ø‘7˜3¨Ô*ð|à™ ›ð|ð
 	"¡7¨2£;ð|ðR 	‘w˜s¨AÔ.ðS|ðT 	™W R°×1JÑ1JÔKðU|ðV 	!¡'¨#£,ðW|ðX 	™W S°%×2JÑ2JÔKðY|ðZ 	‘w˜s¨AÔ.ð[|ð\ 	‘g˜c¨1Ô-ð]|ð^ 	™ ¨QÔ/ð_|ðb 	™W S›\ðc|ðf 	™7 2¨qÔ1ðg|ðh 	™ ¨QÔ/ði|ðt 	™W S›\ðu|ðv 	$¡W¨S¸!Ô%<ðw|ðP 	%¡g¨b¸!Ô&<ðQ|ðR 	™7 3°Ô2ñS|ð\ 	™w s°AÔ6ð]|ð^ 	‘g˜b¨&×*CÑ*CÔDð_|ð` 	™' #¨qÔ1ða|ðd 	™w s›|ðe|ðf 	‘w˜r¨6×+DÑ+DÔEðg|ðh 	™g b°·±ÁtÈAÈqÐRSÃ}ÔUði|ðj 	™' "¨aÔ0ðk|ðl 	 ¡¨°aÔ!8ðm|ðr 	™ ¨aÔ0ðs|ðJ 	%¡g¨c¸1ÈÏÉÔ&WðK|ðL 	™' #¨q¸U¿]¹]ÔKðM|ðN 	 ¡¨°aÀEÇMÁMÔ!RðO|ðV 	‘˜ Q°5·=±=ÔAðW|ð` 	$¡W¨S¸!ÈÏÉÔ%Vða|ðh 	&¡wØ˜ u§}¡}ô(
ði|ðt 	#¡G¨C¸ÀuÇ}Á}Ô$Uðu|ðv 	 ¡¨°aÀEÇMÁMÔ!Rñw|ó€ñZ .¨lÓ;Ð Ø€Ø€
Ø €ØÐ ØÐ Ø€Ø€
ØÐ Ø€ð2Ø
ð2Ø#&ð2àó2ñ, ˜?¨OÓ<€Ù˜Ð&BÓC€
ð ôa"�*ó a"ó ða"ðH ôˆkó ó ð÷u3ñ u3÷pH
ñ H
÷V\(ñ \(÷~Y'ñ Y'÷x@!ñ @!ñF !Øð7Ø‘G˜C¨Ô+ð7à™ ¨QÔ/ð7ð 	"¡7¨3¸Ô#:ð7ð 	!¡'¨#°qÔ"9ð	7ð
 	%¡g¨b¸!Ô&<ð7ð 	)©'°"¸cÔ*Bð7ð 	*©7°2¸sÔ+Cð7ð 	‘w˜s¨AÔ.ð7ð 	™W R°×1JÑ1JÔKð7ð 	!¡'¨#£,ð7ð 	™W R°Ô4ð7ð  	‘w˜s¨AÔ.ð!7ð" 	™G B°Ô4ð#7ð$ 	‘g˜c¨1Ô-ð%7ð& 	™ ¨QÔ/ð'7ð( 	‘˜ :Ô.ð)7ð, 	™W S›\ñ-7ð. 	™7 2¨qÔ1ð/7ð0 	¡¨°RÔ 8ð17ð2 	™W S›\ð37ð4 	$¡W¨S¸!Ô%<ð57ð6 	™7 3°Ô2ð77ð8 	™w s°AÔ6ð97ð: 	%¡g¨c¸1Ô&=ð;7ð< 	‘g˜b¨&×*CÑ*CÔDð=7ð> 	‘w˜r¨1Ô-ð?7ð@ 	™' #¨qÔ1ðA7ðB 	!¡'¨#°qÔ"9ðC7ðD 	‘w˜r¨1Ô-ðE7ðF 	™W S›\ðG7ðH 	™w s›|ðI7ðJ 	‘w˜r¨6×+DÑ+DÔEðK7ðL 	™ ¨QÔ/ðM7ðN 	™ ¨QÔ/ñO7ñP ! ¨aÔ0Ù% c°1Ô5Ù! #¨qÔ1Ù!(¨°aÔ!8Ù˜ aÔ(Ù$+¨C¸Ô$;Ù  ¨aÔ0Ù! #¨tÔ4á%,¨S¸!Ô%<á'.¨s¸AÔ'>á$+¨C¸Ô$;Ù˜C¨$Ô/òm7ó:Ð ñv "4Ð4FÓ!GÐ ð Ð ð ôs�9ó só ðsôl
HÐ-¨lÑ;õ 
Hr¡   