Ë nT§„âùÀãó(—ddlZddlZddlZddlmZddlmZmZmZddl m Z ddl m Z m ZmZmZm Z mZmZmZddlmZddlmZdd lmZdd lmZej:d «Zej:d «Zej:d «Z ej:d«Z!dZ"ejFZ#d„Z$d„Z%d„Z&d„Z'd=d„Z( d>d„Z)d„Z*d„Z+Gd„d«Z,Gd„de,«Z-Gd„de-«Z.Gd„de.«Z/Gd „d!«Z0d"„Z1d#„Z2d$„Z3 d?d%„Z4d&„Z5d'„Z6d(Z7 d@d)„Z8d*„Z9Gd+„d,«Z: dAd-„Z; dAd.„Z< dAd/„Z= dAd0„Z>e;e,fee/fd1œZ?d2„Z@d3„ZAd4„ZBd5„ZCd6„ZD dBd7„ZEd=d8„ZFd9„ZG dCd:„ZH dDd;„ZI d>d<„ZJy)EéNé)Ú_)ÚhexÚnullrevÚshort)Úopen)ÚerrorÚmatchÚmdiffÚphasesÚpycompatÚ requirementsÚscmutilÚutil)Ú repository)Úsidedata)Ú constants)Ú storageutils 20s20s20s20ss20s20s20s20s20ss>20s20s20s20s20sHs>B20s20s20s20s20sHslfscó¼—t|d«}tjd|«d}|dkr$|r!tjt d«|z«‚yt||dz «S)z-return the next chunk from stream as a stringéó>lróinvalid chunk length %dó)Ú readexactlyÚstructÚunpackr ÚAbortr)ÚstreamÚdÚls ú9usr/lib/python3.12/site-packages/mercurial/changegroup.pyÚgetchunkr"/s[€ä�F˜AÓ€AÜ� ‰ �e˜QÓ Ñ"€A؈A‚vÙ Ü—+‘+œaÐ :Ó;¸aÑ?Ó@Ð @ØÜ �v˜q 1™uÓ %Ð%rcó4—tjd|dz«S)z*return a changegroup chunk header (string)rr©rÚpack)Úlengths r!Ú chunkheaderr':s€ä �;‰;�u˜f q™jÓ )Ð)rcó.—tjdd«S)zBreturn a changegroup chunk header (string) for a zero-length chunkrrr$©rr!Ú closechunkr*?s€ä �;‰;�u˜aÓ Ð rcó0—tt|««|zS)z3Obtain a changegroup chunk header for a named path.)r'Úlen)Úpaths r!Ú _fileheaderr.Ds€ä ”s˜4“yÓ ! DÑ (Ð(rcóü—d}d} |r#|r|j|d«}n>t|dd«}n0tjdd¬«\}}tj|d«}|}|D]}|j |«Œd}||�|j «|�,|r|r|j|«Stj|«SS#|�|j «|�,|r|r|j|«wtj|«wwxYw)zÎWrite chunks to a file and return its filename. The stream is assumed to be a bundle file. Existing files will not be overwritten. If no filename is specified, a temporary file is created. Nswbis hg-bundle-s.hg)ÚprefixÚsuffixÚwb)rr ÚmkstempÚosÚfdopenÚwriteÚcloseÚunlink)ÚuiÚchunksÚfilenameÚvfsÚfhÚcleanupÚfdÚcs r!Ú writechunksrAIsñ€ð €BØ€Gð#Ù ÙØ—X‘X˜h¨Ó.‘ô˜( E¨6Ó2‘ä#×+Ñ+°=ÈÔP‰LˆB�Ü—‘˜2˜tÓ$ˆB؈ۈAØ �H‰H�Q�KðàˆØà ˆ>Ø �H‰HŒJØ Ð Ù™CØ— ‘ ˜7Õ#ä— ‘ ˜'Õ"ð øð ˆ>Ø �H‰HŒJØ Ð Ù™CØ— ‘ ˜7Õ#ä— ‘ ˜'Õ"ð ús †A2B9Â9AC;cóx—d}|dd|zzz }|dz }d}|�_t|«dzd|zztksJ‚||jtd|zz «z }t|t«r |d|zz }n|d |zz }d }n||z }|�(||z }d}|€J‚|d z|z}|� |d ||fzz }n|d |zz }|dz }|j |«y)z+Print one line of debug_unbundle_debug_infosDEBUG-UNBUNDLING: ó éó:rNrs%14.3f secondsó%10ds éds (%3d%% of %s)s (%3d%%)ó )r,Ú_KEY_PART_WIDTHÚljustÚ isinstanceÚfloatÚ write_err) r9ÚindentÚkeyÚ base_valueÚpercentage_baseÚpercentage_keyÚlineÚpaddingÚ percentages r!Ú_dbg_ubdl_linerVls€ð !€D؈D�A˜‘JÑ Ñ€D؈4�K€CØ€GØÐÜ�3‹x˜!‰|˜q 6™zÑ*¬oÒ=Ð=Ð=Ø �— ‘ œ/¨Q°©ZÑ8Ó9Ñ9ˆÜ �j¤%Ô (Ø Ð%¨ Ñ2Ñ 2‰Dà �G˜jÑ(Ñ (ˆDØ%‰Gà �‰ ˆàÐ"Ø �‰ˆØˆØÐ%Ð%Ð%Ø #Ñ%¨Ñ8ˆ Ø Ð %Ø Ð%ØØð)ññ ‰Dð �K *Ñ,Ñ ,ˆDàˆE�M€D؇L�L�Õrcó—|syt|«S)Ng)Úsum)Úitemss r!Ú_sumfrZ•s€ñ ØÜ ˆu‹:Ðrc óÌ—g}g}g}d|fd|fd|fg}|D]9}|D],\}}|dj|«sŒ|j|«Œ3Jd«‚d|fd|fd|fg} t|d d t|««| D])\} }|sŒ t|d | t|«t|««Œ+|D�cgc]}|d ‘Œ } }| j «t | «} t|d d | «| D]B\} }|sŒ |D�cgc]}|d ‘Œ } }| j «t|d | t | «| «ŒDi}| D]E\} }d d d d d d d d dœx|| <}|D]+}||dxxd z cc<|dsŒ||ddzxxd z cc<Œ-ŒGd}|r t|d d«| D]Q\} }|r t|d | «|| }|D]3}||sŒ |dz}t|d|||«t|dd||||«Œ5ŒSi}| D]˜\} }ggggggggdœx|| <}|D]?}||dj|d «|dsŒ#||ddzj|d «ŒAt |j««D]#\}}|j «t |«||<Œ%Œš|r t|d d«| D]S\} }|r t|d | «|| }| }|D]3}||sŒ |dz}t|d||||d«t|dd|||d«Œ5ŒUycc}wcc}w)z3display an unbundling report from debug informations CHANGELOG:s MANIFESTLOG:sFILELOG:z target-revlogÚ unreachableó changelogó manifestsófilesró revisionsrÚdurations total-time)ófulls full-cachedósnapshotssnapshot-cachedódeltas delta-cachedóunknownsunknown-cachedÚtypezusing-cached-bases-cached)rbrcrdres type-countrDéscacheds type-timestotalN)Ú startswithÚappendrVr,ÚsortrZÚlistrY)r9Ú debug_infoÚcl_infoÚmn_infoÚfl_infoÚ _dispatchÚer0ÚinfoÚ each_inforOÚ all_durationsÚtotal_durationÚ durationsÚ each_typesÚtypesÚEXPECTED_TYPESÚtÚtnÚtcÚeach_type_timeÚt_keyÚvalueÚtds r!Údisplay_unbundle_debug_infor��s°€à€GØ€GØ€Gà ˜Ð Ø ˜'Ð"Ø �gÐð€Ió ˆÛ%‰LˆF�DØ�Ñ!×,Ñ,¨VÕ4Ø— ‘ ˜A”Ùð&ð (˜-Ó '�5ð ð �wÐØ �wÐØ �7Ðð€Iô�2�q˜,¬¨J«Ô8Û‰ ˆˆTÙØ Ü�r˜1˜c¤3 t£9¬c°*«oÕ>ðñ -7Ó7©J q�Q�z“]¨J€MÐ7Ø×ÑÔܘ=Ó)€NÜ�2�q˜-¨Ô8㉠ˆˆTÙØ Ù,0Ó1©D q�Q�z“]¨Dˆ Ð1Ø�‰ÔÜ�r˜1˜c¤5¨Ó#3°^ÕDð ð€JÛ‰ ˆˆTàØØØ !ØØØØ ñ # ð ˆ �3‰˜%óˆAØ �!�F‘)Ó  Ñ !Ó ØÐ$Ó%Ø�a˜‘i *Ñ,Ó-°Ñ2Ô-ñðð B€NÙÜ�r˜1˜mÔ,Û‰ ˆˆTÙ Ü ˜2˜q #Ô &Ø �s‰OˆÛ ˆBØ�‹uؘ*‘_�ܘr 1 b¨!¨B©%Ô0ܘr 1 i°°2±¸¸"¹Õ>ñ !ð ð€NÛ‰ ˆˆTàØØØ "ØØØØ!ñ # ð ˆ�sјaóˆAØ ˆa�‰i‰L× Ñ   *¡ Ô .ØÐ$Ó%Ø�!�F‘)˜jÑ(Ñ)×0Ñ0°°:±Õ?ðô! §¡£žO‰LˆE�5Ø �J‰JŒLܘU“|ˆAˆeŠHñ,ðñ&Ü�r˜1˜lÔ+Û‰ ˆˆTÙ Ü ˜2˜q #Ô &Ø ˜3Ñ ˆØ ˆÛ ˆBØ�‹uؘ*‘_�ܘr 1 b¨!¨B©%°°XÔ>ܘr 1 i°°2±¸¸HÕEñ !ñ ùòE8ùò2s Â$ KÃ* K!có¼—eZdZdZeZej ZdZdZ dd„Z d„Z d„Z d„Z d „Zd „Zd „Zd „Zd „Zd„Zd„Zd„Zd„Z dd„Zej2dddfd„Zd„Zy)Ú cg1unpackeraûUnpacker for cg1 changegroup streams. A changegroup unpacker handles the framing of the revision data in the wire format. Most consumers will want to use the apply() method to add the changes from the changegroup to a repository. If you're forwarding a changegroup unmodified to another consumer, use getchunks(), which returns an iterator of changegroup chunks. This is mostly useful for cases where you need to know the data stream has ended by observing the end of the changegroup. deltachunk() is useful only if you're applying delta data. Most consumers should prefer apply() instead. A few other public methods exist. Those are used only for bundlerepo and some debug commands - their use is discouraged. ó01rNcó0—|€d}|tjjvr!tjt d«|z«‚|dk(rd}tjj |«}|j|«|_||_ |xsi|_ d|_ y)NóUNs#unknown stream compression type: %ssBZs _truncatedBZ) rÚ compenginesÚsupportedbundletypesr rrÚ forbundletypeÚdecompressorreaderÚ_streamÚ_typeÚextrasÚcallback)Úselfr=Úalgr�Ú compengines r!Ú__init__zcg1unpacker.__init__"s‡€Ø ˆ;؈CØ ”d×&Ñ&×;Ñ;Ñ ;Ü—+‘+œaÐ FÓGÈ#ÑMÓNÐ NØ �%Š<Ø!ˆCä×%Ñ%×3Ñ3°CÓ8ˆ Ø!×4Ñ4°RÓ8ˆŒ ؈Œ Ø’l ˆŒ ؈� rcó@—|jduxr|jdk7S)Nr†)rŒ©r�s r!Ú compressedzcg1unpacker.compressed2s€Ø�z‰z Ð%Ò=¨$¯*©*¸Ñ*=Ð=rcó8—|jj|«S©N)r‹Úread)r�r s r!r˜zcg1unpacker.read5s€Ø�|‰|× Ñ  Ó#Ð#rcó8—|jj|«Sr—)r‹Úseek)r�Úposs r!ršzcg1unpacker.seek8s€Ø�|‰|× Ñ  Ó%Ð%rcó6—|jj«Sr—)r‹Útellr”s r!r�zcg1unpacker.tell;s€Ø�|‰|× Ñ Ó"Ð"rcó6—|jj«Sr—)r‹r7r”s r!r7zcg1unpacker.close>s€Ø�|‰|×!Ñ!Ó#Ð#rcóô—t|jd«}tjd|«d}|dkr$|r!t j t d«|z«‚y|jr|j«|dz S)Nrrrr)rr‹rrr rrrŽ)r�rr s r!Ú _chunklengthzcg1unpacker._chunklengthAsg€Ü ˜Ÿ ™  aÓ (ˆÜ �M‰M˜% Ó # AÑ &ˆØ �Š6ÙÜ—k‘k¤!Ð$>Ó"?À!Ñ"CÓDÐDØØ �=Š=Ø �M‰MŒOØ�1‰uˆ rcó—iS)z*v10 does not have a changelog header chunkr)r”s r!Úchangelogheaderzcg1unpacker.changelogheaderLó€àˆ rcó—iS)z)v10 does not have a manifest header chunkr)r”s r!Úmanifestheaderzcg1unpacker.manifestheaderPr£rcó^—|j«}|siSt|j|«}d|iS)zBreturn the header of the filelogs chunk, v10 only has the filenameófilename)r rr‹)r�r Úfnames r!Ú filelogheaderzcg1unpacker.filelogheaderTs3€à × Ñ Ó ˆÙ؈IܘDŸL™L¨!Ó,ˆØ˜UÐ#Ð#rcó8—|\}}}}|€|}n|}d}d} ||||||| fS©Nrr)) r�Ú headertupleÚprevnodeÚnodeÚp1Úp2ÚcsÚ deltabaseÚflagsÚprotocol_flagss r!Ú _deltaheaderzcg1unpacker._deltaheader\s?€Ø&шˆb�"�bØ Ð Ø‰Ià ˆI؈؈Ø�R˜˜Y¨¨E°>ÐAÐArc ó4—|j«}|siSt|j|j«}|jj |«}t|j||jz «}|j ||«}|\}}}} } } } |||| | || i| f Sr—)r rr‹ÚdeltaheadersizeÚ deltaheaderrrµ) r�r­r Ú headerdataÚheaderÚdeltar®r¯r°r²r±r³r´s r!Ú deltachunkzcg1unpacker.deltachunkfsž€à × Ñ Ó ˆÙ؈IÜ  §¡¨t×/CÑ/CÓDˆ Ø×!Ñ!×(Ñ(¨Ó4ˆÜ˜DŸL™L¨!¨d×.BÑ.BÑ*BÓCˆØ×"Ñ" 6¨8Ó4ˆØ=CÑ:ˆˆb�"�i  U¨NØ�R˜˜R ¨E°5¸"¸nÐLÐLrc#óFK—d}|d|jzkr‰d} t|«}|s|dkr|dz }n|r|dz }nFd}tt|««–—d}|t|«kr|dz}|||–—|}|t|«krŒŒft «–—|d|jzkrŒˆyy­w)a"returns all the chunks contains in the bundle Used when you need to forward the binary stream to a file or another network API. To do so, it parse the changegroup data, otherwise it will block in case of sshrepo because it don't know the end of the stream. rrDTrFiN)Ú_grouplistcountr"r'r,r*)r�ÚpartsÚ noentriesÚchunkr›Únexts r!Ú getchunkszcg1unpacker.getchunksrsÆèø€ð&ˆØ�a˜$×.Ñ.Ñ.Ò.؈IØÜ  ›�Ùð˜q’yØ ™ ™Ù"Ø ™ ˜ØØ!� Ü!¤# e£*Ó-Ò-Ø�ØœC ›JÒ&Ø ™=�DØ  D˜/Ò)Ø�CðœC ›JÓ&ð#ô*“,Ò ð/�a˜$×.Ñ.Ñ.Õ.ùs‚Aj@| dvrˆ3fd„}|jC‰| |||| |¬«i}‰jjdd«r˜‰jŠ+‰jD}tG‰,|«D]q}‰+jI|«jJ}||jM«}|jO«D].\}}|j|t««jQ|«Œ0Œsd}| rt>jR| dvrˆ2fd„}‰jj)t+d««tU‰|| ||||| |¬« \}} | rŠt>jV| dvr‰+jY|| ‰,|dz «‰3jO«D]\}!\}"}#|!jY|| |"|#«Œ‰2jO«D]\}$\}"}#|$jY|| |"|#«Œ|jZjd d!«|jZjd"d!«|jZjd#d!«|jZjd$d!«‰jj\sE|jZd xx|z cc<|jZd"xx|z cc<|jZd#xx| z cc<d!}%‰0rO‰+j#«}&|%t-|&«t-‰0«z z }%|&D] }'|'‰0vsŒ‰|'j_«sŒ|%dz}%Œ"‰jj\s|jZd$xx|%z cc<‰ja«|d!kDrïd%|jvrgtc‰+je‰,««|jd%<tc‰+je|dz ««|jd&<tg|j«Š/nRtg|j«Š/tc‰+je‰,««‰/d%<tc‰+je|dz ««‰/d&<‰j d-d ditj‰/«¤ŽtG‰,|«Š*d}(|d'vr5‰ji«rtjjlx}}(ntjjnx}}(‰*rtkjp‰||‰*«|(�2‰-r‰-js‰*«n‰*Š-tkjt‰||(g‰-¬(«gŠ-|d!kDr#ˆ*ˆ+ˆ,ˆ/ˆ0ˆfd)„Š1|jwd*‰,zˆˆ1fd+„«| �ty‰j| «‰jj{«|%d!kr|%dz })|)S|%dz})|)S#‰jj{«wxYw).aNAdd the changegroup returned by source.read() to this repo. srctype is a string like 'push', 'pull', or 'unbundle'. url is the URL of the repo where this changegroup is coming from. Return an integer summarizing the change to this repo: - nothing changed or no source: 0 - more heads than before: 1+added heads (2..n) - fewer heads than before: -1-removed heads (-2..-n) - number of heads stays the same: 1 `sidedata_categories` is an optional set of the remote's sidedata wanted categories. `delta_base_reuse_policy` is an optional argument, when set to a value it will control the way the delta contained into the bundle are reused when applied in the revlog. See `DELTA_BASE_REUSE_*` entry in mercurial.revlogutils.constants. Nódebugsunbundling-statsó04spullT)Úpullcóh•—‰jjdt|«z«t‰«S)Nsadd changeset %s )r9Údebugrr,)ÚxÚclrÎs €€r!Úcsmapz cg1unpacker.apply..csmapós&ø€Ø �G‰G�M‰MÐ/´%¸³(Ñ:Ô ;Ü�r“7ˆNrcó&•—‰j|«Sr—©Úrev)rÛrÜs €r!rÏz!cg1unpacker.apply..revmap÷sø€Ø—6‘6˜!“9Ð rssourcesurlÚthrowsadding changesets ó changesetsóchunks©ÚunitÚtotalcó4•—|‰kr‰j|«yyr—)ri)rÜràÚclstartÚduprevss €€r!Úondupchangelogz)cg1unpacker.apply..ondupchangelogsø€Ø˜’=Ø—N‘N 3Õ'ð!rcóŠ•—|j|«}‰€J‚‰j|j«‰j||«yr—)ÚchangelogrevisionÚupdateÚfilesÚregister_changeset)rÜràÚctxÚ efilessetrÎs €€r!Ú onchangelogz&cg1unpacker.apply..onchangelogsAø€Ø×*Ñ*¨3Ó/�Ø Ð,Ð,Ð,Ø× Ñ  §¡Ô+Ø×'Ñ'¨¨SÕ1r)Ú alwayscacherÆÚduplicaterevisioncbrlrÇs(applied empty changelog from changegroupswarn-empty-changegroup)Úconfigsadding manifests r^rcój•—‰j|«}|s||f‰|<y||ddzk(sJ‚|d|f‰|<y©Nrr©Úget)ÚmanifestràÚrangeÚtouched_manifestss €r!Úon_manifest_revz*cg1unpacker.apply..on_manifest_revMsNø€Ø 1× 5Ñ 5°hÓ ?˜Ù$Ø;>À¸*Ð-¨hÒ7à#&¨%°©(°Q©,Ò#6Ð6Ð#6Ø;@À¹8ÀS¸/Ð-¨hÒ7rrÅsserversvalidatecój•—‰j|«}|s||f‰|<y||ddzk(sJ‚|d|f‰|<yr÷rø)ÚfilelogràrûÚtouched_filelogss €r!Úon_filelog_revz)cg1unpacker.apply..on_filelog_revosNø€Ø 0× 4Ñ 4°WÓ =˜Ù$Ø9<¸c¸ Ð,¨WÒ5à#&¨%°©(°Q©,Ò#6Ð6Ð#6Ø9>¸q¹À3¸Ð,¨WÒ5rsadding file changes schangegroup-count-changesetsrschangegroup-count-revisionsschangegroup-count-filesschangegroup-count-headsónodeó node_last)spushsserve)Úrevscó•—‰t‰ «k\ry‰ jditj‰ «¤Ž‰D]W}‰ j «}t ‰j |««|d<|d=‰ jditj|«¤ŽŒY‰ j«D�cgc] }|‰ vsŒ|‘Œ }}‰ jjddt‰«dj|D�cgc]}t |dd«‘Œc}««ycc}wcc}w) Nrróincomings$%d incoming changes - new heads: %s s, é)s changegroup)r) r,Úhookr Ú strkwargsÚcopyrr®Úheadsr9ÚlogÚjoin) Úunused_successràÚargsÚhÚnewheadsr@ÚaddedrÜrèÚhookargsÚoldheadsrÎs €€€€€€r!Úrunhooksz#cg1unpacker.apply..runhooksÞsðø€ð¤# d£)Ò+Øà�D—I‘IÑM´×0BÑ0BÀ8Ó0LÒMã$˜Ø'Ÿ}™}›˜Ü(+¨B¯G©G°C«LÓ(9˜˜W™ Ø  Ð.Ø!˜Ÿ ™ ÑJ´×1CÑ1CÀDÓ1IÓJð %ð ,0¯:©:¬<ÓM©< a¸1ÀHÒ;L¢¨<�HÐMØ—G‘G—K‘KØ#Ø@ܘE› ØŸ ™ ¹Ó#A¹°1¤C¨¨"¨1¨¥J¸Ñ#AÓBõ ùò Nùò $BsÂ$ DÂ.DÃ$D schangegroup-runhooks-%020icó&•—‰j‰«Sr—)Ú _afterlock)ÚtrrÎrs €€r!Úz#cg1unpacker.apply..÷sø€˜tŸ™¨xÔ8r)sprechangegroup)spretxnchangegroup)>Ú unfilteredr9Ú configboolrÚREVLOGV2_REQUIREMENTÚCHANGELOGV2_REQUIREMENTÚversionÚ sidedatamodÚget_sidedata_helpersÚsetrÚ setdefaultrr r Ú changelogÚ delayupdater ÚweakrefÚproxyÚstatusrr,Ú makeprogressrÈrŽr¢rÉrÌÚ develwarnrÍÚrevlog_constantsÚKIND_MANIFESTLOGrÔrÊrûrìrúÚ readdeltarYÚaddÚ KIND_FILELOGÚ_addchangegroupfilesÚKIND_CHANGELOGÚrewrite_sidedataÚchangesÚquietÚ closesbranchÚinvalidatevolatilesetsrr®ÚdictÚ publishingr ÚpublicÚdraftÚ registernewÚextendÚadvanceboundaryÚ addpostcloser�Úflush)4r�rÎrÚsrctypeÚurlÚ targetphaseÚ expectedtotalÚsidedata_categoriesrÇrlÚadding_sidedataÚsidedata_helpersrÝrÏrÐÚprogressrêròrÒÚefilesÚclendÚ changesetsrýÚ needfilesÚmlÚcsetÚmfnodeÚmfestÚfÚnrÚnewrevsÚnewfilesÚmfÚstartrevÚendrevÚflÚ deltaheadsr rÚphaseallÚretrrÜrèrérñrrrrrüs4 ` @@@@@@@@@@r!Úapplyzcg1unpacker.apply¼s¢ÿú€ð<�‰Ó ˆàˆ Ø �7‰7× Ñ ˜hÐ(;Ô <؈Jô ×1Ñ1°T×5FÑ5FÐFòMÜ×7Ñ7¸4×;LÑ;LÐLò #ð— ‘  Ñ%ò  #ð ˜7Ñ"ð ñ Ü*×?Ñ?ØØ#Ò,¤s£uØô Ñ ð $Ð õ ô ðB ð —k‘k×,Ñ,¨Y¸Ó@ˆGØ �K‰K× "Ñ " 6¨3Ô /Ø ˆD�I‰IØ!ñ Ø)-ð Ü19×1CÑ1CÀBÇKÁKÓ1Pò ð —‘ˆBØ �N‰N˜2Ô Ü˜2Ÿ8™8›:“ˆHä—-‘- Ó#ˆCà �G‰G�N‰Nœ1Ð3Ó4Ô 5ܘ"“gˆGØ—w‘w×+Ñ+Ü�-Ó ¤q¨£|¸=ð,óˆHð%×.Ñ.ˆDŒM䛈I؈Gõ (õ 2ð × Ñ Ô "Ø—^‘^Ó%ˆFØ—;‘;ØØØØ Ø)Ø$2Ø%Ø(?ðô ð—‘×!Ñ!Ø?Ø4ð"ôô˜“^ˆFܘ“GˆEØ ™ˆJØ × Ñ Ô ØðˆIØ ˆDŒMð !#Ð Ø!Ð ð �G‰G�N‰Nœ1Ð2Ó3Ô 4ð—w‘w×+Ñ+Ü�,“¤a¨ £l¸*ð,óˆHð#ˆOÙÜ#×4Ñ4Ð8HÈÑ8KÑKôJð × !Ñ !ØØØØØ-Ø%Ø(?ð "ô ðˆIØ�w‰w×!Ñ! )¨[Ô9Ø—^‘^�Ø×%Ñ%�ä! '¨5Ö1�DØ×1Ñ1°$Ó7×@Ñ@�Fؘv™J×0Ñ0Ó2�Eà %§ ¡ ¦ ™˜˜1Ø!×,Ñ,¨Q´³Ó6×:Ñ:¸1Õ=ñ!.ð 2ð"ˆNÙÜ#×0Ñ0Ð4DÀQÑ4GÑGôHð �G‰G�N‰Nœ1Ð5Ó6Ô 7Ü 4ØØØØØØØ,Ø%Ø(?ô !Ñ ˆG�Xñ Ü#×2Ñ2Ð6FÀqÑ6IÑIØ×'Ñ'ØÐ-¨w¸À¹ ôð/@×.EÑ.EÖ.GÑ*�BÑ*˜ 6Ø×'Ñ'¨Ð-=¸xÈÕPð/Hà.>×.DÑ.DÖ.FÑ*�BÑ*˜ 6Ø×'Ñ'¨Ð-=¸xÈÕPð/Gð �J‰J× !Ñ !Ð"AÀ1Ô EØ �J‰J× !Ñ !Ð"@À!Ô DØ �J‰J× !Ñ !Ð"<¸aÔ @Ø �J‰J× !Ñ !Ð"<¸aÔ @ð—7‘7—=’=Ø— ‘ Ð:Ó;¸zÑIÓ;Ø— ‘ Ð9Ó:¸gÑEÓ:Ø— ‘ Ð5Ó6¸(ÑBÓ6àˆJÙØŸ™› �Øœc %›j¬3¨x«=Ñ8Ñ8� Û�AØ Ò(¨T°!©W×-AÑ-AÕ-CØ" a™™ ðð —7‘7—=’=Ø— ‘ Ð5Ó6¸*ÑDÓ6Ø × 'Ñ 'Ô )à˜AŠ~Ø "§+¡+Ñ-Ü+.¨r¯w©w°wÓ/?Ó+@�B—K‘K Ñ(Ü03°B·G±G¸EÀA¹IÓ4FÓ0G�B—K‘K  Ñ-Ü# B§K¡KÓ0‘Hä# B§K¡KÓ0�HÜ(+¨B¯G©G°GÓ,<Ó(=�H˜WÑ%Ü-0°·±¸À¹Ó1CÓ-D�H˜\Ñ*Ø�— ‘ Ø(ñàðô×(Ñ(¨Ó2òô ˜' 5Ó)ˆE؈HØÐ-Ñ-ð—?‘?Ô$Ü-3¯]©]Ð:�K¡(ô.4¯\©\Ð9�K (ÙÜ×"Ñ" 4¨¨[¸%Ô@ØÐ#ÙØ—N‘N 5Õ)à#�GÜ×&Ñ& t¨R°¸2ÀGÕLØ�à˜AŠ~÷ñð.—‘Ø1°GÑ;Ü8ôðÐ%Ü+¨D¯G©G°ZÔ@à �G‰G�M‰MŒOà ˜Š>ؘq‘.ˆCðˆ ð˜q‘.ˆC؈ øð �G‰G�M‰M�OúsÃS3`Ö7`× H `à`!c#óV‡‡K—dŠtˆˆfd„i«D]}|dd–—|dŠŒy­w)z’ returns an iterator of the deltas in this changegroup Useful for passing to the underlying storage system to be stored. Ncó&•—‰j‰«Sr—)r¼)Úchainr�s€€r!rz'cg1unpacker.deltaiter.. sø€ d§o¡o°eÔ&ò$ò&ò#ò$ò òòò$òBò Mò+ðfØØ $óðF—L‘LØØ Ø $óFóP !rrƒcó6—eZdZdZeZej ZdZd„Z y)Ú cg2unpackerzºUnpacker for cg2 streams. cg2 streams add support for generaldelta, so the delta header format is slightly different. All other features about the data remain the same. ó02có,—|\}}}}}d}d} ||||||| fSr«r)© r�r¬r­r®r¯r°r²r±r³r´s r!rµzcg2unpacker._deltaheaders1€Ø&1Ñ#ˆˆb�"�i ØˆØˆØ�R˜˜Y¨¨E°>ÐAÐArN) rbrcrdreÚ_CHANGEGROUPV2_DELTA_HEADERr¸rgr·rrµr)rr!riris$„ñð.€KØ!×&Ñ&€OØ€GóBrricóT‡—eZdZdZeZej ZdZdZ d„Z dˆfd„ Z ˆxZ S)Ú cg3unpackerzÒUnpacker for cg3 streams. cg3 streams add support for exchanging treemanifests and revlog flags. It adds the revlog flags to the delta header and an empty chunk separating manifests and files. ó03rDcó*—|\}}}}}}d} ||||||| fSr«r)rls r!rµzcg3unpacker._deltaheader1s.€Ø-8Ñ*ˆˆb�"�i  U؈Ø�R˜˜Y¨¨E°>ÐAÐArc ór•—tt|� |||||||¬«t|ji«D]ƒ}|d} |j j d| z«|j«} |jj| «j| |||||¬«rŒgtjtd««‚y)NrÅr§óadding %s revisions s"received dir revlog group is empty)ÚsuperrorÔr_r©r9rÚrÉrÊrËrÌr rr) r�rÎrÏrÐrÑrÆrlrÇr`rrÒÚ __class__s €r!rÔzcg3unpacker._unpackmanifests6sÀø€ô Œk˜4Ñ1Ø Ø Ø Ø Ø'Ø!Ø$;ð 2ô ô˜d×0Ñ0°"Ö5ˆIà˜+Ñ&ˆAØ �G‰G�M‰MÐ2°QÑ6Ô 7Ø—^‘^Ó%ˆFØ×#Ñ#×.Ñ.¨qÓ1×:Ñ:ØØØØ+Ø%Ø(?ð ;õô—k‘k¤!Ð$IÓ"JÓKÐKñ6rra) rbrcrdreÚ_CHANGEGROUPV3_DELTA_HEADERr¸rgr·rr¾rµrÔÚ __classcell__©rus@r!roro$sAø„ñð.€KØ!×&Ñ&€OØ€GØ€OòBðØØ $÷ Lñ LrrocóH‡—eZdZdZeZej ZdZd„Z ˆfd„Z ˆxZ S)Ú cg4unpackerzTUnpacker for cg4 streams. cg4 streams add support for exchanging sidedata. r×có(—|\}}}}}}} |||||| |fSr—r)) r�r¬r­r´r®r¯r°r²r±r³s r!rµzcg4unpacker._deltaheadercs+€Ø=HÑ:ˆ˜˜b " i°°UØ�R˜˜Y¨¨E°>ÐAÐArc óæ•—tt|� |«}|s|S|\ }}}}}}} } } | rJ‚i} | tjzr*t |j «} tj| «} ||||||| | | f Sr—) rtrzr¼rÚCG_FLAG_SIDEDATAr"r‹rÚdeserialize_sidedata)r�r­Úresr®r¯r°r±r²r»r³rr´Ú sidedata_rawrus €r!r¼zcg4unpacker.deltachunkgs¡ø€Ü”K Ñ1°(Ó;ˆÙ؈Jð ñ Ø Ø Ø Ø Ø Ø Ø Ø Ø áЈ|àˆØ œK×8Ñ8Ò 8Ü# D§L¡LÓ1ˆLÜ"×7Ñ7¸ ÓEˆHð Ø Ø Ø Ø Ø Ø Ø Ø ð  ð r) rbrcrdreÚ_CHANGEGROUPV4_DELTA_HEADERr¸rgr·rrµr¼rwrxs@r!rzrzYs/ø„ñð .€KØ!×&Ñ&€OØ€GòB÷! ð! rrzcó—eZdZd„Zd„Zy)Úheaderlessfixupcó —||_||_yr—)Ú_hÚ_fh)r�r=rs r!r’zheaderlessfixup.__init__Œs€ØˆŒØˆ�rcóø—|jrY|jd||j|dc}|_t|«|kr%|t|j|t|«z «z }|St|j|«Sr—)r…r,rr†)r�rPrs r!r˜zheaderlessfixup.read�sh€Ø �7Š7ØŸ™  !˜ d§g¡g¨a¨b kˆJˆAˆtŒwÜ�1‹v˜ŠzØ”[ §¡¨1¬s°1«v©:Ó6Ñ6�؈Hܘ4Ÿ8™8 QÓ'Ð'rN)rbrcrdr’r˜r)rr!rƒrƒ‹s „òó(rrƒc#óDK—|j�d|j}}ny|j|jk(r+|j}t j t |««}n5|j}t j|jt |««}||«}tt |«t |«zt |«z«–—|–—|r|–—|–—|jtjzr'|j}tt |««–—|–—yy­w)z0Serialize a revisiondelta to changegroup chunks.Nr)r»ÚbasenodeÚnullidÚrevisionr Útrivialdiffheaderr,ÚreplacediffheaderÚbaserevisionsizer'r´rr}r)rÎr»Úheaderfnr0ÚdataÚmetars r!Ú_revisiondeltatochunksr’™såèø€ð ‡{�{ÐØ˜EŸK™K�‰Ø �‰˜4Ÿ;™;Ò &Ø�~‰~ˆÜ×(Ñ(¬¨T«Ó3‰à�~‰~ˆÜ×(Ñ(¨×)?Ñ)?ÄÀTÃÓKˆá �E‹?€Dä ”c˜$“i¤# f£+Ñ-´°D³ Ñ9Ó :Ò:Ø ‚JÙ ØŠ Ø ‚Jà ×Ñœk×:Ñ:Ò:ð—>‘>ˆÜœ#˜h›-Ó(Ò(Ø‹ð ;ùs‚DD có,‡‡—ˆˆfd„}t||¬«S)z&Sort nodes for changegroup generation.có2•—‰j‰|««Sr—rß)rPrÜÚlookups €€r!rz$_sortnodesellipsis..Ísø€�B—F‘F™6 !›9Ô%r©rO)Úsorted)ÚstoreÚnodesrÜr•rOs `` r!Ú_sortnodesellipsisrš»sù€ô$ &€CÜ �%˜SÔ !Ð!rc ó^‡‡‡‡‡‡‡‡—‰|} ˆˆˆˆˆˆˆfd„Š| r‰j‰«ttfk(r tt} } nBt| «dk(rtˆfd„| D««\} t} ntˆfd„| D««\} } ‰j | «‰j | «} } | | |fS)Ncó\•—|tk(rtS‰ r|S|g}|�r|d}|dd}|‰vr‰|S|‰vr9|j‰j|«D�cgc]}|tk7sŒ |‘Œc}«n¯|‰ vr-|j‰ |D�cgc]}|tk7sŒ |‘Œc}«n~t‰ dd«D]}‰ j |«|k(sŒ|cSt j ‰ d«r ‰ j}n‰ jj}tjd|‰ |fz«‚|r�ŒtScc}wcc}w)a…Turn a changelog revnum into a local revnum. The ellipsis dag is stored as revnums on the changelog, but when we're producing ellipsis entries for non-changelog revlogs, we need to turn those numbers into something local. This does that for us, and during the changelog sending phase will also expand the stored mappings as needed. rrNéÿÿÿÿÚtargets?unable to resolve parent while packing '%s' %r for changeset %r) rr;Ú parentrevsrûÚlinkrevrÚ safehasattrÚ display_idÚ_revlogr r) ÚclrevÚwalkÚpÚppÚiržrÜÚclrevtolocalrevÚ fullclnodesÚ ischangelogÚprecomputedellipsisràr˜s €€€€€€€r!Úlocalz)_resolvenarrowrevisioninfo..localÞsOø€ð ”GÒ ÜˆNá ØˆLðˆwˆÚØ�Q‘ˆAؘ˜�8ˆDØ�OÑ#Ø& qÑ)Ð)Ø�kÑ!Ø— ‘ ¨"¯-©-¸Ô*:ÓLÑ*: B¸bÄG»mšRÐ*:ÑLÕMØÐ)Ñ)Ø— ‘ Ø"5°aÒ"8ÓJÑ"8˜B¸BÄ'»M’RÐ"8ÑJõô ˜s A rÖ*�AØ—}‘} QÓ'¨5Ó0Ø šð+ô ×#Ñ# E¨8Ô4Ø"×-Ñ-‘Fð#Ÿ]™]×5Ñ5�Fä—k‘kð)Ø,2°C¸Ð+?ñ@óðóGôPˆùòEMùòKsÁD$ÁD$ÂD)ÂD)rc3ó.•K—|] }‰|«–—Œy­wr—r)©Ú.0r¦r­s €r!Ú z-_resolvenarrowrevisioninfo..&søèø€Ð5© A‘u˜Q—x©ùóƒc3ó.•K—|] }‰|«–—Œy­wr—r)r¯s €r!r±z-_resolvenarrowrevisioninfo..)søèø€Ð6©+ Q™˜aŸ©+ùr²)rŸrr,r—r®)rÜr˜r«ràr Úlinknoder©rªr¬Ú linkparentsr¯r°Úp1nodeÚp2noder­s```` ``` @r!Ú_resolvenarrowrevisioninfor¸ÑsŸÿ€ð& gÑ.€K÷CòCñJ ˜5×+Ñ+¨CÓ0´W¼gÐ4FÒFÜœ'ˆB‰Ü ˆ[Ó ˜QÒ ÜÓ5©Ó5Ó5‰ˆÜ ‰äÓ6©+Ó6Ó6‰ˆˆBà—Z‘Z “^ U§Z¡Z°£^ˆF€Fà �6˜8Ð #Ð#rc #ó¤K—|sy|j} |rd}n|rt||| |«}d}nd}|r�g}i}i}|D]t}|j|«}||«}| j|«}|||<|| vr|||<n(|| vrŒAt| ||||||| | « \}}}||f||<|||<|j |«Œv|}d}|�0|j j |td«t|«¬«}|j jdd«}|dvr)td «}|j j||z«tj}|rtj}n+|d k(rtj}n|d k(rtj}|j!||d | || | ¬ «}t#|«D]›\}}|r|j%|dz«|ra|j&}|j&vrV||j&\}}||_||_|xj,tj.zc_n||j&«}||_|–—Œ�|r|j3«yy­w)a6Calculate deltas for a set of revisions. Is a generator of ``revisiondelta`` instances. If topic is not None, progress detail will be generated using this topic name (e.g. changesets, manifests, etc). See `revlogutil.sidedata.get_sidedata_helpers` for the doc on `sidedata_helpers`. Nsstoragesnodesrãräsdevels bundle.delta)róp1rbs0config "devel.bundle.delta" as unknown value: %srºrbT)Ú nodesorderÚ revisiondataÚassumehaveparentrevisionsÚ deltamoderErlr)r#ršràr¸rir9r(rr,rõÚwarnrÚCG_DELTAMODE_STDÚCG_DELTAMODE_PREVÚCG_DELTAMODE_P1ÚCG_DELTAMODE_FULLÚ emitrevisionsÚ enumeraterír®r¶r·r³ÚREVISION_FLAG_ELLIPSISr´rÍ)rÎr˜r™r«r•ÚforcedeltaparentprevÚtopicÚellipsesr©rªr¬rErlrÜr»ÚfilteredÚadjustedparentsÚ linknodesr®ràr´r r¶r·rFÚ configtargetÚmsgr¾Ú revisionsr¨r‹s r!Ú deltagrouprÐ0s”èø€ñ2 Øà �‰€Báð ‰ Ù Ü" 5¨%°°VÓ<ˆØ‰ àˆ ñ؈؈؈ ãˆDØ—)‘)˜D“/ˆCÙ˜d“|ˆHØ—f‘f˜XÓ&ˆGØ'*ˆO˜GÑ $ð˜;Ñ&Ø"*� ˜$’ðÐ 3Ñ3Øô ,FØØØØØØØ#ØØ'ó ,Ñ(�˜ ð*0°Ð(8� Ñ%Ø"*� ˜$‘à �O‰O˜DÕ !ðEðHˆð€HØ ÐØ—7‘7×'Ñ'Ø œ˜)› ¬C°«Jð(ó ˆð—7‘7—>‘> (¨OÓ<€LØÐ0Ñ0ÜÐGÓHˆØ �‰� ‰ �S˜<Ñ'Ô(ä×+Ñ+€IÙÜ×0Ñ0‰ Ø ˜Ò Ü×.Ñ.‰ Ø ˜Ò Ü×0Ñ0ˆ à×#Ñ#Ø ØØØ&. ,ØØ)Øð$ó€Iô! Ö+‰ ˆˆ8Ù Ø �O‰O˜A ™EÔ "á Ø  §¡Ñ/ˆHà�}‰} Ñ/Ø!0°·±Ñ!?‘�˜Ø"(�”Ø"(�”Ø—’¤*×"CÑ"CÑC–ñ˜hŸm™mÓ,ˆHà$ˆÔØ‹ð#,ñ&Ø×ÑÕðùs‚IIcó&—ddddddddddddddddœS)z| "build a "new" debug_info dictionnary That dictionnary can be used to gather information about the bundle process r)úrevision-totalúrevision-changelogúrevision-manifestúrevision-filesú file-countú merge-totalúavailable-deltaúavailable-fullúdelta-against-prevú delta-fullúdelta-against-p1údenied-delta-candeltafnúdenied-base-not-availableúreused-storage-deltaúcomputed-deltar)r)rr!Úmake_debug_inforáÅs;€ð ØØØØØØØØØØØ#$Ø%&Ø !Øñ ðrcó2—dD]}||xx||z cc<Œy)z’merge the debug information from into This function can be used to gather lower level information into higher level ones. )rÒrÓrÔrÕr×rØrÙrÚrÛrÜrÝrÞrßràNr))ÚbaseÚotherrOs r!Úmerge_debug_inforåÝs"€ó ˆð ˆS‹ �U˜3‘ZÑŒ ñ!récóJ—d}|dd|zzz }|dz }|�Dt|«dzd|zztksJ‚||jtd|zz «z }|d|zz }n||z }|�"|€J‚|dz|z} |� |d | ||fzz }n|d | zz }|r |dz }||z }|d z }|j|«y) z)Print one line of debug_bundle_debug_infosDEBUG-BUNDLING: rCrDrENrrFrGs (%d%% of %s %d)s (%d%%)rH)r,rIrJrM) r9rNrOrPrQrRÚpercentage_refÚextrarSrUs r!Ú _dbg_bdl_linerêøs€ð €D؈D�A˜‘JÑ Ñ€D؈4�K€CØÐÜ�3‹x˜!‰|˜q 6™zÑ*¬oÒ=Ð=Ð=Ø �— ‘ œ/¨Q°©ZÑ8Ó9Ñ9ˆØ �˜*Ñ$Ñ$‰à �‰ ˆàÐ"ØÐ%Ð%Ð%Ø #Ñ%¨Ñ8ˆ Ø Ð %Ø Ð'ØØØð+ññ ‰Dð �J Ñ+Ñ +ˆDá Ø �‰ ˆØ �‰ ˆàˆE�M€D؇L�L�Õrc ó —|}|}|}|}dd|fdd|fdd|fg} t|dd|d «t|d d|d «t|d d |d «d|dz} t|d d|d| ¬«|drt|d d|d|d «| D]!\} } } | dsŒ t|d| | d| d «Œ#t|dd«t|d d|d|dd|d¬«|drt|dd|d«| D]\} } } | dsŒ t|d| | d«Œ|drt|dd|d«| D]\} } } | dsŒ t|d| | d«Œ|d rt|d d!|d «|d"rt|dd#|d$|d"d%|d"¬«| D]'\} } } | d"sŒ t|d| | d$| d"d%| d"¬«Œ)|d&rt|dd'|d&«| D]\} } } | d&sŒ t|d| | d&«Œ|d(rt|dd)|d&«| D]\} } } | d(sŒ t|d| | d(«Œy*)+zAdisplay debug information gathered during a bundling through `ui`r]sclr^smnr_sflrr`rÒrrÓsmanifestrÔs(for %d revlogs)rÖrÕ)rér×smergerDsdeltass from-storagerßrØs available)rQrRrèrÝs denied-fnrgrÞs denied-nbràscomputedrÙrbrÛsnativerÚspreviousrÜsparent-1N)rê)r9rlÚ cl_debug_infoÚ mn_debug_infoÚ fl_debug_inforr@ÚmrOÚall_inforéÚkÚ__Úvs r!Údisplay_bundling_debug_inforô!sÿ€ð €AØ€AØ€AØ€Aà �u˜aÐ Ø �u˜aÐ Ø �5˜!Ðð€Hô �"�a˜ qÐ)9Ñ':Ô;Ü�"�a˜ qÐ)=Ñ'>Ô?Ü�"�a˜ aÐ(;Ñ&<Ô=Ø  ! L¡/Ñ 1€EÜ�"�a˜ 1Ð%5Ñ#6¸eÕD؈ÒÜ�b˜!˜X q¨Ñ'7¸Ð;KÑ9LÔMÛ‰ˆˆ2ˆqØ ˆ]Ó Ü ˜"˜a  A mÑ$4°aÐ8HÑ6IÕ Jðô�"�a˜Ô#ÜØ Ø ØØ Ð Ñ!ØÐ+Ñ,Ø#ØÐ*Ñ+õð Ð "Ò#Ü�b˜!˜\¨1Ð-FÑ+GÔHÛ‰ˆˆAˆqØ Ð &Ó 'Ü ˜"˜a  AÐ&?Ñ$@Õ Aðð Ð $Ò%Ü�b˜!˜\¨1Ð-HÑ+IÔJÛ‰ˆˆ2ˆqØ Ð (Ó )Ü ˜"˜a  AÐ&AÑ$BÕ Cðð Ð ÒÜ�b˜!˜[¨!Ð,<Ñ*=Ô>àÐ ÒÜØ Ø Ø Ø ˆl‰OØÐ.Ñ/Ø$ØÐ-Ñ.õ 󉈈2ˆqØ Ð Ó Ü ØØØØ�,‘Ø !Ð"2Ñ 3Ø(Ø Ð!1Ñ2ö ðð Ð ÒÜ�b˜!˜[¨!Ð,@Ñ*AÔBÛ‰ˆˆ2ˆqØ Ð !Ó "Ü ˜"˜a  AÐ&:Ñ$;Õ <ðð Ð ÒÜ�b˜!˜[¨!Ð,@Ñ*AÔBÛ‰ˆˆ2ˆqØ Ð Ó Ü ˜"˜a  AÐ&8Ñ$9Õ :ñrcóX—eZdZ dd„Z d d„Z d d„Z d d„Zd„Z d d„Zy) ÚcgpackerNcóÖ—|sJ‚|sJ‚||_||_||_||_||_||_| |_|€ t«}||_| € t«} | |_ | |_ | |_ | |_ ||_ |jjjrF|jjj s&|jjj"|_yd„|_y)a Given a source repo, construct a bundler. oldmatcher is a matcher that matches on files the client already has. These will not be included in the changegroup. matcher is a matcher that matches on files to include in the changegroup. Used to facilitate sparse changegroups. forcedeltaparentprev indicates whether delta parents must be against the previous revision in a delta group. This should only be used for compatibility with changegroup version 1. builddeltaheader is a callable that constructs the header for a group delta. manifestsend is a chunk to send after manifests have been fully emitted. ellipses indicates whether ellipsis serving mode is enabled. bundlecaps is optional and can be used to specify the set of capabilities which can be used to build the bundle. While bundlecaps is unused in core Mercurial, extensions rely on this feature to communicate capabilities to customize the changegroup packer. shallow indicates whether shallow data might be sent. The packer may need to pack file contents not introduced by the changes being packed. fullnodes is the set of changelog nodes which should not be ellipsis nodes. We store this rather than the set of nodes that should be ellipsis because for very large histories we expect this to be significantly smaller. remote_sidedata is the set of sidedata categories wanted by the remote. Ncó—yr—r))Úss r!rz#cgpacker.__init__..Ês€¨$r)Ú _oldmatcherÚ_matcherrÚ_forcedeltaparentprevÚ_builddeltaheaderÚ _manifestsendÚ _ellipsesr!Ú _bundlecapsÚ_remote_sidedataÚ _isshallowÚ _fullclnodesÚ_precomputedellipsisÚ_repor9ÚverboseÚ debugflagÚnoteÚ _verbosenote)r�rÎÚ oldmatcherÚmatcherrÚbuilddeltaheaderÚ manifestsendrÇÚ bundlecapsrÉÚshallowÚ ellipsisrootsÚ fullnodesÚremote_sidedatas r!r’zcgpacker.__init__{sÔ€ñdЈzÙˆˆwØ%ˆÔ؈Œ àˆŒ Ø%9ˆÔ"Ø!1ˆÔØ)ˆÔØ!ˆŒð Ð Ü›ˆJØ%ˆÔØ Ð "Ü!›eˆOØ /ˆÔØ!ˆŒØ%ˆÔð%2ˆÔ!àˆŒ à �:‰:�=‰=× Ò ¨¯©¯©×)@Ò)@Ø $§ ¡ § ¡ × 2Ñ 2ˆDÕ á .ˆDÕ rc #óÂK—d}|j}|jjdd«r t«}|j}|j t d««d} d} |jdk(r3|j} |dk(r |j} tj|| «} d} |� t«} |j|||| | ¬«\} }|D]:}t|j||j«D]}| t|«z } |–—ŒŒ<t!«}| t|«z } t!«–—|�t#|| «| d |d <|j t d «| z«| d }| d }| d}|�t|«|d<|xrt%j&|« }i}d} d}|� t«}|j)||||||| d| |¬« }|D]‘\}}|r-|jdvsJ‚t+|«}| t|«z } |–—|D]<}t|j||j«}|D]}| t|«z } |–—ŒŒ>t!«}| t|«z } |–—Œ“|�t#||«|d |d<|j t d«| z«|j,–—d}|j.rP|j0rDt3j4|«D��cgc]$\}}|j6|j9«|f‘Œ&}}}|j;«|D�chc]}|j=|«’Œ}}d}|� t«}|j?|||||||| |¬« }|D]›\} }t+| «}!t|!«} |!–—|D]<}t|j||j«}|D]}| t|«z } |–—ŒŒ>t!«}| t|«z } |–—|j t d«| | fz«Œ�t!«–—|�t#||«|d |d<|�tA|j|| ||«|r!|jCdtE|d«|¬«yycc}}wcc}w­w)z�Yield a sequence of changegroup byte chunks. If changelog is False, changelog data won't be added to changegroup NrÖsbundling-statss%uncompressed size of bundle content: rr×sstrip)ÚgeneraterErlrÒrÓs%8.i (changelog) ó clrevorderr^ó changedfilesrÖóclrevtomanifestrev)rErl)rpr×rÔs%8.i (manifests) s %8.i %s rÕsoutgoing)r®Úsource)#rr9rrár#r rrrÚ_wanted_sidedatarr Ú_generatechangelogr’rýr,r*rårÚistreemanifestÚgeneratemanifestsr.rþrÿrr Ú iteritemsrÊr˜ÚclearràÚ generatefilesrôrr)"r�Ú commonrevsÚclnodesÚfastpathlinkrevrr#rlrÎrÜrgrErrìÚclstaterÒr»rÁr7Ú clrevorderÚ manifestsÚ changedfilesÚfnodesríÚitÚtreer:ÚmfdictsrPÚlrrÛÚclrevsrîr-rs" r!rzcgpacker.generateÌsåèø€ðˆ Ø�z‰zˆØ �7‰7× Ñ ˜hÐ(9Ô :Ü(Ó*ˆJØ �^‰^ˆà ×Ñœ!ÐEÓFÔG؈àÐØ �<‰<˜5Ò Ø"×3Ñ3ˆOؘÒ!ð#'×"7Ñ"7�Ü*×?Ñ?ØØó Ð ð ˆ Ø Ð !Ü+Ó-ˆMØ×1Ñ1Ø Ø ØØ-Ø$ð 2ó ‰ˆ�óˆEÜ/Ø— ‘ ˜E 4×#9Ñ#9ö�ðœ˜E› Ñ"�Ø“ ñ ðô“ ˆØ ”�E“ ш܋lÒØ Ð !Ü ˜Z¨Ô 7Ø/<Ð=MÑ/NˆJÐ+Ñ ,à ×Ñœ!Ð1Ó2°TÑ9Ô:à˜]Ñ+ˆ ؘLÑ)ˆ ؘÑ/ˆ à Ð !Ü'*¨<Ó'8ˆJ�|Ñ $ð(*ÒN´'×2HÑ2HÈÓ2NÐ.NˆàˆàˆØˆ Ø Ð !Ü+Ó-ˆMØ × #Ñ #Ø Ø Ø Ø Ø Ø Ø Ð)Ñ *Ø-Ø$ð$ó  ˆó‰LˆD�&ÙØ—|‘| ~Ñ5Ð5Ð5Ü# DÓ)�Øœ˜E› Ñ"�Ø’ ã�Ü/Ø—J‘J  t×'=Ñ'=ó�ó$�EØœC ›JÑ&�DØ“Kñ$ð  ô“LˆEØ ”C˜“JÑ ˆDØ‹Kð#ð$ Ð !Ü ˜Z¨Ô 7Ø.;Њ>˜dŸošoô (×1Ñ1°)Ô<ôá<‘G�Q˜ð×!Ñ! !Ñ$×)Ñ)Ó+¨RÒ0Ø<ð ñð �‰ÔÙ%,Ó-¡W �"—&‘&˜•) WˆÐ-àˆ Ø Ð !Ü+Ó-ˆMØ × Ñ Ø Ø Ø Ø Ø Ø Ø Ø-Ø$ð ó  ˆó‰LˆD�&ܘDÓ!ˆAÜ�q“6ˆDØŠGã�Ü/Ø—J‘J  t×'=Ñ'=ó�ó$�EØœC ›JÑ&�DØ“Kñ$ð  ô“LˆEØ ”C˜“JÑ ˆDØŠKà × Ñ œa  Ó.°$¸°Ñ=Õ >ð#ô&‹lÒØ Ð !Ü ˜Z¨Ô 7Ø+8Ð9IÑ+JˆJÐ'Ñ (à Ð !Ü 'Ø—‘ØØØØô  ñ Ø �I‰I�k¬¨G°A©J«ÀˆIÕ Gð ùóqùò .ùs‚KQË)QË:QÌQÌ)D6Qcó:‡‡‡ ‡ ‡ ‡‡—iŠ iЉjjŠt«Š iŠ ‰ ‰‰ ‰ dœ}|s„‰jsxt |‰j ¬«}|D]X}‰j |«}t‰ «‰ |<‰j|j|«‰ j|j«ŒZ|dfSˆ ˆˆ ˆ ˆˆˆfd„} t‰j‰|d| ‰j‰jtd«i‰j‰j ||¬« } || fS)a¸Generate data for changelog chunks. Returns a 2-tuple of a dict containing state and an iterable of byte chunks. The state will not be fully populated until the chunk stream has been fully consumed. if generate is False, the state will be fully populated and no chunk stream will be yielded See `revlogutil.sidedata.get_sidedata_helpers` for the doc on `sidedata_helpers`. )rr^rrr–r)c󈕗‰j|«}t‰«‰|<‰ jrÞ|‰ jvs‰j |«‰ j vrN|j }‰j||«‰j‰j |«‰j |««‰ jr<‰j‰|j j«j««|S‰j|j«|S‰j|j |«‰j|j«|Sr—) rìr,rÿrràrrúr"rrír˜Úkeysrî) rÛr@Ú manifestnoder&rÜr$Úclrevtomanifestrevr%Úmflr�s €€€€€€€r!Úlookupclz-cgpacker._generatechangelog..lookupcl½sø€Ø×$Ñ$ QÓ'ˆAÜ  ›OˆJ�q‰Mà�~Š~ð ˜×*Ñ*Ñ*Ø—v‘v˜a“y D×$=Ñ$=Ñ=ð$%§:¡:�Lð×(Ñ(¨°qÔ9ð '×1Ñ1ØŸ™˜q›  3§7¡7¨<Ó#8ôð —?’?Ø ×'Ñ'¨¨A¯J©J©×(<Ñ(<Ó(>×(CÑ(CÓ(EÔFðˆHð!×'Ñ'¨¯©Ô0ðˆHð ×$Ñ$ Q§Z¡Z°Ô3ð×#Ñ# A§G¡GÔ,àˆHrTrâ©rÉrÈr©rªr¬rErl)rrÊr!rÿr—ràrìr,r"rúrírîrÐrürrr)r�rÜr™rrErlÚstater®r@r3Úgenr&r$r1r%r2s`` @@@@@r!rzcgpacker._generatechangelog‹s þ€ð(ˆ ؈ Ø�j‰j×$Ñ$ˆÜ“uˆ ØÐð&Ø#Ø)Ø#5ñ  ˆñ˜DŸNšNä˜5 b§f¡fÔ-ˆEÛ�Ø×(Ñ(¨Ó.�Ü#& z£?� ˜4Ñ à×$Ñ$ Q§Z¡Z°Ô6ð×#Ñ# A§G¡GÕ,ðð˜"�9Ð ÷ & ò& ôPØ �J‰JØ Ø Ø Ø Ø × &Ñ &Ø—^‘^Ü�MÓ"ØØ×)Ñ)Ø $× 9Ñ 9Ø-Ø!ô ˆð �cˆzÐrc #óp‡‡‡‡‡‡K—|j} | jŠd‰iŠˆˆˆˆˆˆfd„} ‰�r‰j«\} } |jj | dd«}| r|sŒ9‰j | «}|sg}n|j || |«}| r|sŒg| | | «}t|j||d||j|jtd«||j|j|| ¬« }|jj |jdd«s| |f–—n|D]}Œ| s| gf–—‰r�Œyy­w)a8Returns an iterator of changegroup chunks containing manifests. `source` is unused here, but is used by extensions like remotefilelog to change what is sent based in pulls vs pushes, etc. See `revlogutil.sidedata.get_sidedata_helpers` for the doc on `sidedata_helpers`. rcóD•‡‡—‰r‰rJ‚‰jSˆˆˆˆˆˆfd„}|S)Ncó‚•—‰|}‰j‰|«jd¬«}|j«D]ƒ\}}}|dk(r>‰|zdz}‰j|i«}|j||«}‰ |‰ |ksŒD|||<ŒJ‰|z} ‰ j| i«} | j||«} ‰ |‰ | ksŒ|| |<Œ…|S)aPCallback for looking up the linknode for manifests. Returns the linkrev node for the specified manifest. SIDE EFFECT: 1) fclnodes gets populated with the list of relevant file nodes if we're not using fastpathlinkrev 2) When treemanifests are in use, collects treemanifest nodes to send Note that this means manifests must be completely sent to the client before you can trust the list of files and treemanifests to send. T)rótó/)rùÚreadfastÚ iterentriesr")rÛÚclnodeÚmdatar¦rPrVÚsubtreeÚ tmfclnodesÚ tmfclnoderOÚfclnodesÚfclnoder$r'r2r™Útmfnodesr)s €€€€€€r!ÚlookupmflinknodezRcgpacker.generatemanifests..makelookupmflinknode..lookupmflinknodesçø€ð ˜q™�ØŸ™  aÓ(×1Ñ1¸$Ð1Ó?�Ø %× 1Ñ 1Ö 3‘H�A�q˜"ؘT’zØ"&¨¡(¨T¡/˜Ø%-×%8Ñ%8¸À"Ó%E˜ Ø$.×$9Ñ$9¸!¸VÓ$D˜ Ø% fÑ-° ¸9Ñ0EÓEØ,2˜J qšMà  1™H˜Ø#)×#4Ñ#4°Q¸Ó#;˜Ø"*×"5Ñ"5°a¸Ó"@˜Ø% fÑ-° ¸7Ñ0CÓCØ*0˜H QšKð!4ð� r)Ú __getitem__) r)r™rFr$r"r'r%r2rEs `` €€€€€€r!Úmakelookupmflinknodez8cgpacker.generatemanifests..makelookupmflinknodes.ú€ÙÙ��xð!×,Ñ,Ð,÷ ñ ðB$Ð #rNr�Fr^r4)rrÊÚpopitemrûÚvisitdirrËÚ_prunemanifestsrÐrürÿrrrrúr))r�r r$r"r%r'rr©rErlrÎrHr)r™Ú should_visitr˜Ú prunednodesÚlookupfnrÒrr2rEs ```` @@r!rzcgpacker.generatemanifests÷sGýèø€ð(�z‰zˆØ×шؘÐ#ˆ÷ ) $ñ) $òVØ"×*Ñ*Ó,‰KˆD�%àŸ=™=×1Ñ1°$°s¸°)Ó<ˆLÙ™LØà—N‘N 4Ó(ˆEáð !‘ ð #×2Ñ2°5¸%ÀÓL� á™KØá+¨D°%Ó8ˆH䨗 ‘ ØØØØØ×*Ñ*ØŸ™Ü˜ “oØ /Ø ×-Ñ-Ø$(×$=Ñ$=Ø!1Ø%ôˆFð ×#Ñ#×,Ñ,¨U¯Z©Z¸¸¨_Ô=ؘF�lÓ"ó  �AØð áØ ˜(’Nõgùs ˆD*D6Ä4D6có¶—|js|j«S|j|j}}|D�cgc]}|||««|vsŒ|‘Œc}Scc}wr—)rÿr ràr )r�r˜r™r ÚfrevÚflrrPs r!rKzcgpacker._prunemanifestsrsQ€Ø�~Š~ð—:‘:“<Ð ð—I‘I˜uŸ}™}ˆcˆÙ ÓC™5�a¡C©¨Q«£L¸ Ò$B’˜5ÑCÐCùÒCs ¹AÁAc #ón‡‡‡‡‡‡‡‡‡K—|D� cgc]&} |j| «r|j| «s| ‘Œ(}} |sˆfd„Šn&|jjjŠˆˆfd„ŠiŠ|j rG|D� cgc]} |j| ‘Œc} Š|jjj Šˆˆˆˆˆfd„} n‰} |j} | jjtd«td«t|«¬«}tt|««D]÷\}}| j|«}|s!tjtd«|z«‚‰j!«| ||«Šˆfd„}|j |j"}}‰D�cgc]}|||««|vsŒ|‘Œ}}|sŒ“|j%|dz|¬ «t'|j||d ||j(|j*‰|j,|j.|| ¬ « }||f–—Œù|j1«ycc} wcc} wcc}w­w) Ncó(•—‰j|i«Sr—rø)Úunusedr¨r's €r!Únormallinknodesz/cgpacker.generatefiles..normallinknodes–sø€Ø—z‘z %¨Ó,Ð,rc󦕇—|jŠ|j}ˆfd„|D«}|D��cic]\}}|‰vsŒ ||«‰|«“Œc}}Scc}}w)Nc3ó2•K—|]}|‰|«f–—Œy­wr—r))r°ÚrÚflinkrevs €r!r±zBcgpacker.generatefiles..normallinknodes..Ÿsøèø€Ð8±%¨Q˜™H Q›KÔ(±%ùsƒ)r r®) r˜r¨ÚfnoderrXr+rYÚclnr,s @€€r!rUz/cgpacker.generatefiles..normallinknodesœsNù€Ø Ÿ=™=�ØŸ ™ �Û8±%Ó8�Ù7;ÔL±t©e¨a°¸rÀVº|™˜a›¡# b£'Ñ)°tÒLÐLùÓLs « A ¸A cój•—‰ D]6} |j|«}|j|«‰|j«<Œ8‰ ||«}t |«t ‰ «k7r=‰ D]8\}}|j |d«}||vrt |||‰¬«||<Œ1|sŒ4|||<Œ:|S#tj$rYŒ­wxYw)Nr–)Úfilenoderàr ÚManifestLookupErrorr,rùÚmin) Úflogr¨r@rZÚlinksrSr+r¤r©Ú commonctxsr*rUs €€€€€r!rÌz)cgpacker.generatefiles..linknodes«s¾ø€Û#�AðØ !§ ¡ ¨5Ó 1˜Ø37·8±8¸E³?˜¨¯©«Ò0ð$ñ (¨¨eÓ4�Ü�u“:¤ W£Ò-Û")™˜˜BØ "§¡ u¨dÓ 3˜Ø  E™>Ü+.¨u°U©|¸RÀUÔ+K˜E %šLÚ"Ø+-˜E %šLð #*ð � øô!×4Ñ4òÙðúsˆ3BÂB2Â1B2r_räs!empty or missing file data for %scó•—‰|Sr—r))rÛÚ linkrevnodess €r!Ú lookupfilelogz-cgpacker.generatefiles..lookupfilelogÏs ø€Ø# A‘Ð&rr)ÚitemF)rÉr©rªr¬rErl)rûrúrr#r®rràr9r(rr,rÅr—Úfiler rrr rírÐrürÿrrrÍ)r�r&r rr*r"r'r,rErlrOr@rÌrÎrFr¨r¨Ú filerevlogrerPrQrPÚ filenodesrÒr[r¤r©rbrdrUs ` `` @@@@@@r!rzcgpacker.generatefiles‚s.ÿøèø€ñ"ó á!�Ø�}‰}˜QÔ¨×(8Ñ(8¸Ô(;ò Ø!ð ð ñ õ -ð—*‘*×&Ñ&×+Ñ+ˆCõ Mð ˆà �?Š?ñ2<Ó<±¨A˜$Ÿ*™* Q›-°Ñ<ˆJØ—J‘J×(Ñ(×,Ñ,ˆE÷ ñ ð$(ˆIà�z‰zˆØ—7‘7×'Ñ'Ü ˆh‹Kœa ›k´°\Ó1Bð(ó ˆô"¤&¨Ó"6Ö7‰HˆAˆuØŸ™ 5Ó)ˆJÙÜ—k‘kÜÐ:Ó;¸eÑCóðð × !Ñ !Ô #á$ Z°Ó7ˆLô 'ð#Ÿ™¨ ×(:Ñ(:�#ˆDñ (óÙ'�a©3©t°A«w«<¸zÒ+I’˜<ð ðñØà �O‰O˜A ™E¨ˆOÔ .䨗 ‘ ØØØØØ×*Ñ*ØŸ™Ø /Ø ×-Ñ-Ø$(×$=Ñ$=Ø!1Ø%ô ˆFð˜�-Ó ðY8ð\ ×ÑÕùòG ùò4=ùò^ùs0‹H5�+H&»AH5Á=H+ÂC.ÿs)€Ô!<×!AÑ!AØ �‰�—‘˜!Ÿ(™( A§J¡Jô"rr„rT)r r rÇrrÉrrr©rö© rÎr r rrÉrrrrr s r!Ú_makecg1packerroôs=€ñÐô Ø ØØØ Ø)ØØ!ØØØØ#Øô ð rc ó4—d„} t|||d| d|||||¬« S)Ncó˜—tj|j|j|j|j |j «Sr—)rmr%r®r¶r·r‰r´rls r!rz _makecg2packer..s/€Ô!<×!AÑ!AØ �‰�—‘˜!Ÿ(™( A§J¡J°· ± ô"rrjr©r r rrÉrrrrmrns r!Ú_makecg2packerrss:€ñÐô Ø ØØØ Ø)ØØØØØ#Øô ð rc óD—d„} t|||d| t«|||||¬« S)Ncó®—tj|j|j|j|j |j |j«Sr—)rvr%r®r¶r·r‰r´r³rls r!rz _makecg3packer..<s5€Ô!<×!AÑ!AØ �‰�—‘˜!Ÿ(™( A§J¡J°· ± ¸A¿G¹Gô"rrprr©rör*rns r!Ú_makecg3packerrw1s<€ñÐô Ø ØØØ Ø)Ü“\ØØØØ#Øô ð rc óF—d„} t|||d| t«||||||¬« S)Nc óÄ—tj|j|j|j|j |j |j|j«Sr—) r�r%r´r®r¶r·r‰r´r³rls r!r z(_makecg4packer..builddeltaheader\sH€Ü*×/Ñ/Ø × Ñ Ø �F‰FØ �H‰HØ �H‰HØ �J‰JØ �J‰JØ �G‰Gó ð rr×)r r rrÉrrrrrvrns r!Ú_makecg4packerrzOs<€ò  ô Ø ØØØ Ø)Ü“\ØØØØ#ØØ'ô ð r)r„rjrpr×cóÞ—ttj««}d}|jj dd«s1|jj dd«st j |«rd}|s|jd«|jj dd«xs:tj|jvxstj|jv}|s|jd«|S) NFs experimentals changegroup3s treemanifestTrps changegroup4r×) r!Ú _packermapr/r9rrrÚdiscardrrr)rÎÚversionsÚneedv03Úwant_v4s r!Úallsupportedversionsr�‚sˀܔ:—?‘?Ó$Ó%€HØ€Gà �‰×ј?¨OÔ<Ø �7‰7× Ñ ˜o¨Ô ?Ü × !Ñ ! $Ô 'ðˆÙ Ø×јÔà �‰×ј?¨OÓ<ò EÜ × ,Ñ ,°×0AÑ0AÐ Aò Eä × /Ñ /°4×3DÑ3DÐ Dð ñ Ø×Ñ˜ÔØ €Orcó—t|«Sr—)r�©rÎs r!Úsupportedincomingversionsr„Ÿs €Ü  Ó %Ð%rcón—t|«}tj|«r"|jd«|jd«tj |jvr"|jd«|jd«t |jvr"|jd«|jd«|S)Nr„rj)r�rrr}rÚNARROW_REQUIREMENTÚLFS_REQUIREMENT©rÎr~s r!Úsupportedoutgoingversionsr‰¤s›€Ü# DÓ)€HÜ×јdÔ#ð ×Ñ˜ÔØ×јÔÜ×&Ñ&¨$×*;Ñ*;Ñ;ð ×Ñ˜ÔØ×јÔܘ$×+Ñ+Ñ+ð ×Ñ˜ÔØ×јÔà €Orcó*—tt|««Sr—)Úmaxr‰rƒs r!Ú localversionrŒ¼s€ô Ô(¨Ó.Ó /Ð/rcó�—t|«}tj|jvr|jd«|sJ‚t |«S)Nr„)r‰rÚGENERALDELTA_REQUIREMENTr}r_rˆs r!Ú safeversionr�ÂsA€ô)¨Ó.€HÜ×,Ñ,°×0AÑ0AÑAØ×јÔÙ €Oˆ8Ü ˆx‹=Ðrc óv—|t|«vsJ‚|€tj«}|€tj«}|dk(r%|j«st j d«‚|r%|dvr!t j td«|z«‚|j|«}t|d} | ||||||||| ¬« S)Nr„s;version 01 changegroups do not support sparse file matchers)r„rjsSellipsis nodes require at least cg3 on client and server, but negotiated version %sr)rÉrrrr) r‰ÚmatchmodÚalwaysÚneverr ÚProgrammingErrorrrÚ narrowmatchr|) rrÎrr r rÉrrrrÚfns r!Ú getbundlerr—Ís߀ð Ô/°Ó5Ñ 5Ð5Ð 5à€Ü—/‘/Ó#ˆØÐÜ—^‘^Ó%ˆ à�%Ò §¡Ô 0Ü×$Ñ$Ø Jó ð ñ�G˜~Ñ-Ü�k‰kÜ ð-ó ðñ  ó ð ð×јwÓ'€Gä �GÑ ˜QÑ €BÙ Ø ØØØØØØ#ØØ'ô ð rcó*—t|d|||¬«S)Nr)r�)r|)rr=r�r�s r!Ú getunbundlerr™ s€Ü �gÑ ˜qÑ ! " c°&Ô 9Ð9rcóZ—|jjs|dk(r0|jjtd«t |«z«|jj rJ|jj d«|D])}|jj dt|«z«Œ+yy)Nsbundles%d changesets found slist of changesets: s%s )r9rr'rr,rrÚr)rÎr™rr®s r!Ú_changegroupinfor› sy€Ø ‡w�w‡‚˜& IÒ-Ø �‰�‰”qÐ1Ó2´S¸³ZÑ?Ô@Ø ‡w�w×ÒØ �‰� ‰ Ð.Ô/ÛˆDØ �G‰G�M‰M˜'¤C¨£IÑ-Õ .ñðrc ó�—t||||||¬«}t|tj|«ddt |j «i«S)N)Úfastpathrsclcount)Ú makestreamr™rÚ chunkbufferr,Úmissing)rÎÚoutgoingrrr�rÚcgstreams r!Úmakechangegroupr£ sV€ôØ ØØØØØô €Hô ØÜ ×јÓ"Ø Ø ”S˜×)Ñ)Ó*Ð+ó  ðrcót—t|||||¬«}|j«}|j} |j} |j} | j «|xs,|j duxr| t|j««k(} |jdd|¬«t|| |«|j| | | |«S)N)rr rs preoutgoingT)rár) r—rÚcommonr Ú ancestorsofrjÚ filternamer—r rr›r) rÎr¡rrr�rr rÚbundlerr Úcsetsr r"s r!ržrž% s€ôØØ ØØØ'ô €Gð �?‰?Ó €DØ—‘€JØ × Ñ €EØ × Ñ €Eð ‡J�J„LØòØ �‰˜4ÐÒA E¬V°D·J±J³LÓ-AÑ$Aðð ‡I�Iˆn D°€IÔ8Ü�T˜5 &Ô)Ø × Ñ ØØ ØØó  ðrc óˆ—d} d} |jjtd«td«|¬«} t|ji«D�] } | dz } | d} |jj d| z«| j «|j| «}t|«} |j«}|j||||||¬«}|stjtd««‚ | t|«|z z } | |vsŒ·|| }t|t|««D]F}|j|«}||vr|j!|«Œ*tjtd ««‚|r�Œ|| =�Œ#| j#«|j%«D]/\} }|j| «}|D]} |j'|«ŒŒ1| | fS#tj$r&}tjtd «|z«‚d}~wwxYw#tj($r-tjtd «| t+|«fz«‚wxYw) Nrr_rärr§rsrÅs#received file revlog group is emptys#received delta base is censored: %ss#received spurious file revlog entrys+missing file data for %s:%s - run hg verify)r9r(rr_r©rÚrÈrgr,rÉrÌr rÚCensoredBaseErrorrûr®ÚremoverÍrYràÚ LookupErrorr)rÎrrÏrÐÚ expectedfilesrJrÆrlrÇrÏrîrFr`rOrVÚorÒrrqÚneedsÚnewrPs r!r/r/M s7€ð€IØ €EØ�w‰w×#Ñ#Ü ˆ(‹ œ!˜H›+¨]ð$ó€Hô˜&×.Ñ.°×3ˆ Ø �‰ ˆØ �kÑ "ˆØ �‰� ‰ Ð.°Ñ2Ô3Ø×ÑÔØ �Y‰Y�q‹\ˆÜ �‹Gˆð MØ×%Ñ%Ó'ˆFØ—K‘KØØØØ+Ø%Ø(?ð  óˆEñÜ—k‘k¤!Ð$JÓ"KÓLÐLðð ”S˜“W˜q‘[Ñ ˆ Ø � Š>ؘa‘LˆEܘQ¤ B£Ö(�Ø—G‘G˜C“L�ؘ‘:Ø—L‘L •OäŸ+™+¤aÐ(NÓ&OÓPÐPð )ó Ø˜a’Lð?4ð@ ×ÑÔà—O‘OÖ%‰ˆˆ5Ø �Y‰Y�q‹\ˆÛˆAð Ø—‘�q• ñð&ð �eÐ Ðøô5×&Ñ&ò MÜ—+‘+œaÐ FÓGÈ!ÑKÓLÐ Lûð Mûô(×$Ñ$ò Ü—k‘kÜÐDÓEØœ#˜a›&�kñ"óðð ús&Â$AGÆ,HÇG>Ç!G9Ç9G>ÈAIr—ra)NFNNNNN)NNNNN)FFNNN)NNNFFNNN)FN)FNNN)Kr4rr%Úi18nrr®rrrr rÚr r r‘r r rrrÚ interfacesrÚ revlogutilsrrrr*ÚutilsrÚStructrfrmrvr�r‡rr"r'r*r.rArVrZr�rƒrirorzrƒr’ršr¸rÐrárårIrêrôrörorsrwrzr|r�r„r‰rŒr�r—r™r›r£ržr/r)rr!Úr¸stðó Û Ûå÷ñõ ÷ ÷ ó õ#Ý0Ý6Ýà+˜fŸm™m¨OÓ<ÐØ+˜fŸm™mÐ,>Ó?ÐØ+˜fŸm™mÐ,@ÓAÐØ+˜fŸm™mÐ,AÓBÐà€à×Ñ€ ò&ò*ò !ò )ó #ðNØØó &òRòjF÷ZD!ñD!ôNB�+ôBô&2L�+ô2Lôj/ �+ô/ ÷d (ñ (òòD"ò,\$ðL Ø ØØØØØóRòjò0 ð0€ðØØØØ ó&òRV;÷rw ñw ð~Ø ØØØóðHØ ØØØóðFØ ØØØóðFØ ØØØó%ðR ˜KÐ (à ˜KÐ (à ˜KÐ (à ˜KÐ (ñ€ òò:&ò ò00ò ðØØ Ø Ø ØØØó0óf:ò/ðØó ð:ØØ Øó%ð^ØØ ô=r