Ë
    ë�jid  ã                   óR  — d Z ddlZddlZddlZddlZddlZddlZddlZej                  Z
d„ Zej                  Zej                  ZdZdej                  v Zej                  dd D � cg c]  } | j#                  d«      rŒ| ‘Œ c} Z ej&                   eedz   d	¬
«      «      Z ej&                   eedz   d	¬
«      «      Z ej&                   eedz   d	¬
«      «      d   ZeD ]  Zej3                  dd«       Œ dej                  v rm ej&                   eedz   d	¬
«      «      d   ZeD �ch c]
  }|d   d   ’Œ c}ZeeD �cg c]  }|d   d   evsŒ|‘Œ c}z  Z ed ee«       ee«      fz  «       dej                  v rm ej&                   eedz   d	¬
«      «      d   ZeD �ch c]
  }|d   d   ’Œ c}ZeeD �cg c]  }|d   d   evsŒ|‘Œ c}z  Z ed ee«       ee«      fz  «       g Zed   D ]'  Z ejC                  e d   e d   fe d   e d   fddœ«       Œ) ed   D ]Ä  Z"e"dd \  Z#Z$Z%Z&Z'ejC                  e#e% ejP                   ejR                  e&«      «      z  z   e$e% ejT                   ejR                  e&«      «      z  z   fe#e% ejP                   ejR                  e'«      «      z  z   e$e% ejT                   ejR                  e'«      «      z  z   fde#e$e%e&e'fdœ«       ŒÆ i Z+d „ Z,i Z-d!„ Z.d"„ Z/eD ]Q  Z& e,e&d#   «       e,e&d$   «      cZ"Ze-j3                  e"e"«       e-j3                  ee«       e"ece&d%<   e&d&<    e/e"e«       ŒS  ej`                  e1«      Z2 e3e«      D ]"  \  Z4Z&e2 e.e&d%   «         jC                  e4«       Œ$ g Z5e2jm                  «       D �]y  \  Z7Z8d' ee8«      cxk  rd(k  sn Œg Z9e8D ]¿  Z4ee4   Z&e&d)   dk(  r—e&d*   \  Z#Z$Z%Z:Z;e;e:k  re;d+z  Z; ejR                   ejx                  e:e; e=d, e> e?e;e:z
  «      d'z  «      «      «      «      Z@e9jƒ                   eBe#e% ejP                  e@«      z  z   e$e% ejT                  e@«      z  z   «      «       Œ§e9jƒ                  e&d#   e&d$   f«       ŒÁ  ej†                  e9eD«      ZEeEj�                  d«      \  ZGZHeEj{                  d«      \  ZIZJeIeGz
  eJeHz
  cZKZLd- e=eKeL«      cxk  rd.k  rn n eFeKeL«      d/k\  s�ŒJ eMd0„ e8D «       «      ZNe5jC                   eOe7e8eGeHeIeJfeKeLeN¬1«      «       �Œ|  ed2 ee5«      z  «       d3„ ZPg ZQd4ZRd5ZSg ZTeD �]/  Zed   d   ed6   d   cZUZVereUevrŒed7   \  ZWZX eYd8„  e3e5«      D «       «      D ��cg c]  \  }}|eSk  r||f‘Œ c}}deR ZZd9j·                  ej¹                  dg «      «      Z]eZs. ed:eUeVeSfz  «       eQjC                   eOeUd;eVe]d<eSz  ¬=«      «       Œ§e5eZd   d      Z^e^d>   \  Z_Z`ZaZb eMd?„ ed@   D «       «      Zce^dA   dz  ecdz  z    ee^dB   «      z   Zd edCeUeV eeZ«      e^dD   e^dE   e^dA   ec ee^dB   «      edf	z  «       eTjC                   eOeUeVeZe]ed¬F«      «       �Œ2 eTjË                  dG„ ¬H«        edIdJj·                  dK„ eTD «       «      z  «       er ejÌ                  d«       dL„ ZgdM„ ZhddddNœZidO„ ZjdP„ ZkdQ„ ZldR„ ZmddSlnmoZo ddlpZqddlrZrddlsZs e1eQ«      Zt eu«       ZvdT„ ZweTD �]Ì  Z@e@d   e@d6   cZUZV edUeUeVe@dV   fz  «       ejð                  dWeUjó                  dX«      d   dYz   eUjó                  dX«      d   z   z  z   Zzesjö                  jù                  edZz   ezz   «      rÎ	  erj&                  edZz   ezz   «      jú                  Z~e@d[   D ]t  \  ZZ€e5e€   Z� e?e�dD   e~d   z
  «       e=e~d   d«      z  d\k  sŒ- e?e�dE   e~d   z
  «       e=e~d   d«      z  d\k  sŒOev�j                  e€«        ed]e�dD   e�dE   fz  «        n  ed`ezz  «       etjC                   eOeUd;eVe@da   dbezz  ¬=«      «       �ŒKg Z†dZ‡e@d[   D ]ä  \  ZZ€e€evv rŒe5e€   Z� edce�dD   e�dE   e ee�dB   «      e�dA   fz  «        eFdd„ eD «       «      Zˆeˆd   eUk7  r8 edeeˆd   eˆd   fz  «       e†jC                  dfe�dD   e�dE   eˆd   eˆd   fz  «       Œ� eweUeVe€«      \  Z‰ZŠe‰r-ev�j                  e€«       ev�j                  �t        «       eŠZ‡ n* edgeŠz  «       e†jC                  dhe�dD   e�dE   eŠfz  «       Œæ e‡rFe@da   e‡di<   etjC                  e‡«        e�j                  et eedjz   dDd	¬
«      dkd¬l«        edm«       �ŒƒetjC                   eOeUd;eVe@da   dn ee†«      doj·                  e†«      fz  ¬=«      «        edp ee†«      z  «       �ŒÏ  e�j                  et eedjz   dDd	¬
«      dkd¬l«        eMdq„ etD «       «      ZŽ edreŽ eet«      eŽz
  fz  «       etD ]R  Z%e%ds   dk(  r0 edte%d   e%d6   e%du   e%dv   e%j¹                  didw«      ddx fz  «       Œ; edye%d   dz›d{e%d|   dd} ›�«       ŒT yc c} w c c}w c c}w c c}w c c}w c c}}w # eƒ$ rZ„ ed^ e…e„«      dd_ z  «       Y dZ„[„�Œ’dZ„[„ww xY w)~uÌ  Pass 6: ì—¬ëŸ¬ ë¶€ìž¬ë¥¼ í•œ ë²ˆì—� ì••ì¶œ.
build_part.py ì�˜ ì„±ê³µ ë¡œì§�(degree-1 ê°€ì§€ì¹˜ê¸° â†’ ë£¨í”„ íƒ�ìƒ‰ â†’ ì••ì¶œ)ì�„ ê·¸ëŒ€ë¡œ ì“°ë�˜,
'ì†�ìœ¼ë¡œ ê³ ë¥¸ ì‚¬ê°� ì°½' ëŒ€ì‹  'ë��ì �ìœ¼ë¡œ ì—°ê²°ë�œ ë�©ì–´ë¦¬(connected component)' í•˜ë‚˜ë¥¼ ë¶€ìž¬ë¡œ ë³¸ë‹¤.
ë‘�ê»˜ëŠ” pass5_thk.py ê°€ ì½œì•„ì›ƒ ë¸”ë¡�ì—�ì„œ ë�„ë²ˆ1:ë‘�ê»˜1 ë¡œ í™•ì •í•œ ê°’ë§Œ ì‚¬ìš©í•œë‹¤.

