+
    8i>%                    D   R t ^ RIHt ^ RIHtHtHt ^ RIHtH	t	H
t
Ht ^ RIHt ^ RIHt ^ RIHt ^ RIHtHt ]'       d3   ^ RIHt ^ R	IHt ^ R
IHt ^ RIHt ^ RIHt ^ RIH t  ^ RIH!t! ^ RI"H#t#H$t$ Rt% ! R R4      t& ! R R]&4      t' ! R R]'4      t( ! R R]&4      t)R# )z;Perform aggregation operations on a collection or database.)annotations)CallableMappingMutableMapping)TYPE_CHECKINGAnyOptionalUnion)common)validate_collation_or_none)ConfigurationError)ReadPreference_AggWritePref)AsyncClientSession)AsyncCollection)AsyncCommandCursor)AsyncDatabase)AsyncConnection)Server)_ServerMode)_DocumentType	_PipelineFc                      ] tR t^'tRtRR R llt]R R l4       t]R R l4       tR	 R
 lt	]R R l4       t
R R ltR R ltRtR# )_AggregationCommanda  The internal abstract base class for aggregation cursors.

Should not be called directly by application developers. Use
:meth:`pymongo.asynchronous.collection.AsyncCollection.aggregate`, or
:meth:`pymongo.asynchronous.database.AsyncDatabase.aggregate` instead.
Nc               <    V ^8  d   QhRRRRRRRRR	R
RRRRRRRR/	# )   targetz/Union[AsyncDatabase[Any], AsyncCollection[Any]]cursor_classztype[AsyncCommandCursor[Any]]pipeliner   optionszMutableMapping[str, Any]letzOptional[Mapping[str, Any]]user_fieldsz"Optional[MutableMapping[str, Any]]result_processorz>Optional[Callable[[Mapping[str, Any], AsyncConnection], None]]commentr   returnNone )formats   "^/var/www/html/photoedit/myenv/lib/python3.14/site-packages/pymongo/asynchronous/aggregation.py__annotate__ _AggregationCommand.__annotate__/   se     5? 5??5? 45? 	5?
 *5? )5? 85? Y5? 5? 
5?    c	                	    R V9   d   \        R4      hWn        \        P                  ! RV4      pW0n        RV n        V'       d$   RVR,          9   g   RVR,          9   d   RV n        \        P                  ! RV4       Ve   \        P                  ! R	V4       WTR	&   Ve   WR
&   W@n        \        P                  ! RV P                  P                  RR4      4      V n
        V P                  P                  R/ 4       V P                  e3   V P
                  '       g!   V P                  V P                  R,          R&   W n        W`n        Wpn        \        VP                  RR4      4      V n        VP                  RR4      V n        RV n        R# )explainzGThe explain option is not supported. Use AsyncDatabase.command instead.r   Fz$outz$mergeTr   Nr    r#   	batchSizecursor	collationmaxAwaitTimeMS)r   _targetr
   validate_list	_pipeline_performs_writevalidate_is_mapping_options%validate_non_negative_integer_or_nonepop_batch_size
