U
    -cL                    @   s   d Z ddlZddlmZ ededededd	ZedZi dfd
dZi dfddZ	i dfddZ
i dfddZi dfddZi dfddZi dfddZi dfddZi dfddZi dfddZi dfddZdS ) z2.15.3    N   )JsonSchemaValueException^.*$.+^.+$z^[^@]+@[^@]+\.[^@]+\Z)r   r   r   idn-email_re_patternc                 C   s   t | ||pdd  | S )Ndata )[validate_https___packaging_python_org_en_latest_specifications_declaring_build_dependenciesr   custom_formatsname_prefix r   d/tmp/pip-unpacked-wheel-izj_87as/setuptools/config/_validate_pyproject/fastjsonschema_validations.pyvalidate   s    r   c              2      s  t | t	std|pd d | d|p&d d dddddd	d
ddgdddddddddgddiddddddddgddddddgd dd!d"d#d$gddd%d&ddd'd(ddd)d*gd+d,d-d.d/gdd0d1d2d3gd+dd4d5dd6d7gd+id5gd8d9dd:d;id9gd8gid<dd=d>d?gd@dAid<gd8gdBgdCddDdEdFgdGdHd5ddIdJgd+id5gd8d9ddKdLdMgd+id9gd8gdNddOdPidQdRdSgdTddOdPidUdVgdTdddidWdXdddYdZd[d\d]gdTdd^dd_dd`daidbdcdddegdfdcdgdedhdigdfdjdkdldmgdndoidd_dOdciidpddqdOdridsddtdnd&idd_ddOdriduidvddwdxgdydzd{d|d}d~ddddddddddgidddgddgdddzidgdiddddddddddg	ddzgdgddPddddddgd+dddd[dddcdddddddddgdndidd_dddgdddiddrddddddddddddddddgddddd;idddiiddĜddddddddddddddgdddddiduddgddd&dadԜddgddd&dadԜddd؜ddddiddۜddgdddidԜddddddddgdddddaddOdigdCddddgddddndiddigidddiidddddgddddndiddigiddddiduidddddgdddddgddddndiddigiddddiduidddddadddddddaddۜddd dgdddddiduidddddddgdddd	daiddddid
dgddddgdddddddgdOdidOdigdCdOdidOdidOdidOdiddndidddOdiiddOdidd<ddiiigd5gdddddddddd5dddidddidugiid5gd d!dd"d#gddd$ddiid$gd%dd&ddd'dd(d)gdd*dddid+dd,d-gddiddd.d-gddiddאd/d0gd+d1d2id3d4d5d6d7d8dd!d"d#d$gddd%d&ddd'd(ddd)d*gd+d,d-d.d/gdd0d1d2d3gd+dd4d5dd6d7gd+id5gd8d9dd:d;id9gd8gid<dd=d>d?gd@dAid<gd8gdBgdCddDdEdFgdGdHd5ddIdJgd+id5gd8d9ddKdLdMgd+id9gd8gdNddOdPidQdRdSgdTddOdPidUdVgdTdddidWdXdddYdZd[d\d]gdTdd^dd_dd`daidbdcdddegdfdcdgdedhdigdfdjdkdldmgdndoidd_dOdciidpddqdOdridsddtdnd&idd_ddOdriduidvddwdxgdydzd{d|d}d~ddddddddddgidddgddgdddzidgdiddddddddddg	ddzgdgddPddddddgd+dddd[dddcdddddddddgdndidd_dddgdddiddrdddddddd9dd:t | t}|rt|  }d;|krt|d; | d;  t  t
s^td|	pd d<  d|
pd d= dddddddgddiddddddddgddddddgd dd:t  t}|rtt }t fd>d?d@D std|
pd dA  d|
pd d= dddddddgddiddddddddgddddddgd dBd:t  }d|kr|d  d }t |tt	fstd|pPd dC |d|pdd dD ddddgddiddd:t |tt	f}	|	rt|}
t
|D ]l\}}t |tstd|pd dEjf t  dF |d|pd dEjf t  d ddidd:qdG|kr|dG  dG }t |tstd|pVd dH |d|pjd dI dddddd:t |tr|d |std|pd dJ |d|pd dI dddddnd:dK|kr|dK  dK }t |tt	fsTtd|pd dL |d|p.d dM dddgdddddd:t |tt	f}|rt|}t
|D ]n\}}t |tstd|pd dNjf t  dF |d|pd dNjf t  d ddddd:qx|rttd|pd dO t| dP  d|pd d= dddddddgddiddddddddgddddddgd dQd:dR|kr|dR | dR }t|||pddS  dT|kr^|dT | dT }t |tstd|pd dU |d|pd dV dddddddddgddddd;idddiiddĜddddddddddddddgdddddiduddgddd&dadԜddgddd&dadԜddd؜ddddiddۜddgdddidԜddddddddgdddddaddOdigdCddddgddddndiddigidddiidddddgddddndiddigiddddiduidddddgdddddgddddndiddigiddddiduidddddadddddddaddۜddd dgdddddiduidddddddgdddd	daiddddid
dgddddgdddddddgdOdidOdigdCdOdidOdidOdidOdiddndidddOdiiddOdidd<ddiiigd5gdddddddddd5dddidddidugiid5gd d!dd"d#gddd$ddiid$gd%dd&ddd'dd(d)gdd*dddid+dd,d-gddiddd.d-gddiddאd/d0gd+d1d2id3d4d5d6d7dd:t |t}|r^t| }dW|kr$|dW |dW }t|||pddX  dY|kr^|dY |dY }t|||pTddZ  |rtd|ppd d[ t| dP | d|pd d dddddd	d
ddgdddddddddgddiddddddddgddddddgd dd!d"d#d$gddd%d&ddd'd(ddd)d*gd+d,d-d.d/gdd0d1d2d3gd+dd4d5dd6d7gd+id5gd8d9dd:d;id9gd8gid<dd=d>d?gd@dAid<gd8gdBgdCddDdEdFgdGdHd5ddIdJgd+id5gd8d9ddKdLdMgd+id9gd8gdNddOdPidQdRdSgdTddOdPidUdVgdTdddidWdXdddYdZd[d\d]gdTdd^dd_dd`daidbdcdddegdfdcdgdedhdigdfdjdkdldmgdndoidd_dOdciidpddqdOdridsddtdnd&idd_ddOdriduidvddwdxgdydzd{d|d}d~ddddddddddgidddgddgdddzidgdiddddddddddg	ddzgdgddPddddddgd+dddd[dddcdddddddddgdndidd_dddgdddiddrddddddddddddddddgddddd;idddiiddĜddddddddddddddgdddddiduddgddd&dadԜddgddd&dadԜddd؜ddddiddۜddgdddidԜddddddddgdddddaddOdigdCddddgddddndiddigidddiidddddgddddndiddigiddddiduidddddgdddddgddddndiddigiddddiduidddddadddddddaddۜddd dgdddddiduidddddddgdddd	daiddddid
dgddddgdddddddgdOdidOdigdCdOdidOdidOdidOdiddndidddOdiiddOdidd<ddiiigd5gdddddddddd5dddidddidugiid5gd d!dd"d#gddd$ddiid$gd%dd&ddd'dd(d)gdd*dddid+dd,d-gddiddd.d-gddiddאd/d0gd+d1d2id3d4d5d6d7d8dd!d"d#d$gddd%d&ddd'd(ddd)d*gd+d,d-d.d/gdd0d1d2d3gd+dd4d5dd6d7gd+id5gd8d9dd:d;id9gd8gid<dd=d>d?gd@dAid<gd8gdBgdCddDdEdFgdGdHd5ddIdJgd+id5gd8d9ddKdLdMgd+id9gd8gdNddOdPidQdRdSgdTddOdPidUdVgdTdddidWdXdddYdZd[d\d]gdTdd^dd_dd`daidbdcdddegdfdcdgdedhdigdfdjdkdldmgdndoidd_dOdciidpddqdOdridsddtdnd&idd_ddOdriduidvddwdxgdydzd{d|d}d~ddddddddddgidddgddgdddzidgdiddddddddddg	ddzgdgddPddddddgd+dddd[dddcdddddddddgdndidd_dddgdddiddrdddddddd9dQd:| S (\  Nr	   r    must be object&http://json-schema.org/draft-07/schemazShttps://packaging.python.org/en/latest/specifications/declaring-build-dependencies/z+Data structure for ``pyproject.toml`` fileszKFile format containing build-time configurations for the Python ecosystem. zO:pep:`517` initially defined a build-system independent format for source treeszQwhich was complemented by :pep:`518` to provide a way of specifying dependencies zfor building Python projects.zYPlease notice the ``project`` table (as initially defined in  :pep:`621`) is not includedz3in this schema and should be considered separately.objectFz&Table used to store build-related dataarrayzKList of dependencies in the :pep:`508` format required to execute the buildz9system. Please notice that the resulting dependency graphz**MUST NOT contain cycles**typestringr   $$descriptionitemszLPython object that will be used to perform the build according to :pep:`517`zpep517-backend-referencer   descriptionformatzDList of directories to be prepended to ``sys.path`` when loading thezback-end, and running its hooksz0Should be a path (TODO: enforce it with format?))r   $comment)requiresbuild-backendbackend-pathr   )r   r   additionalProperties
propertiesrequiredQhttps://packaging.python.org/en/latest/specifications/declaring-project-metadata/0Package metadata stored in the ``project`` tableBData structure for the **project** table inside ``pyproject.toml``$(as initially defined in :pep:`621`)IThe name (primary identifier) of the project. MUST be statically defined.pep508-identifier6The version of the project as supported by :pep:`440`.pep440'The `summary description of the projectF<https://packaging.python.org/specifications/core-metadata/#summary>`_r   r   A`Full/detailed description of the project in the form of a README4<https://www.python.org/dev/peps/pep-0621/#readme>`_Gwith meaning similar to the one defined in `core metadata's DescriptionJ<https://packaging.python.org/specifications/core-metadata/#description>`_DRelative path to a text file (UTF-8) containing the full descriptionDof the project. If the file path ends in case-insensitive ``.md`` or8``.rst`` suffixes, then the content-type is respectively#``text/markdown`` or ``text/x-rst``anyOffile<Relative path to a text file containing the full descriptionof the project.r"   r#   text!Full text describing the project.r   r   content-type2Content-type (:rfc:`1341`) of the full description>(e.g. ``text/markdown``). The ``charset`` parameter is assumedUTF-8 when not present."TODO: add regex pattern or format?r   r   r   r   ZallOfr   oneOfpep508-versionspec/`The Python version requirements of the projectO<https://packaging.python.org/specifications/core-metadata/#requires-python>`_.r   r   r   G`Project license <https://www.python.org/dev/peps/pep-0621/#license>`_.DRelative path to the file (UTF-8) which contains the license for theproject.7The license of the project whose meaning is that of the%`License field from the core metadataG<https://packaging.python.org/specifications/core-metadata/#license>`_.r   rG   $ref#/definitions/authorJThe people or organizations considered to be the 'authors' of the project.NThe exact meaning is open to interpretation (e.g. original or primary authors,/current maintainers, or owners of the package).r   r   r   NThe people or organizations considered to be the 'maintainers' of the project.FSimilarly to ``authors``, the exact meaning is open to interpretation.NList of keywords to assist searching for the distribution in a larger catalog.r   r   r   trove-classifier3`PyPI classifier <https://pypi.org/classifiers/>`_.r   r   r   4`Trove classifiers <https://pypi.org/classifiers/>`_which apply to the project.@URLs associated with the project in the form ``label => value``.r   urlr   r   r   r   r!   patternProperties#/definitions/entry-point-groupzDInstruct the installer to create command-line wrappers for the givenzL`entry points <https://packaging.python.org/specifications/entry-points/>`_.)rS   r   z;Instruct the installer to create GUI wrappers for the givenzJThe difference between ``scripts`` and ``gui-scripts`` is only relevant inzWindows.@Instruct the installer to expose the given modules/functions via9``entry-point`` discovery mechanism (useful for plugins).9More information available in the `Python packaging guide><https://packaging.python.org/specifications/entry-points/>`_.r   python-entrypoint-groupr   propertyNamesr!   rf   !Project (mandatory) dependencies.#/definitions/dependencyr   r   r   #Optional dependency for the projectr   r   r   r   rn   r!   rf   GSpecifies which fields are intentionally unspecified and expected to be#dynamically provided by build toolsenumversionr   readmerequires-pythonlicenseauthorsmaintainerskeywordsclassifiersurlsscriptsgui-scriptsentry-pointsdependenciesoptional-dependenciesnamerx   r   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   dynamicr   r   const version is listed in ``dynamic``containsr   r#   r"   According to :pep:`621`:H    If the core metadata specification lists a field as "Required", thenH    the metadata MUST specify the field statically or list it in dynamic"In turn, `core metadata`_ defines:=    The required fields are: Metadata-Version, Name, Version.&    All the other fields are optional.ISince ``Metadata-Version`` is defined by the build back-end, ``name`` andE``version`` are the only mandatory information in ``pyproject.toml``.M.. _core metadata: https://packaging.python.org/specifications/core-metadata/notz	$$comment=version should be statically defined in the ``version`` fieldr#   r   Author or Maintainer=https://www.python.org/dev/peps/pep-0621/#authors-maintainersIMUST be a valid email name, i.e. whatever can be put as a name, before anemail, in :rfc:`822`.	idn-emailMUST be a valid email addressr   email$idtitler   r   r"   Entry-pointsLEntry-points are grouped together to indicate what sort of capabilities theyprovide.See the `packaging guides=<https://packaging.python.org/specifications/entry-points/>`_and `setuptools docsC<https://setuptools.pypa.io/en/latest/userguide/entry_point.html>`_for more information.python-entrypoint-name6Reference to a Python object. It is either in the form<``importable.module``, or ``importable.module:object.attr``.python-entrypoint-reference9https://packaging.python.org/specifications/entry-points/r   r   r   r   r   r   r   r   rn   r!   rf   
Dependency5Project dependency specification according to PEP 508pep508r   r   r   r   r   authorzentry-point-group
dependency$schemar   r   r   r   r"   r#   r!   ifZthendefinitions"https://docs.python.org/3/install/``tool.distutils`` tableGOriginally, ``distutils`` allowed developers to configure arguments for7``setup.py`` scripts via `distutils configuration filesE<https://docs.python.org/3/install/#distutils-configuration-files>`_.@``tool.distutils`` subtables could be used with the same purpose(NOT CURRENTLY IMPLEMENTED).global4Global options applied to all ``distutils`` commandsr   CTODO: Is there a practical way of making this schema more specific?r   r   r   r   r   r"   rf   r   =https://setuptools.pypa.io/en/latest/references/keywords.html``tool.setuptools`` tableLPlease notice for the time being the ``setuptools`` project does not specify3a way of configuring builds via ``pyproject.toml``.MTherefore this schema should be taken just as a *"thought experiment"* on how@this *might be done*, by following the principles established inO`ini2toml <https://ini2toml.readthedocs.io/en/latest/setuptools_pep621.html>`_.,It considers only ``setuptools`` `parametersJ<https://setuptools.pypa.io/en/latest/userguide/declarative_config.html>`_Tthat can currently be configured via ``setup.cfg`` and are not covered by :pep:`621`Gbut intentionally excludes ``dependency_links`` and ``setup_requires``.INOTE: ``scripts`` was renamed to ``script-files`` to avoid confusion with2entry-point based scripts (defined in :pep:`621`).?Package and virtual package names contained within this package**(not supported by pip)**r   r   r   ,Packages which this package renders obsoleteDWhether the project can be safely installed and run from a zip file.booleanr   r   <Legacy way of defining scripts (entry-points are preferred).1TODO: is this field deprecated/should be removed?r   r   r   r   FResources that should be extracted together, if any of them is needed,<or if any C extensions included in the project are imported.5Packages that should be included in the distribution.7It can be given either as a list of package identifiers:or as a ``dict``-like structure with a single key ``find``&which corresponds to a dynamic call to4``setuptools.config.expand.find_packages`` function.MThe ``find`` key is associated with a nested ``dict``-like structure that canDcontain ``where``, ``include``, ``exclude`` and ``namespaces`` keys,;mimicking the keyword arguments of the associated function.#Array of Python package identifierspython-module-namer   r   r   #/definitions/find-directiveR:class:`dict`-like structure mapping from package names to directories where theircode can be found.FThe empty string (as key) means that all packages are contained inside9the given directory will be included in the distribution.rG   r   r   r   r!   rn   rf   5Mapping from package names to lists of glob patterns.LUsually this option is not needed when using ``include-package-data = true``MFor more information on how to include data files, check ``setuptools`` `docsB<https://setuptools.pypa.io/en/latest/userguide/datafiles.html>`_.*CAutomatically include any data files inside the package directories%that are specified by ``MANIFEST.in``r   r   LMapping from package names to lists of glob patterns that should be excludedEhttps://setuptools.pypa.io/en/latest/userguide/package_discovery.htmlr   r   r   'Modules that setuptools will manipulate0TODO: clarify the relationship with ``packages``M**DEPRECATED**: dict-like structure where each key represents a directory andFthe value is a list of glob patterns that should be installed in them.BPlease notice this don't work with wheels. See `data files supportA<https://setuptools.pypa.io/en/latest/userguide/datafiles.html>`_r   r   rf   MMapping of distutils-style command names to ``setuptools.Command`` subclassesJwhich in turn should be represented by strings with a qualified class name+(i.e., "dotted" form with module), e.g.::

