ÿØÿàJFIFÿþ ÿÛC       ÿÛC ÿÀÿÄÿÄ"#QrÿÄÿÄ&1!A"2qQaáÿÚ ?Øy,æ/3JæÝ¹È߲؋5êXw²±ÉyˆR”¾I0ó2—PI¾IÌÚiMö¯–þrìN&"KgX:Šíµ•nTJnLK„…@!‰-ý ùúmë;ºgµŒ&ó±hw’¯Õ@”Ü— 9ñ-ë.²1<yà‚¹ïQÐU„ہ?.’¦èûbß±©Ö«Âw*VŒ) `$‰bØÔŸ’ëXÖ-ËTÜíGÚ3ð«g Ÿ§¯—Jx„–’U/ÂÅv_s(Hÿ@TñJÑãõçn­‚!ÈgfbÓc­:él[ðQe 9ÀPLbÃãCµm[5¿ç'ªjglå‡Ûí_§Úõl-;"PkÞÞÁQâ¼_Ñ^¢SŸx?"¸¦ùY騐ÒOÈ q’`~~ÚtËU¹CڒêV  I1Áß_ÿÙ Bd\Rc@sdZdZdddddddgZd d lmZd d lZejd d krvejddkrvd dlTndefdYZ e Z e j Z e j Z e j Z e jZe jZe jZd dlmZmZmZmZd S(sHA cryptographically strong version of Python's standard "random" module.s$Id$t StrongRandomt getrandbitst randrangetrandinttchoicetshuffletsamplei(tRandomNiii(t*cBsMeZdddZdZdZdZdZdZdZ RS(cCs|dkr$|dkr$d|_nW|dk rH|dkrH||_n3|dkro|dk ro|j|_n tddS(Ns(Cannot specify both 'rng' and 'randfunc'(tNonet _randfunctreadt ValueError(tselftrngtrandfunc((sG/opt/alt/python27/lib64/python2.7/site-packages/Crypto/Random/random.pyt__init__$s  cCsR|jdkr$tjj|_nd|>d}|t|jt|d@S(s0Return a python long integer with k random bits.liiN(R R RtnewR t bytes_to_longtceil_div(R tktmask((sG/opt/alt/python27/lib64/python2.7/site-packages/Crypto/Random/random.pyR.scGst|dkr$|\}}}njt|dkrK|\}}d}nCt|dkru|\}d}d}ntdt|ft|ttf st|ttf st|ttf rtdn|dkrtdnt|||}|dkr"d}n|dkrJtd|||fn|}x%||krw|jt|}qSW|||S( skrandrange([start,] stop[, step]): Return a randomly-selected element from range(start, stop, step).iiiis.randrange expected at most 3 arguments, got %ds$randrange requires integer argumentss(randrange step argument must not be zeros%empty range for randrange(%r, %r, %r)( tlent TypeErrort isinstancetinttlongR RRtsize(R targststarttstoptstept num_choicestr((sG/opt/alt/python27/lib64/python2.7/site-packages/Crypto/Random/random.pyR5s2        cCsUt|ttf s,t|ttf r;tdn|j||d}|S(s0Return a random integer N such that a <= N <= b.s"randint requires integer argumentsi(RRRRR(R tatbtN((sG/opt/alt/python27/lib64/python2.7/site-packages/Crypto/Random/random.pyRWs,cCs8t|dkr!tdn||jt|S(srReturn a random element from a (non-empty) sequence. If the seqence is empty, raises IndexError. isempty sequence(Rt IndexErrorR(R tseq((sG/opt/alt/python27/lib64/python2.7/site-packages/Crypto/Random/random.pyR_scCsOt|}x<tt|D](}|j|jt|||s & `