ó
    1’¤j-  ã                  óÂ   • S SK Jr  S SKJrJr  S SKJrJr  S SKJ	r	J
r
JrJr  S SKJrJr  S SKJrJr  \(       a  S SKJr  SS jrSS	 jr      SS
 jr      SS jrg)é    )Ú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                ó   • [        U5      nU[        R                  [        R                  4;   a  U $ [	        X5        [        U S   5      S:  a  U $ [        (       a  [        SU 5      n [        U S   5      nU[        R                  :X  a6  [        (       a  [        SU 5      n Uc  S/S/4nU$ U/[        U S   5      /4nU$ U[        R                  :X  a6  [        (       a  [        SU 5      n Uc  S/S/4nU$ U/[        U S   5      /4nU$ U[        R                  :X  aH  [        (       a  [        SU 5      n Uc
  S/S/S/4nU$ [        U S   5      nU/[        U S   5      /U/4nU$ U[        R                  :X  aH  [        (       a  [        S	U 5      n Uc
  S/S/S/4nU$ [        U S   5      nU/[        U S   5      /U/4nU$ [        S
U 35      e)ax  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           ÚŸC:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\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                óÊ  • [        U5      nU[        R                  [        R                  4;   a  U $ [	        X5        [        U S   5      S:  a  U $ [        (       a  [        SU 5      n U[        R                  :X  aD  [        (       a  [        SU 5      n [        U S   5      nUc  S/S/4nU$ U/[        U S   5      /4nU$ U[        R                  :X  aD  [        (       a  [        SU 5      n [        U S   5      nUc  S/S/4nU$ U/[        U S   5      /4nU$ U[        R                  :X  a+  [        (       a  [        SU 5      n [        U S   5      nU/4nU$ [        S	U 35      e)
aj  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   sz  € ô$ ˜YÓ'€Ià”X×&Ñ&¬×(=Ñ(=Ð>Ó>àˆä�Ô!Ü
ˆ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                ó¦   • [        U5      nU[        R                  [        R                  4;   a  U $ U  Vs/ s H  n[	        X!5      PM     sn$ s  snf )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/   –   sJ   € ô* ˜YÓ'€Ià”X×'Ñ'¬×)=Ñ)=Ð>Ó>àÐá<HÓIºL°&ŒN˜6Ö-¹LÑIÐIùÒIó   ¶Ac                ó¦   • [        U5      nU[        R                  [        R                  4;   a  U $ U  Vs/ s H  n[	        X!5      PM     sn$ s  snf )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   ´   sJ   € ô* ˜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%   