o
    Ee1                    @   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i dfd d!ZdS )"z2.16.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   /var/www/bmteknikk.ddns.net/venv/lib/python3.10/site-packages/setuptools/config/_validate_pyproject/fastjsonschema_validations.pyvalidate   s   r   c              &      s  t | tstd|pd d | d|pd d dddg ddd	dd
d	dg d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i dddd dd!dd"d#dd$dd%d&gd'd(g d)dg d*d'dd+d,dd-d.gd'id,gd/d0dd1d2id0gd/gid3dg d4d5d6id3gd/gd7gd8d9dd:d;d<gd=d>d?d,dd@dAgd'id,gd/d0dg dBd'id0gd/gdCdDddEdFig dGdHdIddEdFidJdKgdHdLdddidMdNdOdddPdQdRdSdTgdHdUddVd	dWddXdYidZd[d\d]d^gd_d`d\g dad_dbg dcdddeid	dWdEd\iidfdgddhdEdiidjdkddlddd id	dWddEdiidmidndoddpdqgdrg dsiddgd	dogdodtd!idugdvidwg dxdyd!gdzgd{dFd|d}dd	dd~dgd'ddddRddd\ddg ddddid	dWdddgdddiddidddddddddddg dddddd2idddiidddddg ddd	i ddddidmdddgddd dYddddgddd dYddddddddddidddddgdddiddg ddddEdiddEdigd8dg ddd	ddtdidEdigidddiiddg ddd	ddddidtdigiddddidmiddg ddddg dâdd	ddddidtdigiddddidmiddddddYddƜddddddYdddg dˢdddddidmid̜dg d΢dddddYid̜ddddig dѢddӜdoddd	ddgdEdidEdigd8dEdidEdidEdidEdiddddid	ddEdiidڜdEdidd3ddiiigd,gdܜdݜdޜdddddddidddigdddddd	d,dddidddidmgiid,gdddddgdd	dddiidgddddd	ddddgd	ddddiddddgddiddddgddiddddgd'ddidddddddddddgdi dddd dd!dd"d#dd$dd%d&gd'd(g d)dg d*d'dd+d,dd-d.gd'id,gd/d0dd1d2id0gd/gid3dg d4d5d6id3gd/gd7gd8d9dd:d;d<gd=d>d?d,dd@dAgd'id,gd/d0dg dBd'id0gd/gdCdDddEdFig dGdHdIddEdFidJdKgdHdLdddidMdNdOdddPdQdRdSdTgdHdUddVd	dWddXdYidZd[d\d]d^gd_d`d\g dad_dbg dcdddeid	dWdEd\iidfdgddhdEdiidjdkddlddd id	dWddEdiidmidndoddpdqgdrg dsiddgd	dogdodtd!idugdvidwg dxdyd!gdzgd{dFd|d}dd	dd~dgd'ddddRddd\ddg ddddid	dWdddgdddiddiddddddddddt | t}|rt|  }d |v r|d  | d   t  tstd|pd d  d|pd d dd
d	dg dddiddddddddgddddddgdddt  t}|rt }t fdddD s<td|pd d  d|pd d dd
d	dg dddiddddddddgddddddgdddt  }d|v r|d  d }t |tt	fsytd|p^d d |d|phd d	 dg dddidddt |tt	f}	|	rt|}
t
|D ];\}}t |tstd|pd d
jd!i t  d |d|pd d
jd!i t  d ddiddqd|v r%|d  d }t |tstd|pd d |d|pd d ddddddt |tr%|d |s%td|pd d |d|pd d dddddddd|v r|d  d }t |tt	fs`td|pDd d |d|pNd d dddgddddddt |tt	f}|rt|}t
|D ]<\}}t |tstd|pd djd!i t  d |d|pd djd!i t  d dddddqr|rtd|pd d t| d  d|pd d dd
d	dg dddiddddddddgddddddgdddd|v r|d | d }t|||pdd  d|v 	r-|d | d }t |tstd|p-d d |d|p7d d ddddg dddddd2idddiidddddg ddd	i ddddidmdddgddd dYddddgddd dYddddddddddidddddgdddiddg ddddEdiddEdigd8dg ddd	ddtdidEdigidddiiddg ddd	ddddidtdigiddddidmiddg ddddg dâdd	ddddidtdigiddddidmiddddddYddƜddddddYdddg dˢdddddidmid̜dg d΢dddddYid̜ddddig dѢddӜdoddd	ddgdEdidEdigd8dEdidEdidEdidEdiddddid	ddEdiidڜdEdidd3ddiiigd,gdܜdݜdޜdddddddidddigdddddd	d,dddidddidmgiid,gdddddgdd	dddiidgddddd	ddddgd	ddddiddddgddiddddgddiddddgd'ddidddddddt |t}|	r-t| }d|v 	r|d |d }t|||	pdd  d|v 	r-|d |d }t|||	p(dd  |rtd|	p6d d  t| d | d|	pGd d dddg ddd	dd
d	dg d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i dddd dd!dd"d#dd$dd%d&gd'd(g d)dg d*d'dd+d,dd-d.gd'id,gd/d0dd1d2id0gd/gid3dg d4d5d6id3gd/gd7gd8d9dd:d;d<gd=d>d?d,dd@dAgd'id,gd/d0dg dBd'id0gd/gdCdDddEdFig dGdHdIddEdFidJdKgdHdLdddidMdNdOdddPdQdRdSdTgdHdUddVd	dWddXdYidZd[d\d]d^gd_d`d\g dad_dbg dcdddeid	dWdEd\iidfdgddhdEdiidjdkddlddd id	dWddEdiidmidndoddpdqgdrg dsiddgd	dogdodtd!idugdvidwg dxdyd!gdzgd{dFd|d}dd	dd~dgd'ddddRddd\ddg ddddid	dWdddgdddiddidddddddddddg dddddd2idddiidddddg ddd	i ddddidmdddgddd dYddddgddd dYddddddddddidddddgdddiddg ddddEdiddEdigd8dg ddd	ddtdidEdigidddiiddg ddd	ddddidtdigiddddidmiddg ddddg dâdd	ddddidtdigiddddidmiddddddYddƜddddddYdddg dˢdddddidmid̜dg d΢dddddYid̜ddddig dѢddӜdoddd	ddgdEdidEdigd8dEdidEdidEdidEdiddddid	ddEdiidڜdEdidd3ddiiigd,gdܜdݜdޜdddddddidddigdddddd	d,dddidddidmgiid,gdddddgdd	dddiidgddddd	ddddgd	ddddiddddgddiddddgddiddddgd'ddidddddddddddgdi dddd dd!dd"d#dd$dd%d&gd'd(g d)dg d*d'dd+d,dd-d.gd'id,gd/d0dd1d2id0gd/gid3dg d4d5d6id3gd/gd7gd8d9dd:d;d<gd=d>d?d,dd@dAgd'id,gd/d0dg dBd'id0gd/gdCdDddEdFig dGdHdIddEdFidJdKgdHdLdddidMdNdOdddPdQdRdSdTgdHdUddVd	dWddXdYidZd[d\d]d^gd_d`d\g dad_dbg dcdddeid	dWdEd\iidfdgddhdEdiidjdkddlddd id	dWddEdiidmidndoddpdqgdrg dsiddgd	dogdodtd!idugdvidwg dxdyd!gdzgd{dFd|d}dd	dd~dgd'ddddRddd\ddg ddddid	dWdddgdddiddiddddddddd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`` files)zKFile 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array)zKList 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`)nameIThe name (primary identifier) of the project. MUST be statically defined.pep508-identifierversion6The version of the project as supported by :pep:`440`.pep440r   'The `summary description of the projectF<https://packaging.python.org/specifications/core-metadata/#summary>`_r   r   readmezA`Full/detailed description of the project in the form of a READMEz,<https://peps.python.org/pep-0621/#readme>`_zGwith meaning similar to the one defined in `core metadata's DescriptionzJ<https://packaging.python.org/specifications/core-metadata/#description>`_zDRelative path to a text file (UTF-8) containing the full descriptionzDof the project. If the file path ends in case-insensitive ``.md`` orz8``.rst`` suffixes, then the content-type is respectivelyz#``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-typez2Content-type (:rfc:`1341`) of the full descriptionz>(e.g. ``text/markdown``). The ``charset`` parameter is assumedzUTF-8 when not present."TODO: add regex pattern or format?r   r   r   r   allOfr   oneOfrequires-pythonpep508-versionspec/`The Python version requirements of the projectO<https://packaging.python.org/specifications/core-metadata/#requires-python>`_.r   r   r   license?`Project license <https://peps.python.org/pep-0621/#license>`_.DRelative path to the file (UTF-8) which contains the license for theproject.z7The license of the project whose meaning is that of thez%`License field from the core metadatazG<https://packaging.python.org/specifications/core-metadata/#license>`_.r   rC   authors$ref#/definitions/authorzJThe people or organizations considered to be the 'authors' of the project.zNThe exact meaning is open to interpretation (e.g. original or primary authors,z/current maintainers, or owners of the package).r   r   r   maintainersNThe people or organizations considered to be the 'maintainers' of the project.FSimilarly to ``authors``, the exact meaning is open to interpretation.keywordsNList of keywords to assist searching for the distribution in a larger catalog.r   r   r   classifierstrove-classifier3`PyPI classifier <https://pypi.org/classifiers/>`_.r   r   r   4`Trove classifiers <https://pypi.org/classifiers/>`_which apply to the project.urls@URLs associated with the project in the form ``label => value``.r   urlr   r   r   r   r!   patternPropertiesscripts#/definitions/entry-point-groupzDInstruct the installer to create command-line wrappers for the givenL`entry points <https://packaging.python.org/specifications/entry-points/>`_.)rP   r   gui-scripts)z;Instruct the installer to create GUI wrappers for the givenrh   zJThe difference between ``scripts`` and ``gui-scripts`` is only relevant inzWindows.entry-pointsz@Instruct the installer to expose the given modules/functions viaz9``entry-point`` discovery mechanism (useful for plugins).z9More information available in the `Python packaging guidez><https://packaging.python.org/specifications/entry-points/>`_.r   python-entrypoint-groupr   propertyNamesr!   re   dependencies!Project (mandatory) dependencies.#/definitions/dependencyr   r   r   optional-dependencies#Optional dependency for the projectr   r   r   r   rn   r!   re   dynamicGSpecifies which fields are intentionally unspecified and expected to be#dynamically provided by build toolsenumr+   r   r1   rD   rI   rO   rT   rW   rZ   r`   rf   ri   rj   ro   rs   const version is listed in ``dynamic``containsr   r#   r"   	zAccording to :pep:`621`:zH    If the core metadata specification lists a field as "Required", thenzH    the metadata MUST specify the field statically or list it in dynamicz"In turn, `core metadata`_ defines:z=    The required fields are: Metadata-Version, Name, Version.z&    All the other fields are optional.zISince ``Metadata-Version`` is defined by the build back-end, ``name`` andzE``version`` are the only mandatory information in ``pyproject.toml``.zM.. _core metadata: https://packaging.python.org/specifications/core-metadata/notz	$$comment=version should be statically defined in the ``version`` fieldr#   r   Author or Maintainer5https://peps.python.org/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!   r"   Entry-pointszLEntry-points are grouped together to indicate what sort of capabilities theyzprovide.zSee the `packaging guidesz=<https://packaging.python.org/specifications/entry-points/>`_zand `setuptools docszC<https://setuptools.pypa.io/en/latest/userguide/entry_point.html>`_z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!   re   
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!   ifthendefinitions"https://docs.python.org/3/install/``tool.distutils`` tablezGOriginally, ``distutils`` allowed developers to configure arguments forz7``setup.py`` scripts via `distutils configuration fileszE<https://docs.python.org/3/install/#distutils-configuration-files>`_.z@``tool.distutils`` subtables could be used with the same purposez(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"   re   r   =https://setuptools.pypa.io/en/latest/references/keywords.html``tool.setuptools`` tablezLPlease notice for the time being the ``setuptools`` project does not specifyz3a way of configuring builds via ``pyproject.toml``.zMTherefore this schema should be taken just as a *"thought experiment"* on howz@this *might be done*, by following the principles established inzO`ini2toml <https://ini2toml.readthedocs.io/en/latest/setuptools_pep621.html>`_.z,It considers only ``setuptools`` `parameterszJ<https://setuptools.pypa.io/en/latest/userguide/declarative_config.html>`_zTthat can currently be configured via ``setup.cfg`` and are not covered by :pep:`621`zGbut intentionally excludes ``dependency_links`` and ``setup_requires``.zINOTE: ``scripts`` was renamed to ``script-files`` to avoid confusion withz2entry-point based scripts (defined in :pep:`621`).	platformsprovides?Package and virtual package names contained within this package**(not supported by pip)**r   r   r   	obsoletes,Packages which this package renders obsoletezip-safeDWhether the project can be safely installed and run from a zip file.booleanr   r   script-files<Legacy way of defining scripts (entry-points are preferred).1TODO: is this field deprecated/should be removed?r   r   r   r   eager-resourcesFResources that should be extracted together, if any of them is needed,<or if any C extensions included in the project are imported.packagesz5Packages that should be included in the distribution.z7It can be given either as a list of package identifiersz:or as a ``dict``-like structure with a single key ``find``z&which corresponds to a dynamic call toz4``setuptools.config.expand.find_packages`` function.zMThe ``find`` key is associated with a nested ``dict``-like structure that canzDcontain ``where``, ``include``, ``exclude`` and ``namespaces`` keys,z;mimicking the keyword arguments of the associated function.#Array of Python package identifiers#/definitions/package-namer   r   r   #/definitions/find-directivepackage-dirzR:class:`dict`-like structure mapping from package names to directories where theirzcode can be found.zFThe empty string (as key) means that all packages are contained insidez9the given directory will be included in the distribution.rC   r   r   r   r!   rn   re   package-dataz5Mapping from package names to lists of glob patterns.zLUsually 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>`_.python-module-name*include-package-datazCAutomatically include any data files inside the package directoriesz%that are specified by ``MANIFEST.in``r   r   r   r   exclude-package-datazLMapping from package names to lists of glob patterns that should be excludedr   r   namespace-packagesEhttps://setuptools.pypa.io/en/latest/userguide/package_discovery.htmlr   r   r   
py-modules'Modules that setuptools will manipulate0TODO: clarify the relationship with ``packages``
data-fileszM**DEPRECATED**: dict-like structure where each key represents a directory andzFthe value is a list of glob patterns that should be installed in them.zBPlease notice this don't work with wheels. See `data files supportzA<https://setuptools.pypa.io/en/latest/userguide/datafiles.html>`_r   r   re   cmdclasszMMapping of distutils-style command names to ``setuptools.Command`` subclasseszJwhich in turn should be represented by strings with a qualified class namez+(i.e., "dotted" form with module), e.g.::

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