;    cmdclass = {mycmd = "pkg.subpkg.module.CommandClass"}

FThe command class should be a directly defined at the top-level of the%containing module (no class nesting).python-qualified-identifierKPROVISIONAL: List of glob patterns for all license files being distributed.%(might become standard with PEP 639).LICEN[CS]E*	 COPYING* NOTICE*AUTHORS*HTODO: revise if PEP 639 is accepted. Probably ``project.license-files``?r   r   r   defaultr   @Instructions for loading :pep:`621`-related metadata dynamicallyBA version dynamically loaded via either the ``attr:`` or ``file:``Mdirectives. Please make sure the given file or attribute respects :pep:`440`.#/definitions/attr-directive#/definitions/file-directivepython-identifierr   rn   r!   rf   r"   r7   r#   rx   r   r   r   r   r   ry   r   r   r!   r"   	platformsprovides	obsoleteszip-safescript-fileseager-resourcespackagespackage-dirpackage-datainclude-package-dataexclude-package-datanamespace-packages
py-modules
data-filescmdclasslicense-filesr   'file:' directiveBValue is read from a file (or list of files and then concatenated)r   r   r   r   r!   r"   r#   'attr:' directiveHValue is read from a module attribute. Supports callables and iterables;(unsupported types are cast via ``str()``attrr   r   r   r   r!   r"   r#   'find:' directivefindDynamic `package discoveryJ<https://setuptools.pypa.io/en/latest/userguide/package_discovery.html>`_.BDirectories to be searched for packages (Unix-style relative path)r   r   r   <Exclude packages that match the values listed in this field.6Can container shell-style wildcards (e.g. ``'pkg.*'``)BRestrict the found packages to just the ones listed in this field.CWhen ``True``, directories without a ``__init__.py`` file will also3be scanned for :pep:`420`-style implicit namespaceswhereexcludeinclude
namespacesr   r   r!   r"   r   r   r   r!   r"   zfile-directivezattr-directivezfind-directiver   r   r   r   r   r!   r"   r   )	distutils
setuptools)r   r"   )build-systemprojecttool)r   r   r   r   r   r!   r"   rQ  valuer   Z
definitionZrulerP  z.build-system must be objectz.build-systemc                 3   s   | ]}| kV  qd S Nr   .0propZdata__buildsystemr   r   	<genexpr>-   s     znvalidate_https___packaging_python_org_en_latest_specifications_declaring_build_dependencies.<locals>.<genexpr>)r   z2.build-system must contain ['requires'] propertiesr#   z$.build-system.requires must be arrayz.build-system.requiresz7.build-system.requires[{data__buildsystem__requires_x}] must be stringr   z*.build-system.build-backend must be stringz.build-system.build-backendz<.build-system.build-backend must be pep517-backend-referencer    z(.build-system.backend-path must be arrayz.build-system.backend-pathz>.build-system.backend-path[{data__buildsystem__backendpath_x}]z.build-system must not contain  propertiesr!   rQ  z.projectrR  z.tool must be objectz.toolrN  z.tool.distutilsrO  z.tool.setuptools must not contain )
isinstancedictr   setkeysremovelenalllisttuple	enumeratestrr   localsYvalidate_https___packaging_python_org_en_latest_specifications_declaring_project_metadata*validate_https___docs_python_org_3_installFvalidate_https___setuptools_pypa_io_en_latest_references_keywords_html)r   r   r   data_is_dict	data_keysZdata__buildsystem_is_dictZdata__buildsystem_lenZdata__buildsystem_keysZdata__buildsystem__requiresZ#data__buildsystem__requires_is_listZdata__buildsystem__requires_lenZdata__buildsystem__requires_xZ data__buildsystem__requires_itemZdata__buildsystem__buildbackendZdata__buildsystem__backendpathZ&data__buildsystem__backendpath_is_listZ"data__buildsystem__backendpath_lenZ data__buildsystem__backendpath_xZ#data__buildsystem__backendpath_itemZdata__projectZ
data__toolZdata__tool_is_dictZdata__tool_keysZdata__tool__distutilsZdata__tool__setuptoolsr   rY  r   r
      s             