--dry ë¡œ ì‹¤í–‰í•˜ë©´ í›„ë³´ ë§¤ì¹­ ê²°ê³¼ë§Œ ì¶œë ¥í•˜ê³  ì••ì¶œì�€ í•˜ì§€ ì•ŠëŠ”ë‹¤.
é    Nc                 óÞ   — t        j                  dd| «      } t        j                  dd| «      } | j                  dd«      j                  dd«      j                  dd«      j                  «       S )uG   MTEXT ì„œì‹�ì½”ë“œë¥¼ ê±·ì–´ë‚¸ 'ëˆˆì—� ë³´ì�´ëŠ” ê¸€ìž�'ë§Œ ë‚¨ê¸´ë‹¤.z\{\\f[^;]*;Ú z\\[A-Za-z][^;]*;Ú{Ú}z\PÚ )ÚreÚsubÚreplaceÚstrip)Úss    úpass6_multi.pyÚ
_clean_txtr      s[   € ä
�‰ˆ~˜r 1Ó%€AÜ
�‰Ð" B¨Ó*€AØ�9‰9�S˜"Ó×%Ñ% c¨2Ó.×6Ñ6°u¸cÓB×HÑHÓJÐJó    ç      à?z--dryé   z--z\index.jsonzutf-8)Úencodingz\index2.jsonz\thk_blocks.jsonÚokÚsrcÚCALLOUTz--bomz\bom_blocks.jsonÚpnu9   BOM ë‘�ê»˜ %dê°œ í•©ì¹¨ -> ì´� ì½œì•„ì›ƒ/BOM ë¸”ë¡� %dê°œz--vlmz\vlm_blocks.jsonu2   VLM íŒ�ë�… ë‘�ê»˜ %dê°œ í•©ì¹¨ -> ì´� ë¸”ë¡� %dê°œÚlinesé   é   ÚL©Úp0Úp1ÚkindÚarcsé   ÚA)r   r   r   Úarcc                 óð   — t        | d   t        z  «      t        | d   t        z  «      f}dD ].  }dD ]'  }|d   |z   |d   |z   f}|t        v sŒt        |   c c S  Œ0 t        t        «      }|t        |<   |S ©Nr   r   )éÿÿÿÿr   r   )ÚroundÚTOLÚnodeÚlen)ÚpÚkÚdxÚdyÚkkÚvs         r   Únidr0   =   sx   € Ü	ˆq�‰t”C‰x‹œ%  !¡¤S¡›/Ð*€AÛˆÛˆBØ�A‘$�r‘'˜1˜Q™4 ™7Ð#ˆBØ”TŠz¤$ r¡(œ?ñ ð ô 	ŒD‹	€A˜Q”4˜‘7 q r   c                 óÔ   — t         j                  | | «      | k7  rNt         j                  t         |    t         |    «      t         | <   t         |    } t         j                  | | «      | k7  rŒN| S ©N)ÚparÚget)Úxs    r   Úfindr6   F   sM   € Ü
�'‰'�!�Q‹-˜1Ò
¤s§w¡w¬s°1©v´s¸1±vÓ'>œc !™fÄCÈÁFÀŒ#�'‰'�!�Q‹-˜1Ó
Ø€Hr   c                 óN   — t        | «      t        |«      }}||k7  r
|t        |<   y y r2   )r6   r3   )ÚaÚbÚraÚrbs       r   Úunir<   I   s$   € Ü�!‹W”d˜1“gˆ€BØ	ˆR‚x˜2”�R’€xr   r   r   r8   r9   é   i   r   r"   éh  é   éP   i   é   c              #   ó@   K  — | ]  }t         |   d    dk(  sŒd–— Œ y­w)r   r!   r   N)Úsegs)Ú.0Úis     r   Ú	<genexpr>rF   t   s    è ø€ Ð9™$�Q¤$ q¡'¨&¡/°SÓ"8Œq™$ùs   ‚—)ÚrootÚidxsÚbboxÚwÚhÚnarcu   ë¶€ìž¬ í›„ë³´ ë�©ì–´ë¦¬: %dê°œc                 óˆ   — |\  }}}}t        || z
  d| |z
  «      }t        ||z
  d||z
  «      }t        j                  ||«      S )Nr   )ÚmaxÚmathÚhypot)	ÚpxÚpyÚbbÚx0Úy0Úx1Úy1r,   r-   s	            r   Údist_to_boxrX   x   sK   € Ø�N€BˆˆB�Ü	ˆR�‰U�A�r˜"‘uÓ	€B¤C¨¨2©¨q°"°R±%Ó$8˜rÜ�:‰:�b˜"ÓÐr   é   i°  ÚthkÚatc              #   óV   K  — | ]!  \  }}t        t        t        |d    «      |f–— Œ# y­w)rI   N)rX   rQ   rR   )rD   ÚciÚcs      r   rF   rF   �   s)   è ø€ ÐWÑFV¹U¸RÀ”[¤¤R¨¨6©Ó3°RÔ8ÑFVùs   ‚')z / uE     [SKIP] %s %sT â€” ì½œì•„ì›ƒ ê·¼ì²˜(%dmm)ì—� ë¶€ìž¬ ë�©ì–´ë¦¬ ì—†ì�ŒÚskipu4   ì½œì•„ì›ƒ ê·¼ì²˜ %dmm ì•ˆì—� ë¶€ìž¬ ë�©ì–´ë¦¬ ì—†ì�Œ)r   ÚstatusrZ   ÚevidenceÚwhyrI   c              #   óˆ   K  — | ]:  }t         |d    cxk  r
t        k  sŒn nt        |d   cxk  r
t        k  sŒ4n nd–— Œ< y­w)r   r   r   N)Úcx0Úcx1Úcy0Úcy1)rD   Úccs     r   rF   rF   ™   s3   è ø€ ÐZ™]�r¬c°R¸±UÔ.A¼cÖ.AÄcÈRÐPQÉUÔFYÔVYÖFY”™]ùs   ‚AžA¸
AÚcirclesrL   rH   uX     %s %sT -> í›„ë³´ %dê°œ, ìµœê·¼ì ‘ %.0f x %.0f mm (arc=%d circ=%d seg=%d, ë³µìž¡ë�„ %d)rJ   rK   )r   rZ   ÚnearÚevÚscorec                 ó   — | d    S )Nrl   © )Úts    r   Ú<lambda>rp   Ÿ   s
   € ˜!˜G™*™r   ©Úkeyu+   
ì••ì¶œ ìˆœì„œ(ë³µìž¡í•œ í˜•ìƒ� ìš°ì„ ): %sú, c              #   ó6   K  — | ]  }d |d   |d   fz  –— Œ y­w)z%s(%d)r   rl   Nrn   )rD   ro   s     r   rF   rF       s)   è ø€ Ð@qÑkpÐfgÀÈQÈtÉWÐVWÐX_ÑV`ÐLaÕAaÑkpùs   ‚c           
      ó   — | d   dk(  r| d   | d   g}nª| d   \  }}}}}||k  r|dz  }t        dt        t        ||z
  «      dz  «      «      }t        j                  t        j
                  |||«      «      }	t        t        ||t        j                  |	«      z  z   ||t        j                  |	«      z  z   «      «      }|| d	   k(  r|d d d
…   }|S )Nr   r   r   r   r"   r>   r?   r=   r9   r%   )
rN   ÚintÚabsÚnpÚradiansÚlinspaceÚlistÚzipÚcosÚsin)
r   Úfrmr*   ÚcxÚcyÚrÚa0Úa1Únro   s
             r   Úseg_ptsr†   ¦   sÊ   € Øˆ�y�CÒØˆt‰W�a˜‘gÐ‰à˜e™HÑˆˆB��2�rØ�Š8�R˜3‘Y�RÜ�”3”s˜2˜b™5“z !‘|Ó$Ó%ˆÜ�J‰J”r—{‘{ 2 r¨1Ó-Ó.ˆÜ”�R˜!œBŸF™F 1›I™+Ñ% r¨A¬b¯f©f°Q«i©KÑ'7Ó8Ó9ˆØ
ˆa�‰f‚}˜!™D˜b˜D™'�aØ€Hr   c                 ó  — t        j                  | «      }|d d …df   |d d …df   }}dt        t        j                  |t        j                  |d«      «      t        j                  |t        j                  |d«      «      z
  «      z  S )Nr   r   r   )rx   Úarrayrw   ÚdotÚroll)r*   r8   r5   Úys       r   ÚarearŒ   ²   sf   € Ü