zFThe command class should be a directly defined at the top-level of thez%containing module (no class nesting).python-qualified-identifierlicense-fileszKPROVISIONAL: List of glob patterns for all license files being distributed.z%(might become standard with PEP 639).zBBy default: ``['LICEN[CS]E*', 'COPYING*', 'NOTICE*', 'AUTHORS*']``HTODO: revise if PEP 639 is accepted. Probably ``project.license-files``?r   r   r   r   @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!   re   r"   r4   r#   r+   rZ   r   ro   rj   rs   r1   r   r   r!   r"   Valid package name+Valid package name (importable or PEP 561).pep561-stub-namer   r   r   r   r4   '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package-namez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"   r  valuer(   
definitionruler  z.build-system must be objectz.build-systemc                 3       | ]}| v V  qd S Nr   .0propdata__buildsystemr   r   	<genexpr>-       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!   r  z.projectr  z.tool must be objectz.toolr  z.tool.distutilsr  z.tool.setuptools must not contain r   )
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_keysdata__buildsystem_is_dictdata__buildsystem_lendata__buildsystem_keysdata__buildsystem__requires#data__buildsystem__requires_is_listdata__buildsystem__requires_lendata__buildsystem__requires_x data__buildsystem__requires_itemdata__buildsystem__buildbackenddata__buildsystem__backendpath&data__buildsystem__backendpath_is_list"data__buildsystem__backendpath_len data__buildsystem__backendpath_x#data__buildsystem__backendpath_itemdata__project
data__tooldata__tool_is_dictdata__tool_keysdata__tool__distutilsdata__tool__setuptoolsr   r  r   r
      s            