setdefault_cursor_class_user_fields_result_processorr   
_collation_max_await_time_ms_write_preference)	selfr   r   r   r   r    r!   r"   r#   s	   &&&&&&&&&r(   __init___AggregationCommand.__init__/   sZ    $Y  ''
H=!$8B</8x|3K#'D ""9g6?&&uc2 EN!(I "GG**;=

 	  2. '0D0D0D373C3CDMM(#K0)'!14W[[d5ST")++.>"E:>r+   c                   V ^8  d   QhRR/# )r   r$   zUnion[str, int]r&   )r'   s   "r(   r)   r*   g   s     " "_ "r+   c                    \         h)z.The argument to pass to the aggregate command.NotImplementedErrorrC   s   &r(   _aggregation_target'_AggregationCommand._aggregation_targetf   
     "!r+   c                   V ^8  d   QhRR/# r   r$   strr&   )r'   s   "r(   r)   r*   l   s     " "3 "r+   c                    \         h)z4The namespace in which the aggregate command is run.rH   rJ   s   &r(   _cursor_namespace%_AggregationCommand._cursor_namespacek   rM   r+   c                    V ^8  d   QhRRRR/# )r   
cursor_docMapping[str, Any]r$   AsyncCollection[Any]r&   )r'   s   "r(   r)   r*   p   s     " "-> "CW "r+   c                    \         h:The AsyncCollection used for the aggregate command cursor.rH   )rC   rU   s   &&r(   _cursor_collection&_AggregationCommand._cursor_collectionp   s    !!r+   c                   V ^8  d   QhRR/# r   r$   AsyncDatabase[Any]r&   )r'   s   "r(   r)   r*   u   s     " "- "r+   c                    \         h)z:The database against which the aggregation command is run.rH   rJ   s   &r(   	_database_AggregationCommand._databaset   rM   r+   c                    V ^8  d   QhRRRR/# )r   sessionOptional[AsyncClientSession]r$   z!Union[_AggWritePref, _ServerMode]r&   )r'   s   "r(   r)   r*   y   s      3	*r+   c                	    V P                   '       d   V P                   # V P                  P                  V4      pV P                  '       d(   V\        P
                  8w  d   \        V4      ;V n         pV# N)rB   r3   _read_preference_forr6   r   PRIMARYr   )rC   rd   prefs   && r(   get_read_preference'_AggregationCommand.get_read_preferencey   s`     !!!)))||009DN,B,B$B,9$,??D"Tr+   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )r   rd   re   serverr   connr   read_preferencer   r$   z!AsyncCommandCursor[_DocumentType]r&   )r'   s   "r(   r)   r*      sC     F F-F F 	F
 %F 
+Fr+   c                	
  "   R V P                   RV P                  /pVP                  V P                  4       RV9  d;   V P                  '       d   VP
                  ^8  d   V P                  P                  pMRpRV9  d/   V P                  '       d   V P                  P                  V4      pMRpVP                  V P                  P                  VVV P                  P                  RVVV P                  VV P                  P                  V P                  R7      G Rj  xL
 pV P                   '       d   V P!                  W4       RV9   d   VR,          p	M"R^ R	VP#                  R
. 4      RV P$                  /p	T P'                  V P)                  V	4      T	VP*                  V P,                  ;'       g    ^ V P.                  VV P                  P#                  R4      R7      p
V
P1                  V4      G Rj  xL
  V
#  L L5i)	aggregater   readConcernNwriteConcernT)parse_write_concern_errorread_concernwrite_concernr0   rd   clientr!   r/   id
firstBatchresultnsr#   )
batch_sizemax_await_time_msrd   r#   )rK   r5   updater8   r6   max_wire_versionr3   rv   _write_concern_forcommandra   namecodec_optionsr@   rx   r>   r?   getrR   r=   r[   addressr;   rA   _maybe_pin_connection)rC   rd   rn   ro   rp   cmdrv   rw   r{   r/   
cmd_cursors   &&&&&      r(   
get_cursor_AggregationCommand.get_cursor   s     D44j$..Q

4==! $$$$)>)>!)C<<44LL
 $)=)=)= LL;;GDM M ||NNLL&&&*%'oo>>(()) $ 
 
 !!!""60 vH%F afjj26d,,F ''##F+LL'',,1"55MM%%i0 ( 

 ..t444O