�‰�‹€A˜Aša ˜d™G Q¢q¨! t¡W˜�QØŒs”2—6‘6˜!œRŸW™W Q¨›]Ó+¬b¯f©f°Q¼¿¹ÀÀ1»Ó.FÑFÓGÑGÐGr   )ÚsplitÚdupÚturnc           
      óº  ‡‡‡— | D �cg c]  }t        |«      ‘Œ } }t        | «      D ��cg c]  \  }}|d   dk(  sŒ||f‘Œ }}}d„ Št        «       }|D ]Ç  \  }Š|D ]½  \  }Š||k(  s||v s||v rŒ ‰g ‰d   ¢‰‘­Ž €t        ˆˆfd„dD «       «      sŒ7 ‰g ‰d   ¢‰‘­Ž €t        ˆˆfd„dD «       «      sŒZt	        j
                  ‰d   ‰d   «      t	        j
                  ‰d   ‰d   «      t        z
  k  sŒ›|j                  |«       t        d	xx   d
z  cc<    ŒÇ ŒÉ t        | «      D ��cg c]  \  }}||vsŒ|‘Œ } }}| D ��cg c]  }|d   |d   fD ]  }|‘Œ Œ }}}g }| D ]Ù  Š‰d   dk7  r|j                  ‰«       Œt        ˆˆfd„|D «       D �	ch c]  }	|	�t        |	d«      ’Œ c}	«      }
|
s|j                  ‰«       Œ`‰d   \  }}‰d   \  }}d}|
dgz   D ]E  }	||||z
  z  z   ||||z
  z  z   f}||	||z
  z  z   ||	||z
  z  z   f}|j                  ||ddœ«       |	}ŒG t        dxx   t        |
«      z  cc<   ŒÛ |S c c}w c c}}w c c}}w c c}}w c c}	w )u¤  ë£¨í”„ íƒ�ìƒ‰ ì „ì²˜ë¦¬ â€” ë‘� ê°€ì§€ë§Œ í•œë‹¤(ìˆ«ìž� íŠœë‹� ì—†ì�Œ, ê¸°ì¡´ TOL ìž¬ì‚¬ìš©).
    (1) ë‹¤ë¥¸ ì„ ë¶„ ìœ„ì—� ì™„ì „ížˆ ê²¹ì³� ë†“ì�¸ ì§§ì�€ ì„ ë¶„ ì œê±°(ê°™ì�€ ìž�ë¦¬ì—� ë‘� ë³€ì�´ ìƒ�ê¸°ëŠ” ê²ƒ ë°©ì§€)
    (2) Tìž� êµ�ì°¨(ì„  ë��ì �ì�´ ë‹¤ë¥¸ ì„ ë¶„ì�˜ ì¤‘ê°„ì—� ë‹¿ì�Œ)ì—�ì„œ ê·¸ ì„ ë¶„ì�„ ìª¼ê° ë‹¤.
    ì™œ í•„ìš”í•œê°€: 0031-003 ì²˜ëŸ¼ 10mm ë‹¨ì°¨(2-C10 ëª¨ë”°ê¸°) í‘œê¸°ì„ ì�´ ì™¸ê³½ì„  ì¤‘ê°„ì—� Tìž�ë¡œ ë‹¿ìœ¼ë©´,
    ë��ì �ë§Œ ë§žì¶°ë³´ëŠ” ê¸°ì¡´ ë°©ì‹�ì�€ ê·¸ ì ‘ì �ì�„ 'ì—°ê²°'ë¡œ ë³´ì§€ ëª»í•´ ì°¨ìˆ˜1 ê°€ì§€ì¹˜ê¸°ê°€ ì—°ì‡„ë¡œ ì�¼ì–´ë‚˜
    18ê°œ ì¤‘ 14ê°œê°€ ì§€ì›Œì¡Œë‹¤. ì ‘ì �ì�„ ì‹¤ì œ ì ˆì �ìœ¼ë¡œ ë§Œë“¤ì–´ ì£¼ëŠ” ê²ƒì�´ ì›�ì�¸ êµ�ì •ì�´ë‹¤.r   r   c                 ól  — |d   \  }}|d   \  }}||z
  ||z
  }}||z  ||z  z   }	|	dk  ry | |z
  |z  ||z
  |z  z   |	z  }
d|
cxk  rdk  sy  y ||
|z  z   ||
|z  z   }}t        j                  | |z
  ||z
  «      t        kD  ry t        j                  |	«      }t	        |
|z  d|
z
  |z  «      t        k  ry |
S )Nr   r   g•Ö&è.>ç        ç      ð?r   )rO   rP   r'   ÚsqrtÚmin)rQ   rR   ro   ÚaxÚayÚbxÚbyr,   r-   ÚL2ÚuÚqxÚqyr   s                 r   Ú_footz_prep.<locals>._footÃ   sÛ   € Ø�4‘‰ˆˆB 1 T¡7™&˜"˜bØ�B‘˜˜2™ˆBˆØ�‰U�R˜‘U‰]ˆØ�Š9˜TØ�‰e�R‰Z˜2˜b™5 "™*Ñ$¨Ñ*ˆØ�a”˜#’ t� tØ�a˜‘d‘˜B  2¡™IˆBˆÜ�:‰:�b˜‘e˜R ™UÓ#¤cÒ)°$Ü�I‰I�b‹MˆÜˆq�‰s�Q�q‘S˜!‘GÓ¤Ò#¨DØˆr   r   c              3   ód   •K  — | ]'  }t        j                  ‰d    ‰|   «      t        k  –— Œ) y­w)r   N©rO   Údistr'   ©rD   Úer   ro   s     €€r   rF   z_prep.<locals>.<genexpr>Õ   ó.   øè ø€ ð 6KÙ=I¸”D—I‘I˜a ™g q¨¡tÓ,´Õ3¹\ùó   ƒ-0)r   r   r   c              3   ód   •K  — | ]'  }t        j                  ‰d    ‰|   «      t        k  –— Œ) y­w)r   Nr    r¢   s     €€r   rF   z_prep.<locals>.<genexpr>×   r¤   r¥   rŽ   r   c              3   ó8   •K  — | ]  \  }} ‰||‰«      –— Œ y ­wr2   rn   )rD   rQ   rR   rž   r   s      €€r   rF   z_prep.<locals>.<genexpr>ä   s   øè ø€ Ð=±W©6¨2¨r‘e˜B  A×&±Wùs   ƒé	   r’   r“   r   r�   )ÚdictÚ	enumerateÚsetÚanyrO   r¡   r'   ÚaddÚ
SPLIT_STATÚappendÚsortedr&   r)   )r	   r   r+   r   ÚdropÚjr*   Úpts_allÚoutr›   Úusr–   r—   r˜   r™   ÚprevÚq0Úq1rž   ro   s    `                @@r   Ú_prepr¹   ¹   s½  ú€ ñ  Ó
 ™C�qŒ4��7˜C€CÐ
 Ü )¨#¤ÔC¡™˜˜1°!°F±)¸sÓ2Bˆa�ŠV €EÑCòô ‹5€DÛ‰ˆˆ1Û‰DˆAˆqØ�AŠv˜˜d™ a¨4¡i°ÙÐ!�a˜‘gÐ!˜qÒ!Ð)´#ô 6KÙ=Ió6Kô 3KØLTÙÐ!�a˜‘gÐ!˜qÒ!Ð)´#ô 6KÙ=Ió6Kô 3KØLTÜ�y‰y˜˜4™ ! D¡'Ó*¬T¯Y©Y°q¸±wÀÀ$ÁÓ-HÌ3Ñ-NÓNØ—‘˜”œZ¨Ó.°!Ñ3Ó.±Uñ ð ô # 3œÔ
