K iddlmZddlmZddlmZmZddlmZm Z m Z m Z m Z m Z mZmZddlmZmZmZmZmZmZddlmZedZej5eedZej5eed Zej5eed Zej5eed Zej5eed Zej5eed Zej5ee dZej5ee dZej5ee dZej5ee dZej5e e dZej5e e dZej5e e dZej5e edZej5e e dZej5e e dZej5e e dZej5e e dZy))S)sympify)MinMax)EmptySet FiniteSet IntersectionInterval ProductSetSetUnion UniversalSet) ComplexRegionNaturals Naturals0Integers RationalsReals) Dispatcher union_setsc|SNabs _/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sympy/sets/handlers/union.py_r Hc|Srrrs rrrrr c|Srrrs rrrrr c|Srrrs rrrrr c|Srrrs rrrrr c|Srrrs rrr"rr c8t||}||k(r|S||k(r|Syr)r )rr intersects rrr&s+Q"IA~ a r c|jtjrtj|}|j r|j s5|j s)tt|j|jS|j r7|j r+tt|j|jdSy)NT)polar) is_subsetrrr from_realis_ComplexRegionr)r setsrs rrr.s~{{177  # #A &!'' qvvqvv!67 7 WW qvvqvv!6dC C r c|Srrrs rrr=rr c|Srrrs rrrBrr c>|j|r|St|jt|jk7ryt|jdk(rF|j\}}|j\}}||k(r|t||zS||k(rt|||zSy)N)r*lenr-r )rra1a2b1b2s rrrFs{{1~ 166{c!&&k! 166{aBB 8b" % % 8R=2% % r c*|j|r|Syr)r*rs rrrUs{{1~ r cZ|j|rt|j|j}t|j|j}||ks ||k(r ||vr||vryt|j|j}t|j|j}|j|k7xs |j xr|j|k7xs |j }|j|k7xs |j xr|j|k7xs |j }t||||Syr)_is_comparablerendrstart left_open right_openr )rrr:r;r<r=s rrr[s!%%AGGQWW% %K 5Lcls!|)EaeeQUU#C''U*9akk;''U*9akk 55C<71<<955C<71<< E3 :> >r c"tjSr)rrrs rrrns >>r c0|jxrLt|j|jtj uxr|jj }|jxrLt|j|jtj uxr|jj }|s|r^|jxr|j|v}|jxr|j|v}t|j|j||}||hSyr) r<rcontainsr;rtrue is_finiter=r:r )rropen_left_in_b_and_finiteopen_right_in_b_and_finite open_left open_rightnew_as rrrrs "#"7%,QZZ-@%AQVV%K"7%&WW%6%6#$,,#6&-ajj.?&@AFF&J#6&'eeoo!$>KK4AGG1$4 \\4aee1n !%%J?qz r c@t|j|jzSr)r _elementsrs rrrs q{{Q[[0 22r ctfd|Dr-t|Dcgc]}j|dk7s|c}hSycc}w)Nc3FK|]}j|dk(yw)TN)r@).0xrs r z_..s ,Q1::a=D ,s!T)anyrr@)rrrMs ` rrrsK ,! ,, 1>a 1 (=> ?D D ?s AAcyrrrs rrrs r N)sympy.core.singletonrsympy.core.sympifyr(sympy.functions.elementary.miscellaneousrrsympy.sets.setsrrr r r r r rsympy.sets.fancysetsrrrrrrsympy.multipledispatchrrregisterrrr rrXs"&=444  - %  Y) *  Y) *  Y * +  UH% &  UI& '  UI& '  Xs#$ ]C( )  Xs# $  \3' (  Z, -  Z%&  Xx(?)?$ X|,- Xs#$$ Y *3+3 Y$% S#r