403Webshell
Server IP : 74.208.236.16  /  Your IP : 216.73.216.220
Web Server : Apache
System : Linux info 3.0 #1337 SMP Tue Jan 01 00:00:00 CEST 2000 all GNU/Linux
User : u102440577 ( 7172810)
PHP Version : 8.4.26
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /kunden/lib/python3/dist-packages/mercurial/hgweb/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /kunden/lib/python3/dist-packages/mercurial/hgweb/__pycache__/webutil.cpython-313.pyc
�

6�h�k����SSKJr SSKrSSKrSSKrSSKrSSKJr SSKJ	r	J
r
 SSKJrJ
r
JrJr SSKJrJrJrJrJrJrJrJrJrJrJrJrJrJrJ r  SS	K!J"r" \ RF"S
5r$SHSjr%Sr&SHS
jr'"SS5r("SS\(5r)Sr*SISjr+Sr,Sr-SHSjr.SHSjr/Sr0Sr1Sr2Sr3Sr4Sr5Sr6SHSjr7SHS jr8SJS!jr9S"r:S#r;S$r<S%r=S&r>S'r?S(r@S)rAS*S+1\AlBS,rCS-rDS*S+1\DlBS.rES/rFS0rGS1rHS2rIS3rJS4rKS5rLS6rMS7rNSKS8jrOS9rPS:rQS;rRS<rSS=rTS>rUS?rVS@rWSArX"SBSC\R�5rZ"SDSE\R<5r[SFr\SGr]g)L�)�annotationsN�)�_)�hex�short�)�
ErrorResponse�HTTP_BAD_REQUEST�HTTP_NOT_FOUND�	paritygen)�context�diffutil�error�match�mdiff�obsutil�patch�pathutil�pycompat�scmutil�templatefilters�
templatekw�templateutil�ui�util)�
stringutil))�zip)sapplication/ziprs.zipN)sgz)sapplication/x-gzipstgzs.tar.gzN)sbz2)sapplication/x-bzip2stbz2s.tar.bz2Nc��URSSSS9n/n[R5H>upVXS;dURSSU-SS9(dM%UR	UUSUUS.5 M@ [
R"U5$)N�webs
allow-archiveT��	untrustedsallowr)�types	extension�nodesurl)�
configlist�archivespecs�items�
configbool�appendr�mappinglist)r�nodeid�url�allowed�archives�typ�specs       �9/usr/lib/python3/dist-packages/mercurial/hgweb/webutil.py�archivelistr17s����m�m�F�$4��m�E�G��H�!�'�'�)�	���>�R�]�]��H�s�N�d�+�
�
�
�O�O� �"&�q�'�#��	�
�	*��#�#�H�-�-�c��USSS:waSU-nUSSS:XaUSSn[RRU5nUS:XagUS-$)Nrr�/���)�os�path�dirname)�p�ups  r0r:r:KsV����1�v��~��1�H�����v��~�
�c�r�F��	������	�B�	�T�z��
��9�r2c#�# �U(a7Uv� US:�aUS::aSnUv� US:�deUS:�deX::aUS-nX::aMSU-v� SU-v� US-nM7f)N��(�2r�
r��)�step�	firststeps  r0�_navseqrDVsu��������?�y�B���I��O��a�x��x��1�}��}����B�J�D���
��$�h���$�h����
���s�=A�Ac�6�\rSrSrSrSr\rSrSrSr	Sr
g)	�revnav�fc�&�URUlg)zENavigation generation object