v
x

FZ
<<
F\

   


         r
   c           x   1      s<0  t | tstd|pd d | d|p&d d dddddd	d
dddddddgdddddidddgdddddddgdddddddd d!dddid"d#d$d%gdddidd&d'd(d)d*d+d,d-gd.ddd/dd0d1d2ddd3dd4d5gdd6dddid7dd8d9gddid:dd;d9gddid:dd<d=gd>d?d@idAgdBdCdDdEdFgdddGdHd/idIdigidJddiidKdLdMdNdOgdddGdHd/idIdPigidJdddididKdQdRdNdOgddSdTdNdOgdddGdHd/idIdPigidJdddididKddd/ddUdVdWddd/ddXd#dYdZd[d\gddJdddidid]d^d_d`dadbdcgddJddddid]dddidedfgdgdhdidjgdkdlddmddndogdpdqdrdsgdddtddiidtgdudvdwdxdddydGddidddidgiidygdzgdBdvdwdxdddydGddidddidgiidygdzdvdwdxdddydGddidddidgiidygdzdvdwdxdddydGddidddidgiidygdzdvdwdxdddydGddidddidgiidygdzddHd{idd|dvdwdxdddydGddidddidgiidygdzid}dvdwdxdddydGddidddidgiidygdzd~dddiiigdygdddddvdwdxdddydGddidddidgiidygdzdpdqdrdsgdddtddiidtgdud1d2ddd3dd4d5gdd6dddid7dd8d9gddid:dd;d9gddid:dd<d=gd>d?d@idAddddt | t}|0r8t|  }d|kr|d | d }t |ttfs@td|pd d |d|p&d d dddidddt |ttf}|rt|}t	|D ]d\}}	t |	t
std|pd djf t  d |	d|pd djf t  d ddiddqdd|kr,|d | d }
t |
ttfs6td|pd d |
d|pd d ddgdddddddt |
ttf}|r,t|
}t	|
D ]\}}t |t
std|pzd djf t  d |d|pd djf t  d dddddt |t
r(|d |s(td|pd djf t  d |d|pd djf t  d ddddHdqZd|kr|d | d }t |ttfstd|pdd d |d|pvd d ddgdddddddt |ttf}|rt|}t	|D ]\}}t |t
s td|pd djf t  d |d|pd djf t  d dddddt |t
r|d |std|pFd djf t  d |d|pfd djf t  d ddddHdqd|kr|d | d }t |tstd|pd d |d|pd d ddd ddd|k	r|d | d }t |ttf	sRtd|	p"d d |d|	p4d d d!dddid"d#ddt |ttf}|	rt|}t	|D ]d\}}t |t
	std|	pd djf t  d |d|	pd djf t  d ddidd	qvd|k
r|d | d }t |ttf
sFtd|
pd d |d|
p&d d d$d%gdddidddt |ttf}|
rt|}t	|D ]d\}}t |t

