ó
    Ú°›jdÁ  ã                  ól  • S SK Jr  S SKrS SKrS SKJr  S SKJr  S SKJr  \(       a  S SKJ	r	  S SK
Jr  S SKJr  S S	KJr  S S
KJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  \ " 5       r! " S S\5      r" " S S\5      r#SS jr$SS jr%g)é    )ÚannotationsN)ÚIterator)ÚTYPE_CHECKING)ÚAny)ÚSelf)Údecode)Ú_CustomDict)Úmerge_dicts)ÚKeyAlreadyPresent)ÚNonExistentKey)ÚTOMLKitError)ÚAoT)ÚComment)ÚItem)ÚKey)ÚNull)Ú	SingleKey)ÚTable)ÚTrivia)Ú
Whitespace©Úitemc                  óp  • \ rS rSrSrS1S2S jjr\S3S j5       rS4S jr\S4S j5       r	S5S jr
S6S7S	 jjrS8S
 jrS9S jrS:S jrS6S;S jjr S<       S=S jjrS>S jrS?S jrS@S jrSAS jr        SBS jrSCS jrSDS jrSES jrSFS jrS6SGS jjrS6SHS jjrS6SIS jjr S6       SJS jjrS9S jrSKS jrSLS jr SMS jr!SNS  jr"SOS! jr#S6SPS" jjr$SQS# jr%        SRS$ jr&SFS% jr'SFS& jr(SSS' jr)STS( jr*SUS) jr+SVS* jr,SWS+ jr-SXS, jr.SXS- jr/S\044     SYS. jjr1S\044     SZS/ jjr2S0r3g)[Ú	Containeré#   zw
A container for items within a TOMLDocument.

This class implements the `dict` interface with copy/deepcopy protocol.
c                óf   • 0 U l         / U l        Xl        / U l        0 U l        [        5       U l        g ©N)Ú_mapÚ_bodyÚ_parsedÚ_table_keysÚ_validation_cacheÚsetÚ_out_of_order_keys)ÚselfÚparseds     ÚN/home/mande/repo/quber/.venv/lib/python3.13/site-packages/tomlkit/container.pyÚ__init__ÚContainer.__init__*   s5   € Ø68ˆŒ	Ø46ˆŒ
ØŒØ&(ˆÔð
 DFˆÔô -0«EˆÕó    c                ó   • U R                   $ r   ©r   ©r%   s    r'   ÚbodyÚContainer.body9   s   € à�z‰zÐr*   c                ó  • 0 nU R                   R                  5        Hg  u  p#[        U[        5      (       a  [	        X5      nOU R
                  U   S   n[        US5      (       a  UR                  5       OUXR                  '   Mi     U$ )z#Returns as pure python object (ppo)é   Úunwrap)	r   ÚitemsÚ
isinstanceÚtupleÚOutOfOrderTableProxyr   Úhasattrr2   Úkey)r%   Ú	unwrappedr8   ÚidxÚvalues        r'   r2   ÚContainer.unwrap=   sr   € à$&ˆ	ð Ÿ	™	Ÿ™Ö)‰HˆCÜ˜#œu×%Ñ%Ü1°$Ó<‘àŸ
™
 3™¨Ñ*�Ü3:¸5À(×3KÑ3K §¡¤ÐQVˆI—g‘gÓñ *ð Ðr*   c                óâ   • 0 nU R                    H\  u  p#Uc  M
  UR                  nUR                  n[        U[        5      (       a  UR                  nXA;   a  [        X   U5        MX  XQU'   M^     U$ )zThe wrapped dict value)r   r8   r;   r4   r   r
   )r%   ÚdÚkÚvÚkey_strÚvals         r'   r;   ÚContainer.valueQ   sh   € ð ˆØ—J”J‰DˆAØ‰yÙà—e‘eˆGØ—w‘wˆCä˜#œy×)Ñ)Ø—i‘i�à‹|Ü˜A™J¨Ö,à �'“
ñ ð ˆr*   c                ó\  • Xl         U R                  R                  5         U R                   H|  u  p#[	        U[
        5      (       a  UR                  R                  U5        M7  [	        U[        5      (       d  MN  UR                   H  nUR                  R                  U5        M      M~     g r   )
r    r"   Úclearr   r4   r   r;   Úparsingr   r.   )r%   rF   Ú_r@   Úts        r'   rF   ÚContainer.parsingf   sq   € ØŒØ×Ñ×$Ñ$Ô&à—J”J‰DˆAÜ˜!œU×#Ñ#Ø—‘—‘ Ö(Ü˜Aœs×#Ó#ØŸœ�AØ—G‘G—O‘O GÖ,ó  ò	 r*   Nc                óÈ   • Uc8  [        U[        [        45      (       d  [        S5      eU R	                  SU5      $ [        U[
        5      (       a   eU R	                  X5      $ )zº
Adds an item to the current Container.

:Example:

>>> # add a key-value pair
>>> doc.add('key', 'value')
>>> # add a comment or whitespace or newline
>>> doc.add(comment('# comment'))
Nz8Non comment/whitespace items must have an associated key)r4   r   r   Ú
ValueErrorÚappendr   ©r%   r8   r   s      r'   ÚaddÚContainer.addq   s`   € ð ‰<Ü˜c¤G¬ZÐ#8×9Ñ9Ü ØNóð ð —;‘;˜t SÓ)Ð)ä˜c¤4×(Ñ(Ð(Ð(Ø�{‰{˜3Ó%Ð%r*   c                óŠ  • [        U[        [        45      (       a  [        S5      eUGtp4nSUl        [        [        S5      [        5       SSS9=pgU H:  nSUl        [        [        S5      [        5       SSS9n	UR                  X‰5        U	nM<     UR                  Ul        UR                  XR5        U R                  X65        g )Nz!Can't add a table to a dotted keyTF)Úis_super_table)	r4   r   r   r   Ú_dottedr   r   rL   Úsep)
r%   r8   r;   ÚnameÚmidÚlastÚtableÚcurrentÚ_nameÚ	new_tables
             r'   Ú_handle_dotted_keyÚContainer._handle_dotted_key‡   sª   € Ü�eœe¤S˜\×*Ñ*ÜÐBÓCÐCØÑˆ�DØˆŒÜ¤	¨$£´³¸5ÐQUÑVÐVˆÛˆEØ ˆEŒMÜœi¨›o¬v«x¸ÈtÑTˆIØ�N‰N˜5Ô,ØŠGñ	 ð —7‘7ˆŒØ�‰�tÔ#à�‰�DÔ Ør*   c                óà  • Sn[        U R                  5       HÏ  u  nu  p4[        U[        5      (       a  M  [        U[        5      (       a  UR                  5       (       d  MK  [        U[        [        45      (       a  Ub  UR                  5       (       d    US-   $ [        U[        5      (       a4  Ub1  UR                  5       (       a  U R                  U5      (       a    US-   $ UnMÑ     US-   $ ©Néÿÿÿÿr1   )
Ú	enumerater   r4   r   r   Úis_fixedr   r   Ú	is_dottedÚ_renders_table_header)r%   Ú
last_indexÚir?   r@   s        r'   Ú_get_last_index_before_tableÚ&Container._get_last_index_before_table™   sÊ   € Øˆ
Ü" 4§:¡:Ö.‰IˆA‰v�Ü˜!œT×"Ñ"Ùä˜!œZ×(Ñ(°·±·±Ùä˜!œe¤S˜\×*Ñ*¨q©}ÀQÇ[Á[Ç]Á]Øð ˜A‰~Ðô ˜1œe×$Ñ$Ø‘MØ—K‘K—M‘MØ×.Ñ.¨q×1Ñ1ð à˜A‰~Ðð ŠJñ+ /ð, ˜A‰~Ðr*   c                ó,  • UR                   R                   Hz  u  p#[        U[        5      (       a    g[        U[        5      (       d  M3  UbD  UR                  5       (       a/  UR                  5       (       a  U R                  U5      (       a    gMz    g   g)NTF)r;   r.   r4   r   r   rb   rQ   rc   )r%   rW   r?   r@   s       r'   rc   ÚContainer._renders_table_header³   su   € Ø—K‘K×$Ô$‰DˆAÜ˜!œS×!Ñ!ÙÜ˜!œU×#Ó#Ø‘= Q§[¡[§]¡]°q×7GÑ7G×7IÑ7IØ×1Ñ1°!×4Ñ4Ù#ñ 5ñ  ñ %ð r*   c                óH  • Uc3  [        U R                  5       H  nUc   eU R                  U5        M     g XR                  ;  a  g U R                  U   n[	        U[
        5      (       d  g U R                  (       af  U R                  R                  US5      u  pEU[        U5      :”  a  Su  pE [        R                  XUS  U5      n[        U5      U4U R                  U'   g [        R                  X5        g ! [         a    U R                  R                  US 5        e f = f)N©r   N)Úlistr$   Ú_validate_out_of_order_tabler   r4   r5   r    r"   ÚgetÚlenr6   ÚvalidateÚ	ExceptionÚpop)r%   r8   r?   Úcurrent_idxÚ	validatedÚtemps         r'   rm   Ú&Container._validate_out_of_order_table¿   s  € Ø‰;Ü˜$×1Ñ1Ö2�Ø‘}Ð$�}Ø×1Ñ1°!Ö4ñ 3ð Ø—i‘iÓØØ—i‘i ‘nˆÜ˜+¤u×-Ñ-ØØ�<�<ð #×4Ñ4×8Ñ8¸¸iÓH‰OˆIØœ3˜{Ó+Ó+Ø")‘�	ðÜ+×4Ñ4Ø i jÐ1°4ó�ô ,/¨{Ó+;¸TÐ*BˆD×"Ñ" 3Ñ'ØÜ×%Ñ% dÕ8øô ó ð ×&Ñ&×*Ñ*¨3°Ô5Øð	ús   Â/C9 Ã9(D!c                ó  • [        U[        5      (       d  Ub  [        U5      n[        U[        5      (       d  [	        U5      nUb(  UR                  5       (       a  U R                  X5        U $ [        U[        [        45      (       a5  UR                  c(  [        U[        5      (       d   eUR                  Ul	        U R                  5       n[        U[        5      =(       d    [        U5      n[        U[        5      (       aŽ  U R                  (       d  UR                  5         U R                   (       a\  U R                  (       dK  UR"                  R$                  (       d0  U(       d)  Ub&  UR'                  5       (       d  SUR"                  l        [        U[        5      (       a‹  U R                   (       az  U R                  (       di  UR                  5         U(       aR  SUS   R"                  R$                  ;   d5  U(       d.  SUS   R"                  R$                  -   US   R"                  l        UGbö  X;   Gað  U R(                  U   n[        U[*        5      (       a  U R                   US      nOU R                   U   nUS   n[        U[        5      (       Ga)  [        U[        [        45      (       d  [-        U5      eUR/                  5       (       aQ  [        U[        5      (       d)  [        X‚/U R                  S9nU R1                  XU5        U $ UR3                  U5        U $ [        U[        5      (       a£  UR/                  5       (       d{  UR5                  5       (       a[  [7        UR8                  5      (       aA  US   n	UR:                  R8                   H   u  p«U	R:                  R3                  X«5        M"     U $ [-        U5      eUR3                  U5        U $ UR5                  5       (       Ga†  UR5                  5       (       Ga  UR'                  5       (       d4  US   b  US   R'                  5       (       d  U R<                  S   US   :w  a£  UR'                  5       (       a"  U R                  (       d  U R?                  5       nO[7        U R                   5      nU[7        U R                   5      :  a  U RA                  XÁU5        OU RC                  X5        U(       a  U RE                  U5        U $ UR:                  R8                   H  u  p«UR3                  X«5        M     U $ US   b#  US   R'                  5       (       a  [G        S5      e[        U[        5      (       d   eU RI                  X‚5        O¯UR5                  5       (       d  [-        U5      e[        U[        5      (       d   eU RI                  X‚5        Of[        U[        5      (       aF  [        U[        5      (       d  [-        U5      eUR8                   H  nUR3                  U5        M     U $ [-        U5      e[        U[        [        45      nUGb  U R                   (       Ga  U R                  (       Gdô  U(       a  UR'                  5       (       Ga×  U R?                  5       nU[7        U R                   5      :  a{  U R                   U   S   n[        U[        5      (       dB  SUR"                  R$                  ;   d(  SUR"                  R$                  -   UR"                  l        U RA                  XñU5      $ U R                   S   S   n[        U[        5      (       a®  UR5                  5       (       a™  UR:                  R                  5       nUb|  [        U[        5      (       dg  SUR"                  RJ                  ;   aM  SUR"                  RJ                  ;  a3  UR"                  =RJ                  UR"                  RJ                  -  sl%        [        U[        5      (       dI  [        U5      (       d9  SUR"                  RJ                  ;   d  UR"                  =RJ                  S-  sl%        U RC                  X5        U(       a  Ub  U RE                  U5        U $ )z<Similar to :meth:`add` but both key and value must be given.Ú
r   r_   r1   ©r&   ú!Redefinition of an existing table)&r4   r   r   r   Ú_itemÚis_multir[   r   r   rT   r8   Ú_previous_itemr   Úends_with_whitespacer    Úinvalidate_display_namer   ÚtriviaÚindentrb   r   r5   r   Úis_aot_elementÚ_replacerL   rQ   ro   r.   r;   r!   rf   Ú
_insert_atÚ_raw_appendrm   r   Ú_validate_table_candidateÚtrail)r%   r8   r   rp   ÚprevÚprev_wsrs   Úcurrent_body_elementrX   rV   r?   r@   r:   rW   Úis_tablerd   Ú
after_itemÚprevious_itemÚprevious_childs                      r'   rL   ÚContainer.appendá   sb  € ô ˜#œs×#Ñ#¨©Ü˜C“.ˆCä˜$¤×%Ñ%Ü˜“;ˆDà‰?˜sŸ|™|Ÿ~™~Ø×#Ñ# CÔ.ØˆKä�dœS¤%˜L×)Ñ)¨d¯i©iÑ.?Ü˜c¤3×'Ñ'Ð'Ð'ØŸ™ˆDŒIà×"Ñ"Ó$ˆÜ˜T¤:Ó.×LÔ2FÀtÓ2LˆÜ�dœE×"Ñ"Ø—<—<Ø×,Ñ,Ô.à—
—
ØŸŸ¨¯©×);×);¾wØ‘OØŸ™Ÿ™à%)�—‘Ô"ä�dœC× Ñ  T§Z§Z¸¿¿Ø×(Ñ(Ô*Þ˜T T¨!¡W§^¡^×%:Ñ%:Ó:¾gØ(,¨t°A©w¯~©~×/DÑ/DÑ(D��Q‘—‘Ô%àŠ?˜sœ{ØŸ)™) C™.ˆKÜ˜+¤u×-Ñ-Ø'+§z¡z°+¸b±/Ñ'BÑ$à'+§z¡z°+Ñ'>Ð$à*¨1Ñ-ˆGä˜$¤×&Ò&Ü! '¬E´3¨<×8Ñ8Ü+¨CÓ0Ð0à×&Ñ&×(Ñ(ô & g¬s×3Ñ3Ü"% w o¸d¿l¹lÑ"K˜àŸ™ c°Ô8ð  �Kð  Ÿ™ tÔ,à�KÜ ¬×-Ñ-Ø×.Ñ.×0Ñ0Ø×.Ñ.×0Ñ0´S¸¿¹×5FÑ5Fð
 $+¨2¡;˜DØ(,¯
©
¯¬¡ Ø $§
¡
× 1Ñ 1°!Ö 7ñ )8ð $(˜Kä/°Ó4Ð4à—N‘N 4Ô(à�KØ×+Ñ+×-Ò-Ø×*Ñ*×,Ò,ð  ŸM™MŸO™Oà 4°QÑ 7Ñ CØ$8¸Ñ$;×$EÑ$E×$GÑ$Gà#×/Ñ/°Ñ3Ð7KÈAÑ7NÓNà"Ÿ}™}Ÿ™°t·|·|Ø&*×&GÑ&GÓ&I¡ä&)¨$¯*©*£o à"¤S¨¯©£_Ó4Ø $§¡°¸$Õ ?à $× 0Ñ 0°Ô ;æ'Ø $× AÑ AÀ#Ô Fà#'˜Kð %)§J¡J§O¤O™D˜AØ#ŸN™N¨1Ö0ñ %4ð  $˜à,¨QÑ/Ñ;Ø0°Ñ3×=Ñ=×?Ñ?ä*Ð+NÓOÐOô
  *¨'´5×9Ñ9Ð9Ð9Ø×6Ñ6°wÕEØ×,Ñ,×.Ñ.Ü+¨CÓ0Ð0ô & g¬u×5Ñ5Ð5Ð5Ø×2Ñ2°7ÕAÜ˜D¤#×&Ñ&Ü! '¬3×/Ñ/ä+¨CÓ0Ð0à!ŸYœY�EØ—N‘N 5Ö)ñ 'ð �ä'¨Ó,Ð,ä˜d¤U¬C LÓ1ˆàŠOØ—
—
�
Ø—L—L�LÞ §¡§¢ð ×:Ñ:Ó<ˆJàœC §
¡
›OÓ+Ø!ŸZ™Z¨
Ñ3°AÑ6�
ä˜z¬:×6Ñ6Ø˜z×0Ñ0×7Ñ7Ó7à/3°j×6GÑ6G×6NÑ6NÑ/N�J×%Ñ%Ô,Ø—‘ z¸Ó=Ð=à $§
¡
¨2¡¨qÑ 1�Ü˜m¬U×3Ñ3¸×8TÑ8T×8VÑ8VØ%2×%8Ñ%8×%GÑ%GÓ%I�Nà&Ñ2Ü *¨>¼:× FÑ FØ  M×$8Ñ$8×$>Ñ$>Ó>Ø ¨×(=Ñ(=×(CÑ(CÓCà&×-Ñ-×3Ò3°}×7KÑ7K×7QÑ7QÑQÕ3ä˜}¬j×9Ñ9Ü+¨M×:Ñ:Ø˜}×3Ñ3×9Ñ9Ó9à!×(Ñ(×.Ò.°$Ñ6Õ.à×Ñ˜Ô#Þ˜™Ø×-Ñ-¨cÔ2Øˆr*   c                óž  • UR                   R                   GH²  u  p4Uc  M  X1R                   R                  ;   aç  UR                   R                  U5      n[	        U[
        [        45      [	        U[
        [        45      :w  a  [        U5      eUR                  5       (       a  [        S5      e[	        U[
        5      (       a[  [	        U[
        5      (       aF  UR                  5       (       d   UR                  5       (       d  [        U5      eU R                  XT5        GM  UR                  5       (       dZ  UR                   R                   H=  nUR                  5       (       d  M  [        [        U5      5      U:X  d  M4  [        S5      e   GMz  [        [        U5      5      nXqR                   R                  ;   d  GMª  [        S5      e   g )Nrz   )r;   r.   r   r   r4   r   r   r   rb   r   rQ   r†   ÚnextÚiter)r%   rX   Ú	candidater?   r@   ÚexistingÚexisting_keyÚheads           r'   r†   Ú#Container._validate_table_candidate¤  sV  € Ø—O‘O×(Õ(‰DˆAØ‰yÙà—M‘M×&Ñ&Ó&Ø"Ÿ=™=×-Ñ-¨aÓ0�Ü˜h¬´¨Ó5¼ÀAÌÌsÀ|Ó9TÓTÜ+¨AÓ.Ð.Ø—;‘;—=‘=Ü&Ð'JÓKÐKÜ˜h¬×.Ñ.´:¸aÄ×3GÑ3GØ#×2Ñ2×4Ñ4¸Q×=MÑ=M×=OÑ=Oô 0°Ó2Ð2ð ×2Ñ2°8Ô?Úà—;‘;—=‘=ð %,§M¡M×$6Ô$6�LØ#×-Ñ-×/Ó/´D¼¸lÓ9KÓ4LÐPQÕ4QÜ*Ð+NÓOÐOñ %7ò äœ˜Q›“=ˆDØ—}‘}×)Ñ)Ö)Ü"Ð#FÓGÐGò? )r*   c                óª  • Ub®  XR                   ;   aŸ  U R                   U   n[        U[        5      (       d  U4nU R                  US      S   n[        U[        5      (       d  [        U5      e/ UQ[        U R                  5      P7U R                   U'   U R                  R                  U5        O%Ub"  [        U R                  5      U R                   U'   U R                  R                  X45        UR                  5       (       a  Ub  U R                  R                  U5        Ub+  [        R                  XR                  UR                  5        g g r^   )r   r4   r5   r   r   r   ro   r$   rN   rL   r‹   r!   ÚdictÚ__setitem__r8   r;   )r%   r8   r   rs   rX   s        r'   r…   ÚContainer._raw_appendÆ  s  € Ø‰?˜s§i¡iÓ/ØŸ)™) C™.ˆKÜ˜k¬5×1Ñ1Ø*˜n�à—j‘j ¨R¡Ñ1°!Ñ4ˆGÜ˜g¤u×-Ñ-Ü'¨Ó,Ð,à<˜{Ð<¬C°·
±
«OÑ<ˆD�I‰I�c‰NØ×#Ñ#×'Ñ'¨Õ,Ø‰_Ü  §¡›_ˆD�I‰I�c‰Nà�
‰
×Ñ˜3˜+Ô&Ø�=‰=�?‰?˜s™Ø×Ñ×#Ñ# CÔ(à‰?Ü×Ñ˜T§7¡7¨D¯J©JÕ7ð r*   c                óL  • U R                   U   S   nUc   eU R                  R                  U5      nUc  [        U5      eU R                  R                  5         S [        5       4U R                   U'   [        U[        5      (       ab  [        U5      nUR                  U5        [        U5      S:X  a  UR                  5       U R                  U'   g [        U5      U R                  U'   g [        R                  XR                  5        U R                  R                  U5        g )Nr   r1   )r   r   rn   r   r"   rE   r   r4   r5   rl   Úremovero   rr   r™   Ú__delitem__r8   )r%   r:   r8   ÚindexÚ
index_lists        r'   Ú
_remove_atÚContainer._remove_atÜ  sÝ   € Ø�j‰j˜‰o˜aÑ ˆØ‰ÐˆØ—	‘	—‘˜cÓ"ˆØ‰=Ü  Ó%Ð%Ø×Ñ×$Ñ$Ô&Ø¤£˜.ˆ�
‰
�3‰ä�eœU×#Ñ#Ü˜e›ˆJØ×Ñ˜cÔ"Ü�:‹ !Ó#Ø!+§¡Ó!1�—	‘	˜#’ä!& zÓ!2�—	‘	˜#’ä×Ñ˜T§7¡7Ô+Ø�I‰I�M‰M˜#Õr*   c                ó®  • [        U[        5      (       d  [        U5      nU R                  R	                  US5      nUc  [        U5      eU R                  R                  5         [        U[        5      (       a#  U H  nS[        5       4U R                  U'   M     OS[        5       4U R                  U'   [        R                  XR                  5        U $ )z Remove a key from the container.N)r4   r   r   r   rr   r   r"   rE   r5   r   r   r™   rž   r8   )r%   r8   r:   re   s       r'   r�   ÚContainer.removeð  s¤   € ä˜#œs×#Ñ#Ü˜C“.ˆCà�i‰i�m‰m˜C Ó&ˆØ‰;Ü  Ó%Ð%à×Ñ×$Ñ$Ô&Ü�cœ5×!Ñ!Û�Ø!%¤t£v �—
‘
˜1“ò ð  $¤T£V˜nˆD�J‰J�s‰Oä×Ñ˜Ÿw™wÔ'àˆr*   c                ó¬  • Uc  [        S5      eX;  a  [        U5      e[        U[        5      (       d  [	        U5      n[        U[        5      (       d  [	        U5      n[        U5      nU R                  U   n[        U[        5      (       a  [        U5      nU R                  U   S   nSUR                  R                  ;  a  UR                  =R                  S-  sl        U R                  R                  5        Hs  u  pg[        U[        5      (       a@  / nU H  n	X”:”  a  U	S-   n	UR                  U	5        M      [        U5      U R                  U'   MZ  Xt:”  d  Ma  US-   U R                  U'   Mu     US-   U R                  U'   U R                  R                  US-   X#45        Ub*  [        R!                  XR"                  UR$                  5        U $ )Nz$Key cannot be null in insert_after()r1   rx   )rK   r   r4   r   r   r{   r   r5   Úmaxr   r€   r‡   r3   rL   Úinsertr™   rš   r8   r;   )
r%   r8   Ú	other_keyr   r:   Úcurrent_itemr?   r@   Únew_indicesÚv_s
             r'   Ú_insert_afterÚContainer._insert_after  s‡  € ð ‰;ÜÐCÓDÐDà‹?Ü  Ó%Ð%ä˜#œs×#Ñ#Ü˜C“.ˆCä˜)¤S×)Ñ)Ü! )Ó,ˆIä�T‹{ˆà�i‰i˜‰nˆä�cœ5×!Ñ!Ü�c“(ˆCØ—z‘z #‘ qÑ)ˆØ�|×*Ñ*×0Ñ0Ó0Ø×Ñ×%Ò%¨Ñ-Õ%ð —I‘I—O‘OÖ%‰DˆAÜ˜!œU×#Ñ#Ø �Û�BØ“xØ !™V˜à×&Ñ& rÖ*ñ	 ô  % [Ó1�—	‘	˜!“Ø•Ø  1™u�—	‘	˜!“ñ &ð  # Q™wˆ�	‰	�)ÑØ�
‰
×Ñ˜# ™' IÐ#4Ô5à‰?Ü×Ñ˜T§=¡=°$·*±*Ô=àˆr*   c                óp  • U[        U R                  5      S-
  :”  a  [        SU 35      e[        U[        5      (       d  [        U5      n[        U5      nUS:”  aŽ  U R                  US-
     S   n[        U[        5      (       dd  [        U5      (       dT  [        U[        [        45      (       d9  SUR                  R                  ;   d  UR                  =R                  S-  sl        U R                  R                  5        Hs  u  pV[        U[        5      (       a@  / nU H  nX�:¼  a  US-   nUR!                  U5        M      [        U5      U R                  U'   MZ  Xa:¼  d  Ma  US-   U R                  U'   Mu     X R                  ;   aW  U R                  U   n	[        U	[        5      (       d  U	4n	/ U	QUP7U R                  U'   U R"                  R%                  U5        OXR                  U'   U R                  R'                  XU45        [(        R+                  XR,                  UR.                  5        U $ )Nr1   zUnable to insert at position r   rx   )ro   r   rK   r4   r   r   r{   r   r~   r   r   r€   r‡   r   r3   r5   rL   r$   rN   r§   r™   rš   r8   r;   )
r%   r:   r8   r   r�   r?   r@   rª   r«   rs   s
             r'   r„   ÚContainer._insert_at3  sÌ  € Ø”�T—Z‘Z“ 1Ñ$Ó$ÜÐ<¸S¸EÐBÓCÐCä˜#œs×#Ñ#Ü˜C“.ˆCä�T‹{ˆà�‹7Ø ŸJ™J s¨Q¡wÑ/°Ñ2ˆMä˜=¬*×5Ñ5Ü'¨×6Ñ6Ü˜d¤S¬% L×1Ñ1Ø˜=×/Ñ/×5Ñ5Ó5à×$Ñ$×*Ò*¨dÑ2Õ*ð —I‘I—O‘OÖ%‰DˆAÜ˜!œU×#Ñ#Ø �Û�BØ“yØ !™V˜à×&Ñ& rÖ*ñ	 ô  % [Ó1�—	‘	˜!“Ø•Ø  1™u�—	‘	˜!“ñ &ð —)‘)ÓØŸ)™) C™.ˆKÜ˜k¬5×1Ñ1Ø*˜n�Ø0˜{Ð0¨CÑ0ˆD�I‰I�c‰NØ×#Ñ#×'Ñ'¨Õ,à �I‰I�c‰NØ�
‰
×Ñ˜# T˜{Ô+ä×Ñ˜Ÿw™w¨¯
©
Ô3àˆr*   c                óø   • [        U[        5      (       d  [        U5      nU R                  R	                  U5      nUc  [        U5      e[        U[        5      (       a  [        X5      $ U R                  U   S   $ )zGet an item for the given key.r1   )	r4   r   r   r   rn   r   r5   r6   r   )r%   r8   r:   s      r'   r   ÚContainer.itemb  sg   € ä˜#œs×#Ñ#Ü˜C“.ˆCà�i‰i�m‰m˜CÓ ˆØ‰;Ü  Ó%Ð%ä�cœ5×!Ñ!ô (¨Ó2Ð2à�z‰z˜#‰˜qÑ!Ð!r*   c                óJ   • U R                   (       a  U R                   S   S   $ g)zGet the last item.r_   r1   Nr,   r-   s    r'   Ú	last_itemÚContainer.last_items  s   € à�:�:Ø—:‘:˜b‘> !Ñ$Ð$Ør*   c                ó¤  • SnU R                    GH<  u  p#UGb  [        U[        5      (       ao  UR                  S5      (       aD  UR                  S5      R	                  S5      (       d  SUR
                  R                  ;  a  US-  nXR                  X#5      -  nMŽ  [        U[        5      (       ap  UR                  S5      (       aD  UR                  S5      R	                  S5      (       d  SUR
                  R                  ;  a  US-  nXR                  X#5      -  nGM  XR                  X#5      -  nGM)  XR                  X#5      -  nGM?     U$ )zRender as TOML string.Ú Ú rx   )r   r4   r   ÚstripÚendswithr€   r�   Ú_render_tabler   Ú_render_aotÚ_render_simple_item)r%   Úsr?   r@   s       r'   Ú	as_stringÚContainer.as_stringy  s  € àˆØ—J•J‰DˆAØŠ}Ü˜a¤×'Ñ'àŸ™ Ÿ™Ø !§¡¨£× 5Ñ 5°d× ;Ñ ;Ø ¨¯©¯©Ó7à˜T™	˜Ø×+Ñ+¨AÓ1Ñ1’AÜ ¤3×'Ñ'àŸ™ Ÿ™Ø !§¡¨£× 5Ñ 5°d× ;Ñ ;Ø ¨¯©¯©Ó7à˜T™	˜Ø×)Ñ)¨!Ó/Ñ/“Aà×1Ñ1°!Ó7Ñ7“Aà×-Ñ-¨aÓ3Ñ3“ñ+ ð. ˆr*   c           	     ó   • SnUR                   b  UR                   nOUR                  5       nUb  US-   U-   nUR                  5       (       a€  [        S UR                  R
                   5       5      (       a  UR                  5       (       a@  [        S UR                  R
                   5       5      (       aá  UR                  5       (       dÌ  Su  pgUR                  5       (       a  Su  pgSUR                  R                  ;  a  [        UR                  5      S:”  a  SOSnUUR                  R                   U [        U5       U UR                  R                   [        UR                  R                  5       UR                  R                   U 3-  nO2UR                  R                  S:X  a  XBR                  R                  -  nUR                  R
                   GH¨  u  pš[        U
[         5      (       aÛ  UR#                  S	5      (       aD  UR#                  S	5      R%                  S5      (       d  SU
R                  R                  ;  a  US-  nU	c   eU
R                  5       (       aS  U	R                  5       (       a*  UR                  5       (       d  X@R'                  Xš5      -  nMÎ  X@R'                  XšUS
9-  nMâ  X@R'                  XšUS
9-  nMö  [        U
[(        5      (       at  UR#                  S	5      (       aD  UR#                  S	5      R%                  S5      (       d  SU
R                  R                  ;  a  US-  nU	c   eX@R+                  XšUS
9-  nGM  X@R-                  XšUR                  5       (       a  UOS S
9-  nGM«     U$ )Nr¶   Ú.c              3  óp   #   • U  H,  u  p[        U[        [        [        [        45      (       + v •  M.     g 7fr   )r4   r   r   r   r   )Ú.0rG   r@   s      r'   Ú	<genexpr>Ú*Container._render_table.<locals>.<genexpr>£  s/   é € ð â 0™˜ô # 1¤u¬c´:¼tÐ&DÓE×EÑEÚ 0ùs   ‚46c              3  óŠ   #   • U  H9  u  p[        U[        5      (       d  M  US L=(       a    UR                  5       v •  M;     g 7fr   )r4   r   rb   )rÃ   r?   r@   s      r'   rÄ   rÅ   ª  s7   é € ð â 0™˜Ü! !¤U×+ó 4�A˜T�M×3 a§k¡k£mÔ3Ú 0ùs
   ‚A¡"A)Ú[Ú]©z[[z]]rx   r   r·   ©Úprefix)Údisplay_namer¾   rQ   Úanyr;   r.   rb   r‚   r€   r‡   ro   r�   r   Ú
comment_wsÚcommentr4   r   r¸   r¹   rº   r   r»   r¼   )r%   r8   rW   rË   ÚcurÚ_keyÚopen_ÚcloseÚnewline_in_table_triviar?   r@   s              r'   rº   ÚContainer._render_table•  s  € Øˆà×ÑÑ)Ø×%Ñ%‰Dà—=‘=“?ˆDàÑ!Ø ‘| dÑ*�ð ×$Ñ$×&Ñ&äñ à %§¡× 0Ò 0ó÷ ñ ð Ÿ™Ÿ™ô ñ à %§¡× 0Ò 0ó÷ ñ ð
 Ÿ™Ÿ™ð $‰LˆEØ×#Ñ#×%Ñ%Ø)‘�ð  E§L¡L×$6Ñ$6Ó6¼3¸u¿{¹{Ó;KÈaÓ;O‘ÐUWð $ð Ø—<‘<×&Ñ&Ð'Ø�'Ü˜$“<�.Ø�'Ø—<‘<×*Ñ*Ð+Ü˜%Ÿ,™,×.Ñ.Ó/Ð0Ø—<‘<×%Ñ%Ð&Ø*Ð+ð-ñ	‰Cð �\‰\× Ñ  DÓ(Ø—<‘<×&Ñ&Ñ&ˆCà—K‘K×$Õ$‰DˆAÜ˜!œU×#Ñ#à—I‘I˜c—N‘NØŸI™I c›N×3Ñ3°D×9Ñ9Ø A§H¡H§O¡OÓ3à˜4‘K�CØ‘}Ð$�}Ø×#Ñ#×%Ñ%Ø—{‘{—}‘}¨S¯]©]¯_©_à×1Ñ1°!Ó7Ñ7šà×1Ñ1°!¸tÐ1ÐDÑDšà×-Ñ-¨a¸4Ð-Ð@Ñ@’CÜ˜Aœs×#Ñ#à—I‘I˜c—N‘NØŸI™I c›N×3Ñ3°D×9Ñ9Ø A§H¡H§O¡OÓ3à˜4‘K�CØ‘}Ð$�}Ø×'Ñ'¨°TÐ'Ð:Ñ:“à×/Ñ/Ø¨¯©¯©¡¸dð 0ð ñ “ñ7 %ð> ˆ
r*   c                óž   • UR                  5       nUb  US-   U-   nSn[        U5      nUR                   H  nXPR                  XdS9-  nM     U$ )NrÁ   r¶   rÊ   )r¾   r   r.   Ú_render_aot_table)r%   r8   ÚaotrË   rÑ   rÐ   rW   s          r'   r»   ÚContainer._render_aotç  sZ   € Ø�}‰}‹ˆØÑØ˜C‘< $Ñ&ˆDàˆÜ�d‹|ˆØ—X”XˆEØ×)Ñ)¨%Ð)Ð=Ñ=ŠCñ ð ˆ
r*   c           	     óÔ  • SnU=(       d    SnSu  pVUUR                   R                   U [        U5       U UR                   R                   [        UR                   R                  5       UR                   R
                   3-  nUR                  R                   HÇ  u  px[        U[        5      (       al  Uc   eUR                  5       (       a>  UR                  5       (       a  X0R                  Xx5      -  nM^  X0R                  XxUS9-  nMr  X0R                  XxUS9-  nM†  [        U[        5      (       a  Uc   eX0R                  XxUS9-  nM´  X0R                  Xx5      -  nMÉ     U$ )Nr¶   rÉ   rÊ   )r€   r�   r   rÎ   rÏ   r‡   r;   r.   r4   r   rQ   rb   rº   r   r»   r¼   )	r%   rW   rË   rÐ   rÑ   rÒ   rÓ   r?   r@   s	            r'   r×   ÚContainer._render_aot_tableó  sS  € ØˆØ�|˜ˆØ!‰ˆàØ�|‰|×"Ñ"Ð#ØˆgÜ�d‹|ˆnØˆgØ�|‰|×&Ñ&Ð'Ü�e—l‘l×*Ñ*Ó+Ð,Ø�|‰|×!Ñ!Ð"ð$ñ	
ˆð —K‘K×$Ô$‰DˆAÜ˜!œU×#Ñ#Ø‘}Ð$�}Ø×#Ñ#×%Ñ%Ø—{‘{—}‘}à×1Ñ1°!Ó7Ñ7šà×1Ñ1°!¸tÐ1ÐDÑDšà×-Ñ-¨a¸4Ð-Ð@Ñ@’CÜ˜Aœs×#Ñ#Ø‘}Ð$�}Ø×'Ñ'¨°TÐ'Ð:Ñ:’à×/Ñ/°Ó5Ñ5’ñ %ð" ˆ
r*   c                ó„  • Uc  UR                  5       $ UR                  5       nUb  US-   U-   nUR                  R                   [        U5       UR                   [        UR                  5       5       UR                  R
                   [        UR                  R                  5       UR                  R                   3$ )NrÁ   )r¾   r€   r�   r   rS   rÎ   rÏ   r‡   )r%   r8   r   rË   rÑ   s        r'   r¼   ÚContainer._render_simple_item  sª   € ð ‰;Ø—>‘>Ó#Ð#à�}‰}‹ˆØÑØ˜C‘< $Ñ&ˆDð �{‰{×!Ñ!Ð"Ü�d‹|ˆnØ�w‰wˆiÜ�d—n‘nÓ&Ó'Ð(Ø�{‰{×%Ñ%Ð&Ü�d—k‘k×)Ñ)Ó*Ð+Ø�{‰{× Ñ Ð!ð#ð	
r*   c                ó,   • [         R                  U 5      $ r   ©r™   Ú__len__r-   s    r'   rà   ÚContainer.__len__)  ó   € Ü�|‰|˜DÓ!Ð!r*   c                ó>   • [        [        R                  U 5      5      $ r   ©r’   r™   Úkeysr-   s    r'   Ú__iter__ÚContainer.__iter__,  ó   € Ü”D—I‘I˜d“OÓ$Ð$r*   c                ó”   • U R                  U5      n[        U[        5      (       a!  UR                  5       (       a  UR                  $ U$ r   )r   r4   r   Ú
is_booleanr;   rM   s      r'   Ú__getitem__ÚContainer.__getitem__0  s7   € Ø�y‰y˜‹~ˆÜ�dœD×!Ñ! d§o¡o×&7Ñ&7Ø—:‘:Ðàˆr*   c                ó>  • [        U[        5      (       d  [        U5      nU R                  R	                  U5      nUc  g[        U[
        5      (       aI  U R                  R	                  US5      u  p4U R                  (       a  U[        U5      :X  d  [        X5        g)NFrk   T)
r4   r   r   r   rn   r5   r"   r    ro   r6   )r%   r8   r:   rt   rG   s        r'   Ú__contains__ÚContainer.__contains__7  sz   € ô ˜#œs×#Ñ#Ü˜C“.ˆCØ�i‰i�m‰m˜CÓ ˆØ‰;ØÜ�cœ5×!Ñ!ð
  ×1Ñ1×5Ñ5°c¸9ÓE‰LˆIØ—L—L Y´#°c³(Ó%:Ü$ TÔ/Ør*   c                ó¤   ^• TU ;   a7  [        [        U4S jU R                  5      5      nU R                  UTU5        g U R	                  TU5        g )Nc                ó   >• U T:H  $ r   © )r?   r8   s    €r'   Ú<lambda>Ú'Container.__setitem__.<locals>.<lambda>P  s	   ø€ ¨A°ªHr*   )r‘   Úfilterr   rƒ   rL   )r%   r8   r;   Úold_keys    `  r'   rš   ÚContainer.__setitem__N  s>   ø€ Ø�$‹;Üœ6Ô"4°d·i±iÓ@ÓAˆGØ�M‰M˜' 3¨Õ.à�K‰K˜˜UÕ#r*   c                ó&   • U R                  U5        g r   )r�   ©r%   r8   s     r'   rž   ÚContainer.__delitem__U  s   € Ø�‰�CÕr*   c                ó   • X;  a  X U'   X   $ r   rò   ©r%   r8   Údefaults      r'   Ú
setdefaultÚContainer.setdefaultX  ó   € Ø‹?Ø�‰IØ‰yÐr*   c                óº   • [        U[        5      (       d  [        U5      nU R                  R	                  U5      nUc  [        U5      eU R                  XBU5        g r   )r4   r   r   r   rn   r   Ú_replace_at)r%   r8   Únew_keyr;   r:   s        r'   rƒ   ÚContainer._replace]  sJ   € Ü˜#œs×#Ñ#Ü˜C“.ˆCà�i‰i�m‰m˜CÓ ˆØ‰;Ü  Ó%Ð%à×Ñ˜ uÕ-r*   c                ó2
  • [        U5      nU R                  R                  5         [        U[        5      (       a*  USS   H  nS [        5       4U R                  U'   M     US   nU R                  U   u  pVUc   eUR                  5       =(       aC    [        U[        5      =(       d,    [        U[        5      =(       a    UR                  5       (       + nU=(       a"    [        S U R                  US-   S   5       5      n[        U[        5      (       dR  [        U[        [        45      [        U[        [        45      :w  d  X%R                  :w  d  U(       a  [        U5      nOUnU R                  U	 XR                  U'   X%:w  a  [         R#                  XR                  5        [        U[        [        45      [        U[        [        45      :w  d  U(       aØ  U R%                  U5        [        U[        [        45      (       a˜  ['        U[)        U R                  5      5       H`  nU R                  U   u  pš[        U
[        [        45      (       d  M1  U	b  U	R                  5       (       a  MK  U R+                  XBU5        Un  GO$   SnU R-                  X#5        GOSnU R-                  X#5        Où[        U[.        [        45      (       dÎ  UR0                  R2                  UR0                  l        UR0                  R4                  =(       d    UR0                  R4                  UR0                  l        UR0                  R6                  =(       d    UR0                  R6                  UR0                  l        UR0                  R8                  UR0                  l        X#4U R                  U'   X6La!  [;        US5      (       a  UR=                  5         [        U[        5      (       Ga1  U R?                  5       nUc   eUu  pÍUS:  a  UOUn[A        U5      n[        U[        5      =(       aG    URB                  RD                  =(       a*    [        URB                  RD                  S   S   [.        5      nX:  =(       a#    [        U R                  US-      S   [.        5      nX:  d  U(       a)  U(       d"  U(       d  UR-                  S [/        S5      5        [        U[        5      (       d   e[         RG                  XR                  URB                  5        g g )Nr1   r   c              3  óî   #   • U  Hk  u  p[        U[        [        45      (       + =(       aB    [        U[        [        45      =(       a     US L =(       d    UR                  5       (       + (       + v •  Mm     g 7fr   )r4   r   r   r   r   rb   )rÃ   Úcur_keyÚcur_vals      r'   rÄ   Ú(Container._replace_at.<locals>.<genexpr>‚  sh   é € ð 5
ò %:Ñ �ô ˜7¤T¬:Ð$6Ó7Ô7÷ ä˜7¤U¬C LÓ1÷ AØ �_×?¨G×,=Ñ,=Ó,?Ô(?ôôò
 %:ùs   ‚A3A5r_   r   rx   )$r{   r"   rE   r4   r5   r   r   rb   r   r   rQ   rÍ   r   r8   r   r   r™   rž   r�   Úrangero   r„   rL   r   r€   r�   rÎ   rÏ   r‡   r7   r   Ú_previous_item_with_indexr~   r;   r.   rš   )r%   r:   r  r;   re   r?   r@   Údotted_to_headerÚreposition_dottedr  r  ÚresultrV   rG   Úhas_wsÚreplace_has_wsÚnext_wss                    r'   r  ÚContainer._replace_atg  sÙ  € ô �e“ˆØ×Ñ×$Ñ$Ô&ä�cœ5×!Ñ!Ø˜˜“W�Ø!%¤t£v �—
‘
˜1“ñ ð �a‘&ˆCà�z‰z˜#‰‰ˆØ‰}Ðˆ}ð Ÿ;™;›=÷ 
Ü�uœcÓ"÷ IÜ˜5¤%Ó(×G°×1EÑ1EÓ1GÔ-Gð 	ð -÷ 
´ñ 5
ð %)§J¡J¨s°Q©w¨yÑ$9ó5
ó 2
Ðô ˜'¤3×'Ñ'ä˜5¤3¬ ,Ó/´:¸aÄ#ÄuÀÓ3NÓNØŸe™eÓ#Þ#ä# GÓ,‘à�à�I‰I�aˆLØ �	‰	�'ÑØ‹<Ü×Ñ˜T§5¡5Ô)ô �uœs¤E˜lÓ+¬z¸!¼cÄ5¸\Ó/JÓJÞ à�K‰K˜ŒNÜ˜%¤#¤u ×.Ñ.ô
 ˜s¤C¨¯
©
£OÖ4�AØ'+§z¡z°!¡}Ñ$�GÜ! '¬C´¨<×8Ó8ØÑ+°×0AÑ0A×0CÓ0CàŸ™¨°EÔ:Ø˜Úñ 5ð �CØ—K‘K Ö/ð
 �Ø—‘˜GÕ+ô ˜e¤j´#Ð%6×7Ñ7Ø&'§h¡h§o¡o�—‘Ô#Ø*/¯,©,×*AÑ*A×*XÀQÇXÁX×EXÑEX�—‘Ô'Ø',§|¡|×';Ñ';×'O¸q¿x¹x×?OÑ?O�—‘Ô$Ø%&§X¡X§^¡^�—‘Ô"Ø&Ð.ˆD�J‰J�s‰OàŠ>œg eÐ-F×GÑGØ×)Ñ)Ô+ä�eœU×#Ò#ð
 ×3Ñ3Ó5ˆFØÑ%Ð%Ð%Ø‰GˆDØ ›'‘$ sˆCÜ)¨%Ó0ˆFä˜1œeÓ$÷ @Ø—G‘G—L‘L÷@ä˜qŸw™wŸ|™|¨BÑ/°Ñ2´JÓ?ð ð
 ‘j×S¤Z°·
±
¸3À¹7Ñ0CÀAÑ0FÌ
Ó%SˆGØ“
žn¶wÆ&Ø—‘˜T¤:¨dÓ#3Ô4ä˜g¤s×+Ñ+Ð+Ð+Ü×Ñ˜T§;¡;°·±Õ<ð) $r*   c                ó,   • [        U R                  5      $ r   ©Ústrr;   r-   s    r'   Ú__str__ÚContainer.__str__Ö  ó   € Ü�4—:‘:‹Ðr*   c                ó,   • [        U R                  5      $ r   ©Úreprr;   r-   s    r'   Ú__repr__ÚContainer.__repr__Ù  ó   € Ü�D—J‘JÓÐr*   c                óv   • [        U[        5      (       d  [        $ [        [	        U R
                  U5      5      $ r   )r4   r™   ÚNotImplementedÚboolÚ_equal_with_nanr;   )r%   Úothers     r'   Ú__eq__ÚContainer.__eq__Ü  s+   € Ü˜%¤×&Ñ&Ü!Ð!ä”O D§J¡J°Ó6Ó7Ð7r*   c                ó   • U R                   4$ r   )r    ©r%   Úprotocols     r'   Ú	_getstateÚContainer._getstateâ  s   € Ø—‘ˆÐr*   c                ó$   • U R                  S5      $ )Né   )Ú__reduce_ex__r-   s    r'   Ú
__reduce__ÚContainer.__reduce__å  s   € Ø×!Ñ! !Ó$Ð$r*   c                ó–   • U R                   U R                  U5      U R                  U R                  U R                  U R
                  44$ r   )Ú	__class__r)  r   r   r    r!   r'  s     r'   r-  ÚContainer.__reduce_ex__è  s=   € à�N‰NØ�N‰N˜8Ó$Ø�Y‰Y˜Ÿ
™
 D§L¡L°$×2BÑ2BÐCð
ð 	
r*   c                ó~  • US   U l         US   U l        US   U l        US   U l        U R                   R	                  5        VVs1 s H  u  p#[        U[        5      (       d  M  UiM      snnU l        U R                   H4  u  pEUc  M
  [        R                  XR                  UR                  5        M6     g s  snnf )Nr   r1   r,  é   )r   r   r    r!   r3   r4   r5   r$   r™   rš   r8   r;   )r%   Ústater?   r@   r8   r   s         r'   Ú__setstate__ÚContainer.__setstate__ï  s–   € Ø˜!‘HˆŒ	Ø˜1‘XˆŒ
Ø˜Q‘xˆŒØ  ™8ˆÔàŸ)™)Ÿ/™/Ô+ô#
Ú+‘$�!¬z¸!¼U×/C�AÑ+ò#
ˆÔð Ÿœ‰IˆCØ‹Ü× Ñ  §w¡w°·
±
Ö;ò $ùó	#
s   ÁB9Á%B9c                ó.   • [         R                   " U 5      $ r   )Úcopyr-   s    r'   r9  ÚContainer.copyü  s   € Ü�yŠy˜‹Ðr*   c                ój  • U R                  U R                  5      n[        R                  U 5       H  u  p#[        R	                  XU5        M     U=R
                  U R                  -  sl        UR                  R                  U R                  5        U=R                  U R                  -  sl	        U$ r   )
r1  r    r™   r3   rš   r   r.   r   Úupdater$   )r%   Úcr?   r@   s       r'   Ú__copy__ÚContainer.__copy__ÿ  s}   € Ø�N‰N˜4Ÿ<™<Ó(ˆÜ—J‘J˜tÖ$‰DˆAÜ×Ñ˜Q 1Ö%ñ %ð 	
�Š�4—9‘9Ñ�Ø	�‰�‰�d—i‘iÔ Ø	×Ò × 7Ñ 7Ñ7Õàˆr*   c                óâ   • Ub  U[        U R                  5      :”  a  [        U R                  5      n[        US-
  SS5       H*  nU R                  U   S   n[        XB5      (       a  M'  X44s  $    g)z5Find the immediate previous item before index ``idx``Nr1   r_   )ro   r   r
  r4   )r%   r:   Úignorere   r@   s        r'   r  Ú#Container._previous_item_with_index
  se   € ð ‰;˜#¤ D§J¡J£Ó/Ü�d—j‘j“/ˆCÜ�s˜Q‘w  BÖ'ˆAØ—
‘
˜1‘˜bÑ!ˆAÜ˜a×(Ó(Ø�t’ñ (ð r*   c                ó@   • U R                  X5      nU(       a  US   $ S$ )zkFind the immediate previous item before index ``idx``.
If ``idx`` is not given, the last item is returned.
r_   N)r  )r%   r:   rA  rˆ   s       r'   r}   ÚContainer._previous_item  s%   € ð ×-Ñ-¨cÓ:ˆÞˆt�B‰xÐ) TÐ)r*   )r   r   r$   r    r!   r"   )F)r&   r!  ÚreturnÚNone)rE  zlist[tuple[Key | None, Item]]©rE  zdict[str, Any])rF   r!  rE  rF  r   )r8   zKey | Item | strr   r   rE  r   )r8   r   r;   r   rE  rF  ©rE  Úint)rW   r   rE  r!  )r8   ú
Key | NonerE  rF  )T)r8   zKey | str | Noner   r   rp   r!  rE  r   )rX   r   r“   r   rE  rF  )r8   rJ  r   r   rE  rF  )r:   rI  rE  rF  )r8   ú	Key | strrE  r   )r8   rK  r¨   rK  r   r   rE  r   )r:   rI  r8   rK  r   r   rE  r   )r8   rK  rE  zItem | OutOfOrderTableProxy)rE  úItem | None©rE  r  )r8   r   rW   r   rË   ú
str | NonerE  r  )r8   r   rØ   r   rË   rN  rE  r  )rW   r   rË   rN  rE  r  )r8   rJ  r   r   rË   rN  rE  r  ©rE  zIterator[str]©r8   rK  rE  r   ©r8   ÚobjectrE  r!  ©r8   rK  r;   r   rE  rF  ©r8   rK  rE  rF  ©r8   rK  rý   r   rE  r   )r8   rK  r  rK  r;   r   rE  rF  )r:   zint | tuple[int, ...]r  rK  r;   r   rE  rF  )r#  rR  rE  r!  )r(  rI  rE  ztuple[bool])rE  ú)tuple[type, tuple[bool], tuple[Any, ...]])r(  rI  rE  rV  )r5  ztuple[Any, ...]rE  rF  )rE  r   )r:   ú
int | NonerA  útuple[type, ...]rE  ztuple[int, Item] | None)r:   rW  rA  rX  rE  rL  )4Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r(   Úpropertyr.   r2   r;   rF   rN   r[   rf   rc   rm   rL   r†   r…   r¡   r�   r¬   r„   r   r³   r¾   rº   r»   r×   r¼   rà   ræ   rë   rî   rš   rž   rþ   rƒ   r  r  r  r$  r)  r.  r-  r6  r9  r>  r   r  r}   Ú__static_attributes__rò   r*   r'   r   r   #   sê  † ñö2ð óó ðôð( óó ðô(	-ö&ô,ô$ô4
ö 9ðF BFðAØ#ðAØ+.ðAØ:>ðAà	õAôF HôD8ô,ô(ð(-Øð-Ø)2ð-Ø:=ð-à	ô-ô^-ô^"ô"ôö8Pöd
ö ðF AEð
Øð
Ø%)ð
Ø3=ð
à	õ
ô("ô%ôôô.$ôöô
.ðm=Ø(ðm=Ø3<ðm=ØEIðm=à	ôm=ô^ô ô8ôô%ô
ô<ôô	ð !%À$Àð
Øð
Ø.>ð
à	 õ
ð !%À$Àð*Øð*Ø.>ð*à	÷*ð *r*   r   c                  óÖ   • \ rS rSr\ S       SS jj5       rSS jrSS jrSS jr\	SS j5       r
SS jrSS	 jrSS
 jrSS jrSS jrSS jrSS jrSS jrSS jrSS S jjrSrg)!r6   i   Nc                ó,  • Uc  [        S5      nU Ho  nU R                  U   u  pE[        U[        5      (       d  M+  UR                  R
                   H*  u  pgUR                  U[        R                  " U5      SS9  M,     Mq     UR                  5         U$ )z3Validate out of order tables in the given containerT)rp   )
r   r   r4   r   r;   r.   rL   r9  Údeepcopyrm   )Ú	containerÚindicesÚtemp_containerre   rG   r   r?   r@   s           r'   rp   ÚOutOfOrderTableProxy.validate!  s€   € ð" Ñ!Ü& t›_ˆNÛˆAØ—o‘o aÑ(‰GˆAä˜$¤×&Ó&Ø ŸJ™JŸOœO‘D�AØ"×)Ñ)¨!¬T¯]ª]¸1Ó-=ÈÐ)ÓMó ,ñ	 ð 	×3Ñ3Ô5ØÐr*   c                ó°  • Xl         [        S5      U l        / U l        0 U l        U GH  nU R                   R
                  U   u  pE[        U[        5      (       d  M6  U R                  R                  U5        [        U R                  5      S-
  nUR                  R                   HŽ  u  pxU R                  Xx5      n	U	c  U R                  R                  Xx5        OU	nU R                  R                  U/ 5      n
Xj;  a  U
R                  U5        Uc  Mn  [        R!                  XR"                  U5        M�     GM     U R                  R%                  5         g )NTr1   )Ú
_containerr   Ú_internal_containerÚ_tablesÚ_tables_mapr   r4   r   rL   ro   r;   r.   Ú_merge_aot_fragmentr…   rþ   r™   rš   r8   rm   )r%   rc  rd  re   rG   r{   Ú	table_idxr?   r@   ÚmergedÚkey_indicess              r'   r(   ÚOutOfOrderTableProxy.__init__>  s  € Ø#ŒÜ#,¨T£?ˆÔ Ø$&ˆŒØ13ˆÔäˆAØ—‘×,Ñ,¨QÑ/‰HˆAä˜%¤×'Ó'Ø—‘×#Ñ# EÔ*Ü §¡Ó-°Ñ1�	Ø!ŸK™K×,Ô,‘D�AØ!×5Ñ5°aÓ;�FØ‘~Ø×0Ñ0×<Ñ<¸QÕBà"˜Ø"&×"2Ñ"2×"=Ñ"=¸aÀÓ"D�KØ Ó3Ø#×*Ñ*¨9Ô5Ø“}Ü×(Ñ(¨¯u©u°aÖ8ô -ñ ð$ 	× Ñ ×=Ñ=Õ?r*   c                óâ  • U R                   nUb$  [        U[        5      (       a  XR                  ;  a  gUR                  U   n[        U[        5      (       a  gUR
                  U   S   n[        U[        5      (       d  g[        / UR                  QUR                  QSS9nUR
                  U   S   U4UR
                  U'   [        R                  X1R                  UR                  5        U$ )a  
Merge an array-of-tables fragment from a later out-of-order table part.

An AoT whose elements are split across out-of-order parts of the same
table arrives here once per part; ``_raw_append`` only knows how to
chain duplicate ``Table`` parts and would raise ``KeyAlreadyPresent``.
The fragments are presented as a new merged ``AoT`` referencing the
live element tables, without mutating either fragment (the parts keep
rendering their own elements).

Returns the merged ``AoT``, or ``None`` if this is not such a fragment.
Nr1   Try   r   )ri  r4   r   r   r5   r   r.   r™   rš   r8   r;   )r%   r8   r   Úinternalr:   r”   rn  s          r'   rl  Ú(OutOfOrderTableProxy._merge_aot_fragmentX  sÌ   € ð ×+Ñ+ˆØ‰;œj¨¬s×3Ñ3°sÇ-Á-Ó7OØØ�m‰m˜CÑ ˆÜ�cœ5×!Ñ!ð Ø—>‘> #Ñ& qÑ)ˆÜ˜(¤C×(Ñ(ØäÐ1�x—}‘}Ð1 t§y¡yÐ1¸$Ñ?ˆØ'Ÿ~™~¨cÑ2°1Ñ5°vÐ>ˆ�‰�sÑÜ×Ñ˜§7¡7¨F¯L©LÔ9Øˆr*   c                ó6   • U R                   R                  5       $ r   )ri  r2   r-   s    r'   r2   ÚOutOfOrderTableProxy.unwrapy  s   € Ø×'Ñ'×.Ñ.Ó0Ð0r*   c                ó.   • U R                   R                  $ r   )ri  r;   r-   s    r'   r;   ÚOutOfOrderTableProxy.value|  s   € à×'Ñ'×-Ñ-Ð-r*   c                ó,   • [        U R                  5      $ r   r  r-   s    r'   r  ÚOutOfOrderTableProxy.__str__€  r  r*   c                ó,   • [        U R                  5      $ r   r  r-   s    r'   r  ÚOutOfOrderTableProxy.__repr__ƒ  r  r*   c                ó   • XR                   ;   $ r   )ri  rù   s     r'   rî   Ú!OutOfOrderTableProxy.__contains__†  s   € ð ×.Ñ.Ñ.Ð.r*   c                óT   • XR                   ;  a  [        U5      eU R                   U   $ r   )ri  r   rù   s     r'   rë   Ú OutOfOrderTableProxy.__getitem__�  s*   € Ø×.Ñ.Ó.Ü  Ó%Ð%à×'Ñ'¨Ñ,Ð,r*   c                óà  ^^• SSK Jm  SU4S jjm[        U[        5      (       a  UO
[	        U5      nX0R
                  ;   aÆ  U R
                  U   n[        U5      S:”  a?  U R                  UR                  5          nU R                  U5        [        U5      S:”  a  M?  U R                  US      U   nT" U5      (       a2  T" U5      (       d%  U R                  US      U	 U R
                  U	 X U'   g X R                  US      U'   O¿U R                  (       a   T" U5      (       d�  U R                   H1  n[        U4S jUR                  5        5       5      (       d  M-  X%U'     Ob   U R                   H  nUR                  5       (       a  M  X%U'     O4   X R                  S   U'   O X R                  S   U'   OX R                  U'   X R                  U'   Ub  [        R                  XU5        g g )Nr1   r   c                ó<   >• [        T" U 5      [        [        45      $ r   )r4   r   r   )ÚitÚ_item_fns    €r'   Ú_is_table_or_aotÚ:OutOfOrderTableProxy.__setitem__.<locals>._is_table_or_aot˜  s   ø€ Ü™h r›l¬U´C¨LÓ9Ð9r*   r   c              3  óB   >#   • U  H  u  pT" U5      (       + v •  M     g 7fr   rò   )rÃ   rG   r@   r„  s      €r'   rÄ   Ú3OutOfOrderTableProxy.__setitem__.<locals>.<genexpr>¯  s   øé € ÐMº}±t°qÑ/°Ó2×2Ñ2º}ùs   ƒ©r‚  r   rE  r!  )r3   r   r4   r   r   rk  ro   rj  rr   Ú_remove_tablerÍ   rQ   rh  ri  r™   rš   )	r%   r8   r;   rÑ   Úmap_indicesrW   Ú	old_valuer„  rƒ  s	          @@r'   rš   Ú OutOfOrderTableProxy.__setitem__•  s°  ù€ Ý+÷	:ô & c¬3×/Ñ/‘C´Y¸s³^ˆà×#Ñ#Ó#à×*Ñ*¨4Ñ0ˆKÜ�kÓ" QÓ&ØŸ™ [§_¡_Ó%6Ñ7�Ø×"Ñ" 5Ô)ô �kÓ" QÕ&ð Ÿ™ [°¡^Ñ4°SÑ9ˆIÙ 	×*Ñ*Ñ3CÀE×3JÑ3Jà—L‘L ¨Q¡Ñ0°Ð5Ø×$Ñ$ TÐ*Ø!�S‘	ØØ05�L‰L˜ Q™Ñ(¨Ò-Ø�\�\Ù# E×*Ñ*Ø!Ÿ\œ\�EäÔM¸u¿{¹{¼}ÓM×MÓMØ%*˜c™
Ùñ	 *ð "&§¤˜Ø$×3Ñ3×5Ó5Ø). #™JÙ!ñ ".ð
 05Ÿ™ Q™¨Ò,à',—‘˜Q‘ Ò$à#(�O‰O˜CÑ à(-× Ñ  Ñ%Ø‰?Ü×Ñ˜T¨Õ.ð r*   c                óÔ   • U R                   R                  U5        [        U R                  R                  5       H*  u  p#US   UL d  M  U R                  R                  U5          g   g)z&Remove table from the parent containerr1   N)rj  r�   r`   rh  r   r¡   )r%   rW   r:   Ú	body_items       r'   r‰  Ú"OutOfOrderTableProxy._remove_tableÈ  sP   € à�‰×Ñ˜EÔ"Ü'¨¯©×(=Ñ(=Ö>‰NˆCØ˜‰|˜uÔ$Ø—‘×*Ñ*¨3Ô/Ùò ?r*   c                ó¬  • [        U[        5      (       a  UO
[        U5      nX R                  ;  a  [	        U5      e[        U R                  U   5       HI  nU R                  U   nXA	 U(       a  M  [        U R                  5      S:”  d  M8  U R                  U5        MK     U R                  U	 U R                  U	 Ub  [        R                  X5        g g )Nr1   )r4   r   r   rk  r   Úreversedrj  ro   r‰  ri  r™   rž   )r%   r8   rÑ   re   rW   s        r'   rž   Ú OutOfOrderTableProxy.__delitem__Ð  sµ   € Ü% c¬3×/Ñ/‘C´Y¸s³^ˆØ×'Ñ'Ó'Ü  Ó%Ð%ä˜$×*Ñ*¨4Ñ0Ö1ˆAØ—L‘L ‘OˆEØ�
ß�5œS §¡Ó.°Õ2Ø×"Ñ" 5Ö)ñ	 2ð ×Ñ˜TÐ"Ø×$Ñ$ SÐ)Ø‰?Ü×Ñ˜TÕ'ð r*   c                ó>   • [        [        R                  U 5      5      $ r   rä   r-   s    r'   ræ   ÚOutOfOrderTableProxy.__iter__à  rè   r*   c                ó,   • [         R                  U 5      $ r   rß   r-   s    r'   rà   ÚOutOfOrderTableProxy.__len__ã  râ   r*   c                ó   • X;  a  X U'   X   $ r   rò   rü   s      r'   rþ   ÚOutOfOrderTableProxy.setdefaultæ  r   r*   )rh  ri  rj  rk  r   )rc  r   rd  útuple[int, ...]re  zContainer | NonerE  r   )rc  r   rd  r™  rE  rF  )r8   rJ  r   r   rE  z
AoT | NonerG  rM  rQ  rP  rS  )rW   r   rE  rF  rT  rO  rH  rU  )rY  rZ  r[  r\  Ústaticmethodrp   r(   rl  r2   r^  r;   r  r  rî   rë   rš   r‰  rž   ræ   rà   rþ   r_  rò   r*   r'   r6   r6      sš   † Øð ,0ðØðà ðð )ðð 
ô	ó ðô8@ô4ôB1ð ó.ó ð.ôô ô/ô-ô1/ôfô(ô %ô"÷ñ r*   r6   c                ó,  • [        U [        5      (       a  g[        U [        5      (       a0  U R                  R	                  5       nUSL=(       a    [        U5      $ [        U [        5      =(       a#    [        U 5      S:„  =(       a    [        U S   5      $ )ziReturns ``True`` if the given item ``it`` is a ``Table`` or ``AoT`` object
ending with a ``Whitespace``.
TNr   r_   )r4   r   r   r;   r}   r~   r   ro   )r‚  Úpreviouss     r'   r~   r~   ì  sr   € ô �"”j×!Ñ!ØÜ�"”e×ÑØ—8‘8×*Ñ*Ó,ˆØ˜tÐ#×FÔ(<¸XÓ(FÐFÜ�bœ#Ó×O¤3 r£7¨Q¡;×OÔ3GÈÈ2ÉÓ3OÐOr*   c                óh  ^ ^• [        T [        5      (       aN  [        T[        5      (       a9  T R                  5       TR                  5       :w  a  g[        U U4S jT  5       5      $ [        T [        5      (       aJ  [        T[        5      (       a5  [        T 5      [        T5      :w  a  g[        S [        T T5       5       5      $ [        T [        5      (       aL  [        T[        5      (       a7  [        R                  " T 5      (       a  [        R                  " T5      (       a  g[        T T:H  5      $ )NFc              3  óH   >#   • U  H  n[        TU   TU   5      v •  M     g 7fr   ©r"  )rÃ   r?   ÚleftÚrights     €€r'   rÄ   Ú"_equal_with_nan.<locals>.<genexpr>ü  s#   øé € ÐDºt¸!”? 4¨¡7¨E°!©H×5Ð5ºtùs   ƒ"c              3  ó<   #   • U  H  u  p[        X5      v •  M     g 7fr   rŸ  )rÃ   ÚlÚrs      r'   rÄ   r¢    s   é € ÐFÒ5E©T¨Q”? 1×(Ð(Ò5Eùs   ‚T)r4   r™   rå   Úallrl   ro   ÚzipÚfloatÚmathÚisnanr!  )r   r¡  s   ``r'   r"  r"  ø  sÐ   ù€ Ü�$œ×Ñ¤*¨U´D×"9Ñ"9Ø�9‰9‹;˜%Ÿ*™*›,Ó&ØÜÕD¹tÓDÓDÐDä�$œ×Ñ¤*¨U´D×"9Ñ"9Üˆt‹9œ˜E›
Ó"ØÜÑF´S¸¸uÔ5EÓFÓFÐFä�$œ×Ñ¤:¨e´U×#;Ñ#;Ü�:Š:�d×Ñ¤§
¢
¨5× 1Ñ 1Øä�˜‘ÓÐr*   rˆ  )r   r   r¡  r   rE  r!  )&Ú
__future__r   r9  r©  Úcollections.abcr   Útypingr   r   r   Útomlkit._compatr   Útomlkit._typesr	   Útomlkit._utilsr
   Útomlkit.exceptionsr   r   r   Útomlkit.itemsr   r   r   r   r   r   r   r   r   r   r{   rR  Ú_NOT_SETr   r6   r~   r"  rò   r*   r'   Ú<module>r´     s�   ðÝ "ã Û å $Ý  Ý ö Ýå "Ý &Ý &Ý 0Ý -Ý +Ý Ý !Ý Ý Ý Ý #Ý Ý  Ý $Ý 'ñ ‹8€ôz*�ô z*ôzI˜;ô IôX	Põr*   