Ë
    ^ãj^  ã                  ó°   — d dl mZ d dlmZmZ d dlmZmZ d dlm	Z	m
Z
mZmZ d dlmZmZ d dlmZmZ erd dlmZ dd„Zdd	„Z	 	 	 	 	 	 dd
„Z	 	 	 	 	 	 dd„Zy)é    )Úannotations)ÚTYPE_CHECKINGÚcast)ÚFillTypeÚLineType)Úconcat_codes_or_noneÚconcat_offsets_or_noneÚconcat_points_or_noneÚconcat_points_or_none_with_nan)Úas_fill_typeÚas_line_type)Úcheck_filledÚcheck_linesNc                óZ  — t        |«      }|t        j                  t        j                  fv r| S t	        | |«       t        | d   «      dk  r| S t        rt        d| «      } t        | d   «      }|t        j                  k(  r0t        rt        d| «      } |€dgdgf}|S |gt        | d   «      gf}|S |t        j                  k(  r0t        rt        d| «      } |€dgdgf}|S |gt        | d   «      gf}|S |t        j                  k(  rBt        rt        d| «      } |€
dgdgdgf}|S t        | d   «      }|gt        | d   «      g|gf}|S |t        j                  k(  rBt        rt        d	| «      } |€
dgdgdgf}|S t        | d   «      }|gt        | d   «      g|gf}|S t        d
|› �«      ‚)a¨  Return the specified filled contours with chunked data moved into the first chunk.

    Filled contours that are not chunked (``FillType.OuterCode`` and ``FillType.OuterOffset``) and
    those that are but only contain a single chunk are returned unmodified. Individual polygons are
    unchanged, they are not geometrically combined.

    Args:
        filled (sequence of arrays): Filled contour data, such as returned by
            :meth:`.ContourGenerator.filled`.
        fill_type (FillType or str): Type of :meth:`~.ContourGenerator.filled` as enum or string
            equivalent.

    Return:
        Filled contours in a single chunk.

    .. versionadded:: 1.2.0
    r   é   zcpy.FillReturn_Chunkz cpy.FillReturn_ChunkCombinedCodeNé   z"cpy.FillReturn_ChunkCombinedOffsetz&cpy.FillReturn_ChunkCombinedCodeOffsetz(cpy.FillReturn_ChunkCombinedOffsetOffsetzInvalid FillType )r   r   Ú	OuterCodeÚOuterOffsetr   Úlenr   r   r
   ÚChunkCombinedCoder   ÚChunkCombinedOffsetr	   ÚChunkCombinedCodeOffsetÚChunkCombinedOffsetOffsetÚ
ValueError)ÚfilledÚ	fill_typeÚpointsÚret1Úret2Úret3Úouter_offsetsÚret4s           úS/var/www/html/metafoliadorv2/venv/lib/python3.12/site-packages/contourpy/dechunk.pyÚdechunk_filledr$      s  € ô$ ˜YÓ'€Ià”X×'Ñ'¬×)=Ñ)=Ð>Ñ>àˆä�˜Ô#Ü
ˆ6�!‰9ƒ~˜ÒàˆåÜÐ,¨fÓ5ˆÜ" 6¨!¡9Ó-€Fà”H×.Ñ.Ò.ÝÜÐ<¸fÓEˆFØˆ>Ø7;°f¸t¸fÐ5EˆDð ˆð �HÔ3°F¸1±IÓ>Ð?Ð@ˆDØˆØ	”h×2Ñ2Ò	2ÝÜÐ>ÀÓGˆFØˆ>Ø9=¸ÀÀÐ7GˆDð ˆð �HÔ5°f¸Q±iÓ@ÐAÐBˆDØˆØ	”h×6Ñ6Ò	6ÝÜÐBÀFÓKˆFØˆ>Ø=A¸FÀTÀFÈTÈFÐ;SˆDð ˆô 3°6¸!±9Ó=ˆMØ�HÔ3°F¸1±IÓ>Ð?À-ÀÐQˆDØˆØ	”h×8Ñ8Ò	8ÝÜÐDÀfÓMˆFØˆ>Ø?C¸fÀtÀfÈtÈfÐ=UˆDð ˆô 3°6¸!±9Ó=ˆMØ�HÔ5°f¸Q±iÓ@ÐAÀMÀ?ÐSˆDØˆäÐ,¨Y¨KÐ8Ó9Ð9ó    c                ó”  — t        |«      }|t        j                  t        j                  fv r| S t	        | |«       t        | d   «      dk  r| S t        rt        d| «      } |t        j                  k(  r>t        rt        d| «      } t        | d   «      }|€dgdgf}|S |gt        | d   «      gf}|S |t        j                  k(  r>t        rt        d| «      } t        | d   «      }|€dgdgf}|S |gt        | d   «      gf}|S |t        j                  k(  r&t        rt        d| «      } t        | d   «      }|gf}|S t        d	|› �«      ‚)
aš  Return the specified contour lines with chunked data moved into the first chunk.

    Contour lines that are not chunked (``LineType.Separate`` and ``LineType.SeparateCode``) and
    those that are but only contain a single chunk are returned unmodified. Individual lines are
    unchanged, they are not geometrically combined.

    Args:
        lines (sequence of arrays): Contour line data, such as returned by
            :meth:`.ContourGenerator.lines`.
        line_type (LineType or str): Type of :meth:`~.ContourGenerator.lines` as enum or string
            equivalent.

    Return:
        Contour lines in a single chunk.

    .. versionadded:: 1.2.0
    r   r   zcpy.LineReturn_Chunkz cpy.LineReturn_ChunkCombinedCodeNr   z"cpy.LineReturn_ChunkCombinedOffsetzcpy.LineReturn_ChunkCombinedNanzInvalid LineType )r   r   ÚSeparateÚSeparateCoder   r   r   r   r   r
   r   r   r	   ÚChunkCombinedNanr   r   )ÚlinesÚ	line_typer   r   r   r    s         r#   Údechunk_linesr,   Z   st  € ô$ ˜YÓ'€Ià”X×&Ñ&¬×(=Ñ(=Ð>Ñ>àˆä��yÔ!Ü
