{L i[.pdgZddlZddlZddlZddlmZddlmZmZddl m Z ddl m Z m Z ddlmZmZddlmZd d lmZd d lmZmZe deeeefeeeeffZeGd dZej<dej>Z ej<dej>Z!GddeeefZ"y)CookiesN) dataclass)Cookie CookieJar)_unquote)OptionalUnion)IteratorMutableMapping)urlparse)CurlCffiWarning)CookieConflict RequestsErrorceZdZUeed<eed<dZeed<dZeed<dZeed<dZ eed <d Z e ed <dZ eed <e d Ze dZedefdZdZedefdZdefdZy) CurlMorselnamevaluehostnameF subdomains/pathsecurerexpires http_onlyc |dk(S)NTRUEss `/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/curl_cffi/requests/cookies.py parse_boolzCurlMorsel.parse_bool"s F{c|rdSdS)NrFALSEr r!s r# dump_boolzCurlMorsel.dump_bool&sv''r%set_cookie_linec |jjd\}}}}}}}|r|ddk(rd} |dd} nd} |} || |j|||j|t||t || S)N r#T F)rrrrrrrr)decodesplitr$intr) clsr)rrrrrrrrdomains r#from_curl_formatzCurlMorsel.from_curl_format*s  " " $ * *4 0         s*Ibc]FIF~~j1>>&)L5/  r%c n|js%td|jd|jdj |j|j |j |j|j |jt|j|j|jgS)NzDomain not found for cookie =r+) rrrrjoinr(rrrstrrselfs r#to_curl_formatzCurlMorsel.to_curl_formatGs}}">tyyk4::, WX Xyy t/ t{{+DLL!     r%cookiec ||j|jxsd|j|j|j|j t |jxsddS)NrrF)rrrrrrrr)rrr2domain_specifiedrrr0r)r1r;s r#from_cookiejar_cookiez CurlMorsel.from_cookiejar_cookieVsT,,$"]]..==+!,  r%returnc tdiddd|jd|jddddd|jd |jd t |jj d d |jd t |jd|jd|jdk(rdn |jd|jdk(dddddt|jddS)Nversionrrrportport_specifiedFr2r=domain_initial_dot.rpath_specifiedrrdiscardcomment comment_urlrest)rrfc2109r ) rrrrrbool startswithrrrdictrr8s r#to_cookiejar_cookiezCurlMorsel.to_cookiejar_cookiecs   **   !  ==  "__  $DMM$<$>"24# $%  r%N)__name__ __module__ __qualname__r7__annotations__rrrLrrrr0r staticmethodr$r( classmethodbytesr3r:rr>rOr r%r#rrs I JHcJD#OFDGSIt(( u  8    6     V r%rz:\d+$z\.\d+$c eZdZdZddeeddfdZdefdZde e fdZ de e fd Z dd ed ed ed eddf dZ dd edeed eed eedeef dZ dd eed eedefdZ dd ed eed eeddfdZdd eed eeddfdZddeeddfdZd ed eddfdZd edefdZd eddfdZdefdZdeefdZdefdZdefdZy) rz- HTTP Cookies, as a mutable mapping. Ncookiesr?c|t|trKt|_t|tr+|j D]\}}|j ||yyt|t r,t|_|D]\}}|j ||yt|trR t(< H D r%cP|jjjg} tt jx|jj _|_|jD]J}tj|}|js|j||_ |j|L |jjj|jj|S#|jjjwxYw)zWthe process is similar to ``cookiejar.add_cookie_header``, but load all cookies)r\ _cookies_lockacquirer0time_policy_nowrr>rrqappendreleaseclear_expired_cookies)r9romorselsr;morsels r#get_cookies_for_curlzCookies.get_cookies_for_curls &&( -03DIIK0@ @DHH   !DI(( '#99&A&*&<&|jdr-|dus|s|dk7r"tjd tdd}d }d}id d d |d|ddddd|dt |d|jdd|dt |d|dddddddddddidd}t d i|}|j j|y)!zU Set a cookie value by name. May optionally include domain and path. z __Secure-Fz9`secure` changed to True for `__Secure-` prefixed cookiesr ) stacklevelTz__Host-rz^`host` changed to True, `domain` removed, `path` changed to `/` for `__Host-` prefixed cookiesrrArrrrBNrCr2r=rDrErrFrrrGrHrIrJHttpOnlyrKr )rMwarningswarnrrLrr\r`)r9rrr2rrkwargsr;s r#r^z Cookies.sets} ??; 'FeO MMK  F __Y 'Vu_$RU+ MM1   FFD q D  U  D  e  f   V   !&"3"3C"8  D  d4j  f  t  t  t  4 Z&! " u# &!&! F#r%defaultcd}d}|jD]}|j|k(s||j|k(s%||j|k(s7|o|j |jsTt |jj |s0||j k7r!d|d|d|jd}t||j }|jxsd}||S|S)z Get a cookie by name. May optionally include domain and path in order to specify exactly which cookie to retrieve. Nrz!Multiple cookies exist with name=z on z and z., add domain parameter to suppress this error.)r\rr2rendswithr7rr) r9rrr2rrmatched_domainr;messages r#rhz Cookies.getshh 5F t#^v}}'>\V[[D%8%*33FMMB .77G->&$5 5(( {{d"6==F#:!4    DF HHNN6==&++v{{ C D s:B/cg}||j|||J|j||jj|y)z Delete all cookies. Optionally include a domain and path in order to only delete a subset of all the cookies. N)rxr\r)r9r2rargss r#rz Cookies.clear;sK    KK   % %% KK r%crt|}|jD]}|jj|yrZ)rr\r`)r9rXr;s r#updatezCookies.updateHs1'"kk (F HH   ' (r%c&|j||SrZ)r^r9rrs r# __setitem__zCookies.__setitem__Msxxe$$r%cB|j|}| t||SrZ)rhKeyErrorrs r# __getitem__zCookies.__getitem__Ps# =4.  r%c$|j|SrZ)r)r9rs r# __delitem__zCookies.__delitem__Vs{{4  r%c,t|jSrZ)lenr\r8s r#__len__zCookies.__len__Ys488}r%c(d|jDS)Nc34K|]}|jywrZ)r).0r;s r# z#Cookies.__iter__..]s3 3sr\r8s r#__iter__zCookies.__iter__\s3$((33r%c(|jD]}yy)NTFr)r9_s r#__bool__zCookies.__bool___s A r%c dj|jDcgc],}d|jd|jd|jd.c}}d|dScc}w)Nz, zz )r6r\rrr2)r9r; cookies_reprs r#__repr__zCookies.__repr__dscyy#hh 6;;-qeFMM?#N  <.++  s1ArZ)rrF)NNN)NN)rPrQrR__doc__r CookieTypesrbr7rqr_rr}rr^rhrNrrrrrrrr0rr rrLrrr r%r#rrs 5"C tJ/?$)Z0@)PU,$,$ #,$-0,$=@,$ ,$b"& $" %%#% % sm % # %PCG sm 2:3-   $!%" DD Dsm D  D0 HSM  QU (h{3(t( %%C%D% !!!4(3-4$ ,#,r%)#__all__rerur dataclassesrhttp.cookiejarrr http.cookiesrtypingrr collections.abcr r urllib.parser utilsrerrorsrrrNr7r_tuplerrcompileASCIIrirmrr r%r#rs + !,!"4!#1Iy$sCx.$uS#X:OOP  b b  b Jbjj288, "**Y )k,nS#X&k,r%