std|
pd djf t  d |d|
pd djf t  d ddidd
qjd|krt|d | d }d} | dk rbzNt |ttfsJtd|pd d |d|p,d d d.ddd/dd0ddt |ttf}!|!r@t|}"t	|D ]\}#}$t |$t
std|pd djf t  d |$d|pd djf t  d dd/dddt |$t
r<|d/ |$s<td|pd djf t  d |$d|pd djf t  d dd/ddHdqn| d7 } W n tk
r`   Y nX | dk rz"t|||p|dd  | d7 } W n tk
r   Y nX | dkrttd|pd d dt
|  d  |d|pd d d&d'd(d)d*d+d,d-gd.ddd/dd0d1d2ddd3dd4d5gdd6dddid7dd8d9gddid:dd;d9gddid:dd<d=gd>d?d@idAgdBdGdd|kr|d | d }%t |%tstd|pd d |%d|pd d dCdDdEdFgdddGdHd/idIdigidJddiidKddt |%t}&|&rt|% }'|% D ]\}(})tdJ |(r|(|'krF|'|( t |)t
std|p^d djf t  d |)d|p~d djf t  d ddiddq|'rtd|pd d t
|' d |%d|pd d dCdDdEdFgdddGdHd/idIdigidJddiidKddt|%}*|*dkrd}+|%D ]h}(zDd},|,dk rzXt |(t
r|d/ |(std|pjd d |(d|p|d d dHd/idHd|,d7 },W n tk
r   Y nX |,dk rzH|(dkrtd|pd d |(d|pd d dIdidId|,d7 },W n tk
r   Y nX |,dkrttd|p2d d dt
|, d  |(d|pTd d dGdHd/idIdigidGdW n tk
r   d}+Y nX q*|+std|pd d |%d|pd d dCdDdEdFgdddGdHd/idIdigidJddiidKddd|kr |d | d }-t |-ts~td|p*d d |-d|p<d d dLdMdNdOgdddGdHd/idIdPigidJdddididKddt |-t}.|.r t|- }/|- D ]\}0}1tdJ |0r|0|/kr|/|0 t |1ttfs4td|pd djf t  d |1d|pd djf t  d dddidddt |1ttf}2|2rt|1}3t	|1D ]d\}4}5t |5t
std|pxd djf t  d |5d|pd djf t  d ddiddqXq|/r4td|pd d t
|/ d |-d|pd d dLdMdNdOgdddGdHd/idIdPigidJdddididKddt|-}6|6dkr d}7|-D ]h}0zDd}8|8dk rzXt |0t
r|d/ |0std|pd d |0d|pd d dHd/idHd|8d7 }8W n tk
r   Y nX |8dk r@zH|0dPkrtd|pd d |0d|p
d d dIdPidId|8d7 }8W n tk
r>   Y nX |8dkrtd|pVd d dt
|8 d  |0d|pxd d dGdHd/idIdPigidGdW n tk
r   d}7Y nX qN|7s td|pd d |-d|pd d dLdMdNdOgdddGdHd/idIdPigidJdddididKddd|kr|dá | d }9t |9tstd|pTd d |9d|pfd d dQdRdNdOgddSddd|kr|dơ | d }:t |:ts
td|pd d |:d|pd d dTdNdOgdddGdHd/idIdPigidJdddididKddt |:t};|;rt|: }<|: D ]\}=}>tdJ |=rJ|=|<kr\|<|= t |>ttfstd|pxd djf t  d |>d|pd djf t  d dddidddt |>ttf}?|?rJt|>}@t	|>D ]d\}A}Bt |Bt
sFtd|pd djf t  d |Bd|p$d djf t  d ddiddqq.|<rtd|p`d d t
|< d |:d|p~d d dTdNdOgdddGdHd/idIdPigidJdddididKddt|:}C|Cdkrd}D|:D ]h}=zDd}E|Edk r`zXt |=t
r>|d/ |=s>td|pd d |=d|p*d d dHd/idHd|Ed7 }EW n tk
r^   Y nX |Edk rzH|=dPkrtd|pd d |=d|pd d dIdPidId|Ed7 }EW n tk
r   Y nX |Edkr"td|pd d dt
|E d  |=d|pd d dGdHd/idIdPigidGdW n tk
r>   d}DY nX q|Dstd|pVd d |:d|phd d dTdNdOgdddGdHd/idIdPigidJdddididKddd|kr|dС | d }Ft |Fttfstd|pd d |Fd|pd d ddd/ddUdVddt |Fttf}G|Grt|F}Ht	|FD ]\}I}Jt |Jt
std|pTd djf t  d |Jd|ptd djf t  d dd/dddt |Jt
r|d/ |Jstd|pd djf t  d |Jd|pd djf t  d dd/ddHdq4d|krf|dԡ | d }Kt |Kttfsptd|p>d d |Kd|pPd d dWddd/ddXd#ddt |Kttf}L|Lrft|K}Mt	|KD ]\}N}Ot |Ot
std|pd djf t  d |Od|pd djf t  d dd/dddt |Ot
rb|d/ |Osbtd|pd djf t  d |Od|p>d djf t  d dd/ddHdqd|kr|dء | d }Pt |Ptstd|pd d |Pd|pd d dYdZd[d\gddJdddidid]ddt |Pt}Q|Qrt|P }R|P D ]\}S}TtdJ |Sr|S|Rkr,|R|S t |Tttfstd|pHd djf t  d |Td|phd djf t  d dddidddt |Tttf}U|Urt|T}Vt	|TD ]d\}W}Xt |Xt
std|pd djf t  d |Xd|pd djf t  d ddiddqqd|kr|dݡ | d }Yt |Ytstd|pRd d |Yd|pdd d d^d_d`dadbdcgddJddddid]ddt |Yt}Z|Zrt|Y }[|Y D ]\}\}]tdJ |\r|\|[kr|[|\ t |]t
s>td|pd djf t  d |]d|pd djf t  d ddddddt |]t
r|dd |]std|pdd djf t  d |]d|pd djf t  d dddddHdqd|k r|d | d }^t |^ttf s"td|pd d |^d|pd d dddidedfgdgdhdidjgdkdlddt |^ttf}_|_ rt|^}`t	|^D ]d\}a}bt |bt
 std| pfd djf t  d |bd| pd djf t  d ddidd qFndgdhdidjg| d< d|k+rl|d | d }ct |ct"std| pd d |cd|!pd d ddmddndogdpdqdrdsgdddtddiidtgdudvdwdxdddydGddidddidgiidygdzgdBdvdwdxdddydGddidddidgiidygdzdvdwdxdddydGddidddidgiidygdzdvdwdxdddydGddidddidgiidygdzdvdwdxdddydGddidddidgiidygdzddHd{idd|dvdwdxdddydGddidddidgiidygdzid}dvdwdxdddydGddidddidgiidygdzd~dddiiigdygdddddt |ct}d|d+rlt|c }ed|ek$r|ed |cd }fd}g|gdk #r8z"t|f||#pdd  |gd7 }gW n tk
