+
    8iq                       R t ^ RIHt ^ RIt^ RIt^ RIt^ RIHt ^ RIH	t	 ^ RI
HtHtHtHtHtHtHt ^ RIHt ^ RIHt ^ RIHtHt ^ R	IHtHtHtHt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+H,t,H-t- ^ RI.H/t/H0t0H1t1H2t2H3t3H4t4H5t5H6t6 ^ RI7H8t8 ^ RI9H:t:H;t; ^ RI<H=t= ^ RI>H?t? ]'       d   ^ RI@HAtA ^ RIBHCtC ^ RIDHEtE ^ RIFHGtGHHtHHItI RtJ ! R R4      tKR# )z<The bulk write operations interface.

.. versionadded:: 2.7
)annotationsN)MutableMapping)islice)TYPE_CHECKINGAnyIteratorMappingOptionalTypeUnion)ObjectId)RawBSONDocument)_csotcommon)	_COMMANDS_DELETE_ALL_merge_command_raise_bulk_write_error_Run)validate_is_document_typevalidate_ok_for_replacevalidate_ok_for_update)ConfigurationErrorInvalidOperationNotPrimaryErrorOperationFailure)_RETRYABLE_ERROR_CODES)_COMMAND_LOGGER_CommandStatusMessage
_debug_log)_DELETE_INSERT_UPDATE_BulkWriteContext_convert_exception_convert_write_result_EncryptedBulkWriteContext_randint)ReadPreference)ClientSession_validate_session_write_concern)_handle_reauth)WriteConcern)
Collection)MongoClient)
Connection)_DocumentOut_DocumentType	_PipelineTc                     ] tR t^StRtR(R R llt]R R l4       tR R ltR)R	 R
 llt	R*R R llt
R(R R lltR R ltR R lt]R R l4       tR R ltR R ltR R ltR+R R lltR R ltR R  ltR! R" ltR# R$ ltR% R& ltR'tR# ),_Bulkz'The private guts of the bulk write API.Nc               0    V ^8  d   QhRRRRRRRRR	R
RR/# )   
collectionzCollection[_DocumentType]orderedboolbypass_document_validationOptional[bool]commentzOptional[str]letzOptional[Any]returnNone )formats   "V/var/www/html/photoedit/myenv/lib/python3.14/site-packages/pymongo/synchronous/bulk.py__annotate___Bulk.__annotate__V   sF     !" !"-!" !" %3	!"
 !" !" 
!"    c                   VP                  VP                  P                  R\        R7      R7      V n        WPn        V P
                  e"   \        P                  ! RV P
                  4       W@n        W n	        . V n
        RV n        W0n        RV n        RV n        RV n        RV n        RV n        RV n        RV n        RV n        RV n        RV n        RV n        R# )zInitialize a _Bulk instance.replace)unicode_decode_error_handlerdocument_class)codec_optionsNr=   FT)with_optionsrJ   _replacedictr7   r=   r   r   r<   r8   opsexecutedbypass_doc_valuses_collationuses_array_filtersuses_hint_updateuses_hint_delete	uses_sortis_retryableretryingstarted_retryable_writecurrent_runnext_runis_encrypted)selfr7   r8   r:   r<   r=   s   &&&&&&rB   __init___Bulk.__init__V   s     %11$22;;-6t <  2 

 88,,UDHH=&-8:8#"' % % ',$!rE   c                   V ^8  d   QhRR/# )r6   r>   zType[_BulkWriteContext]r@   )rA   s   "rB   rC   rD   z   s     % % 7 %rE   c                	    V P                   P                  P                  P                  pV'       d    VP                  '       g   R V n        \        # RV n        \        # )TF)r7   databaseclient
