f}r ddlmZddlmZmZmZ m Z m Z ddlmZmZmZmZddlmZmZmZddlmZddlm Z!m"Z#ddl$m%Z&ddl'm(Z)m*Z+dd l,m,Z-dd lZ.dd l/Z/ dd l0m1Z0n#e2$r dd l3m1Z0YnwxYwgd Z4d edzedz Z5edZ6dedzZ7dZ8de8 zZ9dZ:Gdde/j;Z;Gdde;Z<e;Z=e=j>Z>e=j?Z?e=j@Z@e=jAZAe=jBZBe=jCZCe=jDZDe=jEZEe=jFZFe=jGZGe=jHZHe=jIZIe=jJZJe=jKZKe=jLZLe=jMZMe=jNZNe=jOZOe=jPZPe=jQZQe=jRZRe=jSZSe=jTZTdZUd dZVeWe.dre.jXe=j>eYdkr eVd Sd S)!)warn)logexppieceil)sqrtacoscossin)taufloorisfinite)urandom)SetSequence)index) accumulaterepeat)bisectN)sha512)Random SystemRandom betavariatechoicechoices expovariate gammavariategauss getrandbitsgetstatelognormvariate normalvariate paretovariate randbytesrandintrandom randrangesampleseedsetstateshuffle triangularuniformvonmisesvariateweibullvariateg@@?@5ceZdZ dZd%dZd&fd ZfdZfdZdZd Z d Z d Z d Z d e zfdZe ZdZdefdZdZdZdZdddZd%dd ddZdZd'dZd(dZd(dZdZdZd Zd!Zd"Z d#Z!d$Z"xZ#S))rNc@ ||d|_dSN)r* gauss_next)selfxs -/opt/alt/python311/lib64/python3.11/random.py__init__zRandom.__init__ws# ! r7c ` |dkrt|ttfrt|tr|dn|}|rt |ddznd}t t|D] }d|z|z dz}|t |z}|dkrdn|}n|d krt|tttfrft|tr|}t |t| z}nKt|tdtttttfstd t!|d|_dS) Nr8zlatin-1riCBlr7zOThe only supported seed types are: None, int, float, str, bytes, and bytearray.) isinstancestrbytesdecodeordmaplen bytearrayencodeint from_bytes_sha512digesttypefloat TypeErrorsuperr*r=)r>aversionr?c __class__s r@r*z Random.seeds} " a<r[s r@r!zRandom.getstates'G|UWW--//@@rBc |d}|dkr.|\}}|_t|dS|dkrc|\}}|_ td|D}n#t$r }t |d}~wwxYwt|dSt d|d|j)Nrr:r7c3 K|] }|dzV dS)lN).0r?s r@ z"Random.setstate..s&%K%Ka7m%K%K%K%K%K%KrBzstate with version z( passed to Random.setstate() of version )r=rWr+tuple ValueErrorrVr])r>staterY internalstaterr[s r@r+zRandom.setstatesH( a<<6; 3G]DO GG  ] + + + + + \\6; 3G]DO  ' %%K%K]%K%K%K K K  ' ' 'Q& ' GG  ] + + + + +*%ggt||566 6sA++ B5A==Bc*|Sr<)r!r>s r@ __getstate__zRandom.__getstate__s}}rBc0||dSr<)r+)r>res r@ __setstate__zRandom.__setstate__s erBc:|jd|fS)Nr`)r[r!rhs r@ __reduce__zRandom.__reduce__s~r4==??22rBc |jD]>}d|jvrdSd|jvr|j|_dSd|jvr|j|_dS?dS)N _randbelowr r')__mro____dict___randbelow_with_getrandbitsro_randbelow_without_getrandbits)clskwargsrZs r@__init_subclass__zRandom.__init_subclass__sy   Aqz)) **!$!@1:%%!$!C&  rBc |j}|}||}||kr||}||k|Sr<)r bit_length)r>nr krs r@rrz"Random._randbelow_with_getrandbitssME& LLNN KNN1ff AA1ffrBr8c |j}||kr)tdt||zS||z}||z |z }|}||kr|}||kt||z|zS)NzUnderlying random() generator does not supply enough bits to choose from a population range this large. To remove the range limitation, add a getrandbits() method.)r'_warn_floor)r>rymaxsizer'remlimitr{s r@rsz%Random._randbelow_without_getrandbitss  << N O O O&&((Q,'' 'k3') FHH5jjA5jja'k""Q&&rBc\ ||dz|dS)Nlittle)r to_bytesr>rys r@r%zRandom.randbytess-&A&&//8<<startstopstepistartistopwidthisteprys r@r(zRandom.randranges  )E]]FF ) ) )ZZFF(!--- !DEEE %a ) ) ) ) ) ) <4 BCCCzzv...:;; ; )4LLEE ) ) )IIE}}F(!--- !CDDD %a ) ) ) ) ) ) )4LLEE ) ) )IIE}}F(!--- !CDDD %a ) ) ) ) ) ) A::qyy 6 666G6SXZ_J``aa a 199"u,AA QYY"u,AA899 9 66:;; ; 2 2222s6AA0/A08CAD%$D%.D>>AFFc6 |||dzSNr8)r(r>rXbs r@r&zRandom.randintfs! ~~a1%%%rBc t|std||t|S)Nz$Cannot choose from an empty sequence)rM IndexErrorro)r>seqs r@rz Random.choiceosB@3xx ECDD D4??3s88,,--rBc |j}ttdt|D]'}||dz}||||c||<||<(dSr)roreversedrangerM)r>r? randbelowijs r@r,zRandom.shufflexsm7O %3q66**++ $ $A !a%  A1qtJAaD!A$$ $ $rB)countsc ttstdt}|t t |t|krt d}t|tstd|dkrt d| t||}tfd|DS|j }d|cxkr|ksnt ddg|z}d } |d kr&| d tt|d zd zz } || krLt } t|D],} ||| z } | | || <| || z d z | | <-n[t} | j}t|D]6} ||} | | vr||} | | v|| | || <7|S)NzAPopulation must be a sequence. For dicts or sets, use sorted(d).z2The number of counts does not match the populationzCounts must be integersrz)Total of counts must be greater than zero)rzc4g|]}|Sr`r`)rasr cum_counts populations r@ z!Random.sample..s*JJJ!Jvvj!445JJJrBz,Sample larger than population or is negativer1r:r8)rG _SequencerVrMlist _accumulaterdpoprPr)r_bisectro_ceil_logsetadd)r>rrzrrytotal selectionsrresultsetsizepoolrrselected selected_addrrs ` @@r@r)z Random.samplesQ h*i00 A@AA A  OO  k&1122J:!## !UVVVNN$$EeS)) ; 9:::zz !LMMMU5\\Q77JFJJJJJJzJJJ JO A{{{{{{{{KLL L! q55 qE$q1ua..111 1G << ##D1XX * *Ia!e$$ Gq q1uqy/Q * uuH#.s2RRRA 55A#6#67RRRrBz4The number of choices must be a keyword argument: k=z2Cannot specify both weights and cumulative weightsz3The number of weights does not match the populationrEz*Total of weights must be greater than zerozTotal of weights must be finiter8c Ng|]!}zd"S)rr`)rarrrhirr'rs r@rz"Random.choices..sI+++66+vvxx%/?BGGH+++rB) r'rMr~_repeatrrrVrGrPrd _isfiniter) r>rweightsrrzrrrryr'rs ` ` @@@@@@r@rzRandom.choicess   OO  SRRRRRRRqAQAQRRRR ";w#7#788    !'3//MMM   PQQ Q {  q RSS SB#% C<<IJJ J @>?? ? U+++++++++ q))+++ +s A--6B#c> |||z |zzSr<r'rs r@r.zRandom.uniforms!RAET[[]]***rBrr4c |} |dn ||z ||z z }n#t$r|cYSwxYw||krd|z }d|z }||}}|||z t||zzzS)N?r4)r'ZeroDivisionError_sqrt)r>lowhighmodeurZs r@r-zRandom.triangular s  KKMM |$*)DAA    JJJ  q55aAaAcCdSjE!a%LL000s ' 66c |j} |}d|z }t|dz z|z }||zdz }|t| krnE|||zzS)NTr4rr3)r' NV_MAGICCONSTr)r>musigmar'u1u2zzzs r@r#zRandom.normalvariate sx  BvvxxBc*R/AQBd2hhY  AI~rBc  |j}|j}d|_|e|tz}tdt d|z z}t ||z}t ||z|_|||zzS)Ngr4)r'r=TWOPIrr_cos_sin)r>rrr'rx2pig2rads r@rz Random.gauss5s 4 O 9688e#D$cFFHHn!5!5566ET U"A"4jj50DOAI~rBcJ t|||Sr<)_expr#)r>rrs r@r"zRandom.lognormvariate[s' D&&r511222rBcT td|z  |z SNr4)rr')r>lambds r@rzRandom.expovariatees, S4;;==()))E11rBc |j}|dkrt|zSd|z }|td||zzz} |}tt|z}|||zz }|} | d||zz ks| d|z t |zkrnZd|z } | |zd| |zzz } |} | dkr|t | ztz} n|t | z tz} | S)Ngư>rr4)r'rrr_pir_acos)r>rkappar'rr{rrdrqfu3thetas r@r/zRandom.vonmisesvariatevs  D==6688# # %K cAEk"" " BS2XAQU ABC!a%K2#'T!WW)<#<#<  !G UsQU{ # VXX 88%((]e+EE%((]e+E rBc |dks|dkrtd|j}|dkrtd|zdz }|tz }||z} |}d|cxkrdksnd|z }t |d|z z |z } |t | z} ||z|z} ||| zz| z } | t zd| zz dks| t | kr| |zS|dkrt d|z  |zS |} t|ztz }|| z}|dkr |d|z z} nt ||z |z  } |}|dkr|| |dz zkrnn|t | krnz| |zS) Nrz*gammavariate: alpha and beta must be > 0.0r4r2TgHz>gP?r5)rdr'rLOG4rr SG_MAGICCONST_e)r>alphabetar'ainvbbbcccrrvr?rr{rrps r@rzRandom.gammavariates  C<<43;;IJJ J 3;; us*++D$,C$,C $VXXb,,,,9,,,,6688^sRx))D0DGGOGbL#'MA%}$sQw.#55d1ggt8O $c\\vvxx(((4/ / FHH%Z2%E88cEk*AAq1uo...AVXXs77Q53;///0488^^ t8OrBcp ||d}|r||||dzz SdS)Nr4r)r)r>rrys r@rzRandom.betavariatesK *   eS ) )  :D--dC8889 9srBcB d|z }|d|z zS)Nr4gr)r>rrs r@r$zRandom.paretovariates(A $++-- TE\""rBcd d|z }|t| d|z zzSr)r'r)r>rrrs r@r0zRandom.weibullvariates7  $++-- acDj111rBr<)Nr7)rr4Nrr4)$__name__ __module__ __qualname__r]rAr*r!r+rirkrmrvrrBPFrsror%rr(r&rr,r)rr.r-r#rr"rr/rrr$r0 __classcell__)r[s@r@rrgs_ G$$$$$$LAAAAA66666B333 (9:3''''&-J===%)tH3H3H3H3T&&&...$$$/3]]]]]~#+tq#+#+#+#+#+P+++1111(*$$$$L333222"(((T???B6### 2 2 2 2 2 2 2rBrc6eZdZ dZdZdZdZdZexZZ dS)rch ttddz tzS)NrDr:)rPrQ_urandom RECIP_BPFrhs r@r'zSystemRandom.randoms'Ex{{++q0I==rBc |dkrtd|dzdz}tt|}||dz|z z S)Nrz#number of bits must be non-negativerDr)rdrPrQr)r>rznumbytesr?s r@r zSystemRandom.getrandbits sWH q55BCC CEa< NN8H-- . .X\A%&&rBc" t|Sr<)rrs r@r%zSystemRandom.randbytes(s&{{rBc dSr<r`r>argskwdss r@r*zSystemRandom.seed.s FtrBc" td)Nz*System entropy source does not have state.)NotImplementedErrorrs r@_notimplementedzSystemRandom._notimplemented2sK!"NOOOrBN) rrrr'r r%r*r r!r+r`rBr@rrsm>>>''' PPP*)HxxxrBrc^ddlm}m}ddlm}|}fdt d|D}|}||} ||| } t |} t|} t||z dd|dj td| | | | fzdS) Nr)stdevfmean) perf_countercg|]}Sr`r`)rarrfuncs r@rz#_test_generator..as 2 2 2ADD$K 2 2 2rBz.3fz sec, z times z"avg %g, stddev %g, min %g, max %g ) statisticsr r timer rminmaxprintr) ryrrr meanr t0datat1xbarrrrs `` r@_test_generatorr\s////////!!!!!! B 2 2 2 2 2q!1!1 2 2 2D B 4::D E$  E d))C t99D R"W 9 9 9 9 9$- 9 9::: /4T2J JKKKKKrBct|tdt|tdt|tdt|tdt|t dt|t dt|t dt|t dt|t dt|t dt|t d t|t d t|t d t|t dt|td t|td dS)Nr`r)g{Gz?r4)皙?r4)rr2)rr4)g?r4)r4r4)r2r4)g4@r4)gi@r4)@r)rr4gUUUUUU?) rr'r#r"r/rrrr-)Ns r@_testr ms)Avr"""A}j111A~z222A 333A|[111A|Z000A|Z000A|Z000A|Z000A|Z000A|Z000A|[111A|\222Auj)))A{J///Az#899999rBfork)after_in_child__main__)r)Zwarningsrr}mathrrrrrrrrrrr rr rr rr rr rrr~rrosrr_collections_abcr_Setrroperatorrr itertoolsrrrrrr_os_randomrRr ImportErrorhashlib__all__rrrrrrrr_instr*r'r.r-r&rr(r)r,rr#r"rr/rrrr$r0r!r+r r%rr hasattrregister_at_forkrr`rBr@r3sG)^#"""""LLLLLLLLLLLLLLGGGGGGGGGGGGEEEEEEEEEE""""""????????$$$$$$BBBBBBBB$$$$$$*)))))))***))))))))*   8DDJJs+  tCyydd3ii  #I e 2e 2e 2e 2e 2W^e 2e 2e 2X"*"*"*"*"*6"*"*"*X  z  -   -  O  - -# % '!   # % > > O LLL"::::, 734C 3333 z EGGGGGsA A,+A,