#r6   Y nX |gdk #r|z"t|f||#pRdd  |gd7 }gW n tk
#rz   Y nX |gdk$rtd|#pd d dt
|g d  |fd|#pd d dndogdpdqdrdsgdddtddiidtgdudvdwdxdddydGddidddidgiidygdzgdBdGdd|ek$rN|ed |cd }ht|h||$pFdd  d|ek$r|ed |cd }it|i||$pxdd  d|ek$r|ed |cd }jt|j||$pdd  d|ek$r|ed |cd }kt|k||$pdd  d|ek'r`|ed |cd }lt |lt%sxtd|%pd d |ld|%p*d d ddHd{idd|dvdwdxdddydGddidddidgiidygdzid}ddt |lt}m|m'r`t|l }n|l D ]D\}o}ptd| |o%r|o|nk%r|n|o t|p||%pdd  %q|n&r`td|%pd d t
|n d |ld|&pd d ddHd{idd|dvdwdxdddydGddidddidgiidygdzid}ddt|l}q|qdk'r`d}r|lD ]r}ozPt |ot
&r|d{ |o&std|&pd d |od|&pd d dHd{idHdW n tk
&r   d}rY nX &qz|r's`td|'p d d |ld|'pd d ddHd{idd|dvdwdxdddydGddidddidgiidygdzid}ddd|ek)r|ed |cd  d}s|s'sz"t ||'pdd  |sd7 }sW n tk
'r   Y nX |s(s`zt  t}t|t(r>t  }ud|uk(r>|ud  d }vt |vt
(s>td|(pd d |vd|(p*d d ddidd|sd7 }sW n tk
(r^   Y nX |s(std|(prd d  d|(pd d dvdwdxdddydGddidddidgiidygdzd~dddiiigdygdd dt  t}t|t)rt }wt fdddD )std|)pd d  d|)p0d d dvdwdxdddydGddidddidgiidygdzd~dddiiigdygddd|e+rltd|)pd d t
|e d |cd|)pd d ddmddndogdpdqdrdsgdddtddiidtgdudvdwdxdddydGddidddidgiidygdzgdBdvdwdxdddydGddidddidgiidygdzdvdwdxdddydGddidddidgiidygdzdvdwdxdddydGddidddidgiidygdzdvdwdxdddydGddidddidgiidygdzddHd{idd|dvdwdxdddydGddidddidgiidygdzid}dvdwdxdddydGddidddidgiidygdzd~dddiiigdygddddd|0r8td|+p~d d t
| d | d|+pd d dddddd	d
dddddddgdddddidddgdddddddgdddddddd d!dddid"d#d$d%gdddidd&d'd(d)d*d+d,d-gd.ddd/dd0d1d2ddd3dd4d5gdd6dddid7dd8d9gddid:dd;d9gddid:dd<d=gd>d?d@idAgdBdCdDdEdFgdddGdHd/idIdigidJddiidKdLdMdNdOgdddGdHd/idIdPigidJdddididKdQdRdNdOgddSdTdNdOgdddGdHd/idIdPigidJdddididKddd/ddUdVdWddd/ddXd#dYdZd[d\gddJdddidid]d^d_d`dadbdcgddJddddid]dddidedfgdgdhdidjgdkdlddmddndogdpdqdrdsgdddtddiidtgdudvdwdxdddydGddidddidgiidygdzgdBdvdwdxdddydGddidddidgiidygdzdvdwdxdddydGddidddidgiidygdzdvdwdxdddydGddidddidgiidygdzdvdwdxdddydGddidddidgiidygdzddHd{idd|dvdwdxdddydGddidddidgiidygdzid}dvdwdxdddydGddidddidgiidygdzd~dddiiigdygdddddvdwdxdddydGddidddidgiidygdzdpdqdrdsgdddtddiidtgdud1d2ddd3dd4d5gdd6dddid7dd8d9gddid:dd;d9gddid:dd<d=gd>d?d@idAdddd| S (  Nr	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Fr   r   r   rs   r   r   r)   rd   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?  r@  rA  r   rB  rC  rD  r.   rE  rJ  rK  rF   r   r   r   r   rG   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  r  r  r  r  r  r  r  r  r  r  r  r  r5  r  r6  r7  r8  r9  r  r2  r3  r8   r4  r  r   r  r"   r?   r  r  r   r!  rL  rM  rS  r"  z.platforms must be arrayz
.platformsz.platforms[{data__platforms_x}]r[  r#  z.provides must be arrayz	.providesz.provides[{data__provides_x}]z must be pep508-identifierr$  z.obsoletes must be arrayz
.obsoletesz.obsoletes[{data__obsoletes_x}]r%  z.zip-safe must be booleanz	.zip-safer&  z.script-files must be arrayz.script-filesz$.script-files[{data__scriptfiles_x}]r'  z.eager-resources must be arrayz.eager-resourcesz*.eager-resources[{data__eagerresources_x}]r(  r      z.packages must be arrayz	.packagesz.packages[{data__packages_x}]z must be python-module-namer   z1.packages must be valid exactly by one definition ( matches found)r)  z.package-dir must be objectz.package-dirz#.package-dir.{data__packagedir_key}z.package-dir must not contain r\  r!   Tz'.package-dir must be python-module-namez/.package-dir must be same as const definition: z4.package-dir must be valid exactly by one definitionz5.package-dir must be named by propertyName definitionrn   r*  z.package-data must be objectz.package-dataz%.package-data.{data__packagedata_key} must be arrayz@.package-data.{data__packagedata_key}[{data__packagedata_val_x}]z.package-data must not contain z(.package-data must be python-module-namez1.package-data must be same as const definition: *z5.package-data must be valid exactly by one definitionz6.package-data must be named by propertyName definitionr+  z%.include-package-data must be booleanz.include-package-datar,  z$.exclude-package-data must be objectz.exclude-package-dataz4.exclude-package-data.{data__excludepackagedata_key}zV.exclude-package-data.{data__excludepackagedata_key}[{data__excludepackagedata_val_x}]z'.exclude-package-data must not contain z0.exclude-package-data must be python-module-namez9.exclude-package-data must be same as const definition: *z=.exclude-package-data must be valid exactly by one definitionz>.exclude-package-data must be named by propertyName definitionr-  z!.namespace-packages must be arrayz.namespace-packagesz0.namespace-packages[{data__namespacepackages_x}]r.  z.py-modules must be arrayz.py-modulesz .py-modules[{data__pymodules_x}]r/  z.data-files must be objectz.data-filesz!.data-files.{data__datafiles_key}z:.data-files.{data__datafiles_key}[{data__datafiles_val_x}]r0  z.cmdclass must be objectz	.cmdclassz.cmdclass.{data__cmdclass_key}z$ must be python-qualified-identifierr1  z.license-files must be arrayz.license-filesz&.license-files[{data__licensefiles_x}]r   z.dynamic must be object.dynamicrx   z.dynamic.versionz8.dynamic.version must be valid exactly by one definitionr   z.dynamic.classifiersr   z.dynamic.descriptionr   z.dynamic.dependenciesr   z.dynamic.entry-pointsr   z-.dynamic.optional-dependencies must be objectz.dynamic.optional-dependencieszH.dynamic.optional-dependencies.{data__dynamic__optionaldependencies_key}z0.dynamic.optional-dependencies must not contain z8.dynamic.optional-dependencies must be python-identifierzG.dynamic.optional-dependencies must be named by propertyName definitionry   z.dynamic.readmez+.dynamic.readme.content-type must be stringz.dynamic.readme.content-typez5.dynamic.readme cannot be validated by any definitionr7   c                 3   s   | ]}| kV  qd S rU  r   rV  Zdata__dynamic__readmer   r   rZ     s     zYvalidate_https___setuptools_pypa_io_en_latest_references_keywords_html.<locals>.<genexpr>r8   z0.dynamic.readme must contain ['file'] propertiesr#   z.dynamic must not contain r]  )r^  r_  r   r`  ra  rb  re  rf  rc  rg  rh  r   ri  boolbvalidate_https___setuptools_pypa_io_en_latest_references_keywords_html__definitions_find_directiver   REGEX_PATTERNSsearchbvalidate_https___setuptools_pypa_io_en_latest_references_keywords_html__definitions_attr_directivebvalidate_https___setuptools_pypa_io_en_latest_references_keywords_html__definitions_file_directiverd  )xr   r   r   rm  rn  Zdata__platformsZdata__platforms_is_listZdata__platforms_lenZdata__platforms_xZdata__platforms_itemZdata__providesZdata__provides_is_listZdata__provides_lenZdata__provides_xZdata__provides_itemZdata__obsoletesZdata__obsoletes_is_listZdata__obsoletes_lenZdata__obsoletes_xZdata__obsoletes_itemZdata__zipsafeZdata__scriptfilesZdata__scriptfiles_is_listZdata__scriptfiles_lenZdata__scriptfiles_xZdata__scriptfiles_itemZdata__eagerresourcesZdata__eagerresources_is_listZdata__eagerresources_lenZdata__eagerresources_xZdata__eagerresources_itemZdata__packagesZdata__packages_one_of_count1Zdata__packages_is_listZdata__packages_lenZdata__packages_xZdata__packages_itemZdata__packagedirZdata__packagedir_is_dictZdata__packagedir_keysZdata__packagedir_keyZdata__packagedir_valZdata__packagedir_lenZdata__packagedir_property_namesZ"data__packagedir_key_one_of_count2Zdata__packagedataZdata__packagedata_is_dictZdata__packagedata_keysZdata__packagedata_keyZdata__packagedata_valZdata__packagedata_val_is_listZdata__packagedata_val_lenZdata__packagedata_val_xZdata__packagedata_val_itemZdata__packagedata_lenZ data__packagedata_property_namesZ#data__packagedata_key_one_of_count3Zdata__includepackagedataZdata__excludepackagedataZ data__excludepackagedata_is_dictZdata__excludepackagedata_keysZdata__excludepackagedata_keyZdata__excludepackagedata_valZ$data__excludepackagedata_val_is_listZ data__excludepackagedata_val_lenZdata__excludepackagedata_val_xZ!data__excludepackagedata_val_itemZdata__excludepackagedata_lenZ'data__excludepackagedata_property_namesZ*data__excludepackagedata_key_one_of_count4Zdata__namespacepackagesZdata__namespacepackages_is_listZdata__namespacepackages_lenZdata__namespacepackages_xZdata__namespacepackages_itemZdata__pymodulesZdata__pymodules_is_listZdata__pymodules_lenZdata__pymodules_xZdata__pymodules_itemZdata__datafilesZdata__datafiles_is_dictZdata__datafiles_keysZdata__datafiles_keyZdata__datafiles_valZdata__datafiles_val_is_listZdata__datafiles_val_lenZdata__datafiles_val_xZdata__datafiles_val_itemZdata__cmdclassZdata__cmdclass_is_dictZdata__cmdclass_keysZdata__cmdclass_keyZdata__cmdclass_valZdata__licensefilesZdata__licensefiles_is_listZdata__licensefiles_lenZdata__licensefiles_xZdata__licensefiles_itemdata__dynamicZdata__dynamic_is_dictZdata__dynamic_keysZdata__dynamic__versionZ$data__dynamic__version_one_of_count5Zdata__dynamic__classifiersZdata__dynamic__descriptionZdata__dynamic__dependenciesZdata__dynamic__entrypointsZ#data__dynamic__optionaldependenciesZ+data__dynamic__optionaldependencies_is_dictZ(data__dynamic__optionaldependencies_keysZ'data__dynamic__optionaldependencies_keyZ'data__dynamic__optionaldependencies_valZ'data__dynamic__optionaldependencies_lenZ2data__dynamic__optionaldependencies_property_namesZ#data__dynamic__readme_any_of_count6Zdata__dynamic__readme_is_dictZdata__dynamic__readme_keysZ"data__dynamic__readme__contenttypeZdata__dynamic__readme_lenr   rt  r   rl  h   sh       


8R

@PT

@PT

4

<R

>R


<PT 
 


Z


Rf


2 

2 
RZ

`


TVl


2 

2 
R`

<

^


TVj


2 

2 
R^

<PT

>PT

L


TV

L


PT

JT

 



 
 










l


x
6l

 


2 t
v     rl  c                    sJ  t  ts`td|pd d  d|p$d d dddddd	d
ddidddidgiid	gdddt  t}|rFt }t fdddD std|pd d  d|pd d dddddd	d
ddidddidgiid	gdddt  }d	|kr|d	  d	 }d}|dk r|zJt |tsZtd|p4d d |d|pFd d ddidd|d7 }W n tk
rz   Y nX |dk r|zt |t	t
fstd|pd d |d|pd d dddidddt |t	t
f}|rZt|}	t|D ]d\}
}t |tstd|pd djf t  d |d|p4d djf t  d ddiddq|d7 }W n tk
rz   Y nX |dkrtd|pd d dt| d   |d|pd d d
ddidddidgid
d|rFtd|pd d! t| d"  d|p
d d dddddd	d
ddidddidgiid	gdd#d S )$Nr	   r   r   r  r2  r3  r   Fr8   rG   r   r   r   rs   r4  rS  c                 3   s   | ]}| kV  qd S rU  r   rV  r   r   r   rZ    s     zuvalidate_https___setuptools_pypa_io_en_latest_references_keywords_html__definitions_file_directive.<locals>.<genexpr>ru  z! must contain ['file'] propertiesr#   r   ro  z.file must be stringz.filer   z.file must be arrayz.file[{data__file_x}]r[  z-.file must be valid exactly by one definitionrp  rq  r]  r\  r!   )r^  r_  r   rc  rd  r`  ra  rb  rh  re  rf  rg  r   ri  )r   r   r   rm  data_lenrn  Z
data__fileZdata__file_one_of_count7Zdata__file_is_listZdata__file_lenZdata__file_xZdata__file_itemr   r}  r   r{    sJ    
V
V


2 
8R 
Tfr{  c                    s  t  tsRtd|pd d  d|p$d d ddddgdd	d
ddiid
gdddt  t}|rt }t fdddD std|pd d  d|pd d ddddgdd	d
ddiid
gdddt  }d
|kr.|d
  d
 }t |ts.td|pd d |d|pd d ddidd|rtd|p@d d t| d  d|p^d d ddddgdd	d