9™‘��A¨1°Dª=Š1˜€CÑ
9ñ Ô:™#�Q¨¨$©°°4±Ó'9 !ŠqÐ'9ˆq˜#€GÑ:Ø
€CÛˆØˆV‰9˜ÒØ�J‰J�qŒM˜8ÜÜ=±WÔ=óPÙ=ð &'ØABÀô ˜1˜a•[Ø=ñPó QˆáØ�J‰J�qŒM˜8Ø�4‘‰ˆˆB 1 T¡7™&˜"˜bØˆØ�s�e”ˆAØ�t˜R ™U‘|Ñ# R¨$°°2±©,Ñ%6Ð7ˆBØ�q˜"˜R™%‘y‘. " q¨"¨R©%¡y¡.Ð1ˆBØ�J‰J˜b¨°CÑ8Ô9Ø‰Dð	 ô
 	�7Óœs 2›wÑ&Ôð ð €Jùò_ !ùÛCùó4 :ùó ;ùò
Ps'   ˆIªI»IÄ+IÄ8IÅIÆI
c                 ó\   ‡— i Šˆfd„}| D ]  } ||d   «      |d<    ||d   «      |d<   Œ  | S )u_   ë¶„í•  í›„ ì ˆì � ë²ˆí˜¸ë¥¼ ë‹¤ì‹œ ë§¤ê¸´ë‹¤(ê²©ìž� í•´ì‹±ì�€ ì „ì—­ê³¼ ë�™ì�¼, TOL ê·¸ëŒ€ë¡œ).c                 óÒ   •— t        | d   t        z  «      t        | d   t        z  «      f}dD ]&  }dD ]  }|d   |z   |d   |z   f}|‰v sŒ‰|   c c S  Œ( t        ‰«      }|‰|<   |S r$   )r&   r'   r)   )r*   r+   r,   r-   r.   r/   Únds         €r   Ú_nidz_renode.<locals>._nidõ   sy   ø€ Ü�1�Q‘4œ‘8‹_œe A a¡D¬¡H›oÐ.ˆÛˆBÛ �Ø˜‘d˜2‘g˜q ™t B™wÐ'�Ø˜’8 B r¡Fœ]ñ !ð ô �‹Gˆ˜Q�R˜‘U q r   r   r8   r   r9   rn   )r	   r½   r   r¼   s      @r   Ú_renoder¾   ò   s?   ø€ à	€Bô)ó ˆÙ�a˜‘g“ˆˆ#‰©¨a°©g«  #¢ð à€Jr   c                 ó‚   — t        | |«      }t        j                  |d   d   |d   d   z
  |d   d   |d   d   z
  «      S )uc   ì ˆì � frm ì—�ì„œ ì„¸ê·¸ë¨¼íŠ¸ s ê°€ ë»—ì–´ë‚˜ê°€ëŠ” ë°©í–¥ê°�(ì›�í˜¸ëŠ” ì²« í•œ ê±¸ì�Œì�˜ ì ‘ì„ ).r   r   )r†   rO   Úatan2)r   r   r*   s      r   Ú_angrÁ     sF   € ä��3‹€AÜ�:‰:�a˜‘d˜1‘g˜a ™d 1™g‘o q¨¡t¨A¡w¨q°©t°A©w¡Ó7Ð7r   c                 ó@  ‡ ‡‡— t        t        ‰ «      «      Š dgt        ‰ «      z  }	 t        j                  «       }t        ‰ «      D ]+  \  }}||   sŒ||d   xx   dz  cc<   ||d   xx   dz  cc<   Œ- t        ‰ «      D ��cg c]$  \  }}||   sŒ||d      dk  s||d      dk  sŒ#|‘Œ& }}}|sn|D ]  }d||<   Œ	 Œ—t        ‰ «      D ��cg c]  \  }}||   sŒ|‘Œ c}}Š t        ‰ «      dk  ryt        j                  t        «      }t        ‰ «      D ]=  \  }}||d      j                  ||d   f«       ||d      j                  ||d   f«       Œ? ˆ fd	„}i Š‰ D ]2  }‰j                  |d   |d
   «       ‰j                  |d   |d   «       Œ4 t        ‰ˆfd„¬«      }|dfgt        t        ‰ «      «      D �cg c]  }‰ |   d   |f‘Œ c}z   }	t        «       }
