B Ïñ¢d'#ã@s&ddgZddlTddlTddlZGdd„deƒZGdd„dƒZGd d„deƒZe d e  d ej ¡e d ƒ¡e d e  dej ¡e dƒ¡e de  dej ¡e dƒ¡e de  d¡dg¡e de  dej ¡ddddg¡e de  dej ¡e dƒ¡e de  d ¡d!g¡e d"e  d#¡e d$ƒ¡dS)%Ú BaseResolverÚResolveré)Ú*éNc@s eZdZdS)Ú ResolverErrorN)Ú__name__Ú __module__Ú __qualname__©r r ú4/tmp/pip-target-jj3kjtpb/lib/python/yaml/resolver.pyr src@sbeZdZdZdZdZiZiZdd„Ze dd„ƒZ e dd d „ƒZ d d „Z d d„Z dd„Zdd„ZdS)rztag:yaml.org,2002:strztag:yaml.org,2002:seqztag:yaml.org,2002:mapcCsg|_g|_dS)N)Úresolver_exact_pathsÚresolver_prefix_paths)Úselfr r r Ú__init__szBaseResolver.__init__cCsrd|jkr:i}x$|jD]}|j|dd…||<qW||_|dkrHdg}x$|D]}|j |g¡ ||f¡qNWdS)NÚyaml_implicit_resolvers)Ú__dict__rÚ setdefaultÚappend)ÚclsÚtagÚregexpÚfirstZimplicit_resolversÚkeyÚchr r r Úadd_implicit_resolvers   z"BaseResolver.add_implicit_resolverNcCsnd|jkr|j ¡|_g}xæ|D]Þ}t|ttfƒrpt|ƒdkrH|\}}qxt|ƒdkrb|d}d}qxtd|ƒ‚nd}|}|tkr†t }nH|tkr”t }n:|t kr¢t }n,|t t t gkrÎt|tƒsÎ|dk rÎtd|ƒ‚t|tt fƒsð|dk rðtd|ƒ‚| ||f¡q W|tkrt }nF|tkr"t }n6|t kr2t }n&|t t t gkrX|dk rXtd |ƒ‚||jt|ƒ|f<dS) NÚyaml_path_resolversérrTzInvalid path element: %szInvalid node checker: %szInvalid index checker: %szInvalid node kind: %s)rrÚcopyÚ isinstanceÚlistÚtupleÚlenrÚstrÚ ScalarNodeÚ SequenceNodeÚdictÚ MappingNodeÚintr)rrÚpathÚkindÚnew_pathÚelementÚ node_checkÚ index_checkr r r Úadd_path_resolver%sJ              zBaseResolver.add_path_resolvercCsÐ|js dSi}g}|rzt|jƒ}x’|jdD]H\}}| |||||¡r,t|ƒ|krb| ||f¡q,|j||f||<q,Wn:x8|jD].\}}|s¢|j||f||<q‚| ||f¡q‚W|j |¡|j |¡dS)Néÿÿÿÿ)rr!r Úcheck_resolver_prefixrr )rÚ current_nodeÚ current_indexÚ exact_pathsZ prefix_pathsÚdepthr(r)r r r Údescend_resolver[s$    zBaseResolver.descend_resolvercCs"|js dS|j ¡|j ¡dS)N)rr Úpopr )rr r r Úascend_resolverrs zBaseResolver.ascend_resolvercCs¸||d\}}t|tƒr*|j|kr@dSn|dk r@t||ƒs@dS|dkrT|dk rTdS|dksd|dkrp|dkrpdSt|tƒr”t|tƒrŽ||jks´dSn t|tƒr´t|tƒs´||kr´dSdS)NrTF)rr"rr#Úvaluer'Úbool)rr4r(r)r1r2r,r-r r r r0xs(      z"BaseResolver.check_resolver_prefixc CsÒ|tkrt|drt|dkr(|j dg¡}n|j |dg¡}|j dg¡}x"||D]\}}| |¡rR|SqRW|d}|jr¤|jd}||kr”||Sd|kr¤|dS|tkr²|jS|tkrÀ|jS|t krÎ|j SdS)NrÚrr/) r#rÚgetÚmatchrr ÚDEFAULT_SCALAR_TAGr$ÚDEFAULT_SEQUENCE_TAGr&ÚDEFAULT_MAPPING_TAG) rr)r8ZimplicitÚ resolversZwildcard_resolversrrr3r r r Úresolves*  zBaseResolver.resolve)N)rrr r=r>r?rrrÚ classmethodrr.r5r7r0rAr r r r r s  5c@s eZdZdS)rN)rrr r r r r r§sztag:yaml.org,2002:boolzz^(?:yes|Yes|YES|no|No|NO |true|True|TRUE|false|False|FALSE |on|On|ON|off|Off|OFF)$Z yYnNtTfFoOztag:yaml.org,2002:floatzý^(?:[-+]?(?:[0-9][0-9_]*)\.[0-9_]*(?:[eE][-+][0-9]+)? |\.[0-9_]+(?:[eE][-+][0-9]+)? |[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]* |[-+]?\.(?:inf|Inf|INF) |\.(?:nan|NaN|NAN))$z -+0123456789.ztag:yaml.org,2002:intzÆ^(?:[-+]?0b[0-1_]+ |[-+]?0[0-7_]+ |[-+]?(?:0|[1-9][0-9_]*) |[-+]?0x[0-9a-fA-F_]+ |[-+]?[1-9][0-9_]*(?::[0-5]?[0-9])+)$z -+0123456789ztag:yaml.org,2002:mergez^(?:<<)$úsX