§ 1j�ãó—ddlZddlZddlZddlZdZejd¦«jZejd¦«jZejd¦«j Z ejd¦«j Z d„Z d„Z d d„ZGd„d e¦«Zd „ZdS) éNióiódcó4—t|¦«|||dz…<dS)Né)Ú_pack_double_func©ÚdataÚposÚvalues úm/builddir/build/BUILD/cloudlinux-venv-1.0.11/venv/lib/python3.11/site-packages/prometheus_client/mmap_dict.pyÚ _pack_doubler s"€Ý)¨%Ñ0Ô0€DˆˆS�1‰WˆÑÐÐócó4—t|¦«|||dz…<dS)Né)Ú_pack_integer_funcrs r Ú _pack_integerrs"€Ý*¨5Ñ1Ô1€DˆˆS�1‰WˆÑÐÐrc#órK—|dkrt|d¦«d}d}||kr�t||¦«d}||z|krtd¦«‚|dz }||||z…}|d|dzdzz z}||z }t||¦«d}| d¦«||fV—|dz }||k°ŽdSdS)ú1Yield (key, value, pos). No locking is performed.rrz2Read beyond file size detected, file is corrupted.rúutf-8N)Ú_unpack_integerÚ RuntimeErrorÚ_unpack_doubleÚdecode)r Úusedr Ú encoded_lenÚ encoded_keyÚ padded_lenr s r Ú_read_all_valuesrsöèè€ð ˆq‚y€yå˜t QÑ'Ô'¨Ô*ˆà €Cà �Š*ˆ*Ý% d¨CÑ0Ô0°Ô3ˆ à ˜Ñ ˜tÒ #Ð #ÝÐSÑTÔTÐ TØ ˆq‰ˆØ˜3  {Ñ!2Ð2Ô3ˆ Ø  A¨°q©¸AÑ(=Ñ$=Ñ>ˆ Ø ˆzшݘt SÑ)Ô)¨!Ô,ˆØ× Ò  Ñ)Ô)¨5°#Ð5Ð5Ð5Ð5Ø ˆq‰ˆð �Š*ˆ*ˆ*ˆ*ˆ*ˆ*rcóT—eZdZdZd d„Zed„¦«Zd„Zd„Zd„Z d„Z d „Z d „Z d S) Ú MmapedDicta…A dict of doubles, backed by an mmapped file. The file starts with a 4 byte int, indicating how much of it is used. Then 4 bytes of padding. There's then a number of entries, consisting of a 4 byte int which is the size of the next field, a utf-8 encoded string key, padding to a 8 byte alignment, and then a 8 byte float which is the value. Not thread safe. Fcóª—t||rdnd¦«|_||_tj|j ¦«¦«j}|dkr&|j t¦«t}||_ tj |j ¦«|j |r tj n tj ¬¦«|_ i|_t|j d¦«d|_|jdkr$d|_t#|j d|j¦«dS|s%| ¦«D]\}}}||j|<ŒdSdS)NÚrbza+br)Úaccessr)ÚopenÚ_fÚ_fnameÚosÚfstatÚfilenoÚst_sizeÚtruncateÚ_INITIAL_MMAP_SIZEÚ _capacityÚmmapÚ ACCESS_READÚ ACCESS_WRITEÚ_mÚ _positionsrÚ_usedrr)ÚselfÚfilenameÚ read_modeÚcapacityÚkeyÚ_r s r Ú__init__zMmapedDict.__init__<sH€Ý�x¨Ð!=  ¸Ñ>Ô>ˆŒØˆŒ Ý”8˜DœGŸNšNÑ,Ô,Ñ-Ô-Ô5ˆØ �qŠ=ˆ=Ø ŒG× Ò Õ/Ñ 0Ô 0Ð 0Ý)ˆHØ!ˆŒÝ”)˜DœGŸNšNÑ,Ô,¨d¬nØ7@Ð#W¥4Ô#3Ð#3ÅdÔFWðYñYôYˆŒðˆŒÝ$ T¤W¨aÑ0Ô0°Ô3ˆŒ Ø Œ:˜Š?ˆ?؈DŒJÝ ˜$œ' 1 d¤jÑ 1Ô 1Ð 1Ð 1Ð 1àð /Ø#'×#8Ò#8Ñ#:Ô#:ð/ð/‘K�C˜˜CØ+.�D”O CÑ(Ð(ð /ð /ð/ð/rcóR—t|d¦«5}| tj¦«}t |d¦«d}|t |¦«kr(|| |t |¦«z ¦«z }ddd¦«n #1swxYwYt ||¦«S)Nr"r)r$Úreadr.ÚPAGESIZErÚlenr)r5Úinfpr rs r Úread_all_values_from_filez$MmapedDict.read_all_values_from_fileQsÑ€å �(˜DÑ !Ô !ð 4 Tð—9’9�Tœ]Ñ+Ô+ˆDÝ" 4¨Ñ+Ô+¨AÔ.ˆDØ•c˜$‘i”iÒÐØ˜Ÿ š  $­¨T©¬Ñ"2Ñ3Ô3Ñ3�ð  4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4õ   dÑ+Ô+Ð+s‘A1BÂBÂBcóB—| d¦«}|ddt|¦«dzdzz zz}tjd t|¦«¦« ¦«t|¦«|d¦«}|jt|¦«z|jkr…|xjdzc_|j |j¦«tj |j  ¦«|j¦«|_ |jt|¦«z|jk°…||j |j|jt|¦«z…<|xjt|¦«z c_t|j d|j¦«|jdz |j |<d S) z0Initialize a value. Lock must be held by caller.ró rrzi{0}sdgérN)Úencoder>ÚstructÚpackÚformatr3r-r%r+r.r)r1rr2)r4r8ÚencodedÚpaddedr s r Ú _init_valuezMmapedDict._init_value\sY€à—*’*˜WÑ%Ô%ˆà˜D A­¨W©¬¸Ñ)9¸QÑ(>Ñ$>Ñ?Ñ@ˆÝ” ˜HŸOšO­C°©K¬KÑ8Ô8×?Ò?ÑAÔAÅ3ÀwÁ<Ä<ÐQWÐY\Ñ]Ô]ˆØŒj�3˜u™:œ:Ñ%¨¬Ò6Ð6Ø ˆNŒN˜aÑ ˆNŒNØ ŒG× Ò ˜Tœ^Ñ ,Ô ,Ð ,Ý”i ¤§¢Ñ 0Ô 0°$´.ÑAÔAˆDŒGðŒj�3˜u™:œ:Ñ%¨¬Ò6Ð6ð7<ˆŒ�” ˜4œ:­¨E© ¬ Ñ2Ð2Ñ3ð ˆ Œ •c˜%‘j”jÑ ˆ Œ Ý�d”g˜q $¤*Ñ-Ô-Ð-Ø#œz¨A™~ˆŒ˜ÑÐÐrcó8—t|j|j¬¦«S)r)r r)rr1r3©r4s r rzMmapedDict._read_all_valuesms€å T¤W°4´:Ð>Ñ>Ô>Ð>rc#óLK—| ¦«D] \}}}||fV—Œ dS)z,Yield (key, value). No locking is performed.N)r)r4ÚkÚvr9s r Úread_all_valueszMmapedDict.read_all_valuesqs@èè€à×,Ò,Ñ.Ô.ð ð ‰GˆAˆq�!Ø�Q�$ˆJˆJˆJˆJð ð rcóŽ—||jvr| |¦«|j|}t|j|¦«dS)Nr)r2rJrr1)r4r8r s r Ú read_valuezMmapedDict.read_valuevsF€Ø �d”oÐ %Ð %Ø × Ò ˜SÑ !Ô !Ð !ØŒo˜cÔ"ˆå˜dœg sÑ+Ô+¨AÔ.Ð.rcóˆ—||jvr| |¦«|j|}t|j||¦«dS©N)r2rJr r1)r4r8r r s r Ú write_valuezMmapedDict.write_value}sI€Ø �d”oÐ %Ð %Ø × Ò ˜SÑ !Ô !Ð !ØŒo˜cÔ"ˆå�T”W˜c 5Ñ)Ô)Ð)Ð)Ð)rcó˜—|jrB|j ¦«d|_|j ¦«d|_dSdSrT)r%r1ÚcloserLs r rWzMmapedDict.close„sF€Ø Œ7ð Ø ŒG�MŠM‰OŒOˆO؈DŒGØ ŒG�MŠM‰OŒOˆO؈DŒGˆGˆGð  ð rN)F) Ú__name__Ú __module__Ú __qualname__Ú__doc__r:Ú staticmethodr@rJrrPrRrUrW©rr r r 0s§€€€€€ð ð ð/ð/ð/ð/ð*ð,ð,ñ„\ð,ð.ð.ð.ð"?ð?ð?ðððð /ð/ð/ð*ð*ð*ðððððrr cón—tt||¦«¦«}tj|||gd¬¦«S)z&Format a key for use in the mmap file.T)Ú sort_keys)ÚdictÚzipÚjsonÚdumps)Ú metric_nameÚnameÚ labelnamesÚ labelvaluesÚlabelss r Úmmap_keyriŒs7€õ•#�j +Ñ.Ô.Ñ /Ô /€FÝ Œ:�{ D¨&Ð1¸TÐ BÑ BÔ BÐBr)r)rbr.r'rEr,ÚStructrFrrÚ unpack_fromrrr rrÚobjectr rir]rr úrmsðØ € € € Ø € € € Ø € € € Ø € € € àÐØ"�V”] 4Ñ(Ô(Ô-ÐØ!�F”M $Ñ'Ô'Ô,ÐØ�&”- Ñ%Ô%Ô1€Ø�”˜tÑ$Ô$Ô0€ð1ð1ð1ð2ð2ð2ððððð.YðYðYðYðY�ñYôYðYðxCðCðCðCðCr