r
t

B`
::
Db

   


        . r
   c           x   #      st0  t | tstd|pd d | d|pd d dddg ddd	i d
dddiddddgddddddddgddddddddddddddidddd d!gdddidd"g d#d$dd%d&d'dd(d)id(d*igd+d,d-d.dd	d/dd0d1gd	d2dddid3dd4d5gddid6dd7d5gddid6dd8d9gd:d;d<id=gd>d?g d@dd	dAdBdid%d&d'dd(d)id(d*igd+gidCddiidDdEg dFdd	dAd(d)idBdGigidCdddididDdHg dIddJdKg dLdd	dAd(d)idBdGigidCdddididDdMddd)ddNdOdPdQddd)ddRddSg dTddCdddididUdVg dWddCddXdidUdYdddig dZd[d\d]dd^d	d_d`gdadbdcddgdd	deddiidegdfdgdhdidd	djdAddidddidgiidjgdkgd>dgdhdidd	djdAddidddidgiidjgdkdgdhdidd	djdAddidddidgiidjgdkdgdhdidd	djdAddidddidgiidjgdkdgdhdidd	djdAddidddidgiidjgdkdd(dlid	dmdgdhdidd	djdAddidddidgiidjgdkidndgdhdidd	djdAddidddidgiidjgdkdodpddiiigdjgdqdrdsd%d&d'dd(d)id(d*igd+dgdhdidd	djdAddidddidgiidjgdkdadbdcddgdd	deddiidegdfd-d.dd	d/dd0d1gd	d2dddid3dd4d5gddid6dd7d5gddid6dd8d9gd:d;d<id=dtduddvt | t}|r8t|  }d
|v r	|d
 | d
 }t |ttfstd|pd dw |d|pd dx dddidddvt |ttf}|r	t|}t	|D ]6\}}	t |	t
std|pd dyjdi t  dz |	d|pd dyjdi t  d ddiddvqd|v r|d | d }
t |
ttfs?td|p%d d{ |
d|p.d d| ddgdddddddvt |
ttf}|rt|
}t	|
D ]p\}}t |t
std|pad d}jdi t  dz |d|psd d}jdi t  d dddddvt |t
r|d |std|pd d}jdi t  d~ |d|pd d}jdi t  d dddd(dvqQd|v r{|d | d }t |ttfstd|pd d |d|pd d ddgdddddddvt |ttf}|r{t|}t	|D ]p\}}t |t
s@td|pd djdi t  dz |d|p,d djdi t  d dddddvt |t
ry|d |sytd|pSd djdi t  d~ |d|ped djdi t  d dddd(dvq
d|v r|d | d }t |tstd|pd d |d|pd d dddddvd|v r&|d | d }t |ttfstd|pd d |d|pd d ddddiddddvt |ttf}|r&t|}t	|D ]6\}}t |t
s$td|pd djdi t  dz |d|pd djdi t  d ddiddvqd|v r|d | d }t |ttfs[td|pBd d |d|pKd d d d!gdddidddvt |ttf}|rt|}t	|D ]6\}}t |t
std|p}d djdi t  dz |d|pd djdi t  d ddiddvqmd"|v r|d" | d" }d} | dk r#z_t |ttfstd|pd d |d|pd d d$dd%d&d'dd(d)id(d*igd+d,ddvt |ttf}!|!rt|}"t	|D ]\}#}$t|$||pddjdi t   q| d7 } W n
 ty"   Y nw | dk rDzt|||p0dd  | d7 } W n
 tyC   Y nw | dkrtd|pOd d dt
