
    6i,                    p   d dl mZ d dlmZmZmZmZ ddlmZm	Z	 d dl
Z
d dlmZ d dlmZ d dlZd dlZee	ef   Z ej$                  d      Zg d	Ze	 	 d	 	 	 	 	 	 	 	 	 dd
       Ze	 	 d	 	 	 	 	 	 	 	 	 dd       Ze	 	 d	 	 	 	 	 	 	 	 	 dd       Ze	 	 d	 	 	 	 	 	 	 	 	 dd       Z	 	 	 d	 	 	 	 	 	 	 	 	 	 	 ddZy)    )annotations)AnyUnionLiteraloverload   )AsyncInstructor
InstructorN)KnownModelName)	BaseCachezinstructor.auto_client)openaiazure_openai
databricks	anthropicgooglegenerative-aivertexaimistralcohere
perplexitygroqwriterbedrockcerebrasdeepseek	fireworksollama
openrouterxailitellmc                     y N modelasync_clientcachekwargss       a/root/.openclaw/workspace/visionaryfx/venv/lib/python3.12/site-packages/instructor/auto_client.pyfrom_providerr*   )            c                     y r"   r#   r$   s       r)   r*   r*   2        r,   c                     y r"   r#   r$   s       r)   r*   r*   ;   r+   r,   c                     y r"   r#   r$   s       r)   r*   r*   D   r.   r,   c                N,  N |||d<   	 | j                  dd      \  }N|dd}t        j                  d	|N|
       t        j                  d|||
       d}d|v r5|j                  d      }|r"t        j                  d|t        |      |
       |dk(  r	 ddl	}	ddl
}
ddlm} ddl	m}m}m}m} ddlm} ddlm} |j                  dd      } |t*        dz  |j                  dd            }|j                  d|      }||u r|n |t,        |z  dz  |      }|j                  dd      }||nt/         |t.        |            } ||t*        t*        f   dz  |j                  dd            } ||t*        t0        f   dz  |j                  dd            }|j                  dd      }t3        |j                  dd            }|r1 ||
j4                  dz  |      }|	j7                  |||||||||	      }n0 ||
j8                  dz  |      }|	j;                  |||||||||	      } ||fN|r|nt        j<                  j>                  d|}t        j                  di |d d!i
       |S |d'k(  r	 ddl#} dd(l	m$}!m%}" ddlm} |xs | jL                  jO                  d)      }|j                  d*| jL                  jO                  d+            }#|j                  d,d-      }$|sddlm}  |d.      |#sddlm}  |d/      |r |"||$|#0      n
 |!||$|#0      } ||fN|r|nt        j<                  j>                  d|}t        j                  di |d d!i
       |S |d2k(  r	 ddl#} ddl	}	ddlm} |xs8 | jL                  jO                  d3      xs | jL                  jO                  d4      }|sddlm}  |d5      |j                  dd      }|U| jL                  jO                  d6      xs8 | jL                  jO                  d7      xs | jL                  jO                  d8      }|sddlm}  |d9      t+        |      jQ                  d      }|jS                  d:      s| d:}i }%d;D ]  }&|&|v s|j                  |&      |%|&<    |r |	j6                  d||d<|%n |	j:                  d||d<|%} ||fN|r|nt        j<                  j>                  d|}t        j                  di |d d!i
       |S |d>k(  r	 ddl*}'dd?lm+}( |r|'jY                  |@      n|'j[                  |@      }|j                  dAdB      }) |(|fN|r|nt        j<                  j\                  |)dC|}t        j                  di |d d!i
       |S |dEk(  r	 ddl/m0}* ddFlm1}+ 	 ddl#} |j                  dHd      },|xs | jL                  jO                  dI      }i }-dJD ]  }&|&|v s|j                  |&      |-|&<     |*j8                  d|,|dK|-}|r* |+|fd$N|r|nt        j<                  jd                  dL|}n( |+|fN|r|nt        j<                  jd                  d|}t        j                  di |d d!i
       |S |dMk(  r	 ddNl3m4}. ddOlm5}/ ddl#} |xs | jL                  jO                  dP      }|r
 |.|@      }nt        dQ      |r |/|fNd$dR|}n |/|fdSNi|}t        j                  di |d d!i
       |S |dUk(  r[	 ddl6}0ddVlm7}1 |r|0jq                  |@      n|0js                  |@      } |1|fdSNi|}t        j                  di |d d!i
       |S |dXk(  r	 ddl	}	ddYlm:}2 ddl#} |xs | jL                  jO                  dZ      }|st        d[      |r|	j7                  |d\<      n|	j;                  |d\<      } |2|fdSNi|}t        j                  di |d d!i
       |S |d^k(  r[	 ddl;}3dd_lm<}4 |r|3j{                  |@      n|3j}                  |@      } |4|fdSNi|}t        j                  di |d d!i
       |S |dak(  rM	 ddbl?m@}5mA}6 ddclmB}7 |r	 |5|@      n |6|@      } |7|fdSNi|}t        j                  di |d d!i
       |S |dek(  r	 ddl#} ddlC}8ddflmD}9 dg|v r|j                  dg      }:n1t        j                  dh       | jL                  jO                  didj      }:i };dkD ]  }&|&|v r|j                  |&      |;|&<   |&j                         | jL                  v s9t        j                  dl|&j                          dm       | jL                  |&j                            |;|&<    |:|;dn<    |8j                  di |;}|\Nr?d>Nj                         v sdoNj                         v rt        j<                  j                  }<nt        j<                  j                  }<n|}< |9|f|<||dp|}t        j                  di |d d!i
       |S |drk(  rM	 ddslJmK}=mL}> ddtlmM}? |r	 |=|@      n |>|@      } |?|fdSNi|}t        j                  di |d d!i
       |S |dvk(  rM	 ddwlNmO}@mP}A ddxlmQ}B |r	 @|@      n A|@      } B|fdSNi|}t        j                  di |d d!i
       |S |dHk(  rt        j                  dzt        d{|       	 ddl/m0}* ddFlm1}+ 	 ddl#} |j                  d~| jL                  jO                  d            }C|j                  d| jL                  jO                  dd            }D|Cst        d       |*j8                  dd$CDd|}N|dS<   |r) |+|fd$|r|nt        j<                  jd                  d|}n' |+|fd|r|nt        j<                  jd                  i|}t        j                  di |d d!i
       |S |dk(  rt        j                  dt        d{|       	 ddlUm0}* ddFlm1}+ 	 ddl#} |xs | jL                  jO                  dI      }|*j9                  d|K      }|r* |+|fd$N|r|nt        j<                  jd                  dL|}n( |+|fN|r|nt        j<                  jd                  d|}t        j                  di |d d!i
       |S |dk(  r	 ddl	}	ddlm} |j                  dd      }|j                  dd      }|r|	j7                  ||      n|	j;                  ||      }h d}Et        Nfd|ED              }F|Frt        j<                  j>                  nt        j<                  j                  }< ||fN|r|n|<d|}t        j                  di |d d!i
       |S |dk(  r	 ddl	}	ddlm} ddl#} |xs | jL                  jO                  d      }|sddlm}  |d      |j                  dd      }|r|	j7                  ||<      n|	j;                  ||<      } ||fN|r|nt        j<                  j>                  d|}t        j                  di |d d!i
       |S |dk(  rn	 ddlXm}G ddlYm}H ddlmZ}I |r	 H|@      n G|@      } I|f|r|nt        j<                  j                  Nd|}t        j                  di |d d!i
       |S |dk(  r	 ddl	}	ddlm} ddl#} |xs | jL                  jO                  d      }|sddlm}  |d      |j                  dd      }|r|	j7                  ||<      n|	j;                  ||<      } ||fN|r|nt        j<                  j>                  d|}t        j                  di |d d!i
       |S |dk(  r[	 ddl\m]}Jm^}K ddlm_}L |rKnJ}M L|Mfd|r|nt        j<                  j>                  i|}t        j                  di |d d!i
       |S ddlm} t        jE                  d|i |d d%i
        |d| dt               # t        $ r ddlm}  |d      dw xY w# t@        $ r ddlm}  |d"      dtB        $ r&}t        jE                  d#||d$i |d d%i&        d}~ww xY w# t@        $ r ddlm}  |d1      dtB        $ r&}t        jE                  d#||d$i |d d%i&        d}~ww xY w# t@        $ r ddlm}  |d=      dtB        $ r&}t        jE                  d#||d$i |d d%i&        d}~ww xY w# t@        $ r ddlm}  |dD      dtB        $ r&}t        jE                  d#||d$i |d d%i&        d}~ww xY w# t@        $ r}ddlm}  |dG      |d}~ww xY w# tB        $ r&}t        jE                  d#||d$i |d d%i&        d}~ww xY w# t@        $ r ddlm}  |dT      dtB        $ r&}t        jE                  d#||d$i |d d%i&        d}~ww xY w# t@        $ r ddlm}  |dW      dtB        $ r&}t        jE                  d#||d$i |d d%i&        d}~ww xY w# t@        $ r ddlm}  |d]      dtB        $ r&}t        jE                  d#||d$i |d d%i&        d}~ww xY w# t@        $ r ddlm}  |d`      dtB        $ r&}t        jE                  d#||d$i |d d%i&        d}~ww xY w# t@        $ r ddlm}  |dd      dtB        $ r&}t        jE                  d#||d$i |d d%i&        d}~ww xY w# t@        $ r ddlm}  |dq      dtB        $ r&}t        jE                  d#||d$i |d d%i&        d}~ww xY w# t@        $ r ddlm}  |du      dtB        $ r&}t        jE                  d#||d$i |d d%i&        d}~ww xY w# t@        $ r ddlm}  |dy      dtB        $ r&}t        jE                  d#||d$i |d d%i&        d}~ww xY w# t@        $ r}ddlm}  |d}      |d}~ww xY w# tB        $ r&}t        jE                  d#||d$i |d d%i&        d}~ww xY w# t@        $ r}ddlm}  |d      |d}~ww xY w# tB        $ r&}t        jE                  d#||d$i |d d%i&        d}~ww xY w# t@        $ r ddlm}  |d      dtB        $ r&}t        jE                  d#||d$i |d d%i&        d}~ww xY w# t@        $ r ddlm}  |d      dtB        $ r&}t        jE                  d#||d$i |d d%i&        d}~ww xY w# t@        $ r ddlm}  |d      dtB        $ r&}t        jE                  d#||d$i |d d%i&        d}~ww xY w# t@        $ r ddlm}  |d      dtB        $ r&}t        jE                  d#||d$i |d d%i&        d}~ww xY w# t@        $ r ddlm}  |d      dtB        $ r&}t        jE                  d#||d$i |d d%i&        d}~ww xY w)a  Create an Instructor client from a model string.

    Args:
        model: String in format "provider/model-name"
              (e.g., "openai/gpt-4", "anthropic/claude-3-sonnet", "google/gemini-pro")
        async_client: Whether to return an async client
        cache: Optional cache adapter (e.g., ``AutoCache`` or ``RedisCache``)
               to enable transparent response caching. Automatically flows through
               **kwargs to all provider implementations.
        mode: Override the default mode for the provider. If not specified, uses the
              recommended default mode for each provider.
        **kwargs: Additional arguments passed to the provider client functions.
                 This includes the cache parameter and any provider-specific options.

    Returns:
        Instructor or AsyncInstructor instance

    Raises:
        ValueError: If provider is not supported or model string is invalid
        ImportError: If required package for provider is not installed

    Examples:
        >>> import instructor
        >>> from instructor.cache import AutoCache
        >>>
        >>> # Basic usage
        >>> client = instructor.from_provider("openai/gpt-4")
        >>> client = instructor.from_provider("anthropic/claude-3-sonnet")
        >>>
        >>> # With caching
        >>> cache = AutoCache(maxsize=1000)
        >>> client = instructor.from_provider("openai/gpt-4", cache=cache)
        >>>
        >>> # Async clients
        >>> async_client = instructor.from_provider("openai/gpt-4", async_client=True)
    Nr'   /r   )ConfigurationErrorziModel string must be in format "provider/model-name" (e.g. "openai/gpt-4" or "anthropic/claude-3-sonnet")
