Ѡg6ddlmZmZmZmZdgZdedeefdZdeedefdZ deeeeeefdefd Z d eedeefd Z d S) )UnionListTupleOptional serialize_evrintgrreturncg}|}|dkr.t|d\}}|||dk.|dt|z||S)z Encode int in real-numbers segment. See http://en.wikipedia.org/wiki/Arithmetic_coding. @param intgr: int for coding in Float an segment [seg_begin, seg_end] @return: list encoding segment r)divmodappendlenreverse)rlstnumber remainders /builddir/build/BUILDROOT/alt-python27-cllib-3.4.22-1.el8.cloudlinux.x86_64/opt/cloudlinux/venv/lib/python3.11/site-packages/clcommon/evr_utils.py"encode_int_to_real_numbers_segmentrsx C F 1**"63//  9 1**JJsSXX~KKMMM Jrpm_datac,g}|D]}t|tr#|t|nt|trD|r0|tt|nGt|tr |d|Dnt d||ddd|D}|S)z Encode List of parts of Version or Epoch or Release in real-numbers segment. See http://en.wikipedia.org/wiki/Arithmetic_coding. @param rpm_data: list to convert in double @return: Converted string c34K|]}t|VdS)N)ord).0chs r zevr_to_float..6s(..2s2ww......rz ThisStrange: rcg|]}|dS)02x)rns r z evr_to_float..:s555AZZ555r) isinstanceintextendrstrisdigit NameErrorrjoin)revrelem converted_strs r evr_to_floatr.'s C   dC  4 JJ9$?? @ @ @ @ c " " 4t||~~ 4 JJ9#d))DD E E E E c " " 4 JJ..... . . . .2D2233 3 1 GG5555566M rr+cd}t|ttfs|g}|D]$}|tt |dzz }%|S)aw Converts epoch, version and release of package to unique string. Ex: ['1', '2.4.4', '34'] -> '810100008102008104008104000081220000' ['0', '2.2.3', '76.el5_9.cloudlinux'] -> 80000081020081020081030000814c00656c00810500810900636c6f75646c696e75780000 @param evr: List from epoch, version and release @return: str for given list r00)r$listtupler.split_segments)r+retis rrr>s[ C cD%= ) )e 66 |N1--..55 Jrstringc|gS|d}d}g}t|D]\}}t||zs$t||zr|}P|||r|||||}||}||dr|||d|S)a Split str of epoch or version or release to numbers and strings. Ex: '76.el5_9.cloudlinux.2' -> ['76', 'el', '5', '9', 'cloudlinux', '2'] @param string: str of epoch or version or release @return: List strings and numbers from EVR Nr) enumerater'r(isalphaisalnumr)r6 prev_symb begin_indexsegmentsr5els rr3r3Qs ~ q IKH6"" ( (2 y2~   & & ( ( C B,?,?,G,G,I,I I  +a- ( ( * * 3 OOF;q=1 2 2 2 ;'  kll##%%.{||,--- OrN) typingrrrr__all__r%rr'r.rr3r!rrrAs0///////////  cd3i$49.uT#Yc C78S&8C=T#Yr