|  d  |d|p`d d g d#d$dd%d&d'dd(d)id(d*igd+d,d-d.dd	d/dd0d1gd	d2dddid3dd4d5gddid6dd7d5gddid6dd8d9gd:d;d<id=gd>dAdvd?|v ru|d? | d? }%t |%tstd|pd d |%d|pd d g d@dd	dAdBdid%d&d'dd(d)id(d*igd+gidCddiidDddvt |%t}&|&rut|% }'|% D ]H\}(})tdC |(rP|(|'v r|'|( t |)t
sPtd|p+d djdi t  dz |)d|p=d djdi t  d ddiddvq	|'rtd|p[d d t
|' d |%d|pjd d g d@dd	dAdBdid%d&d'dd(d)id(d*igd+gidCddiidDddvt|%}*|*dkrud}+|%D ]}(zd},|,dk rz$|(dkrtd|pd d |(d|pd d dBdidBdv|,d7 },W n
 ty   Y nw |,dk rzt|(||pdd  |,d7 },W n
 ty   Y nw |,dkr-td|pd d dt
|, d  |(d|pd d dAdBdid%d&d'dd(d)id(d*igd+gidAdvW q ty<   d	}+Y qw |+sutd|pFd d |%d|pOd d g d@dd	dAdBdid%d&d'dd(d)id(d*igd+gidCddiidDddvdE|v 
r|dE | dE }-t |-tstd|pd d |-d|pd d g dFdd	dAd(d)idBdGigidCdddididDddvt |-t}.|.
rt|- }/|- D ]\}0}1tdC |0	r^|0|/v r|/|0 t |1ttf	std|pd djdi t  d |1d|pd djdi t  d dddidddvt |1ttf}2|2	r^t|1}3t	|1D ]6\}4}5t |5t
	s\td|	p7d djdi t  dz |5d|	pId djdi t  d ddiddv	q'q|/	rtd|	pid d t
|/ d |-d|	pxd d g dFdd	dAd(d)idBdGigidCdddididDddvt|-}6|6dk
rd}7|-D ]}0zd}8|8dk 	rz,t |0t
	r|d) |0	std|	pd d |0d|	pd d d(d)id(dv|8d7 }8W n
 t	y   Y nw |8dk 
rz$|0dGk
r	td|	pd d |0d|	pd d dBdGidBdv|8d7 }8W n
 t
y   Y nw |8dk
rEtd|
p$d d dt
|8 d  |0d|
p5d d dAd(d)idBdGigidAdvW 	q t
yT   d	}7Y 	qw |7
std|
p^d d |-d|
pgd d g dFdd	dAd(d)idBdGigidCdddididDddvdH|v 
r|dH | dH }9t |9t
std|
pd d |9d|
pd d g dIddJddvdK|v r|dK | dK }:t |:t
std|
pd d |:d|
pd d g dLdd	dAd(d)idBdGigidCdddididDddvt |:t};|;rt|: }<|: D ]\}=}>tdC |=r|=|<v r |<|= t |>ttfsVtd|p.d djdi t  d |>d|p@d djdi t  d dddidddvt |>ttf}?|?rt|>}@t	|>D ]6\}A}Bt |Bt
std|pxd djdi t  dz |Bd|pd djdi t  d ddiddvqhq
|<rtd|pd d t
|< d |:d|pd d g dLdd	dAd(d)idBdGigidCdddididDddvt|:}C|Cdkrd}D|:D ]}=zd}E|Edk r&z,t |=t
r|d) |=std|pd d |=d|pd d d(d)id(dv|Ed7 }EW n
 ty%   Y nw |Edk rZz$|=dGkrJtd|p7d d |=d|p@d d dBdGidBdv|Ed7 }EW n
 tyY   Y nw |Edkrtd|ped d dt
|E d  |=d|pvd d dAd(d)idBdGigidAdvW q ty   d	}DY qw |Dstd|pd d |:d|pd d g dLdd	dAd(d)idBdGigidCdddididDddvdM|v r~|dM | dM }Ft |Fttfstd|pd d |Fd|pd d ddd)ddNdOddvt |Fttf}G|Gr~t|F}Ht	|FD ]p\}I}Jt |Jt
sCtd|pd djdi t  dz |Jd|p/d djdi t  d dd)dddvt |Jt
r||d) |Js|td|pVd djdi t  d |Jd|phd djdi t  d dd)dd(dvqdP|v r6|dP | dP }Kt |Kttfstd|pd d |Kd|pd d dQddd)ddRdddvt |Kttf}L|Lr6t|K}Mt	|KD ]p\}N}Ot |Ot
std|pd djdi t  dz |Od|pd djdi t  d dd)dddvt |Ot
r4|d) |Os4td|pd djdi t  d |Od|p d djdi t  d dd)dd(dvqdS|v r|dS | dS }Pt |Ptsntd|pPd d |Pd|pYd d g dTddCdddididUddvt |Pt}Q|Qrt|P }R|P D ]\}S}TtdC |Sr|S|Rv r|R|S t |Tttfstd|pd djdi t  d |Td|pd djdi t  d dddidddvt |Tttf}U|Urt|T}Vt	|TD ]6\}W}Xt |Xt
std|pd djdi t  dz |Xd|p d djdi t  d ddiddvqސqdV|v r|dV | dV }Yt |YtsMtd|p1d d |Yd|p:d d g dWddCddXdidUddvt |Yt}Z|Zrt|Y }[|Y D ]\}\}]tdC |\r|\|[v ru|[|\ t |]t
std|pd djdi t  dz |]d|pd djdi t  d ddXdddvt |]t
r|dX |]std|pd djdi t  d |]d|pd djdi t  d ddXdd(dvq_dY|v ra|dY | dY }^t |^ttfstd|pd d |^d|pd d dddig dZd[d\ddvt |^ttf}_|_rat|^}`t	|^D ]6\}a}bt |bt
s_td|p:d djdi t  dz |bd|pLd djdi t  d ddiddvq*d]|v r|d] | d] }ct |cts^td|p{d d |cd|pd d dd^d	d_d`gdadbdcddgdd	deddiidegdfdgdhdidd	djdAddidddidgiidjgdkgd>dgdhdidd	djdAddidddidgiidjgdkdgdhdidd	djdAddidddidgiidjgdkdgdhdidd	djdAddidddidgiidjgdkdgdhdidd	djdAddidddidgiidjgdkdd(dlid	dmdgdhdidd	djdAddidddidgiidjgdkidndgdhdidd	djdAddidddidgiidjgdkdodpddiiigdjgdqdrdsddvt |ct}d|drt|c }ed|ev r|edǡ |cd }fd}g|gdk rzt|f||pdd  |gd7 }gW n
 ty   Y nw |gdk rzt|f||pdd  |gd7 }gW n
 ty   Y nw |gdkrtd|pd d dt
|g d  |fd|pd d d_d`gdadbdcddgdd	deddiidegdfdgdhdidd	djdAddidddidgiidjgdkgd>dAdvd|ev r'|edʡ |cd }ht|h||p#dd  d|ev r@|ed̡ |cd }it|i||p<dd  d|ev rY|edΡ |cd }jt|j||pUdd  d|ev rr|edС |cd }kt|k||pndd  d|ev r|edҡ |cd }lt |ltstd|pd d |ld|pd d dd(dlid	dmdgdhdidd	djdAddidddidgiidjgdkidnddvt |lt}m|mrt|l }n|l D ])\}o}ptdm |or|o|nv r|n|o t|p||pddjdi t   q|nr7td|pd d t
|n d |ld|pd d dd(dlid	dmdgdhdidd	djdAddidddidgiidjgdkidnddvt|l}q|qdkrd}r|lD ]8}oz)t |ot
rm|dl |osmtd|pZd d |od|pcd d d(dlid(dvW qD ty|   d	}rY qDw |rstd|pd d |ld|pd d dd(dlid	dmdgdhdidd	djdAddidddidgiidjgdkidnddvd|ev r|ed١ |cd  d}s|sszt ||pdd  |sd7 }sW n
 ty   Y nw |ss4zAt  t}t|tr$t  }udp|uv r$|udp  dp }vt |vt
s$td|pd d |vd|pd d ddiddv|sd7 }sW n
 ty3   Y nw |ssptd|p=d d  d|pFd d dgdhdidd	djdAddidddidgiidjgdkdodpddiiigdjgdqddvt  t}t|trt }wt fdddD std|pd d  d|pd d dgdhdidd	djdAddidddidgiidjgdkdodpddiiigdjgdqddv|ertd|pd d t
