+
     BiJ                     :   ^ RI t ^ RIHtHtHtHtHtHtHtH	t	H
t
HtHtHtHtHt ^ RIHt ^ RIHt . ROtRt ! R R4      t ! R R]4      t]! R]4        ! R R]4      t]! R]4        ! R R]4      t]! R]4        ! R R	4      t ! R R
4      t ! R R4      tR# )    N)Errorwriterreaderregister_dialectunregister_dialectget_dialectlist_dialectsfield_size_limitQUOTE_MINIMAL	QUOTE_ALLQUOTE_NONNUMERIC
QUOTE_NONEQUOTE_STRINGSQUOTE_NOTNULL)Dialect)StringIOr   excel	excel_tabSniffer
DictReader
DictWriterunix_dialectz1.0c                   P   a  ] tR t^Wt o RtRtRtRtRtRt	Rt
RtRtR tR tRtV tR# )r    FNc                ^    V P                   \        8w  d   R V n        V P                  4        R# )TN)	__class__r   _valid	_validateselfs   &/usr/lib/python3.14/csv.py__init__Dialect.__init__j   s    >>W$DK    c                n     \        V 4       R #   \         d   p\        \        T4      4      R hR p?ii ; iN)_Dialect	TypeErrorr   str)r    es   & r!   r   Dialect._validateo   s.    	*TN 	*A-T)	*s    4/4)r   )__name__
__module____qualname____firstlineno___namer   	delimiter	quotechar
escapechardoublequoteskipinitialspacelineterminatorquotingr"   r   __static_attributes____classdictcell____classdict__s   @r!   r   r   W   sD      EFIIJKNG
* *r$   c                   .    ] tR t^vtRtRtRtRtRt]	t
RtR# )r   ,"TF
 N)r,   r-   r.   r/   r1   r2   r4   r5   r6   r   r7   r8   r@   r$   r!   r   r   v   s!    IIKNGr$   c                       ] tR t^tRtRtR# )r   	r@   N)r,   r-   r.   r/   r1   r8   r@   r$   r!   r   r      s    Ir$   z	excel-tabc                   .    ] tR t^tRtRtRtRtRt]	t