initialize)provider	operationz&Initializing %s provider with model %s)extraz0Provider configuration: async_client=%s, mode=%sapi_keyz8API key provided for %s provider (length: %d characters)r   r   )from_openai)DEFAULT_MAX_RETRIESNotGivenTimeout	not_given)Mapping)castbase_urlorganizationtimeoutmax_retriesdefault_headersdefault_queryhttp_client_strict_response_validationF)	r8   r@   rA   rB   rC   rD   rE   rF   rG   )r%   modezClient initializedstatussuccessz`The openai package is required to use the OpenAI provider. Install it with `pip install openai`.z Error initializing %s client: %sTerror)exc_infor7   r   )AzureOpenAIAsyncAzureOpenAIAZURE_OPENAI_API_KEYazure_endpointAZURE_OPENAI_ENDPOINTapi_versionz
2024-02-01zAZURE_OPENAI_API_KEY is not set. Set it with `export AZURE_OPENAI_API_KEY=<your-api-key>` or pass it as kwarg api_key=<your-api-key>zAZURE_OPENAI_ENDPOINT is not set. Set it with `export AZURE_OPENAI_ENDPOINT=<your-endpoint>` or pass it as kwarg azure_endpoint=<your-endpoint>)r8   rR   rP   zfThe openai package is required to use the Azure OpenAI provider. Install it with `pip install openai`.r   DATABRICKS_TOKENDATABRICKS_API_KEYzDATABRICKS_TOKEN is not set. Set it with `export DATABRICKS_TOKEN=<your-token>` or `export DATABRICKS_API_KEY=<your-token>` or pass it as kwarg `api_key=<your-token>`.DATABRICKS_BASE_URLDATABRICKS_HOSTDATABRICKS_WORKSPACE_URLzDATABRICKS_HOST is not set. Set it with `export DATABRICKS_HOST=<your-workspace-url>` or `export DATABRICKS_WORKSPACE_URL=<your-workspace-url>` or pass `base_url=<your-workspace-url>`.z/serving-endpoints)rA   rB   rC   rD   rF   app_info)r8   r@   zdThe openai package is required to use the Databricks provider. Install it with `pip install openai`.r   )from_anthropic)r8   
max_tokensi   )r%   rH   rZ   ziThe anthropic package is required to use the Anthropic provider. Install it with `pip install anthropic`.r   )
from_genaizlThe google-genai package is required to use the Google provider. Install it with `pip install google-genai`.r   GOOGLE_API_KEY)debug_confighttp_optionscredentialsprojectlocation)r   r8   )	use_asyncr%   rH   r   )Mistral)from_mistralMISTRAL_API_KEYzPMISTRAL_API_KEY is not set. Set it with `export MISTRAL_API_KEY=<your-api-key>`.)r%   rb   r%   zgThe mistralai package is required to use the Mistral provider. Install it with `pip install mistralai`.r   )from_coherez`The cohere package is required to use the Cohere provider. Install it with `pip install cohere`.r   )from_perplexityPERPLEXITY_API_KEYzPERPLEXITY_API_KEY is not set. Set it with `export PERPLEXITY_API_KEY=<your-api-key>` or pass it as a kwarg api_key=<your-api-key>zhttps://api.perplexity.aizdThe openai package is required to use the Perplexity provider. Install it with `pip install openai`.r   )	from_groqzZThe groq package is required to use the Groq provider. Install it with `pip install groq`.r   )AsyncWriterWriter)from_writerzfThe writerai package is required to use the Writer provider. Install it with `pip install writer-sdk`.r   )from_bedrockregionz=AWS_DEFAULT_REGION is not set. Using default region us-east-1AWS_DEFAULT_REGIONz	us-east-1)aws_access_key_idaws_secret_access_keyaws_session_tokenzUsing z from environment variableregion_nameclaude)rH   r&   _asynczcThe boto3 package is required to use the AWS Bedrock provider. Install it with `pip install boto3`.r   )AsyncCerebrasCerebras)from_cerebraszfThe cerebras package is required to use the Cerebras provider. Install it with `pip install cerebras`.r   )AsyncFireworks	Fireworks)from_fireworkszoThe fireworks-ai package is required to use the Fireworks provider. Install it with `pip install fireworks-ai`.zThe 'vertexai' provider is deprecated. Use 'google' provider with vertexai=True instead. Example: instructor.from_provider('google/gemini-pro', vertexai=True)   )
stacklevelznThe google-genai package is required to use the VertexAI provider. Install it with `pip install google-genai`.r`   GOOGLE_CLOUD_PROJECTra   GOOGLE_CLOUD_LOCATIONzus-central1zProject ID is required for Vertex AI. Set it with `export GOOGLE_CLOUD_PROJECT=<your-project-id>` or pass it as kwarg project=<your-project-id>)r   r`   ra   )rb   rH   rH   r   zThe 'generative-ai' provider is deprecated. Use 'google' provider instead. Example: instructor.from_provider('google/gemini-pro'))genaizrThe google-genai package is required to use the Google GenAI provider. Install it with `pip install google-genai`.r   zhttp://localhost:11434/v1)r@   r8   >   qwen2.5llama3.1llama3.2	command-a	command-rcommand-r7bmistral-nemoqwen2.5-codercommand-r-plusfirefunction-v2qwen3llama4devstralc              3  B   K   | ]  }|j                         v   y wr"   )lower).0capable_model
model_names     r)   	<genexpr>z from_provider.<locals>.<genexpr>  s'      !! !1!1!33!s   z`The openai package is required to use the Ollama provider. Install it with `pip install openai`.r   DEEPSEEK_API_KEYz|DEEPSEEK_API_KEY is not set. Set it with `export DEEPSEEK_API_KEY=<your-api-key>` or pass it as kwarg api_key=<your-api-key>zhttps://api.deepseek.comzbThe openai package is required to use the DeepSeek provider. Install it with `pip install openai`.r   )Client)from_xai)rH   r%   z_The xai-sdk package is required to use the xAI provider. Install it with `pip install xai-sdk`.r   OPENROUTER_API_KEYzOPENROUTER_API_KEY is not set. Set it with `export OPENROUTER_API_KEY=<your-api-key>` or pass it as kwarg api_key=<your-api-key>zhttps://openrouter.ai/api/v1zdThe openai package is required to use the OpenRouter provider. Install it with `pip install openai`.r    )
completionacompletion)from_litellmzcThe litellm package is required to use the LiteLLM provider. Install it with `pip install litellm`.z2Error initializing %s client: unsupported providerzUnsupported provider: z. Supported providers are: r#   )zbedrock-runtime)asplit
ValueErrorcore.exceptionsr3   loggerinfodebugpoplenr   httpx
instructorr9   r:   r;   r<   r=   collections.abcr>   typingr?   strfloatintobjectboolAsyncClientAsyncOpenAIr   OpenAIModeTOOLSImportError	ExceptionrK   osrM   rN   environgetrstripendswithr   rY   AsyncAnthropic	AnthropicANTHROPIC_TOOLSgoogle.genair   r[   GENAI_TOOLS	mistralairc   rd   r   rf   AsyncClientV2ClientV2rg   r   ri   	AsyncGroqGroqwriterairj   rk   rl   boto3rm   upperclientr   BEDROCK_TOOLSBEDROCK_JSONcerebras.cloud.sdkrv   rw   rx   fireworks.clientry   rz   r{   warningswarnDeprecationWarningr   anyJSONxai_sdk.sync.clientxai_sdk.aio.clientr   XAI_JSONr    r   r   r   supported_providers)Or%   r&   r'   rH   r(   r5   r3   provider_infor8   r   r   r9   r:   r;   r<   r=   r>   r?   r@   rA   timeout_rawrB   max_retries_rawrC   rD   rE   http_client_rawstrict_response_validationrF   r   resulter   rM   rN   rP   rR   openai_client_kwargskeyr   rY   rZ   r   r[   vertexai_flagclient_kwargsrc   rd   r   rf   rg   r   ri   rj   rk   rl   r   rm   rn   
aws_kwargsdefault_moderv   rw   rx   ry   rz   r{   r`   ra   tool_capable_modelssupports_tools
SyncClientr   r   r   r   r   completion_funcr   sO                                                                                 @r)   r*   r*   M   s   X w${{32* "*EM
KK0	   LL:	   GF**Y'LLJG#	   8[	.PP/# zz*d3Hd
FJJ~t,LML **Y	:K )+ %'/D0+>  %jj=O #* $c?34  #S!D(&**5F*MO !V$t+VZZ-NM %jj=O)-

8%@*& "5#4#4t#;_M++#%!-# +$3"/ +0J , 
 #5<<$#6H#%!-# +$3"/ +0J ' 
 ! !Tz'<'< 	F KK$<<)<   M$ 
^	#C	<. G0F!GG#ZZ "**..1H"IN !**]LAK?(z 
 "?(D    !# +#1 !# +#1  ! !Tz'<'< 	F KK$<<)<   M$ 
\	!W	.  8::>>"458::>>"67 
 ?(B  zz*d3HJJNN#89 Bzz~~&78Bzz~~&@A  ?(?  8}++C0H$$%9:&Z'9:#%  	@ &=06

3(-	@   #"" #h:N #V]] #h:N  ! !Tz'<'< 	F KK$<<)<   M" 
[	 %	1   (((9(((9 
  L$7J# !Tz'F'F%	
 F KK$<<)<   M$ 
X			(-6	 #JJz59M A0@!AG M 9 &=)/CM#&9 "U\\ &  F
 #"$!%:??+F+F	
  $$!%:??+F+F 	 KK$<<)<   M 
Y	)	)/B0A!BG 1 K 
 %",@F &fIJI&IKK$<<)<   M$ 
X		.   $$W$5__W_5 
 !DzDVDFKK$<<)<   M$ 
\	!*	2E0D!EG z    ""#.I #  ]]#.I #   %VH:HHFKK$<<)<   M$ 
V		,   w/YYwY/ 
 vBZB6BFKK$<<)<   M$ 
X		4.   G,G, 
 !DzDVDFKK$<<)<   M$ 
Y	I	/ 6!H-S (<kJ J 	>
 &=&,jjoJsOYY[BJJ.LL6#))+6P!QR&(jj&=JsO	> )/J}% "U\\BzBF |:#3#3#55ZEUEUEW9W#-??#@#@L#-??#?#?L#!!)#	
 F KK$<<)<   M$ 
Z		B0   g.g. 
 #6FFvFFKK$<<)<   M$ 
[	 	B1   w/w/ 
 $FG*GGFKK$<<)<   M$ 
Z	T		
		(-/	 jjBJJNN;Q,RSGzzBJJNN+BMRH  D  "U\\ ! 	F )F7O#"!%:??+F+F 	 $)-:??3N3NRX KK$<<)<   M 
_	$E		
		$-#	 A0@!AG\\5'\BF#"$!%:??+F+F	
  $$!%:??+F+F 	 KK$<<)<   M 
X	C	. zz*.IJHjjH5G   ""Hg"F]]Hg]F #" ! !%8! N *8
%%Z__=Q=Q  ! !T| 	F KK$<<)<   M$ 
Z	3	. C0B!CG?(v  zz*.HIH   ""7X"F]]7X]F  ! !Tz'<'< 	F KK$<<)<   M$ 
U	$	@@+   G,0 
 !Tz'?'?  	F KK$<<)<   M$ 
\	!3	. E0D!EG?(x  zz*.LMH   ""7X"F]]7X]F  ! !Tz'<'< 	F KK$<<)<   M$ 
Y		7/-9kzO!!Tz'<'< F
 KK$<<)<   M& 	8@6]6Hg6 	 	

 !$XJ /((;'<>
 	
e"  7 C
 	Z  	;$8   	LL2::':   	~  	;$8   	LL2::':   	f  	;$8   	LL2::':   	@  	;$;   	LL2::':   	  	;$> 	l  	LL2::':   	J  	;$;   	LL2::':   	4  	;$8   	LL2::':   	L  	;$8   	LL2::':   	4  	;$6   	LL2::':   	4  	;$<   	LL2::':   	J  	;$7   	LL2::':   	4  	;$:   	LL2::':   	4  	;$>   	LL2::':   	*  	;$> 	^  	LL2::':   	*  	;$> 	F  	LL2::':   	~  	;$8   	LL2::':   	^  	;$8   	LL2::':   	@  	;$9   	LL2::':   	^  	;$8   	LL2::':   	4  	;$9   	LL2::':   	s  A@< GAA 6C,AB! *DAC* 9BAC* B	AD3 AE< %A AF &BAF 
A>AG AAH /BAI  AAJ) !AAK2 4BAL; C+AL; 8AAN 
AAO 9AP C3AP6 AQ( )B(AR CAR: 1B=AT 5A,AU (B=AV ,AAW @<AAA ABA8!ABBABB! AC'C!AC"C"AC'C* AD0D
!AD+D+AD0D3 AE9E!AE4E4AE9E<	AFFAFFAFF	AGF%!AGGAGG AHG.!AHHAHH AIH7!AIIAII  AJ&J !AJ!J!AJ&J) AK/K	!AK*K*AK/K2 AL8L!AL3L3AL8L; ANM!AM<M<ANN AO
N$!AOOAO
O APO-!APPAPP	AP3PAP.P.AP3P6	AQ%P?!AQ Q AQ%Q(	ARQ1AR R ARR	AR7R!AR2R2AR7R: AT S!AS;S;AT T AU	T#!AUUAU	U AVU,!AVVAVV AWV5!AWWAWW AX$W>!AXXAX$)TN)
r%   r   r&   Literal[True]r'   BaseCache | Noner(   r   returnr	   )FN)
r%   r   r&   Literal[False]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
   )FNN)r%   zUnion[str, KnownModelName]r&   r   r'   r   rH   zUnion[instructor.Mode, None]r(   r   r   z"Union[Instructor, AsyncInstructor])
__future__r   r   r   r   r   r   core.clientr	   r
   r   instructor.modelsr   instructor.cacher   r   loggingInstructorType	getLoggerr   r   r*   r#   r,   r)   <module>r      s   " 0 0 4  , &   z?23			3	4 0 
 #'"  	
  
 
 $)"   	
  
 
 #'"  	
  
 
 $)"   	
  
 ")-	F
%F
F
 F
 '	F

 F
 (F
r,   