o !QdP@sX ddlZddlZddlZgdZdjZdjZdjZGdddeZ ej ej dZ e d Z d d eed eeee DZeed deddiedee jZddZedZedZddZgdZgdZdeefddZGdddeZ dZ!e!dZ"ed e!d!e"d"ej#ej$BZ%Gd#d$d$eZ&Gd%d&d&e&Z'dS)'N) CookieError BaseCookie SimpleCookiez;  c@s eZdZdS)rN)__name__ __module__ __qualname__r r 3/opt/alt/python310/lib64/python3.10/http/cookies.pyrsrz!#$%&'*+-.^_`|~:z ()/<=>?@[]{}cCsi|]}|d|qS)z\%03or ).0nr r r sr"\"\z\\z[%s]+cCs( |dus t|r |Sd|tdS)Nr) _is_legal_key translate _Translatorstrr r r _quotesrz\\[0-3][0-7][0-7]z[\\].cCsn|dus t|dkr |S|ddks|ddkr|S|dd}d}t|}g}d|kr2|krnt|St||}t||}|sU|sU|||d t|Sd}}|r`|d}|rg|d}|r|ro||kr|||||||d|d}n|||||tt||d|dd|d}d|kr|ks7t|St|S)Nrr) len _OctalPattsearch _QuotePattappendstartchrint _nulljoin)rir resZo_matchZq_matchjkr r r _unquotes@     $r+)ZMonZTueZWedZThuZFriZSatZSun) NZJanZFebZMarZAprZMayZJunZJulZAugZSepZOctZNovZDecc CsRddlm}m}|}|||\ }}}} } } } } }d|| ||||| | | fS)Nr)gmtimetimez#%s, %02d %3s %4d %02d:%02d:%02d GMT)r-r,)ZfutureZ weekdaynameZ monthnamer,r-ZnowZyearZmonthZdayZhhZmmZssZwdyzr r r _getdates r0c @seZdZ ddddddddd d Zd d hZd dZeddZeddZeddZ ddZ d1ddZ ddZ e jZddZddZd d!Zd"d#Zd$d%Zd&d'Zd2d)d*ZeZd+d,Zd1d-d.Zd1d/d0ZeejZdS)3MorselexpiresZPathCommentZDomainzMax-AgeZSecureZHttpOnlyZVersionZSameSite) r2pathcommentZdomainmax-agesecurehttponlyversionZsamesiter7r8cCs0d|_|_|_|jD] }t||dq dS)Nr)_key_value _coded_value _reserveddict __setitem__)selfkeyr r r __init__!s zMorsel.__init__cC|jSN)r:r@r r r rA)z Morsel.keycCrCrD)r;rEr r r value-rFz Morsel.valuecCrCrD)r<rEr r r coded_value1rFzMorsel.coded_valuecCs2|}||jvrtd|ft|||dSNzInvalid attribute %r)lowerr=rr>r?)r@KVr r r r?5s zMorsel.__setitem__NcCs.|}||jvrtd|ft|||SrI)rJr=rr> setdefault)r@rAvalr r r rM;s zMorsel.setdefaultcCs>t|tstSt||o|j|jko|j|jko|j|jkSrD) isinstancer1NotImplementedr>__eq__r;r:r<r@Zmorselr r r rQAs     z Morsel.__eq__cCs$t}t|||j|j|SrD)r1r>update__dict__rRr r r copyKs z Morsel.copycCsRi}t|D]\}}|}||jvrtd|f|||<qt||dSrI)r>itemsrJr=rrS)r@valuesdatarArNr r r rSQs  z Morsel.updatecCs||jvSrD)rJr=)r@rKr r r isReservedKeyZszMorsel.isReservedKeycCsH||jvrtd|ft|std|f||_||_||_dS)Nz Attempt to set a reserved key %rzIllegal key %r)rJr=rrr:r;r<)r@rArNZ coded_valr r r set]s z Morsel.setcCs|j|j|jdS)N)rArGrHr:r;r<rEr r r __getstate__hszMorsel.__getstate__cCs"|d|_|d|_|d|_dS)NrArGrHr[)r@stater r r __setstate__os  zMorsel.__setstate__ Set-Cookie:cCsd|||fS)Nz%s %s) OutputString)r@attrsheaderr r r outputtsz Morsel.outputcCsd|jj|fS)N<%s: %s>) __class__rr`rEr r r __repr__yszMorsel.__repr__cCsd||ddS)Nz rr)r`replace)r@rar r r js_output|szMorsel.js_outputcCs g}|j}|d|j|jf|dur|j}t|}|D]m\}}|dkr'q||vr,q|dkrCt|trC|d|j|t|fq|dkrXt|trX|d|j||fq|dkrot|t ro|d|j|t |fq||j vr|r|t |j|q|d|j||fqt |S)N%s=%srr2r6z%s=%dr5) r"rArHr=sortedrVrOr%r0rr_flags_semispacejoin)r@raresultr"rVrArGr r r r`s.   zMorsel.OutputStringrD)Nr_)rrr r=rkrBpropertyrArGrHr?rMrQobject__ne__rUrSrYrZr\r^rc__str__rfrhr` classmethodtypes GenericAlias__class_getitem__r r r r r1sH          !r1z,\w\d!#%&'~_`><@,:/\$\*\+\-\.\^\|\)\(\?\}\{\=z\[\]z \s* # Optional whitespace at start of cookie (?P # Start of group 'key' [a ]+? # Any word of at least one letter ) # End of group 'key' ( # Optional group: there may not be a value. \s*=\s* # Equal Sign (?P # Start of group 'val' "(?:[^\\"]|\\.)*" # Any doublequoted string | # or \w{3},\s[\w\d\s-]{9,11}\s[\d:]{8}\sGMT # Special case for "expires" attr | # or [a-]* # Any word or empty string ) # End of group 'val' )? # End of optional value group \s* # Any number of spaces. (\s+|;|$) # Ending either at space, semicolon, or EOS. c@sleZdZ ddZddZdddZdd Zd d ZdddZeZ ddZ dddZ ddZ e fddZdS)rcCs ||fSrDr r@rNr r r value_decodeszBaseCookie.value_decodecCs t|}||fSrDrr@rNZstrvalr r r value_encodeszBaseCookie.value_encodeNcCs|r ||dSdSrD)load)r@inputr r r rBszBaseCookie.__init__cCs0 ||t}||||t|||dSrD)getr1rZr>r?)r@rAZ real_valuerHMr r r Z__setszBaseCookie.__setcCs> t|trt|||dS||\}}||||dSrD)rOr1r>r?ry_BaseCookie__set)r@rArGrvalcvalr r r r?s  zBaseCookie.__setitem__r_ cCs< g}t|}|D] \}}||||q ||SrD)rjrVr"rcjoin)r@rarbseprmrVrArGr r r rcs    zBaseCookie.outputcCsJg}t|}|D]\}}|d|t|jfq d|jjt|fS)Nrird)rjrVr"reprrGrer _spacejoin)r@lrVrArGr r r rfs   zBaseCookie.__repr__cCs8 g}t|}|D] \}}|||q t|SrD)rjrVr"rhr&)r@rarmrVrArGr r r rhs   zBaseCookie.js_outputcCs8 t|tr ||dS|D]\}}|||<qdSrD)rOr_BaseCookie__parse_stringrV)r@ZrawdatarArGr r r rz s   zBaseCookie.loadcCspd}t|}g}d}d}d}d|kr|krnnz|||} | s#nq| d| d} } | d}| ddkrI|sr1Z_LegalKeyCharsZ_LegalValueCharsASCIIVERBOSErrrr r r r sX&] 26