|e d |cd|pd d dd^d	d_d`gdadbdcddgdd	deddiidegdfdgdhdidd	djdAddidddidgiidjgdkgd>dgdhdidd	djdAddidddidgiidjgdkdgdhdidd	djdAddidddidgiidjgdkdgdhdidd	djdAddidddidgiidjgdkdgdhdidd	djdAddidddidgiidjgdkdd(dlid	dmdgdhdidd	djdAddidddidgiidjgdkidndgdhdidd	djdAddidddidgiidjgdkdodpddiiigdjgdqdrdsddv|r8td|pd d t
| d | d|pd d dddg ddd	i d
dddiddddgddddddddgddddddddddddddidddd d!gdddidd"g d#d$dd%d&d'dd(d)id(d*igd+d,d-d.dd	d/dd0d1gd	d2dddid3dd4d5gddid6dd7d5gddid6dd8d9gd:d;d<id=gd>d?g d@dd	dAdBdid%d&d'dd(d)id(d*igd+gidCddiidDdEg dFdd	dAd(d)idBdGigidCdddididDdHg dIddJdKg dLdd	dAd(d)idBdGigidCdddididDdMddd)ddNdOdPdQddd)ddRddSg dTddCdddididUdVg dWddCddXdidUdYdddig dZd[d\d]dd^d	d_d`gdadbdcddgdd	deddiidegdfdgdhdidd	djdAddidddidgiidjgdkgd>dgdhdidd	djdAddidddidgiidjgdkdgdhdidd	djdAddidddidgiidjgdkdgdhdidd	djdAddidddidgiidjgdkdgdhdidd	djdAddidddidgiidjgdkdd(dlid	dmdgdhdidd	djdAddidddidgiidjgdkidndgdhdidd	djdAddidddidgiidjgdkdodpddiiigdjgdqdrdsd%d&d'dd(d)id(d*igd+dgdhdidd	djdAddidddidgiidjgdkdadbdcddgdd	deddiidegdfd-d.dd	d/dd0d1gd	d2dddid3dd4d5gddid6dd7d5gddid6dd8d9gd:d;d<id=dtduddv| S )Nr	   r   r   r   r   r   r   r   Fr   r   r   r   ru   r   r   r   r*   rc   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  r0   r  r  r  rB   r   r   rC   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   rw   r   r   r   r   r   r   r   r   r   r   r   r   r5   r   r   r   r   r"   r<   r   r   r   r  r  r  z.platforms must be arrayz
.platformsz.platforms[{data__platforms_x}]r"  z.provides must be arrayz	.providesz.provides[{data__provides_x}]z must be pep508-identifierz.obsoletes must be arrayz
.obsoletesz.obsoletes[{data__obsoletes_x}]z.zip-safe must be booleanz	.zip-safez.script-files must be arrayz.script-filesz$.script-files[{data__scriptfiles_x}]z.eager-resources must be arrayz.eager-resourcesz*.eager-resources[{data__eagerresources_x}]r      z.packages must be arrayz	.packagesz.packages[{data__packages_x}]r   z1.packages must be valid exactly by one definition ( matches found)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 same as const definition: z4.package-dir must be valid exactly by one definitionz5.package-dir must be named by propertyName definitionrn   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 definitionz%.include-package-data must be booleanz.include-package-dataz$.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 definitionz!.namespace-packages must be arrayz.namespace-packagesz0.namespace-packages[{data__namespacepackages_x}] must be python-module-namez.py-modules must be arrayz.py-modulesz .py-modules[{data__pymodules_x}]z.data-files must be objectz.data-filesz!.data-files.{data__datafiles_key}z:.data-files.{data__datafiles_key}[{data__datafiles_val_x}]z.cmdclass must be objectz	.cmdclassz.cmdclass.{data__cmdclass_key}z$ must be python-qualified-identifierz.license-files must be arrayz.license-filesz&.license-files[{data__licensefiles_x}]z.dynamic must be object.dynamicr+   z.dynamic.versionz8.dynamic.version must be valid exactly by one definitionrZ   z.dynamic.classifiersr   z.dynamic.descriptionro   z.dynamic.dependenciesrj   z.dynamic.entry-pointsrs   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 definitionr1   z.dynamic.readmez+.dynamic.readme.content-type must be stringz.dynamic.readme.content-typez5.dynamic.readme cannot be validated by any definitionr4   c                 3   r  r  r   r  data__dynamic__readmer   r   r     r!  zYvalidate_https___setuptools_pypa_io_en_latest_references_keywords_html.<locals>.<genexpr>r5   z0.dynamic.readme must contain ['file'] propertiesr#   z.dynamic must not contain r$  r   )r%  r&  r   r'  r(  r)  r,  r-  r*  r.  r/  r   r0  bool`validate_https___setuptools_pypa_io_en_latest_references_keywords_html__definitions_package_namebvalidate_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_directiver+  )xr   r   r   r4  r5  data__platformsdata__platforms_is_listdata__platforms_lendata__platforms_xdata__platforms_itemdata__providesdata__provides_is_listdata__provides_lendata__provides_xdata__provides_itemdata__obsoletesdata__obsoletes_is_listdata__obsoletes_lendata__obsoletes_xdata__obsoletes_itemdata__zipsafedata__scriptfilesdata__scriptfiles_is_listdata__scriptfiles_lendata__scriptfiles_xdata__scriptfiles_itemdata__eagerresourcesdata__eagerresources_is_listdata__eagerresources_lendata__eagerresources_xdata__eagerresources_itemdata__packagesdata__packages_one_of_count1data__packages_is_listdata__packages_lendata__packages_xdata__packages_itemdata__packagedirdata__packagedir_is_dictdata__packagedir_keysdata__packagedir_keydata__packagedir_valdata__packagedir_lendata__packagedir_property_names"data__packagedir_key_one_of_count2data__packagedatadata__packagedata_is_dictdata__packagedata_keysdata__packagedata_keydata__packagedata_valdata__packagedata_val_is_listdata__packagedata_val_lendata__packagedata_val_xdata__packagedata_val_itemdata__packagedata_len data__packagedata_property_names#data__packagedata_key_one_of_count3data__includepackagedatadata__excludepackagedata data__excludepackagedata_is_dictdata__excludepackagedata_keysdata__excludepackagedata_keydata__excludepackagedata_val$data__excludepackagedata_val_is_list data__excludepackagedata_val_lendata__excludepackagedata_val_x!data__excludepackagedata_val_itemdata__excludepackagedata_len'data__excludepackagedata_property_names*data__excludepackagedata_key_one_of_count4data__namespacepackagesdata__namespacepackages_is_listdata__namespacepackages_lendata__namespacepackages_xdata__namespacepackages_itemdata__pymodulesdata__pymodules_is_listdata__pymodules_lendata__pymodules_xdata__pymodules_itemdata__datafilesdata__datafiles_is_dictdata__datafiles_keysdata__datafiles_keydata__datafiles_valdata__datafiles_val_is_listdata__datafiles_val_lendata__datafiles_val_xdata__datafiles_val_itemdata__cmdclassdata__cmdclass_is_dictdata__cmdclass_keysdata__cmdclass_keydata__cmdclass_valdata__licensefilesdata__licensefiles_is_listdata__licensefiles_lendata__licensefiles_xdata__licensefiles_itemdata__dynamicdata__dynamic_is_dictdata__dynamic_keysdata__dynamic__version$data__dynamic__version_one_of_count5data__dynamic__classifiersdata__dynamic__descriptiondata__dynamic__dependenciesdata__dynamic__entrypoints#data__dynamic__optionaldependencies+data__dynamic__optionaldependencies_is_dict(data__dynamic__optionaldependencies_keys'data__dynamic__optionaldependencies_key'data__dynamic__optionaldependencies_val'data__dynamic__optionaldependencies_len2data__dynamic__optionaldependencies_property_names#data__dynamic__readme_any_of_count6data__dynamic__readme_is_dictdata__dynamic__readme_keys"data__dynamic__readme__contenttypedata__dynamic__readme_lenr   rP  r   r3  h   sv      


8V

@XX

@XX

4

<V

>V


N(



j


Vv


2

b
j

\


\Vh

2

2
N
\

8

\


\Vh

2

2
N
\

<XX

>XX

H


\V

D


XX

@V

 















l


$x
2
l




2r
r      r3  c                    s<  t  ts0t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}|rt }t fdddD srtd|pLd d  d|pTd 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	|v rf|d	  d	 }d}|dk rz"t |tstd|pd d |d|pd d ddidd|d7 }W n	 ty   Y nw |dk r7zot |t	t
fstd|pd d |d|pd d dddidddt |t	t
f}|r't|}	t|D ]5\}
}t |ts&td|pd djd$i t  d |d|pd djd$i t  d ddiddq|d7 }W n
 ty6   Y nw |dkrftd|pBd d dt| d   |d|pSd d d