_encrypter_bypass_auto_encryptionr[   r&   r#   )r\   	encrypters   & rB   bulk_ctx_class_Bulk.bulk_ctx_classy   sG    OO,,33>>	Y>>> $D-- %D$$rE   c                    V ^8  d   QhRRRR/# )r6   documentr0   r>   r?   r@   )rA   s   "rB   rC   rD      s     - -< -D -rE   c                    \        RV4       \        V\        4      '       g   RV9   g   \        4       VR&   V P                  P                  \        V34       R# )z*Add an insert document to the list of ops.ri   _idN)r   
isinstancer   r   rN   appendr!   )r\   ri   s   &&rB   
add_insert_Bulk.add_insert   s@    !*h78_55(9J&jHUO(+,rE   c               <    V ^8  d   QhRRRRRRRRR	R
RRRRRR
RR/	# )r6   selectorMapping[str, Any]updatez#Union[Mapping[str, Any], _Pipeline]multir9   upsertr;   	collationOptional[Mapping[str, Any]]array_filtersz!Optional[list[Mapping[str, Any]]]hint Union[str, dict[str, Any], None]sortr>   r?   r@   )rA   s   "rB   rC   rD      sd     ( (#( 4( 	(
 ( /( 9( /( *( 
(rE   c	                   \        V4       RVRVRV/p	Ve   WIR&   Ve   RV n        WYR&   Ve   RV n        WiR&   Ve   RV n        WyR	&   Ve   RV n        WR
&   V'       d   RV n        V P                  P                  \        V	34       R# )z8Create an update document and add it to the list of ops.qurt   Nru   Trv   arrayFiltersry   r{   F)	r   rQ   rR   rS   rU   rV   rN   rm   r"   )
r\   rq   rs   rt   ru   rv   rx   ry   r{   cmds
   &&&&&&&&& rB   
add_update_Bulk.add_update   s     	v&"Hc67EJ"M "&D($&*D#"/$(D!K!DNK %D#'rE   c               4    V ^8  d   QhRRRRRRRRRR	R
RRR/# )r6   rq   rr   replacementru   r;   rv   rw   ry   rz   r{   r>   r?   r@   )rA   s   "rB   rC   rD      sP     ( (#( '( 	(
 /( /( *( 
(rE   c                    \        V4       RVRV/pVe   W7R&   Ve   RV n        WGR&   Ve   RV n        WWR&   Ve   RV n        WgR&   V P                  P                  \        V34       R# )	z8Create a replace document and add it to the list of ops.r}   r~   Nru   Trv   ry   r{   )r   rQ   rS   rU   rN   rm   r"   )r\   rq   r   ru   rv   ry   r{   r   s   &&&&&&& rB   add_replace_Bulk.add_replace   sz     	 ,"Hc;?"M "&D($(D!K!DNK#'rE   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )r6   rq   rr   limitintrv   rw   ry   rz   r>   r?   r@   )rA   s   "rB   rC   rD      s<     ( (#( ( /	(
 /( 
(rE   c                    RVRV/pVe   RV n         W5R&   Ve   RV n        WER&   V\        8X  d   RV n        V P                  P                  \        V34       R# )z7Create a delete document and add it to the list of ops.r}   r   NTrv   ry   F)rQ   rT   r   rV   rN   rm   r    )r\   rq   r   rv   ry   r   s   &&&&& rB   
add_delete_Bulk.add_delete   sa      #Hgu= "&D($(D!KK %D#'rE   c                   V ^8  d   QhRR/# )r6   r>   zIterator[Optional[_Run]]r@   )rA   s   "rB   rC   rD      s      5 rE   c              #     "   Rp\        V P                  4       FI  w  pw  r4Vf   \        V4      pM VP                  V8w  d   Vx  \        V4      pVP	                  W$4       KK  	  Vx  R# 5i)zYGenerate batches of operations, batched by type of
operation, in the order **provided**.
N)	enumeraterN   r   op_typeadd)r\   runidxr   	operations   &    rB   gen_ordered_Bulk.gen_ordered   sb      )2488)<%C%'{7m'	7mGGC# *= 	s   A+A-c                   V ^8  d   QhRR/# )r6   r>   zIterator[_Run]r@   )rA   s   "rB   rC   rD      s     
 
~ 
rE   c              #    "   \        \        4      \        \        4      \        \        4      .p\	        V P
                  4       F  w  pw  r4W,          P                  W$4       K!  	  V F  pVP
                  '       g   K  Vx  K  	  R# 5i)zRGenerate batches of operations, batched by type of
operation, in arbitrary order.
N)r   r!   r"   r    r   rN   r   )r\   
operationsr   r   r   r   s   &     rB   gen_unordered_Bulk.gen_unordered   se      7mT']DMB
)2488)<%C%'##C3 *= Cwww	 s   A9B
 
B
c               4    V ^8  d   QhRRRRRRRRR	R
RRRR/# )r6   bwcr#   r   MutableMapping[str, Any]
request_idr   msgbytesdocslist[Mapping[str, Any]]rb   MongoClient[Any]r>   dict[str, Any]r@   )rA   s   "rB   rC   rD      sY     S SS &S 	S
 S &S !S 
SrE   c                6	   WRVP                   &   \        P                  ! \        P                  4      '       d   \        \        \        P                  VP                  P                  V\        \        V4      4      VP                  VVVP                  P                  VP                  P                  VP                  P                   ^ ,          VP                  P                   ^,          VP                  P"                  R7       VP$                  '       d   VP'                  W#V4        VP                  P)                  W4VP*                  4      p\,        P,                  P/                  4       VP0                  ,
          p\        P                  ! \        P                  4      '       d   \        \        \        P2                  VP                  P                  VV\        \        V4      4      VP                  VVVP                  P                  VP                  P                  VP                  P                   ^ ,          VP                  P                   ^,          VP                  P"                  R7       VP$                  '       d   VP5                  W7V4       VP7                  WqP8                  4       V#   \:         Ed   p	\,        P,                  P/                  4       TP0                  ,
          p\=        T	\>        \@        34      '       d   T	PB                  p
M\E        T	4      p
\        P                  ! \        P                  4      '       d   \        \        \        PF                  TP                  P                  TT
\        \        T4      4      TP                  TTTP                  P                  TP                  P                  TP                  P                   ^ ,          TP                  P                   ^,          TP                  P"                  \=        T	\@        4      R7       TP$                  '       d   TPI                  Y:T4       \=        T	\>        \@        34      '       d'   TP7                  T	PB                  TP8                  4       h Rp	?	ii ; i)zCA proxy for SocketInfo.write_command that handles event publishing.messageclientIdcommandcommandNamedatabaseName	requestIdoperationIddriverConnectionIdserverConnectionId
serverHost
serverPort	serviceIdr   r   
durationMSreplyr   r   r   r   r   r   r   r   r   r   r   r   failurer   r   r   r   r   r   r   r   r   isServerSideErrorN)%fieldr   isEnabledForloggingDEBUGr   r   STARTED_topology_settings_topology_idnextiterdb_nameconnidserver_connection_idaddress
service_idpublish_startwrite_commandcodecdatetimenow
start_time	SUCCEEDED_succeed_process_responsesession	Exceptionrl   r   r   detailsr$   FAILED_fail)r\   r   r   r   r   r   rb   r   durationexcr   s   &&&&&&&    rB   r   _Bulk.write_command   s    CII''66-5522?? cO [[$&#&88;;#&88#@#@88++A.88++A.((-- ;;;JJs-5	HH**:CIIFE((,,.?H++GMM::#1;;#66CC' $T#Y!$( *'*xx{{'*xx'D'D"xx//2"xx//2!hh11  {{{Z9$$UKK8@ ?  	((,,.?H#1ABCC(+,S1++GMM::#188#66CC'# $T#Y!$( *'*xx{{'*xx'D'D"xx//2"xx//2!hh11&06F&G$ {{{		*x8#1ABCC((ckkB=	s.   *EJ7 -J7 7RBRC-R>ARRc               8    V ^8  d   QhRRRRRRRRR	RR
RRRRR/# )r6   r   r#   r   r   r   r   r   r   max_doc_sizer   r   rb   r   r>   rw   r@   )rA   s   "rB   rC   rD   I  sd     V VV &V 	V
 V V &V !V 
%VrE   c                
	   \         P                  ! \        P                  4      '       d   \	        \         \
        P                  VP                  P                  V\        \        V4      4      VP                  VVVP                  P                  VP                  P                  VP                  P                  ^ ,          VP                  P                  ^,          VP                  P                   R7       VP"                  '       d   VP%                  W#V4      p VP                  P'                  WE4      p\(        P(                  P+                  4       VP,                  ,
          p	Ve   \/        VP0                  W(4      p
MR^/p
\         P                  ! \        P                  4      '       d   \	        \         \
        P2                  VP                  P                  V	V
\        \        V4      4      VP                  VVVP                  P                  VP                  P                  VP                  P                  ^ ,          VP                  P                  ^,          VP                  P                   R7       VP"                  '       d   VP5                  W:V	4       V#   \6         Ed   p\(        P(                  P+                  4       TP,                  ,
          p	\9        T\:        4      '       d"   \/        TP0                  Y+P<                  4      pM.\9        T\>        4      '       d   TP<                  pM\A        T4      p\         P                  ! \        P                  4      '       d   \	        \         \
        PB                  TP                  P                  T	T\        \        T4      4      TP                  TTTP                  P                  TP                  P                  TP                  P                  ^ ,          TP                  P                  ^,          TP                  P                   \9        T\:        4      R7       TP"                  '       d#   TP,                  f   Q hTPE                  Y<T	4       h Rp?ii ; i)zAA proxy for Connection.unack_write that handles event publishing.r   Nokr   r   )#r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   unack_writer   r   r   r%   namer   r   r   rl   r   r   r   r$   r   r   )r\   r   r   r   r   r   r   rb   resultr   r   r   r   s   &&&&&&&&     rB   r   _Bulk.unack_writeI  s    ''66-5522?? cO [[$&#&88;;#&88#@#@88++A.88++A.((-- ;;;**Sd3C8	XX))#<F((,,.?H!-chhD q	"//>>' 5 ? ?!'!:!:!G!G#+#$(cO%([[",$.+.88;;+.88+H+H#&88#3#3A#6#&88#3#3A#6"%(("5"5  {{{Z9> =  	((,,.?H#/00(=chh[[(YC11++,S1++GMM::#188#66CC'# $T#Y!$( *'*xx{{'*xx'D'D"xx//2"xx//2!hh11&06F&G" {{{~~111		*x8;	s4   BJ" /CJ" J" "R.B=Q=,C-Q=#Q==Rc          
     ,    V ^8  d   QhRRRRRRRRR	R/# )
r6   r   4Union[_BulkWriteContext, _EncryptedBulkWriteContext]r   r   rN   r   rb   r   r>   r@   )rA   s   "rB   rC   rD     s<      A  %	
 ! 
!rE   c           	     	"   V P                   '       dU   VP                  W#4      w  rVpVP                  P                  VP                  V\        ^ R7      VP                  VR7       V# VP                  W#4      w  rpV P                  WW^ Wt4       V# )    )w)write_concernr   rb   )r[   batch_commandr   r   r   r,   r   r   )
r\   r   r   rN   rb   _batched_cmdto_sendr   r   s
   &&&&&     rB   _execute_batch_unack_Bulk._execute_batch_unack  s     &)&7&7&A#AGHH*Q/     (+'8'8'B$JW Sz7KrE   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )r6   r   r   r   r   rN   r   rb   r   r>   z.tuple[dict[str, Any], list[Mapping[str, Any]]]r@   )rA   s   "rB   rC   rD     s<      A  %	
 ! 
8rE   c                	$   V P                   '       dV   VP                  W#4      w  rVpVP                  P                  VP                  VVP
                  VP                  VR 7      pW3# VP                  W#4      w  rpV P                  WWWt4      pW3# ))rJ   r   rb   )r[   r   r   r   r   r   r   r   )r\   r   r   rN   rb   r   r   r   r   r   r   s   &&&&&      rB   _execute_batch_Bulk._execute_batch  s     &)&7&7&A#AGXX%%!ii & F  (+'8'8'B$JW''*7SFrE   c               <    V ^8  d   QhRRRRRRRRR	R
RRRRRRRR/	# )r6   	generatorIterator[Any]r   r,   r   Optional[ClientSession]r   r/   op_idr   	retryabler9   full_resultr   final_write_concernzOptional[WriteConcern]r>   r?   r@   )rA   s   "rB   rC   rD     so     e3 e3 e3 $e3 )	e3
 e3 e3 e3 .e3 4e3 
e3rE   c	           
     	L   V P                   P                  P                  p	V P                   P                  P                  p
V
P                  pV P
                  '       g   \        V4      V n        R V n        V P
                  pVP                  W4       RpV'       Ed   V P                  '       g"   \        VR 4      V n        V P                  f   Rp\        VP                  ,          pV P                  V	VVVVVVP                  V P                   P                  4      pVP                  \        VP                   4      8  Ed   V'       d8   \        VP                   4      VP                  ,
          ^8X  d   T;'       g    TpWP                   P                  RV P"                  /pV P$                  '       d   V P$                  VR&   \&        P(                  ! VV4       V P*                  e   V P*                  VR&   V P,                  e+   VP                  \.        \0        39   d   V P,                  VR&   V'       dT   V'       d*   V P2                  '       g   VP5                  4        RV n        VP7                  VV\8        P:                  V4       VP=                  VW:4       VP?                  V4       VPA                  V
V4       \C        VP                   VP                  R 4      pVPD                  '       d   V PG                  VVVV
4      w  ppVPI                  R/ 4      pVPI                  R^ 4      \J        9   d:   \L        PN                  ! V4      p\Q        VVVP                  V4       \S        V4       \Q        WVP                  V4       RV n	        RV n        V P"                  '       d	   R	V9   d   M:MV PU                  VVVV
4      pV;P                  \        V4      ,          un        EK  V P"                  '       d   VR	,          '       d   R # V P                  ;V n        pEK  R # )
NFTr8   r<   bypassDocumentValidationr=   writeConcernErrorcodewriteErrors)+r7   ra   r   rb   _event_listenersrY   r   rZ   validate_sessionrW   r   r   rf   rJ   
idx_offsetlenrN   r8   r<   r   apply_write_concernrP   r=   r    r"   rX   _start_retryable_write	_apply_tor(   PRIMARYsend_cluster_timeadd_server_apiapply_timeoutr   acknowledgedr   getr   copydeepcopyr   r   r   )r\   r   r   r   r   r   r   r   r   r   rb   	listenersr   last_runcmd_namer   r   rN   r   r   wcefulls   &&&&&&&&&             rB   _execute_command_Bulk._execute_command  s7    //**//))00++	#ID DM 	f.c=== $Y 5==(#H -H%%--	C ..3sww</ SWW!>1 D$7$H$H=M!5!5y$,,O<<<%)\\C	N))#}=&&26:6I6IC2388'CKKGW;M,M!%CJ !)E)E)E6687;4%%c9n6L6LdS&&sG<##C(""63/SWWcnnd; !---&*&9&9#sC&POFG !**%8"=Cwwvq)-CC  $}}[9&sD#..&I/5"3S^^VL %*DM38D0|||(?"77S#vNG#g,. |||M : :%)]]2DsY rE   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )r6   r   r   r   r,   r   r   r   strr>   r   r@   )rA   s   "rB   rC   rD   9  s<     . . . $. )	.
 . 
.rE   c                6  a aaaa	 R. R. R^ R^ R^ R^ R^ R. /o\        4       o	R	 VVV	V V3R
 llpS P                  P                  P                  pVP	                  S P
                  VVVS S	R7      pSR,          '       g   SR,          '       d   \        S4       S# )zExecute using write commands.r   writeConcernErrors	nInserted	nUpsertednMatched	nModifiednRemovedupsertedc               (    V ^8  d   QhRRRRRRRR/# )	r6   r   r   r   r/   r   r9   r>   r?   r@   )rA   s   "rB   rC   +_Bulk.execute_command.<locals>.__annotate__N  s,     	 	,	4>	KO		rE   c           	     6   < SP                  SSV VSVS4       R # N)r  )r   r   r   r   r   r   r\   r   s   &&&rB   retryable_bulk-_Bulk.execute_command.<locals>.retryable_bulkN  s(     !!rE   )bulkoperation_id)r'   r7   ra   rb   _retryable_writerV   r   )
r\   r   r   r   r   r%  rb   r   r   r   s
   fff&&   @@rB   execute_command_Bulk.execute_command9  s     2 "	
 
	 	 ))00## $ 
 }%%5I)J)J#K0rE   c               $    V ^8  d   QhRRRRRR/# )r6   r   r/   r   r   r>   r?   r@   )rA   s   "rB   rC   rD   i  s"     #; #;j #;] #;W[ #;rE   c           
     8   V P                   P                  P                  pV P                   P                  P                  pVP                  p\        4       pV P                  '       g   \        V4      V n        V P                  pV'       Ed   \        VP                  ,          pV P                  VVVVVRVP                  V P                   P                  4      p	VP                  \        VP                  4      8  d   WP                   P                  RRRR^ //p