g }|	D �]b  \  }Š‰�‰|
v rŒ‰€)||   D ��cg c]	  \  }}||f‘Œ }}}|sŒ, ||d|«      \  Š}‰g}|
j                  ‰«       ‰ ‰   d   |k(  r‰ ‰   d   n‰ ‰   d   }d}	 ||   D ��cg c]  \  }}||
vsŒ||f‘Œ }}}|st        ˆfd„||   D «       «      s||k(  rd}n= |||d   |«      \  }}|
j                  |«       |j                  |«       |}||k(  rd}nŒ||sŒêt        |«      dk\  sŒùg }|}|D ]@  }t        ‰ |   |«      }|j!                  |dd «       |‰ |   d   k(  r‰ |   d   n‰ |   d   }ŒB t        |«      dk\  s�ŒR|j                  |«       �Œe |sddt        ‰ «      fS |j#                  t$        d¬«       |d   |dd t        ‰ «      fS c c}}w c c}}w c c}w c c}}w c c}}w )uI   sub: ì„¸ê·¸ë¨¼íŠ¸ dict ë¦¬ìŠ¤íŠ¸ â†’ (ì™¸ê³½ ì �ì—´, ë‚´ë¶€ì»· ë¦¬ìŠ¤íŠ¸)Tr8   r   r9   r   Fr   )NNr   c                 ó®   •‡ ‡— |€t         j                   dz  Šnt        ‰|   ‰ «      Št        |ˆˆ ˆfd„¬«      }||d   k7  rt        dxx   dz  cc<   |S )Nr   c                 óV   •— t        ‰| d      ‰«      ‰z
  dt        j                  z  z  S )Nr   r   )rÁ   rO   Úpi)ÚioÚa_inÚcurr	   s    €€€r   rp   z'outline.<locals>.pick.<locals>.<lambda>   s&   ø€ ¬¨c°"°Q±%©j¸#Ó)>ÀÑ)EÈ!ÌDÏGÉGÉ)Ò(Tr   rq   r   r�   r   )rO   rÅ   rÁ   r•   r®   )rÈ   Úi_inÚcandÚbestrÇ   r	   s   `   @€r   Úpickzoutline.<locals>.pick  sS   ú€ Øˆ<Ü—G‘G�8˜A‘:‰Dä˜˜D™	 3Ó'ˆDÜ�4ÕTÔUˆØ�4˜‘7Š?œJ vÓ.°!Ñ3Ó.Øˆr   r   r   c                 ó$   •— ‰|    d   ‰|    d   fS )Nr   r   rn   )r…   Únposs    €r   rp   zoutline.<locals>.<lambda>(  s   ø€  d¨1¡g¨a¡j°$°q±'¸!±*Ñ%=r   rq   Nc              3   ó.   •K  — | ]  \  }}|‰k(  –— Œ y ­wr2   rn   )rD   rE   ÚoÚstarts      €r   rF   zoutline.<locals>.<genexpr>8  s   øè ø€ Ð7©h¡d a¨�q˜E•z©hùs   ƒr%   )rr   Úreverser   )r¾   r¹   r)   ÚcollectionsÚCounterrª   Údefaultdictr{   r¯   Ú
setdefaultr•   Úranger«   r­   r¬   r†   ÚextendÚsortrŒ   )r	   ÚaliveÚdegrE   r   r±   ÚadjrÌ   Úseed_nÚorderÚused_sÚloopsÚn0rÐ   rÊ   Ú_oÚcycrÈ   r   ÚnxtÚptsr¼   ÚpprÎ   rÑ   s   `                      @@r   Úoutlinerç     så  ú€ ä
”%˜“*Ó
€CØˆF”3�s“8‰O€EØ
Ü×!Ñ!Ó#ˆÜ˜c–N‰DˆAˆqØ�Q‹x˜˜Q˜s™V›¨Ñ)›¨3¨q°©v«;¸!Ñ+;¬;ð #ä'¨œnÔb™n‘d�a˜°°a³¸cÀ!ÀCÁ&¹kÈAºoÐQTÐUVÐWZÑU[ÑQ\Ð_`ÓQ`’˜nˆÑbÙ�UÛˆA %�u˜Q’x�ð ô # 3œÔ
4™‘��A¨5°«8Š1˜Ò
4€CÜ
ˆ3ƒx�!‚|˜MÜ
×
!Ñ
!¤$Ó
'€CÜ˜#–‰ˆˆ1ØˆAˆc‰F‰×Ñ˜A˜q ™v˜;Ô'¨¨Q¨s©V©×);Ñ);¸QÀÀ#Á¸KÕ)Hð ôð €DÛˆØ�‰˜˜#™  $¡Ô(¨$¯/©/¸!¸C¹&À!ÀDÁ'Õ*Jð ä�Ó=Ô>€FØ�dˆ^Ð¼%ÄÀCÃ¼/ÓJ¹/°Q  Q¡¨¡¨aÒ 0¸/ÑJÑJ€Eä‹U€F˜B�EÜ‰	ˆˆEØÐ ¨&¡°(Øˆ=Ø'*¨2¢wÔ/¡w™t˜q !�Q˜’F wˆDÑ/Ù˜Ù˜R  tÓ,‰IˆE�2Øˆgˆ�v—z‘z %Ô(Ø!$ U¡¨C¡°BÒ!6ˆc�%‰j˜Šo¸CÀ¹JÀs¹OˆØˆØØ&)¨#¢hÔB¡h™d˜a °!¸6²/�A�q’6 hˆCÑBÙÜÓ7¨c°#ªhÓ7Ô7¸3À"º9È4ÀbØÙ˜˜S ™W cÓ*‰DˆAˆq¨F¯J©J°q¬M¸3¿:¹:Àa¼=ÐPQÈ#Ø�bŠy˜t˜" Uð ò ”#�c“(˜a“-ØˆC˜2�bÛ�Ü˜S ™V RÓ(�¨#¯*©*°R¸¸°WÔ*=Ø$&¨#¨a©&°©+Ò$5�S˜‘V˜C’[¸3¸q¹6À#¹;‘ð ô �3‹x˜1Œ}˜eŸl™l¨3Ö/ð+ ñ, ˜˜t¤S¨£XÐ-Ð-Ø	‡J�J”4 €JÔ&Ø�‰8�U˜1˜2�Y¤ C£Ð(Ð(ùók cùó 5ùò.  Kùó 0ùó Cs6   ÂNÂNÂ(NÃN	ÃN	Æ>NÇ:NÉNÉ"N)ÚPathc                 óŠ  ‡1‡2— t        «       at        |   }t        |d   D �cg c]  }t        |   ‘Œ c}«      \  }}}|€dd|z  fS t        j                  |«      }t        t        j                  |dd…df   «      «      t        t        j                  |dd…df   «      «      }
}	t        t        |	|d   z
  «      |d   z  t        |
|d   z
  «      |d   z  «      }t        d	t        |«      |	|
|d   |d   |d
z  fz  «       |dkD  r
dd|d
z  z  fS |d   \  }}}}t        d   D �cg c]4  }||d   cxk  r|k  sŒn n ||d   cxk  r|k  sŒ$n nt        |d   «      ‘Œ6 }}|D �cg c]  }|sŒ|‘Œ	 }}|D �cg c]  }t        j!                  |«      sŒ|‘Œ }}|st        |«      dk\  r9ddt        |«      t        |«      dj#                  d„ |xs |dd D «       «      fz  fS t%        |«      }|D �cg c]F  }t'        |«      d
kD  sŒ|j)                  t        j                  |«      «      j+                  «       sŒE|‘ŒH }}t-        t        «      D ]Ì  \  }}||k(  rŒ|d   \  }}}}||k  r||k\  r
||k  r||k  sŒ+t        |d   D �cg c]  }t        |   ‘Œ c}«      \  }}}|r|gng |xs g z   D ]j  }t'        |«      d
kD  sŒ|j)                  t        j                  |«      «      j+                  «       sŒE|j/                  |«       t        j1                  |«       Œl ŒÎ g } t        d   D ]Õ  \  }}}!}"}#|d   \  }}}}||!cxk  r|k  rn n||"cxk  r|k  sn Œ/t        j2                  t        j4                  dddd¬«      «      }t
        j6                  |!|#t        j8                  |«      z  z   |"|#t        j:                  |«      z  z   f   }$|j)                  |$«      j+                  «       sŒÂ| j/                  |!|"|#f«       Œ× t        dt        |«      t        | «      t=        | D �%ch c]  }%t?        |%d   dz  «      ’Œ c}%«      fz  «       |dd…df   jA                  «       |dd…df   jA                  «       cŠ1Š2ˆ1ˆ2fd„}&	 |D �cg c]
  } |&|«      ‘Œ }'}|'| D �!�"�#cg c]W  \  }!}"}#tB        jD                  jG                  |#tC        jH                  |!‰1z
  |"‰2z
  d«      tC        jH                  ddd«      «      ‘ŒY c}#}"}!z  }'tB        jJ                  jM                   |&|«      |'tC        jH                  ddt        |«      «      «      }(tC        jN                  d«      jQ                  |(g«      })tR        d| jU                  dd«      z  z   }*tB        jV                  jY                  |)|*dd¬ «       t[        j\                  |*«      }+|+jb                  sy#| je                  d«      d   dz   | je                  d«      d   z   }-tf        jh                  d$|-z  z   }.tj        jl                  jo                  tp        d%z   |.z   «      rdd&|.z  fS |+jY                  tp        d%z   |.z   «       |+jr                  D �/cg c]  }/t?        t        |/«      d«      ‘Œ }0}/t        d'|.t        |+jt                  «      t        |+jv                  «      |+jb                  |0fz  «       d(ty        | d)tf        jz                  d*z   |.z   ||0t}        t        |+jv                  «      «      t        |+jb                  «      t        | «      t        |«      t        |   d+   t        t        |   d   «      t        |   d+   t        | «      z   dz  z   ¬,«      fS c c}w c c}w c c}w c c}w c c}w c c}w c c}%w c c}w c c}#}"}!w # t^        $ r},dd!ta        |,«      dd" z  fcY d},~,S d},~,ww xY wc c}/w )-uk   ë�©ì–´ë¦¬ í•˜ë‚˜ë¥¼ ë¶€ìž¬ë¡œ ì••ì¶œ ì‹œë�„. ì„±ê³µí•˜ë©´ (True, ê²°ê³¼dict), ì‹¤íŒ¨í•˜ë©´ (False, ì‚¬ìœ ).rH   NFu*   ë‹«ížŒ ì™¸ê³½ ë£¨í”„ ì—†ì�Œ(ë‚¨ì�€ seg=%d)r   r   rJ   rK   uE     ì™¸ê³½ %dì �, %.1f x %.1f mm (ë�©ì–´ë¦¬ %.1f x %.1f, ì˜¤ì°¨ %.1f%%)éd   g¸…ëQ¸®?u?   ì™¸ê³½/ë�©ì–´ë¦¬ bbox %.0f%% ë¶ˆì�¼ì¹˜(ìœ¤ê³½ ì˜¤ì�¸ì‹� ì�˜ì‹¬)rI   Útextsr   r   r=   u\   ì™¸ê³½ ì•ˆ ê¸€ìž� %dê°œ(í‘œì œëž€ ì¦�ê±° %dê°œ) â€” ë�„ë©´í‹€/í‘œì œëž€ ê²½ê³„ë¡œ íŒ�ì •(%s)rs   c              3   ó&   K  — | ]	  }|d d –— Œ y ­w)NrA   rn   )rD   r   s     r   rF   zbuild_one.<locals>.<genexpr>o  s   è ø€ Ð#QÑ4P¨q A c r¤FÑ4Pùs   ‚ri   r>   é0   )Úendpointu(     ë‚´ë¶€ì»· %dê°œ, í™€ %dê°œ (ì§€ë¦„ %s)c                 ó  •— | D �cg c]%  }t        j                  |d   ‰z
  |d   ‰z
  d«      ‘Œ' }}|d   |d   z
  j                  dkD  r|j                  |d   «       t         j                  j                  |d¬«      S c c}w )Nr   r   r%   g�íµ ÷Æ°>F)ÚforConstruction)ÚcqÚVectorÚLengthr¯   ÚWireÚmakePolygon)rå   r*   r/   ÚoxÚoys      €€r   Úwirezbuild_one.<locals>.wire�  s{   ø€ Ù58Ó9±S°ŒR�Y‰Y�q˜‘t˜B‘w  !¡ R¡¨Õ+°SˆÐ9Øˆa‰D��2‘‰J×Ñ Ò% q§x¡x°°!±¤~Ü�w‰w×"Ñ" 1°eÐ"Ó<Ð<ùò :s   †*A?ÚXYz
\_p_%s.stlÚ-Ú_gš™™™™™¹?)Ú	toleranceÚangularToleranceu   ì••ì¶œ ì‹¤íŒ¨: %sr@   )Fu?   watertight ì•„ë‹˜(ë‹«ížŒ ìž…ì²´ê°€ ì•„ë‹ˆë�¼ OBJ ì±„íƒ� ë¶ˆê°€)ú%s.objÚ\uB   ì�´ë¯¸ ì¡´ìž¬í•˜ëŠ” íŒŒì�¼ %s â€” ë�®ì–´ì“°ê¸° ê¸ˆì§€ë¡œ ê±´ë„ˆëœ€z4  OBJ -> %s  verts=%d faces=%d watertight=%s bbox=%sTr   Ú/rL   )r   r`   ÚfilerZ   ÚextentsÚfacesÚ
watertightÚnholesÚninnerrL   rl   )@r«   Ú
_slot_lastÚcompsrç   rC   rx   rˆ   ÚfloatÚptprN   rw   Úprintr)   Úd1r   Ú
_FRAME_PATÚsearchÚjoinrè   rŒ   Úcontains_pointsÚallrª   r¯   r­   ry   rz   Úc_r}   r~   r°   r&   r•   rñ   rô   Ú
makeCirclerò   ÚSolidÚextrudeLinearÚ	WorkplaneÚ	newObjectÚSCRr
   Ú	exportersÚexportÚtrimeshÚloadÚ	ExceptionÚstrÚis_watertightr�   ÚproductÚ