ddidddidgid
d|rtd|pod 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   r   r   r   Fr5   rC   r   r   r   ru   r   r  c                 3   r  r  r   r  r   r   r   r     r!  zuvalidate_https___setuptools_pypa_io_en_latest_references_keywords_html__definitions_file_directive.<locals>.<genexpr>rR  z! must contain ['file'] propertiesr#   r   rJ  z.file must be stringz.filer   z.file must be arrayz.file[{data__file_x}]r"  z-.file must be valid exactly by one definitionrK  rL  r$  r#  r!   r   )r%  r&  r   r*  r+  r'  r(  r)  r/  r,  r-  r.  r   r0  )r   r   r   r4  data_lenr5  
data__filedata__file_one_of_count7data__file_is_listdata__file_lendata__file_xdata__file_itemr   r  r   rY    sH   
V
V


.
4V
TfrY  c                    s  t  ts)t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 sctd|pDd d  d|pLd d ddddgdd	d
ddiid
gdddt  }d
|v r|d
  d
 }t |tstd|pd d |d|pd d ddidd|rtd|pd d t| d  d|pd d ddddgdd	d
ddiid
gddd S )Nr	   r   r   r   r   r   r   r   Fr   r   r   r   r  c                 3   r  r  r   r  r  r   r   r   ,  r!  zuvalidate_https___setuptools_pypa_io_en_latest_references_keywords_html__definitions_attr_directive.<locals>.<genexpr>)r   z! must contain ['attr'] propertiesr#   z.attr must be stringz.attrr$  r#  r!   )	r%  r&  r   r*  r+  r'  r(  r)  r/  )r   r   r   r4  r  r5  
data__attrr   r  r   rX  &  s    
H
H

.TrX  c                 C   s  t | tsIt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|v r|d | d }t |tstd|pod d |d|pwd 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}|rt| }d|v r,|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}	|	r,t|}
t	|D ]5\}}t |t
s+td|pd d!jd2i t  d" |d|pd d!jd2i t  d ddiddqd#|v r|d# |d# }t |ttfsatd|pHd d$ |d|pQd d% dddgddidddt |ttf}|rt|}t	|D ]6\}}t |t
std|pd d&jd2i t  d" |d|pd d&jd2i t  d ddiddqsd'|v r(|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}|r(t|}t	|D ]6\}}t |t
s&td|pd d*jd2i t  d" |d|pd d*jd2i t  d ddiddqd+|v rX|d+ |d+ }t |tsXtd|pBd d, |d|pKd d- dddgddd|rtd|pad d. t
| d/ |d|ppd 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|pd d1 t
| d/ | d|pd 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 )3Nr	   r   r   r   r   r   Fr   r   r   r   r   r   r   r  r  r  r   r  r   r  r  r0   r  r  r  r  z.find must be objectz.findr  z.find.where must be arrayz.find.wherez".find.where[{data__find__where_x}]r"  r	  z.find.exclude must be arrayz.find.excludez&.find.exclude[{data__find__exclude_x}]r
  z.find.include must be arrayz.find.includez&.find.include[{data__find__include_x}]r  z .find.namespaces must be booleanz.find.namespacesz.find must not contain r#  r!   r$  r   )r%  r&  r   r'  r(  r)  r,  r-  r*  r.  r/  r   r0  rS  )r   r   r   r4  r5  
data__finddata__find_is_dictdata__find_keysdata__find__wheredata__find__where_is_listdata__find__where_lendata__find__where_xdata__find__where_itemdata__find__excludedata__find__exclude_is_listdata__find__exclude_lendata__find__exclude_xdata__find__exclude_itemdata__find__includedata__find__include_is_listdata__find__include_lendata__find__include_xdata__find__include_itemdata__find__namespacesr   r   r   rU  8  sv   




x


6V

>V

>V

8rU  c                 C   sj  t | ts&td|p
d d | d|pd d dddddd	idd
igdddd}|s\z(t | trM|d	 | sMtd|p;d d | d|pCd d dd	idd|d7 }W n	 ty[   Y nw |sz(t | tr|d
 | std|pod d | d|pwd d dd
idd|d7 }W n	 ty   Y nw |std|pd d | d|pd d dddddd	idd
igddd| S )Nr	   r   r"  r   r   r   r   r   r   r   r   r   r  r   rN  r   z must be pep561-stub-namez& cannot be validated by any definitionr4   r%  r/  r   )r   r   r   data_any_of_count8r   r   r   rT  r  s(   
B
.
.BrT  c                 C   s\  t | ts.td|p
d d | d|pd d dddg ddd	dd
didddiiddddt | t}|rt|  }d	|v re|d	 | d	 }t |tsetd|pRd d |d|pZd d dd
ddd|  D ]B\}}td |r||v r}|| t |tstd|pd dj	di t
  d |d|pd dj	di t
  d ddiddqi| S )Nr	   r   r   r   r   r   r   r   r   r   r;   r   r   r   r   r  z.global must be objectz.global.{data_key}r   )r%  r&  r   r'  r(  r)  r   rV  rW  r   r0  )r   r   r   r4  r5  data__globaldata_keydata_valr   r   r   r2    s$   
R


0

Rr2  c           Q         s$  t  tstd|pd d  d|pd d dddddgd	i d
dddddddddddddgddg ddg 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g d"d#d$id!gdgd%gd&d'dd(d)d*gd+d,d-ddd.d/gdidgdddg d0didgdgd1d2d3d4d5d6d	d7dd8d9gddd:d;d<d=d>g d?d@dAd3d4d5d6d	d7dd8d9gddd:d;d<d=d>dBdCgd@dDd3dEdidFdGdHd3ddIdJd<dKdLgd@dMd	dNd7dOddPdQidRdSdTdUd	g dVdWdXid7dOddYdZgd[d\d]id^d_dTdUd	g dVdWdXid7dOddYdZgd[d\d]id^d`g dadWdbid7dOdTdUd	g dVdWdXid7dOddYdZgd[d\d]id^idcddd3dedfdgddhdidjdkdld	dmdWdid7dOd3dfdgddhdidjdnidodpd3dqdrgdsg dtidud
gd7dpgdpdvdidwgdxidyg dzd{dgd|gd}d4d5d6d	d7dd8d9gddd:d;d<d=d>dTdUd	g dVdWdXid7dOddYdZgd[d\d]id^dfdgddhdidjd~ddEdt  t}|rFt }t fdddD std|pd d  d|pd d dddddgd	i d
dddddddddddddgddg ddg 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g d"d#d$id!gdgd%gd&d'dd(d)d*gd+d,d-ddd.d/gdidgdddg d0didgdgd1d2d3d4d5d6d	d7dd8d9gddd:d;d<d=d>g d?d@dAd3d4d5d6d	d7dd8d9gddd:d;d<d=d>dBdCgd@dDd3dEdidFdGdHd3ddIdJd<dKdLgd@dMd	dNd7dOddPdQidRdSdTdUd	g dVdWdXid7dOddYdZgd[d\d]id^d_dTdUd	g dVdWdXid7dOddYdZgd[d\d]id^d`g dadWdbid7dOdTdUd	g dVdWdXid7dOddYdZgd[d\d]id^idcddd3dedfdgddhdidjdkdld	dmdWdid7dOd3dfdgddhdidjdnidodpd3dqdrgdsg dtidud
gd7dpgdpdvdidwgdxidyg dzd{dgd|gd}d4d5d6d	d7dd8d9gddd:d;d<d=d>dTdUd	g dVdWdXid7dOddYdZgd[d\d]id^dfdgddhdidjd~dddt  }d
|v r|d
  d
 }t |tstd|pd d |d|pd d dddddEdt |tr|d |std|pd d |d|pd d dddddWdd|v rR|d  d }t |ts*td|pd d |d|pd d dddddEdt |trR|d |sRtd|p=d d |d|pFd d dddddWdd|v r|d  d }t |tstd|pld d |d|pud d dddgddEdd|v r*|d  d d}	|	dk rz(t tstd|pd d d|pd d dg dddEd|	d7 }	W n
 ty   Y nw |	dk rѐzt tstd|pd d d|pd 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g d"d#d$id!gdgd%dEdd}