L 	5s@   AHAHBH!G?"H8A=H6AH8H9HH)r;   r@   r=   rA   r8   r6   r5   r?   r3   r>   rB   )NNNN)__name__
__module____qualname____firstlineno____doc__rD   propertyrK   rR   r[   ra   rk   r   __static_attributes__r&   r+   r(   r   r   '   s_    5?n " " " "" " "F Fr+   r   c                  p    ] tR t^t$ R]R&   ]R R l4       t]R R l4       tR R lt]R	 R
 l4       t	Rt
R# )_CollectionAggregationCommandrW   r3   c                   V ^8  d   QhRR/# rO   r&   )r'   s   "r(   r)   *_CollectionAggregationCommand.__annotate__   s     ! !S !r+   c                	.    V P                   P                  # rg   r3   r   rJ   s   &r(   rK   1_CollectionAggregationCommand._aggregation_target   s    ||   r+   c                   V ^8  d   QhRR/# rO   r&   )r'   s   "r(   r)   r      s     & &3 &r+   c                	.    V P                   P                  # rg   )r3   	full_namerJ   s   &r(   rR   /_CollectionAggregationCommand._cursor_namespace   s    ||%%%r+   c                    V ^8  d   QhRRRR/# r   r/   rV   r$   rW   r&   )r'   s   "r(   r)   r      s      ): ?S r+   c                    V P                   # rY   r3   )rC   r/   s   &&r(   r[   0_CollectionAggregationCommand._cursor_collection       ||r+   c                   V ^8  d   QhRR/# r^   r&   )r'   s   "r(   r)   r      s     % %- %r+   c                	.    V P                   P                  # rg   )r3   databaserJ   s   &r(   ra   '_CollectionAggregationCommand._database   s    ||$$$r+   r&   N)r   r   r   r   __annotations__r   rK   rR   r[   ra   r   r&   r+   r(   r   r      sG    !!! ! & & % %r+   r   c                  .   a  ] tR t^tR V 3R lltRtV ;t# ) _CollectionRawAggregationCommandc               $    V ^8  d   QhRRRRRR/# )r   argsr   kwargsr$   r%   r&   )r'   s   "r(   r)   -_CollectionRawAggregationCommand.__annotate__   s!     5 5c 5S 5T 5r+   c                	|   < \         SV `  ! V/ VB  V P                  '       g   ^ V P                  R,          R&   R# R# )    r/   r.   N)superrD   r6   r8   )rC   r   r   	__class__s   &*,r(   rD   )_CollectionRawAggregationCommand.__init__   s;    $)&) ###34DMM(#K0 $r+   r&   )r   r   r   r   rD   r   __classcell__)r   s   @r(   r   r      s    5 5r+   r   c                  p    ] tR t^t$ R]R&   ]R R l4       t]R R l4       t]R R l4       tR	 R
 lt	Rt
R# )_DatabaseAggregationCommandr_   r3   c                   V ^8  d   QhRR/# )r   r$   intr&   )r'   s   "r(   r)   (_DatabaseAggregationCommand.__annotate__   s      S r+   c                	    ^# )   r&   rJ   s   &r(   rK   /_DatabaseAggregationCommand._aggregation_target   s    r+   c                   V ^8  d   QhRR/# rO   r&   )r'   s   "r(   r)   r      s     5 53 5r+   c                	4    V P                   P                   R 2# )z.$cmd.aggregater   rJ   s   &r(   rR   -_DatabaseAggregationCommand._cursor_namespace   s    ,,##$O44r+   c                   V ^8  d   QhRR/# r^   r&   )r'   s   "r(   r)   r      s      - r+   c                	    V P                   # rg   r   rJ   s   &r(   ra   %_DatabaseAggregationCommand._database   r   r+   c                    V ^8  d   QhRRRR/# r   r&   )r'   s   "r(   r)   r      s     ( (): (?S (r+   c                    VP                  RV P                  4      P                  R^4      w  r#V P                  V,          # )rZ   r|   .)r   rR   splitra   )rC   r/   _collnames   &&  r(   r[   ._DatabaseAggregationCommand._cursor_collection   s8    
 jjt'='=>DDS!L~~h''r+   r&   N)r   r   r   r   r   r   rK   rR   ra   r[   r   r&   r+   r(   r   r      sL      5 5  ( (r+   r   N)*r   
__future__r   collections.abcr   r   r   typingr   r   r   r	   pymongor
   pymongo.collationr   pymongo.errorsr   pymongo.read_preferencesr   r   #pymongo.asynchronous.client_sessionr   pymongo.asynchronous.collectionr   #pymongo.asynchronous.command_cursorr   pymongo.asynchronous.databaser   pymongo.asynchronous.poolr   pymongo.asynchronous.serverr   r   pymongo.typingsr   r   _IS_SYNCr   r   r   r   r&   r+   r(   <module>r      sz    B " = = 6 6  8 - BF?F;9248b bJ%$7 %(5'D 5("5 (r+   