ddiid
gddd S )Nr	   r   r   r5  r  r6  r7  r   Fr8  r   r   r9  rS  c                 3   s   | ]}| kV  qd S rU  r   rV  r}  r   r   rZ  3  s     zuvalidate_https___setuptools_pypa_io_en_latest_references_keywords_html__definitions_attr_directive.<locals>.<genexpr>)r8  z! must contain ['attr'] propertiesr#   z.attr must be stringz.attrr]  r\  r!   )	r^  r_  r   rc  rd  r`  ra  rb  rh  )r   r   r   rm  r~  rn  Z
data__attrr   r}  r   rz  -  s     
H
H

2Xrz  c                 C   s  t | tstd|pd d | d|p$d d ddddddd	d
gdddddiddddgddiddddgddiddddgdddidddt | t}|rt|  }d|kr0|d | d }t |tsNtd|pd d |d|pd d dd	d
gdddddiddddgddiddddgddiddddgdddddt |t}|r0t| }d|krZ|d |d }t |ttfstd|pd d |d|pd d  ddddidddt |ttf}	|	rZt|}
t	|D ]d\}}t |t
std|pd d!jf t  d" |d|p4d d!jf t  d ddiddqd#|krN|d# |d# }t |ttfstd|pd d$ |d|pd d% dddgddidddt |ttf}|rNt|}t	|D ]d\}}t |t
std|pd d&jf t  d" |d|p(d d&jf t  d ddiddqd'|krB|d' |d' }t |ttfstd|pd d( |d|pd d) dddgddidddt |ttf}|rBt|}t	|D ]d\}}t |t
std|pd d*jf t  d" |d|pd d*jf t  d ddiddqd+|kr|d+ |d+ }t |tstd|pvd d, |d|pd d- dddgddd|r0td|pd d. t
| d/ |d|pd d dd	d
gdddddiddddgddiddddgddiddddgdddd0d|rtd|pBd d1 t
| d/ | d|p`d d ddddddd	d
gdddddiddddgddiddddgddiddddgdddidd0d| S )2Nr	   r   r   r   r:  r   Fr;  r<  r=  r>  r   r   r   r?  r@  rA  r   rB  r   rC  rD  r.   rE  rJ  rK  rS  z.find must be objectz.findrF  z.find.where must be arrayz.find.wherez".find.where[{data__find__where_x}]r[  rG  z.find.exclude must be arrayz.find.excludez&.find.exclude[{data__find__exclude_x}]rH  z.find.include must be arrayz.find.includez&.find.include[{data__find__include_x}]rI  z .find.namespaces must be booleanz.find.namespacesz.find must not contain r\  r!   r]  )r^  r_  r   r`  ra  rb  re  rf  rc  rg  rh  r   ri  rv  )r   r   r   rm  rn  Z
data__findZdata__find_is_dictZdata__find_keysZdata__find__whereZdata__find__where_is_listZdata__find__where_lenZdata__find__where_xZdata__find__where_itemZdata__find__excludeZdata__find__exclude_is_listZdata__find__exclude_lenZdata__find__exclude_xZdata__find__exclude_itemZdata__find__includeZdata__find__include_is_listZdata__find__include_lenZdata__find__include_xZdata__find__include_itemZdata__find__namespacesr   r   r   rw  ?  sp    



x


:R

>R

>R