OBJ_PREFIXÚosÚpathÚexistsÚFABr  Úverticesr  r©   ÚFAB_RELrv   Úbool)3r   rZ   r]   r^   rE   ÚouterÚrestÚnsubÚoaÚow_Úoh_ÚfitrT   rU   rV   rW   ro   Ú
inside_txtr   Úframe_evÚopathÚlÚinnerÚcjÚc2Úbx0Úby0Úbx1Úby1Úo2Úrest2rû   Úholesr€   r�   r‚   ÚringrK   rø   ÚiwÚsolidÚresÚstlÚmÚexÚtailÚfnr/   Úextrö   r÷   s3                                                    @@r   Ú	build_onerH  O  s  ù€ ô “€JÜˆb‰	€AÜ°!°F²)Ó <±)¨Q¤ a£°)Ñ <Ó=Ñ€Eˆ4�Ø€}ØÐBÀTÑIÐIÐIÜ	�‰�%‹€BÜ”R—V‘V˜Bšq !˜t™HÓ%Ó&¬¬b¯f©f°Rº¸1¸±XÓ.>Ó(?ˆ€Cä
Œc�#�a˜‘f‘*‹o˜a ™fÑ$¤c¨#¨a°©f©*£o°a¸±fÑ&<Ó
=€CÜ	Ð
QÜ�‹Z˜˜c 1 S¡6¨1¨S©6°3°s±7Ð;ñ<ô =à
ˆT‚zØÐWÐ[^Ð_bÑ[bÑcÐcÐcð
 �v‘Y�N€BˆˆB�ô -/¨wªKÓa©K q¸2ÀÀ1ÁÔ;KÈÖ;KÐPRÐVWÐXYÑVZÔP`Ð^`ÖP`”*˜Q˜q™TÕ"¨K€JÐaÙ'Ó-™Z˜ª1’!˜Z€JÐ-Ù%Ó>™:�a¬×):Ñ):¸1Õ)=’˜:€HÐ>Ù”3�z“? aÒ'ØÐuÜ˜j›/¬3¨x«=ØŸ)™)Ñ#Q°XÒ5KÀÈRÈaÑ4PÓ#QÓQðSñSð Tð 	Tô �‹H€EÙÓ[™�1¤ Q£¨#£°%×2GÑ2GÌÏÉÐQRËÓ2T×2XÑ2XÕ2ZŠQ˜€EÐ[ô
 œEÖ"‰ˆˆBØ�Š8ØØ ™ZÑˆˆS�#�sØ�c’	˜c Rši¨C°2ªI¸#Àº)ØÜ°°F²Ó<±¨A¤ Q£°Ñ<Ó=‰ˆˆE�1Ù�2‘$ "¨ª°"Ô5ˆAÜ�A‹w˜‹} ×!6Ñ!6´r·x±xÀ³{Ó!C×!GÑ!GÕ!IØ—‘˜Q”Ü—‘˜rÕ"ñ 6ð #ð €EÜ˜iœ=‰ˆˆ1ˆb�"�aØ˜6™‰ˆˆB��BØ�b”˜B• 2¨¤>¨r¤>°HÜ�J‰J”r—{‘{ 1 c¨2¸Ô>Ó?ˆÜ�u‰u�R˜!œBŸF™F 1›I™+Ñ% r¨A¬b¯f©f°Q«i©KÑ'7Ð7Ñ8ˆØ× Ñ  Ó&×*Ñ*Õ,¨e¯l©l¸BÀÀA¸;Õ.Gð )ô 
Ð
4Ü�‹Zœ˜U›¤VÁEÓ,JÁE¸q¬U°1°Q±4¸±6­]ÀEÑ,JÓ%KÐLñMô Nð ’�1�‰X�\‰\‹^˜R¢ 1 ™XŸ\™\›^€F€Bˆõ=ð	9Ù$Ó%™u˜!‰d�1�g˜uˆÐ%Ø
ÑfkÕlÑfkÑYbÐY[Ð]_ÐabŒr�w‰w×!Ñ! !¤R§Y¡Y¨r°"©u°b¸±e¸QÓ%?ÄÇÁÈ1ÈaÐQRÓASÕTÐfkÓlÑlˆÜ—‘×&Ñ&¡t¨E£{°B¼¿	¹	À!ÀQÌÈcË
Ó8SÓTˆÜ�l‰l˜4Ó ×*Ñ*¨E¨7Ó3ˆÜ�] R§Z¡Z°°SÓ%9Ñ9Ñ:ˆÜ
�‰×Ñ˜C °ÀcÐÔJÜ�L‰L˜Óˆð �?Š?ØWà�8‰8�C‹=˜Ñ˜cÑ! B§H¡H¨S£M°!Ñ$4Ñ4€DÜ	×	Ñ	˜h¨™oÑ	-€Bä	‡w�w‡~�~”c˜D‘j 2‘oÔ&ØÐZÐ]_Ñ_Ð_Ð_Ø‡H�HŒS�4‰Z˜"‰_ÔØ'(§y¢yÓ
1¡y !Œ5”�q“˜1Õ y€CÐ
1Ü	Ð
@Ø”�Q—Z‘Z“¤# a§g¡g£,°·±ÀÐEñFô Gà”˜ D¬w¯©¸sÑ/BÀ2Ñ/EÈ3Ø!¬¬S°·±«\Ó):Ü!% a§o¡oÓ!6¼sÀ5»zÜ  ›Z¬e°B©i¸Ñ.?Ü¤ b¡	¨&Ñ 1Ó2´e¸B±iÀÑ6GÌÈEË
Ñ6RÐTUÑ5UÑUô	Wð Wð Wùòi !=ùò* bùÚ-ùÚ>ùò \ùò  =ùò -Kùò &ùÜløô ò 9ØÐ)¬C°«G°C°R¨LÑ8Ð8Õ8ûð9üò 2s‘   ¢](Ä%]-Ä9]-Å]-Å$]2Å,]2Å6]7Æ]7Ç/]<È2]<È6]<Ê^
Ð ^Ñ<^ Ò ^Ò	^ ÒA^
Ó4C^ Ù!_ Þ^ Þ	^=Þ ^8Þ2^=Þ8^=u$   
===== %s  %sT  (ë³µìž¡ë�„ %d) =====rl   rþ   rú   rû   rÿ   rj   g{®Gáz”?u6     (ê¸°ì¡´ ë¶€ìž¬ê°€ ì“°ë�˜ ë�©ì–´ë¦¬ %.0fx%.0f ì˜ˆì•½)u'     (ê¸°ì¡´ OBJ í�¬ê¸° í™•ì�¸ ì‹¤íŒ¨: %s)é<   u@     [ê±´ë„ˆëœ€] ì�´ë¯¸ ì™„ë£Œë�œ ë¶€ìž¬ %s â€” ë�®ì–´ì“°ê¸° ê¸ˆì§€rk   uH   ì�´ë¯¸ ì™„ë£Œë�œ ë¶€ìž¬(%s) â€” ë�®ì–´ì“°ê¸° ê¸ˆì§€ë¡œ ìž¬ìƒ�ì„± ì•ˆ í•¨u?     í›„ë³´: %.0f x %.0f mm, ì½œì•„ì›ƒê±°ë¦¬ %.0fmm, seg=%d arc=%dc              #   ól   K  — | ],  }t        |d    d   |d    d   t        d   «      |d   d   f–— Œ. y­w)r[   r   r   rI   r   N)rX   r^   )rD   Úb2s     r   rF   rF   Ó  sC   è ø€ ð 'Ù%˜ô " " T¡(¨1¡+¨r°$©x¸©{¼A¸f¹IÓFÈÈ4ÉÐQRÉÔTÙ%ùs   ‚24uS       -> íƒˆë�½: ì†Œìœ ê¶Œ â€” ì�´ ë�©ì–´ë¦¬ì—� ë�” ê°€ê¹Œìš´ ì½œì•„ì›ƒì�€ %s(%.0fmm)u>   %.0fx%.0fmm: ì†Œìœ ê¶Œ ì¶©ë�Œ(%s ê°€ %.0fmm ë¡œ ë�” ê°€ê¹Œì›€)u       -> íƒˆë�½: %sz%.0fx%.0fmm: %sra   z\multi_result.jsonF)Úensure_asciiÚindentu     ==> ì±„íƒ�u)   í›„ë³´ %dê°œ ëª¨ë‘� ê²Œì�´íŠ¸ íƒˆë�½ | %sz ;; u+     ==> ê±´ë„ˆëœ€(í›„ë³´ %dê°œ ì „ë¶€ íƒˆë�½)c              #   ó2   K  — | ]  }|d    dk(  sŒd–— Œ y­w)r`   r   r   Nrn   )rD   r‚   s     r   rF   rF   ð  s   è ø€ Ð	4‘W�  (¡¨tÓ 3Œ!‘Wùs   ‚�u-   
===== ìš”ì•½: ì±„íƒ� %d / ê±´ë„ˆëœ€ %d =====r`   u)     [OK]   %-18s %5sT %s  í™€%d  ê·¼ê±°: %sr  r  r   é2   z	  [SKIP] Ú18r   rb   én   )�Ú__doc__ÚjsonrO   Úsysr   rÓ   Únumpyrx   r   Ú	FRAME_PATr  r   r  r%  r'   ÚargvÚDRYÚ
startswithÚONLYr  Úopenr  Úd2Úblocksr9   rÖ   rS   Úhaver  r)   ÚvbrC   r3  r¯   r8   r€   r�   r‚   r   r£   r}   ry   r~   r(   r0   r3   r6   r<   rÕ   r{   Úcomprª   rE   r  ÚitemsrG   rH   Ú_pprƒ   r„   rz   rN   rv   rw   ro   rØ   r|   rˆ   r	  rå   r•   rT   rU   rV   rW   rJ   rK   ÚsumrL   r©   rX   Úresults_preÚCAND_NÚCAND_MMÚtasksr   rZ   rQ   rR   r°   rj   r  r4   rk   Úc0rd   rf   re   rg   Úncirc0rl   rÙ   Úexitr†   rŒ   r®   r¹   r¾   rÁ   rç   Úmatplotlib.pathrè   Úcadqueryrñ   r  r"  Úresultsr«   ÚusedrH  r!  r�   Ú_fnr#  r$  r  Úe0Úddr]   r^   r­   r  rD  r  ÚtriedÚgotÚownerr   r´   Úupdater  ÚdumpÚnok)r8   r9   rq  r]   s   0000r   Ú<module>rx     sf  ðñ÷ 5× 4× 4Û ð ×Ñ€
òKð ‡k�k€Ø‡k�k€Ø	€Ø�—‘Ð€Ø—8‘8˜A˜B‘<Ó:‘<ˆa q§|¡|°DÕ'9Š�<Ñ:€à€T‡Y�Y‰t�C˜.Ñ(°7Ô;Ó<€Ø€T‡Y�Y‰t�C˜/Ñ)°GÔ<Ó=€ð 
ˆ�‰‘4˜Ð1Ñ1¸GÔDÓ	EÀdÑ	K€Û	€AØ‡L�L�˜	Õ"ð 
à
ˆc�h‰hÑØ	ˆ�‰‘4˜Ð1Ñ1¸GÔDÓ	EÀdÑ	K€BÙ &Ó'¡˜1ˆAˆd‰G�A‹J Ñ'€DØ
™"Ó7™"�Q  $¡¨¡
°$Ò 6Šq˜"Ñ7Ñ7€FÙ	Ð
EÉÈRËÑRUÐV\ÓR]ÐH^Ñ
^Ô_ð ˆc�h‰hÑØ	ˆ�‰‘4˜Ð1Ñ1¸GÔDÓ	EÀdÑ	K€BÙ &Ó'¡˜1ˆAˆd‰G�A‹J Ñ'€DØ
™"Ó7™"�Q  $¡¨¡
°$Ò 6Šq˜"Ñ7Ñ7€FÙ	Ð
>Á#ÀbÃ'É3ÈvË;ÐAWÑ
WÔXð 
€Ø	ˆGŒ€AØ‡K�K˜˜!™˜a ™d�|¨A¨a©D°!°A±$¨<ÀÑEÕFð 
à	ˆFŒ€AØ˜˜�e�O€BˆˆAˆq�!Ø‡K�K˜˜Q˜x˜tŸx™x¨¨¯©°Q«Ó8Ñ8Ñ8¸"¸qÀÀÇÁÈ,È$Ï,É,ÐWXË/ÓAZÑ?ZÑ:ZÐ[Ø˜Q˜x˜tŸx™x¨¨¯©°Q«Ó8Ñ8Ñ8¸"¸qÀÀÇÁÈ,È$Ï,É,ÐWXË/ÓAZÑ?ZÑ:ZÐ[Ø b¨"¨a°°AÐ%6ñ8õ 9ð 
ð 
€ò)ð 	€òòó 
€AÙˆq�‰w‹<™˜Q˜t™W›€D€A€qØ‡N�N�1�aÔ˜#Ÿ.™.¨¨AÔ.Ø˜€N€A€c�FˆAˆc‰FÙˆˆ1…Ið	 
ð €{×Ñ˜tÓ$€Ù�dŽO�D€A€qØ‰ˆa�‰f‹Ñ×Ñ˜aÕ ð ð 	€Ø—*‘*—,�J€Dˆ$Ø‘�T“Ô!˜cÔ! Hð €CÛˆØ�‰GˆØˆV‰9˜ÒØ ! %¡ÑˆB��A�r˜2Ø�RŠx˜˜s™˜Ø�—
‘
˜;˜2Ÿ;™; r¨2©s°1±c¹#¸bÀ2¹g»,ÈÑ:JÓ6KÓ/LÓMÓNˆAØ�J‰J‘s˜2  F B§F¡F¨1£I¡Ñ-¨r°A¸¸¿¹¸q»	±MÑ/AÓBÕCà�J‰J˜˜$™  4¡Ð)Õ*ð ð ˆ"�(‰(�3˜Ó
€CØ�W‰W�Q‹Z�F€Bˆ #§'¡'¨!£*™˜˜RØˆb‰5�"�R‘%€D€A€qð ‘�Q˜“Ô!˜TÕ!¡c¨!¨Q£i°2¢o¹ÙÑ9™$Ó9Ó9€DØ	‡L�L‘˜4 d°"°b¸"¸bÐ1AÀQÈ!ÐRVÔWÖXð9 ñ: Ð&©¨U«Ñ3Ô 4òð
 €ð 
€Ø
€à
€Ü	€AØ�‰g�a‰j˜!˜E™( 1™+€G€BˆÙ�˜$‘ Øˆt‰W�F€BˆáÑWÁiÐPUÔFVÓWÔXôÙXñ  ˜˜Rà�WŠ}ð �ŠHØXòà%˜vð'€Dð 
�‰�A—E‘E˜' 2Ó&Ó	'€BÙÙÐUÐY[Ð]`ÐbiÐXjÑjÔkØ×Ñ™4 2¨f¸#ÈØ$ZÐ]dÑ$dôfô 	gàà	ˆt�A‰w�q‰zÑ	€BØ˜F™Ñ€Cˆˆc�3ÙÑZ˜R 	š]ÓZÓZ€FØˆv‰J˜‰N˜V a™ZÑ'©#¨b°©j«/Ñ9€EÙ	Ð
dØ�‘c˜$“i  C¡¨"¨S©'°2°f±:¸vÁsÈ2ÈfÉ:ÃÐX]Ð^ñ_ô `à	‡L�L‘˜ ¨4°B¸eÔDÖEð+ 
ð. ‡
�
Ñ$€
Ô %Ù Ð4°t·y±yÑ@qÑkpÓ@qÓ7qÑqÔ ráØ€C‡H�HˆQ„Kò
òHð  ¨AÑ.€
ò6òrò8ò=)õ~ !Û Û ã 	Ù
ˆ{Ó
€Ù
ƒu€ò]WôB 
€AØ�‰g�q˜‘x€G€BˆÙ	Ð
1°R¸¸aÀ¹jÐ4IÑ
IÔJð ×
Ñ
˜x¨2¯8©8°C«=¸Ñ+;¸cÑ+AÀBÇHÁHÈSÃMÐRSÑDTÑ+TÑUÑ
U€CØ	‡w�w‡~�~�c˜D‘j 3Ñ&Ô'ð		LØ�—‘˜c D™j¨3Ñ.Ó/×7Ñ7ˆBØ˜Fœ)‘��BØ˜"‘I�Ù�q˜‘v˜b ™e‘|Ó$¡S¨¨A©°£]Ñ2°TÓ9¹cÀ!ÀCÁ&ÈÈAÉÁ,Ó>OÑPSÐTVÐWXÑTYÐ[\ÓP]Ñ>]Ð`dÓ>dØ—H’H˜R”LÙÐRÐVWÐX[ÑV\Ð^_Ð`cÑ^dÐUeÑeÔfÙð $ñ 	ÐPÐSVÑVÔWØ�‰‘t˜r¨&°cÀAÀdÁGØ jÐmpÑ pôrô 	sáØ€EØ
€CØ�F”)‰ˆˆBØ�‰:ØØ�"‰IˆÙÐOØ�3‘˜˜3™ ¡S¨¨6©£^°Q°v±YÐ?ñ@ô 	Añ ñ 'Ù%ó'ó (ˆà�‰8�rŠ>ÙÐgÐkpÐqrÑksÐuzÐ{|Ñu}Ðj~Ñ~ÔØ�L‰LÐYØ˜c™F A c¡F¨E°!©H°e¸A±hÐ?ñ@ô AàÙ˜B  RÓ(‰ˆˆCÙØ�HŠH�RŒLà�KŠK�
Ô#ØˆCÙÙÐ! CÑ'Ô(Ø�‰Ð&¨!¨C©&°!°C±&¸#Ð)>Ñ>Õ?ð3 ñ4 Ø˜D™'ˆˆJ‰Ø�‰�sÔàˆ�	Š	�'™4 Ð&;Ñ ;¸SÈ7ÔSØ$¨Qõ	0áˆnÖà�‰‘t˜r¨&°cÀAÀdÁGØ KÉsÐSXËzÐ[a×[fÑ[fÐglÓ[mÐNnÑ nôpô 	qáÐ;¹cÀ%»jÑHÖIð{ 
ð~ 
€‡	‚	ˆ'‘4˜Ð3Ñ3°SÀ7ÔKÐZ_ÐhiÕ jÙ	Ñ	4‘WÓ	4Ó4€Ù Ð6¸#¹sÀ7»|ÈCÑ?OÐ9PÑPÔ QÛ	€AØˆ�{�dÒÙÐ9Ø�4‘˜!˜E™( A i¡L°!°H±+¸q¿u¹uÀZÐQSÓ?TÐUXÐVXÐ?YÐZñ[õ 	\ò 	 Q t¤W¨a°©h°t¸©nÐ=Õ>ñ 
ùòq ;ùò (ùÚ7ùò (ùÚ7ùó|øðj	 ò 	LÙÐ;¹cÀ"»gÀcÀr¸lÑJ×KÒKûð	Lús[   Á'i#Á>i#Ä*i(Åi-Åi-Æ%i2Æ<i7Çi7Õ6i<Ý1Ajß!jß'(jêj&êj!ê!j&