
    sg                        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j5                  ee      d        Zej5                  ee      d	        Zej5                  ee      d
        Zej5                  ee      d        Zej5                  ee      d        Zej5                  ee      d        Zej5                  ee      d        Zej5                  ee      d        Zej5                  ee      d        Zej5                  ee      d        Zej5                  ee      d        Zej5                  ee      d        Zej5                  ee      d        Zej5                  ee      d        Zej5                  ee      d        Zej5                  e	e	      d        Zej5                  e	e      d        Zej5                  ee      d        Zy)    )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     L/var/www/html/venv/lib/python3.12/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                 8    t        | |      }|| k(  r|S ||k(  r| S y r   )r	   )r   r   	intersects      r   r   r   &   s+    Q"IA~	a 
r    c                    |j                  t        j                        rt        j                  |      }|j
                  r| j                  s5|j                  s)t        t        | j                  |j                              S | j                  r7|j                  r+t        t        | j                  |j                        d      S y )NT)polar)		is_subsetr   r   r   	from_realis_ComplexRegionr)   r   setsr   s     r   r   r   .   s~    {{177##A&!'' qvvqvv!677WW qvvqvv!6dCCr    c                     |S r   r   r   s     r   r   r   =   r   r    c                     | S r   r   r   s     r   r   r   B   r   r    c                 >   |j                  |       r| S t        |j                        t        | j                        k7  ry t        | j                        dk(  rF| j                  \  }}|j                  \  }}||k(  r|t        ||      z  S ||k(  rt        ||      |z  S y )N   )r*   lenr-   r   )r   r   a1a2b1b2s         r   r   r   F   s    {{1~
166{c!&&k!
166{aBB8b"%%8R=2%%r    c                 *    |j                  |       r| S y r   )r*   r   s     r   r   r   U   s    {{1~r    c                 Z   | j                  |      rt        | j                  |j                        }t        | j                  |j                        }||k  s||k(  r	|| vr||vry t        | j                  |j                        }t        | j                  |j                        }| j                  |k7  xs | j
                  xr |j                  |k7  xs |j
                  }| j                  |k7  xs | j                  xr |j                  |k7  xs |j                  }t        ||||      S y r   )_is_comparabler   endr   start	left_open
right_openr
   )r   r   r:   r;   r<   r=   s         r   r   r   [   s    !%%AGGQWW%%K5Lcls!|)EaeeQUU#C''U*9akk ;''U*9akk 55C<71<< 955C<71<< E3	:>> r    c                 "    t         j                  S r   )r   r   r   s     r   r   r   n   s    >>r    c                 0   | j                   xrL t        |j                  | j                              t        j
                  u xr | j                  j                  }| j                  xrL t        |j                  | j                              t        j
                  u xr | j                  j                  }|s|r^| j                   xr | j                  |v}| j                  xr | j                  |v}t        | j                  | j                  ||      }||hS y 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-@%AQVV%K"7%&WW%6%6  #$,, #6&-ajj.?&@AFF&J#6&'eeoo  !$>KK4AGG1$4	\\4aee1n
!%%J?qzr    c                 @    t        | j                  |j                  z   S r   )r   	_elementsr   s     r   r   r      s    q{{Q[[022r    c                     t        fd| D              r-t        | D cg c]  }j                  |      dk7  s| c} hS y c c}w )Nc              3   F   K   | ]  }j                  |      d k(    yw)TN)r@   ).0xr   s     r   	<genexpr>z_.<locals>.<genexpr>   s     
,Q1::a=D 
,s   !T)anyr   r@   )r   r   rM   s    ` r   r   r      sK     
,!
,,1>a

1(=>?D 	D ?s
   AAc                      y r   r   r   s     r   r   r      s    r    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>rX      s   " & =4 4 4    - %
 Y) * Y) * Y	* + UH% & UI& ' UI& ' Xs# $ ]C( ) Xs# $ \3' ( Z, - Z% &
 Xx(? )?$ X|, - Xs# $$ Y	*3 +3 Y$ % S# r    