|
szvt t}|rt}tfdddD sWtd|p;d d d|pDd d ddddgdidgdddt }d|v r|d d }t |tstd|pwd d |d|pd d dddgddEd|
d7 }
W n
 ty   Y nw |
szrt t}|rt}tfdddD std|pd d d|pd d dddd idgdddt }d|v r|d d }t |tstd|pd d |d|pd d ddd dEd|
d7 }
W n
 ty   Y nw |
sOtd|p&d d d|p/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t t}|rt}tfdddD std|pmd d d|pvd d d!dg d"d#d$id!gdddt }d!|v r|d! d! }t |tstd|pd d |d|pd d dg d"d#d$dEd|	d7 }	W n
 ty   Y nw |	dkr*td|pd d dt|	 d  d|pd d g ddg 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g d"d#d$id!gdgd%gd&ddd'|v r|d'  d' }t |ts[td|pDd d |d|pMd d dd(d)d*gd+dEdt |tr|d( |std|pnd d |d|pwd d dd(d)d*gd+dWdd,|v r|d,  d, d}|dk rzvt t}|rt}tfdddD std|pd d d|pd d ddd.d/gdidgdddt }d|v r|d d }t |tstd|pd d |d|pd d dd.d/gddEd|d7 }W n
 ty   Y nw |dk rzvt t}|rt}tfdddD s[td|p?d d d|pHd d ddg d0didgdddt }d|v r|d d }t |tstd|p{d d |d|pd d dg d0ddEd|d7 }W n
 ty   Y nw |dkrtd|pd d dt| d  d|pd d d-ddd.d/gdidgdddg d0didgdgd1ddd2|v 	rP|d2  d2 }t |t	t
