Ë .C?£¼2š|ãó^—dZddlZddlmZddlmZddlmZGd„dej«Zy) z‰ [infinitepush] # Server-side option. Used only if indextype=disk. # Filesystem path to the index store indexpath = PATH éN)Úutil)Ú stringutilé)Úindexapicór‡—eZdZˆfd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „Zd „Zd„Zd„ZˆxZS)Ú fileindexapicó •—tt|� «||_|jj dd«}|s t jjdd«}t jj|d«|_ t jj|d«|_ t jj|d«|_ d|_ y)Ns infinitepushs indexpathsscratchbranchessindexsnodemaps bookmarkmapsnodemetadatamap) ÚsuperrÚ__init__Ú_repoÚuiÚconfigÚosÚpathÚjoinÚ_nodemapÚ _bookmarkmapÚ _metadatamapÚ_lock)ÚselfÚrepoÚrootÚ __class__s €úCusr/lib/python3.12/site-packages/hgext/infinitepush/fileindexapi.pyr zfileindexapi.__init__s�ø€Ü Œl˜DÑ*Ô,؈Œ Ø�w‰w�~‰~˜o¨|Ó<ˆÙÜ—7‘7—<‘<Ð 2°HÓ=ˆD䟙Ÿ ™  T¨:Ó6ˆŒ ÜŸG™GŸL™L¨¨~Ó>ˆÔÜŸG™GŸL™L¨Ð/AÓBˆÔ؈� ócóD—|jj«|_|S©N)r Úwlockr)rs rÚ __enter__zfileindexapi.__enter__%s€Ø—Z‘Z×%Ñ%Ó'ˆŒ ؈ rcóX—|jr|jj|||«yyr)rÚ__exit__)rÚexc_typeÚexc_valÚexc_tbs rr!zfileindexapi.__exit__)s$€Ø �:Š:Ø �J‰J× Ñ  ¨'°6Õ :ð rcó¦—|D]L}tjj|j|j ««}|j ||«ŒNyr)rrrrÚhexÚ_write)rÚbundleidÚnodesctxÚnodeÚnodepaths rÚ addbundlezfileindexapi.addbundle-s8€ÛˆDÜ—w‘w—|‘| D§M¡M°4·8±8³:Ó>ˆHØ �K‰K˜ (Õ +ñrcó|—tjj|j|«}|j ||«yr)rrrrr')rÚbookmarkr*Ú bookmarkpaths rÚ addbookmarkzfileindexapi.addbookmark2s*€Ü—w‘w—|‘| D×$5Ñ$5°xÓ@ˆ Ø � ‰ �L $Õ'rcóX—|j«D]\}}|j||«Œyr)Úitemsr0)rÚ bookmarksr.r*s rÚaddmanybookmarkszfileindexapi.addmanybookmarks6s'€Ø'Ÿo™oÖ/‰NˆH�dØ × Ñ ˜X tÕ ,ñ0rcóº—|D]V}|j|«D]@\}}tjj|j|«}|j |«ŒBŒXyr)Ú_listbookmarksrrrrÚ_delete)rÚpatternsÚpatternr.Ú_r/s rÚdeletebookmarkszfileindexapi.deletebookmarks:sK€ÛˆGØ#×2Ñ2°7Ö;‘ �˜!Ü!Ÿw™wŸ|™|¨D×,=Ñ,=¸xÓH� Ø— ‘ ˜\Õ*ñ <ñ rcóx—tjj|j|«}|j |«Sr)rrrrÚ_read)rr*r+s rÚ getbundlezfileindexapi.getbundle@s)€Ü—7‘7—<‘< § ¡ ¨tÓ4ˆØ�z‰z˜(Ó#Ð#rcóx—tjj|j|«}|j |«Sr)rrrrr=)rr.r/s rÚgetnodezfileindexapi.getnodeDs+€Ü—w‘w—|‘| D×$5Ñ$5°xÓ@ˆ Ø�z‰z˜,Ó'Ð'rcó6—t|j|««Sr)Údictr6)rÚquerys rÚ getbookmarkszfileindexapi.getbookmarksHs€Ü�D×'Ñ'¨Ó.Ó/Ð/rcó¤—|jj}|jtjj |j |«|«yr)r ÚvfsÚwriterrrr)rr*Ú jsonmetadatarFs rÚsaveoptionaljsonmetadataz%fileindexapi.saveoptionaljsonmetadataKs2€Ø�j‰j�n‰nˆØ � ‰ ”"—'‘'—,‘,˜t×0Ñ0°$Ó7¸ÕFrc #ó K—|jd«r d|ddzdz}tj|«\}}}t|j«dz}|j j j|j«D]�\}}}|D]v} tjj|| «|d} tj| «} || «sŒD| |jtjj|| ««f–—ŒxŒƒy­w)Nó*sre:^éÿÿÿÿs.*r)ÚendswithrÚ stringmatcherÚlenrr rFÚwalkrrrrÚpconvertr=) rr9ÚkindÚpatÚmatcherÚ prefixlenÚdirpathr:ÚbooksÚbookr.s rr6zfileindexapi._listbookmarksOsáèø€Ø × Ñ ˜DÔ !Ø ¨¨  Ñ,¨uÑ4ˆGÜ'×5Ñ5°gÓ>шˆc�7ܘ×)Ñ)Ó*¨QÑ.ˆ Ø!%§¡§¡×!4Ñ!4°T×5FÑ5FÖ!GÑ ˆG�Q˜Û�ÜŸ7™7Ÿ<™<¨°Ó6°y°zÐB�ÜŸ=™=¨Ó2�Ù˜xÔ(ØØ § ¡ ¬2¯7©7¯<©<¸ÀÓ+FÓ GÐGÓGñ ñ"Hùs‚DDcóº—|jj}|j|«}|j|«s|j |«|j ||«yr)r rFÚdirnameÚexistsÚmakedirsrG)rrÚvaluerFrZs rr'zfileindexapi._write\sC€Ø�j‰j�n‰nˆØ—+‘+˜dÓ#ˆØ�z‰z˜'Ô"Ø �L‰L˜Ô !à � ‰ �$˜Õrcót—|jj}|j|«sy|j|«Sr)r rFr[Úread©rrrFs rr=zfileindexapi._readds,€Ø�j‰j�n‰nˆØ�z‰z˜$ÔØØ�x‰x˜‹~Ðrcót—|jj}|j|«sy|j|«Sr)r rFr[Úunlinkr`s rr7zfileindexapi._deletejs-€Ø�j‰j�n‰nˆØ�z‰z˜$ÔØ Ø�z‰z˜$ÓÐr)Ú__name__Ú __module__Ú __qualname__r rr!r,r0r4r;r>r@rDrIr6r'r=r7Ú __classcell__)rs@rrrsPø„ô òò;ò,ò (ò-ò+ò $ò(ò0òGò Hòòö  rr) Ú__doc__rÚ mercurialrÚmercurial.utilsrÚrr©rrÚrls,ðñó åå&åôV �8×$Ñ$õV r