8rw  c                 C   sb  t | tsbtd|pd d | d|p$d d dddddd	d
dgdddddidddiiddddt | t}|r^t|  }d|kr|d | d }t |tstd|pd d |d|pd d ddddd|  D ]\}}td |r||kr|| t |tstd|pd dj	f t
  d |d|p:d dj	f t
  d ddiddq| S )Nr	   r   r   r   r   r   r   r   r   r   r   r   r   r   r>   r   r   r   r   rS  z.global must be objectz.global.{data_key})r^  r_  r   r`  ra  rb  r   rx  ry  r   ri  )r   r   r   rm  rn  Zdata__globaldata_keydata_valr   r   r   rk  y  s"    
X


0


Prk  c           Q   +      sX%  t  tstd|pd d  d|p&d d dddddgd	d
dddd
dddd
ddgdddddgd
ddddgdd	ddd
ddgdidgdd d
d!d"id gdgid#d
d$d%d&gd'd(id#gdgd)gd*d
d+d,d-gd.d/dd
d0d1gdidgdd d
d2d3d4gdid gdgd5d6d7d8d9d	d
d:d;gdd
d<d=d>d?d@dAdBdCgdDd6d7d8d9d	d
d:d;gdd
d<d=d>d?d@dEdFgdDd6dGd
idHdId6d
dJdKd>dLdMgdDd	dNdOdPd
dQdRidSdTdUd	dVdWdXdYdZd[d\gd]d^idOdPd
d_d`gdadbdcidddTdUd	dVdWdXdYdZd[d\gd]d^idOdPd
d_d`gdadbdcidddedfdgdhgd]diidOdPdTdUd	dVdWdXdYdZd[d\gd]d^idOdPd
d_d`gdadbdciddidjd6dkdldmd
dndodpdqd	drd]didOdPd6dldmd
dndodpdsidtd6dudvgdwdxdydzd{d|d}d~ddddddddgidddgdOdgdddxidgdiddddddddddg	ddxgdgdd7d8d9d	d
d:d;gdd
d<d=d>d?d@dTdUd	dVdWdXdYdZd[d\gd]d^idOdPd
d_d`gdadbdcidddldmd
dndodpdddGdt  t}|"rt }t fdddD sptd|pd d  d|pd d dddddgd	d
dddd
dddd
ddgdddddgd
ddddgdd	ddd
ddgdidgdd d
d!d"id gdgid#d
d$d%d&gd'd(id#gdgd)gd*d
d+d,d-gd.d/dd
d0d1gdidgdd d
d2d3d4gdid gdgd5d6d7d8d9d	d
d:d;gdd
d<d=d>d?d@dAdBdCgdDd6d7d8d9d	d
d:d;gdd
d<d=d>d?d@dEdFgdDd6dGd
idHdId6d
dJdKd>dLdMgdDd	dNdOdPd
dQdRidSdTdUd	dVdWdXdYdZd[d\gd]d^idOdPd
d_d`gdadbdcidddTdUd	dVdWdXdYdZd[d\gd]d^idOdPd
d_d`gdadbdcidddedfdgdhgd]diidOdPdTdUd	dVdWdXdYdZd[d\gd]d^idOdPd
d_d`gdadbdciddidjd6dkdldmd
dndodpdqd	drd]didOdPd6dldmd
dndodpdsidtd6dudvgdwdxdydzd{d|d}d~ddddddddgidddgdOdgdddxidgdiddddddddddg	ddxgdgdd7d8d9d	d
d:d;gdd
d<d=d>d?d@dTdUd	dVdWdXdYdZd[d\gd]d^idOdPd
d_d`gdadbdcidddldmd
dndodpddddt  }d|kr*|d  d }t |tstd|pd d |d|pd d d
ddddGdt |tr*|d |s*td|p d d |d|pd d d
dddd]ddx|kr|dx  dx }t |tstd|p^d d |d|ppd d d
ddddGdt |tr|d |std|pd d |d|pd d d
dddd]ddy|k	r8|dy  dy }t |t	s8td|	pd d |d|	pd d d
ddgddGddz|kr|dz  dz d}	|	dk 	rzTt t	std|	p|d d d|	pd d d
ddddgddGd|	d7 }	W n tk
	r   Y nX |	dk rzt t
sjtd|	pd d d|
pd d d	ddd
ddgdidgdd d
d!d"id gdgid#d
d$d%d&gd'd(id#gdgd)dGdd}
|
sxzt t}|rVt}tfdddD 
std|
pd d d|
pd d dd
ddgdidgdddt }d|krV|d d }t |tsVtd|p*d d |d|p<d d d
ddgddGd|
d7 }
W n tk
rv   Y nX |
szzt t}|rXt}tfdddD std|pd d d|pd d d d
d!d"id gdddt }d |krX|d  d  }t |tsXtd|p0d d |d|pBd d d
d!d"dGd|
d7 }
W n tk
rx   Y nX |
std|pd d d|pd d ddd
ddgdidgdd d
d!d"id gdgiddt t}|rt}tfdddD sVtd|pd d d|p,d d d#d
d$d%d&gd'd(id#gdddt }d#|kr|d# d# }t |tstd|pd d |d|pd d d
d$d%d&gd'd(dGd|	d7 }	W n tk
r   Y nX |	dkrtd|pd d dt|	 d  d|p d d ddddgd
ddddgdd	ddd
ddgdidgdd d
d!d"id gdgid#d
d$d%d&gd'd(id#gdgd)gd*ddd{|krZ|d{  d{ }t |tstd|pd d |d|pd d d
d+d,d-gd.dGdt |trZ|d+ |sZtd|p,d d |d|p>d d d
d+d,d-gd.d]dd||kr|d|  d| d}|dk rzt t}|rft}tfdddD std|pd d d|pd d dd
d0d1gdidgdddt }d|krf|d d }t |tsftd|p:d d |d|pLd d d
d0d1gddGd|d7 }W n tk
r   Y nX |dk rzt t}|rxt}tfdddD s
td|pd d d|pd d d d
d2d3d4gdid gdddt }d |krx|d  d  }t |tsxtd|pJd d |d|p\d d d
d2d3d4gddGd|d7 }W n tk
r   Y nX |dkrtd|pd d dt| d  d|pd d d/dd
d0d1gdidgdd d
d2d3d4gdid gdgd5ddd}|kr|d}  d} }t |t	t
fstd|pRd d |d|pdd d d6d7d8d9d	d
d:d;gdd
d<d=d>d?d@dAdBdCgdDdGdt |t	t
f}|rt|}t|D ] \}}t|||pdd  qd~|kr|d~  d~ }t |t	t
fsvtd|p$d d |d|p6d d d6d7d8d9d	d
d:d;gdd
d<d=d>d?d@dEdFgdDdGdt |t	t
f}|rt|}t|D ] \} }!t|!||pdd  qd|kr|d  d }"t |"t	t
fs"td|pd d |"d|pd d d6dGd
idHdIdGdt |"t	t
f}#|#rt|"}$t|"D ]d\}%}&t |&tstd|pfd djf t  d |&d|pd djf t  d dGd
idGdqFd|kr|d  d }'t |'t	t
fstd|pd d |'d|pd d d6d
dJdKd>dLdMgdDdGdt |'t	t
f}(|(rt|'})t|'D ]\}*}+t |+tstd|p^d djf t  d |+d|p~d djf t  d d
dJdKd>dGdt |+tr|dJ |+std|pd djf t  d |+d|pd djf t  d d
dJdKd>d]dq>d|kr|d  d },t |,ts~td|pHd d |,d|pZd d d	dNdOdPd
dQdRidSdGdt |,t}-|-rt|, }.|, D ]\}/}0tdP |/r|/|.kr|.|/ t |0ts*td|pd djf t  d |0d|pd djf t  d d
dQdRdGdt |0tr|dQ |0std|pPd djf t  d |0d|ppd djf t  d d
dQdRd]dq|.rtd|pd d t|. d |,d|pd d d	dNdOdPd
dQdRidSddd|kr|d  d }1t|1||pdd  d|krP|d  d }2t|2||pHdd  d|krt|d  d }3t |3t}4|4rtt|3 }5|3 D ]D\}6}7tdP |6r|6|5kr|5|6 t|7||pdd  q|5rdtd|pd d t|5 d |3d|pd d dedfdgdhgd]diidOdPdTdUd	dVdWdXdYdZd[d\gd]d^idOdPd
d_d`gdadbdciddidjddt|3}8|8dkrtd}9|3D ]r}6zPt |6tr|di |6std|pd d |6d|pd d d]diid]dW n tk
r   dO}9Y nX q~|9sttd|pd d |3d|pd d dedfdgdhgd]diidOdPdTdUd	dVdWdXdYdZd[d\gd]d^idOdPd
d_d`gdadbdciddidjddd|kr(|d  d }:t |:t	t
fstd|pd d |:d|pd d d6dkdldmd
dndodpdqdGdt |:t	t
f};|;r(t|:}<t|:D ] \}=}>t|>||pdd  qd|kr|d  d }?t |?tstd|p\d d |?d|pnd d d	drd]didOdPd6dldmd
dndodpdsidtdGdt |?t}@|@rt|? }A|? D ]\}B}CtdP |Br|B|Akr|A|B t |Ct	t
fs`td|pd djf t  d |Cd|p0d djf t  d d6dldmd
dndodpdsdGdt |Ct	t
f}D|Drt|C}Et|CD ] \}F}Gt|G||pdd  qq|Artd|pd d t|A d |?d|pd d d	drd]didOdPd6dldmd
dndodpdsidtddt|?}H|Hdkrd}I|?D ]r}BzPt |Btr||d |Bs|td|pVd d |Bd|phd d d]did]dW n tk
r   dO}IY nX q*|Istd|pd d |?d|pd d d	drd]didOdPd6dldmd
dndodpdsidtddd|kr&|d  d }Jt |Jt	t
fstd|p0d d |Jd|pBd d d6dudvgdwdxdydzd{d|d}d~ddddddddgiddGdt |Jt	t
f}K|Kr&t|J}Lt|JD ]\}M}N|Ndkr"td|pd djf t  d |Nd|pd djf t  d dwdxdydzd{d|d}d~ddddddddgidwdq|"rtd|p8d d  t| d  d|pXd d dddddgd	d
dddd
dddd
ddgdddddgd
ddddgdd	ddd
ddgdidgdd d
d!d"id gdgid#d
d$d%d&gd'd(id#gdgd)gd*d
d+d,d-gd.d/dd
d0d1gdidgdd d
d2d3d4gdid gdgd5d6d7d8d9d	d
d:d;gdd
d<d=d>d?d@dAdBdCgdDd6d7d8d9d	d
d:d;gdd
d<d=d>d?d@dEdFgdDd6dGd
idHdId6d
dJdKd>dLdMgdDd	dNdOdPd
dQdRidSdTdUd	dVdWdXdYdZd[d\gd]d^idOdPd
d_d`gdadbdcidddTdUd	dVdWdXdYdZd[d\gd]d^idOdPd
d_d`gdadbdcidddedfdgdhgd]diidOdPdTdUd	dVdWdXdYdZd[d\gd]d^idOdPd
d_d`gdadbdciddidjd6dkdldmd
dndodpdqd	drd]didOdPd6dldmd
dndodpdsidtd6dudvgdwdxdydzd{d|d}d~ddddddddgidddgdOdgdddxidgdiddddddddddg	ddxgdgdd7d8d9d	d
d:d;gdd
d<d=d>d?d@dTdUd	dVdWdXdYdZd[d\gd]d^idOdPd
d_d`gdadbdcidddldmd
dndodpddddzzvt  t}|$rPt }t fdddD #sZtd|#pd d  d|#p2d d dgdddxidgdidddt  }d|k$rP|d  d }Jt |Jt	t
f}K|K$rPdO}O|JD ]l}PzN|Pdxk#rtd|#pd d |Pd|#pd d ddxiddd}OW  $qW n tk
$r   Y nX #q|O$sPtd|$pd d |Jd|$p2d d ddxidgdddW n tk
$rh   Y ndX td|$pvd d  d|$pd d dgdddxidgdiddddddddddg	dddW n tk
$r   Y npX t  t}|%rTt }t fd	dd
D %sTtd|%p&d d  d|%p:d d dxgdgddd S (  Nr	   r   r   r   r$   r%   r&   r'   r   r   r(   r)   r   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   r   rT   r   r   r   r   r   r   r_   r   r   rU   rV   rW   rX   rY   rZ   r   r[   r\   r]   r^   r`   ra   rb   Fr   rc   rd   re   rg   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rh   ri   rj   rk   rl   rm   ro   rp   r   r   r   r   rq   rr   rs   rt   ru   rv   rw   rx   r   ry   rz   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   r   r   r   r   r   rS  c                 3   s   | ]}| kV  qd S rU  r   rV  r}  r   r   rZ    s     zlvalidate_https___packaging_python_org_en_latest_specifications_declaring_project_metadata.<locals>.<genexpr>)r   z! must contain ['name'] propertiesr#   .name must be string.namez.name must be pep508-identifierz.version must be stringz.versionz.version must be pep440z.description must be stringz.descriptionr   ro  z.readme must be stringz.readmer   z.readme must be objectc                 3   s   | ]}| kV  qd S rU  r   rV  data__readmer   r   rZ    s     ru  z(.readme must contain ['file'] propertiesz.readme.file must be stringz.readme.filec                 3   s   | ]}| kV  qd S rU  r   rV  r  r   r   rZ    s     )r<   z(.readme must contain ['text'] propertiesz.readme.text must be stringz.readme.textz-.readme cannot be validated by any definitionc                 3   s   | ]}| kV  qd S rU  r   rV  r  r   r   rZ    s     )r?   z0.readme must contain ['content-type'] propertiesz#.readme.content-type must be stringz.readme.content-typez/.readme must be valid exactly by one definitionrp  rq  rG   z.requires-python must be stringz.requires-pythonz+.requires-python must be pep508-versionspecc                 3   s   | ]}| kV  qd S rU  r   rV  data__licenser   r   rZ    s     z).license must contain ['file'] propertiesz.licensez.license.file must be stringz.license.filec                 3   s   | ]}| kV  qd S rU  r   rV  r  r   r   rZ    s     z).license must contain ['text'] propertiesz.license.text must be stringz.license.textz0.license must be valid exactly by one definitionz.authors must be arrayz.authorsz.authors[{data__authors_x}]z.maintainers must be arrayz.maintainersz#.maintainers[{data__maintainers_x}]z.keywords must be arrayz	.keywordsz.keywords[{data__keywords_x}]r[  z.classifiers must be arrayz.classifiersz#.classifiers[{data__classifiers_x}]z must be trove-classifierz.urls must be objectz.urlsz.urls.{data__urls_key}z must be urlz.urls must not contain r\  r!   z.scriptsz.gui-scriptsz%.entry-points.{data__entrypoints_key}z.entry-points must not contain z.entry-pointsTz-.entry-points must be python-entrypoint-groupz6.entry-points must be named by propertyName definitionrn   z.dependencies must be arrayz.dependenciesz%.dependencies[{data__dependencies_x}]z%.optional-dependencies must be objectz.optional-dependenciesz7.optional-dependencies.{data__optionaldependencies_key}rr  z[.optional-dependencies.{data__optionaldependencies_key}[{data__optionaldependencies_val_x}]z(.optional-dependencies must not contain z0.optional-dependencies must be pep508-identifierz?.optional-dependencies must be named by propertyName definitionz.dynamic must be arrayrs  )rx   r   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   z.dynamic[{data__dynamic_x}]z must be one of ['version', 'description', 'readme', 'requires-python', 'license', 'authors', 'maintainers', 'keywords', 'classifiers', 'urls', 'scripts', 'gui-scripts', 'entry-points', 'dependencies', 'optional-dependencies']r]  c                 3   s   | ]}| kV  qd S rU  r   rV  r}  r   r   rZ    s     )r   z$ must contain ['dynamic'] propertiesz2.dynamic must be same as const definition: versionz0.dynamic must contain one of contains definitionr   z' must NOT match a disallowed definitionr   c                 3   s   | ]}| kV  qd S rU  r   rV  r}  r   r   rZ    s     )rx   z$ must contain ['version'] properties)r^  r_  r   rc  rd  r`  ra  rb  rh  re  rf  rg  nvalidate_https___packaging_python_org_en_latest_specifications_declaring_project_metadata___definitions_authorr   ri  r   rx  ry  yvalidate_https___packaging_python_org_en_latest_specifications_declaring_project_metadata___definitions_entry_point_grouprvalidate_https___packaging_python_org_en_latest_specifications_declaring_project_metadata___definitions_dependency)Qr   r   r   rm  r~  rn  
data__nameZdata__versionZdata__descriptionZdata__readme_one_of_count8Zdata__readme_any_of_count9Zdata__readme_is_dictZdata__readme_lenZdata__readme_keysZdata__readme__fileZdata__readme__textZdata__readme__contenttypeZdata__requirespythonZdata__license_one_of_count10Zdata__license_is_dictZdata__license_lenZdata__license_keysZdata__license__fileZdata__license__textZdata__authorsZdata__authors_is_listZdata__authors_lenZdata__authors_xZdata__authors_itemZdata__maintainersZdata__maintainers_is_listZdata__maintainers_lenZdata__maintainers_xZdata__maintainers_itemZdata__keywordsZdata__keywords_is_listZdata__keywords_lenZdata__keywords_xZdata__keywords_itemZdata__classifiersZdata__classifiers_is_listZdata__classifiers_lenZdata__classifiers_xZdata__classifiers_itemZ
data__urlsZdata__urls_is_dictZdata__urls_keysZdata__urls_keyZdata__urls_valZdata__scriptsZdata__guiscriptsZdata__entrypointsZdata__entrypoints_is_dictZdata__entrypoints_keysZdata__entrypoints_keyZdata__entrypoints_valZdata__entrypoints_lenZ data__entrypoints_property_namesZdata__dependenciesZdata__dependencies_is_listZdata__dependencies_lenZdata__dependencies_xZdata__dependencies_itemZdata__optionaldependenciesZ"data__optionaldependencies_is_dictZdata__optionaldependencies_keysZdata__optionaldependencies_keyZdata__optionaldependencies_valZ&data__optionaldependencies_val_is_listZ"data__optionaldependencies_val_lenZ data__optionaldependencies_val_xZ#data__optionaldependencies_val_itemZdata__optionaldependencies_lenZ)data__optionaldependencies_property_namesr|  Zdata__dynamic_is_listZdata__dynamic_lenZdata__dynamic_xZdata__dynamic_itemZdata__dynamic_containsZdata__dynamic_keyr   )r   r  r  r   rj    s      
   

66

66

8


< 

D

8 
@

4 ^
H

< 


::



D

8 

F

: 
v

`