ˆ5�‰8ƒ}�qÒàˆåÜÐ+¨UÓ3ˆà”H×.Ñ.Ò.ÝÜÐ;¸UÓCˆEÜ& u¨Q¡xÓ0ˆØˆ>Ø7;°f¸t¸fÐ5EˆDð ˆð �HÔ3°E¸!±HÓ=Ð>Ð?ˆDØˆØ	”h×2Ñ2Ò	2ÝÜÐ=¸uÓEˆEÜ& u¨Q¡xÓ0ˆØˆ>Ø9=¸ÀÀÐ7GˆDð ˆð �HÔ5°e¸A±hÓ?Ð@ÐAˆDØˆØ	”h×/Ñ/Ò	/ÝÜÐ:¸EÓBˆEÜ/°°a±Ó9ˆØ28°°ˆØˆäÐ,¨Y¨KÐ8Ó9Ð9r%   c                óž   — t        |«      }|t        j                  t        j                  fv r| S | D �cg c]  }t	        ||«      ‘Œ c}S c c}w )aÐ  Return multiple sets of filled contours with chunked data moved into the first chunks.

    Filled contours that are not chunked (``FillType.OuterCode`` and ``FillType.OuterOffset``) and
    those that are but only contain a single chunk are returned unmodified. Individual polygons are
    unchanged, they are not geometrically combined.

    Args:
        multi_filled (nested sequence of arrays): Filled contour data, such as returned by
            :meth:`.ContourGenerator.multi_filled`.
        fill_type (FillType or str): Type of :meth:`~.ContourGenerator.filled` as enum or string
            equivalent.

    Return:
        Multiple sets of filled contours in a single chunk.

    .. versionadded:: 1.3.0
    )r   r   r   r   r$   )Úmulti_filledr   r   s      r#   Údechunk_multi_filledr/   –   sH   € ô* ˜YÓ'€Ià”X×'Ñ'¬×)=Ñ)=Ð>Ñ>àÐà<HÖI°&ŒN˜6 9Õ-ÒIÐIùÒIó   ´A
c                óž   — t        |«      }|t        j                  t        j                  fv r| S | D �cg c]  }t	        ||«      ‘Œ c}S c c}w )aÆ  Return multiple sets of contour lines with all chunked data moved into the first chunks.

    Contour lines that are not chunked (``LineType.Separate`` and ``LineType.SeparateCode``) and
    those that are but only contain a single chunk are returned unmodified. Individual lines are
    unchanged, they are not geometrically combined.

    Args:
        multi_lines (nested sequence of arrays): Contour line data, such as returned by
            :meth:`.ContourGenerator.multi_lines`.
        line_type (LineType or str): Type of :meth:`~.ContourGenerator.lines` as enum or string
            equivalent.

    Return:
        Multiple sets of contour lines in a single chunk.

    .. versionadded:: 1.3.0
    )r   r   r'   r(   r,   )Úmulti_linesr+   r*   s      r#   Údechunk_multi_linesr3   ´   sH   € ô* ˜YÓ'€Ià”X×&Ñ&¬×(=Ñ(=Ð>Ñ>àÐà9DÖE°ŒM˜% Õ+ÒEÐEùÒEr0   )r   úcpy.FillReturnr   úFillType | strÚreturnr4   )r*   úcpy.LineReturnr+   úLineType | strr6   r7   )r.   úlist[cpy.FillReturn]r   r5   r6   r9   )r2   úlist[cpy.LineReturn]r+   r8   r6   r:   )Ú
__future__r   Útypingr   r   Úcontourpy._contourpyr   r   Úcontourpy.arrayr   r	   r
   r   Úcontourpy.enum_utilr   r   Úcontourpy.typecheckr   r   Ú
_contourpyÚcpyr$   r,   r/   r3   © r%   r#   ú<module>rD      sy   ðÝ "ç &ç 3÷ó ÷ ;ß 9áÝ&óD:óN9:ðxJØ&ðJàðJð óJð<FØ%ðFàðFð ôFr%   