U .eE(@sNddlZddlZddlmZddlmZmZejddkr@eZ ne Z dde fdd Z d d de fd d Z GdddZedZddZedZddZddddddddZedZedZed Zed!Zed"Zefd#d$Zed%Zd&d'Zed(Zed)Zed*Zed+Z d,d-Z!d.d/Z"ed0Z#d1d2Z$dS)3N TomlError) rfc3339_reparse_rfc3339_recCs|SNtxvr r =/usr/lib/python3.8/site-packages/pip/_vendor/pytoml/parser.py rc Cs t|||t|dt|dS)Nname) translateobject_pairs_hookfilename)loadsreadgetattrrepr)Zfinrrr r rload srzcCs|Srr r r r rr rcst|tr|d}|dd}}}|}t|d}t|d}fddfdd |D]D\} } | d kr| \} } | |krd | | d|| <qj| d k} |}| dd D]<}t||tr||d \}}q| |df\}}qƈ}| d }||krD| r4|fg||<n|f||<qjt||trx| sbd|| |fqj| rd||\}}|dk rd||f||<qjfdd||S)Nzutf-8z  )rrcst|dddSNrrr)msg)rposr rerrorszloads..errorcs|\}}}|dkrTr>tfddddDr>dfddDn"|dkrvfd dD||S) Narrayc3s&|]\}}}}|ddkVqdS)rNr ).0kr r p)valuer r s z/loads..process_value..rzarray-type-mismatchcsg|]}|dqSrr )r!item)r process_valuer r "sz0loads..process_value..tablecs g|]}||dfqSr&r )r!r")rr(r$r rr)$s)any)r rkindtextr)rr(r)rr$rr(s "zloads..process_valuekvz2duplicate_keys. Key "{0}" was used more than once. table_arrayZtable_type_mismatchZduplicate_tablescsl|dkr}|D]T}||kr&d||}t|trPfdd|D||<q|d|d||<q|S)NZkey_table_conflictcsg|]\}}||qSr r )r!ZscZtbl) merge_tablesr rr)Qsz/loads..merge_tables..rr) isinstancelist)scopetablesr"r )rr1rr rr1Is zloads..merge_tables) r2bytesdecodereplace_Source_p_tomlformatgetr3 setdefaultappend)srrrrootr5r4srcZastr,r$r"r Zis_table_arrayZcurrdZ old_scopeZ next_tabler )rrr1rrr(rrr sP          rc@seZdZd$ddZddZddZdd Zd d Zd d ZddZ ddZ ddZ ddZ ddZ ddZddZddZddZd d!Zd"d#ZdS)%r9NcCs"||_d|_d|_||_g|_dS)N)rr)r?_pos_last _filenamebacktrack_stack)selfr?rr r r__init__Ys z_Source.__init__cCs|jSr)rDrGr r rlast`sz _Source.lastcCs|jSr)rCrIr r rrcsz _Source.poscCs |dSr)_expectrIr r rfailfsz _Source.failcCs6|jr2|jd|_|dd|_||j|jSdSr)r?rD_advancerIr r r consume_dotis   z_Source.consume_dotcCs||Sr)rKrNrIr r r expect_dotqsz_Source.expect_dotcCs|jsd|_dSdS)NTF)r?rDrIr r r consume_eoftsz_Source.consume_eofcCs||Sr)rKrQrIr r r expect_eofzsz_Source.expect_eofcCs8|j|r4|jt|d|_||_||dSdS)NTF)r? startswithlenrDrMrGr?r r rconsume}s   z_Source.consumecCs|||Sr)rKrVrUr r rexpectsz_Source.expectcCsH||j}|rD|jt|dd|_||_||d|SdS)Nr)matchr?rTgrouprDrM)rGremr r r consume_res z_Source.consume_recCs|||Sr)rKr\)rGrZr r r expect_resz_Source.expect_recCs|j|j|jfdSr)rFr>r?rCrIr r r __enter__sz_Source.__enter__cCs.|dkr|jn|j\|_|_|tkSr)rFpopr?rCr)rGtyper$ tracebackr r r__exit__s z_Source.__exit__cCs|j|jf|jd<dS)Nr0)r?rCrFrIr r rcommitsz_Source.commitcCs$|s td|jd|jd|j|S)Nrrr)rrCrE)rGrr r rrKsz_Source._expectcCsX|d}|dkr2|jd|jdt|f|_n"|jd|dt||f|_dS)Nrr0rr)rfindrCrTcount)rGr?Z suffix_posr r rrMs  z_Source._advance)N)__name__ __module__ __qualname__rHrJrrLrNrOrQrRrVrWr\r]r^rbrcrKrMr r r rr9Xs"  r9z!(?:[ \t]|#[^\n]*\n|#[^\n]*\Z|\n)*cCs|tdSr)r]_ews_rer?r r r_p_ewssrlz[ \t]*cCs|tdSr)r]_ws_rerkr r r_p_wssrnr  "\ )bnrdr rrrsfz[^"\\\000-\037]*zu([0-9a-fA-F]{4})zU([0-9a-fA-F]{8})z [btnfr\"\\]z [ ]*cCsg}|||d|ds&q|tr2q|tsF|trt| dd}d|krndkrznn| |t |q|t |t | dqd|S)NrrsriirP)r>r]rYrVr\_newline_esc_re _short_uni_re _long_uni_reintrJrL_chr _escapes_re_escapesjoin)r?Zcontentresr r r r_p_basicstr_contents   rz[0-9a-zA-Z-_]+c Cs|0|dt|t}|d|W5QRSQRX|dr|drt|d|td}|dn|td}|d|S|tdS)Nrr'''rr''') rWr _basicstr_rerVr] _litstr_ml_rerY _litstr_re_key_re)r?rdr r r_p_keys        rzH[+-]?(?:0|[1-9](?:_?\d)*)(?:\.\d(?:_?\d)*)?(?:[eE][+-]?(?:\d(?:_?\d)*))?z&(?:""?(?!")|[^"\\\000-\011\013-\037])*z[^'\000\010\012-\037]*z((?:(?:|'|'')(?:[^'\000-\010\013-\037]))*c Cs|}|dr"d|d|fS|dr_p_valuercrnrrL)r?rrrdr[itemsr"r r rrs~                               rcCs|}|dr|d}t|t|g}t||dr`t||t|t|q6|d|rx|d|rdnd||fSt|}t||dt|t||d}d||f|fS) Nrrrr/r*rrr.)rrVrnrr>rWr)r?rrZis_arraykeyskeyr$r r r_p_stmt3s(         rz(?:[ \t]*(?:#[^\n]*)?\n)+[ \t]*c Cshg}t||>|t||d||t|t||dq$W5QRXt|||S)Nr)rlr>rrcr] _stmtsep_rerR)r?rZstmtsr r rr:Ks r:)%rZsysZcorerZutilsrr version_infoZunichrr}chrdictrrr9compilerjrlrmrnrrrzr{r~ryrrrrrrrrrrr:r r r rs@ KU              M