^

:R

BRV

B


PTN









6|

B

T


\`
6T

\
p   
H


4 
B f
:rj  c              
   C   s   t | ts@td|pd d | d|p$d d dddddd	d
dt | tr|d | std|p`d d | d|ppd d dddddd	dd| S )Nr	   r   r[  rp   r   r   r   r   r   r   rS  z must be pep508r   )r^  rh  r   r   r   r   r   r    s    
6
6r  c           	      C   s  t | tshtd|pd d | d|p$d d dddddd	d
dddgddidddddgdddidddt | t}|rt|  }|  D ]\}}td |r||kr|| t |t	std|pd dj
f t  d |d|pd dj
f t  d dddgdddddt |t	r|d |std|p6d dj
f t  d |d|pVd dj
f t  d dddgdddddq|rtd|pd d t	| d | d|pd d dddddd	d
dddgddidddddgdddidd dt| }|d!krd"}| D ]r}zPt |t	rd|d |sdtd|p>d d# |d|pPd d ddiddW n tk
r   d}Y nX q|std|pd d$ | d|pd d dddddd	d
dddgddidddddgdddidd%d| S )&Nr	   r   r   rg   r   r   r   r   r   r   r   r   r   r   r   Fr   r   r   r   r   r   r   r   r   rS  r  r[  z$ must be python-entrypoint-referencer]  r\  r!   r   Tz must be python-entrypoint-namez) must be named by propertyName definitionrn   )r^  r_  r   r`  ra  r   rx  ry  rb  rh  r   ri  rc  )	r   r   r   rm  rn  r  r  r~  Zdata_property_namesr   r   r   r    s:    
^

T
Zn
6br  c                 C   s~  t | tsXtd|pd d | d|p$d d dddddd	d
gdddddddddt | t}|rzt|  }d|kr|d | d }t |tstd|pd d |d|pd d dd	d
gdddd|krz|d | d }t |ts(td|pd d |d|pd d ddddddt |trztd |sztd|pPd d |d|pbd d dddddd| S )Nr	   r   r   rT   r   r   r   r   r   r   r.   r   r   r_   r   r   r   rS  r   r  r  r   z.email must be stringz.emailr   z.email must be idn-emailr   )	r^  r_  r   r`  ra  rb  rh  rx  match)r   r   r   rm  rn  r  Zdata__emailr   r   r   r    s&    
N


4

46r  )VERSIONreZfastjsonschema_exceptionsr   compilerx  r   ZNoneTyper   r
   rl  r{  rz  rw  rk  rj  r  r  r  r   r   r   r   <module>   s0   I   #%:  G