+
    '(jr                         . ROt ^ RIHt ^ RIHt  ! R R ]4      t]! 4       t]P                  t]P                  t	]P                  t
]P                  t]P                  t]P                  t^ RIHtHtHtHt R# )StrongRandom)Random)is_native_intc                   N   a  ] tR t^t o R
R ltR tR tR tR tR t	R t
R	tV tR# )r   Nc                    Vf   Vf
   R V n         R # Ve   Vf	   W n         R # Vf   Ve   VP                  V n         R # \        R4      h)Nz(Cannot specify both 'rng' and 'randfunc')	_randfuncread
ValueError)selfrngrandfuncs   &&&I/home/ubuntu/cf-venv/lib/python3.14/site-packages/Crypto/Random/random.py__init__StrongRandom.__init__    sC    !DN!ck%N#/ XXDNGHH    c           	         V P                   f%   \        P                  ! 4       P                  V n         ^V,          ^,
          pV\	        V P                  \        V^4      4      4      ,          # )z%Return an integer with k random bits.)r   r   newr   bytes_to_longceil_div)r
   kmasks   && r   getrandbitsStrongRandom.getrandbits*   sM     >>!#ZZ\..DNQ!|mDNN8Aq>$BCCCr   c           	     @   \        V4      ^8X  d   Vw  r#pML\        V4      ^8X  d   Vw  r#^pM5\        V4      ^8X  d
   Vw  p^ p^pM\        R\        V4      3,          4      h\        V4      '       d#   \        V4      '       d   \        V4      '       g   \        R4      hV^ 8X  d   \        R4      h\	        W2,
          V4      pV^ 8  d   ^ pV^8  d   \        RV: RV: RV: R24      hTpWe8  d   V P                  \        V4      4      pK"  W$V,          ,           # )zcrandrange([start,] stop[, step]):
Return a randomly-selected element from range(start, stop, step).z.randrange expected at most 3 arguments, got %dz$randrange requires integer argumentsz(randrange step argument must not be zerozempty range for randrange(z, ))len	TypeErrorr   r	   r   r   size)r
   argsstartstopstepnum_choicesrs   &*     r   	randrangeStrongRandom.randrange2   s    t9>"&U$Y!^ MUDY!^GTEDLPSTXPY|[\\e$$M$,?,?d##BCC19GHHt|T2?K?tUYZ[[   k!23Aq!!r   c                    \        V4      '       d   \        V4      '       g   \        R4      hV P                  W^,           4      pYu;8:  d	   V8:  g   Q h Q hV# )z0Return a random integer N such that a <= N <= b.z"randint requires integer arguments)r   r   r$   )r
   abNs   &&& r   randintStrongRandom.randintS   sM    Q}Q'7'7@AANN1c"{{{{r   c                x    \        V4      ^ 8X  d   \        R4      hWP                  \        V4      4      ,          # )zbReturn a random element from a (non-empty) sequence.

If the seqence is empty, raises IndexError.
zempty sequence)r   
IndexErrorr$   )r
   seqs   &&r   choiceStrongRandom.choice[   s1    
 s8q=-..>>#c(+,,r   c                    \        \        V4      ^,
          ^ R4       F1  pV P                  ^ V^,           4      pW,          W,          uW&   W&   K3  	  R# )zShuffle the sequence in place.N)ranger   r$   )r
   xijs   &&  r   shuffleStrongRandom.shuffled   sF     s1vaxB'Aq!A#&AqtJAD!$ (r   c                    \        V4      pW#8  d   \        R4      h. p/ p\        V4       F=  pRpVe   Wu9   d   V P                  V4      pK  VP	                  W,          4       ^WW&   K?  	  V# )zNReturn a k-length list of unique elements chosen from the population sequence.zsample larger than populationN)r   r	   r3   r$   append)r
   
populationr   r"   retvalselectedr5   r#   s   &&&     r   sampleStrongRandom.samplen   sn     *o?<==qAA)q}NN;/MM*-(HK  r   )r   )NN)__name__
__module____qualname____firstlineno__r   r   r$   r*   r/   r7   r>   __static_attributes____classdictcell__)__classdict__s   @r   r   r      s0     ID"B-$ r   )r   r   long_to_bytesr   N)r   r   r$   r*   r/   r7   r>   )__all__Cryptor   Crypto.Util.py3compatr   objectr   _rr   r$   r*   r/   r7   r>   Crypto.Util.numberr   r   rG   r    r   r   <module>rO      sj   2 a  /^6 ^@ ^nnLL	
**	
**	 L Kr   