RtR# )r   r=   r>   TF
r@   N)r,   r-   r.   r/   r1   r2   r4   r5   r6   r   r7   r8   r@   r$   r!   r   r      s!    IIKNGr$   unixc                      a  ] tR t^t o RR ltR t]R 4       t]P                  R 4       tR t	]
! ]P                  4      tRtV tR# )	r   Nc                    Ve   \        V4      VJ d   \        V4      pW n        W0n        W@n        \        W.VO5/ VB V n        WPn        ^ V n        R # r&   )iterlist_fieldnamesrestkeyrestvalr   dialectline_num)r    f
fieldnamesrK   rL   rM   argskwdss   &&&&&&*,r!   r"   DictReader.__init__   sP    !d:&6*&Dj)J%Q7$7$7r$   c                    V # r&   r@   r   s   &r!   __iter__DictReader.__iter__   s    r$   c                    V P                   f    \        V P                  4      V n         V P                  P                  V n        V P                   #   \         d     L4i ; ir&   )rJ   nextr   StopIterationrN   r   s   &r!   rP   DictReader.fieldnames   sW    ##'#4  ,, ! s   A AAc                    Wn         R # r&   )rJ   )r    values   &&r!   rP   rZ      s     r$   c                   V P                   ^ 8X  d   V P                   \        V P                  4      pV P                  P                   V n         V. 8X  d   \        V P                  4      pK  \	        \        V P                  V4      4      p\        V P                  4      p\        V4      pW48  d   WR W P                  &   V# W48  d%   V P                  VR  F  pV P                  W%&   K  	  V# )r   N)	rN   rP   rX   r   dictziplenrK   rL   )r    rowdlflrkeys   &     r!   __next__DictReader.__next__   s    ==AOO4;;,,
 Rit{{#CT__c*+!X7!#hAllO  Wrs+ ,r$   )rJ   rM   rN   r   rK   rL   )NNNr   )r,   r-   r.   r/   r"   rU   propertyrP   setterrf   classmethodtypesGenericAlias__class_getitem__r8   r9   r:   s   @r!   r   r      sU     	     ! !, $E$6$67r$   c                   f   a  ] tR t^t o RR ltR tR tR tR t]	! ]
P                  4      tRtV tR# )	r   c                    Ve   \        V4      VJ d   \        V4      pW n        W0n        VP	                  4       pVR9  d   \        RV,          4      hW@n        \        W.VO5/ VB V n        R # )Nz-extrasaction (%s) must be 'raise' or 'ignore')raiseignore)rH   rI   rP   rL   lower
ValueErrorextrasactionr   )r    rO   rP   rL   rt   rM   rQ   rR   s   &&&&&&*,r!   r"   DictWriter.__init__   ss    !d:&6*&Dj)J$#))+22L+, - -(Q7$7$7r$   c                v    \        \        V P                  V P                  4      4      pV P                  V4      # r&   )r^   r_   rP   writerow)r    headers   & r!   writeheaderDictWriter.writeheader   s*    c$//4??;<}}V$$r$   c                &  a a S P                   R 8X  dd   SP                  4       S P                  ,
          pV'       d;   \        RRP	                  V Uu. uF  p\        V4      NK  	  up4      ,           4      hVV 3R lS P                   4       # u upi )rp   z(dict contains fields not in fieldnames: z, c              3   \   <"   T F!  pSP                  VSP                  4      x  K#  	  R # 5ir&   )getrL   ).0re   rowdictr    s   & r!   	<genexpr>+DictWriter._dict_to_list.<locals>.<genexpr>   s#     J/3C../s   ),)rt   keysrP   rs   joinrepr)r    r   wrong_fieldsxs   ff  r!   _dict_to_listDictWriter._dict_to_list   st    '"<<>DOO;L !K#'99|-L|!d1g|-L#M"N O OJ$//JJ .Ms   Bc                V    V P                   P                  V P                  V4      4      # r&   )r   rw   r   )r    r   s   &&r!   rw   DictWriter.writerow   s"    {{##D$6$6w$?@@r$   c                `    V P                   P                  \        V P                  V4      4      # r&   )r   	writerowsmapr   )r    rowdictss   &&r!   r   DictWriter.writerows   s$    {{$$S););X%FGGr$   )rt   rP   rL   r   N)r   rp   r   )r,   r-   r.   r/   r"   ry   r   rw   r   rj   rk   rl   rm   r8   r9   r:   s   @r!   r   r      s4     8%KAH $E$6$67r$   c                   B   a  ] tR t^t o R tRR ltR tR tR tRt	V t
R# )	r   c                    . ROV n         R# )r=   N)r=   rB   ; :	preferredr   s   &r!   r"   Sniffer.__init__   s	    3r$   Nc                    V P                  W4      w  r4rVV'       g   V P                  VV4      w  rVV'       g   \        R 4      h ! R R\        4      pWGn        WWn        T;'       g    RVn        Wgn        V# )zCould not determine delimiterc                   "    ] tR tRtRtRt]tRtR# )Sniffer.sniff.<locals>.dialecti  sniffedr?   r@   N)	r,   r-   r.   r/   r0   r6   r   r7   r8   r@   r$   r!   rM   r     s    E#N#Gr$   rM   r>   )_guess_quote_and_delimiter_guess_delimiterr   r   r4   r1   r2   r5   )r    sample
delimitersr2   r4   r1   r5   rM   s   &&&     r!   sniffSniffer.sniff   s}     226F 	<		*.*?*?@J+L'I 788	$g 	$ *%%,,#3 r$   c                   ^ RI p. pR FJ  pVP                  WSP                  VP                  ,          4      pVP	                  V4      pV'       g   KJ   M	  V'       g   R# / p/ p^ p	XP
                  p
V F  pV
R,          ^,
          pW,          pV'       d   VP                  V^ 4      ^,           W}&    V
R,          ^,
          pW,          pT'       d&   Te   Y9   d   TP                  T^ 4      ^,           Y&    T
R,          ^,
          pY,          '       g   K  T	^,          p	K  	  \        WwP                  R7      pV'       d,   \        WP                  R7      pW,          V	8H  pVR8X  d   RpMRp^ pVP                  R	RVP                  V4      RV/,          VP                  4      pVP                  V4      '       d   R