:repo: repo object we generate nav for
N)�	changelog�_revlog)�self�repos  r0�__init__�revnav.__init__gs���~�~��r2c�&�UR5SL$)z,return True if any revision to navigate overN)�_first�rKs r0�__nonzero__�revnav.__nonzero__os���{�{�}�D�(�(r2c�`�[[UR55$![a gf=f)z1return the minimum non-filtered changeset or NoneN)�next�iterrJ�
StopIterationrQs r0rP�
revnav._firstus-��	���T�\�\�*�+�+���	��	�s� �
-�-c�J�[URRU55$�N)rrJ�node�rK�revs  r0r�
revnav.hex|s���4�<�<�$�$�S�)�*�*r2c�t�U(dB[R"[R"/5[R"/5S./5$/n[SU5H0nXS:�a O*URX-5 URX-
5 M2 UR	5 UR5nSU-UR
U5S./n/nUH�n	X�R;aMXs=:aU:a4O O1URS[X�-
5-UR
U	5S.5 SU	s=:aU:dMcO MgURS[X�-
5-UR
U	5S.5 M� URSSS.5 [R"[R"U5[R"U5S./5$)	aicomputes label and revision id for navigation link

:pos: is the revision relative to which we generate navigation.
:pagelen: the size of each navigation page
:limit: how far shall we link

The return is:
    - a single element mappinglist
    - containing a dictionary with a `before` and `after` key
    - values are dictionaries with `label` and `node` keys
)sbeforesafterrs(%i))slabelr#s+%drs-%d�tip)	rr)rDr(�sortrPrrJ�abs)
rK�pos�pagelen�limit�targets�f�first�	navbefore�navafterr]s
          r0�gen�
revnav.gens�����+�+�$0�#;�#;�B�#?�".�":�":�2�">����
�����G�$�A��y���N�N�3�7�#��N�N�3�7�#�	%�
	�������
�� '�%��$�(�(�5�/�J�K�	����C��,�,�&��� �5� ����%��C�I��6����#��O���3�}��}�}�� � �%��C�I��6����#��O���	���6�F�;�<��'�'� ,�7�7�	�B�*�6�6�x�@��
�
�	
r2)rJN)�__name__�
__module__�__qualname__�__firstlineno__rMrR�__bool__rPrrk�__static_attributes__rAr2r0rFrFfs"��&�)��H��+�8
r2rFc� �\rSrSrSrSrSrg)�
filerevnav�c�n�UR5RUlURU5Ulg)zqNavigation generation object

:repo: repo object we generate nav for
:path: path of the file we generate nav for
N)�
unfilteredrI�
_changelog�filerJ)rKrLr7s   r0rM�filerevnav.__init__�s'���/�/�+�5�5����y�y����r2c�|�[URRURR	U555$rZ)rrxr[rJ�linkrevr\s  r0r�filerevnav.hex�s+���4�?�?�'�'����(<�(<�S�(A�B�C�Cr2)rxrJN)rmrnrorprMrrrrAr2r0rtrt�s
��	'�Dr2rtc#�(# �UH�nUR5UR5UR5UR5UR	5UR5S.n[
US5(aUR5US'Uv� M� g7f)N)r#�revsuser�datesdescription�branchr7�file)rr]�user�date�description�branch�hasattrr7)r
�ctxs�s�ds    r0�_ctxsgenr��so���
���U�U�W��E�E�G��V�V�X��V�V�X��M�M�O��x�x�z�

���1�f�������A�g�J������BBc��Uc/nUVs/sH2o"R5UR5R:wdM0UPM4 nn[U5S:XaUSR	5U:Xa/n[
R"[U4S9$s snf)Nrr��args)r[rL�nullid�lenr]r�mappinggeneratorr�)�siblings�hiderevr�s   r0�	_siblingsr��st������#�C�8�a�v�v�x�1�6�6�8�?�?�'B��8�H�C�
�8�}���h�q�k�o�o�/�7�:����(�(����D�D��Ds
�/B�Bc���[R"USUSS9nSHLupEURRU5nUcM%[R
"U5n[
X5UbUOS5 MN U$)NT)r!�section�
whitespace))signorews�ignorews)signorewsamount�ignorewsamount)signorewseol�ignorewseol)signoreblanklines�ignoreblanklines)r�difffeatureopts�qsparams�getr�	parsebool�setattr)�reqrr��diffopts�kb�ks�vs       r0r�r��sk���'�'�
�d�G���H����
�L�L���R� ���=��$�$�Q�'�A��H�q�}�!�$�?���Or2c�:�[XS5nURSUS9$)NsannotateT)�followr�)r��annotate)r��fctxrr�s    r0r�r��s!���s��4�H��=�=��x�=�8�8r2c��[U[R5(aPUR5nUR	5R5U:wa[
UR5U/U5$[
UR5U5$rZ)	�
isinstancer
�basefilectx�introrev�	changectxr]r�rL�parents)�ctx�hider�s   r0r�r��se���#�w�*�*�+�+��<�<�>���=�=�?��� �H�,��c�h�h�j��2�3�T�:�:��S�[�[�]�D�)�)r2c�6�[UR5U5$rZ)r��children)r�r�s  r0r�r�s���S�\�\�^�T�*�*r2c��UR5nU(a)[R"US[US5S./5$[R"/5$)Nrr)r�r#)�renamedrr)r)r��rs  r0�
renamelinkr�sF������A���'�'�1�Q�4�#�a��d�)�)L�(M�N�N��#�#�B�'�'r2c�J�[R"URU5SS9$�N�name��name)r�
hybridlist�nodetags�rLr[s  r0�nodetagsdictr�s���"�"�4�=�=��#6�W�E�Er2c�J�[R"URU5SS9$r�)rr��
nodebookmarksr�s  r0�nodebookmarksdictr�s ���"�"�4�#5�#5�d�#;�'�J�Jr2c���/nUR5nURU5nXAR	5:XaURU5 [R"USS9$![Ra SnNQf=fr��r��	branchtipr�RepoLookupErrorr[r(rr��rLr��branchesr��
branchnodes     r0�nodebranchdictr�sn���H�
�Z�Z�\�F���^�^�F�+�
��X�X�Z��������"�"�8�'�:�:��	� � ���
��s�A�A7�6A7c��/nUR5nURU5nUS:wa$XAR	5:waURU5 [R"USS9$![Ra SnNWf=f�Nsdefaultr�r�r�r�s     r0�nodeinbranchr�%su���H�
�Z�Z�\�F���^�^�F�+�
����
�h�h�j� 8�������"�"�8�'�:�:��	� � ���
��s�A$�$A=�<A=c�~�/nUR5nUS:waURU5 [R"USS9$r�)r�r(rr�)r�r�r�s   r0�nodebranchnodefaultr�1s9���H�
�Z�Z�\�F�
���������"�"�8�'�:�:r2c#�4# �U"U5HnX40v� M
 g7frZrA)r
rgr[r��ts     r0�
_nodenamesgenr�9s���
�t�W���i���s�c�p�UcURnURUS4n[R"[X1S9$)Nstag�r�r�)r�r�rr�r��rL�t1r[r�s    r0�showtagr�>s3���|��{�{���M�M�4��(�D��(�(��T�K�Kr2c�p�UcURnURUS4n[R"[X1S9$)Nsbookmarkr�)r�r�rr�r�r�s    r0�showbookmarkr�Es5���|��{�{������k�2�D��(�(��T�K�Kr2c�^^^^^^�/mTR5m[U5mSmUUUUUU4Sjn[R"U5$)Nc�<�US(+USR54$)Nrr)r])�items r0�<lambda>�branchentries.<locals>.<lambda>Ps���Q��K��a�����7r2c3�># �SnT
(d>TR5R5Hup#pET
RTUU45 M [T
TSS9HxupeT	S:�aUT	:�a gUS-
nU(aSnOUR	5T;aSnOSn[T
5UR
5UUR5UR5S.v� Mz g7f)	NrT)�key�reversersclosedsinactivesopen)�parityr��statusr#r�)	�	branchmap�iterbranchesr(�sortedr[rUr�rr�)r
�count�tag�hs�tip�closedr��status�headsre�parityrL�sortkey�tipss        ������r0�entries�branchentries.<locals>.entriesRs��������(,���(8�(E�(E�(G�$������T�#�Y��/�0�)H�!�$�G�T�B�K�C��q�y�U�e�^���Q�J�E��"������5�(�$�� ����<��:�:�<�!����������
�C�s�CC)r�rrr�)rL�stripecountrer�r�r�r�r�s` ` @@@@r0�
branchentriesr�Ls?���
�D��J�J�L�E�
�{�
#�F�7�G���.�(�(��1�1r2c��URS5n[R"URSS9n[R"URSXS9$)Nr4F)�realfsr2)�auditor)�lstripr�pathauditor�root�	canonpath)rLr7r�s   r0�	cleanpathr�ls?���;�;�t��D��"�"�4�9�9�U�;�G����d�i�i��d�D�Dr2c��SnSUR;a-URSnURS5nUS:waX#S-Sn[R"X5$)Nr`r#�:r5r�r��findr�	revsymbol�rLr��changeid�iposs    r0r�r�rsU���H��#�,�,���<�<��(���}�}�T�"���2�:�����-�H����T�,�,r2c��SUR;aAURSnURS5nUS:waUSUn[R"X5$g)Nr#rr5rrs    r0�
basechangectxr}sP���#�,�,���<�<��(���}�}�T�"���2�:�����H��$�$�T�4�4�r2c��SUR;a[[S5e[XRS5nSUR;aURSnO0SUR;aURSnO[[S5e[R
"X5UnU$![Ra URX#S9nU$f=f)Nr�sfile not givenr#sfilenodesnode or filenode not given)�fileid)	r�r	rr�rrr�	RepoError�filectx)rLr�r7rr�s     r0rr�s����c�l�l�"��N�,=�>�>��T�<�<��0�1�D��#�,�,���<�<��(��	����	$��<�<��,���N�,I�J�J�3�� � ��0��6���K���?�?�3��|�|�D�|�2���K�3�s�
B%�%#C�Cc��URRS5nU(dg[U5S:�a[[S5e[[USRSS55up#[R"X#5$![a [[S5ef=f![Ra)n[[[R"U55eSnAff=f)Ns	linerangersredundant linerange parameterrrsinvalid linerange parameter)r��getallr�r	r
�map�int�split�
ValueErrorr�processlineranger�
ParseErrorr�bytestr)r��	linerange�fromline�toline�excs     r0rr�s������#�#�L�1�I���
�9�~����,�.N�O�O�N��s�I�a�L�$6�$6�t�Q�$?�@���E��$�$�X�6�6���N��,�.L�M�M�N�����E��,�h�.>�.>�s�.C�D�D��E�s$�%B�*B�B�C�2$C�Cc��SUS-U4-$)Ns%d:%drrA)rrs  r0�formatlineranger�s���x�!�|�V�,�,�,r2c#��^# �UR"US5m[R"X5nURX5H"n[	U4SjUS55US'Uv� M$ g7f)N�repoc3�.># �UH
nTUv� M g7frZrA)�.0�	successorrLs  �r0�	<genexpr>�&_succsandmarkersgen.<locals>.<genexpr>�s����(
�-@�	�D��O�-@�s�s
successors)�resourcer�showsuccsandmarkers�tovaluer�)r
�mapping�itemmappingsr�rLs    @r0�_succsandmarkersgenr(�se�������G�W�-�D��1�1�'�C�L��$�$�W�6��'�(
�-1�-�-@�(
�
��]���
�	7�s�A"A%c�6�[R"[U4S9$�Nr�)rr�r(�r
r&s  r0�succsandmarkersr,�s���(�(�)<�G�:�N�Nr2r�ctxc#��# �UR"US5nUR"US5n[R"X#5nUH.nURS5(a[	US5US'Uv� M0 g7f)Nrr-sdivergentnodes)r#r�whyunstabler�r�)r
r&rLr�r��entrys      r0�_whyunstablegenr1�sn������G�W�-�D�
�
�
�7�F�
+�C��!�!�$�,�G����9�9�&�'�'�'0��7H�1I�'J�E�#�$����s�A2A4c�6�[R"[U4S9$r*)rr�r1r+s  r0r/r/�s���(�(���z�J�Jr2c�:^�[R"T5n0ST_STR5_S[U5_STR	5_STR5_STR
5_STR5_STR5_S	TR5_S
[_S[R"TR5SS
9_S[_S[T5_S[!UT5_S[#UT5_S[%X5_S['X5_U4SjU4SjS.E$)Nr-rr#sauthorsdescr�sextrasphasesobsoletessuccsandmarkerss
instabilitiessinstabilityr�swhyunstabler�sinbranchsbranchesstagss	bookmarksc�>�[T5$rZ�r��r
r&r�s  �r0r��commonentry.<locals>.<lambda>�s	���G�C�Lr2c�>�[T5$rZ�r�r6s  �r0r�r7�s	���8�C�=r2)�parent�child)r�binnoder]rr�r�r��extra�phasestr�obsoleter,rr��
instabilitiesr/r�r�r�r�r�)rLr�r[s ` r0�commonentryrA�s[����?�?�3��D��	��	�
	����	��	��T��
�	�3�8�8�:��	����"��	������	�#�)�)�+��	�#�,�,�.��	�S�\�\�^��	�O��	�,�1�1�����n�
��"	��#�$	�&�s�+�%�&	�\�$��,�'�(	�^�D�#�.�)�*	��d�)�+�,	�'��3�-�.9�8�1�r2c�2^^�URnTR5m[R"T5n[	USU5n[TR
5X0R5n[UT5nURU4SjUU4SjUU4SjUUS.5 U$)z�Obtain a dictionary to be used for entries in a changelist.

This function is called when producing items for the "entries" list passed
to the "shortlog" and "changelog" templates.
�changelogtagc�>�[T5$rZr5r6s  �r0r��!changelistentry.<locals>.<lambda>�s	���G�C�Lr2c�">�[TTS-
5$�Nrr5�r
r&r�r]s  ��r0r�rEs�����S�1�W�0Er2c�">�[TTS-5$rGr9rHs  ��r0r�rEs���x��S�1�W�/Er2)s
allparentsr:r;rCsfiles)
rLr]rr<r��
listfilediffs�files�maxfilesrA�update)�webr�rL�n�showtagsrKr0r]s `     @r0�changelistentryrQ�s~����8�8�D�

�'�'�)�C������A��t�_�a�0�H��#�)�)�+�q�,�,�7�E���c�"�E�	�L�L�@�E�E�%��	
���Lr2c#�# �URnSnUH/nXR:�a gUS-
n[XU5n[U5US'Uv� M1 g7f)z2Emit up to N records for an iterable of revisions.rrr�N)rLrQrU)rN�revs�maxcount�parityfnrLr�r]r0s        r0�changelistentriesrV	sP����8�8�D�
�E������
��
����#�Y�/����>��i�����s�AAc��SUR;a#[R"URS5$[[R
"U55$)Nr#)r�r�	revescaperrr<)r�r�s  r0�symrevorshortnoderYs<���#�,�,���(�(����g�)>�?�?��W�_�_�S�)�*�*r2c
#�(# �[U5nUR5n[UR55HVupVXa;aSnO
Xd;aSnOSnUS:XaSOSnUR"UUR5UUS-[
U5US.5v� MX g7f)Nsremovedsaddedsmodifieds
filenolinksfilenodelinkr)r#r��blocknor�r�)r�
filesadded�	enumeraterK�processrrU)	r
r�r�r�r\�blocknorgr��templates	         r0�
_listfilesgenra!s����
�{�
#�F����!�J���	�	��,�
���<��F�
�_��F� �F�$*�j�$8�=�o���o�o�������#�a�K���<�!�
�	
�		
�-�r�c�^
�[URS[R"U55n[	URS[R"U55n[U5n[
URUR5nUcUR5nURSS5nSURR;aURRSn[XUSU5n[UR5n[URRX5m
[!UT
U5n	[#S	U[%URU5UR'5UUU[(R*"[,XR4S9U
4SjU	UR/UR'55S.
[0R2"[5URU55D6$)
zBObtain a dictionary to be used to render the "changeset" template.schangesettagschangesetbookmarkNrsstyler�c�>�[T5$rZ)�diffsummary)r
r&�diffstatsgens  �r0r�� changesetentry.<locals>.<lambda>Ys
���[��-Fr2)
�diff�symrev�basenode�changesettag�changesetbookmark�changesetbranchrKrd�diffstatr-rA)r�rLrr<r�r�rr��p1�configr��diffsrr��diffstatgenrrm�dictrYrr�mappedgeneratorrar1r�	strkwargsrA)rNr�rP�
showbookmarks�
showbranch�basectx�stylergr��	diffstatsres          @r0�changesetentryrz8so����s�x�x��'�/�/�#�2F�G�H� ����&�����(<��M�%�S�)�J��C�H�H�c�g�g�.�G����&�&�(���J�J�v�x�(�E��3�7�7�#�#�#���� � ��*����7�D�%�0�D�
�s���
'�F��s�x�x�{�{�C�9�L���l�F�3�I���
� ����#�.������'�"��*�*���o�o� 6�
�G���������+���
�
�[����3�7�
8��r2c#�# �USUH$nUR"S[U5US.5v� M& [U5U:�aUR"S05v� gg7f)Nsfiledifflink)r#r�sfileellipses)r^rr�)r
rKr[�maxrgs     r0�_listfilediffsgenr}`sQ���
�4�C�[���o�o�o��T��Q�/O�P�P��
�5�z�C���o�o�o�r�2�2��s�AAc�8�[R"[XU4S9$r*)rrsr})rKr[r|s   r0rJrJgs���'�'���c� 2��r2c	#�"# �[US5H{upESX$4-nURS5(aSnO4URS5(aSnOURS5(aSnOS	nUR"UUUUS
U--SU-S.5v� M} g7f)
Nrs%d.%d�+sdifflineplus�-s
difflineminus�@s
difflineatsdifflinesl%ss% 8s)slineslineno�lineids
linenumber)r]�
startswithr^)r
�linesr_�lineidprefix�lineno�l�
difflineno�ltypes        r0�_prettyprintdifflinesr�ms�����u�a�(�	���� 1�1�
��<�<����#�E�
�\�\�$�
�
�$�E�
�\�\�$�
�
�!�E��E��o�o���!�'�&�:�*=�=�&��3�	
�
�	
�)�s�B
Bc	#�n# �U(a[R"U5n	O[R"5n	[R"UR
SS9n
[
U5n[R"XX)U
S9n[US5H�un
up�nnUS:waUSSnUVs/sHnUS-PM
 nnUHDunnUb*Ub'Uunnnn[R"UU4U5(dM3URU5 MF U(dM}[R"[UX�4S9n[U5U
US.v� M� gs snf7f)	NTr ��optsrsraw�
r�)r�r[�lines)r�exact�alwaysrr�rr�	diffhunksr]r�hunkinrange�extendrrsr�rU)r
rLr�rwrKrxr�rr��mr�r�r�r_�fctx1�fctx2�header�hunks�hr��	hunkrange�	hunklines�s1�l1�s2�l2r�s                           r0�	_diffsgenr��s'���
��K�K�����L�L�N���~�~�d�g�g��6�H�
�{�
#�F�����s�H�E�I�2;�I�q�2I�.��.�%����F�?��A�B�Z�F�$*�+�F�q��U��F��+�$)� �I�y��$��)>�!*���B��B��(�(�"�b��9�=�=���L�L��#�%*��5��,�,�%�U�G�,J��A� ��<�#���
�3J��,�s�BD5�D0�*AD5�?6D5c�r�URUUUUURUU4n[R"[USS9$)Ns	diffblockr�)rLr�rr�r�)rNr�rwrKrxrr�r�s        r0rprp�sE�������
�
������	�D��(�(���<��r2c	���U=(a SU-=(d SnXS=(a SU-=(d S-
nU(aSU-OSnU(aSU-OSnUUUSU-U=(d SUSU-U=(d SS.$)Nsl%dr2sr%ds%ds% 6s)r"r�s
leftlinenosleftlinenumbersleftlinesrightlinenosrightlinenumbers	rightlinerA)�type�
leftlineno�leftline�rightlineno�	rightline�lineid�llno�rlnos        r0�	_compliner��s|��
�
1�V�j�0�
8�S�F�
�4�v��3�;��;�F�!+�5�:���D�"-�5�;��3�D���!�"�T�>��_��#�#�d�N��&�3�	�	r2c#�# �UH�upEpgn[R"U5nXe-
n	X�-
n
[X�5n[U5H&n[	UX\-S-XU-X|-S-X'U-S9v� M( X�:�a+[X[-U5Hn[	UUS-XSSS9v� M M�X�:�dM�[X{-U5Hn[	USSUS-X,S9v� M M� g7f)Nr)r�r�r�r�r�)r�sysbytes�min�ranger�)
r
�	leftlines�
rightlines�opcodesr��llo�lhi�rlo�rhi�len1�len2r��is
             r0�_getcompblockgenr��s����$+� ��3�S�� � ��&���y���y���D����u��A����7�Q�;�"��7�+��G�a�K�$�1�W�-��
���;��3�;��,���� �1�u�&�\� $�"���-��[��3�;��,����#�!� !�A��(�m���-�/%,�s�BC�!.Cc�>�XU4n[R"[USS9$)Nscomparisonliner�)rr�r�)r�r�r�r�s    r0�
_getcompblockr��s'���7�+�D��(�(��t�*;��r2c#��# �[R"SX#5nUS:a![X#UR55nSU0v� gUR	US9Hn[X#U5nSU0v� M g7f)z>Generator function that provides side-by-side comparison data.Nrr�)rO)�difflib�SequenceMatcherr��get_opcodes�get_grouped_opcodes)r
�
contextnumr�r�r�r��ocs       r0�_comparegenr��sh�������i�<�A��A�~��)�����A����m���'�'�*�'�5�B��i�R�8�A��Q�-��6�s�A(A*c�>�XU4n[R"[USS9$)Nscomparisonblockr�)rr�r�)r�r�r�r�s    r0�comparer�s'���:�.�D��(�(��$�%7��r2c	#��# �[R"USS05n[R"[R"URX#S955n[R"U5upVpxn	XEXgX�4v� M	7f)z3Generator function that provides the diffstat data.snoprefixFr�)rr��diffstatdatar�	iterlinesrg�diffstatsum)
rr�rwr��stats�maxname�maxtotal�addtotal�removetotal�binarys
          r0rqrq	sl����~�~�b�;��"6�7�H����t�~�~�c�h�h�w�h�.N�O�P�E�7<�7H�7H��7O�4�G�x�f�
��h�+�E�E��s�A5A7c�T�[U5upp4pV[S5[U5UU4-$)z#Return a short summary of the diff.s5 %d files changed, %d insertions(+), %d deletions(-)
)rUrr�)�statgenr�r�r�r�r�r�s       r0rdrds;��?C�7�m�;�E�H���
F�G��E�
���K��r2c
#�^# �[U5upEmpgnUR5n	U4Sjn
SnUHXup�p�X�;aSOSnX�-nUS-
nUR"UUR5UUUU
"U
5U
"U5[U5S.5v� MZ g7f)Nc�4>�TS:Xag[U5T-S-$)Nr�d)�float)r�r�s �r0�pct�_diffstattmplgen.<locals>.pct"s!����q�=���a��8�#�s�*�*r2rsdiffstatlinksdiffstatnolinkr)r#r�sfilenostotalsaddpcts	removepctr�)rUrKr^r)r
r�r�r�r�r�r�r�r�rKr��fileno�filename�adds�removes�isbinaryr`�totalr�s                  @r0�_diffstattmplgenr�s�����>B�7�m�;�E�H�h�V��I�I�K�E�+�
�F�-2�)���&.�&7�?�=N������!����o�o������!�!���t�9�!�'�l���<�
�
�	
�	.3�s�BBc�<�XU4n[R"[US9$)z5Return a diffstat template for each file in the diff.r�)rrsr�)r�r�r�r�s    r0rmrm:s ���&�!�D��'�'�(8�t�D�Dr2c�l�\rSrSrSSjrSrSrSrSrSr	Sr
S	rS
rSr
SrS
rSrSrSrg)�sessionvarsi@c��X lXlgrZ��_start�_vars)rK�vars�starts   r0rM�sessionvars.__init__As�����
r2c� �URU$rZ�r�)rKr�s  r0�__getitem__�sessionvars.__getitem__Es���z�z�#��r2c� �X RU'grZr�)rKr��values   r0�__setitem__�sessionvars.__setitem__Hs
���
�
�3�r2c�j�[[R"UR5UR5$rZ)r��copyr�r�rQs r0�__copy__�sessionvars.__copy__Ks ���4�9�9�T�Z�Z�0�$�+�+�>�>r2c�L�[R"XU5nX0R;$rZ)r�unwrapvaluer�)rKr
r&r�s    r0�contains�sessionvars.containsNs!���'�'��$�?���z�z�!�!r2c�f�[R"XU5nURRU5$rZ)rr�r�r�)rKr
r&r�s    r0�	getmember�sessionvars.getmemberRs'���&�&�w��=���z�z�~�~�c�"�"r2c�@�[R"[S55e�Nsnot comparable�rrr�rKr
r&s   r0�getmin�sessionvars.getminV������q�!2�3�4�4r2c�@�[R"[S55errrs   r0�getmax�sessionvars.getmaxYrr2c�@�[R"[S55e)Nsnot filterabler)rKr
r&�selects    r0�filter�sessionvars.filter\s�����q�!2�3�4�4r2c#�# �URn[URR55H#up4U[R
"U5US.v� SnM% g7f)N)r�svalues	separator�&)r�r�r�r&rr)rKr
�	separatorr�r�s     r0�itermaps�sessionvars.itermaps`sQ����K�K�	� ����!1�!1�!3�4�J�C��"�*�*�5�1�'��
�
�I�
5�s�AAc�@�[R"[S55e)Ns not displayable without templater)rKr
r&�seps    r0�join�sessionvars.joinjs�����q�!D�E�F�Fr2c�&�URXS5$�Nr2)rrs   r0�show�sessionvars.showns���y�y��3�/�/r2c�,�[UR5$rZ)�boolr�rs   r0�tobool�sessionvars.toboolqs���D�J�J��r2c��UR$rZr�rs   r0r%�sessionvars.tovaluets���z�z�r2r�N)�?)rmrnrorprMr�r�r�r�r�rrrrrrrr%rrrAr2r0r�r�@sI���� �?�"�#�5�5�5��G�0� �r2r�c��\rSrSrSrSrg)�wsgiuiixc��g)N�PrArQs r0�	termwidth�wsgiui.termwidthzs��r2rAN)rmrnrorpr%rrrAr2r0r"r"xs��r2r"c��/nURRS5nX RRS5-
nUGHNup4USSn[R"U5n[R
"SXfU4-U5nU(d*URR
[S5X44-5 Mn[R"SU-5nURXWR"S55n	URXWR"S55n
UR"S5nS	nU(aA[R"UR55Hn
U[RU
-nM [R"X�5n	URX�45 GMQ U$![R a- URR
[S
5X94-5 GM�f=f)Nswebsubsinterhgrrs1^s%s(.+)(?:(?<=\\\\)|(?<!\\))%s(.*)%s([ilmsux])*$s#websub: invalid pattern for %s: %s
s(?<!\\)\\%sr@rs"websub: invalid regexp for %s: %s
)r�configitemsr�reescape�rer�warnr�compile�sub�groupr�sysstr�upper�__dict__r(r)rL�websubtable�
websubdefsr��pattern�unesc�delimr�delim_re�regexp�format�flagin�flags�flags              r0�
getwebsubsr=~s����K����$�$�Y�/�J��'�'�%�%�j�1�1�J�"�����!����#�#�E�*��
���A��U�#�
$��
��
��G�G�L�L��9�:�c�^�K�
�
��:�:�o��5�6�����e�[�[��^�4�����e�[�[��^�4�����Q������ �������7������T�*�*��8�	��Z�Z��.�F�����/�0�C#�L���	�x�x�	��G�G�L�L��8�9�S�M�I�
�
�	�s�#(F�<G�Gc�^�[R"X05[R"U5-$rZ)r�getgraphnodecurrent�getgraphnodesymbol)rLr�s  r0�getgraphnoderA�s-���)�)��2���%�%�c�*�+�+r2rZ)NN)rr)^�
__future__rr�r�r6r*�i18nrr[rr�commonr	r
rr�r
rrrrrrrrrrrrr�uimodr�utilsr�sortdictr%r1r:rDrFrtr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr(r,�	_requiresr1r/rArQrVrYrarzr}rJr�r�rpr�r�r�r�r�rqrdr�rm�wrappedr�r"r=rArAr2r0�<module>rKs���#���	�	����������$��}�}����.�(�
� Q
�Q
�h
D��
D�$�E��&9�
*�+�(�F�K�;�	;�;��
L�L�2�@E�-���$
E� -��O�
%�f�-����K�!�&�)����<�2�"+�
�.%�P3��
�,&�R
� �"�D�	 ��F��
�8E�5�,�&�&�5�p�U�X�X��+�\+r2

Youez - 2016 - github.com/yon3zu
LinuXploit