f. gdZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl mZdZdadZdZdZee jjZejdZd Zd Zd Zd Zd ZgdZgdZ de DZ!dKdZ"dKdZ#dddddZ$ejdej%Z&dZ'dZ(ejdej%Z)ejdej*ej%zZ+ejdej,ej%zZ-dZ.ejdej,ej%zZ/dZ0dZ1ejdZ2ejdZ3ejd Z4ejd!Z5d"Z6ejd#Z7d$Z8d%Z9d&Z:ejd'ej%Z;d(Zd+Z?ejd,ej%Z@d-ZAd.ZBd/ZCd0ZDd1ZEejd2ZFd3ZGd4ZHd5ZId6ZJGd7d8ZKGd9d:ZLGd;dd?ZOGd@dAZPGdBdCeQZRGdDdEePZSdFZTGdGdHeSZUGdIdJeSZVdS)L)Cookie CookieJar CookiePolicyDefaultCookiePolicy FileCookieJar LWPCookieJar LoadErrorMozillaCookieJarN)timegmFcptsdStsddl}|datj|S)Nr zhttp.cookiejar)debugloggerlogging getLogger)argsrs 5/opt/alt/python311/lib64/python3.11/http/cookiejar.py_debugr,sA  5""#344 < HTTPOnlyz #HttpOnly_z#( Netscape)? HTTP Cookie FilezQa filename was not supplied (nor was the CookieJar instance initialised with one)zr# Netscape HTTP Cookie File # http://curl.haxx.se/rfc/cookie_spec.html # This is a generated file! Do not edit. cddl}ddl}ddl}|}|d||}|d|zddS)Nr zhttp.cookiejar bug! %s) stacklevel)iowarnings tracebackStringIO print_excgetvaluewarn)rrrfmsgs r_warn_unhandled_exceptionr"Bsz#""""""""""" A a   **,,C MM+c1aM@@@@@ric|dd\}}}}}}|tkr_d|cxkrdkrRnnOd|cxkrdkrBnn?d|cxkrdkr2nn/d|cxkrdkr"nnd|cxkrdkrnnt|SdS) N r ;=) EPOCH_YEARr )ttyearmonthmdayhourminsecs r_timegmr3Qs(*2A2%D%tS#   !u"2"2"2"2"2"2"2"2"2db dbqC~~~~2~~~~~ANNNNNNNNNbzztr)MonTueWedThuFriSatSun) JanFebMarAprMayJunJulAugSepOctNovDecc6g|]}|S)lower).0r.s r rK\s 222% 222rc |tj}ntj|}d|j|j|j|j|j|jfzS)Nz%04d-%02d-%02d %02d:%02d:%02dZ) datetimeutcnowutcfromtimestampr-r.dayr0minutesecondtdts r time2isozrV^sh  y   % % ' '   / / 2 2 + 2627BIry/B BBrc. |tj}ntj|}dt||jt |jdz |j|j |j |j fzS)Nz#%s, %02d-%s-%04d %02d:%02d:%02d GMTr%) rMrNrODAYSweekdayrPMONTHSr.r-r0rQrRrSs r time2netscaper[qs~  y   % % ' '   / / 2 2 0 RZZ\\BFF28A:$6 ")RY40 00r)GMTUTCUTZz^([-+])?(\d\d?):?(\d\d)?$cVd}|tvrd}nt|}|r~dt|dz}|dr(|dt|dzz}|ddkr| }|S)Nr ir<r%-) UTC_ZONES TIMEZONE_REsearchintgroup)tzoffsetms roffset_from_tz_stringrls F Y   r " "  !C OO+Fwwqzz 7"s1771::"66wwqzzS    Mrc .t|}|tjkrdS t|dz}nI#t $r< t|}n#t $rYYdSwxYwd|cxkrdkrnn|}nYdSYnwxYw|d}|d}|d}t|}t|}t|}t|}|dkrctjtjd}|dz} |} ||z| z }| | z } t| dkr| dkr|dz}n|dz }t|||||||f} | 0|d}| }t|} | dS| | z } | S)Nr%r&r id2r]) rgrMMAXYEAR MONTHS_LOWERindexrI ValueErrortime localtimeabsr3upperrl) rPmonyrhrr1r2riimoncur_yrrktmprTrjs r _str2timer~s RB H t   --a/     s88DD   444  ?????????CC44 C  z2 {!C {!C c((C RB c((C c((C Dyy ,,Q/ SL &[1_ G q66B;;1uu28bbCx" S#r3R011A} :B XXZZ&r** >4 J Hs5/A BA.-B. A=8B<A==BBzV^[SMTWF][a-z][a-z], (\d\d) ([JFMASOND][a-z][a-z]) (\d\d\d\d) (\d\d):(\d\d):(\d\d) GMT$z+^(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)[a-z]*,?\s*a^ (\d\d?) # day (?:\s+|[-\/]) (\w+) # month (?:\s+|[-\/]) (\d+) # year (?: (?:\s+|:) # separator before clock (\d\d?):(\d\d) # hour:min (?::(\d\d))? # optional seconds )? # optional clock \s* (?: ([-+]?\d{2,4}|(?![APap][Mm]\b)[A-Za-z]+) # timezone \s* )? (?: \(\w+\) # ASCII representation of timezone in parens. \s* )?$c  t|}|r|}t|ddz}t |d|t |dt |dt |dt|df}t|S| }t d|d}dgdz\}}}}}} } t|}||\}}}}}} } ndSt|||||| | S) Nr%rr ra)STRICT_DATE_RErfgroupsrqrrrIrgfloatr3lstrip WEEKDAY_REsubLOOSE_HTTP_DATE_REr~) textrkgrxr,rPryrzr1r2ris r http2timers?: d##A HHJJ  1..2!A$iic!A$ii!A$iiQqTE!A$KK1r{{ ;;==D >>"dA & &D'+VAX"Cb"c3 !!$''A})*&S"b#sBBt S#r2sC 4 44ra^ (\d{4}) # year [-\/]? (\d\d?) # numerical month [-\/]? (\d\d?) # day (?: (?:\s+|[-:Tt]) # separator before clock (\d\d?):?(\d\d) # hour:min (?::?(\d\d(?:\.\d*)?))? # optional seconds (and fractional) )? # optional clock \s* (?: ([-+]?\d\d?:?(:?\d\d)? |Z|z) # timezone (Z is "zero meridian", i.e. GMT) \s* )?$c  |}dgdz\}}}}}}}t|}||\}}}}}}}} ndSt |||||||S)Nr)r ISO_DATE_RErfrr~) rrPrxryrzr1r2rirk_s riso2timer2s  ;;==D'+VAX"Cb"c3 4  A}-.HHJJ)Cb#sBt S#r2sC 4 44rcr |d\}}|jd||j|dzS)Nr )spanstring)matchstartends r unmatchedrSs93AJE3 <  STT 2 22rz^\s*([^=\s;,]+)z&^\s*=\s*\"([^\"\\]*(?:\\.[^\"\\]*)*)\"z^\s*=\s*([^\s;,]*)z\\(.)cb g}|D]}|}g}|rt|}|rt|}|d}t|}|r@t|}|d}t d|}nWt|}|r9t|}|d}|}nd}| ||fnx| dr6| dd}|r| |g}ntj dd|\}} |}||r| ||S)Nr%z\1,z^[=\s;]*r)HEADER_TOKEN_RErfrrhHEADER_QUOTED_VALUE_REHEADER_ESCAPE_RErHEADER_VALUE_RErstripappendr startswithresubn) header_valuesresultr orig_textpairsrknamevaluenon_junk nr_junk_charss rsplit_header_wordsr\s+ZF#'#'  &&t,,A  ||wwqzz*11$77 %$Q<>EE'..t44A%(|| !  % !% dE]++++))#.. {{}}QRR(.&--...+-'+r4*H*H'- ? @ &&--&&& Mr([\"\\])cJ g}|D]}g}|D]X\}}|rc |}tj|}t |j}|dsd|z}|S)N/)rrrurlsplit escape_pathrr)rrpartsrs r request_pathrs\@    C L ! !# & &E uz " "D ??3  Tz Krc|j}|d}|dkr?||dzd} t|n(#t$rt d|YdSwxYwt }|S)N:r r%znonnumeric port: '%s')rrrgrsrDEFAULT_HTTP_PORT)rrrrs r request_portrs +>4urc|jd}n d|jz}|j|z|jz}|j|jd|j}n|j}d|d|dS)Nrrrz)rrrrr)r#plimit namevalues r__str__zCookie.__str__0sf 9 "aadi-a a$)+ : !#'999djj9II I'0yy%%%88rcpg}dD]9}t||}||dt|:|dt|jz|dt|jz|jjdd|dS)N)rrrrrrrrrrrrrrrrzrest=%sz rfc2109=%s(r))getattrrreprr"r  __class____name__r)r#rrrs r__repr__zCookie.__repr__:s 6 6D 4&&D KK444d4 5 5 5 5 ITZ 0 00111 L4 #5#55666>222DIIdOOOODDr)Fr ) r> __module__ __qualname__r%r(r,r.r1r7r?rHrrrrs6(%(%(%(%T"""----!!! 999 E E E E Errc(eZdZ dZdZdZdZdS)rc tr NotImplementedErrorr#cookiers rset_okzCookiePolicy.set_okRs "###rc tr rDrFs r return_okzCookiePolicy.return_ok[sO!###rc dSNTrH)r#rrs rdomain_return_okzCookiePolicy.domain_return_ok_  trc dSrLrH)r#rrs rpath_return_okzCookiePolicy.path_return_okdrNrN)r>r@rArHrJrMrPrHrrrrIsU$$$$$$ rrc eZdZ dZdZdZdZeezZdddddddddedddf d Zd Z d Z d Z d Z dZ dZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdS) rr%rrr NTF)httpswssc ||_||_||_||_||_||_| |_| |_| |_| |_ | |_ |t||_ nd|_ |t|}||_ dS)NrH)netscaperfc2965rfc2109_as_netscape hide_cookie2 strict_domainstrict_rfc2965_unverifiablestrict_ns_unverifiablestrict_ns_domainstrict_ns_set_initial_dollarstrict_ns_set_pathsecure_protocolstuple_blocked_domains_allowed_domains)r#blocked_domainsallowed_domainsrUrVrWrXrYrZr[r\r]r^r_s rr%zDefaultCookiePolicy.__init__ts P   #6 (*+F(&<# 0,H)"4 0  &$)/$:$:D ! !$&D !  &#O44O /rc |jSr )rar#s rrcz#DefaultCookiePolicy.blocked_domainssB$$rc0 t||_dSr )r`ra)r#rcs rset_blocked_domainsz'DefaultCookiePolicy.set_blocked_domainss2 %o 6 6rc@|jD]}t||rdSdSr)rar)r#rblocked_domains r is_blockedzDefaultCookiePolicy.is_blockeds7"3  N 88 tt urc |jSr )rbrfs rrdz#DefaultCookiePolicy.allowed_domainssK$$rc8 |t|}||_dSr )r`rb)r#rds rset_allowed_domainsz'DefaultCookiePolicy.set_allowed_domainss&;  &#O44O /rcR|jdS|jD]}t||rdSdSr)rbr)r#rallowed_domains ris_not_allowedz"DefaultCookiePolicy.is_not_allowedsE  (5"3  N 88 uu trc td|j|jdD]&}d|z}t||}|||sdS'dS)N - checking cookie %s=%s)r verifiabilityrrrrset_ok_FTrrrr;r#rGrnfn_namefns rrHzDefaultCookiePolicy.set_oksq )6; EEEN  AkGw''B2fg&& uu trc|jtd|j|jdS|jdkr|jstddS|jdkr|jstddSdS)Nz0 Set-Cookie2 without version attribute (%s=%s)Fr $ RFC 2965 cookies are switched off$ Netscape cookies are switched offT)rrrrrVrUrFs rset_ok_versionz"DefaultCookiePolicy.set_ok_versions > ! E;  . . .5 >A  dl  9 : : :5 ^q  9 : : :5trc|jrUt|rF|jdkr|jrt ddS|jdkr|jrt ddSdSNr z> third-party RFC 2965 cookie during unverifiable transactionFz> third-party Netscape cookie during unverifiable transactionT unverifiablerrrZrr[rFs rset_ok_verifiabilityz(DefaultCookiePolicy.set_ok_verifiabilitys   N7$;$; ~!!d&F!8999u1$$)D$8999utrc|jdkr8|jr1|jdrt d|jdSdS)Nr $z' illegal name (starts with '$'): '%s'FT)rr]rrrrFs r set_ok_namezDefaultCookiePolicy.set_ok_namesN Na  D$E  K " "3 ' ' td||jdSdS)N80rz bad port %s (not numeric)Fz$ request port (%s) not found in %sT)rrstrrrrgrsrr#rGrreq_portr4s r set_ok_portzDefaultCookiePolicy.set_ok_port3s   #G,,Hx==[&&s++  !FFFF!!!!91=== 555!==E!=...utsAA76A7c td|j|jdD]&}d|z}t||}|||sdS'dS)Nrs)rrtrrrr return_ok_FTrvrws rrJzDefaultCookiePolicy.return_okHsl  )6; EEER  A"1nGw''B2fg&& uu trc|jdkr|jstddS|jdkr|jstddSdS)Nr r|Fr}T)rrVrrUrFs rreturn_ok_versionz%DefaultCookiePolicy.return_ok_versionZsW >A  dl  9 : : :5 ^q  9 : : :5trc|jrUt|rF|jdkr|jrt ddS|jdkr|jrt ddSdSrrrFs rreturn_ok_verifiabilityz+DefaultCookiePolicy.return_ok_verifiabilitycs   N7$;$; ~!!d&F!%&&&u1$$)D$%&&&utrcR|jr|j|jvrtddSdS)Nz( secure cookie with non-secure requestFT)rtyper_rrFs rreturn_ok_securez$DefaultCookiePolicy.return_ok_secureos4 = W\1FFF = > > >5trc\||jrtddSdS)Nz cookie expiredFT)r1_nowrrFs rreturn_ok_expiresz%DefaultCookiePolicy.return_ok_expiresus3   TY ' '  & ' ' '5trc|jrPt|}|d}|jdD] }||krn td||jdSdS)Nrrz0 request port %s does not match cookie port %sFT)rrrrrs rreturn_ok_portz"DefaultCookiePolicy.return_ok_port{s~ ; #G,,H[&&s++  ==E!I...utrct|\}}|j}|r|dsd|z}n|}|jdkr-|j|jzr|js||krtddS|jdkr#t||std||dS|jdkr+d|z |std||dSdS)Nrr zQ cookie with unspecified domain does not string-compare equal to request domainFzQ effective request-host name %s does not domain-match RFC 2965 cookie domain %sz; request-host %s does not match Netscape cookie domain %sT) rrrrr\DomainStrictNonDomainrrrr)r#rGrrrr dotdomains rreturn_ok_domainz$DefaultCookiePolicy.return_ok_domains )'22$  &++C00 f III Na    "T%? ? ' ,2dNN - . . .5 >A  l4&@&@  /04f > > >5 >Q  D':':9'E'E  !6 + + +5trct|\}}|dsd|z}|dsd|z}|r|dsd|z}n|}||s||sdS||rt d|dS||rt d|dSdS)NrFrrT)rrrrkrrq)r#rrrrrs rrMz$DefaultCookiePolicy.domain_return_oks *'22$""3'' $8|Hs## t8D  &++C00 f III!!),,  i0H0H 5 ??6 " "  7 @ @ @5   v & &  ;V D D D5trctd|t|}t|}||krdS||r(|ds|||dzdkrdStd||dS)Nz- checking cookie path=%sTrr%z %s does not path-match %sF)rrrrr)r#rrrpathlens rrPz"DefaultCookiePolicy.path_return_oks*D111((d)) t  4!!$'' }}S!! %-ggai.?%@C%G%G4,h===ur)r>r@rArrr DomainLiberal DomainStrictr%rcrhrkrdrnrqrHr~rrrrrrJrrrrrrrMrPrHrrrrjsLM%&;;L"&t%)#$-1(-"/.3$)"2!0!0!0!0F%%%777 %%%000 &         :::x*$       64     rrc#K t|D]:}d} |jd}t|Ed{Vn#t$rYnwxYw|s|V;dSr)listvaluesitems deepvaluesAttributeError)mappingobjs rrrs3GNN$$%%   ' IIG!# & & & & & & & &     D   III  sA  AAceZdZdS)AbsentNr>r@rArHrrrrrrc^eZdZ ejdZejdZejdZejdZejdZ ejdej Z ddZ d Z d Zd Zd Zd ZdZdZdZdZdZdZdZdZddZdZdZdZdZdZdZ dS)rz\Wrz\.?[^.]*z[^.]*z^\.+z^\#LWP-Cookies-(\d+\.\d+)Ncr|t}||_tj|_i|_dSr )r_policy _threadingRLock _cookies_lock_cookiesr#policys rr%zCookieJar.__init__s5 >(**F '-// rc||_dSr )rrs r set_policyzCookieJar.set_policys  rcg}|j||sgStd||j|}|D]}|j||s||}|D]Q}|j||std-td||R|S)Nz!Checking %s for cookies to returnz not returning cookiez it's a match) rrMrrkeysrPrrJr)r#rrcookiescookies_by_pathrcookies_by_namerGs r_cookies_for_domainzCookieJar._cookies_for_domains|,,VW== I2F;;;-/#((** ' 'D<..tW== -d3O)0022 ' '|--fg>>4555()))v&&&&  ' rc g}|jD]+}||||,|Sr )rrextendr)r#rrrs r_cookies_for_requestzCookieJar._cookies_for_request sS@m((** F FF NN433FGDD E E E Erc@ |ddd}g}|D]|}|j}|s d}|dkr|d|z|jF|j|jr'|dkr!|jd|j}n|j}|j||jn||jd||dkr|j r|d |j z|j d rE|j }|j s| d r |d d}|d |z|j+d }|jr |d|jzz}||~|S)Nc*t|jSr )rr)as rz)CookieJar._cookie_attrs..s3qv;;rT)rreverseFr z $Version=%srrz $Path="%s"rr%z $Domain="%s"z$Portz="%s")sortrrr non_word_rerfquote_rerrrrrrrrr) r#rrattrsrGrrrr4s r _cookie_attrszCookieJar._cookie_attrss   .. === ( $( $FnG :" Q;;LL!8999 ) '' 55*:AA++ ))'6<@@ |# V[))))  UU;<<<{{(=LL !;<<<=++C00:#]F"5,))#..,!'LL&!8999;*A,86;!67LLOOO rc td|j tt jx|j_|_||}||}|r>| ds)| dd ||jj rI|jj s=| ds(|D]%}|jdkr| ddn&|jn#|jwxYw|dS)Nadd_cookie_headerrrCookie2r%z $Version="1")rracquirergrtrrrr has_headeradd_unredirected_headerrrVrXrreleaseclear_expired_cookies)r#rrrrGs rrzCookieJar.add_cookie_headerLsx "### ""$$$ ),/ ,<,<
RRR+   & & ( ( ( (D  & & ( ( ( ( ""$$$$$s C0D55Ecx g}d}d}|D].}|d\}}d}d} i} i} |ddD]\} } | }||vs||vr|} | |vr| d} | | vr0| dkr)| tdd} n| } | d kr|rh| td z| d krAd} t| } n"#t$rtd d} Yn@wxYwd } |j| z} | |vs| |vr"| | d vrtd| zd} n | | | <| | | <| r|||| | f0|S)N)rr)rrrrrrr commenturlr Fr%Trz% missing value for domain attributerzM missing or invalid value for expires attribute: treating as session cookierz? missing or invalid (non-numeric) value for max-age attribute)rrrz! missing value for %s attribute)rIrrgrsrr)r# attrs_set cookie_tuples boolean_attrs value_attrs cookie_attrsrr max_age_set bad_cookiestandardr$rrrs r_normalized_cookie_tuplesz#CookieJar._normalized_cookie_tuplesms  + 0 &H @H @L&q/KD% KJHD$QRR(2 2 1WWYY$$m(;(;A %%!)A====yFGGG%)  A >>"! y FGGG  >>"&KFF% 2333%)  "A A A$$!}*<*< !BBBBQFGGG%) "#HQKKDGG   $x!> ? ? ? ?s-B==CCc2|\}}}}|dt}|dt}|dt} |dt} |dd} | " t| } n#t$rYdSwxYw|dd} |dd} |d d}|d d}|tur|d krd }t |}n_d}t |}|d }|dkr| dkr |d|}n |d|dz}t|dkrd }|tu}d}|r"t| d}|turt|\}}|}n| dsd|z}d}| tur+| t|} nd }tj dd | } nd} | turd} d } nH| |jkr= ||||n#t $rYnwxYwt#d|||dSt%| ||| ||||||| | | |||S)NrrrrrrFrrrrTrrr r%rz\s+z2Expiring cookie, domain='%s', path='%s', name='%s')r*rrgrsrrrrboolrrrrrrclearKeyErrorrr)r#tuprrrrr$rrrrrrrrrrrrrrrrs r_cookie_from_cookie_tuplez#CookieJar._cookie_from_cookie_tuples '*#eXth//||FF++||FF++,,y&11,,y$//   g,,   tt h..,,y%00,,y$//ll<66  v  $"**!Nt$$DD"N((D 3ABwwa<<8DD1:D4yyA~~ct"/"  >!%f&7&7&<&.no_matching_rfc2965ls #*ININJCf,,r)rget_allrgrtrrrVrUr r Exceptionr"rrrrrfilterr) r#responserr rfc2965_hdrsns_hdrsrVrUr ns_cookiesrrGrs r make_cookieszCookieJar.make_cookies?sO--//}b99 //,33(+DIKK(8(88 DI,&<( g  !(  &.  #* I 22"<00';;GG    % ' ' 'GGG   +x + !99$W--w88    )+++    ) )* 5 5 5 E%MMFHLFFM6; DEE:@----$$7DD  +z***s$#CCC'#D D('D(cl |j ttjx|j_|_|j||r|||jdS#|jwxYwr ) rrrgrtrrrH set_cookierrFs rset_cookie_if_okzCookieJar.set_cookie_if_okvs; ""$$$ ),/ ,<,<
> , ,<&&vw77,0&999OOF+++ ,   & & ( ( ( ( (D  & & ( ( ( (s AB33Cc |)||td|j|||=dS|!|td|j||=dS| |j|=dSi|_dS)Nz8domain and path must be given to remove a cookie by namez.domain must be given to remove cookies by path)rsr)r#rrrs rrzCookieJar.clears   DL NPPP f%d+D111  ~ DFFF f%d+++   f%%%DMMMrc |j |D]/}|jr&||j|j|j0 |jdS#|jwxYwr )rrrrrrrr)r#rGs rclear_session_cookieszCookieJar.clear_session_cookiess ""$$$ ) H H>HJJv}fk6;GGG H   & & ( ( ( ( (D  & & ( ( ( (s 2A**BcR |j tj}|D]=}||r&||j|j|j> |jdS#|jwxYwr ) rrrtr1rrrrr)r#r0rGs rrzCookieJar.clear_expired_cookiess  ""$$$ ))++C H H$$S))HJJv}fk6;GGG H   & & ( ( ( ( (D  & & ( ( ( (s AB B&c*t|jSr )rrrfs r__iter__zCookieJar.__iter__s$-(((rc d}|D]}|dz}|S)Nr r%rH)r#rrGs r__len__zCookieJar.__len__s$1 %%FAAArcg}|D]$}|t|%d|jjdd|dSN<[rz]>)rr<r=r>rr#rrGs rr?zCookieJar.__repr__sS 22FAHHT&\\22222!^444diillllCCrcg}|D]$}|t|%d|jjdd|dSr/)rrr=r>rr2s rr7zCookieJar.__str__sS 11FAHHS[[11111!^444diillllCCrr )NNN)!r>r@rArcompilerrstrict_domain_re domain_redots_reASCIImagic_rer%rrrrrrr r rrrrr%rr(rr+r-r?r7rHrrrrs "*U##Krz+&&H!rz+.. 8$$Ibj!!Grz6AAH$999v%%%B___BZZZx ' ' '555n ) ) ) ) ) ) ) ) )6 ) ) ))))&))) DDD DDDDDrrceZdZdS)rNrrHrrrrrrrc4eZdZ ddZddZddZ ddZdS) rNFc t|||tj|}||_t ||_dSr )rr%osfspathfilenamer delayload)r#r@rArs rr%zFileCookieJar.__init__sL 4(((  y**H  irc tr rD)r#r@ignore_discardignore_expiress rsavezFileCookieJar.saves%!###rc |#|j|j}nttt|5}|||||ddddS#1swxYwYdSr )r@rsMISSING_FILENAME_TEXTopen _really_loadr#r@rCrDr s rloadzFileCookieJar.loads'  }(T](("#8999 (^^ Kq   a>> J J J K K K K K K K K K K K K K K K K K KsAA #A c |#|j|j}ntt|j t j|j}i|_ ||||n#t$r ||_wxYw |j dS#|j wxYwr ) r@rsrGrrr!deepcopyrrKOSErrorr)r#r@rCrD old_states rrevertzFileCookieJar.revert s  }(T](("#8999 ""$$$ ) dm44IDM  (NNCCCC    )  D   & & ( ( ( ( (D  & & ( ( ( (s$ B,"A:9B,:B  B,,C)NFNNFF)r>r@rAr%rErKrPrHrrrrss@ ) ) ) )$$$$KKKK#49))))))rrc |j|jfd|jfd|jfg}|j|d|jf|jr|d|jr|d|jr|d|j r|d|j r6|dtt|j f|j r|d |jr|d |jf|jr|d |jft!|j}|D]1}||t'|j|f2|d t'|jft+|gS) Nrrr) path_specN) port_specN) domain_dotN)rNr)rNrrr)rrrrrrrrrrrrVrrrrsortedr"rrrr)rGrrrs rlwp_cookie_strrW's +v| $ &+  FM " $A{&&+)> ? ? ? ;ahh':;;; ;ahh':;;;  @!((+?"@"@"@ }0ahh/000 ~Bqxx(v~)>)>??!ABBB ~2qxx 1222 ~fdopenrHO_CREATO_WRONLYO_TRUNCwriter[rJs rrEzLWPCookieJar.save`s   }(T](("#8999 Y GHbj2;6CU K K    E GG( ) ) ) GGDOONNCC D D D E E E E E E E E E E E E E E E E E Es3?B??CCc|}|j|sd|z}t|t j}d}d} d} |} | dkrdS| |s3| t |d} t| gD]f} | d\} }i}i}| D]}d||<| ddD]E\}}|| }nd}|| vs|| vr|}|| vr |d }|||<6|| vr|||<@|||<F|j }|d }|d }|t|}|d }|d }|d }t|d| ||d|d|||d|d|d|d|||d|d|}|s |j r8|s||rQ||h#t $rt"$r$t%td|d| wxYw)Nz5%r does not look like a Set-Cookie3 (LWP) format filez Set-Cookie3:)rTrSrUrr)rrrrrrrr%rr FTrrrrrrrTrUrrSrrrz invalid Set-Cookie3 format file : )readliner:rfrrtrrrrrIr*rrrr1rrNrr")r#r r@rCrDmagicr!r0headerrrlinedatarrrr$rrrrrrrrr!s rrIzLWPCookieJar._really_loados% }##E** !$%CC.. ikk. 0 ; .4 'zz||2::uuv..CKKLL)//11.v66-'-'D"&q'KD%!HD*,,&+ $QRR((1=!"BB!%B+--23F3F "A -- yd!*+HQKK+--*+HQKK&'DGG Aa llGa llG*"*7"3"3"&Qx[[F'-'8'8'='=$qq||T5 qyy!!K..%'7< qyy!!K.. q{{&& q|| q# % %A*!ai! )!all3.?.?! OOA&&&&i4 'j     . . . % ' ' ')%XXtt-.. . .sH3:F9H338I+)TTrQ)r>r@rAr[rErIrHrrrrCsY !!!! E E E EL.L.L.L.L.rrceZdZ dZddZdS)r ctj}t|st d|z |}i}|dkrdS|t r&d|t<|tt d}| dr |dd}| ds| dkr| d\}} } } } } }| dk} | dk} | dkr|} d}|d }d }| dkrd} d }td | |dd || || d | | |dd|}|s |j r;|s||rT||j#t $rt"$r$t%t d |d|wxYw)Nz4%r does not look like a Netscape format cookies filer%rrZr)#r TRUErFTr z%invalid Netscape format cookies file re)rtNETSCAPE_MAGIC_RGXrrfrrHTTPONLY_PREFIX HTTPONLY_ATTRrrrrrrr1rrNrr")r#r r@rCrDr0rir$rrrrrrrrrr!s rrIzMozillaCookieJar._really_loadsfikk!'' 55 F ? .7 #zz||2::uu ???337*,D'O 4 4 5 56D==&&8tCRCyJJLL++J77JJLLB&& 4((M($u F*$4$> 2::!D E$//44  b=="G"G1dE!#3[!"" ! !&!)%!,,s*;*;"""o7 #r     . . . % ' ' ')%XXtt-.. . .sF>2E F>>8G6NFc P|#|j|j}ntttjtj|tjtjztjzdd5}| ttj }|D]}|j }|s|j r|s||r+|jrd}nd}|drd} nd} |jt%|j} nd} |j d} |j} n|j} |j} |t,r t.|z}| d|| |j|| | | gdz ddddS#1swxYwYdS) Nr]r^roFALSErrrnrZ)r@rsrGr>r_rHr`rarbrcNETSCAPE_HEADER_TEXTrtrrr1rrrrrrr(rrrqrr) r#r@rCrDr r0rGrrrrrrs rrEzMozillaCookieJar.save's  }(T](("#8999 Y GHbj2;6CU K K   "  GG( ) ) ))++C  %&.%&*;*;C*@*@='6&&&f$$S)),;;$+k>-!&.11GG G<'D"KEE!;D"LE..}==6,v5FIIv{FK%we=>>3  " " " " " " " " " " " " " " " " " " s3DFF"FrQ)r>r@rArIrErHrrr r s@>G.G.G.R''''''rr r )W__all__r>r!rMrrt urllib.parserurllib.request threadingr http.clienthttpcalendarr r rrrrrqrclient HTTP_PORTrr5rprGrur"r+r3rXrZrqrVr[rdr9rerlr~rIrXrrrrrrrrrrrrrrrrrrrrrrrrr r rrrrrrrrrrrNrrrWrr rHrrrs6 M M M  ########   C -..RZ @AA:AAA 988 4 4 4226222 BBBB&0000(T = = bj5rx@@    6 6 6 p,-/X77RZ2BD28OEE RZ & D28O)*656565pbj 4") # $555B333 $$677#$MNN#$9::2:h''SSSj# ;//2AAAH "*Y ) )   %%%N(bj28,,        $"*9::+++   ! ! ! F"_E_E_E_E_E_E_E_EDB_____,___B   "LDLDLDLDLDLDLDLD`4)4)4)4)4)I4)4)4)n"""8x.x.x.x.x.=x.x.x.vPPPPP}PPPPPr