pMRpVVVV3#   \         d     EKf  i ; i  \         d     EKy  i ; i)r   Nr   Fquotedelimspacere   rD   z]((%(delim)s)|^)\W*%(quote)s[^%(delim)s\n]*%(quote)s[^%(delim)s\n]*%(quote)s\W*((%(delim)s)|$)T)zI(?P<delim>[^\w\n"\'])(?P<space> ?)(?P<quote>["\']).*?(?P=quote)(?P=delim)zG(?:^|\n)(?P<quote>["\']).*?(?P=quote)(?P<delim>[^\w\n"\'])(?P<space> ?)zG(?P<delim>[^\w\n"\'])(?P<space> ?)(?P<quote>["\']).*?(?P=quote)(?:$|\n)z-(?:^|\n)(?P<quote>["\']).*?(?P=quote)(?:$|\n))r   FNr   )recompileDOTALL	MULTILINEfindall
groupindexr}   KeyErrormaxescapesearch)r    datar   r   matchesrestrregexpquotesdelimsspacesr   mnre   r2   r   r5   	dq_regexpr4   s   &&&                r!   r   "Sniffer._guess_quote_and_delimiter  s    	HE ZZyy2<<'?@FnnT*GwH ''&&
A7#a'A$C$jja014w'!+d 
*c.?$jja014w'!+ tt!# & JJ/	JJ/E%}6} E  JJ '		%(8')L MNPll\	 D!!KK;/?@@I    s$   4G:GGGG/.G/c                   \        \        R VP                  R4      4      4      p\        ^4       Uu. uF  p\	        V4      NK  	  pp\        ^
\        V4      4      p^ p/ p/ p/ p	^ TrV
\        V4      8  Ed`   V^,          pWV  FN  pV FE  pVP                  V/ 4      pVP                  V4      pVP                  V^ 4      ^,           W&   WV&   KG  	  KP  	  VP                  4        F  p\        W},          P                  4       4      p\        V4      ^8X  d   V^ ,          ^ ,          ^ 8X  d   KI  \        V4      ^8  da   \        VR R7      W&   VP                  W,          4       W,          ^ ,          W,          ^,          \        R V 4       4      ,
          3W&   K  V^ ,          W&   K  	  VP                  4       p\        \        WV,          \        V4      4      4      pRpRp\        V	4      ^ 8X  dh   VV8  da   V FO  w  ppV^ ,          ^ 8  g   K  V^,          ^ 8  g   K&  V^,          V,          V8  g   K=  Ve
   VV9   g   KJ  VV	V&   KQ  	  VR,          pKw  \        V	4      ^8X  d]   \        V	P                  4       4      ^ ,          pV^ ,          P                  V4      V^ ,          P                  RV,          4      8H  pVV3# Tp
W,          pEKp  V	'       g   R	# \        V	4      ^8  dg   V P                   FV  pVV	P                  4       9   g   K  V^ ,          P                  V4      V^ ,          P                  RV,          4      8H  pVV3u # 	  V	P                  4        UUu. uF
  w  ppVV3NK  	  pppVP!                  4        VR
,          ^,          pV^ ,          P                  V4      V^ ,          P                  RV,          4      8H  pVV3# u upi u uppi )NrD   c                     V ^,          # )   r@   )r   s   &r!   <lambda>*Sniffer._guess_delimiter.<locals>.<lambda>  s    1Q4r$   r   c              3   2   "   T F  q^,          x  K  	  R# 5i)r   Nr@   )r~   items   & r!   r   +Sniffer._guess_delimiter.<locals>.<genexpr>  s     (CUTaUs   g      ?g?g{Gz?z%c )r   r   )rI   filtersplitrangechrminr`   r}   countr   itemsr   removesumfloatr   sort)r    r   r   casciichunkLength	iterationcharFrequencymodesr   startendlinecharmetaFrequencyfreqr   modeListtotalconsistency	thresholdkvr   r5   rb   s   &&&                       r!   r   Sniffer._guess_delimiter]  sj   & F4D!123!&s,AQ, "c$i(	sc$iNI3!D$1$5$5dB$?M::d+D*7*;*;D!*Dq*HM'*7$' " ( &**,]06689u:?uQx{a'7u:>"%e"@EK LL-#(;q>5;q>%((CU(C%C4D #EEK #((EK -  {{}H#k5s4yABEKIf+"{i'?$DAqtaxAaD1HqT%ZK7'/1
?()F1I	 %
 t#6{aV[[]+A.$(GMM%$8$(GMM%%-$@%A /00 ECN v;?^^%(,Qa(8(,Qeai(@)A$/00	 $ %+LLN3N5Aa!AN3

b	! GMM%0 GMM%%-89'((_ -R 4s   O+Oc                6   \        \        V4      V P                  V4      4      p\        V4      p\	        V4      p/ p\        V4       F  pR WV&   K	  	  ^ pV F}  pV^8  d    MuV^,          p\	        V4      V8w  d   K'  \        VP                  4       4       F9  p	\        p
 V
! W,          4       WV	,          8w  g   K'  WY,          f   WV	&   K7  WY K;  	  K  	  ^ pVP                  4        F_  w  r\        V\        4      '       d-   \	        W9,          4      V8w  d   V^,          pK<  V^,          pKG   V! W9,          4       V^,          pKa  	  V^ 8  #   \        \        3 d    \	        Y,          4      p
 Li ; i  \        \        3 d    T^,          p K  i ; ir&   )r   r   r   rX   r`   r   rI   r   complexrs   OverflowErrorr   
isinstanceintr(   )r    r   rdrrx   columnscolumnTypesicheckedra   colthisType	hasHeadercolTypes   &&           r!   
has_headerSniffer.has_header  sx    Xf%tzz&'9:cf+wA$C|qLG3x7"K,,./"-SX&
 3//"'/+3C( (, 0 6 	'--/LC'3''v{#w.NINI#FK( NI 0 1}; #M2 -"38}H-0 #I. #NI#s$   !E2E:"E76E7:FFr   r&   )r,   r-   r.   r/   r"   r   r   r   r   r8   r9   r:   s   @r!   r   r      s(     
4
:JAZd)N= =r$   )r   r   r   r   r   r   r   r   r   r   r
   r   r   r   r   r	   r   r   r   r   r   )rk   _csvr   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r'   ior   __all____version__r   r   r   r   r   r   r@   r$   r!   <module>r      s   D . . . .
 %  * *>G  %    i (7   &38 38l 8  8FX Xr$   