f	s&td|pd d |d|	pd d d3d4d5d6d	d7dd8d9gddd:d;d<d=d>g d?d@dEdt |t	t
f}|	rPt|}t|D ]\}}t|||	pCddjdi t   	q8dA|v 	r|dA  dA }t |t	t
f	std|	pld d |d|	pud d d3d4d5d6d	d7dd8d9gddd:d;d<d=d>dBdCgd@dEdt |t	t
f}|	rt|}t|D ]\} }!t|!||	pddjdi t   	qdD|v 
r<|dD  dD }"t |"t	t
f	std|	pd d |"d|	pd d d3dEdidFdGdEdt |"t	t
f}#|#
r<t|"}$t|"D ]6\}%}&t |&t
s:td|
pd djdi t  d |&d|
p'd djdi t  d dEdidEd
qdH|v 
r|dH  dH }'t |'t	t
f
sstd|
pXd d |'d|
pad d d3ddIdJd<dKdLgd@dEdt |'t	t
f}(|(
rt|'})t|'D ]r\}*}+t |+t
std|
pd djdi t  d |+d|
pd djdi t  d ddIdJd<dEdt |+t
r|dI |+
std|
pd djdi t  d |+d|
pd djdi t  d ddIdJd<dWd
qdM|v r|dM  dM },t |,ts-td|pd d |,d|pd d d	dNd7dOddPdQidRdEdt |,t}-|-rt|, }.|, D ]\}/}0tdO |/r|/|.v rU|.|/ t |0tstd|pad djdi t  d |0d|psd djdi t  d ddPdQdEdt |0tr|dP |0std|pd djdi t  d |0d|pd djdi t  d ddPdQdWdq?|.rtd|pd d t|. d |,d|pd d d	dNd7dOddPdQidRdddS|v r|dS  dS }1t|1||pdd  d_|v r|d_  d_ }2t|2||pdd  d`|v r(|d`  d` }3t |3t}4|4r(t|3 }5|3 D ])\}6}7tdO |6rf|6|5v rT|5|6 t|7||p[ddjdi t   q>|5rtd|pqd d t|5 d |3d|pd d g dadWdbid7dOdTdUd	g dVdWdXid7dOddYdZgd[d\d]id^idcddt|3}8|8dkr(d}9|3D ]8}6z)t |6tr|db |6std|pd d |6d|pd d dWdbidWdW q ty   d7}9Y qw |9s(td|pd d |3d|p d d g dadWdbid7dOdTdUd	g dVdWdXid7dOddYdZgd[d\d]id^idcdddd|v r|dd  dd }:t |:t	t
fs_td|pDd d |:d|pMd d d3dedfdgddhdidjdkdEdt |:t	t
f};|;rt|:}<t|:D ]\}=}>t|>||p|ddjdi t   qqdl|v r|dl  dl }?t |?tstd|pd d |?d|pd d d	dmdWdid7dOd3dfdgddhdidjdnidodEdt |?t}@|@rt|? }A|? D ]{\}B}CtdO |BrS|B|Av r|A|B t |Ct	t
fs)td|pd djdi t  d |Cd|pd djdi t  d d3dfdgddhdidjdndEdt |Ct	t
f}D|DrSt|C}Et|CD ]\}F}Gt|G||pFddjdi t   q;q|Artd|p^d d t|A d |?d|pmd d d	dmdWdid7dOd3dfdgddhdidjdnidoddt|?}H|Hdkrd}I|?D ]8}Bz)t |Btr|d |Bstd|pd d |Bd|pd d dWdidWdW q ty   d7}IY qw |Istd|pd d |?d|pd d d	dmdWdid7dOd3dfdgddhdidjdnidodddp|v r||dp  dp }Jt |Jt	t
fs2td|pd d |Jd|p d d d3dqdrgdsg dtidudEdt |Jt	t
f}K|Kr|t|J}Lt|JD ]7\}M}N|Ndtvrztd|pSd djdi t  d |Nd|ped djdi t  d dsg dtidsdqD|rFtd|pd d t| d  d|pd d dddddgd	i d
dddddddddddddgddg ddg 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g d"d#d$id!gdgd%gd&d'dd(d)d*gd+d,d-ddd.d/gdidgdddg d0didgdgd1d2d3d4d5d6d	d7dd8d9gddd:d;d<d=d>g d?d@dAd3d4d5d6d	d7dd8d9gddd:d;d<d=d>dBdCgd@dDd3dEdidFdGdHd3ddIdJd<dKdLgd@dMd	dNd7dOddPdQidRdSdTdUd	g dVdWdXid7dOddYdZgd[d\d]id^d_dTdUd	g dVdWdXid7dOddYdZgd[d\d]id^d`g dadWdbid7dOdTdUd	g dVdWdXid7dOddYdZgd[d\d]id^idcddd3dedfdgddhdidjdkdld	dmdWdid7dOd3dfdgddhdidjdnidodpd3dqdrgdsg dtidud
gd7dpgdpdvdidwgdxidyg dzd{dgd|gd}d4d5d6d	d7dd8d9gddd:d;d<d=d>dTdUd	g dVdWdXid7dOddYdZgd[d\d]id^dfdgddhdidjd~dddzzt  t}|rt }t fdddD std|pfd d  d|pod d dpgdpdvdidwgdxidyddt  }dp|v r|dp  dp }Jt |Jt	t
f}K|Krd7}O|JD ]0}Pz#|Pdkrtd|pd d |Pd|pd d dvdidvdd}OW  n ty   Y qw |Ostd|pd d |Jd|pd d dvdidwgdxddW n
 ty   Y n)w td|pd d  d|pd d dpgdpdvdidwgdxidyg dzd{ddW n ty6   Y  S w t  t}|rkt }t fdddD sktd|pUd d  d|p^d d dgd|gd}dd S )Nr	   r   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@   rB   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   r   rQ   r   r   Fr   r   r   r   r]   r   r   rR   rS   rT   rU   rV   rW   r   rX   rY   rZ   r[   r\   r^   r_   r`   ra   r   rb   rc   rd   rf   rg   r   r   r   r   r   r   r   r   r   r   ri   rj   rk   rl   rm   ro   rp   rq   r   r   r   r   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r   r|   r}   r~   r   r   r   r   r   r   r   r  c                 3   r  r  r   r  r  r   r   r     r!  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   rJ  z.readme must be stringz.readmer   z.readme must be objectc                 3   r  r  r   r  data__readmer   r   r     r!  rR  z(.readme must contain ['file'] propertiesz.readme.file must be stringz.readme.filec                 3   r  r  r   r  r  r   r   r     r!  )r9   z(.readme must contain ['text'] propertiesz.readme.text must be stringz.readme.textz-.readme cannot be validated by any definitionc                 3   r  r  r   r  r  r   r   r     r!  )r<   z0.readme must contain ['content-type'] propertiesz#.readme.content-type must be stringz.readme.content-typez/.readme must be valid exactly by one definitionrK  rL  rC   z.requires-python must be stringz.requires-pythonz+.requires-python must be pep508-versionspecc                 3   r  r  r   r  data__licenser   r   r     r!  z).license must contain ['file'] propertiesz.licensez.license.file must be stringz.license.filec                 3   r  r  r   r  r  r   r   r     r!  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}rM  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 arrayrO  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   r  r  r   r  r  r   r   r     r!  )rw   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   r  r  r   r  r  r   r   r     r!  )r+   z$ must contain ['version'] propertiesr   )r%  r&  r   r*  r+  r'  r(  r)  r/  r,  r-  r.  nvalidate_https___packaging_python_org_en_latest_specifications_declaring_project_metadata___definitions_authorr   r0  r   rV  rW  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   r4  r  r5  
data__namedata__versiondata__descriptiondata__readme_one_of_count9data__readme_any_of_count10data__readme_is_dictdata__readme_lendata__readme_keysdata__readme__filedata__readme__textdata__readme__contenttypedata__requirespythondata__license_one_of_count11data__license_is_dictdata__license_lendata__license_keysdata__license__filedata__license__textdata__authorsdata__authors_is_listdata__authors_lendata__authors_xdata__authors_itemdata__maintainersdata__maintainers_is_listdata__maintainers_lendata__maintainers_xdata__maintainers_itemdata__keywordsdata__keywords_is_listdata__keywords_lendata__keywords_xdata__keywords_itemdata__classifiersdata__classifiers_is_listdata__classifiers_lendata__classifiers_xdata__classifiers_item
data__urlsdata__urls_is_dictdata__urls_keysdata__urls_keydata__urls_valdata__scriptsdata__guiscriptsdata__entrypointsdata__entrypoints_is_dictdata__entrypoints_keysdata__entrypoints_keydata__entrypoints_valdata__entrypoints_len data__entrypoints_property_namesdata__dependenciesdata__dependencies_is_listdata__dependencies_lendata__dependencies_xdata__dependencies_itemdata__optionaldependencies"data__optionaldependencies_is_dictdata__optionaldependencies_keysdata__optionaldependencies_keydata__optionaldependencies_val&data__optionaldependencies_val_is_list"data__optionaldependencies_val_len data__optionaldependencies_val_x#data__optionaldependencies_val_itemdata__optionaldependencies_len)data__optionaldependencies_property_namesr  data__dynamic_is_listdata__dynamic_lendata__dynamic_xdata__dynamic_itemdata__dynamic_containsdata__dynamic_keyr   )r   r  r  r   r1    s     
   

66

66

8


8

D

8
@

4^
F

:


::



D

8

D

8
t

`(

`(

:V

BZZ

B


XXN








$z
2
n

B(

T


d(`
2
T

B
Z   
F


2:P
8r1  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rF|d | sFtd|p0d d | d|p8d d dddddd	dd| S )Nr	   r   r"  rq   r   r   r   r   r   r   r  z must be pep508r   r  r   r   r   r   r    s   
6
6r  c           	      C   s  t | ts/td|p
d d | d|pd d dddg ddd	id
ddddgdddidddt | t}|rit|  }|  D ]\}}td |r||v rU|| t |t	std|p_d dj
d i t  d |d|ppd dj
d i t  d dddgdddddt |t	r|d |std|pd dj
d i t  d |d|pd dj
d i t  d dddgdddddqA|rtd|pd d t	| d | d|pd d dddg ddd	id
ddddgdddidddt| }|dkrid}| D ]8}z)t |t	r*|d	 |s*td|pd d |d|p d d dd	iddW q ty9   d
}Y qw |sitd|pCd d | d|pLd d dddg d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   Fr   r   r   r   r   r   r   r   r   r  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   r'  r(  r   rV  rW  r)  r/  r   r0  r*  )	r   r   r   r4  r5  r  r  r  data_property_namesr   r   r   r    s@   
T


\
\`
2
Xr  c                 C   s  t | ts-td|p
d d | d|pd d dddddd	d
dgdd	dddddddt | t}|rt|  }d|v rf|d | d }t |tsftd|pQd d |d|pYd d d	d
dgdddd|v r|d | d }t |tstd|p}d d |d|pd d d	dddddt |trtd |std|pd d |d|pd d d	ddddd|rtd|pd d t| d | d|pd d dddddd	d
dgdd	ddddddd| S ) Nr	   r   r   rQ   r   r   r   Fr   r   r   r0   r   r   r]   r   r   r   r  r(   r  r  r   z.email must be stringz.emailr   z.email must be idn-emailr   r$  r#  r!   )	r%  r&  r   r'  r(  r)  r/  rV  match)r   r   r   r4  r5  r  data__emailr   r   r   r    s*   
P


4

2
2\r  )VERSIONrefastjsonschema_exceptionsr   compilerV  r   NoneTyper   r
   r3  rY  rX  rU  rT  r2  r1  r  r  r  r   r   r   r   <module>   s4   I   %:  G