VP                  V
4       \!        VP                  VP                  R4      pV P#                  WW4      pV;P                  \        V4      ,          un        K  \        VR4      ;V n        pEK  R# )zCExecute write commands with OP_MSG and w=0 writeConcern, unordered.Nr8   FwriteConcernr   )r7   ra   r   rb   r  r'   rY   r   r   r   rf   rJ   r  r  rN   r
  r   r   )r\   r   r   r   rb   r  r   r   r  r   r   rN   r   s   &&&          rB   execute_op_msg_no_results_Bulk.execute_op_msg_no_resultsi  sE   //**//))00++	
#IDc -H%%--	C ..3sww</oo22u"S!H
 ##C(SWWcnnd;33CcJ#g,.%))T%::Ds1 rE   c               (    V ^8  d   QhRRRRRRRR/# 	r6   r   r/   r   r   r   r,   r>   r?   r@   )rA   s   "rB   rC   rD     s2     " "" !" $	"
 
"rE   c                    R. R. R^ R^ R^ R^ R^ R. /p\        4       p\        4       p V P                  VVR	VVR
VV4       R	#   \         d     R	# i ; i)zAExecute write commands with OP_MSG and w=0 WriteConcern, ordered.r   r  r  r  r  r  r  r   NF)r,   r'   r  r   )r\   r   r   r   r   initial_write_concernr   s   &&&&   rB   execute_command_no_results _Bulk.execute_command_no_results  s     2 "	
 !-
	!!%	   		s   A AAc               (    V ^8  d   QhRRRRRRRR/# r2  r@   )rA   s   "rB   rC   rD     s2     !? !?!? !!? $	!?
 
!?rE   c                   V P                   '       d   \        R4      hV P                  '       d   \        R4      hT;'       d    VP                  '       * pV'       d/   V P                  '       d   VP
                  ^	8  d   \        R4      hV'       d/   V P                  '       d   VP
                  ^8  d   \        R4      hV'       d/   V P                  '       d   VP
                  ^8  d   \        R4      hV P                  '       d   \        R4      hV P                  '       d   V P                  WV4      # V P                  W4      # )z3Execute all operations, returning no results (w=0).z3Collation is unsupported for unacknowledged writes.z6arrayFilters is unsupported for unacknowledged writes.zPMust be connected to MongoDB 4.4+ to use hint on unacknowledged delete commands.zPMust be connected to MongoDB 4.2+ to use hint on unacknowledged update commands.zPMust be connected to MongoDB 8.0+ to use sort on unacknowledged update commands.zGCannot set bypass_document_validation with unacknowledged write concern)rQ   r   rR   r  rT   max_wire_versionrS   rU   rP   r   r8   r5  r/  )r\   r   r   r   unacks   &&&& rB   execute_no_results_Bulk.execute_no_results  s    $%Z[["""$%]^^@@m&@&@"@T***t/D/Dq/H$b  T***t/D/Dq/H$b  T^^^(=(=(B$b  "Y  <<<224MRR--d>>rE   c               (    V ^8  d   QhRRRRRRRR/# )	r6   r   r,   r   r   r   r  r>   r   r@   )rA   s   "rB   rC   rD     s8     V V#V )V 	V
 
VrE   c                ^   V P                   '       g   \        R4      hV P                  '       d   \        R4      hRV n        T;'       g    V P                  P                  p\        W!4      pV P                  '       d   V P                  4       pMV P                  4       pV P                  P                  P                  pVP                  '       g8   VP                  W#4      ;_uu_ 4       pV P                  WdV4        RRR4       R# V P                  WAW#4      #   + '       g   i     R# ; i)zExecute operations.zNo operations to executez*Bulk operations can only be executed once.TN)rN   r   rO   r7   r   r*   r8   r   r   ra   rb   r  _conn_for_writesr;  r*  )r\   r   r   r   r   rb   
connections   &&&&   rB   execute_Bulk.execute  s     xxx"#=>>==="#OPP%FF)F)F1'I<<<((*I**,I))00)))((<<
''
}M =< ''	'UU	 =<<s   +DD,	)rP   r7   r<   rY   rO   r[   rV   r=   rZ   rN   r8   rW   rX   rR   rQ   rT   rS   rU   )NN)NNNN)NNNr$  )__name__
__module____qualname____firstlineno____doc__r]   propertyrf   rn   r   r   r   r   r   r+   r   r   r   r   r  r*  r/  r5  r;  rA  __static_attributes__r@   rE   rB   r4   r4   S   s    1!"F % %-(B(2((
 S SjVp6,e3N.`#;J"H!?FV VrE   r4   )LrG  
__future__r   r  r   r   collections.abcr   	itertoolsr   typingr   r   r   r   r	   r
   r   bson.objectidr   bson.raw_bsonr   pymongor   r   pymongo.bulk_sharedr   r   r   r   r   pymongo.commonr   r   r   pymongo.errorsr   r   r   r   pymongo.helpers_sharedr   pymongo.loggerr   r   r   pymongo.messager    r!   r"   r#   r$   r%   r&   r'   pymongo.read_preferencesr(   "pymongo.synchronous.client_sessionr)   r*   pymongo.synchronous.helpersr+   pymongo.write_concernr,   pymongo.synchronous.collectionr-    pymongo.synchronous.mongo_clientr.   pymongo.synchronous.poolr/   pymongo.typingsr0   r1   r2   _IS_SYNCr4   r@   rE   rB   <module>r`     s    #    *    # ) !  
  : M M	 	 	 4 ] 6 .9<3FF\
V \
VrE   