
    0yi	                         U d Z ddlmZ ddlmZ ddlmZmZ ddlm	Z	m
Z
 ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ eed<   	 edZnedZndZdedee	   defdZdedee	   defdZy)z
This module provides aggregated private data and utilities functions about the
available backends.

WARNING: The *pathspec._backends* package is not part of the public API. Its
contents and structure are likely to change.
    )Sequence)cast)BackendNamesHint_Backend)PatternRegexPattern   )hyperscan_error)HyperscanGiBackend)HyperscanPsBackend)	re2_error)Re2GiBackend)Re2PsBackend)SimpleGiBackend)SimplePsBackend_BEST_BACKENDNre2	hyperscansimplenamepatternsreturnc                    | dk(  rt         } | dk(  r t        t        t        t           |            S | dk(  r t        t        t        t           |            S | dk(  r t        t        t        t           |            S t        d| d      )a$  
	Create the specified backend with the supplied patterns for
	:class:`~pathspec.gitignore.GitIgnoreSpec`.

	*name* (:class:`str`) is the name of the backend.

	*patterns* (:class:`.Iterable` of :class:`.Pattern`) contains the compiled
	patterns.

	Returns the backend (:class:`._Backend`).
	bestr   r   r   Backend name= is invalid.)r   r   r   r   r   r   r   
ValueErrorr   r   s     X/var/www/html/content_weaver/venv/lib/python3.12/site-packages/pathspec/_backends/agg.pymake_gitignore_backendr    3   s     	FN	$K	D,!7B	CC
em	d8L18<	==
h	h|4h?	@@^dYl344    c                     | dk(  rt         } | dk(  r t        t        t        t           |            S | dk(  r t        t        t        t           |            S | dk(  rt        |      S t        d| d      )a  
	Create the specified backend with the supplied patterns for
	:class:`~pathspec.pathspec.PathSpec`.

	*name* (:class:`str`) is the name of the backend.

	*patterns* (:class:`Iterable` of :class:`Pattern`) contains the compiled
	patterns.

	Returns the backend (:class:`._Backend`).
	r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   s     r   make_pathspec_backendr#   O   st     	FN	$K	D,!7B	CC
em	d8L18<	==
h		""^dYl344r!   )__doc__collections.abcr   typingr   pathspec.backendr   r   pathspec.patternr   r   hyperscan.baser
   hyperscan.gitignorer   hyperscan.pathspecr   re2.baser   re2.gitignorer   re2.pathspecr   simple.gitignorer   simple.pathspecr   __annotations__r   r    r#    r!   r   <module>r3      s       55G5 5855G5 5r!   