
    Ed                        d dl mZ d dlmZ d dlmZmZ d dlmZm	Z	m
Z
mZmZmZmZmZ d dlmZmZmZmZmZmZ d dlmZ  ed          Ze                    ee          d             Ze                    ee          d	             Ze                    ee          d
             Ze                    ee          d             Ze                    ee          d             Ze                    ee          d             Ze                    ee          d             Ze                    ee          d             Ze                    ee          d             Ze                    ee          d             Ze                    ee          d             Ze                    ee          d             Ze                    ee          d             Ze                    ee          d             Ze                    ee          d             Ze                    e	e	          d             Ze                    e	e          d             Ze                    ee          d             ZdS )    )S)sympify)MinMax)EmptySet	FiniteSetIntersectionInterval
ProductSetSetUnionUniversalSet)ComplexRegionNaturals	Naturals0Integers	RationalsReals)
Dispatcher
union_setsc                     | S N abs     9lib/python3.11/site-packages/sympy/sets/handlers/union.py_r          H    c                     | S r   r   r   s     r   r   r      r   r    c                     | S r   r   r   s     r   r   r      r   r    c                     | S r   r   r   s     r   r   r      r   r    c                     | S r   r   r   s     r   r   r      r   r    c                     | S r   r   r   s     r   r   r   "   r   r    c                 F    t          | |          }|| k    r|S ||k    r| S d S r   )r	   )r   r   	intersects      r   r   r   &   s=    Q""IA~ 	a  r    c                 R   |                     t          j                  rt          j        |          }|j        rl| j        s.|j        s't          t          | j        |j                            S | j        r0|j        r)t          t          | j        |j                  d          S d S )NT)polar)		is_subsetr   r   r   	from_realis_ComplexRegionr)   r   setsr   s     r   r   r   .   s    {{17 '#A&& D 	D!' 	D qvqv!6!6777W 	D 	D qvqv!6!6dCCCC4r    c                     |S r   r   r   s     r   r   r   =   r   r    c                     | S r   r   r   s     r   r   r   B   r   r    c                 H   |                     |           r| S t          |j                  t          | j                  k    rd S t          | j                  dk    rF| j        \  }}|j        \  }}||k    r|t          ||          z  S ||k    rt          ||          |z  S d S )N   )r*   lenr-   r   )r   r   a1a2b1b2s         r   r   r   F   s    {{1~~ 
16{{c!&kk! t
16{{a &BB8 	&b"%%8 	&R==2%%4r    c                 4    |                     |           r| S d S r   )r*   r   s     r   r   r   U   s    {{1~~ 4r    c                    |                      |          rt          | j        |j                  }t          | j        |j                  }||k     s||k    r
|| vr||vrd S t          | j        |j                  }t          | j        |j                  }| j        |k    s| j        o|j        |k    p|j        }| j        |k    s| j        o|j        |k    p|j        }t          ||||          S d S r   )_is_comparabler   endr   start	left_open
right_openr
   )r   r   r:   r;   r<   r=   s         r   r   r   [   s    ?!%AGQW%%%K 	?5L	?!l	?/2!|	?4))EaeQU##C'U*9ak ;'U*9ak 5C<71< 95C<71< E3	:>>>? ?r    c                     t           j        S r   )r   r   r   s     r   r   r   n   s
    >r    c                    | j         o>t          |                    | j                            t          j        u o| j        j        }| j        o>t          |                    | j                            t          j        u o| j        j        }|s|r@| j         o| j        |v}| j        o| j        |v}t          | j        | j        ||          }||hS d S r   )
r<   r   containsr;   r   true	is_finiter=   r:   r
   )r   r   open_left_in_b_and_finiteopen_right_in_b_and_finite	open_left
open_rightnew_as          r   r   r   r   s    
 "# "7%,QZZ-@-@%A%AQV%K"7%&W%6  #$, #6&-ajj.?.?&@&@AF&J#6&'eo  ! $> K4AG1$4	\4ae1n
!%J??qz4r    c                 .    t          | j        |j        z   S r   )r   	_elementsr   s     r   r   r      s    q{Q[022r    c                 l    t          fd| D                       rt          fd| D              hS d S )Nc              3   J   K   | ]}                     |          d k    V  dS )TNr@   .0xr   s     r   	<genexpr>z_.<locals>.<genexpr>   s2      
,
,Q1::a==D 
,
,
,
,
,
,r    c                 F    g | ]}                     |          d k    |S )TrL   rM   s     r   
<listcomp>z_.<locals>.<listcomp>   s-    >>>a

1(=>>>>r    )anyr   r   s    `r   r   r      s[     
,
,
,
,!
,
,
,,, D>>>>1>>>?D 	D4r    c                     d S r   r   r   s     r   r   r      s    4r    N)sympy.core.singletonr   sympy.core.sympifyr   (sympy.functions.elementary.miscellaneousr   r   sympy.sets.setsr   r   r	   r
   r   r   r   r   sympy.sets.fancysetsr   r   r   r   r   r   sympy.multipledispatchr   r   registerr   r   r    r   <module>r\      s:   " " " " " " & & & & & & = = = = = = = =4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4                                - - - - - - Z%%
 Y))  *) Y))  *) Y	**  +* UH%%  &% UI&&  '& UI&&  '& Xs##  $# ]C((  )( Xs##  $# \3''  (' Z,,  -, Z%%  &%
 Xx((? ? )(?$ X|,,  -, Xs##  $#$ Y	**3 3 +*3 Y$$  %$ S#    r    