+
    ˜h©j‘` ã                  ó”  a€ 0 t $ R t^ RIHt ^ RIt^ RIHt ^ RIt^ RI	H
t
 ^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RI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 ^ 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  ^ 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) ^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'H0t0 ^R#I'H1t1 ^R$I'H2t3 ^R%I4H5t5 ^R&I4H6t6 ^R'I(H7t7 ^R(I(H8t8 ^R)I(H9t9 ^R*I(H:t: ^R+I(H;t; ^R,I+H<t< ^R-I1H=t= ^R.I>H?t? ^R/I'H@t@ ^R$I'H2t2 ^R0I2HAtA ^R1IBHCtC ^R2IBHDtD ^R3IBHEtE ^R4IBHFtF ]PJ                  '       EdK   ^R5IGHHtH ^R6I(HItI ^R7I(HJtJ ^R8I(HKtK ^R9ILHMtM ^R:INHOtO ^R;IPHQtQ ^R<IPHRtR ^R=IPHStS ^R>IPHTtT ^R?IPHUtU ^R@I+HVtV ^RAI+HWtW ^RBI+HXtX ^RCI+HYtY ^RDI+HZtZ ^REI+H[t[ ^RFI+H\t\ ^RGI+H]t] ^RHI+H^t^ ^RII+H_t_ ^RJI,H`t` ^RKI/Hata ^RLI/Hbtb ^RMI/Hctc ^RNI/Hdtd ^ROI/Hete ^RPI/Hftf ^RQI/Hgtg ^RRI/Hhth ^RSI/Hiti ^RTI0Hjtj ^RUI0Hktk ^RVI0Hltl ^RWI0Hmtm ^RXI0Hntn ^RYI0Hoto ^RZI0Hptp ^R[I0Hqtq ^R\I0Hrtr ^R]IsHttt ^R^IsHutu ^R_IsHvtv ^R`IsHwtw ^RaI>Hxtx ^RbIyHztz ^RcI{H|t| ^RdI{H}t} ^ReI{H~t~ ^RfI{Ht ^RgI{H€t€ ^RhI{H�t� ^RiI{H‚t‚ ^RjI{Hƒtƒ ^RkI{H„t„ ]Rl]…3,          t†0 RmkRnkRokRpkRqkRrkRskRtkRukRvkRwkRxkRykRzkR{kR|kR}kR~kRkR€kR�kR‚kRƒkR„kR…kR†kR‡kRˆkR‰kRŠkR‹kRŒkR�kRŽkR�kR�kR‘kR’kR“kR”kR•kR–kR—kR˜kR™kRškR›kRœkR�kRžkRŸkR kR¡kR¢kR£kR¤kR¥kR¦kR§kR¨kR©kRªkR«kR¬kR­kR®kR¯kR°kR±kR²kR³kR´kRµkR¶kR·kR¸kR¹kRºkR»kR¼kR½kR¾kR¿kRÀkRÁkRÂkRÃkRÄkRÅkRÆkRÇkRÈkRÉkRÊkt‡]EP                  ! RË]EP                  4      tŠ]EP                  ! RÌ]EP                  4      t‹]Œ! ^ ^
4       U u0 uF  p ]…! V 4      kK  	  up EP                  RÍ.4      tŽ]EP                  ! RÎ]EP                  4      t�]EP                  ! RÎ]EP                  4      t�]EP                  ! RÏ]EP                  4      t‘]EP                  ! RÐ]EP$                  4      t“]EP                  ! RÑ]EP$                  4      t”RÒt•RÓ]•RÔRÕRÖR×RØRÙRÚRÛRÜRÝ/t–/ ]-EP.                  RÞb]-EP0                  Rßb]-EP2                  Ràb]-EP4                  Ráb]-EP6                  Râb]-EP8                  Rãb]-EP:                  Räb]-EP<                  Råb]-EP>                  Ræb]-EP@                  Rçb]-EPB                  Rèb]-EPD                  Réb]-EPF                  Rêb]-EPH                  Rëb]-EPJ                  Rìb]-EPL                  Ríb]-EPN                  Rîb/ ]-EPP                  Rïb]-EPR                  Rðb]-EPT                  Rñb]-EPV                  Ròb]-EPX                  Rób]-EPZ                  Rôb]-EP\                  Rõb]-EP^                  Röb]-EP`                  R÷b]-EPb                  Røb]-EPd                  Rùb]-EPf                  Rúb]-EPh                  Rûb]-EPj                  Rüb]-EPl                  Rýb]-EPn                  Rþb]-EPp                  RÿbC]-EPr                  ER ]-EPt                  ER]-EPv                  ER]-EPx                  ER]-EPz                  ER]-EP|                  ER]-EP~                  ER/CtÀ],EP‚                  ER],EP„                  ER],EP†                  ER	],EPˆ                  ER
],EPŠ                  ER],EPŒ                  ER],EPŽ                  ER],EP�                  ER],EP’                  ER],EP”                  ER],EP–                  ER],EP˜                  ER],EPš                  ER],EPœ                  ER/tÏER]ÐER&   ERERERERERERERERERERERERERERERERERERER ER ER!ER!ER"ER"ER#ER#ER$ER$ER%ER%/tÑ]0EP¤                  EP¦                  ER&]0EP¤                  EP¨                  ER']0EP¤                  EPª                  ER(]0EP¤                  EP¬                  ER)]0EP¤                  EP®                  ER*]0EP¤                  EP°                  ER+/tÙ ! ER, ER-]4      tÚ ! ER. ER/]D4      tÛ^ tÜER0]ÐER1&   ^tÝER2]ÐER3&   ^tÞER4]ÐER5&   ^tßER6]ÐER7&    ! ER8 ER9]F4      tà ! ER: ER;]àER<ER=7      tá ! ER> ER?]4      tâ ! ER@ ERA]4      tã ! ERB ERC]4      tä ! ERD ERE]A4      tå ! ERF ERG]
4      tæ ! ERH ERI]
4      tç]è! ]ç4      w  tétêtëtì ! ERJ ERK]EPÚ                  ! ERKERLERM.4      4      tî ! ERN ERO4      tï ! ERP ERQ]2EPà                  4      tñ ! ERR ERS].EPä                  ],          ]+EPæ                  4      tô ! ERT ERU].EPä                  ],          ]+EPæ                  4      tõ ! ERV ERW]ï4      tö ! ERX ERY]ö4      t÷ ! ERZ ER[]ï4      tø ! ER\ ER]]ñ4      tù ! ER^ ER_]ù4      tú ! ER` ERa]D4      tû ! ERb ERc]D4      tü ! ERd ERe4      týR# u up i (f  a]  Base SQL and DDL compiler implementations.

Classes provided include:

:class:`.compiler.SQLCompiler` - renders SQL
strings

:class:`.compiler.DDLCompiler` - renders DDL
(data definition language) strings

:class:`.compiler.GenericTypeCompiler` - renders
type specification strings.

To generate user-defined SQL strings, see
:doc:`/ext/compiler`.

)ÚannotationsN)ÚIntEnum)Úperf_counter)ÚAny)ÚCallable)Úcast)ÚClassVar)ÚDict)Ú	FrozenSet)ÚIterable)ÚIterator)ÚList)ÚMapping)ÚMutableMapping)Ú
NamedTuple)ÚNoReturn)ÚOptional)ÚPattern)ÚSequence)ÚSet)ÚTuple)ÚType)ÚTYPE_CHECKING)ÚUnion)Úbase)Ú	coercions)Úcrud)Úelements)Ú	functions)Ú	operators)Úroles)Úschema)Ú
selectable)Úsqltypes)Úutil)Úis_column_element)Úis_dml)Ú	_de_clone)Ú_from_objects)Ú
_NONE_NAME)Ú _SentinelDefaultCharacterization)ÚNO_ARG)Úquoted_name)Ú	TupleType)Úprefix_anon_map)Úexc)ÚFastIntFlag)ÚLiteral)ÚProtocol)ÚSelf)Ú	TypedDict)Ú_AnnotationDict)Ú_AmbiguousTableNameMap)ÚCompileState)Ú
Executable)ÚCacheKey)ÚExecutableDDLElement)ÚInsert)ÚUpdate)Ú
UpdateBase)ÚUpdateDMLState)Ú
ValuesBase)Ú_truncated_label)ÚBinaryExpression)ÚBindParameter)ÚClauseElement)ÚColumnClause)ÚColumnElement)ÚFalse_)ÚLabel)ÚNull)ÚTrue_)ÚFunction)ÚCheckConstraint)ÚColumn)Ú
Constraint)ÚForeignKeyConstraint)ÚIdentityOptions)ÚIndex)ÚPrimaryKeyConstraint)ÚTable)ÚUniqueConstraint)Ú_ColumnsClauseElement)ÚAliasedReturnsRows)ÚCompoundSelectState)ÚCTE)Ú
FromClause)ÚNamedFromClause)ÚReturnsRows)ÚSelect)ÚSelectState)Ú_BindProcessorType)ÚTypeDecorator)Ú
TypeEngine)ÚUserDefinedType)Ú	Visitable)ÚCursorResultMetaData)Ú_CoreSingleExecuteParams)Ú_DBAPIAnyExecuteParams)Ú_DBAPIMultiExecuteParams)Ú_DBAPISingleExecuteParams)Ú_ExecuteOptions)Ú_GenericSetInputSizesType)Ú_MutableCoreSingleExecuteParams)ÚDialect)ÚSchemaTranslateMapTyperX   ÚallÚanalyseÚanalyzeÚandÚanyÚarrayÚasÚascÚ
asymmetricÚauthorizationÚbetweenÚbinaryÚbothÚcaser   ÚcheckÚcollateÚcolumnÚ
constraintÚcreateÚcrossÚcurrent_dateÚcurrent_roleÚcurrent_timeÚcurrent_timestampÚcurrent_userÚdefaultÚ
deferrableÚdescÚdistinctÚdoÚelseÚendÚexceptÚfalseÚforÚforeignÚfreezeÚfromÚfullÚgrantÚgroupÚhavingÚilikeÚinÚ	initiallyÚinnerÚ	intersectÚintoÚisÚisnullÚjoinÚleadingÚleftÚlikeÚlimitÚ	localtimeÚlocaltimestampÚnaturalÚnewÚnotÚnotnullÚnullÚoffÚoffsetÚoldÚonÚonlyÚorÚorderÚouterÚoverlapsÚplacingÚprimaryÚ
referencesÚrightÚselectÚsession_userÚsetÚsimilarÚsomeÚ	symmetricÚtableÚthenÚtoÚtrailingÚtrueÚunionÚuniqueÚuserÚusingÚverboseÚwhenÚwherez^[A-Z0-9_$]+$z^[A-Z0-9_ $]+$Ú$z5^(?:RESTRICT|CASCADE|SET NULL|NO ACTION|SET DEFAULT)$z^(?:DEFERRED|IMMEDIATE)$z%(?<![:\w\$\x5c]):([\w\$]+)(?![:\w\$])z\x5c(:[\w\$]*)(?![:\w\$])z%%(%(name)s)sÚpyformatÚqmarkÚ?Úformatz%%sÚnumericz:[_POSITION]Únumeric_dollarz$[_POSITION]Únamedz	:%(name)sú AND z OR z + z * z - ú % Ú-z < z <= z != z > z >= z = z IS DISTINCT FROM z IS NOT DISTINCT FROM z || z MATCH z NOT MATCH z IN z NOT IN ú, ú FROM ú AS ú IS z IS NOT z	 COLLATE zEXISTS ú	DISTINCT zNOT zANY zALL z DESCz ASCz NULLS FIRSTz NULLS LASTz ^ z | z & Ú~z << z >> ÚcoalesceÚCURRENT_DATEÚCURRENT_TIMEÚCURRENT_TIMESTAMPÚCURRENT_USERÚ	LOCALTIMEÚLOCALTIMESTAMPÚrandomÚsysdateÚSESSION_USERÚUSERÚCUBEÚROLLUPzGROUPING SETSzDict[Type[Function[Any]], str]Ú	FUNCTIONSÚmonthÚdayÚyearÚsecondÚhourÚdoyÚminuteÚquarterÚdowÚweekÚepochÚmillisecondsÚmicrosecondsÚtimezone_hourÚtimezone_minuteÚUNIONz	UNION ALLÚEXCEPTz
EXCEPT ALLÚ	INTERSECTzINTERSECT ALLc                  óJ   € ] tR tRt$ RtR]R&    R]R&    R]R&    R]R	&   R
tR# )ÚResultColumnsEntryin  zþTracks a column expression that is expected to be represented
in the result rows for this statement.

This normally refers to the columns clause of a SELECT statement
but may also refer to a RETURNING clause, as well as for dialect-specific
emulations.

ÚstrÚkeynameÚnameúTuple[Any, ...]ÚobjectsúTypeEngine[Any]Útype© N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__annotations__Ú__static_attributes__r  ó    ÚR/var/www/html/bestweb/venv/lib/python3.14/site-packages/sqlalchemy/sql/compiler.pyrû   rû   n  s1   ‡ ñð ƒLØ;à
ƒIØ%àÓðð Óór  rû   c                  ó"   € ] tR tRtR R ltRtR# )Ú_ResultMapAppenderi�  c          
     ó,   € V ^8„  d   QhRRRRRRRRRR	/# )
é   rý   rü   rþ   r   zSequence[Any]Útype_r  ÚreturnÚNoner  )rÍ   s   "r  Ú__annotate__Ú_ResultMapAppender.__annotate__Ž  s<   € ÷ ñ àðð ðð ð	ð
 ðð 
ñr  c                	ó   € R # ©Nr  ©Úselfrý   rþ   r   r  s   &&&&&r  Ú__call__Ú_ResultMapAppender.__call__Ž  s   € ñ r  r  N©r  r  r  r  r  r  r  r  r  r  r  �  s   † ÷ñ r  r  z
Literal[0]ÚRM_RENDERED_NAMEz
Literal[1]ÚRM_NAMEz
Literal[2]Ú
RM_OBJECTSz
Literal[3]ÚRM_TYPEc                  ó6   € ] tR tRt$ R]R&   R]R&   R]R&   RtR# )	Ú_BaseCompilerStackEntryiŸ  zSet[FromClause]Úasfrom_fromsÚcorrelate_fromsrZ   r"   r  N©r  r  r  r  r
  r  r  r  r  r#  r#  Ÿ  s   ‡ Ø!Ó!Ø$Ó$Ø×r  r#  c                  óJ   € ] tR tRt$ R]R&   R]R&   R]R&   R]R&   R	]R
&   RtR# )Ú_CompilerStackEntryi¥  r7   Úcompile_stateÚboolÚneed_result_map_for_nestedÚneed_result_map_for_compoundrZ   Úselect_0úSelect[Any]Úinsert_from_selectr  Nr&  r  r  r  r(  r(  ¥  s    ‡ ØÓØ $Ó$Ø"&Ó&ØÓØ#×#r  r(  F)Útotalc                  ó„   € ] tR tRt$ RtR]R&    R]R&    R]R&    R	]R
&    R]R&    ]R R l4       t]R R l4       tRt	R# )ÚExpandedStatei­  a�  represents state to use when producing "expanded" and
"post compile" bound parameters for a statement.

"expanded" parameters are parameters that are generated at
statement execution time to suit a number of parameters passed, the most
prominent example being the individual elements inside of an IN expression.

"post compile" parameters are parameters where the SQL literal value
will be rendered into the SQL statement at execution time, rather than
being passed as separate parameters to the driver.

To create an :class:`.ExpandedState` instance, use the
:meth:`.SQLCompiler.construct_expanded_state` method on any
:class:`.SQLCompiler` instance.

rü   Ú	statementrc   Ú
parametersú%Mapping[str, _BindProcessorType[Any]]Ú
processorsúOptional[Sequence[str]]ÚpositiontupzMapping[str, List[str]]Úparameter_expansionc               ó   € V ^8„  d   QhRR/# )r  r  rÿ   r  )rÍ   s   "r  r  ÚExpandedState.__annotate__Ù  s   € ÷ 	Gñ 	G ñ 	Gr  c                óØ   a € S P                   f   \        P                  ! R4      h\        ;QJ d!    . V 3R lS P                    4       F  NK  	  5# ! V 3R lS P                    4       4      # )zbTuple of positional parameters, for statements that were compiled
using a positional paramstyle.

z.statement does not use a positional paramstylec              3  óJ   <"  € T F  pSP                   V,          x € K  	  R # 5ir  ©r4  )Ú.0Úkeyr  s   & €r  Ú	<genexpr>Ú6ExpandedState.positional_parameters.<locals>.<genexpr>â  s   øé € ÐFÑ5E¨c�T—_‘_ S×)Ò)Ó5Eùó   ƒ #)r8  r/   ÚInvalidRequestErrorÚtuple©r  s   fr  Úpositional_parametersÚ#ExpandedState.positional_parametersØ  sW   ø€ ð ×ÑÒ#Ü×)Ò)Ø@óð ÷ ŒuÔF°T×5EÒ5EÓF�uÐFˆuÔF°T×5EÒ5EÓFÓFÐFr  c               ó   € V ^8„  d   QhRR/# )r  r  rc   r  )rÍ   s   "r  r  r;  å  s   € ÷ ñ Ð'?ñ r  c                ó   € V P                   # )z.synonym for :attr:`.ExpandedState.parameters`.r>  rF  s   &r  Úadditional_parametersÚ#ExpandedState.additional_parametersä  s   € ð �‰Ðr  r  N)
r  r  r  r  r	  r
  ÚpropertyrG  rK  r  r  r  r  r2  r2  ­  si   ‡ ñð" ƒNØ=à(Ó(ðð 6Ó5Ø+à(Ó(ðð 1Ó0ðð ô	Gó ð	Gð ôó ôr  r2  c                  óÊ   € ] tR tRt$ RtR]R&    R]R&    R]R&    R	]R
&    RtR]R&    RtR]R&    RtR]R&    ^ t	R	]R&    Rt
R]R&    RtR]R&    RtR]R&    RtR]R&   RtR# )Ú_InsertManyValuesiê  a  represents state to use for executing an "insertmanyvalues" statement.

The primary consumers of this object are the
:meth:`.SQLCompiler._deliver_insertmanyvalues_batches` and
:meth:`.DefaultDialect._deliver_insertmanyvalues_batches` methods.

.. versionadded:: 2.0

r*  Úis_default_exprrü   Úsingle_values_exprzList[crud._CrudParamElementStr]Úinsert_crud_paramsÚintÚnum_positional_params_countedFÚsort_by_parameter_orderÚincludes_upsert_behaviorsNúOptional[Sequence[Column[Any]]]Úsentinel_columnsÚnum_sentinel_columnsr7  Úsentinel_param_keysÚimplicit_sentinelÚhas_upsert_bound_parametersÚembed_values_counterr  )r  r  r  r  r	  r
  rU  rV  rX  rY  rZ  r[  r\  r]  r  r  r  r  rO  rO  ê  sÉ   ‡ ñð Óðð
 Óðð 8Ó7ØMà#&Ó&ð
ð %*Ð˜TÓ)ðð ',Ð˜tÓ+ðð 9=ÐÐ5Ó<ðð !"Ð˜#Ó!ðð 48ÐÐ0Ó7ðð  $Ð�tÓ#ð	ð ).Ð Ó-ð
ð "'Ð˜$Ó&ó	r  rO  c                  ó€   € ] tR tRt$ RtR]R&   R]R&   R]R&   R	]R
&   R]R&   R]R&   R]R&   R]R&   R]R&   R]R&   RtR# )Ú_InsertManyValuesBatchin  aW  represents an individual batch SQL statement for insertmanyvalues.

This is passed through the
:meth:`.SQLCompiler._deliver_insertmanyvalues_batches` and
:meth:`.DefaultDialect._deliver_insertmanyvalues_batches` methods out
to the :class:`.Connection` within the
:meth:`.Connection._exec_insertmany_context` method.

.. versionadded:: 2.0.10

rü   Úreplaced_statementrd   Úreplaced_parametersú#Optional[_GenericSetInputSizesType]Úprocessed_setinputsizesz#Sequence[_DBAPISingleExecuteParams]ÚbatchzSequence[Tuple[Any, ...]]Úsentinel_valuesrS  Úcurrent_batch_sizeÚbatchnumÚtotal_batchesr*  Úrows_sortedÚis_downgradedr  Nr  r  r  r  r_  r_  n  sD   ‡ ñ
ð ÓØ/Ó/Ø@Ó@Ø.Ó.Ø.Ó.ØÓØƒMØÓØÓØ×r  r_  c                  ód   € ] tR tRtRt^t^t^t^t]],          ],          t	]]	,          t
^t^@tRtR# )ÚInsertmanyvaluesSentinelOptsi‡  z[bitflag enum indicating styles of PK defaults
which can work as implicit sentinel columns

r  N)r  r  r  r  r	  ÚNOT_SUPPORTEDÚAUTOINCREMENTÚIDENTITYÚSEQUENCEÚANY_AUTOINCREMENTÚ_SUPPORTED_OR_NOTÚUSE_INSERT_FROM_SELECTÚRENDER_SELECT_COL_CASTSr  r  r  r  rl  rl  ‡  sE   † ñð
 €MØ€MØ€HØ€Hà%¨Õ0°8Õ;ÐØ%Ð(9Õ9ÐàÐØ Ôr  rl  c                  ó&   € ] tR tRt^ t ^t ^tRtR# )ÚCompilerStatei™  r  N)r  r  r  r  Ú	COMPILINGÚSTRING_APPLIEDÚNO_STATEMENTr  r  r  r  rv  rv  ™  s    † Ø€IØ=à€Nðð €Lór  rv  c                  ó>   € ] tR tRtRt^ t ^t ^t ]],          tRt	R# )ÚLintingi©  z’represent preferences for the 'SQL linting' feature.

this feature currently includes support for flagging cartesian products
in SQL statements.

r  N)
r  r  r  r  r	  Ú
NO_LINTINGÚCOLLECT_CARTESIAN_PRODUCTSÚWARN_LINTINGÚFROM_LINTINGr  r  r  r  r{  r{  ©  s5   † ñð €JØà!"Ððð €LØ2à-°Õ<€Lór  r{  c                  ó.   € ] tR tRtRtRR ltRR ltRtR# )	Ú
FromLinteriÅ  zGrepresents current state for the "cartesian product" detection
feature.Nc                	ó  a	€ V P                   pV'       g   R# \        V P                  4      p\        V4      pVe   TpVP                  V4       MVP	                  4       p\
        P                  ! V.4      pV'       dr   V'       dj   VP                  4       o	VP                  S	4       V Uu0 uF  pS	V9   g   K  VkK  	  ppVP                  V	3R lV 4       4       VP                  V4       Ky  V'       d   WE3# R# u upi )Nc              3  ó\   <"  € T F!  qVP                  S4      '       * ,          x € K#  	  R # 5ir  )Úindex)r?  ÚedgeÚnodes   & €r  rA  Ú"FromLinter.lint.<locals>.<genexpr>å  s#   øé € ÐNÁI¸D d§j¡j°Ó&6Ô"6×7Ò7ÃIùó   ƒ),©NN)Úfromsr¹   ÚedgesÚremoveÚpopÚcollectionsÚdequeÚpopleftÚdiscardÚ
extendleftÚdifference_update)
r  ÚstartrŠ  r‹  Úthe_restÚ
start_withÚstackr…  Ú	to_remover†  s
   &&       @r  ÚlintÚFromLinter.lintÉ  sÙ   ø€ Ø—
‘
ˆßØÐä�D—J‘J“ˆÜ�u“:ˆàÒØˆJØ�O‰O˜JÕ'à!Ÿ™›ˆJä×!Ò! : ,Ó/ˆçŸØ—=‘=“?ˆDØ×Ñ˜TÔ"ñ +0Ó@©% $°4¸4±<Ÿ˜©%ˆIÐ@ð ×ÑÔNÁIÓNÔNØ×#Ñ# IÖ.÷ ØÐ'Ð'àÐùò As   Â,	C=Â:C=c                	ó  a € S P                  4       w  r#V'       dg   TpV'       d[   R pRP                  V 3R lV 4       4      pVP                  VVS P                  V,          R7      p\        P
                  ! V4       R# R# R# )z£{stmt_type} statement has a cartesian product between FROM element(s) {froms} and FROM element "{start}".  Apply join condition(s) between each element to resolve.rÔ   c              3  óR   <"  € T F  pR SP                   V,           R 2x € K  	  R# 5i)Ú"N)rŠ  )r?  Úfrom_r  s   & €r  rA  Ú"FromLinter.warn.<locals>.<genexpr>û  s'   øé € ð &Ù:?°�a˜Ÿ
™
 5Õ)Ð*¨!Õ,»%ùs   ƒ$')Ú	stmt_typerŠ  r”  N)r™  rž   rÍ   rŠ  r$   Úwarn)r  r   r•  r–  rŠ  ÚtemplateÚ	froms_strÚmessages   f&      r  r¡  ÚFromLinter.warnî  s„   ø€ Ø#Ÿy™y›{Ñˆ÷ ØˆEßð7ð ð !ŸI™Iô &Ù:?ó&ó �	ð #Ÿ/™/Ø'Ø#ØŸ*™* ZÕ0ð *ó �ô —	’	˜'Ö"ñ! ñ r  r  r  )ÚSELECT)r  r  r  r  r	  r™  r¡  r  r  r  r  r�  r�  Å  s   † ñô#÷J#ð #r  r�  rŠ  r‹  c                  ó¼  a € ] tR tRt$ RtRtR]R&    RtR]R&    R	]R
&    RtRt	Rt
R]R&   RtR]R&   RtR]R&   ]P                  tR]R&    R]R&   ]P                  tR]R&   RtR]R&    RtR]R&    RtR]R&    R]R&    RR]P(                  ! 4       3R R  lltR! V 3R" llt]R# 4       tR$ tR% t]R& R' l4       tR( R) ltR* R+ ltR0R, R- llt]R. 4       t R/t!V ;t"# )1ÚCompiledi  aá  Represent a compiled SQL or DDL expression.

The ``__str__`` method of the ``Compiled`` object should produce
the actual text of the statement.  ``Compiled`` objects are
specific to their underlying database dialect, and also may
or may not be specific to the columns referenced within a
particular set of bind parameters.  In no case should the
``Compiled`` object be dependent on the actual values of those
bind parameters, even though it may reference those values as
defaults.
NúOptional[ClauseElement]r3  Ú rü   Ústringrv  ÚstateFzOptional[CursorResultMetaData]Ú_cached_metadataz"Optional[List[ResultColumnsEntry]]Ú_result_columnsú Optional[SchemaTranslateMapType]Úschema_translate_maprg   Úexecution_optionsÚIdentifierPreparerÚpreparerr5   Ú_annotationszOptional[CompileState]r)  Údml_compile_stateúOptional[CacheKey]Ú	cache_keyÚfloatÚ	_gen_timec          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )r  Údialectrj   r3  r©  r°  r¯  Úrender_schema_translater*  Úcompile_kwargsúMapping[str, Any]r  )rÍ   s   "r  r  ÚCompiled.__annotate__[  s<   € ÷ 7(ñ 7(àð7(ð +ð7(ð ?ð	7(ð
 "&ð7(ð *ñ7(r  c                óÞ  € Wn         V P                   P                  V n        V'       d'   W0n        V P                  P	                  V4      V n        Veö   \
        P                  V n        W n        VP                  V n
        VP                  V n        V P                  '       d6   \        '       d   \        V\        4      '       g   Q hVP                  V n        V P"                  ! V P                  3/ VB V n        V'       d2   Vf   Q hV P                  P'                  V P$                  V4      V n        \
        P(                  V n        M\
        P*                  V n        \-        4       V n        R# )a³  Construct a new :class:`.Compiled` object.

:param dialect: :class:`.Dialect` to compile against.

:param statement: :class:`_expression.ClauseElement` to be compiled.

:param schema_translate_map: dictionary of schema names to be
 translated when forming the resultant SQL

 .. seealso::

    :ref:`schema_translating`

:param compile_kwargs: additional kwargs that will be
 passed to the initial call to :meth:`.Compiled.process`.


N)r»  Úidentifier_preparerr³  r°  Ú_with_schema_translaterv  rw  r¬  r3  Úsupports_executionÚcan_executer´  r   Ú
isinstancer8   Ú_execution_optionsr±  Úprocessr«  Ú_render_schema_translatesrx  ry  r   r¹  ©r  r»  r3  r°  r¼  r½  s   &&&&&&r  Ú__init__ÚCompiled.__init__[  s  € ð4 ŒØŸ™×8Ñ8ˆŒßØ(<Ô%Ø ŸM™M×@Ñ@Ø$óˆDŒMð Ò Ü&×0Ñ0ˆDŒJØ&ŒNØ(×;Ñ;ˆDÔØ )× 6Ñ 6ˆDÔØ××Ðß “=Ü% i´×<Ò<Ð<Ð<Ø)2×)EÑ)E�Ô&ØŸ,š, t§~¡~ÑH¸ÑHˆDŒKç&Ø+Ò7Ð7Ð7Ø"Ÿm™m×EÑEØ—K‘KÐ!5ó�”ô '×5Ñ5ˆD�Jä&×3Ñ3ˆDŒJä%›ˆŽr  c               ó   € V ^8„  d   QhRR/# )r  r  r  r  )rÍ   s   "r  r  r¿  ”  s   € ÷ +ñ + $ñ +r  c                	ó@   <€ V P                  4        \        SV `	  4       # r  )Ú_init_compiler_clsÚsuperÚ__init_subclass__)ÚclsÚ	__class__s   &€r  rÐ  ÚCompiled.__init_subclass__”  s   ø€ Ø×ÑÔ Ü‰wÑ(Ó*Ð*r  c                	ó   € R # r  r  ©rÑ  s   &r  rÎ  ÚCompiled._init_compiler_cls˜  s   € ár  c                	óŠ   € V P                   '       d   VP                  WV4      # \        P                  ! V P                  4      hr  )rÄ  Ú_execute_compiledr/   ÚObjectNotExecutableErrorr3  )r  Ú
connectionÚdistilled_paramsr±  s   &&&&r  Ú_execute_on_connectionÚCompiled._execute_on_connectionœ  s@   € ð ××ÐØ×/Ñ/ØÐ(9óð ô ×.Ò.¨t¯~©~Ó>Ð>r  c                	óD   € \         P                  ! V \        V4      4      Vhr  ©r/   ÚUnsupportedCompilationErrorr  ©r  ÚelementÚerrÚkws   &&&,r  Úvisit_unsupported_compilationÚ&Compiled.visit_unsupported_compilation¦  s   € Ü×-Ò-¨d´D¸³MÓBÈÐKr  c               ó   € V ^8„  d   QhRR/# ©r  r  ÚSQLCompilerr  )rÍ   s   "r  r  r¿  ª  s   € ÷ $ñ $˜kñ $r  c                ó   € \        4       h)z€Return a Compiled that is capable of processing SQL expressions.

If this compiler is one, it would likely just return 'self'.

©ÚNotImplementedErrorrF  s   &r  Úsql_compilerÚCompiled.sql_compiler©  s   € ô "Ó#Ð#r  c               ó$   € V ^8„  d   QhRRRRRR/# )r  Úobjra   Úkwargsr   r  rü   r  )rÍ   s   "r  r  r¿  ³  s!   € ÷ 6ñ 6˜9ð 6°ð 6¸ñ 6r  c                	ó(   € VP                   ! V 3/ VB # r  ©Ú_compiler_dispatch)r  rð  rñ  s   &&,r  rÇ  ÚCompiled.process³  s   € Ø×%Ò% dÑ5¨fÑ5Ð5r  c               ó   € V ^8„  d   QhRR/# ©r  r  rü   r  )rÍ   s   "r  r  r¿  ¶  s   € ÷ ñ ˜ñ r  c                óZ   € V P                   \        P                  J d   V P                  # R# )z3Return the string text of the generated SQL or DDL.rª  )r¬  rv  rx  r«  rF  s   &r  Ú__str__ÚCompiled.__str__¶  s#   € ð �:‰:œ×5Ñ5Ó5Ø—;‘;Ðár  c               ó(   € V ^8„  d   QhRRRRRRRR/# ©	r  Úparamsú"Optional[_CoreSingleExecuteParams]Úextracted_parametersú&Optional[Sequence[BindParameter[Any]]]Úescape_namesr*  r  z)Optional[_MutableCoreSingleExecuteParams]r  )rÍ   s   "r  r  r¿  ¾  s3   € ÷ $ñ $à2ð$ð Eð$ð ð	$ð
 
3ñ$r  c                ó   € \        4       h)zÂReturn the bind params for this compiled object.

:param params: a dict of string/object pairs whose values will
               override bind values compiled in to the
               statement.
rë  ©r  rý  rÿ  r  s   &&&&r  Úconstruct_paramsÚCompiled.construct_params¾  s   € ô "Ó#Ð#r  c                ó"   € V P                  4       # )z0Return the bind params for this compiled object.©r  rF  s   &r  rý  ÚCompiled.paramsÍ  s   € ð ×$Ñ$Ó&Ð&r  )
r´  r¹  rÄ  r»  r±  r³  r°  r¬  r3  r«  ©NNT)#r  r  r  r  r	  r3  r
  r«  Úis_sqlÚis_ddlr­  r®  r°  r$   Ú
EMPTY_DICTr±  r´  r)  rµ  r·  ÚimmutabledictrÊ  rÐ  ÚclassmethodrÎ  rÜ  rå  rM  rí  rÇ  rù  r  rý  r  Ú__classcell__©rÒ  s   @r  r¨  r¨    sC  ø‡ ñ
ð *.€IÐ&Ó-ØØ€FˆCÓØ4àÓØ-à€FØ€Fà7;ÐÐ4Ó;à:>€OÐ7Ó>à=AÐÐ:ÓAà)-¯©Ð�Ó8ðð
 !Ó à$(§O¡O€L�/Ó3à,0€MÐ)Ó0ðð 15ÐÐ-Ó4ð	ð %)€IÐ!Ó(ð	ð Óðð BFØ(-Ø,0×,>Ò,>Ó,@÷7(÷r+ð +ð ñó ðò?òLð ô$ó ð$õ6õ÷$ð ñ'ó ö'r  r¨  c                  óB   € ] tR tRtRtRtR R ltR R ltR R	 ltR
t	R# )ÚTypeCompileriÓ  z2Produces DDL specification for TypeEngine objects.z	visit_\w+c               ó   € V ^8„  d   QhRR/# )r  r»  rj   r  )rÍ   s   "r  r  ÚTypeCompiler.__annotate__Ø  s   € ÷ ñ  ñ r  c                	ó   € Wn         R # r  ©r»  )r  r»  s   &&r  rÊ  ÚTypeCompiler.__init__Ø  s   € ØŽr  c               ó$   € V ^8„  d   QhRRRRRR/# )r  r  r  rä  r   r  rü   r  )rÍ   s   "r  r  r  Û  s!   € ÷ 4ñ 4˜_ð 4°Cð 4¸Cñ 4r  c                	óä   € VP                   '       dM   V P                  P                  VP                   9   d(   VP                   V P                  P                  ,          pVP                  ! V 3/ VB # r  )Ú_variant_mappingr»  rþ   rô  ©r  r  rä  s   &&,r  rÇ  ÚTypeCompiler.processÛ  sV   € à×"×"Ð"Ø—‘×!Ñ! U×%;Ñ%;Ô;à×*Ñ*¨4¯<©<×+<Ñ+<Õ=ˆEØ×'Ò'¨Ñ3°Ñ3Ð3r  c               ó(   € V ^8„  d   QhRRRRRRRR/# )r  râ  r   rã  Ú	Exceptionrä  r  r   r  )rÍ   s   "r  r  r  ã  s2   € ÷ Fñ FØðFØ!*ðFØ25ðFà	ñFr  c                	ó0   € \         P                  ! W4      Vhr  )r/   rà  rá  s   &&&,r  rå  Ú*TypeCompiler.visit_unsupported_compilationã  s   € ô ×-Ò-¨dÓ<À#ÐEr  r  N)
r  r  r  r  r	  Úensure_kwargrÊ  rÇ  rå  r  r  r  r  r  r  Ó  s    † Ù<à€Lõõ4÷Fñ Fr  r  c                  óR   € ] tR tRtRtRtR
tRR lt]R 4       t	]R 4       t
R tRtR	# )Ú_CompileLabelië  z;lightweight label object which acts as an expression.Label.Úlabelc                	ó<   € Wn         W n        V3V,           V n        R # r  ©râ  rþ   Ú
_alt_names)r  Úcolrþ   Ú	alt_namess   &&&&r  rÊ  Ú_CompileLabel.__init__ó  s   € ØŒØŒ	Ø˜& 9Õ,ˆŽr  c                	ó.   € V P                   P                  # r  ©râ  Ú	proxy_setrF  s   &r  r-  Ú_CompileLabel.proxy_setø  ó   € à�|‰|×%Ñ%Ð%r  c                	ó.   € V P                   P                  # r  ©râ  r  rF  s   &r  r  Ú_CompileLabel.typeü  ó   € à�|‰|× Ñ Ð r  c                	ó   € V # r  r  ©r  rä  s   &,r  Ú
self_groupÚ_CompileLabel.self_group   ó   € Øˆr  )r'  râ  rþ   Nr&  )r  )r  r  r  r  r	  Ú__visit_name__Ú	__slots__rÊ  rM  r-  r  r6  r  r  r  r  r#  r#  ë  sD   † ñ Fà€NØ/€Iô-ð
 ñ&ó ð&ð ñ!ó ð!ör  r#  c                  óT   € ] tR tRtRtRtRtR t]R 4       t	]R 4       t
R tR tR	tR
# )Úilike_case_insensitivei  z÷produce a wrapping element for a case-insensitive portion of
an ILIKE construct.

The construct usually renders the ``lower()`` function, but on
PostgreSQL will pass silently with the assumption that "ILIKE"
is being used.

.. versionadded:: 2.0

Úilike_case_insensitive_operandc                	ó4   € Wn         VP                  V n        R # r  ©râ  Ú
comparator)r  râ  s   &&r  rÊ  Úilike_case_insensitive.__init__  s   € ØŒØ!×,Ñ,ˆŽr  c                	ó.   € V P                   P                  # r  r,  rF  s   &r  r-  Ú ilike_case_insensitive.proxy_set  r/  r  c                	ó.   € V P                   P                  # r  r1  rF  s   &r  r  Úilike_case_insensitive.type  r3  r  c                	ó   € V # r  r  r5  s   &,r  r6  Ú!ilike_case_insensitive.self_group!  r8  r  c                	óJ   € \        V P                  P                  V4      4      # r  )r<  râ  Ú_with_binary_element_type)r  r  s   &&r  rI  Ú0ilike_case_insensitive._with_binary_element_type$  s!   € Ü%Ø�L‰L×2Ñ2°5Ó9ó
ð 	
r  )r@  râ  Nr?  )r  r  r  r  r	  r9  r:  rÊ  rM  r-  r  r6  rI  r  r  r  r  r<  r<    sJ   † ñ	ð 6€NØ'€Iò-ð ñ&ó ð&ð ñ!ó ð!òö
r  r<  c                  óÎ  € ] tR tRt$ Rt]t]P                  ! RRRRRRR	R
RRRRRRRR/4      t	R]
R&    R]
R&   R]
R&   Rt]tRtR]
R&   RtR]
R&   RtR]
R&    R]
R&    ER0tR]
R&    ER0tR]
R&    R tR!]
R"&    RtR]
R#&   R$]
R%&    R&]
R'&    R(]
R)&    RtR]
R*&    RtR]
R+&    RtR]
R,&    R-]
R.&    R-]
R/&    R-]
R0&    R1]
R2&    RtR]
R3&    RtR]
R4&    RtR]
R5&    RtR]
R6&    RtR]
R7&    RtR]
R8&    R tR9]
R:&    R tR;]
R<&    R t R=]
R>&   R t!R?]
R@&   R t"RA]
RB&   ]#! 4       t$RC]
RD&    ]#! 4       t%RC]
RE&    ]PL                  t'RF]
RG&    Rt( Rt) R t*RH]
RI&    R t+R=]
RJ&    R t,R=]
RK&   R t-R=]
RL&   Rt.R]
RM&   RN]
RO&   RP]
RQ&   RR]
RS&   R]
RT&   ]/P`                  ! RU4      t1]/P`                  ! RV4      t2]/P`                  ! ]2Pf                   RW]1Pf                   24      t4]5RX 4       t6]5RY 4       t7R R R]8R 3RZ R[ llt9]:R\ R] l4       t;]Px                  R^ R_ l4       t=]:R` 4       t>]:Ra 4       t?]:Rb 4       t@]P‚                  Rc Rd l4       tB]P†                  Re Rf l4       tD]EPŒ                  Rg 4       tGRh tHRi tI]P‚                  Rj Rk l4       tJRl tK]:Rm Rn l4       tLER1Ro Rp lltMER2Rq Rr lltN]P†                  Rs 4       tO]:Rt 4       tPER3Ru Rv lltQ]P¤                  ! Rw4      Rx 4       tSRy]
Rz&   ]P‚                  R{ R| l4       tT]P‚                  ]P¤                  ! R}4      R~ 4       4       tU]P‚                  ]P¤                  ! R}4      R 4       4       tVR€ R� ltWR‚ tXER3Rƒ ltYR„ tZER3R… lt[ER3R† lt\ER4R‡ lt]Rˆ t^R‰ t_ER5RŠ R‹ llt`RŒ taR� tbRŽ tcR� tdR� teR‘ tfER6R’ ltgER7R“ lthR” R• ltiR– R— ltjR˜ R™ ltkRš tlR› tmRœ tnR� toRž tpRŸ tqR  trR¡ tsR¢ ttR£ tuR¤ tvR¥ twR¦ txR§ tyER6R¨ R© lltzRª t{R« t|R¬ R­ lt}ER8R® lt~R¯ tR° t€ER9R± lt�R² t‚R³ tƒR´ t„Rµ t…R¶ t†R· t‡R¸ tˆR¹ t‰ER6Rº ltŠR» t‹ER:R¼ ltŒR½ t�R¾ tŽR¿ t�RÀ t�RÁ t‘ER3RÂ RÃ llt’RÄ t“RÅ t”]P‚                  RÆ 4       t•RÇ t–RÈ t—RÉ t˜RÊ t™RË tšRÌ t›RÍ tœRÎ t�RÏ tžRÐ tŸRÑ t RÒ t¡RÓ t¢RÔ t£RÕ t¤RÖ t¥R× t¦RØ t§RÙ t¨RÚ RÛ lt©RÜ RÝ ltªRÞ Rß lt«ER;Rà lt¬Rá t­]®R 3Râ lt¯Rã Rä lt°Rå t±Ræ Rç lt²Rè Ré lt³ER<Rê Rë llt´Rì tµRRR R R ]¶EPn                  ! R4      3Rí Rî llt¸Rï t¹Rð tºER=Rñ lt»Rò t¼Ró t½ER3Rô lt¾Rõ t¿ER>Rö ltÀR÷ tÁRø tÂRù Rú ltÃER6Rû ltÄER?Rü ltÅRý tÆRþ tÇRÿ ER  ltÈER tÉER tÊER]
ER&   ]ËEP˜                  '       g%   ]P                  ! ER]#! 4       3ER]#! 4       3.4      tÍER3ER ltÎR tÏER]
ER	&    ER@ER
 ltÐER ER ltÑER tÒER tÓER tÔER7ER ltÕER tÖER ER lt×ER tØER tÙER tÚER ER ltÛER tÜERAER ltÝERBER ltÞER8ER ltßER tà]P                  ! ]áEPÄ                  ]ãEPÈ                  ]áEPÊ                  ]ãEPÈ                  ]áEPÌ                  ]ãEPÈ                  ]áEPÎ                  ]ãEPÎ                  ]áEPÐ                  ]ãEPÐ                  /4      té]éEPÕ                  ]áEPÌ                  ]ãEPÖ                  /4      tìER ER ltíER  ER! ltîERCER" ltïER# tðER$ tñER% tòER& tóER6ER' ER( lltôER) tõER* töER6ER+ lt÷ER, tøER- tùER. túER/tûR # (D  ré  i*  zvDefault implementation of :class:`.Compiled`.

Compiles :class:`_expression.ClauseElement` objects into SQL strings.

Ú%ÚPÚ(ÚAÚ)ÚZÚ:ÚCÚ.Ú_Ú[Ú]Ú zClassVar[Mapping[str, str]]Úbindname_escape_characterszClassVar[Pattern[str]]Ú_bind_translate_reÚ_bind_translate_charsTFr*  ÚisdeleteÚisinsertÚisupdatezOptional[List[Column[Any]]]Ú	postfetchzSequence[Column[Any]]Úinsert_prefetchÚupdate_prefetchNú&Optional[Sequence[ColumnElement[Any]]]Úimplicit_returningÚisplaintextzDict[str, BindParameter[Any]]ÚbindszDict[BindParameter[Any], str]Ú
bind_nameszList[_CompilerStackEntry]r—  Úreturning_precedes_valuesÚ'render_table_with_column_in_update_fromÚansi_bind_rulesrü   ÚbindtemplateÚcompilation_bindtemplateÚ_numeric_binds_identifier_charzList[ResultColumnsEntry]r®  Ú_textual_ordered_columnsÚ_ad_hoc_textualÚ_ordered_columnsÚ_loose_column_name_matchingÚ_numeric_bindsÚ_render_postcompilezOptional[ExpandedState]Ú_post_compile_expanded_stateúOptional[str]Ú_pre_expanded_stringúOptional[List[str]]Ú_pre_expanded_positiontupzOptional[_InsertManyValues]Ú_insertmanyvaluesz!Optional[crud._CrudParamSequence]Ú_insert_crud_paramszFrozenSet[BindParameter[Any]]Úliteral_execute_paramsÚpost_compile_paramszutil.immutabledict[str, str]Úescaped_bind_nameszbOptional[Tuple[Dict[BindParameter[Any], List[BindParameter[Any]]], Dict[str, BindParameter[Any]]]]Ú_cache_key_bind_matchr8  Ú_values_bindparamÚ_visited_bindparamÚinlinez"Optional[MutableMapping[CTE, str]]ÚcteszDict[Tuple[int, str], CTE]Úctes_by_level_namez/Dict[CTE, Tuple[int, str, selectable._CTEOpts]]Úlevel_name_by_cteÚctes_recursivez"__\[POSTCOMPILE_(\S+?)(~~.+?~~)?\]z%\(([^)]+?)\)sÚ|c                	ó&   € V P                  4        R # r  )Ú_init_bind_translaterÕ  s   &r  rÎ  ÚSQLCompiler._init_compiler_clsS  s   € à× Ñ Ö"r  c                	óÄ   € \         P                  ! R P                  V P                  4      4      p\         P                  ! RV R24      V n        V P                  V n        R# )rª  rV  rW  N)ÚreÚescaperž   rY  ÚcompilerZ  r[  )rÑ  Úregs   & r  r‡  Ú SQLCompiler._init_bind_translateW  sF   € ä�iŠi˜Ÿ™ × >Ñ >Ó?Ó@ˆÜ!#§¢¨a°¨u°A¨JÓ!7ˆÔØ$'×$BÑ$BˆÖ!r  c               ó8   € V ^8„  d   QhRRRRRRRRR	R
RRRRRR/# )r  r»  rj   r3  r©  r·  r¶  Úcolumn_keysr7  Úfor_executemanyr*  Úlintingr{  Ú_supporting_againstzOptional[SQLCompiler]rñ  r   r  )rÍ   s   "r  r  ÚSQLCompiler.__annotate__]  sd   € ÷ Pñ PàðPð +ðPð &ð	Pð
 -ðPð ðPð ðPð 3ðPð ñPr  c                óz  € W@n         W0n        V'       dD   V^,           U	u/ uF  q™P                  V	bK  	  p
p	V^,           U	u/ uF  q™V	.bK  	  pp	Wº3V n        WPn        W`n        / V n        \        P                  ! 4       V n	        . V n
        . V n        VP                  V n        V P                  '       dQ   VP                  P                  R4      ;V n        pV'       d   VP                  R8X  d   RMRV n        \"        V n        M\&        VP                  ,          V n        RV n        VP*                  ;'       g    VP,                  V n        \/        4       V n        / V n        / V n        \6        P8                  ! WV3/ VB  V P:                  '       g%   V P<                  '       g   V P>                  '       dà   \@        '       d   \C        V\D        4      '       g   Q hV P:                  '       g   V P<                  '       d˜   \@        '       d   \C        V\F        4      '       g   Q hVPH                  '       d	   RV n%        MYV P                  '       dH   V P:                  '       d/   V PL                  PN                  '       d   VPP                  '       d   RV n%        \&        VP                  ,          V n)        V'       dQ   V PT                  PW                  VPT                  PY                  4        UUu/ uF  w  rÞVR
9  g   K  WÞbK  	  upp4       V PZ                  \\        P^                  J d‚   V P                  '       d4   V P                  '       d   V Pa                  4        MV Pc                  4        V Pd                  '       d)   V Pg                  RRR7      pV Pi                  VRR	7       R# R# R# u up	i u up	i u uppi )a  Construct a new :class:`.SQLCompiler` object.

:param dialect: :class:`.Dialect` to be used

:param statement: :class:`_expression.ClauseElement` to be compiled

:param column_keys:  a list of column names to be compiled into an
 INSERT or UPDATE statement.

:param for_executemany: whether INSERT / UPDATE statements should
 expect that they are to be invoked in an "executemany" style,
 which may impact how the statement will be expected to return the
 values of defaults and autoincrement / sequences and similar.
 Depending on the backend and driver in use, support for retrieving
 these values may be disabled which means SQL expressions may
 be rendered inline, RETURNING may not be rendered, etc.

:param kwargs: additional keyword arguments to be consumed by the
 superclass.

rÎ   rÏ   rÉ   rR  NTF©r  Ú_no_postcompile)Ú_populate_self>   r¬  r»  r³  Ú
positionalrj  rq  rk  )5r�  r·  r@  r}  r‘  r’  re  r$   Úcolumn_dictrf  r—  r®  r™  Ú
paramstyleÚ
startswithrq  rl  Ú_pyformat_templaterk  ÚBIND_TEMPLATESr�  Úlabel_lengthÚmax_identifier_lengthr.   Úanon_mapÚtruncated_namesÚ_truncated_countersr¨  rÊ  r]  r^  r\  r   rÅ  r=   r?   Ú_inliner€  r»  Úinsert_executemany_returningÚ_return_defaultsrj  Ú__dict__ÚupdateÚitemsr¬  rv  rx  Ú_process_numericÚ_process_positionalrr  r  Ú#_process_parameters_for_postcompile)r  r»  r3  r·  r�  r‘  r’  r“  rñ  ÚbÚcksmÚckbmÚnbÚkÚvr4  s   &&&&&&&&,       r  rÊ  ÚSQLCompiler.__init__]  s  € ð@ 'Ôà"ŒçØ&/°¦lÓ3¡l —E‘E˜1’H¡lˆDÐ3Ø$-¨a¦LÓ1¡L˜q˜�s’F¡LˆDÐ1Ø*.¨ˆDÔ&ð
  /ÔàŒð ˆŒ
ô ×*Ò*Ó,ˆŒð ˆŒ
à!ˆÔð "×,Ñ,ˆŒØ�?�?ˆ?Ø'.×'9Ñ'9×'DÑ'DÀYÓ'OÐOˆDÔ "ßà"×-Ñ-Ð1AÔA‘CÀsð Ô3ô -?ˆDÕ)ä,:¸7×;MÑ;MÕ,NˆDÔ)àˆŒ	ð × Ñ ×AÐA G×$AÑ$Að 	Ôô (Ó)ˆŒð <>ˆÔØ35ˆÔ ä×Ò˜$¨Ñ=°fÒ=à�=�=ˆ=˜DŸMŸM˜M¨T¯]¯]¨]ß‹}Ü! )¬Z×8Ò8Ð8Ð8à�}�}ˆ} §§ ß “=Ü% i´×<Ò<Ð<Ð<Ø×$×$Ð$Ø"&�D•KØ×)×)Ð)ØŸŸ˜àŸ™×A×AÐAØ%×6×6Ð6ð #'�D”Kä*¨7×+=Ñ+=Õ>ˆÔçØ�M‰M× Ñ ð !4× <Ñ <× BÑ BÔ Dôá D™˜Øðñ	ô �A’DÙ Dòôð" �:‰:œ×5Ñ5Ó5Ø��ˆØ×&×&Ð&Ø×)Ñ)Õ+à×,Ñ,Ô.à×'×'Ð'Ø!×2Ñ2Ø!&Ø$(ð 3ó �
ð
 ×8Ñ8Ø¨tð 9ö ñ (ñ 6ùòy 4ùÚ1ùóVs    N-ÁN2Ë.N7
Ë>N7
c               ó   € V ^8„  d   QhRR/# )r  r  rt  r  )rÍ   s   "r  r  r”  ð  s   € ÷ =ñ =¨=ñ =r  c                óN   € V P                   f   R# V P                   P                  # )a¸  When an INSERT is compiled with a single set of parameters inside
a VALUES expression, the string is assigned here, where it can be
used for insert batching schemes to rewrite the VALUES expression.

.. versionadded:: 1.3.8

.. versionchanged:: 2.0 This collection is no longer used by
   SQLAlchemy's built-in dialects, in favor of the currently
   internal ``_insertmanyvalues`` collection that is used only by
   :class:`.SQLCompiler`.

N)rx  rQ  rF  s   &r  Úinsert_single_values_exprÚ%SQLCompiler.insert_single_values_exprï  s%   € ð ×!Ñ!Ò)Ùà×)Ñ)×<Ñ<Ð<r  c               ó   € V ^8„  d   QhRR/# )r  r  rb  r  )rÍ   s   "r  r  r”    s   € ÷ ñ Ð%Kñ r  c                ó  € V P                   '       d   V P                   # V P                  eU   \        V P                  4      '       d:   V P                  P                   Uu. uF  p\	        V4      '       g   K  VNK  	  up# R# u upi )aª  The effective "returning" columns for INSERT, UPDATE or DELETE.

This is either the so-called "implicit returning" columns which are
calculated by the compiler on the fly, or those present based on what's
present in ``self.statement._returning`` (expanded into individual
columns using the ``._all_selected_columns`` attribute) i.e. those set
explicitly using the :meth:`.UpdateBase.returning` method.

.. versionadded:: 2.0

N)rc  r3  r&   Ú_all_selected_columnsr%   )r  Úcs   & r  Úeffective_returningÚSQLCompiler.effective_returning  st   € ð ×"×"Ð"Ø×*Ñ*Ð*Ø�^‰^Ò'¬F°4·>±>×,BÒ,Bð Ÿ™×=Ò=óá=�AÜ$ Q×'÷ �Ù=ñð ñ ùòs   Á BÁ8Bc                ó   € V P                   # )zFbackwards compatibility; returns the
effective_returning collection.

)r¼  rF  s   &r  Ú	returningÚSQLCompiler.returning  s   € ð ×'Ñ'Ð'r  c                óv   €  V P                   R,          R,          #   \         d   p\        R4      ThRp?ii ; i)a  Return the current 'executable' that is being compiled.

This is currently the :class:`_sql.Select`, :class:`_sql.Insert`,
:class:`_sql.Update`, :class:`_sql.Delete`,
:class:`_sql.CompoundSelect` object that is being compiled.
Specifically it's assigned to the ``self.stack`` list of elements.

When a statement like the above is being compiled, it normally
is also assigned to the ``.statement`` attribute of the
:class:`_sql.Compiler` object.   However, all SQL constructs are
ultimately nestable, and this attribute should never be consulted
by a ``visit_`` method, as it is not guaranteed to be assigned
nor guaranteed to correspond to the current statement being compiled.

.. versionadded:: 1.3.21

    For compatibility with previous versions, use the following
    recipe::

        statement = getattr(self, "current_executable", False)
        if statement is False:
            statement = self.stack[-1]["selectable"]

    For versions 1.4 and above, ensure only .current_executable
    is used; the format of "self.stack" may change.


r"   z$Compiler does not have a stack entryNéÿÿÿÿ)r—  Ú
IndexError)r  Úies   & r  Úcurrent_executableÚSQLCompiler.current_executable#  s;   € ð<	MØ—:‘:˜b•> ,Õ/Ð/øÜô 	MÜÐCÓDÈ"ÐLûð	Mús   ‚ œ8§3³8c                	ó`   € \        V P                  4      \        V P                  4      ,           # r  )Úlistr`  ra  rF  s   &r  ÚprefetchÚSQLCompiler.prefetchF  s#   € ä�D×(Ñ(Ó)¬D°×1EÑ1EÓ,FÕFÐFr  c               ó   € V ^8„  d   QhRR/# )r  r  zDict[Any, Any]r  )rÍ   s   "r  r  r”  K  s   € ÷ ñ  Nñ r  c                	ó   € / # r  r  rF  s   &r  Ú_global_attributesÚSQLCompiler._global_attributesJ  s   € àˆ	r  c               ó   € V ^8„  d   QhRR/# )r  r  zMutableMapping[CTE, str]r  )rÍ   s   "r  r  r”  O  s   € ÷ ñ Ð!9ñ r  c                óf   € \         P                  ! 4       pWn        / V n        / V n        RV n        V# )zzInitialize collections related to CTEs only if
a CTE is located, to save on the overhead of
these collections otherwise.

F)r$   ÚOrderedDictr�  r‚  rƒ  r„  )r  r�  s   & r  Ú_init_cte_stateÚSQLCompiler._init_cte_stateN  s8   € ô *.×)9Ò)9Ó);ˆØŒ	ð #%ˆÔð "$ˆÔà#ˆÔàˆr  c              #  ó”  "  € V P                   V P                  r!. RuV n         V n         V P                  '       d   V P                  R,          pRVR&   MRpV P                   V P                  3x € V'       d   VP                  R4       VVuV n         V n        R#   X'       d   TP                  R4       TTuT n         T n        i ; i5i)z;special API to support the use case of 'nested result sets'FTr+  NrÂ  )r®  ro  r—  r�  )r  Úresult_columnsÚordered_columnsÚentrys   &   r  Ú_nested_resultÚSQLCompiler._nested_resultf  sÁ   é € ð × Ñ Ø×!Ñ!ð (ð 79¸%Ð3ˆÔ˜dÔ3ð	Ø�z�zˆzØŸ
™
 2��Ø6:�Ð2Ò3à�Ø×&Ñ&¨×(=Ñ(=Ð=Ò=çØ—	‘	Ð6Ô7àØð 8ˆDÔ  $Ö"7ø÷ Ø—	‘	Ð6Ô7àØð 8ˆDÔ  $Õ"7üs   ‚'CªAB Á1*CÂ*CÃCc                	ór  aa	€ V P                   '       d   Q hV P                  \        P                  J g   Q hV P                  '       d   Q hV P
                  P                  R 8X  d   RoMV P
                  P                  R8X  g   Q hRo. o	R VV	3R llp\        P                  ! V P                  WP                  4      V n
        V P                  '       dy   V P                  P                  4        UUu/ uF  w  r#W2bK	  	  ppp\        V P                  4      \        V4      8X  g   Q hS	 Uu. uF  qTP                  WU4      NK  	  upV n         MS	V n         V P                  '       dÁ   . o	\        P                  ! V P                  VV P                  P                   4      pV P                  P"                   Uu. uFD  pV^ ,          V^,          \        P                  ! V P                  W^,          4      V^,          3NKF  	  ppV P                  P%                  VVR7      V n        R# R# u uppi u upi u upi )rÍ   ú%srË   rÌ   c               ó    € V ^8„  d   QhRRRR/# )r  Úmzre.Match[str]r  rü   r  )rÍ   s   "r  r  Ú5SQLCompiler._process_positional.<locals>.__annotate__‹  s   € ÷ 	"ñ 	"˜]ð 	"¨sñ 	"r  c                ó¾   <€ V P                  ^4      pV'       d   SP                  V4       S# SP                  V P                  ^4      4       V P                  ^ 4      # ©é   )r”   Úappend)rÝ  Únormal_bindÚplaceholderÚ	positionss   & €€r  Úfind_positionÚ6SQLCompiler._process_positional.<locals>.find_position‹  sM   ø€ ØŸ'™' !›*ˆKßØ× Ñ  Ô-Ø"Ð"ð × Ñ  §¡¨£Ô,Ø—w‘w˜q“zÐ!r  ©rQ  rR  N)r8  r¬  rv  rx  rq  r»  r›  rŠ  ÚsubÚ_positional_patternr«  r|  r©  ÚlenÚgetrx  rQ  rR  Ú_replace)
r  ræ  r±  r²  Úreverse_escaperþ   rQ  rR  rä  rå  s
   &       @@r  r«  ÚSQLCompiler._process_positional~  s  ù€ Ø×#×#Ð#Ð#Ð#Ø�z‰zœ]×9Ñ9Ó9Ð9Ð9Ø×&×&Ð&Ð&Ð&à�<‰<×"Ñ" hÔ.Ø‰Kà—<‘<×*Ñ*¨gÔ5Ð5Ð5ØˆKàˆ	÷	"ñ 	"ô —f’fØ×$Ñ$ m·[±[ó
ˆŒð ×"×"Ð"Ø/3×/FÑ/F×/LÑ/LÔ/NÔOÑ/N¡t q˜ašdÑ/NˆNÑOÜ�t×.Ñ.Ó/´3°~Ó3FÔFÐFÐFá;Dó Ù;D°4×"Ñ" 4Ö.¹9ñ ˆDÕð  )ˆDÔà×!×!Ð!ØˆIä!#§¢Ø×(Ñ(ØØ×&Ñ&×9Ñ9ó"Ðð ×/Ñ/×BÒBó"ñ C�Að �a•DØ�a•DÜ—F’F˜4×3Ñ3°]ÀaÅDÓIØ�a•Dó	ñ Cð ð "ð &*×%;Ñ%;×%DÑ%DØ#5Ø#5ð &Eó &ˆDÖ"ñ% "ùó Pùò ùò"s   Ã3H)Ä,H/Æ7A
H4c                	ó  a a€ S P                   '       g   Q hS P                  \        P                  J g   Q h^p/ oS P                  '       da   S P
                  eS   \        P                  ! V 3R lS P                  P                  4        4       S P                  P                  4       4      pMS P                  P                  4       pV Ff  pVS9   d   K  S P                  V,          pVS P                  9   g   VS P                  9   d   RSV&   KH  S P                   V 2pV^,          pVSV&   Kh  	  VS n        \        S4      S n        S P"                  '       d\   \%        S4      pSP'                  4        UUu/ uF!  w  rxS P"                  P)                  Ww4      VbK#  	  uppo\%        S4      V8X  g   Q hS P*                  P-                  V3R lS P.                  4      S n        S P                  '       d€   S P                  P0                  S,          p	S P                  P2                   U
u. uF  p
V
^ ,          V
^,          RV
^,          3NK   	  pp
S P                  P5                  V	VR7      S n        R# R# u uppi u up
i )rá  Nc              3  óN   <"  € T F  pVSP                   9  g   K  Vx € K  	  R # 5ir  )r~  )r?  rþ   r  s   & €r  rA  Ú/SQLCompiler._process_numeric.<locals>.<genexpr>Å  s(   øé € ð á 8˜Ø 4×#9Ñ#9Ñ9÷ ’DÛ 8ùs   ƒ%›
%c                ó4   <€ SV P                  ^4      ,          # rà  ©r”   ©rÝ  Ú	param_poss   &€r  Ú<lambda>Ú.SQLCompiler._process_numeric.<locals>.<lambda>ì  s   ø€ �i §¡¨£
Ö+r  rÛ  rè  )rq  r¬  rv  rx  rx  r~  Ú	itertoolsÚchainrf  Úvaluesre  r{  rz  rl  Únext_numeric_posrÈ  r8  r|  rë  r©  rì  Ú_pyformat_patternré  r«  rQ  rR  rí  )r  Únumr°   Ú	bind_nameÚbindÚphÚ
len_beforerþ   ÚposrQ  r²  rR  rö  s   f           @r  rª  ÚSQLCompiler._process_numeric¹  sV  ù€ Ø×"×"Ð"Ð"Ð"Ø�z‰zœ]×9Ñ9Ó9Ð9Ð9àˆØ$&ˆ	à×!×!Ð! d×&<Ñ&<Ò&Hô —O’Oôà $§¡× 6Ñ 6Ô 8óð
 —‘×&Ñ&Ó(ó‰Eð —O‘O×*Ñ*Ó,ˆEãˆIØ˜IÔ%ÙØ—:‘:˜iÕ(ˆDà˜×0Ñ0Ô0Ø˜4×6Ñ6Ô6ð (,�	˜)Ó$à×;Ñ;Ð<¸S¸EÐB�Ø�q•�Ø')�	˜)Ó$ñ ð  !$ˆÔä 	›?ˆÔØ×"×"Ð"Ü˜Y›ˆJð "+§¡Ô!2ôá!2‘I�Dð ×'Ñ'×+Ñ+¨DÓ7¸Ò<Ù!2òˆIô �y“> ZÔ/Ð/Ð/ð ×,Ñ,×0Ñ0Ü+¨T¯[©[ó
ˆŒð ×!×!Ð!ð ×&Ñ&×9Ñ9Øõð ð ×/Ñ/×BÒBó"áB�Að �1•�q˜•t˜T 1 Q¥4Ó(ÙBð ð "ð
 &*×%;Ñ%;×%DÑ%Dà#5à#5ð	 &Eó &ˆDÖ"ñ "ùóùò$"s   Å:'I9È-$I?c               ó   € V ^8„  d   QhRR/# )r  r  zVMutableMapping[str, Union[_BindProcessorType[Any], Sequence[_BindProcessorType[Any]]]]r  )rÍ   s   "r  r  r”    s   € ÷ !
ñ !
ð
ñ!
r  c                	óp   a € V 3R  lS P                    4        UUu/ uF  w  rVf   K  WbK  	  upp# u uppi )c           	   3  óÞ  <"  € T Fâ  pVSP                   9  g   K  SP                  V,          VP                  P                  '       g&   VP                  P	                  SP
                  4      Mu\        ;QJ d9    . V3R  l\        \        VP                  4      P                   4       F  NK  	  5M2! V3R  l\        \        VP                  4      P                   4       4      3x € Kä  	  R# 5i)c              3  óZ   <"  € T F   pVP                  SP                  4      x € K"  	  R # 5ir  )Ú_cached_bind_processorr»  )r?  Ú	elem_typer  s   & €r  rA  Ú9SQLCompiler._bind_processors.<locals>.<genexpr>.<genexpr>  s.   øé € ð #ñ.$ 	ð &×<Ñ<¸T¿\¹\×JÐJó.$ùs   ƒ(+N)
rz  rf  r  Ú_is_tuple_typer	  r»  rE  r   r-   Útypes)r?  Ú	bindparamr  s   & €r  rA  Ú/SQLCompiler._bind_processors.<locals>.<genexpr>  s¿   øé € ð ñ "1�Ið  D×$?Ñ$?Ñ?ô)Ø—O‘O IÕ.ð  )Ÿ~™~×<×<Ð<ð "Ÿ™×=Ñ=¸d¿l¹lÔKç"œUô #ä-1Ü )¨9¯>©>ó.ç#™eð.$ó#ŸU™Uô #ä-1Ü )¨9¯>©>ó.ç#™eð.$ó#ó õó "1ùs   ƒC-›-C-Á	/C-Á9A4C-)rf  )r  r@  Úvalues   f  r  Ú_bind_processorsÚSQLCompiler._bind_processors  sG   ø€ ôð "&§¢ôô
ñ‘
�ð. ô1 ˆCŠJñò
ð 	
ùó 
s   ›2¨2c                	ó2   € \        V P                  4      ^8„  # rà  )rë  r—  rF  s   &r  Úis_subqueryÚSQLCompiler.is_subquery&  s   € Ü�4—:‘:‹ Ñ"Ð"r  c               ó   € V ^8„  d   QhRR/# )r  r  r3   r  )rÍ   s   "r  r  r”  *  s   € ÷ ñ ˜dñ r  c                	ó   € V # r  r  rF  s   &r  rí  ÚSQLCompiler.sql_compiler)  s   € àˆr  c               ó$   € V ^8„  d   QhRRRRRR/# )r  rý  rþ  r  r*  r  r2  r  )rÍ   s   "r  r  r”  -  s(   € ÷ 
ñ 
à2ð
ð ð
ð 
ñ	
r  c                óL   € V P                  VVRR7      pV P                  V4      # )a*  Return a new :class:`.ExpandedState` for a given parameter set.

For queries that use "expanding" or other late-rendered parameters,
this method will provide for both the finalized SQL string as well
as the parameters that would be used for a particular parameter set.

.. versionadded:: 2.0.0rc1

Tr–  )r  r¬  )r  rý  r  r4  s   &&& r  Úconstruct_expanded_stateÚ$SQLCompiler.construct_expanded_state-  s:   € ð ×*Ñ*ØØ%Ø ð +ó 
ˆ
ð
 ×7Ñ7Øó
ð 	
r  c               ó4   € V ^8„  d   QhRRRRRRRRR	RR
RRR/# )r  rý  rþ  rÿ  r   r  r*  Ú_group_numberúOptional[int]Ú_checkr—  r  ri   r  )rÍ   s   "r  r  r”  D  sZ   € ÷ ~ñ ~à2ð~ð Eð~ð ð	~ð
 %ð~ð ð~ð ð~ð 
)ñ~r  c                ó
  € V P                   '       dV   V'       gN   V P                  f   Q hV'       g    \        V P                  P                  4      # \        P
                  ! R4      hT;'       d    \        V P                  4      pV'       d~   V P                  f   \        P                  ! R4      hV P                  ^,          pV P                  p	V	f   Q hV	w  r«\        W‚4       UUUu/ uF  w  rÍW¬,           F  pWíbK  	  K  	  ppppMRpV'       EdU   / pV P                  P                  4        EF1  w  ppV'       d   V P                  P                  VV4      MTpVP                  V9   d   VVP                  ,          VV&   KV  VV9   d   VV,          VV&   Kk  V'       do   VP                   '       d]   V'       d,   \        P
                  ! RVP                  V3,          RR7      h\        P
                  ! RVP                  ,          RR7      hV'       d   VP                  VV4      pMTpVP"                  '       d   VP$                  VV&   EK"  VP&                  VV&   EK4  	  V# / pV P                  P                  4        Fñ  w  ppV'       d   V P                  P                  VV4      MTpV'       do   VP                   '       d]   V'       d,   \        P
                  ! RVP                  V3,          RR7      h\        P
                  ! RVP                  ,          RR7      hV'       d   VP                  VV4      pMTpVP"                  '       d   VP$                  VV&   Kâ  VP&                  VV&   Kó  	  V# u upppi )z5return a dictionary of bind parameter keys and valuesNzÂcan't construct new parameters when render_postcompile is used; the statement is hard-linked to the original parameters.  Use construct_expanded_state to generate a new statement and parameters.zcThis compiled object has no original cache key; can't pass extracted_parameters to construct_paramsz@A value is required for bind parameter %r, in parameter group %dÚcd3x)Úcodez)A value is required for bind parameter %r)rr  rs  Údictr4  r/   rD  r*  r|  r·  ÚCompileErrorr}  Úziprf  r©  rì  r@  ÚrequiredÚcallableÚeffective_valuer  )r  rý  rÿ  r  r  r   r—  Úhas_escaped_namesÚorig_extractedÚ
ckbm_tupler¯  rU  r­  Ú	extractedr   Úresolved_extractedÚpdr  rþ   Úescaped_nameÚvalue_params   &&&&&&&              r  r  ÚSQLCompiler.construct_paramsD  sM  € ð ×#×#Ð#¯OØ×4Ñ4Ò@Ð@Ð@ßÜ˜D×=Ñ=×HÑHÓIÐIä×-Ò-ð4óð ð )×JÐJ¬T°$×2IÑ2IÓ-JÐçð �~‰~Ò%Ü×&Ò&ðJóð ð
 "&§¡°Õ!2�à×3Ñ3ˆJØÒ)Ð)Ð)Ø ‰GˆDô %(¨Ô$Mõ"á$M‘L�AØ ŸG˜G�Dð ’á#ñ Ù$Mð ò "Ðð "&Ðçˆ6ØˆBØ#'§?¡?×#8Ñ#8×#:‘�	˜4÷ )ð ×+Ñ+×/Ñ/°°dÔ;àð ð —=‘= FÔ*Ø'-¨i¯m©mÕ'<�B�|Ó$Ø˜V”^Ø'-¨d¥|�B�|Ó$ç 	× 2× 2Ð 2ß$Ü!×5Ò5ð4à(Ÿ}™}¨mÐ<õ=ð "(ô	ð ô "×5Ò5ØGØ'Ÿm™mõ,à!'ôð ÷ *Ø&8×&<Ñ&<Ø% yó'™ð '0˜à ×)×)Ð)Ø+6×+FÑ+F˜˜<Ô(à+6×+<Ñ+<˜˜<Ô(ñK $;ðL ˆIàˆBØ#'§?¡?×#8Ñ#8Ö#:‘�	˜4÷ )ð ×+Ñ+×/Ñ/°°dÔ;àð ÷ ˜i×0×0Ð0ß$Ü!×5Ò5ð4à(Ÿ}™}¨mÐ<õ=ð "(ô	ð ô "×5Ò5ØGØ'Ÿm™mõ,à!'ôð ÷ &Ø"4×"8Ñ"8¸ÀIÓ"N‘Kà"+�Kà×%×%Ð%Ø'2×'BÑ'B�B�|Ó$à'2×'8Ñ'8�B�|Ó$ñ= $;ð@ ˆIùôg"s   Ã+M>c                	ó¸  aaaa	€ V P                   oSP                  o	SP                  oSP                  oVVVV	3R  lp/ pV P                  pV P
                   Fy  pWC9   d   K  VP                  P                  '       d?   \        \        VP                  4      P                   Uu. uF  pV! V4      NK  	  upW$&   Ke  V! VP                  4      W$&   K{  	  V# u upi )c                ó€   <€ V P                  S4      P                  S4      pVe   Se   VS9  d   Se   VS9   d   V# R # r  )Ú_unwrapped_dialect_implÚget_dbapi_type)ÚtypÚdbtypeÚdbapir»  Úexclude_typesÚinclude_typess   & €€€€r  Úlookup_typeÚ<SQLCompiler._get_set_input_sizes_lookup.<locals>.lookup_typeÍ  sH   ø€ Ø×0Ñ0°Ó9×HÑHÈÓOˆFð Ò"Ø"Ò*¨f¸MÔ.IØ"Ò*¨f¸Ô.Eà�ár  )r»  Úinclude_set_input_sizesÚexclude_set_input_sizesr9  rz  rf  r  r  r   r-   r  )
r  r<  Ú
inputsizesrz  r  r7  r9  r»  r:  r;  s
   &     @@@@r  Ú_get_set_input_sizes_lookupÚ'SQLCompiler._get_set_input_sizes_lookupÄ  sÇ   û€ à—,‘,ˆà×7Ñ7ˆØ×7Ñ7ˆà—‘ˆ÷
	ð 
	ð ˆ
à!%×!<Ñ!<ÐàŸœˆIØÔ2Ùà�~‰~×,×,Ð,ô  $¤I¨y¯~©~Ó>×DÒDó)áD˜ñ   Ö$ÙDñ)�
Ó%ñ
 )4°I·N±NÓ(C�
Ó%ñ )ð Ðùò)s   Â%Cc                ó&   € V P                  RR7      # )zÕReturn the bind param dictionary embedded into this
compiled object, for those values that are present.

.. seealso::

    :ref:`faq_sql_expression_string` - includes a usage example for
    debugging use cases.

F)r   r  rF  s   &r  rý  ÚSQLCompiler.paramsë  s   € ð ×$Ñ$¨EÐ$Ó2Ð2r  c               ó$   € V ^8„  d   QhRRRRRR/# )r  r4  ri   r˜  r*  r  r2  r  )rÍ   s   "r  r  r”  ø  s-   € ÷ Cñ Cà3ðCð ðCð 
ñ	Cr  c                ór  aaaaa€ / pV P                   pVf   V P                  pV P                  '       d    . pV P                  pVf   V P                  pMR;rVV P
                  p\        RV4      o\        RV4      o/ p/ o/ p	Rp
V P                  '       d   Ve   TpV P                  '       d   . p
MV P                  P                  4       pV P                  pV EF¾  oV'       d   VP                  SS4      MSpV P                  S,          pWàP                  9   d/   VS9  d&   V P                  VVP                  V4      R7      SV&   Kq  WàP                   9   Ed%   VS9   d   W�,          pRpM1VP                  S4      pV P#                  WÞV4      pVw  ppWùV&   VSV&   VP$                  '       gÍ   VP'                  V4       VP(                  P*                  '       d.   Vf   Q hVP'                  VV3R l\-        V^4       4       4       MVP'                  VV3R lV 4       4       V
e   V
P/                  R V 4       4       MVe   VP/                  R V 4       4       V UUu. uF  w  ppVNK
  	  uppVS&   EK£  EK¦  Vf   EK­  VP1                  S4       EKÁ  	  V3R	 lp\2        P4                  ! V P6                  VV4      pV
eq   Vf   Q h\-        W P8                  4       UUu/ uF  w  ppVV P:                   V 2bK  	  uppoV P<                  P5                  V3R
 lV4      pVP/                  V
4       \?        VVVVV4      pV'       d]   W@n         W`n        VP@                  V n        V P                  '       d    \C        VP                  ;'       g    R4      MRV n        VV n"        V# u uppi u uppi )af  handle special post compile parameters.

These include:

* "expanding" parameters -typically IN tuples that are rendered
  on a per-parameter basis for an otherwise fixed SQL statement string.

* literal_binds compiled with the literal_execute flag.  Used for
  things like SQL Server "TOP N" where the driver does not accommodate
  N as a bound parameter.

Nr5  z/Mapping[str, Sequence[_BindProcessorType[Any]]]©Úrender_literal_valuec              3  óâ   <"  € T Fd  w  r\        V^4       FO  w  r4SS9   g   K  SS,          V^,
          ,          f   K)  S: RV: RV: 2SS,          V^,
          ,          3x € KQ  	  Kf  	  R# 5i)rá  NrU  )Ú	enumerate)r?  ÚiÚtuple_elementÚjrU  rþ   Útuple_processorss   &    €€r  rA  ÚBSQLCompiler._process_parameters_for_postcompile.<locals>.<genexpr>e  s{   øé € ð 	.ñ
 5IÑ 0 Ü(1°-ÀÖ(C¡ Ø#Ð'7Ñ7ôð !1°Õ 6°q¸1µuÕ =ôÛ.2³A²qÐ 9Ø 0°Õ 6°q¸1µuÕ =õñ
 )Dñó 5Iùs   ƒA/¤A/¿0A/c              3  óP   <"  € T F  w  rSS9   g   K  VSS,          3x € K  	  R # 5ir  r  )r?  r@  rU  rþ   Úsingle_processorss   &  €€r  rA  rO  p  s0   øé € ð .á*3¡ Ø#Ð'8Ñ8ô ;˜SÐ"3°DÕ"9Õ:Û*3ùs   ƒ&“&c              3  ó*   "  € T F	  w  rVx € K  	  R # 5ir  r  ©r?  rþ   rU  s   &  r  rA  rO  v  s   é € ð 3Ù09¡W T�D³	ùó   ‚c              3  ó*   "  € T F	  w  rVx € K  	  R # 5ir  r  rS  s   &  r  rA  rO  }  s   é € Ð.MÁ9¹¸­tÃ9ùrT  c                ó*  <aa€ V P                  ^4      pSV,          pV P                  ^4      '       d_   V P                  ^4      P                  R4      pV^,          V^,          uooRP                  VV3R lVP                  R4       4       4      pV# )rá  ú~~rÔ   c              3  ó:   <"  € T F  pS: V: S: 2x € K  	  R # 5ir  r  )r?  ÚexpÚbe_leftÚbe_rights   & €€r  rA  Ú]SQLCompiler._process_parameters_for_postcompile.<locals>.process_expanding.<locals>.<genexpr>�  s   øé € ð !á/˜ò !(ªªhÕ7Û/ùs   ƒ)r”   Úsplitrž   )rÝ  r@  ÚexprÚtokrZ  r[  Úreplacement_expressionss   &   @@€r  Úprocess_expandingÚJSQLCompiler._process_parameters_for_postcompile.<locals>.process_expanding„  s€   ú€ Ø—'‘'˜!“*ˆCØ*¨3Õ/ˆDð �w‰w�q�zŠzØ—g‘g˜a“j×&Ñ& tÓ,�Ø$'¨¥F¨C°­FÐ!�˜Ø—y‘yõ !à#Ÿz™z¨$Ô/ó!ó �ð ˆKr  c                ó4   <€ SV P                  ^4      ,          # rà  rô  rõ  s   &€r  r÷  ÚASQLCompiler._process_parameters_for_postcompile.<locals>.<lambda>¡  s   ø€ ˜) A§G¡G¨A£JÖ/r  r  )#ru  r«  r™  rw  r8  r  r   rq  rf  rû  r|  rì  re  rz  Úrender_literal_bindparamr�  r{  Ú$_literal_execute_expanding_parameterÚliteral_executer¨  r  r  rJ  Úextendrâ  rŠ  ré  Ú_post_compile_patternrü  rl  rý  r2  r3  rÈ  rs  )r  r4  r˜  Úexpanded_parametersÚpre_expanded_stringÚnew_positiontupÚpre_expanded_positiontupr6  Únew_processorsÚto_update_setsÚnumeric_positiontupÚnamesÚebnr0  Ú	parameterÚ	to_updaterû  Úleep_resÚreplacement_exprÚ
expand_keyrU  ra  r3  rþ  r@  Úexpanded_staterþ   rö  r`  rQ  rN  s   &&&                       @@@@@r  r¬  Ú/SQLCompiler._process_parameters_for_postcompileø  sð  ü€ ð$ !Ðð #×7Ñ7ÐØÒ&Ø"&§+¡+Ðà�?�?ˆ?Ø ˆOà'+×'EÑ'EÐ$Ø'Ò/Ø+/×+;Ñ+;Ð(øð :>Ð=ˆOà×*Ñ*ˆ
Ü Ø3°Zó
Ðô  Ø=¸zó
Ðð >@ˆà24ÐØ)+ˆð 48Ðà�?�?ˆ?Ð7ÒCØ#;ˆEØ×"×"Ð"Ø&(Ð#øà—O‘O×*Ñ*Ó,ˆEà×%Ñ%ˆÜˆDß25˜3Ÿ7™7 4¨Ô.¸4ˆLØŸ
™
 4Õ(ˆIà×7Ñ7Ô7ØÐ'>Ô>à×5Ñ5Ø%Ø1;·±ÀÓ1Mð 6ó ð ,¨LÑ9ñ à×4Ñ4Õ4ØÐ#:Ô:Ø .Õ <�IØ!‘Fð (Ÿ^™^¨DÓ1�Fà#×HÑHØ$°ó �Hð 3;Ñ/�IÐ/à3< <Ñ0Ø<LÐ+¨LÑ9à ×0×0Ð0Ø×%Ñ% iÔ0Ø —~‘~×4×4Ð4Ø%Ò1Ð1Ð1Ø&×-Ñ-õ 	.ô
 5>¸fÀaÔ4Hó	.õ 	ð '×-Ñ-õ .á*3ó.ô ð
 +Ò6Ø+×2Ñ2ñ 3Ù09ó3õ ð )Ò4ð (×.Ñ.Ñ.MÁ9Ó.MÔMá8Aô1Ù8A¡} z°1›
¹	ò1Ð'¨Ô-ò; 1ð@ !Õ,Ø×&Ñ& t×,ñS õV	ô —F’FØ×&Ñ&Ð(9Ð;Nó
ˆ	ð Ò*Ø"Ò.Ð.Ð.ô !*Ø'×)>Ñ)>ô!ôñ!‘H�C˜ð ˜×;Ñ;Ð<¸S¸EÐBÒBñ!òˆIð ×.Ñ.×2Ñ2Ü/°óˆIð ×"Ñ"Ð#6Ô7ä&ØØØØØó
ˆ÷ ð )<Ô%Ø-EÔ*Ø(×2Ñ2ˆDŒKð —?—?�?ô �^×/Ñ/×5Ð5°2Ô6àð Ôð
 1?ˆDÔ-àÐùó{1ùó6s   É$N-Ë&N3zsqlalchemy.engine.cursorc                ó€   € \         P                  P                  pVP                  P	                  V P
                  4      # )z(utility method used for unit tests only.)r$   Ú	preloadedÚengine_cursorrb   Ú_create_description_match_mapr®  )r  Úcursors   & r  Ú_create_result_mapÚSQLCompiler._create_result_map½  s5   € ô —‘×-Ñ-ˆØ×*Ñ*×HÑHØ× Ñ ó
ð 	
r  Ú_BindNameForColProtocolÚ_get_bind_name_for_colc               ó   € V ^8„  d   QhRR/# )r  r  zCallable[[Any], str]r  )rÍ   s   "r  r  r”  É  s   € ÷ ñ Ð/Cñ r  c                	ó   € V P                   pV# r  )r‚  )r  Úgetters   & r  Ú_within_exec_param_key_getterÚ)SQLCompiler._within_exec_param_key_getterÈ  s   € à×,Ñ,ˆØˆr  zsqlalchemy.engine.resultc           	     	óÆ  aa	a
aaa€ \         P                  P                  pV P                  pV P                  f   Q hV P                  P
                  p\        '       d   \        V\        4      '       g   Q hVP                  pVP                   Uu. uF#  p\        P                  ! RV! V4      R 4      V3NK%  	  upoR o	VP                  oSeI   SP                  P                  V P                   R 4      oV! S4      o
S
V P"                  9   d	   V
3R lpVo	MR oTP%                  VP                   Uu. uF  qUP&                  NK  	  up4      oVV	VVV3R lpV# u upi u upi )Nrì  c                ó8   <€ VP                  SV 4      pVe   V# V # r  ©rì  )Ú	lastrowidr4  Úparam_valueÚautoinc_keys   && €r  Ú_autoinc_getterÚPSQLCompiler._inserted_primary_key_from_lastrowid_getter.<locals>._autoinc_getterñ  s)   ø€ Ø",§.¡.°¸iÓ"H�KØ"Ò.ð
  +Ð*ð  )Ð(r  c                óv   <a a€ Se	   S! S 4      o S f   S! V3R lS 4       4      # S! VVV V3R lS 4       4      # )zägiven cursor.lastrowid value and the parameters used for INSERT,
return a "row" that represents the primary key, either by
using the "lastrowid" or by extracting values from the parameters
that were sent along with the INSERT.

c              3  ó8   <"  € T F  w  rV! S4      x € K  	  R # 5ir  r  )r?  r…  r(  r4  s   &  €r  rA  ÚWSQLCompiler._inserted_primary_key_from_lastrowid_getter.<locals>.get.<locals>.<genexpr>	  s   øé € ÐLÁG±[°V™f Z×0Ð0ÃGùó   ƒc              3  ób   <"  € T F$  w  rVSJ d   Se
   S! SS4      M	SMV! S4      x € K&  	  R # 5ir  r  )r?  r…  r(  Úautoinc_colÚautoinc_getterr‹  r4  s   &  €€€€r  rA  r’  	  sI   øé € ð ñ (/™˜ð  +Ó-ð  .Ò9ñ +¨9°jÔAá!*ñ $ JÓ/ô0ó (/ùs   ƒ,/r  )r‹  r4  r•  r–  ÚgettersÚlastrowid_processorÚrow_fns   ff€€€€€r  rì  ÚDSQLCompiler._inserted_primary_key_from_lastrowid_getter.<locals>.get	  sH   ú€ ð #Ò.Ù/°	Ó:�	àÒ ÙÔLÁGÓLÓLÐLá÷ ñ (/óó ð r  )r$   r{  Úengine_resultr†  r)  r3  r   rÅ  r;   r½   Úprimary_keyÚoperatorÚmethodcallerÚ_autoincrement_columnr  Ú_cached_result_processorr»  re  Úresult_tupler@  )r  ÚresultÚparam_key_getterr3  r½   r(  rŽ  rì  r•  r–  r�  r—  r˜  r™  s   &       @@@@@@r  Ú+_inserted_primary_key_from_lastrowid_getterÚ7SQLCompiler._inserted_primary_key_from_lastrowid_getterÍ  sQ  ý€ ô —‘×-Ñ-ˆà×=Ñ=Ðà×!Ñ!Ò-Ð-Ð-Ø×&Ñ&×0Ñ0ˆ	ç‹=Ü˜i¬×0Ò0Ð0Ð0à—‘ˆð ×(Ò(ó
á(�ô ×"Ò" 5Ñ*:¸3Ó*?ÀÓFÈÓLÙ(ñ
ˆð
 ˆØ×1Ñ1ˆØÒ"à"-×"2Ñ"2×"KÑ"KØ—‘˜dó#Ðñ +¨;Ó7ˆKð ˜dŸj™jÔ(õ
)ð "1�øð #'Ðà×$Ñ$¸×9JÒ9JÓ%KÑ9J°#§g¤gÑ9JÑ%KÓLˆ÷	ñ 	ð4 ˆ
ùòG
ùòN &Ls   Â)EÄ2Ec                	óÈ  a
a€ \         P                  P                  pV P                  f   Q hV P                  P                  p\
        '       d   \        V\        4      '       g   Q hV P                  pVP                  pV P                  pVf   Q h\        V4       UUu/ uF  w  rgWvbK	  	  ppp\        RVP                   Uu. uFG  pWx9   d   \        P                  ! W‡,          4      R3M\        P                   ! RV! V4      R 4      R3NKI  	  up4      o
TP#                  VP                   Uu. uF  qwP$                  NK  	  up4      oV
V3R lp	V	# u uppi u upi u upi )Nz'List[Tuple[Callable[[Any], Any], bool]]Trì  Fc                ó.   <a a€ S! VV 3R  lS 4       4      # )c              3  óX   <"  € T F  w  rV'       d	   V! S4      MV! S4      x € K!  	  R # 5ir  r  )r?  r…  Úuse_rowr4  Úrows   &  €€r  rA  ÚWSQLCompiler._inserted_primary_key_from_returning_getter.<locals>.get.<locals>.<genexpr>G	  s*   øé € ð á'.‘O�F÷  '‘�s”©F°:Ó,>Ô>Û'.ùs   ƒ'*r  )rª  r4  r—  r™  s   ff€€r  rì  ÚDSQLCompiler._inserted_primary_key_from_returning_getter.<locals>.getF	  s   ú€ Ùõ á'.óó ð r  )r$   r{  r›  r)  r3  r   rÅ  r;   r†  r½   rc  rJ  r   rœ  r�  Ú
itemgetterrž  r¡  r@  )r  r¢  r3  r£  r½   r¿  Úidxr(  Úretrì  r—  r™  s   &         @@r  Ú+_inserted_primary_key_from_returning_getterÚ7SQLCompiler._inserted_primary_key_from_returning_getter!	  sZ  ù€ ô —‘×-Ñ-ˆà×!Ñ!Ò-Ð-Ð-Ø×&Ñ&×0Ñ0ˆ	ç‹=Ü˜i¬×0Ò0Ð0Ð0à×=Ñ=ÐØ—‘ˆà×+Ñ+ˆ	ØÒ$Ð$Ð$Ü(1°)Ô(<Ô=Ñ(<™H˜CˆsŠxÑ(<ˆÑ=äØ5ð !×,Ò,óñ -�Cð ”zô ×(Ò(¨­Ó2°DÑ9ô !×-Ò-Ø!Ñ#3°CÓ#8¸$óð ð	òñ -ñó
ˆð" ×$Ñ$¸×9JÒ9JÓ%KÑ9J°#§g¤gÑ9JÑ%KÓLˆö	ð ˆ
ùó7 >ùòùò &Ls   ÂEÃAE
Ä0Ec               ó   € V ^8„  d   QhRR/# r÷  r  )rÍ   s   "r  r  r”  N	  s   € ÷ ñ ˜cñ r  c                ó   € R# )z¥Called when a SELECT statement has no froms, and no FROM clause is
to be appended.

Gives Oracle Database a chance to tack on a ``FROM DUAL`` to the string
output.

rª  r  rF  s   &r  Údefault_fromÚSQLCompiler.default_fromN	  s   € ñ r  c                óD  € VP                   P                  ! V 3/ VB pVP                   EFq  pW@P                  9  d   K  V P                  V,          pVP	                  VP                  VP
                  ,          RRR7      pV P                  V,          pV;V P                  V&   V P                  V&   WpP                  V&   V P                  P                  VR4       WPP                  9   d   V ;P                  V0,          un        WPP                  9   d   V ;P                  V0,          un	        V P                  pV'       g   EK  Vw  ršVP                   F?  pVP
                  V
9   g   K  W¥P
                  ,          pW›,          P                  V4       KA  	  EKt  	  V# )aB  SQL compile the nested element of an _OverrideBinds with
bindparams swapped out.

The _OverrideBinds is not normally expected to be compiled; it
is meant to be used when an already cached statement is to be used,
the compilation was already performed, and only the bound params should
be swapped in at execution time.

However, there are test cases that exericise this object, and
additionally the ORM subquery loader is known to feed in expressions
which include this construct into new queries (discovered in #11173),
so it has to do the right thing at compile time as well.

TF)Úmaintain_keyr'  N)râ  rô  Ú	translatere  Ú_with_valuer@  rf  r�  r{  rz  r}  Ú_cloned_setrâ  )r  Úoverride_bindsrä  Úsqltextr±  ÚbpÚnew_bprþ   r,  r¯  r®  Úcbs   &&,         r  Úvisit_override_bindsÚ SQLCompiler.visit_override_bindsX	  sR  € ð" !×(Ñ(×;Ò;¸DÑGÀBÑGˆð  ×)Õ)ˆAØŸ
™
Ô"ÙØ—‘˜A•ˆBð —^‘^Ø×(Ñ(¨¯©Õ0Ø!Øð $ó ˆFð —?‘? 2Õ&ˆDØ/5Ð5ˆD�J‰J�q‰M˜DŸJ™J tÑ,Ø&*�O‰O˜FÑ#Ø�O‰O×Ñ  DÔ)à×-Ñ-Ô-Ø×(Ò(¨V¨HÕ4Õ(Ø×0Ñ0Ô0Ø×+Ò+°¨xÕ7Õ+à×3Ñ3ˆJßŠzØ'‘
�ØŸ.œ.�BØ—v‘v –~Ø!§&¡&�\˜Ø�Ÿ™¨Ö/ô )ñ? *ðH ˆr  c                	óX   € R VP                   P                  ! V 3/ VB ,           R,           # ©rN  rP  ©râ  rô  )r  ÚgroupingÚasfromrñ  s   &&&,r  Úvisit_groupingÚSQLCompiler.visit_grouping˜	  ó(   € Ø�X×%Ñ%×8Ò8¸ÑHÀÑHÕHÈ3ÕNÐNr  c                	óX   € R VP                   P                  ! V 3/ VB ,           R,           # rÃ  rÄ  )r  rÅ  rñ  s   &&,r  Úvisit_select_statement_groupingÚ+SQLCompiler.visit_select_statement_grouping›	  rÉ  r  c                	óJ  € V P                   '       dÊ   V P                  P                  '       d®    \        R V P                   R,          R,          4      pTP                  w  pppT'       d   Tp	MTp	TP                  P                  p
T
eR   T
P                  T	9   dA   T
P                  YšP                  ,          4      '       d   TP                  P                  TR&   V P                  ! VP                  3RV/VB #   \         d   p\
        P                  ! R4      ThRp?ii ; i)ú'Union[SelectState, CompoundSelectState]r)  úECan't resolve label reference for ORDER BY / GROUP BY / DISTINCT etc.NÚrender_label_as_labelÚwithin_columns_clauserÂ  )r—  r»  Úsupports_simple_order_by_labelr   ÚKeyErrorr/   r%  Ú_label_resolve_dictrâ  Ú_order_by_label_elementrþ   Úshares_lineagerÇ  )r  râ  rÑ  rñ  r)  ÚkeÚ	with_colsÚ
only_fromsÚ	only_colsÚresolve_dictÚorder_by_elems   &&&,       r  Úvisit_label_referenceÚ!SQLCompiler.visit_label_referencež	  s   € ð �:�:ˆ:˜$Ÿ,™,×E×EÐEð	Ü $Ø=Ø—J‘J˜r•N ?Õ3ó!�ð ×1Ñ1ñ	ØØØç$Ø)‘à(�ð $ŸO™O×CÑCˆMð Ò)Ø!×&Ñ&¨,Ô6Ø!×0Ñ0Ø ×!3Ñ!3Õ4÷ò ð
 —O‘O×;Ñ;ð Ð.Ñ/ð �|Š|Ø�O‰Oñ
à"7ð
ð ñ
ð 	
øôA ô Ü×&Ò&ð/óð ðûðús   °$C; Ã;D"ÄDÄD"c                	ó|  € V P                   '       g   V P                  VP                  4      #  \        R V P                   R,          R,          4      pXP                  w  rgp V'       d   WqP                  ,          p	MWaP                  ,          p	W“R&   V P                  ! V	3RV/VB #   \         d=   p\
        P                  ! TP                  R\        P                  TR7        Rp?L˜Rp?ii ; i  \         d>   p
\
        P                  ! TP                  R\        P                  T
R7        Rp
?
R# Rp
?
ii ; i)rÎ  r)  rÏ  )ÚextraÚexc_clsrã  NrÐ  rÑ  rÂ  )r—  rÇ  Ú_text_clauser   rÓ  r   Ú_no_text_coercionrâ  r/   r%  rÔ  )r  râ  rÑ  rñ  r)  r×  rØ  rÙ  rÚ  r(  rã  s   &&&,       r  Úvisit_textual_label_referenceÚ)SQLCompiler.visit_textual_label_referenceÍ	  s"  € ð �z�zˆzà—<‘< × 4Ñ 4Ó5Ð5ð	Ü Ø9Ø—
‘
˜2•˜Õ/óˆMð ,9×+LÑ+LÑ(ˆ	˜yð	ß$Ø §¡Õ1‘à§¡Õ0�ð /2Ð*Ñ+Ø—<’<ØñØ+@ðØDJñð øô; ô 		Ü×'Ò'Ø—‘ð/ô ×(Ñ(Ø÷ò ûð		ûô" ô 		Ü×'Ò'Ø—‘ð/ô ×(Ñ(Ø÷ó ûð		ús/   ¯$B) Á#-C3 Â)C0Â42C+Ã+C0Ã3D;Ã>2D6Ä6D;c                	óÂ  € T;'       d    V'       * pWQJ p	V	'       g	   V'       dT   \        VP                  \        P                  4      '       d   V P	                  R VP                  4      p
MVP                  p
V'       dŸ   Ve9   V! X
VP                  W3VP
                  ,           V,           VP                  4       VP                  P                  ! V 3RRRR/VB \        \        P                  ,          ,           V P                  P                  VX
4      ,           # V	'       d   V P                  P                  VX
4      # VP                  P                  ! V 3RR/VB # )ÚcolidentrÑ  TÚwithin_label_clauseF)rÅ  rþ   r   r@   Ú_truncated_identifierr'  r  râ  rô  Ú	OPERATORSr   Úas_r³  Úformat_label)r  r$  Úadd_to_result_maprè  rÑ  rÐ  Úresult_map_targetsrä  Úrender_label_with_asÚrender_label_onlyÚ	labelnames   &&&&&&&,   r  Úvisit_labelÚSQLCompiler.visit_labelú	  sD  € ð "×=Ð=Ð*=Ô&=ð 	ð 2Ð:Ðç× 4Ü˜%Ÿ*™*¤h×&?Ñ&?×@Ò@Ø ×6Ñ6°zÀ5Ç:Á:ÓN‘	à!ŸJ™J�	çØ Ò,Ù!ØØ—J‘JØÐ&¨×)9Ñ)9Õ9Ð<NÕNØ—J‘Jô	ð —‘×0Ò0Øñà*.ðð )-ðð ñ	ô œIŸM™MÕ*õ+ð —-‘-×,Ñ,¨U°IÓ>õ?ð	÷ Ø—=‘=×-Ñ-¨e°YÓ?Ð?à—=‘=×3Ò3ØñØ,1ðØ57ñð r  c                	ó.   € \         P                  ! R 4      h)z:Cannot compile Column object until its 'name' is assigned.©r/   r%  ©r  r|   s   &&r  Ú_fallback_column_nameÚ!SQLCompiler._fallback_column_name+
  s   € Ü×ÒØHó
ð 	
r  c                	ó@   € VP                   pV P                  ! V3/ VB # r  )Ú	_resolvedrÇ  )r  râ  rä  Úsql_elements   &&, r  Úvisit_lambda_elementÚ SQLCompiler.visit_lambda_element0
  s!   € Ø×'Ñ'ˆØ�|Š|˜KÑ.¨2Ñ.Ð.r  c               ó4   € V ^8„  d   QhRRRRRRRRR	R
RRRR/# )r  r|   úColumnClause[Any]rí  úOptional[_ResultMapAppender]Úinclude_tabler*  rî  rÿ   Úambiguous_table_name_mapz Optional[_AmbiguousTableNameMap]rñ  r   r  rü   r  )rÍ   s   "r  r  r”  4
  sZ   € ÷ 9Oñ 9Oà!ð9Oð 8ð9Oð ð	9Oð
 ,ð9Oð #Cð9Oð ð9Oð 
ñ9Or  c                	ó$  € VP                   ;rxVf   V P                  V4      pVP                  p	V	'       g3   \        V\        P
                  4      '       d   V P                  RV4      pVeN   WVP                  3V,           p
VP                  '       d   W¡P                  3,          p
V! WxW¡P                  4       V	'       d   V P                  V4      pMV P                  P                  V4      pVP                  pVe   V'       d   VP                  '       g   V# V P                  P                  V4      pV'       d$   V P                  P!                  V4      R,           pMRp\"        '       d   \        V\$        4      '       g   Q hVP                   pV'       g   V'       d   Wå9   d	   W^,          p\        V\        P
                  4      '       d   V P                  RV4      pWÐP                  P                  V4      ,           R,           V,           # )Nrç  rT  rª  Úalias)rþ   r÷  Ú
is_literalrÅ  r   r@   ré  r@  Ú	_tq_labelr  Úescape_literal_columnr³  Úquoter½   Únamed_with_columnÚschema_for_objectÚquote_schemar   rY   )r  r|   rí  r  rî  r  rñ  rþ   Ú	orig_namer  Útargetsr½   Úeffective_schemaÚschema_prefixÚ	tablenames   &&&&&&,        r  Úvisit_columnÚSQLCompiler.visit_column4
  sŸ  € ð "Ÿ;™;Ð&ˆØŠ<Ø×-Ñ-¨fÓ5ˆDà×&Ñ&ˆ
ßœj¨¬x×/HÑ/H×IÒIØ×-Ñ-¨j¸$Ó?ˆDàÒ(Ø V§Z¡ZÐ0Ð3EÕEˆGØ××ÐØ×,Ñ,Ð.Õ.�á˜d¨w¿¹ÔDçð ×-Ñ-¨dÓ3‰Dà—=‘=×&Ñ& tÓ,ˆDØ—‘ˆØŠ=§°U×5L×5LÐ5LØˆKà#Ÿ}™}×>Ñ>¸uÓEÐçà—M‘M×.Ñ.Ð/?Ó@À3ÕFñ ð !#�ç‹}Ü! %¬×9Ò9Ð9Ð9ØŸ
™
ˆI÷ %ß,ØÔ9à4Õ?�	ä˜)¤X×%>Ñ%>×?Ò?Ø ×6Ñ6°wÀ	ÓJ�	à §=¡=×#6Ñ#6°yÓ#AÕAÀCÕGÈ$ÕNÐNr  c                	óL   € V P                   P                  VP                  4      # r  )r³  Úformat_collationÚ	collation©r  râ  rä  s   &&,r  Úvisit_collationÚSQLCompiler.visit_collationo
  s   € Ø�}‰}×-Ñ-¨g×.?Ñ.?Ó@Ð@r  c                	ó   € VP                   # r  ©rþ   )r  Ú
fromclauserñ  s   &&,r  Úvisit_fromclauseÚSQLCompiler.visit_fromclauser
  s   € Ø�‰Ðr  c                	ó   € VP                   # r  r  )r  r„  rñ  s   &&,r  Úvisit_indexÚSQLCompiler.visit_indexu
  s   € Ø�z‰zÐr  c                	óŠ   € WR &   V P                   VR&   V P                  P                  P                  ! VP                  3/ VB # )Útype_expressionrÁ  )r³  r»  Útype_compiler_instancerÇ  r  )r  Ú
typeclauserä  s   &&,r  Úvisit_typeclauseÚSQLCompiler.visit_typeclausex
  sF   € Ø *ÐÑØ$(§M¡MˆÐ Ñ!Ø�|‰|×2Ñ2×:Ò:Ø�O‰Oñ
Ø!ñ
ð 	
r  c                	ób   € V P                   P                  '       d   VP                  R R4      pV# ©rL  ú%%©r³  Ú_double_percentsÚreplace©r  Útexts   &&r  Úpost_process_textÚSQLCompiler.post_process_text
  ó'   € Ø�=‰=×)×)Ð)Ø—<‘<  TÓ*ˆDØˆr  c                	ób   € V P                   P                  '       d   VP                  R R4      pV# r(  r*  r-  s   &&r  r  Ú!SQLCompiler.escape_literal_column„
  r1  r  c           	     	ó  a aa€ VV V3R  lpS P                   '       g   RS n        V'       d   V! RRS3\        P                  4       \        P                  R \        P                  VS P                  SP                  4      4      4      # )c                ó¶   <€ V P                  ^4      pVSP                  9   d%   SP                  ! SP                  V,          3/ SB # SP                  ! V3/ SB # rà  )r”   Ú_bindparamsrÇ  Úbindparam_string)rÝ  rþ   rä  r  Ú
textclauses   & €€€r  Údo_bindparamÚ2SQLCompiler.visit_textclause.<locals>.do_bindparamŠ
  sS   ø€ Ø—7‘7˜1“:ˆDØ�z×-Ñ-Ô-Ø—|’| J×$:Ñ$:¸4Õ$@ÑGÀBÑGÐGà×,Ò,¨TÑ8°RÑ8Ð8r  TNc                ó$   € V P                  ^4      # rà  rô  )rÝ  s   &r  r÷  Ú.SQLCompiler.visit_textclause.<locals>.<lambda>œ
  s   € �a—g‘g˜a”jr  )	r—  rd  r#   ÚNULLTYPEÚBIND_PARAMS_ESCré  ÚBIND_PARAMSr/  r.  )r  r8  rí  rä  r9  s   ff&l r  Úvisit_textclauseÚSQLCompiler.visit_textclause‰
  sn   ú€ ÷	9ð �z�zˆzØ#ˆDÔçñ ˜d D¨:¨-¼×9JÑ9JÔKô ×"Ñ"Ù Ü�O‰OØ˜d×4Ñ4°Z·_±_ÓEóó
ð 	
r  c                	ó´  € V P                   '       * pV'       d   V P                  MV P                   R,          pR\        4       R\        4       RV/pV P                   P                  V4       VP                  '       d   V P                  W4       T;'       g:    V^ 8H  ;'       d    VP                  RR4      ;'       g    VP                  RR4      pV'       d}   VP                  ;V n        V n	        VP                  '       * ;'       d    \        VP                  4      V n        VP                   F!  p	V P                  V	RV P                  R7       K#  	  V P                  ! VP                  3/ VB p
V P                   '       d9   V'       g   \#        V P                   4      MR	pV P%                  VR
7      V
,           p
V P                   P'                  R4       V
# )rá  r%  r$  r"   r,  Fr+  T)rÑ  rí  N©Únesting_levelrÂ  )r—  Ú_default_stack_entryr¹   râ  Ú_independent_ctesÚ_dispatch_independent_ctesrì  r™  ro  rm  r*  Úcolumn_argsrp  rÇ  Ú_add_to_result_maprâ  r�  rë  Ú_render_cte_clauser�  )r  ÚtafÚcompound_indexrÆ  rä  Útoplevelr×  Ú	new_entryÚpopulate_result_mapr»  r.  rD  s   &&&&,       r  Úvisit_textual_selectÚ SQLCompiler.visit_textual_select¢
  s—  € ð —z‘z”>ˆß-5�×)Ò)¸4¿:¹:Àb½>ˆð œs›uØœC›EØ˜#ð*
ˆ	ð
 	�
‰
×Ñ˜)Ô$à× × Ð Ø×+Ñ+¨CÔ4ð ÷ >ð >à !Ñ#÷ Eð EØ—I‘IÐ<¸eÓD÷>ð >ð
 �y‰yÐ5°uÓ=ð 	÷ à—‘ðˆDÔ! DÔ$Að 47·>±>Ô/A÷ 0ð 0ÄdØ—‘óGˆDÔ,ð —_”_�Ø—‘ØØ*.Ø&*×&=Ñ&=ð ö ñ %ð �|Š|˜CŸK™KÑ.¨2Ñ.ˆØ�9�9ˆ9ß3;œC §
¡
œOÀˆMØ×*Ñ*¸Ð*ÓGÈ$ÕNˆDà�
‰
�‰�rÔàˆr  c               ó$   € V ^8„  d   QhRRRRRR/# )r  r^  rH   rä  r   r  rü   r  )rÍ   s   "r  r  r”  Ö
  s!   € ÷ ñ ˜tð ¨3ð °3ñ r  c                	ó   € R # ©ÚNULLr  ©r  r^  rä  s   &&,r  Ú
visit_nullÚSQLCompiler.visit_nullÖ
  ó   € Ùr  c               ó$   € V ^8„  d   QhRRRRRR/# )r  r^  rI   rä  r   r  rü   r  )rÍ   s   "r  r  r”  Ù
  s!   € ÷ ñ ˜uð ¨Cð °Cñ r  c                	óB   € V P                   P                  '       d   R # R# )rÁ   Ú1©r»  Úsupports_native_booleanrV  s   &&,r  Ú
visit_trueÚSQLCompiler.visit_trueÙ
  s   € Ø�<‰<×/×/Ð/Ùár  c               ó$   € V ^8„  d   QhRRRRRR/# )r  r^  rF   rä  r   r  rü   r  )rÍ   s   "r  r  r”  ß
  s!   € ÷ ñ  ð ¨cð °cñ r  c                	óB   € V P                   P                  '       d   R # R# )r�   Ú0r]  rV  s   &&,r  Úvisit_falseÚSQLCompiler.visit_falseß
  s   € Ø�<‰<×/×/Ð/Ùár  c                	óL   a a€ VP                  R  VV 3R lV 4        4       4      # )c              3  ó:   "  € T F  pV'       g   K  Vx € K  	  R # 5ir  r  ©r?  Úss   & r  rA  Ú7SQLCompiler._generate_delimited_list.<locals>.<genexpr>æ
  s   é € ð 
áI�Ü÷ ŠAÛIùó   ‚
‘
c              3  óH   <"  € T F  qP                   ! S3/ SB x € K  	  R # 5ir  ró  ©r?  r»  rä  r  s   & €€r  rA  rj  è
  s   øé € ÐIÁ¸1×*Ò*¨4Ñ6°2Ö6Ãùó   ƒ"©rž   )r  r   Ú	separatorrä  s   f&&lr  Ú_generate_delimited_listÚ$SQLCompiler._generate_delimited_listå
  s&   ù€ Ø�~‰~ñ 
åIÁÔIó
ó 
ð 	
r  c                	óˆ  a a€ \         P                  P                  \        P                  \         P
                  P                  \         P                  P                  V4      w  r1V^8X  d   V^ ,          P                  ! S 3/ SB # \        \        P                  ,          pVP                  R VV 3R lV 4        4       4      # )rá  c              3  ó:   "  € T F  pV'       g   K  Vx € K  	  R # 5ir  r  rh  s   & r  rA  Ú;SQLCompiler._generate_delimited_and_list.<locals>.<genexpr>÷
  s   é € ð "áL�AÜ÷ ’ÛLùrk  c              3  óH   <"  € T F  qP                   ! S3/ SB x € K  	  R # 5ir  ró  rm  s   & €€r  rA  ru  ù
  s   øé € ÐLÁG¸q×.Ò.¨tÑ:°rÖ:ÃGùrn  )r   ÚBooleanClauseListÚ_process_clauses_for_booleanr   Úand_rI   Ú
_singletonrF   rô  rê  rž   )r  Úclausesrä  Úlccrp  s   f&l  r  Ú_generate_delimited_and_listÚ(SQLCompiler._generate_delimited_and_listì
  s“   ù€ Ü×1Ñ1×NÑNÜ�N‰NÜ�N‰N×%Ñ%Ü�O‰O×&Ñ&Øó	
‰ˆð �!Œ8Ø˜1•:×0Ò0°Ñ<¸Ñ<Ð<ä!¤)§.¡.Õ1ˆIØ—>‘>ñ "åLÁGÔLó"ó ð r  c                	ó6   € R V P                   ! V3/ VB ,          # ©ú(%s))Úvisit_clauselist)r  Ú
clauselisträ  s   &&,r  Úvisit_tupleÚSQLCompiler.visit_tupleý
  s   € Ø˜×-Ò-¨jÑ?¸BÑ?Õ?Ð?r  c                	ó’   € VP                   pVf   RpM\        VP                   ,          pV P                  ! VP                  V3/ VB # )NrX  )r�  rê  rq  r{  )r  rƒ  rä  Úseps   &&, r  r‚  ÚSQLCompiler.visit_clauselist   sE   € Ø×!Ñ!ˆØŠ;Ø‰Cä˜J×/Ñ/Õ0ˆCà×,Ò,¨Z×-?Ñ-?ÀÑKÈÑKÐKr  c                	ó  € VP                   pV P                  VR R4      pV'       d
   V! W3/ VB #  \        V,          pRVR&   V P                  ! VP                  V3/ VB #   \
         d   p\        P                  ! Y4      ThRp?ii ; i)Úexpression_clauselistNTÚ_in_operator_expression)r�  Ú_get_operator_dispatchrê  rq  r{  rÓ  r/   rà  )r  rƒ  rä  Ú	operator_ÚdispÚopstringrã  s   &&,    r  Úvisit_expression_clauselistÚ'SQLCompiler.visit_expression_clauselist	  s£   € Ø×'Ñ'ˆ	à×*Ñ*ØÐ.°ó
ˆ÷ Ù˜
Ñ4°Ñ4Ð4ð	Ü  Õ+ˆHð -1ˆBÐ(Ñ)Ø×0Ò0Ø×"Ñ" HñØ02ñð øô	 ô 	LÜ×1Ò1°$ÓBÈÐKûð	Lús   ²A" Á"B	Á-BÂB	c                	óÄ  € R pVP                   e+   W1P                   P                  ! V 3/ VB R,           ,          pVP                   FL  w  rEVRVP                  ! V 3/ VB ,           R,           VP                  ! V 3/ VB ,           R,           ,          pKN  	  VP                  e3   VRVP                  P                  ! V 3/ VB ,           R,           ,          pVR,          pV# )zCASE rX  zWHEN z THEN zELSE ÚEND)r  rô  ÚwhensÚelse_)r  Úclauserñ  ÚxÚcondr¢  s   &&,   r  Ú
visit_caseÚSQLCompiler.visit_case  sÚ   € ØˆØ�<‰<Ò#Ø—‘×0Ò0°Ñ@¸Ñ@À3ÕFÕFˆAØ"ŸLœL‰LˆDØØØ×)Ò)¨$Ñ9°&Ñ9õ:àõð ×+Ò+¨DÑ;°FÑ;õ<ð õ	õŠAñ )ð �<‰<Ò#ØØ˜&Ÿ,™,×9Ò9¸$ÑIÀ&ÑIÕIÈCÕOõˆAð 	
ˆU�
ˆØˆr  c                	ó<   € VP                   P                  ! V 3/ VB # r  )Útyped_expressionrô  )r  Útype_coercerä  s   &&,r  Úvisit_type_coerceÚSQLCompiler.visit_type_coerce/  s   € Ø×+Ñ+×>Ò>¸tÑJÀrÑJÐJr  c                	ó&  € VP                   P                  ! V 3/ VB p\        P                  ! R V4      pRVP                  P                  ! V 3/ VB : RV'       d   VP                  ^4      MT: RV'       d   VP                  ^4      : 2# R: 2# )z(.*)( COLLATE .*)zCAST(rÖ   rP  rª  )r$  rô  rŠ  Úmatchr–  r”   )r  r   rñ  Útype_clauser¡  s   &&,  r  Ú
visit_castÚSQLCompiler.visit_cast2  s�   € Ø—o‘o×8Ò8¸ÑHÀÑHˆÜ—’Ð,¨kÓ:‰à�K‰K×*Ò*¨4Ñ:°6Ô:ß#ˆE�K‰K˜ŒN¨Ò4ß#ˆE�K‰K˜‹NÑ+ð
ð 	
ð *,Ñ+ð
ð 	
r  c           
     	óò  € V^ ,          \         P                  J d   RM—V^ ,          \         P                  J d   RMzV^ ,          ^ 8  d<   V P                  ! \         P                  ! \        V^ ,          4      4      3/ VB : R2M1V P                  ! \         P                  ! V^ ,          4      3/ VB : R2: RV^,          \         P                  J d   R: 2# V^,          \         P                  J d   R: 2# V^,          ^ 8  d?   V P                  ! \         P                  ! \        V^,          4      4      3/ VB : R2: 2# V P                  ! \         P                  ! V^,          4      3/ VB : R2: 2# )é    zUNBOUNDED PRECEDINGzCURRENT ROWz
 PRECEDINGz
 FOLLOWINGrÑ   zUNBOUNDED FOLLOWING)r   ÚRANGE_UNBOUNDEDÚRANGE_CURRENTrÇ  ÚliteralÚabs)r  Úrange_rä  s   &&,r  Ú_format_frame_clauseÚ SQLCompiler._format_frame_clause;  su  € ð ˜!•9¤× 8Ñ 8Ó8ñ &ð ˜a•y¤H×$:Ñ$:Ó:ñ "ð " !�9 qœ=ð	 !ŸLšLÜ (× 0Ò 0´°V¸AµY³Ó @ñØDFôñð  Ÿ<š<¬×(8Ò(8¸À½Ó(CÑJÀrÔJðMòð( ˜!•9¤× 8Ñ 8Ó8ð &ñ ð+'
ð '	
ð2 ˜a•y¤H×$:Ñ$:Ó:ð "ñð+'
ð '	
ðB " !�9 qœ=ð	 !ŸLšLÜ (× 0Ò 0´°V¸AµY³Ó @ñØDFôðñð+'
ð '	
ðF  Ÿ<š<¬×(8Ò(8¸À½Ó(CÑJÀrÔJðMñð+'
ð '	
r  c                	ó’  € VP                   P                  ! V 3/ VB pVP                  e&   RV P                  ! VP                  3/ VB ,          pMhVP                  e&   RV P                  ! VP                  3/ VB ,          pM5VP
                  e&   RV P                  ! VP
                  3/ VB ,          pMR pV: RRP                  RVP                  3RVP                  33 UUu. uF8  w  rVVf   K  \        V4      '       g   K  V: RVP                  ! V 3/ VB : 2NK:  	  uppV'       d   V.M. ,           4      : R	2# u uppi )
NzRANGE BETWEEN %szROWS BETWEEN %szGROUPS BETWEEN %sz OVER (rX  Ú	PARTITIONÚORDERz BY rP  )
râ  rô  r«  r¬  ÚrowsÚgroupsrž   Úpartition_byÚorder_byrë  )r  Úoverrñ  r.  r«  Úwordr–  s   &&,    r  Ú
visit_overÚSQLCompiler.visit_overe  sU  € Ø�|‰|×.Ò.¨tÑ>°vÑ>ˆØ�;‰;Ò"Ø'¨$×*CÒ*CØ—‘ñ+Ø%ñ+õ ‰Fð �Y‰YÒ"Ø&¨×)BÒ)BØ—	‘	ñ*Ø#ñ*õ ‰Fð �[‰[Ò$Ø(¨4×+DÒ+DØ—‘ñ,Ø%ñ,õ ‰Fð ˆFó Ø�H‰Hð
 % d×&7Ñ&7Ð8Ø  $§-¡-Ð0ñ)ôñ)™˜ð ôHô /2°&¯kôHÛ˜V×6Ò6°tÑF¸vÓFóHñ)ò÷  &�F‘8¨2õ	/öð
ð 	
ùós   Ã'EÃ4EÄEc                	ó‚   € VP                   P                  ! V 3/ VB : R VP                  P                  ! V 3/ VB : R2# )z WITHIN GROUP (ORDER BY rP  )râ  rô  r´  )r  Úwithingrouprñ  s   &&,r  Úvisit_withingroupÚSQLCompiler.visit_withingroup†  s>   € à×Ñ×2Ò2°4ÑB¸6ÔBØ× Ñ ×3Ò3°DÑC¸FÔCð
ð 	
r  c                	ó‚   € VP                   P                  ! V 3/ VB : R VP                  P                  ! V 3/ VB : R2# )z FILTER (WHERE rP  )Úfuncrô  Ú	criterion)r  Ú
funcfilterrñ  s   &&,r  Úvisit_funcfilterÚSQLCompiler.visit_funcfilterŒ  s<   € à�O‰O×.Ò.¨tÑ>°vÔ>Ø× Ñ ×3Ò3°DÑC¸FÔCð
ð 	
r  c                	ó®   € V P                   P                  VP                  VP                  4      pR V: RVP                  P                  ! V 3/ VB : R2# )zEXTRACT(rÕ   rP  )Úextract_maprì  Úfieldr^  rô  )r  Úextractrñ  rÅ  s   &&, r  Úvisit_extractÚSQLCompiler.visit_extract’  sF   € Ø× Ñ ×$Ñ$ W§]¡]°G·M±MÓB‰ãØ�L‰L×+Ò+¨DÑ;°FÔ;ð
ð 	
r  c                	óv   € V P                   ! VP                  3/ VB pV P                  ! V3/ VB pR V: RV: 2# )rN  z).)Úvisit_functionÚfnr  )r  râ  rä  Úcompiled_fnÚcompiled_cols   &&,  r  Úvisit_scalar_function_columnÚ(SQLCompiler.visit_scalar_function_column™  s;   € Ø×)Ò)¨'¯*©*Ñ;¸Ñ;ˆØ×(Ò(¨Ñ7°BÑ7‰Û'ªÐ6Ð6r  c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r  r¾  úFunction[Any]rí  r   rñ  r   r  rü   r  )rÍ   s   "r  r  r”  ž  s2   € ÷ ,ñ ,àð,ð 8ð,ð ð	,ð
 
ñ,r  c           	     	ó  € Ve5   V! VP                   VP                   VP                   3VP                  4       \        V RVP                   P                  4       ,          R 4      pV'       d   V! V3/ VB pEMn\        P                  VP                  4       P                  R 4      pV'       d   VP                  '       d
   VR,          pMsVP                   pV P                  P                  V4      '       g!   \        V\        P                  4      '       d   V P                  P                  V4      MTpVR,           pRP                  VP                    Uu. uFa  pV P                  P                  V4      '       g!   \        V\        P                  4      '       d   V P                  P                  V4      MTNKc  	  upV.,           4      RV P"                  ! V3/ VB /,          pVP$                  '       d
   VR,          pV# u upi )Nzvisit_%s_funcz%(expr)srT  r^  z WITH ORDINALITY)rþ   r  ÚgetattrÚlowerrç   rì  Ú_deannotaterÒ  Ú	_has_argsr³  Ú_requires_quotes_illegal_charsrÅ  r   r,   r  rž   ÚpackagenamesÚfunction_argspecÚ_with_ordinality)r  r¾  rí  rñ  rŽ  r.  rþ   r_  s   &&&,    r  rÊ  ÚSQLCompiler.visit_functionž  s¶  € ð Ò(Ù˜dŸi™i¨¯©°T·Y±Y°LÀ$Ç)Á)ÔLä�t˜_¨t¯y©y¯©Ó/@Õ@À$ÓGˆ÷ Ù˜Ñ' Ñ'ŠDä—=‘= ×!1Ñ!1Ó!3×!=Ñ!=¸tÓDˆDßØ—>—>�>Ø˜JÕ&�Døà—y‘y�ð —}‘}×CÑCÀD×IÒIÜ! $¬×(<Ñ(<×=Ò=ð —M‘M×'Ñ'¨Ô-ð ð	 ð ˜jÕ(�Ø—8‘8ð  $×0Ò0óñ  1˜ð	  Ÿ=™=×GÑGÈ×LÒLÜ% d¬H×,@Ñ,@×AÒAð Ÿ™×+Ñ+¨CÔ0ð !ò!ñ
  1ñð �&õ	óð ˜×.Ò.¨tÑ>°vÑ>Ð?õ@ˆDð × × Ð ØÐ&Õ&ˆDØˆùòs   Å%HÅ<AHc                	ó8   € V P                  VP                  4      # r  )Úvisit_sequenceÚsequence)r  Ú
next_valuerä  s   &&,r  Úvisit_next_value_funcÚ!SQLCompiler.visit_next_value_funcÌ  s   € Ø×"Ñ" :×#6Ñ#6Ó7Ð7r  c                	óN   € \        R V P                  P                  ,          4      h)z2Dialect '%s' does not support sequence increments.©rì  r»  rþ   ©r  rÞ  rä  s   &&,r  rÝ  ÚSQLCompiler.visit_sequenceÏ  s$   € Ü!Ø@Ø�l‰l×Ñõ ó
ð 	
r  c               ó$   € V ^8„  d   QhRRRRRR/# )r  r¾  rÑ  rñ  r   r  rü   r  )rÍ   s   "r  r  r”  Õ  s&   € ÷ Cñ C ]ð C¸cð CÀcñ Cr  c                	ó<   € VP                   P                  ! V 3/ VB # r  )Úclause_exprrô  )r  r¾  rñ  s   &&,r  rÙ  ÚSQLCompiler.function_argspecÕ  s   € Ø×Ñ×2Ò2°4ÑB¸6ÑBÐBr  c                	óz  a aa€ S P                   '       * pVP                  ! VS 3/ SB pV'       d   S P                  '       g   VS n        VP                  pV'       d   S P                  MS P                   R,          pT;'       g"    V'       * ;'       d    VP                  RR4      p	V^ 8X  d   WR&   S P                   P                  RVR,          RVR,          RVRVRV	/4       VP                  '       d   S P                  VS4       S P                  VP                  ,          p
RV
,           R,           P                  VVV 3R	 l\        VP                  4       4       4      pRSR
&   VS P                  ! V3/ \        RRS/SB B ,          pVS P                   ! V3/ SB ,          pVP"                  '       d   VS P$                  ! V3/ SB ,          pS P&                  '       d:   V'       g   \)        S P                   4      MRpS P+                  VRR7      V,           pS P                   P-                  R4       V# )rá  r,  Fr-  r%  r$  r"   r)  rX  c              3  óV   <"  € T F  w  rVP                   ! S3R SRV/SB x € K   	  R# 5i)rÆ  rL  Nró  )r?  rK  r»  rÆ  rñ  r  s   &  €€€r  rA  Ú4SQLCompiler.visit_compound_select.<locals>.<genexpr>þ  sD   øé € ð ñ 2‘D�Að ×$Ò$ØñØ!'ðØ89ðØ=Cöó 2ùs   ƒ&)r  rÆ  NT©rD  Úinclude_following_stackrÂ  r  )r—  Ú_compile_state_factoryr)  r3  rE  rì  râ  rF  rG  Úcompound_keywordsÚkeywordrž   rJ  ÚselectsÚgroup_by_clauser$  Úorder_by_clauseÚ_has_row_limiting_clauseÚ_row_limit_clauser�  rë  rJ  r�  )r  ÚcsrÆ  rL  rñ  rM  r)  Úcompound_stmtr×  Úneed_result_maprñ  r.  rD  s   f&f&l        r  Úvisit_compound_selectÚ!SQLCompiler.visit_compound_selectØ  s  ú€ ð —z‘z”>ˆà×1Ò1°"°dÑE¸fÑEˆç˜D×.×.Ð.Ø!.ˆDÔà%×/Ñ/ˆç-5�×)Ò)¸4¿:¹:Àb½>ˆØ"÷ 
ð 
ØÔ÷ Að AØ—	‘	Ð8¸%Ó@ð 	ð ˜QÔØ "�*Ñà�
‰
×Ñà! 5Ð):Õ#;Ø  nÕ 5Ø˜bØ Ø.°ðô	
ð ×*×*Ð*Ø×+Ñ+¨M¸6ÔBà×(Ñ(¨¯©Õ4ˆà�g• Õ#×)Ñ)öô & b§j¡jÔ1ó	ó
ˆð #(ˆˆÑØ�×$Ò$ RÑI¬4Ñ+H°vÐ+HÀÑ+HÑIÕIˆØ�×$Ò$ RÑ2¨6Ñ2Õ2ˆØ×&×&Ð&Ø�D×*Ò*¨2Ñ8°Ñ8Õ8ˆDà�9�9ˆ9ß3;œC §
¡
œOÀˆMà×'Ñ'Ø"/Ø,0ð (ó ð õ	ð ð 	�
‰
�‰�rÔØˆr  c                	ój   € VP                   e   V P                  ! V3/ VB # V P                  ! V3/ VB # r  )Ú_fetch_clauseÚfetch_clauseÚlimit_clause)r  r÷  rñ  s   &&,r  rö  ÚSQLCompiler._row_limit_clause  s:   € Ø×ÑÒ'Ø×$Ò$ RÑ2¨6Ñ2Ð2à×$Ò$ RÑ2¨6Ñ2Ð2r  c                	ój   € R VP                   : RV: V'       d
   RV,           MR: 2p\        WR4      # )Úvisit_rU  rª  N)r  rÓ  )r  r�  Ú
qualifier1Ú
qualifier2Úattrnames   &&&& r  rŒ  Ú"SQLCompiler._get_operator_dispatch  s3   � à×ÔÚß *ˆC�*Ö°Ñ2ð
ˆô
 �t tÓ,Ð,r  c                	ót  € Ve   W13,          pW$R&   W4R&   VP                   '       dŠ   VP                  '       d   \        P                  ! R4      hV P	                  VP                   RR4      pV'       d   V! WP                   3/ VB # V P
                  ! V\        VP                   ,          3/ VB # VP                  '       db   V P	                  VP                  RR4      pV'       d   V! WP                  3/ VB # V P                  ! V\        VP                  ,          3/ VB # \        P                  ! R4      h)Nrí  rî  zFUnary expression does not support operator and modifier simultaneouslyÚunaryr�  Úmodifierz,Unary expression has no operator or modifier)r�  r	  r/   r%  rŒ  Ú _generate_generic_unary_operatorrê  Ú _generate_generic_unary_modifier)r  r  rí  rî  rä  rŽ  s   &&&&, r  Úvisit_unaryÚSQLCompiler.visit_unary'  s0  € ð Ò(Ø (Õ*ÐØ&7Ð"Ñ#Ø'9Ð#Ñ$à�>�>ˆ>Ø�~�~ˆ~Ü×&Ò&ð2óð ð ×.Ñ.Ø—‘ ¨óˆD÷ Ù˜E§>¡>Ñ8°RÑ8Ð8à×<Ò<Øœ9 U§^¡^Õ4ñØ8:ñð ð �^�^ˆ^Ø×.Ñ.Ø—‘ ¨óˆD÷ Ù˜E§>¡>Ñ8°RÑ8Ð8à×<Ò<Øœ9 U§^¡^Õ4ñØ8:ñð ô ×"Ò"Ø>óð r  c                	ó2  € V P                   P                  '       d·   V P                  ! VP                  3/ VB R ,           V P                  ! \        P
                  ! VP                  VP                  P                  P                  \        P                  J d   VP                  P                  M\        P                  ! 4       4      3/ VB ,           # V P                  ! VP                  3/ VB R ,           V P                  ! VP                  3/ VB ,           # )ú / )r»  Údiv_is_floordivrÇ  r    r   ÚCastr¶   r  Ú_type_affinityr#   ÚNumeric©r  rw   r�  rä  s   &&&,r  Úvisit_truediv_binaryÚ SQLCompiler.visit_truediv_binaryM  sâ   € Ø�<‰<×'×'Ð'à—’˜VŸ[™[Ñ/¨BÑ/Øõð —,’,Ü—M’MØŸ™ð  &Ÿ|™|×0Ñ0×?Ñ?Ü'×/Ñ/ó 0ð #ŸL™L×-Ò-ô "*×!1Ò!1Ó!3óñð ñõ	ðð( —’˜VŸ[™[Ñ/¨BÑ/Øõà—,’,˜vŸ|™|Ñ2¨rÑ2õ3ðr  c                	ó(  € V P                   P                  '       d«   VP                  P                  P                  \
        P                  J dy   VP                  P                  P                  \
        P                  J dG   V P                  ! VP                  3/ VB R ,           V P                  ! VP                  3/ VB ,           # RV P                  ! VP                  3/ VB R ,           V P                  ! VP                  3/ VB ,           ,          # )r  z	FLOOR(%s))	r»  r  r¶   r  r  r#   ÚIntegerr    rÇ  r  s   &&&,r  Úvisit_floordiv_binaryÚ!SQLCompiler.visit_floordiv_binaryh  sÒ   € à�L‰L×(×(Ð(Ø—‘×!Ñ!×0Ñ0´H×4DÑ4DÓDØ—‘× Ñ ×/Ñ/´8×3CÑ3CÓCð —’˜VŸ[™[Ñ/¨BÑ/Øõà—,’,˜vŸ|™|Ñ2¨rÑ2õ3ðð Ø—’˜VŸ[™[Ñ/¨BÑ/Øõà—,’,˜vŸ|™|Ñ2¨rÑ2õ3õð r  c                	óà   € VP                   '       g   V P                  P                  '       d   V P                  ! VP                  3/ VB # R V P                  ! VP                  3/ VB ,          # )z%s = 1©Ú_is_implicitly_booleanr»  r^  rÇ  râ  ©r  râ  r�  rä  s   &&&,r  Úvisit_is_true_unary_operatorÚ(SQLCompiler.visit_is_true_unary_operatorz  sS   € à×*×*Ð*Ø�|‰|×3×3Ð3à—<’< §¡Ñ6°2Ñ6Ð6à˜dŸlšl¨7¯?©?ÑA¸bÑAÕAÐAr  c                	óî   € VP                   '       g   V P                  P                  '       d%   R V P                  ! VP                  3/ VB ,          # RV P                  ! VP                  3/ VB ,          # )úNOT %sz%s = 0r  r  s   &&&,r  Úvisit_is_false_unary_operatorÚ)SQLCompiler.visit_is_false_unary_operatorƒ  sX   € à×*×*Ð*Ø�|‰|×3×3Ð3à˜dŸlšl¨7¯?©?ÑA¸bÑAÕAÐAà˜dŸlšl¨7¯?©?ÑA¸bÑAÕAÐAr  c                	óR   € R V P                  V\        P                  R7      ,          # )r"  )Úoverride_operator)Úvisit_binaryr   Úmatch_opr  s   &&&,r  Úvisit_not_match_op_binaryÚ%SQLCompiler.visit_not_match_op_binaryŒ  s,   € Ø˜$×+Ñ+Ø¤i×&8Ñ&8ð ,ó 
õ 
ð 	
r  c                	óN   € R V P                   ! V\        V,          3/ VB ,          # r€  )Ú_generate_generic_binaryrê  r  s   &&&,r  Úvisit_not_in_op_binaryÚ"SQLCompiler.visit_not_in_op_binary‘  s0   € ð ˜×5Ò5Ø”I˜hÕ'ñ
Ø+-ñ
õ 
ð 	
r  c                	ó8  € V\         P                  J d2   \        V4      ^8”  d    RRP                  R V 4       4      ,          # R# V\         P                  J d2   \        V4      ^8”  d    RRP                  R V 4       4      ,          # R# V P                  V4      # )rá  z(%s)) OR (1 = 1rÔ   c              3  ó&   "  € T F  pR x € K	  	  R# 5i©rU  Nr  ©r?  râ  s   & r  rA  Ú6SQLCompiler.visit_empty_set_op_expr.<locals>.<genexpr>�  ó   é € Ð:±E¨�f³Eùó   ‚zNULL) OR (1 = 1z(%s)) AND (1 != 1c              3  ó&   "  € T F  pR x € K	  	  R# 5ir1  r  r2  s   & r  rA  r3  ¤  r4  r5  zNULL) AND (1 != 1)r   Ú	not_in_oprë  rž   Úin_opÚvisit_empty_set_expr)r  r  Ú	expand_oprä  s   &&&,r  Úvisit_empty_set_op_exprÚ#SQLCompiler.visit_empty_set_op_expr™  s‹   € Øœ	×+Ñ+Ó+Ü�5‹z˜AŒ~Ø(Ø—I‘IÑ:±EÓ:Ó:õð ñ )Øœ)Ÿ/™/Ó)Ü�5‹z˜AŒ~Ø*Ø—I‘IÑ:±EÓ:Ó:õð ñ +à×,Ñ,¨UÓ3Ð3r  c                	óN   € \        R V P                  P                  ,          4      h)z3Dialect '%s' does not support empty set expression.rã  ©r  Úelement_typesrä  s   &&,r  r9  Ú SQLCompiler.visit_empty_set_expr«  s$   € Ü!ØAØ�l‰l×Ñõ ó
ð 	
r  c                	óÄ  a aa	a
€ SP                   P                  S P                  4      pV'       g˜   VP                  '       dZ   S P                  P                  '       d   R MRS P                  SP                   P                  SP                  4      ,           pR	V3# S P                  SP                   .SP                  4      p R	V3# VP                  '       g]   VP                  '       d¶   \        V^ ,          \        P                  4      '       d�   \        V^ ,          \        \        34      '       gl   VP                  '       d   \        R4      hS P                  P                  '       d   R MRRP!                  VV 3R l\#        V4       4       4      ,           pR	V3# V'       d™   S P$                  pVP'                  V4      pV'       d   VP)                  ^4      '       g   Q R4       hVP)                  ^4      P+                  R4      pV^,          V^,          uo	o
RP!                  V	V
VV 3R lV 4       4      pR	V3# RP!                  VV 3R lV 4       4      pR	V3# )
úVALUES rª  z?bind_expression() on TupleType not supported with literal_bindsrÔ   c           	   3  ó¨   <"  € T FG  w  rR RP                  V3R l\        VSP                  P                  4       4       4      ,          x € KI  	  R# 5i)r�  rÔ   c              3  óJ   <"  € T F  w  rSP                  W4      x € K  	  R # 5ir  rG  )r?  r  Ú
param_typer  s   &  €r  rA  Ú[SQLCompiler._literal_execute_expanding_parameter_literal_binds.<locals>.<genexpr>.<genexpr>×  s-   øé € ð ñ2Ñ-˜Eð ×1Ñ1°%×DÐDó2ùrC  N)rž   r&  r  r  )r?  rK  rL  rs  r  s   &  €€r  rA  ÚQSQLCompiler._literal_execute_expanding_parameter_literal_binds.<locals>.<genexpr>Ô  sV   øé € ð ñ ):Ñ$�Að à—I‘Iô ä14Ø)¨9¯>©>×+?Ñ+?ô2óó ÷ò ó ):ùs   ƒAAú)unexpected format for expanding parameterrW  c              3  ón   <"  € T F*  pS: SP                  VSP                  4      : S: 2x € K,  	  R # 5ir  ©rH  r  )r?  r  rZ  r[  rs  r  s   & €€€€r  rA  rG  ê  s8   øé € ð 3ñ "(˜ò	  Ø×1Ñ1°%¸¿¹ÕHÚ õ	ó "(ùó   ƒ25c              3  ó\   <"  € T F!  pSP                  VSP                  4      x € K#  	  R # 5ir  rJ  )r?  r  rs  r  s   & €€r  rA  rG  ô  s,   øé € ð 3á!'˜ð ×-Ñ-¨e°Y·^±^×DÐDÛ!'ùrˆ  r  )r  r5  r»  r  Útuple_in_valuesr;  r  r:  Ú_isnullrÅ  Úcollections_abcr   rü   ÚbytesÚ_has_bind_expressionrì  rž   rJ  ri  Úsearchr”   r]  )r  rs  rû  Úbind_expression_templateÚtyp_dialect_implÚreplacement_expressionÚpost_compile_patternrÝ  r_  rZ  r[  s   ff&&     @@r  Ú2_literal_execute_expanding_parameter_literal_bindsÚ>SQLCompiler._literal_execute_expanding_parameter_literal_binds±  s4  û€ ð %Ÿ>™>×AÑAÀ$Ç,Á,ÓOÐçð
  ×.×.Ð.à!%§¡×!=×!=Ð!=‘IÀ2Ø×0Ñ0Ø—N‘N×(Ñ(¨)×*=Ñ*=óõ*Ð&ðz Ð)Ð)Ð)ðm *.×)EÑ)EØ—^‘^Ð$ i×&9Ñ&9ó*Ñ&ðl Ð)Ð)Ð)ðe ×,×,Ð,Ø×$×$Ð$Ü˜6 !�9¤o×&>Ñ&>×?Ò?Ü˜v a�y¬3´¨,×7Ò7à×4×4Ð4Ü)ð$óð ð "Ÿ\™\×9×9Ð9‘	¸rØ—	‘	õ ô )2°&Ô(9óó õ&Ð"ðN Ð)Ð)Ð)÷1 (Ø'+×'AÑ'AÐ$Ø(×/Ñ/Ð0HÓI�ß˜QŸW™WØ÷ò ð ?à>ó?ð ð —g‘g˜a“j×&Ñ& tÓ,�Ø$'¨¥F¨C°­FÐ!�˜Ø)-¯©÷ 3ñ "(ó3ó *Ð&ð Ð)Ð)Ð)ð *.¯©õ 3á!'ó3ó *Ð&ð
 Ð)Ð)Ð)r  c                	ó2  a aa
aaa€ SP                   '       d   S P                  SV4      # S P                  pSP                  P	                  V4      oS P
                  '       d   S P                  oMS P                  oS P                  P                  '       d   SP                  '       d   VVV V3R  lo
MV3R lo
V'       gu   . oSP                  '       d5   S P                  SP                  P                  SP                  4      pSV3# S P                  SP                  .SP                  4      p SV3# SP                  '       g]   SP                  '       dé   \        V^ ,          \         P"                  4      '       dÂ   \        V^ ,          \$        \&        34      '       gŸ   SP(                  '       d   Q h\+        V^4       UUUU	u. uF)  w  rg\+        V^4       F  w  r‰V: RV: RV: 2V	3NK  	  K+  	  up	pppoVP,                  '       d   RMRRP/                  V
V3R l\+        V4       4       4      ,           pSV3# \+        V^4       UU	u. uF  w  riV: RV: 2V	3NK  	  up	poRP/                  V
3R lS 4       4      pSV3# u up	pppi u up	pi )c                óP   <€ SP                  SP                  SSR V /,          4      # r  )Úrender_bind_castr  )rþ   Úbind_templaters  r  rT  s   &€€€€r  Ú_render_bindtemplateÚNSQLCompiler._literal_execute_expanding_parameter.<locals>._render_bindtemplate  s,   ø€ Ø×,Ñ,Ø—N‘NØ$Ø! V¨T NÕ2óð r  c                ó   <€ SR V /,          # r  r  )rþ   r\  s   &€r  r]  r^    s   ø€ Ø$¨° ~Õ5Ð5r  rU  rB  rª  rÔ   c              3  óŠ   <aa"  € T F6  w  ooR RP                  VVVV3R l\        S4       4       4      ,          x € K8  	  R# 5i)r�  rÔ   c              3  ó‚   <"  € T F4  w  rS! SS\        S4      ,          V,           ,          ^ ,          4      x € K6  	  R# 5i)r¦  N)rë  )r?  rM  r  r]  rK  rt  rL  s   &  €€€€r  rA  ÚMSQLCompiler._literal_execute_expanding_parameter.<locals>.<genexpr>.<genexpr>6  sF   øé € ð ñ )A™H˜Añ -Ø% a¬#¨mÓ*<Õ&<¸qÕ&@ÕAÀ!ÕD÷ð ó )Aùs   ƒ<?N)rž   rJ  )r?  rK  rL  r]  rt  s   &@@€€r  rA  ÚCSQLCompiler._literal_execute_expanding_parameter.<locals>.<genexpr>3  sK   úé € ð ñ ):Ñ$�A�}ð à—I‘I÷ ô )2°-Ô(@ó	ó ÷ò ó ):ùs   …>Ac              3  ó8   <"  € T F  w  rS! V4      x € K  	  R # 5ir  r  )r?  r@  r  r]  s   &  €r  rA  rc  D  s   øé € ð /Ù<E©j¨cÑ$ S×)Ð)»Iùr“  )rg  rW  r»  r  r5  rq  rk  rj  Ú_bind_typing_render_castsr[  r  r;  r  r:  rN  rÅ  rO  r   rü   rP  Ú	_is_arrayrJ  rM  rž   )r  rþ   rs  rû  r»  rU  rK  rL  rM  r  r]  r\  rt  rT  s   f&f&      @@@@r  rf  Ú0SQLCompiler._literal_execute_expanding_parameterû  sj  ý€ Ø×$×$Ð$Ø×JÑJØ˜6óð ð —,‘,ˆØ$Ÿ>™>×AÑAÀ'ÓJÐà××ÐØ ×9Ñ9‰Mà ×-Ñ-ˆMð �L‰L×2×2Ð2Ø ×1×1Ð1÷ñ õ6÷ ØˆIØ×.×.Ð.Ø)-×)EÑ)EØ—N‘N×(Ñ(¨)×*=Ñ*=ó*Ð&ðV Ð0Ð0Ð0ðO *.×)EÑ)EØ—^‘^Ð$ i×&9Ñ&9ó*Ñ&ðN Ð0Ð0Ð0ðG ×,×,Ð,Ø×$×$Ð$Ü˜6 !�9¤o×&>Ñ&>×?Ò?Ü˜v a�y¬3´¨,×7Ò7à'×1×1Ð1Ð1Ð1ô )2°&¸!Ô(<öá(<Ñ$�AÜ )¨-¸Ö ;‘H�Aó  $£QªÐ*¨EÓ2á ;ñ 3Ù(<ôˆIð %×4×4Ð4‘	¸"Ø—	‘	õ ô )2°&Ô(9óó õ&Ð"ð. Ð0Ð0Ð0ô !*¨&°!Ô 4ôá 4‘H�Aó !¢!Ð$ eÓ,Ù 4òˆIð &*§Y¡Yô /Ù<Eó/ó &Ð"ð Ð0Ð0Ð0ùõ;ùó*s   Ç
/J
ÉJc           	     	ó.  € V'       Ed   \         P                  ! VP                  4      '       dó   Ve…   VR,          pVP                  P	                  \
        P                  ! \        VP                  P                  V.,           4      \        VP                  P                  V.,           4      4      4       MjVP                  P	                  \
        P                  ! \        VP                  P                  4      \        VP                  P                  4      4      4       V P                  '       dZ   \        VP                  \        P                  4      '       d0   \        VP                  \        P                  4      '       d   RVR&   T;'       g    VP                  pV P                  VRR 4      p	V	'       d
   V	! W3/ VB #  \         V,          p
V P"                  ! VV
3RVRV/VB #   \$         d   p\&        P(                  ! Y4      ThR p?ii ; i)NÚenclosing_lateralTrg  rw   Úfrom_linterÚlateral_from_linter)r   Úis_comparisonr�  r‹  r¨  rù  Úproductr'   r    r(   r¶   ri  rÅ  r   rB   rŒ  rê  r,  rÓ  r/   rà  )r  rw   r&  Úeager_groupingrj  rk  rä  ri  r�  rŽ  r�  rã  s   &&&&&&,     r  r'  ÚSQLCompiler.visit_binaryJ  sÅ  € ÷ ˆ;œ9×2Ò2°6·?±?×CÒCØ"Ò.Ø$&Ð':Õ$;Ð!Ø#×)Ñ)×0Ñ0Ü×%Ò%Ü!Ø"ŸK™K×5Ñ5Ð9JÐ8KÕKóô "Ø"ŸL™L×6Ñ6Ð:KÐ9LÕLóó	õ	ð ×!Ñ!×(Ñ(Ü×%Ò%Ü! &§+¡+×";Ñ";Ó<Ü! &§,¡,×"<Ñ"<Ó=óôð × × Ð Ü˜6Ÿ;™;¬×(>Ñ(>×?Ò?Ü˜6Ÿ<™<¬×)?Ñ)?×@Ò@à$(ˆBÐ Ñ!à%×8Ð8¨¯©ˆ	Ø×*Ñ*¨9°hÀÓEˆßÙ˜Ñ0¨RÑ0Ð0ðÜ$ YÕ/�ð ×4Ò4ØØñð !,ðð )<ð	ð
 ñð øô ô PÜ×5Ò5°dÓFÈCÐOûðPús   ÇG- Ç-HÇ8HÈHc                	ó<   € V P                   ! VP                  3/ VB # r  )rÇ  Úsql_functionr  s   &&&,r  Ú&visit_function_as_comparison_op_binaryÚ2SQLCompiler.visit_function_as_comparison_op_binary‚  s   € Ø�|Š|˜G×0Ñ0Ñ7°BÑ7Ð7r  c                	óR  € V P                   P                  '       dG   V P                  ! VP                  3/ VB R ,           V P                  ! VP                  3/ VB ,           # V P                  ! VP                  3/ VB R,           V P                  ! VP                  3/ VB ,           # )z %% rÒ   )r³  r+  rÇ  r    r¶   r  s   &&&,r  Úvisit_mod_binaryÚSQLCompiler.visit_mod_binary…  sŒ   € Ø�=‰=×)×)Ð)à—’˜VŸ[™[Ñ/¨BÑ/Øõà—,’,˜vŸ|™|Ñ2¨rÑ2õ3ðð —’˜VŸ[™[Ñ/¨BÑ/Øõà—,’,˜vŸ|™|Ñ2¨rÑ2õ3ðr  c                	ó–   € VP                   VR &   V P                  ! VRV P                  VP                  4      ,           R,           3/ VB # )rn  rX  )rn  r,  r  r�  r  s   &&&,r  Úvisit_custom_op_binaryÚ"SQLCompiler.visit_custom_op_binary“  sQ   € Ø'×6Ñ6ˆÐÑØ×,Ò,ØØ�$×,Ñ,¨X×->Ñ->Ó?Õ?À#ÕEñ
ð ñ
ð 	
r  c                	óh   € V P                   ! WP                  VP                  4      R ,           3/ VB # ©rX  )r
  r  r�  r  s   &&&,r  Úvisit_custom_op_unary_operatorÚ*SQLCompiler.visit_custom_op_unary_operator›  s6   € Ø×4Ò4Ø×/Ñ/°×0AÑ0AÓBÀSÕHñ
ØLNñ
ð 	
r  c                	ój   € V P                   ! VR V P                  VP                  4      ,           3/ VB # r{  )r  r  r�  r  s   &&&,r  Úvisit_custom_op_unary_modifierÚ*SQLCompiler.visit_custom_op_unary_modifier   s8   € Ø×4Ò4Ø�S˜4×5Ñ5°h×6GÑ6GÓHÕHñ
ØLNñ
ð 	
r  c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R/# )
r  rw   úBinaryExpression[Any]r�  rü   rn  r*  rä  r   r  r  )rÍ   s   "r  r  r”  ¥  s<   € ÷ ñ à%ðð ðð ð	ð
 ðð 
ñr  c                	ó  € VP                  R R4      pRVR &   VP                  VR&   VP                  P                  ! V 3RV/VB V,           VP                  P                  ! V 3RV/VB ,           pV'       d   V'       d
   RV,          pV# )r‹  FTÚ
_binary_oprn  r�  )rì  r�  r    rô  r¶   )r  rw   r�  rn  rä  r‹  r.  s   &&&&,  r  r,  Ú$SQLCompiler._generate_generic_binary¥  s¤   € ð #%§&¡&Ð)BÀEÓ"JÐà(,ˆÐ$Ñ%Ø!Ÿ?™?ˆˆ<Ñà�K‰K×*Ò*ØñØ%3ðØ79ñð õð �l‰l×-Ò-ØñØ%3ðØ79ñõ	ð 	÷ #§~Ø˜D•=ˆDØˆr  c                	óH   € W!P                   P                  ! V 3/ VB ,           # r  rÄ  ©r  r  r�  rä  s   &&&,r  r
  Ú,SQLCompiler._generate_generic_unary_operator¾  s   € ØŸ-™-×:Ò:¸4ÑFÀ2ÑFÕFÐFr  c                	óJ   € VP                   P                  ! V 3/ VB V,           # r  rÄ  r‡  s   &&&,r  r  Ú,SQLCompiler._generate_generic_unary_modifierÁ  s!   € Ø�}‰}×/Ò/°Ñ;¸Ñ;¸hÕFÐFr  c                	óN   € \         P                  ! R \        P                  R7      # )z'%')r  )r   Úliteral_columnr#   Ú
STRINGTYPErF  s   &r  Ú_like_percent_literalÚ!SQLCompiler._like_percent_literalÄ  s   € ä×&Ò& u´H×4GÑ4GÔHÐHr  c                	óD   € R VP                   P                  ! V 3/ VB  R2# )zlower(rP  rÄ  r  s   &&,r  Ú$visit_ilike_case_insensitive_operandÚ0SQLCompiler.visit_ilike_case_insensitive_operandÈ  s&   € Ø˜Ÿ™×:Ò:¸4ÑFÀ2ÑFÐGÀqÐIÐIr  c                	ó¾   € VP                  4       pV P                  pVP                  VP                  4      P                  V4      Vn        V P                  ! W3/ VB # r  ©Ú_clonerŽ  Úconcatr¶   Úvisit_like_op_binary©r  rw   r�  rä  Úpercents   &&&, r  Úvisit_contains_op_binaryÚ$SQLCompiler.visit_contains_op_binaryË  sM   € Ø—‘“ˆØ×,Ñ,ˆØ—~‘~ f§l¡lÓ3×:Ñ:¸7ÓCˆŒØ×(Ò(¨Ñ@¸RÑ@Ð@r  c                	ó¾   € VP                  4       pV P                  pVP                  VP                  4      P                  V4      Vn        V P                  ! W3/ VB # r  ©r•  rŽ  r–  r¶   Úvisit_not_like_op_binaryr˜  s   &&&, r  Úvisit_not_contains_op_binaryÚ(SQLCompiler.visit_not_contains_op_binaryÑ  sM   € Ø—‘“ˆØ×,Ñ,ˆØ—~‘~ f§l¡lÓ3×:Ñ:¸7ÓCˆŒØ×,Ò,¨VÑDÀÑDÐDr  c                	ó  € VP                  4       pV P                  p\        VP                  4      Vn        VP	                  \        VP
                  4      4      P	                  V4      Vn        V P                  ! W3/ VB # r  ©r•  rŽ  r<  r    r–  r¶   Úvisit_ilike_op_binaryr˜  s   &&&, r  Úvisit_icontains_op_binaryÚ%SQLCompiler.visit_icontains_op_binary×  sh   € Ø—‘“ˆØ×,Ñ,ˆÜ,¨V¯[©[Ó9ˆŒØ—~‘~Ü" 6§<¡<Ó0ó
ç
‰&�‹/ð 	Œð ×)Ò)¨&ÑA¸bÑAÐAr  c                	ó  € VP                  4       pV P                  p\        VP                  4      Vn        VP	                  \        VP
                  4      4      P	                  V4      Vn        V P                  ! W3/ VB # r  ©r•  rŽ  r<  r    r–  r¶   Úvisit_not_ilike_op_binaryr˜  s   &&&, r  Úvisit_not_icontains_op_binaryÚ)SQLCompiler.visit_not_icontains_op_binaryà  sh   € Ø—‘“ˆØ×,Ñ,ˆÜ,¨V¯[©[Ó9ˆŒØ—~‘~Ü" 6§<¡<Ó0ó
ç
‰&�‹/ð 	Œð ×-Ò-¨fÑEÀ"ÑEÐEr  c                	ó    € VP                  4       pV P                  pVP                  VP                  4      Vn        V P                  ! W3/ VB # r  )r•  rŽ  Ú_rconcatr¶   r—  r˜  s   &&&, r  Úvisit_startswith_op_binaryÚ&SQLCompiler.visit_startswith_op_binaryé  sD   € Ø—‘“ˆØ×,Ñ,ˆØ×'Ñ'¨¯©Ó5ˆŒØ×(Ò(¨Ñ@¸RÑ@Ð@r  c                	ó    € VP                  4       pV P                  pVP                  VP                  4      Vn        V P                  ! W3/ VB # r  )r•  rŽ  r¬  r¶   rž  r˜  s   &&&, r  Úvisit_not_startswith_op_binaryÚ*SQLCompiler.visit_not_startswith_op_binaryï  sD   € Ø—‘“ˆØ×,Ñ,ˆØ×'Ñ'¨¯©Ó5ˆŒØ×,Ò,¨VÑDÀÑDÐDr  c                	óæ   € VP                  4       pV P                  p\        VP                  4      Vn        VP	                  \        VP
                  4      4      Vn        V P                  ! W3/ VB # r  )r•  rŽ  r<  r    r¬  r¶   r£  r˜  s   &&&, r  Úvisit_istartswith_op_binaryÚ'SQLCompiler.visit_istartswith_op_binaryõ  sZ   € Ø—‘“ˆØ×,Ñ,ˆÜ,¨V¯[©[Ó9ˆŒØ×'Ñ'Ô(>¸v¿|¹|Ó(LÓMˆŒØ×)Ò)¨&ÑA¸bÑAÐAr  c                	óæ   € VP                  4       pV P                  p\        VP                  4      Vn        VP	                  \        VP
                  4      4      Vn        V P                  ! W3/ VB # r  )r•  rŽ  r<  r    r¬  r¶   r¨  r˜  s   &&&, r  Úvisit_not_istartswith_op_binaryÚ+SQLCompiler.visit_not_istartswith_op_binaryü  sZ   € Ø—‘“ˆØ×,Ñ,ˆÜ,¨V¯[©[Ó9ˆŒØ×'Ñ'Ô(>¸v¿|¹|Ó(LÓMˆŒØ×-Ò-¨fÑEÀ"ÑEÐEr  c                	ó    € VP                  4       pV P                  pVP                  VP                  4      Vn        V P                  ! W3/ VB # r  r”  r˜  s   &&&, r  Úvisit_endswith_op_binaryÚ$SQLCompiler.visit_endswith_op_binary  sB   € Ø—‘“ˆØ×,Ñ,ˆØ—~‘~ f§l¡lÓ3ˆŒØ×(Ò(¨Ñ@¸RÑ@Ð@r  c                	ó    € VP                  4       pV P                  pVP                  VP                  4      Vn        V P                  ! W3/ VB # r  r�  r˜  s   &&&, r  Úvisit_not_endswith_op_binaryÚ(SQLCompiler.visit_not_endswith_op_binary	  sB   € Ø—‘“ˆØ×,Ñ,ˆØ—~‘~ f§l¡lÓ3ˆŒØ×,Ò,¨VÑDÀÑDÐDr  c                	óæ   € VP                  4       pV P                  p\        VP                  4      Vn        VP	                  \        VP
                  4      4      Vn        V P                  ! W3/ VB # r  r¢  r˜  s   &&&, r  Úvisit_iendswith_op_binaryÚ%SQLCompiler.visit_iendswith_op_binary  sX   € Ø—‘“ˆØ×,Ñ,ˆÜ,¨V¯[©[Ó9ˆŒØ—~‘~Ô&<¸V¿\¹\Ó&JÓKˆŒØ×)Ò)¨&ÑA¸bÑAÐAr  c                	óæ   € VP                  4       pV P                  p\        VP                  4      Vn        VP	                  \        VP
                  4      4      Vn        V P                  ! W3/ VB # r  r§  r˜  s   &&&, r  Úvisit_not_iendswith_op_binaryÚ)SQLCompiler.visit_not_iendswith_op_binary  sX   € Ø—‘“ˆØ×,Ñ,ˆÜ,¨V¯[©[Ó9ˆŒØ—~‘~Ô&<¸V¿\¹\Ó&JÓKˆŒØ×-Ò-¨fÑEÀ"ÑEÐEr  c                	ó(  € VP                   P                  R R4      pVP                  P                  ! V 3/ VB : RVP                  P                  ! V 3/ VB : 2Ve.   RV P                  V\        P                  4      ,           ,           # R,           # )r‹  Nz LIKE ú ESCAPE rª  ©Ú	modifiersrì  r    rô  r¶   rH  r#   r�  ©r  rw   r�  rä  r‹  s   &&&, r  r—  Ú SQLCompiler.visit_like_op_binary  s�   € Ø×!Ñ!×%Ñ% h°Ó5ˆð �K‰K×*Ò*¨4Ñ6°2Ô6Ø�L‰L×+Ò+¨DÑ7°BÓ7ð
ð
 Ò!ð ˜×2Ñ2°6¼8×;NÑ;NÓOÕOõ	
ð 	
ð õ
ð 	
r  c                	ó(  € VP                   P                  R R4      pVP                  P                  ! V 3/ VB : RVP                  P                  ! V 3/ VB : 2Ve.   RV P                  V\        P                  4      ,           ,           # R,           # )r‹  Nz
 NOT LIKE rÅ  rª  rÆ  rÈ  s   &&&, r  rž  Ú$SQLCompiler.visit_not_like_op_binary)  s‹   € Ø×!Ñ!×%Ñ% h°Ó5ˆà�K‰K×*Ò*¨4Ñ6°2Ô6Ø�L‰L×+Ò+¨DÑ7°BÓ7ð
ð
 Ò!ð ˜×2Ñ2°6¼8×;NÑ;NÓOÕOõ	
ð 	
ð õ
ð 	
r  c                	óØ   € V\         P                  J dE   VP                  4       p\        VP                  4      Vn        \        VP
                  4      Vn        V P                  ! W3/ VB # r  )r   Úilike_opr•  r<  r    r¶   r—  r  s   &&&,r  r£  Ú!SQLCompiler.visit_ilike_op_binary4  sS   € Ø”y×)Ñ)Ó)Ø—]‘]“_ˆFÜ0°·±Ó=ˆFŒKÜ1°&·,±,Ó?ˆFŒLð ×(Ò(¨Ñ@¸RÑ@Ð@r  c                	óØ   € V\         P                  J dE   VP                  4       p\        VP                  4      Vn        \        VP
                  4      Vn        V P                  ! W3/ VB # r  )r   Únot_ilike_opr•  r<  r    r¶   rž  r  s   &&&,r  r¨  Ú%SQLCompiler.visit_not_ilike_op_binary=  sS   € Ø”y×-Ñ-Ó-Ø—]‘]“_ˆFÜ0°·±Ó=ˆFŒKÜ1°&·,±,Ó?ˆFŒLð ×,Ò,¨VÑDÀÑDÐDr  c                	ót   € VP                   P                  R R4      pV P                  ! Y'       d   RMR3/ VB # )r¼   Fz BETWEEN SYMMETRIC z	 BETWEEN ©rÇ  rì  r,  ©r  rw   r�  rä  r¼   s   &&&, r  Úvisit_between_op_binaryÚ#SQLCompiler.visit_between_op_binaryF  s?   € Ø×$Ñ$×(Ñ(¨°eÓ<ˆ	Ø×,Ò,Ø®YÑ)¸Kñ
ØKMñ
ð 	
r  c                	óv   € VP                   P                  R R4      pV P                  ! TV'       d   RMR3/ VB # )r¼   Fz NOT BETWEEN SYMMETRIC z NOT BETWEEN rÓ  rÔ  s   &&&, r  Úvisit_not_between_op_binaryÚ'SQLCompiler.visit_not_between_op_binaryL  sB   € Ø×$Ñ$×(Ñ(¨°eÓ<ˆ	Ø×,Ò,Øß)2Ñ%¸ñ
ð ñ
ð 	
r  c               ó(   € V ^8„  d   QhRRRRRRRR/# ©r  rw   r‚  r�  r   rä  r  rü   r  )rÍ   s   "r  r  r”  T  ó,   € ÷ 
ñ 
Ø+ð
Ø7:ð
ØBEð
à	ñ
r  c                	ód   € \         P                  ! R V P                  P                  ,          4      h©z/%s dialect does not support regular expressions©r/   r%  r»  rþ   r  s   &&&,r  Úvisit_regexp_match_op_binaryÚ(SQLCompiler.visit_regexp_match_op_binaryT  ó,   € ô ×ÒØ=Ø�l‰l×Ñõ ó
ð 	
r  c               ó(   € V ^8„  d   QhRRRRRRRR/# rÛ  r  )rÍ   s   "r  r  r”  \  rÜ  r  c                	ód   € \         P                  ! R V P                  P                  ,          4      hrÞ  rß  r  s   &&&,r  Ú visit_not_regexp_match_op_binaryÚ,SQLCompiler.visit_not_regexp_match_op_binary\  râ  r  c               ó(   € V ^8„  d   QhRRRRRRRR/# rÛ  r  )rÍ   s   "r  r  r”  d  rÜ  r  c                	ód   € \         P                  ! R V P                  P                  ,          4      h)z;%s dialect does not support regular expression replacementsrß  r  s   &&&,r  Úvisit_regexp_replace_op_binaryÚ*SQLCompiler.visit_regexp_replace_op_binaryd  s,   € ô ×ÒØIØ�l‰l×Ñõ ó
ð 	
r  c                	óÒ	  € V'       dL   VP                   f>   VP                  f0   V P                  e"   V P                  P                  RR7      V n        V'       Eg   VP                  P                  V P                  4      p	V	P                  '       dæ   V	P                  V4      p
V P                  ! V
3RRRTRT;'       d    VP                  '       * RVRV/VB pVP                  '       d‹   \        P                  ! RV4      pV'       g   Q R	4       hR
VP                  ^4      : RVP                  ^4      : RVP                  ^4      : R2pV'       d!   V P                  ! V3RRRV/VB pRV,          # V# V'       gL   T;'       g+    VP                  ;'       g    T;'       d    V P                   pT;'       g    VP                  pMRpV'       d3   V P                  ! V3RR/VB pVP                  '       d
   RV,          pV# V P#                  V4      pWðP$                  9   Edw   V P$                  V,          pVVJEd]   VP&                  '       g   VP&                  '       dt   VP(                  P+                  VP(                  4      '       gI   VP,                  P+                  VP,                  4      '       g   \.        P0                  ! RV,          4      hVP                  VP                  8w  d   \.        P0                  ! RV: R24      hVP2                  '       g   VP2                  '       dl   VP2                  '       d)   VP2                  '       d   \.        P0                  ! R4      h\.        P0                  ! RVP4                   RVP4                   R24      hV;V P$                  VP4                  &   V P$                  V&   V P6                  pV'       dW   Vw  ppVP,                   FA  pVP4                  V9   g   K  VVP4                  ,          pVV,          P9                  V4       KC  	  VP:                  '       d   RV n        V'       dM   V'       d   RV n        V'       d   V ;P@                  V0,          un         MV ;PB                  V0,          un!        V PD                  ! V3RVRVP                  RVP                  /VB pVP                  '       d
   RV,          pV# )NT)r\  Úskip_bind_expressionrÑ  Úliteral_bindsrg  Úrender_postcompilez&^(.*)\(__\[POSTCOMPILE_(\S+?)\]\)(.*)$rH  z(__[POSTCOMPILE_rW  z~~REPL~~z~~])rS  r�  FzIBind parameter '%s' conflicts with unique bind parameter of the same namez"Can't reuse bound parameter name 'zê' in both 'expanding' (e.g. within an IN expression) and non-expanding contexts.  If this parameter is to receive a list/array value, set 'expanding=True' on it for expressions that aren't IN, otherwise use a different parameter name.a)  Encountered unsupported case when compiling an INSERT or UPDATE statement.  If this is a multi-table UPDATE statement, please provide string-named arguments to the values() method with distinct names; support for multi-table UPDATE statements that target multiple tables for UPDATE is very limitedzbindparam() name 'zÌ' is reserved for automatic usage in the VALUES or SET clause of this insert/update statement.   Please use a name other than column name when using bindparam() with insert() or update() (for example, 'b_z').Úpost_compileÚ	expandingÚbindparam_type)#r  r(  rx  rí  r  Údialect_implr»  rQ  Úbind_expressionrÇ  rð  rŠ  r¡  r”   re  rg  ri  Ú_truncate_bindparamre  rÃ   r-  Úintersectionrº  r/   r%  Ú_is_crudr@  r}  râ  Ú
isoutparamÚhas_out_parametersrr  rz  r{  r7  )r  r  rÑ  rí  rì  rg  rî  Úis_upsert_setrñ  Úimplró  ÚwrappedrÝ  r¯  rï  rþ   Úexistingr,  r¯  r®  r½  r¿  s   &&&&&&&&,             r  Úvisit_bindparamÚSQLCompiler.visit_bindparaml  s¡  € ÷ Ø—‘Ò'Ø×"Ñ"Ò*Ø×&Ñ&Ò2à%)×%;Ñ%;×%DÑ%DØ,0ð &Eó &ˆDÔ"÷ $Ð#Ø—>‘>×.Ñ.¨t¯|©|Ó<ˆDØ×(×(Ð(Ø"&×"6Ñ"6°yÓ"A�ØŸ,š,Ø#ñà)-ðð +@ðð #0×"KÐ"K¸	×8KÑ8KÔ4Kð	ð
 %4ðð (:ðð ñ�ð ×&×&Ð&ô ŸšØAÀ7ó�A÷ ÐIÐIÓI™1àŸ™ ž
ØŸ™ ž
ØŸ™ ž
ð�G÷ %Ø"×;Ò;Ø%ñà26ðð 6=ðð %ñ	˜ð  &¨�|Ð+à�çà÷ Dð DØ×,Ñ,÷Dð Dà)×BÐB¨d×.BÑ.Bð ð
 +×AÐA¨i×.AÑ.A‰Là ˆLçØ×/Ò/ØñØ15ðØ9?ñˆCð ×"×"Ð"Ø˜s•l�ØˆJà×'Ñ'¨	Ó2ˆà—:‘:ÕØ—z‘z $Õ'ˆHØ˜yÔ(à—_—_�_¨	×(8×(8Ð(8Ø$×.Ñ.×;Ñ;Ø!×+Ñ+÷ò ð %×0Ñ0×=Ñ=Ø!×-Ñ-÷ò ô ×*Ò*ðAØCGõHóð ð ×'Ñ'¨9×+>Ñ+>Ô>Ü×*Ó*ó :>ð@óð ð ×&×&Ð&¨)×*<×*<Ð*<Ø×(×(Ð(¨Y×-?×-?Ð-?ô "×.Ò.ð&ó
ð 
ô "×.Ò.Ø0°·±°ð @"ð #,§-¡- °ð5ó	ð 	ð 8AÐ@ˆ�
‰
�9—=‘=Ñ! D§J¡J¨tÑ$4ð ×/Ñ/ˆ
çØ#‰JˆD�$Ø×+Ô+�Ø—6‘6˜T–>Ø˜bŸf™f��BØ˜•H—O‘O IÖ.ñ ,ð
 ××ÐØ&*ˆDÔ#çß!Ø+/�Ô(çØ×+Ò+°	¨{Õ:Ö+à×(Ò(¨Y¨KÕ7Õ(à×#Ò#Øñ
à%ð
ð  ×)Ñ)ð
ð %Ÿ>™>ð	
ð
 ñ
ˆð ××ÐØ˜3•,ˆCàˆ
r  c                	ó   € \        4       hr  rë  )r  r  Ú
dbapi_typer¼  s   &&&&r  r[  ÚSQLCompiler.render_bind_cast  s   € Ü!Ó#Ð#r  c                	ó   € V\         Jd   TpMªVP                  f‘   VP                  fƒ   VP                  RR 4      pV'       dH   V\        P
                  \        P                  39  d#   \        P                  ! RVP                  34       V P                  ! \        P                  3/ VB # VP                  pVP                  '       d   V P                  pV! VVVR7      w  r‰V	# V P!                  WQP"                  4      # )Nr„  z‰Bound parameter '%s' rendering literal NULL in a SQL expression; comparisons to NULL should not use operators outside of 'is' or 'is not')rS  )r+   r  r(  rì  r   Úis_Úis_notr$   Úwarn_limitedr@  rÇ  r#   r=  r)  rð  rW  rH  r  )
r  r  rH  rS  rä  r  ÚopÚleeprt  rv  s
   &&&&,     r  re  Ú$SQLCompiler.render_literal_bindparam  sà   € ð  ¤vÓ-Ø(‰Eà�‰Ò&¨9×+=Ñ+=Ò+EØ—V‘V˜L¨$Ó/�ß˜"¤Y§]¡]´I×4DÑ4DÐ$EÔEÜ×%Ò%ð@ð #Ÿ™Ð(ô	ð —|’|¤H×$5Ñ$5Ñ<¸Ñ<Ð<Ø×-Ñ-ˆEà××ÐØ×JÑJˆDÙ*.ØØØ)Aô+Ñ'ˆIð
 $Ð#à×,Ñ,¨U·N±NÓCÐCr  c               ó$   € V ^8„  d   QhRRRRRR/# )r  r  r   r  zsqltypes.TypeEngine[Any]r  rü   r  )rÍ   s   "r  r  r”  @  s$   € ÷ %ñ %Øð%Ø!9ð%à	ñ%r  c                óÊ  € Vf@   VP                   '       g.   V P                  \        P                  P	                  4       4      # VP                  V P                  4      pV'       d
    V! V4      # \        P                  ! R\        P                  ! V4       RV 24      h  \         d8   p\        P                  ! R\        P                  ! T4       RT R24      ThRp?ii ; i)zõRender the value of a bind parameter as a quoted literal.

This is used for statement sections that do not accept bind parameters
on the target driver/database.

This should be implemented by subclasses using the quoting services
of the DBAPI.

Nz Could not render literal value "z" with datatype z); see parent stack trace for more detail.z:No literal value renderer is available for literal value ")Úshould_evaluate_nonerÇ  r   rH   Ú	_instanceÚ_cached_literal_processorr»  r  r/   r%  Úsql_utilÚ_repr_single_value)r  r  r  Ú	processorÚes   &&&  r  rH  Ú SQLCompiler.render_literal_value@  sç   € ð Š= ×!;×!;Ð!;ð —<‘<¤§¡× 7Ñ 7Ó 9Ó:Ð:à×3Ñ3°D·L±LÓAˆ	ßð	Ù  Ó'Ð'ô ×"Ò"ðÜ×/Ò/°Ó6Ð7ð 8!Ø!& ð)óð øô ô Ü×&Ò&ðÜ ×3Ò3°EÓ:Ð;ð <%à�gð #ð#óð ðûðús   Á(B  Â C"Â+2CÃC"c                	óä   € WP                   9   d   V P                   V,          # VP                  p\        V\        P                  4      '       d   V P                  R V4      pW P                   V&   V# )r  )rf  r@  rÅ  r   r@   ré  )r  r  rÿ  s   && r  rô  ÚSQLCompiler._truncate_bindparamg  s]   € ØŸ™Ô'Ø—?‘? 9Õ-Ð-à—M‘Mˆ	Ü�i¤×!:Ñ!:×;Ò;Ø×2Ñ2°;À	ÓJˆIð &/�‰˜	Ñ"àÐr  c               ó$   € V ^8„  d   QhRRRRRR/# )r  Úident_classrü   rþ   r@   r  r  )rÍ   s   "r  r  r”  t  s$   € ÷ ñ ØðØ&6ðà	ñr  c                	óÎ  € W3V P                   9   d   V P                   W3,          # VP                  V P                  4      p\        V4      V P                  ^,
          8”  dr   V P
                  P                  V^4      pV^ \        V P                  ^,
          ^ 4       R,           \        V4      R,          ,           pV^,           V P
                  V&   MTpWPP                   W3&   V# )é   rU  :r  NN)	r¢  Ú	apply_mapr¡  rë  rŸ  r£  rì  ÚmaxÚhex)r  r  rþ   ÚanonnameÚcounterÚ	truncnames   &&&   r  ré  Ú!SQLCompiler._truncated_identifiert  sÖ   € ð Ð $×"6Ñ"6Ô6Ø×'Ñ'¨Ð(;Õ<Ð<à—>‘> $§-¡-Ó0ˆäˆx‹=˜4×,Ñ,¨qÕ0Ô0Ø×.Ñ.×2Ñ2°;ÀÓBˆGà˜œS ×!2Ñ!2°QÕ!6¸Ó:Ð;Øõä�g“,˜rÕ"õ#ð ð
 5<¸aµKˆD×$Ñ$ [Ò1à ˆIØ4=×Ñ˜kÐ0Ñ1ØÐr  c               ó    € V ^8„  d   QhRRRR/# )r  rþ   rü   r  r  )rÍ   s   "r  r  r”  ‰  s   € ÷ $ñ $˜sð $ sñ $r  c                	ó&   € WP                   ,          # r  ©r¡  ©r  rþ   s   &&r  Ú
_anonymizeÚSQLCompiler._anonymize‰  s   € Ø—m‘mÕ#Ð#r  c               ó<   € V ^8„  d   QhRRRRRRRRRR	R
RRRRRRR/	# )r  rþ   rü   rï  r*  rð  Úescaped_fromrt  rñ  zOptional[TypeEngine[Any]]Úaccumulate_bind_nameszOptional[Set[str]]Úvisited_bindparamrv  rä  r   r  r  )rÍ   s   "r  r  r”  Œ  so   € ÷ Añ AàðAð ðAð ð	Að
 $ðAð 2ðAð  2ðAð /ðAð ðAð 
ñAr  c                	óX  a € Ve   VP                  V4       Ve   VP                  V4       V'       gF   S P                  P                  V4      '       d%   S P                  P	                  V 3R lV4      p	TpT	pV'       d"   S P
                  P                  WA/4      S n        V'       dY   RV,          p
V'       d   V
# Ve@   VP                  S P                  4      pVP                  '       d   S P                  W[V
4      p
V
# S P                  \        P                  J d   S P                  RV/,          p
MS P                  RV/,          p
Ve\   S P                  P                   '       d@   VP                  S P                  4      pVP                  '       d   S P                  W[V
4      p
V
# )Nc                óH   <€ SP                   V P                  ^ 4      ,          # )r¦  )r[  r”   )rÝ  r  s   &€r  r÷  Ú.SQLCompiler.bindparam_string.<locals>.<lambda>¦  s   ø€ ˜d×8Ñ8¸¿¹À»ÖDr  z__[POSTCOMPILE_%s]rþ   )Úaddrâ  rZ  rR  ré  r|  rÂ   r5  r»  Úrender_literal_castr[  r¬  rv  rw  rk  rj  re  )r  rþ   rï  rð  r'  rñ  r(  r)  rä  Únew_namer¯  Ú	type_impls   f&&&&&&&,   r  r7  ÚSQLCompiler.bindparam_stringŒ  sy  ø€ ð !Ò,Ø!×%Ñ% dÔ+ØÒ(Ø×$Ñ$ TÔ*çØ×&Ñ&×-Ñ-¨d×3Ò3ð  ×2Ñ2×6Ñ6ÜDØó�ð  $�Ø�çØ&*×&=Ñ&=×&CÑ&CØÐ$ó'ˆDÔ#÷ Ø&¨Õ-ˆCßð �
ð Ò)Ø*×BÑBØ—L‘Ló�	ð ×0×0Ð0Ø×/Ñ/°È3ÓO�CØˆJØ�Z‰Zœ=×2Ñ2Ó2Ø×/Ñ/°6¸4°.Õ@‰Cà×#Ñ# v¨t nÕ4ˆCð Ò&Ø—‘×6×6Ð6à&×>Ñ>¸t¿|¹|ÓLˆIØ×)×)Ð)Ø×+Ñ+¨NÀsÓK�àˆ
r  c                	óÆ   € VP                  4       pVP                  R R4       \        VP                  VP                  4       F  w  rEVP
                  ! V 3R V/VB  K  	  R# )Úcte_optsN)Úcopyr�  r&  rF  Ú_independent_ctes_optsrô  )r  Ústmträ  Úlocal_kwÚcteÚopts   &&&   r  rG  Ú&SQLCompiler._dispatch_independent_ctesÏ  sW   € Ø—7‘7“9ˆØ�‰�Z Ô&ÜØ×"Ñ" D×$?Ñ$?ö
‰HˆCð ×"Ò" 4ÑB°#ÐB¸ÔBó
r  c               ó<   € V ^8„  d   QhRRRRRRRRRR	R
RRRRRRR/	# )r  r8  rW   rÆ  r*  ÚashintÚ	fromhintszOptional[_FromHintsType]Úvisiting_cteúOptional[CTE]rj  zOptional[FromLinter]r3  zselectable._CTEOptsrñ  r   r  rt  r  )rÍ   s   "r  r  r”  ×  so   € ÷ Vñ VàðVð ðVð ð	Vð
 ,ðVð $ðVð *ðVð &ðVð ðVð 
ñVr  c                	ó"  a € S P                  4       p	V	S P                  J g   Q hWR &   VP                  p
\        V
\        P
                  4      '       d   S P                  RV
4      p
RpRpVP                  4       pVP                  ;'       g    VP                  pVS P                  9   dÌ   S P                  V,          w  pppVV
8X  g   Q hWú3pS P                  V,          pVP                  '       dƒ   VP                  '       d   \        P                  ! R4      hWú3pV'       d   \        S P                  4      M^pWú3;ppS P                  V VS P                  V&   VV3,           S P                  V&   MIV'       d   \        S P                  4      M^pWú3pVS P                  9   d   S P                  V,          pMRpVeË   VVJ pVVP                  J g   VVJ d   RpM­VVP                  J d2   V	V VP                  4       pVVJ g   Q hVVJ g   Q hS P                  V Ml\!        V4      \!        V4      8X  g4   VP"                  f   VP"                  e   VP%                  V4      '       d   RpM\        P                  ! RV
,          4      hV'       g   V'       g   R# VP&                  eV   VP&                  pVP&                  P                  p\        V\        P
                  4      '       d   S P                  RV4      pMTpRpV'       Ed   VS P                  V&   VV3,           S P                  V&   VS P                  9  d   S P(                  ! V3/ VB  V'       Eg¹   W9  Ed²   VP*                  '       d   RS n        S P.                  P1                  W4      pVP*                  '       g   VP2                  P4                  '       dx   VP2                  pVP7                  R4       UUUUUu. uF  w  pppppV'       d   K  T;'       g    TNK!  	  ppppppVRRP9                  V 3R	 lV 4       4      ,          ,          pVP;                  R
R4      RJ g   Q hS P                  '       g    VP2                  P<                  ! S 3RV/VB # S P>                  ! WP@                  3/ VB p VP2                  P<                  ! S 3RR/VB p!VRV : RV!: R2,          pVPB                  '       d,   VRS P>                  ! WPB                  3/ VB ,           ,          pVW‘&   V'       då   V'       d   W¦PD                  VPG                  4       &   V'       g$   V'       d   S P.                  P1                  W4      # V'       ds   S P.                  P1                  VV4      pS P.                  PI                  V
4      '       d   S P.                  PK                  V
4      p
VS PM                  V
4      ,          pV# S P.                  P1                  W4      # R# u upppppi )r>  r  TFz6CTE is stated as 'nest_here' in more than one locationNz5Multiple, unrelated CTEs found with the same name: %rr�  rÔ   c              3  ór   <"  € T F,  pSP                   P                  VSP                  R 7      x € K.  	  R# 5i)r"  N)r³  Úformat_label_namer¡  )r?  Úidentr  s   & €r  rA  Ú(SQLCompiler.visit_cte.<locals>.<genexpr>{  s>   øé € ð "ñ *4 ð !ŸM™M×;Ñ;Ø %°·±ð <÷ ð ó *4ùs   ƒ47ÚsubqueryrÆ  rÖ   z
(rP  rX  )'rÒ  r�  rþ   rÅ  r   r@   ré  Ú_get_reference_cteÚnestingrƒ  r‚  r/   r%  rë  r—  Ú	_restatesÚhashÚ_is_clone_ofÚcompareÚ
_cte_aliasÚ	visit_cteÚ	recursiver„  r³  Úformat_aliasrâ  Úname_cte_columnsÚ_generate_columns_plus_namesrž   rì  rô  Ú_generate_prefixesÚ	_prefixesÚ	_suffixesrŠ  r'   Ú_requires_quotesr  Úget_render_as_alias_suffix)"r  r8  rÆ  r<  r=  r>  rj  r3  rñ  Ú	self_ctesÚcte_nameÚ
is_new_cteÚembedded_in_current_named_cteÚ_reference_cterG  Ú	cte_levelrU  Úexisting_cte_optsÚcte_level_nameÚexisting_cteÚold_level_nameÚnew_level_nameÚexisting_cte_reference_cteÚpre_alias_cteÚcte_pre_alias_namer.  Ú
col_sourceÚ
proxy_nameÚfallback_label_namer»  ÚrepeatedÚ
recur_colsÚprefixesr™   s"   f&&&&&&&,                         r  rM  ÚSQLCompiler.visit_cte×  s¼  ø€ ð ×(Ñ(Ó*ˆ	Ø˜DŸI™IÓ%Ð%Ð%à!$ˆ~Ñà—8‘8ˆä�h¤× 9Ñ 9×:Ò:Ø×1Ñ1°'¸8ÓDˆHàˆ
Ø(-Ð%à×/Ñ/Ó1ˆà—+‘+×1Ð1 ×!1Ñ!1ˆð ˜T×3Ñ3Ô3Ø.2×.DÑ.DØõ/Ñ+ˆI�qÐ+ð ˜”=Ð �=à'Ð2ˆNØ×2Ñ2°>ÕBˆLð
 ××ÐØ$×,×,Ð,Ü×*Ò*ð1óð ð
 #,Ð!6�ß/6œC §
¡
œO¸A�	Ø3<Ð2GÐG� à×+Ñ+¨NÐ;Ø:F�×'Ñ'¨Ñ7Ø9GØðKõ :�×&Ñ& ~Ñ6ø÷
 ,3œ˜DŸJ™Jœ¸ˆIØ'Ð2ˆNà ×!8Ñ!8Ô8Ø#×6Ñ6°~ÕF‘à#�àÒ#Ø,8¸LÐ,HÐ)ð �l×,Ñ,Ó,°°|Ó0CØ"‘
Ø §¡Ó.ð ˜lÐ+à-9×-LÑ-LÓ-NÐ*à1°^ÓCÐCÐCØ1°\ÓAÐAÐAà×*Ñ*Ð+EÑFô
 ˜#“Y¤$ |Ó"4Ô4ð  ×,Ñ,Ò8Ø+×8Ñ8ÒDð  ŸK™K¨×5Ò5ð "'‘Jô
 ×*Ò*ð,Ø.6õ7óð ÷
 ŸjÙà�>‰>Ò%ØŸN™NˆMØ!$§¡×!4Ñ!4ÐÜÐ,¬h×.GÑ.G×HÒHØ%)×%?Ñ%?ØÐ/ó&Ð"øð  ˆMØ!%Ðçˆ:Ø69ˆD×#Ñ# NÑ3Ø5CØðGõ 6ˆD×"Ñ" >Ñ2ð  D§I¡IÔ-Ø—’˜}Ñ7°Ò7ç%Ð%¨#Õ*>Ø—=—=�=Ø*.�DÔ'Ø—}‘}×1Ñ1°#Ó@�Ø—=—=�= C§K¡K×$@×$@Ð$@Ø!$§¡�Jð" )×EÑEÀdÔK÷"ñ LñØØ&Ø/ØØ$ä'ô :Ð+×9Ð9¨zÒ9ñ Lð ô "ð  ˜FØŸ	™	ô "ñ *4ó	"ó õõ �Dð —z‘z *¨eÓ4¸Ó=Ð=Ð=à—z—z�zð Ÿ;™;×9Ò9ØñØ%+ðØ/5ñð ð  $×6Ò6ØŸ]™]ñ Ø.4ñ �Hð  ŸK™K×:Ò:ØñØ%)ðØ-3ñ�Eñ «h»Ð>Õ>�Dà—=—=�=Ø˜C $×"9Ò"9ØŸ]™]ñ#Ø.4ñ#õ õ �Dð "&�	‘çßØ5=×!Ñ! #§-¡-£/Ñ2ç×"?Ø—}‘}×1Ñ1°#Ó@Ð@ç!Ø—}‘}×1Ñ1°#Ð7IÓJ�Ø—=‘=×1Ñ1°(×;Ò;Ø#Ÿ}™}×2Ñ2°8Ó<�HØ˜×7Ñ7¸ÓAÕA�Ø�à—}‘}×1Ñ1°#Ó@Ð@áùöG"s   Ï.XÐXÐXc                	ó    € VP                   '       d   R VR&   VP                  '       d   V P                  ! V3/ VB # V P                  ! V3/ VB # )Nrj  )Újoins_implicitlyÚ_is_lateralÚvisit_lateralÚvisit_aliasr  s   &&,r  Úvisit_table_valued_aliasÚ$SQLCompiler.visit_table_valued_alias¯  sP   € Ø×#×#Ð#Ø $ˆBˆ}ÑØ××ÐØ×%Ò% gÑ4°Ñ4Ð4à×#Ò# GÑ2¨rÑ2Ð2r  c                	ó(   € V P                   ! V3/ VB # r  )r  r  s   &&,r  Úvisit_table_valued_columnÚ%SQLCompiler.visit_table_valued_column·  s   € Ø× Ò  Ñ/¨BÑ/Ð/r  c
                	óÊ  a aa
€ V'       d<   R S
9  d   SP                   '       g   Q hSS
R &   V	'       d   RS
9  d   R S
9   d   V	S
R&   Ve[   VP                  SJ dK   SP                  P                  ! S 3RVRVRVRVRVRS/S
B pV'       d   V'       g	   V'       d   RV: R	2pV# SS
R&   V'       g	   V'       dT   \        SP                  \
        P                  4      '       d   S P                  R
SP                  4      pMSP                  pV'       d   S P                  P                  SX4      # V'       Ed   V	'       d   XV	P                  SP                  4       &   SP                  P                  ! S 3RRRV/S
B pV'       d   RV: R	2pVS P                  S P                  P                  SX4      4      ,           pSP                  '       dH   SP                  '       d6   VRRP                  VV
V 3R lSP                    4       4      ,          ,          pV'       d#   SV9   d   S P#                  VSVS,          V4      pV# SP                  P                  ! S 3RV/S
B # )ri  rk  rÆ  r<  Úiscrudr=  ÚlateralÚenclosing_aliasrN  rP  r  Tr�  rÔ   c              3  ó  <"  € T Fz  pSP                   P                  VP                  4      : SP                  '       d9   R SP                  P
                  P                  ! VP                  3/ SB ,          MR: 2x € K|  	  R# 5i)ú %srª  N)r³  r  rþ   Ú_render_derived_w_typesr»  r#  rÇ  r  )r?  r(  r  rñ  r  s   & €€€r  rA  Ú*SQLCompiler.visit_alias.<locals>.<genexpr>  s}   øé € ð ñ $+˜Cð !ŸM™M×/Ñ/°·±Õ9ð $)×#@×#@Ð#@ð	 !&Ø"&§,¡,×"EÑ"E×"MÒ"MØ$'§H¡Hñ#"Ø06ñ#"ö!"ð
 &(ñ!(õ	ó $+ùs   ƒ<BÁ AB)rn  râ  rô  rÅ  rþ   r   r@   ré  r³  rO  rŠ  r'   rV  Ú_supports_derived_columnsÚ_render_derivedrž   r»  Úformat_from_hint_text)r  r  rÆ  r<  rw  r=  rE  rx  ry  rj  rñ  r™   Ú
alias_namer¯  s   ff&&&&&&&&l   r  rp  ÚSQLCompiler.visit_aliasº  sb  ú€ ÷ Ø"¨&Ô0ð ×(×(Ð(Ð(Ð(Ø.3�Ð*Ñ+÷
 Ø)°Ô7Ø'¨6Ô1à0;�Ð,Ñ-àÒ&¨?×+BÑ+BÀeÓ+KØ—M‘M×4Ò4Øñ	àð	ð ð	ð ð		ð
 $ð	ð  ð	ð !&ð	ð ñ	ˆE÷ ŸV§wøÛ"'Ð)�ØˆLà(-ˆFÐ$Ñ%ç—VÜ˜%Ÿ*™*¤h×&?Ñ&?×@Ò@Ø!×7Ñ7¸ÀÇÁÓL‘
à"ŸZ™Z�
çØ—=‘=×-Ñ-¨e°ZÓ@Ð@ßˆVßØ7A�×!Ñ! %§/¡/Ó"3Ñ4à—M‘M×4Ò4ØñØ!ðØ+2ðØ6<ñˆE÷ ˆxÛ"'Ð)�à˜$×9Ñ9Ø—‘×*Ñ*¨5°*Ó=óõ ˆCð ×.×.Ð.°5×3H×3HÐ3HØ�vØ—I‘Iö ð $)§7¢7óó õõ �÷$ ˜U iÔ/Ø×0Ñ0Ø˜ 	¨%Õ 0°&ó�ð ˆJð —=‘=×3Ò3ØñØ%ðØ)/ñð r  c                	ó2   € R VR&   V P                   ! V3/ VB # )TrE  ©rp  )r  rE  rä  s   &&,r  Úvisit_subqueryÚSQLCompiler.visit_subquery  s!   € Øˆˆ:‰Ø×Ò Ñ/¨BÑ/Ð/r  c                	ó@   € R VR&   RV P                   ! V3/ VB ,          # )Trx  z
LATERAL %sr„  )r  Úlateral_rä  s   &&,r  ro  ÚSQLCompiler.visit_lateral"  s&   € Øˆˆ9‰Ø˜d×.Ò.¨xÑ>¸2Ñ>Õ>Ð>r  c                	óî   € V P                   ! V3R R/VB : RVP                  4       P                  ! V 3/ VB : 2pVP                  e,   VRVP                  P                  ! V 3/ VB ,          ,          pV# )rÆ  Tz TABLESAMPLE z REPEATABLE (%s))rp  Ú_get_methodrô  Úseed)r  ÚtablesamplerÆ  rä  r.  s   &&&, r  Úvisit_tablesampleÚSQLCompiler.visit_tablesample&  s}   € à×Ò˜[Ñ<°Ð<¸Ô<Ø×#Ñ#Ó%×8Ò8¸ÑDÀÓDð
ˆð
 ×ÑÒ'ØÐ&Ø× Ñ ×3Ò3°DÑ?¸BÑ?õõ ˆDð ˆr  c                	ó˜   a aa€ SP                  R SP                  4       RP                  VVV 3R lSP                   4       4      pRV 2# )rí  rÔ   c           	   3  ó´   <"  € T FM  pV FD  pSP                   ! \        P                  ! VR SP                  / P	                  4       3/ SB x € KF  	  KO  	  R# 5i)r  N)rÇ  r   r   Ú_column_typesr6  )r?  ÚchunkÚelemrâ  rä  r  s   &  €€€r  rA  Ú-SQLCompiler._render_values.<locals>.<genexpr>5  sb   øé € ð 	
ñ '�Û�ð �LŠLÜ—’Ø26ðØ!×/Ñ/ñç‘*“,ñð ö	ñ ñó 'ùs   ƒAArB  )Ú
setdefaultrí  rž   Ú_data)r  râ  rä  Útupless   ffl r  Ú_render_valuesÚSQLCompiler._render_values3  sG   ú€ Ø
�‰�o w×'<Ñ'<Ô=Ø—‘ö 	
ð !Ÿšó	
ó 	
ˆð ˜˜Ð!Ð!r  c           
     	óH  a a€ VP                   '       d   S P                  VS4       S P                  ! V3/ SB pVP                  '       d   R pMS\	        VP
                  \        P                  4      '       d   S P                  RVP
                  4      pMVP
                  pVP                  '       d   RpMRpV'       dâ   V'       d$   Ve   TMRVP                  VP                  4       &   Ve<   VP                  VJ d,   VP                  '       d   \        P                  ! R4      h V# V'       df   RSR&   V: RV: R	S P                  S P                   P#                  V4      4      : R
RP%                  VV 3R lVP&                   4       4      : R	2pV# V: RV: R	2pV# )Nrû  zLATERAL rª  z(unnamed VALUES element)z5Can't use a LATERAL VALUES expression inside of a CTEFr  rN  rP  ú (rÔ   c              3  óJ   <"  € T F  pVP                   ! S3/ SB x € K  	  R # 5ir  ró  rm  s   & €€r  rA  Ú+SQLCompiler.visit_values.<locals>.<genexpr>h  s(   øé € ð "á%4 ð ×0Ò0°Ñ<¸Ö<Û%4ùrC  )rF  rG  r™  Ú_unnamedrÅ  rþ   r   r@   ré  rn  rŠ  r'   râ  r/   r%  rV  r³  r  rž   Úcolumns)	r  râ  rÆ  rj  r>  rä  r²  rþ   rx  s	   f&&&&l   r  Úvisit_valuesÚSQLCompiler.visit_valuesA  sn  ù€ ð ×$×$Ð$Ø×+Ñ+¨G°RÔ8à×Ò Ñ.¨2Ñ.ˆà××ÐØ‰DÜ˜Ÿ™¤h×&?Ñ&?×@Ò@Ø×-Ñ-¨h¸¿¹ÓE‰Dà—<‘<ˆDà××ÐØ ‰GàˆGçßà Ò,‘DÐ2Lð ×!Ñ! '×"3Ñ"3Ó"5Ñ6ð Ò'¨L×,@Ñ,@ÀGÓ,KØ×&×&Ð&Ü×*Ò*ØOóð ð 'ð& ˆ÷ Ø&+��?Ñ#ãÛØ×3Ñ3°D·M±M×4GÑ4GÈÓ4MÖNàŸ	™	õ "à%,§_¢_ó"ö ð
�ð ˆó !(«Ð+�Øˆr  c                	ó0   € R V P                   ! V3/ VB  R2# rÃ  )r™  r  s   &&,r  Úvisit_scalar_valuesÚSQLCompiler.visit_scalar_valuesr  s"   € Ø�4×&Ò& wÑ5°"Ñ5Ð6°aÐ8Ð8r  c                	ó   € R V,           # )rÖ   r  )r  Úalias_name_texts   &&r  rV  Ú&SQLCompiler.get_render_as_alias_suffixu  s   € Ø˜Õ'Ð'r  c          
     ó,   € V ^8„  d   QhRRRRRRRRRR	/# )
r  rý   rü   rþ   r   rÿ   r  r  r  r  r  )rÍ   s   "r  r  r”  x  s<   € ÷ 
ñ 
àð
ð ð
ð !ð	
ð
 ð
ð 
ñ
r  c                	óæ   € V'       g   Q hVe   VR8X  d   RV n         RV n        VP                  '       d   \        P                  ! R4      hV P
                  P                  \        WW44      4       R # )NÚ*FTzxMost backends don't support SELECTing from a tuple() object.  If this is an ORM query, consider using the Bundle object.)ro  rn  r  r/   r%  r®  râ  rû   r  s   &&&&&r  rI  ÚSQLCompiler._add_to_result_mapx  sj   € ÷ ˆˆwàŠ?˜g¨œnØ$)ˆDÔ!Ø#'ˆDÔ Ø××ÐÜ×"Ò"ð4óð ð
 	×Ñ×#Ñ#Ü˜w¨gÓ=ö	
r  c                ó<   € V P                   ! RTTRVf   / MT3/ VB # )a$  Render a column with necessary labels inside of a RETURNING clause.

This method is provided for individual dialects in place of calling
the _label_select_column method directly, so that the two use cases
of RETURNING vs. SELECT can be disambiguated going forward.

.. versionadded:: 1.4.21

NF)Ú_label_select_column)r  r6  r|   rO  Úcolumn_clause_argsrä  s   &&&&&,r  Ú_label_returning_columnÚ#SQLCompiler._label_returning_column‘  s8   € ð ×(Ò(ØØØØØ$Ò,‰BÐ2Dñ
ð ñ
ð 	
r  c                óú  aa€ SP                   P                  V P                  4      pVP                  '       d#   V'       g	   V'       d   VP	                  S4      pMSpV'       d.   V P
                  pV
'       d
   VoV3R lpMVSJd
   VoVV3R lpMRpV	'       g   Q R4       h\        S\        P                  4      '       d0   VSJd&   \        VSP                  SP                  3R7      pEMçTpEMãV'       d(   Vf   Q R4       h\        VVVSP                  3R7      pEM´VSJd   RpEM;\        S\        P                  4      '       d3   T;'       d(    SP                  '       * ;'       d    SP                  RJpMé\        S\        P                   4      '       d   RpMÆ\        S\        P"                  4      '       dt   SP$                  \&        P(                  \&        P*                  39   ;'       d$    V P                  P,                  '       * ;'       g    SP/                  4       ;'       g    TpM3\        S\        P0                  4      '       g   SP2                  f   RpMRpV'       df   V'       g   V
'       d   Q hSP4                  p\        V\        P6                  4      '       g   \        P6                  ! V4      MTp\        WèV3R7      pMTpVP9                  V	VVR	7       VP:                  ! V 3/ VB # )
z.produce labeled columns present in a select().c                ó   <€ S! WV 3V4       R # r  r  )rý   rþ   r   r  rI  s   &&&&€r  rí  Ú;SQLCompiler._label_select_column.<locals>.add_to_result_mapÌ  s   ø€ Ù& w°w°jÀ%ÖHr  c                ó,   <€ S! WS3V,           V4       R # r  r  )rý   rþ   r   r  rI  r|   s   &&&&€€r  rí  r´  Ô  s   ø€ Ù&Ø¨ y°7Õ':¸Eör  NzX_label_select_column is only relevant within the columns clause of a SELECT or RETURNING)r)  z*proxy_name is required if 'name' is passedTF)rÑ  rí  r  )r  rò  r»  Ú_has_column_expressionÚcolumn_expressionrI  rÅ  r   rG   r#  rþ   râ  r  rD   r  r½   Ú
TextClauseÚUnaryExpressionr�  r   Úis_falseÚis_truer^  Ú_wraps_unnamed_columnÚNamedColumnÚ_non_anon_labelÚ_anon_name_labelr@   r¨  rô  )r  r·   r|   rO  rÆ  r¯  rþ   rf  rg  rÑ  Úcolumn_is_repeatedÚneed_column_expressionsr  rú  Úcol_exprrí  Úresult_exprÚrender_with_labelrI  s   &&f&&&&&&&&&&     @r  r®  Ú SQLCompiler._label_select_column¦  sÞ  ù€ ð  �{‰{×'Ñ'¨¯©Ó5ˆà×&×&Ð&ß#×':à×-Ñ-¨fÓ5‰HàˆHçð
 !%× 7Ñ 7Ð÷
 "Ø%6Ð"öIð
  Ó'Ø%6Ð"öøð !%Ð÷ %ð 	
ð:ó	
Ð$ô �fœhŸn™n×-Ò-Ø˜vÓ%Ü+Ø˜fŸk™k°f·n±nÐ5Fô’ð '’çð Ò&ð<à;ó<Ø&ô (ØØàð ×$Ñ$ðôŠKð& ˜vÓ%ð %)Ò!Ü˜F¤H×$9Ñ$9×:Ò:ð ÷ 1ð 1Ø"×-Ñ-Ô-÷1ð 1àŸ™¨DÐ0ñ "ô
 ˜F¤H×$7Ñ$7×8Ò8Ø$)Ñ!Ü˜F¤H×$<Ñ$<×=Ò=ðP Ÿ™Ü%×.Ñ.´	×0AÑ0AÐBñC÷ Eð Eà $§¡× DÑ DÔD÷
ð 
ð ×3Ñ3Ó5÷
ð 
ð ñ "ô" ˜v¤x×';Ñ';×<Ò<ð ×*Ñ*Ò2à$(Ñ!à$)Ð!ç ß*÷
  2Ð1Ð1Ø*0×*AÑ*AÐ'ô &Ø+¬X×-FÑ-F÷ò ô ×-Ò-Ð.AÔBð -ð $ô ,Ø¸j¸]ô‘ð '�à×!Ñ!Ø"7Ø/Ø'ð 	"ô 	
ð
 ×-Ò-¨dÑIÐ6HÑIÐIr  c                	óX   € V P                  W#4      pV'       d   VR V,           ,          pV# r{  )Úget_from_hint_text)r  r¼  r½   Úhintrw  Úhinttexts   &&&&& r  r€  Ú!SQLCompiler.format_from_hint_texty  s(   € Ø×*Ñ*¨5Ó7ˆßØ�s˜X•~Õ%ˆGØˆr  c                	ó   € R # r  r  )r  Úbyfromss   &&r  Úget_select_hint_textÚ SQLCompiler.get_select_hint_text  ó   € Ùr  c               ó$   € V ^8„  d   QhRRRRRR/# )r  r½   rX   r.  rt  r  r  )rÍ   s   "r  r  r”  ‚  s$   € ÷ ñ ØðØ'4ðà	ñr  c                	ó   € R # r  r  ©r  r½   r.  s   &&&r  rÇ  ÚSQLCompiler.get_from_hint_text‚  s   € ñ r  c                	ó   € R # r  r  rÒ  s   &&&r  Úget_crud_hint_textÚSQLCompiler.get_crud_hint_text‡  rÏ  r  c                	ó$   € R P                  V4      # r{  ro  )r  Ú
hint_textss   &&r  Úget_statement_hint_textÚ#SQLCompiler.get_statement_hint_textŠ  s   € Ø�x‰x˜
Ó#Ð#r  r(  rE  r%  r$  c                	óJ  € V P                   '       * pV'       d   V P                  MV P                   R,          pVP                  W4      pVR,          pVR,          p	V'       d-   V'       g%   VP                  VP	                  V	4      RR7      p
V
# VP                  VV	R7      p
V
# )rá  r%  r$  ©Úexplicit_correlate_fromsÚimplicit_correlate_fromsrÂ  r  )r—  rE  rï  Ú_get_display_fromsÚ
difference)r  Úselect_stmtrÆ  rx  rä  rM  r×  r)  r%  r$  rŠ  s   &&&&,      r  Ú_display_froms_for_selectÚ%SQLCompiler._display_froms_for_select”  s¦   € ð —z‘z”>ˆß-5�×)Ò)¸4¿:¹:Àb½>ˆà#×:Ñ:¸;ÓMˆàÐ 1Õ2ˆØ˜^Õ,ˆçŸ'Ø!×4Ñ4Ø)8×)CÑ)CØ ó*ð *,ð	 5ó ˆEð ˆð	 "×4Ñ4Ø)8Ø)5ð 5ó ˆEð ˆr  r   Útranslate_select_structurec	                	ó¸	  a%€ Ve   Q R4       hRV	R&   VP                   ! W3/ V	B p
V
P                  V	R&   V
P                  pV P                  '       * pV'       d   V P                  '       g   W n        VR J;'       g    TpV P
                  '       d@   V P
                  ! V3RV/V	B pWÑJd&   T
pTpTpVP                   ! W3/ V	B p
V
P                  pV'       d   V P                  MV P                  R,          pT;'       g-    VP                  RR4      ;'       g    VP                  RR4      ;ppV'       d   RpV'       g   RV	9   d   V	R V P                  WWòWu4      pV	P                  4       pVP                  R	RRR/4       R
pVP                  '       d.   V P                  V4      w  ppV'       d   VVR,           ,          pMR pVP                  '       d   V P                  W4       VP                  '       d%   VV P                   ! WP                  3/ V	B ,          pVV P"                  ! V3/ V	B ,          pV
P$                   UUUUUu. uF$  w  pppppV P'                  VVVVVVVVVVR7
      NK&  	  uppppp Uu. uF  pVf   K	  VNK  	  ppV'       dÒ   VeÎ   \)        \+        V
P$                   UUUUUu. uF  w  pppppVNK  	  upppppXP$                   UUUUUu. uF  w  pppppVNK  	  uppppp4      4      o%V P,                   UUUU u. uFF  w  pppp \/        TT\0        ;QJ d    . V%3R lV 4       F  NK  	  5M! V%3R lV 4       4      V 4      NKH  	  up pppV n        V P3                  VVV
VVVVV	4      pVP4                  '       dg   VP4                   U!U"u. uF'  w  p!p"V!RV P6                  P8                  39   g   K%  V"NK)  	  p#p!p"V#'       d    VRV P;                  V#4      ,           ,          pV P<                  '       dI   V'       d	   V'       d9   V'       g   \?        V P                  4      MR p$V PA                  V$R7      V,           pVPB                  '       d,   VRV P                   ! WPB                  3/ V	B ,           ,          pV P                  PE                  R4       V# u upppppi u upi u upppppi u upppppi u up pppi u up"p!i )NzpSQLAlchemy 1.4 requires use of the translate_select_structure hook for structural translations of SELECT objectsFrÑ  r  rÆ  r,  r+  rí  rè  zSELECT rX  )rþ   rf  rg  rÀ  rÁ  c              3  óF   <"  € T F  pSP                  W4      x € K  	  R # 5ir  rŠ  )r?  Úor¸  s   & €r  rA  Ú+SQLCompiler.visit_select.<locals>.<genexpr>^  s   øé € Ð$FÁ#¸Q Y§]¡]°1×%8Ð%8Ã#ùó   ƒ!r«  rC  rÂ  )#rï  Ú_ambiguous_table_name_mapr3  r—  r)  rä  rE  rì  Ú_setup_select_stackr4  r¨  Ú_hintsÚ_setup_select_hintsrF  rG  rS  rR  Úget_select_precolumnsÚcolumns_plus_namesr®  r$  r&  r®  rû   rE  Ú_compose_select_bodyÚ_statement_hintsr»  rþ   rÙ  r�  rë  rJ  rT  r�  )&r  rá  rÆ  Úinsert_intor=  rL  Úselect_wraps_forrx  rj  rñ  r)  rM  Úis_embedded_selectÚnew_select_stmtÚcompile_state_wraps_forr×  rO  rÁ  rŠ  r¯  r.  Ú	hint_textÚbyfromrþ   rf  rg  r|   rh  r»  Úinner_columnsr@  rð  r  Údialect_nameÚhtÚper_dialectrD  r¸  s&   &&&&&&&&&,                           @r  Úvisit_selectÚSQLCompiler.visit_select¸  s7  ø€ ð  Ò'ð 	
ð-ó	
Ð'ð +0ˆÐ&Ñ'à#×:Ò:Øñ
Ø!'ñ
ˆð ×3Ñ3ð 	Ð)Ñ*ð $×-Ñ-ˆà—z‘z”>ˆç˜D×.×.Ð.Ø!.Ôà+°4Ð7×FÐF¸;Ðð
 ×*×*Ð*Ø"×=Ò=ØñØ$*ðØ.4ñˆOð Ó1Ø*7Ð'Ø#.Ð Ø-�à +× BÒ BØñ!Ø)/ñ!�ð ,×5Ñ5�ç-5�×)Ò)¸4¿:¹:Àb½>ˆð ÷ >ð >Ø�y‰yÐ7¸Ó?÷>ð >à�y‰yÐ5°uÓ=ð	
ÐÐ5÷ Ø"'Ð÷
 #Ð':¸fÔ'DØÐ*Ð+à×(Ñ(Ø¨°wó
ˆð $Ÿ[™[›]ÐØ×!Ñ!Ø" EÐ+BÀEÐJô	
ð ˆà××ÐØ $× 8Ñ 8¸Ó EÑˆI�vßØ˜	 C�Õ'�øàˆFà×(×(Ð(Ø×+Ñ+¨KÔ@à× × Ð Ø�D×+Ò+Ø×2Ñ2ñØ6<ñõ ˆDð 	�×*Ò*¨;ÑA¸&ÑAÕAˆð. #×5Ò5÷'ñ& 6ñØØØ'ØØð# ×)Ñ)ØØØ'ØØ&ØØ)Ø(;Ø'/Ø,Cð *ö ñ$ 6ö'ó
ñ�ð* ÷- ˆAñð 	ð 
÷4 Ð#3Ò#?ô Üð +×=Ò=÷	ñ >ñØØ&Ø/Ø Ø$ó ñ >õ	ð$ 5×GÒG÷	ñ HñØØ&Ø/Ø Ø$ó ñ Hõ	óóˆIð: .2×-AÒ-Aö	$ñ .BÑ)�C˜˜s Eô #Ø˜ŸuœuÔ$FÁ#Ó$FŸu™uÔ$FÁ#Ó$FÓFÈöñ .Bô	$ˆDÔ ð ×(Ñ(ØØØØØØØØó	
ˆð ×'×'Ð'ð +6×*FÒ*Fôá*FÑ&�\ 2Ø C¨¯©×):Ñ):Ð#;Ñ;÷ �Ù*Fð ñ ÷
 Ø˜˜d×:Ñ:¸;ÓGÕGÕG�ð �9�9ˆ9×0·Hß3;œC §
¡
œOÀˆMØ×*Ñ*¸Ð*ÓGÈ$ÕNˆDà× × Ð Ø�C˜$×1Ò1Ø×2Ñ2ñØ6<ñõ õ ˆDð 	�
‰
�‰�rÔàˆùöyùò
ùö@	ùö	ùõ$ùó&s1   É*R.É>R7Ê	R7Ê9R<Ë"SÌAS
Î#"SÏ
Sc               ó    € V ^8„  d   QhRRRR/# )r  r·   r.  r  zTuple[str, _FromHintsType]r  )rÍ   s   "r  r  r”  …  s   € ÷ 
!ñ 
!Ø!ð
!à	#ñ
!r  c                	ó  € VP                   P                  4        UUUu/ uFC  w  w  r#pVR V P                  P                  39   g   K'  W$RVP	                  V RR7      /,          bKE  	  ppppV P                  V4      pWe3# u upppi )r«  rþ   T)r<  )rì  r©  r»  rþ   rô  rÍ  )r  r·   rž  r»  rÉ  rø  r÷  s   &&     r  rí  ÚSQLCompiler._setup_select_hints…  sš   € ð /5¯m©m×.AÑ.AÔ.Cõ
ñ /DÑ*Ñ � (Ø˜3 §¡× 1Ñ 1Ð2Ñ2ôDˆEØ�u×/Ñ/°¸TÐ/ÓBÐCõDò Dá.Cð 	ò 
ð ×-Ñ-¨fÓ5ˆ	ØÐ Ð ùô
s   Ÿ$B Á B c           	     	óT  € VR ,          pVR,          pV^ 8X  d   WR&   M{V'       dt   VR,          p	\        V	P                  4      p
\        VP                  4      V
8w  d<   \        P                  ! R^V
V^,           \        VP                  4      3,          4      hV'       d,   V'       g$   VP                  VP                  V4      RR7      pMVP                  VVR7      p\        \        V!  4      pVP                  V4      pRVR VRVRV/pV P                  P                  V4       V# )r%  r$  r-  z}All selectables passed to CompoundSelect must have identical numbers of columns; select #%d has %d columns, select #%d has %drÜ  r"   r)  r  )rë  rº  rï  r/   r%  rß  rà  r¹   r(   rÂ   r—  râ  )r  r·   r)  r×  rÆ  rx  rL  r%  r$  r-  ÚnumcolsrŠ  Únew_correlate_fromsÚall_correlate_fromsrN  s   &&&&&&&        r  rë  ÚSQLCompiler._setup_select_stack‘  sC  € ð  Ð 1Õ2ˆØ˜^Õ,ˆà˜QÔØ &�*ÒßØ˜ZÕ(ˆHÜ˜(×8Ñ8Ó9ˆGä�=×3Ñ3Ó4¸Ô?Ü×&Ò&ð!ð
 ØØ&¨Õ*Ü˜F×8Ñ8Ó9ð	õ		óð ÷ Ÿ'Ø!×4Ñ4Ø)8×)CÑ)CØ ó*ð *,ð	 5ó ‰Eð "×4Ñ4Ø)8Ø)5ð 5ó ˆEô
 "¤-°Ñ"7Ó8ÐØ1×7Ñ7¸ÓHÐð Ð/ØÐ2Ø˜&Ø˜]ð	*
ˆ	ð 	�
‰
×Ñ˜)Ô$àˆr  c	                	óJ  € VR P                  V4      ,          pV P                  \        ,          '       d;   \        / \	        4       4      p	V P                  \
        ,          p
V'       d   W�n        MRp	Rp
V'       g   VP                  4       pV'       dš   VR,          pVP                  '       dA   TR P                  V Uu. uF  pVP                  ! V 3RRRVRV	/VB NK  	  up4      ,          pMTTR P                  V Uu. uF  pVP                  ! V 3RRRV	/VB NK  	  up4      ,          pMWP                  4       ,          pVP                  '       d8   V P                  ! VP                  3RV	/VB pV'       d   VRV,           ,          pV
'       d   V	f   Q hV	P                  4        VP                  '       d   WP                  ! V3/ VB ,          pVP                   '       d6   V P                  ! VP                   3/ VB pV'       d   VR	V,           ,          pVP"                  '       d   WP$                  ! V3/ VB ,          pVP&                  '       d   WP(                  ! V3/ VB ,          pVP*                  e   WP,                  ! V3/ VB ,          pV# u upi u upi )
rÔ   NFz 
FROM rÆ  Tr=  rj  z 
WHERE z	 
HAVING )rž   r’  r}  r�  r¹   r~  rj  Úrstriprì  rô  r´  Ú_where_criteriar}  r¡  Ú_group_by_clausesró  Ú_having_criteriaÚ_order_by_clausesrô  rõ  rö  Ú_for_update_argÚfor_update_clause)r  r.  r·   r)  rù  rŠ  rø  rM  rñ  rj  Úwarn_lintingÚfÚts   &&&&&&&&&    r  rð  Ú SQLCompiler._compose_select_bodyÅ  s   € ð 	�—	‘	˜-Ó(Õ(ˆà�<‰<Ô4×4Ô4Ü$ R¬«Ó/ˆKØŸ<™<¬,Õ6ˆLßØ#.Ô øàˆKØ ˆL÷ Ø—;‘;“=ˆDçØ�JÕˆDà�}�}ˆ}Ø˜Ÿ	™	ñ "'ó	ñ "'˜Að ×,Ò,Ø ñà#'ðð '-ðð )4ð	ð
 %ôñ "'ñ	óõ ‘ð ˜Ÿ	™	ñ "'óñ "'˜Að ×,Ò,Ø ñà#'ðð )4ðð %ô	ñ "'ñó
õ 
‘ð ×%Ñ%Ó'Õ'ˆDà×!×!Ð!Ø×1Ò1Ø×&Ñ&ñØ4?ðØCIñˆA÷ Ø˜ a�Õ'�çØÒ*Ð*Ð*Ø×ÑÔà×#×#Ð#Ø×(Ò(¨Ñ:°6Ñ:Õ:ˆDà×"×"Ð"Ø×1Ò1Ø×'Ñ'ñØ+1ñˆA÷ Ø˜ qÕ(Õ(�à×#×#Ð#Ø×(Ò(¨Ñ:°6Ñ:Õ:ˆDà×*×*Ð*Ø×*Ò*¨6Ñ<°VÑ<Õ<ˆDà×!Ñ!Ò-Ø×*Ò*¨6Ñ<°VÑ<Õ<ˆDàˆùòq	ùòs   Â?"J
Ã? J 
c                	ód   a a€ R P                  VV 3R lV 4       4      pV'       d
   VR ,          pV# )rX  c              3  ó–   <"  € T F>  w  rVR9   g   VSP                   P                  8X  g   K)  VP                  ! S3/ SB x € K@  	  R # 5i)N)Nr«  )r»  rþ   rô  )r?  Úprefixrú  rä  r  s   &  €€r  rA  Ú1SQLCompiler._generate_prefixes.<locals>.<genexpr>%  sF   øé € ð 
á(0Ñ$�Ø˜{Ô*¨l¸d¿l¹l×>OÑ>OÑ.Oô 2ˆF×%Ò% dÑ1¨bÖ1Û(0ùs
   ƒ&A	®A	ro  )r  r6  rj  rä  r–  s   f&&l r  rR  ÚSQLCompiler._generate_prefixes$  s1   ù€ Ø—‘õ 
á(0ó
ó 
ˆ÷
 Ø�c�MˆFØˆr  c                ó*  € V P                   '       g   R# V'       dÔ   V^8”  dÍ   \        P                  ! 4       p\        V P                   P	                  4       4       F�  pV P
                  VP                  4       ,          w  rVpVP                  ;'       g    VP                  pWQ8H  ;'       g    T;'       d    WQ^,           8H  p	V'       d	   V	'       g   Kz  V P                   V,          W4&   K‘  	  MV P                   pV'       g   R# \        V Uu. uF  qDP                  NK  	  up4      p
V P                  V
4      R,           pTRP                  VP                  4        Uu. uF  qÌNK  	  up4      ,          pVR,          pV'       d‚   V^8”  d{   \        VP	                  4       4       F]  pV P
                  VP                  4       ,          w  rVpV P                   V V P                  WV3 V P
                  VP                  4        K_  	  V# u upi u upi )z½
include_following_stack
    Also render the nesting CTEs on the next stack. Useful for
    SQL structures like UNION or INSERT that can wrap SELECT
    statements containing nesting CTEs.
rª  rX  ú, 
z
 )r�  r$   rÑ  rÈ  Úkeysrƒ  rF  rG  rp   rN  Úget_cte_preamblerž   rû  r‚  )r  rD  rî  r�  r8  r\  rX  r3  rG  Úis_rendered_levelr„  Úcte_textÚtxts   &&&          r  rJ  ÚSQLCompiler._render_cte_clause.  s¹  € ð �y�yˆyÙ÷ ˜]¨QÔ.Ü×#Ò#Ó%ˆDÜ˜DŸI™IŸN™NÓ,Ö-�Ø04×0FÑ0FØ×*Ñ*Ó,õ1Ñ-�	 Xð Ÿ+™+×9Ð9¨×)9Ñ)9�Ø$-Ñ$>÷ %ð %Ø+×NÐN°	ÈQÕ=NÑ0Nð "÷  ×$5Ùà ŸI™I c�N�“	ò .ð —9‘9ˆDçÙÜ±tÓ<±t°Ÿmœm±tÑ<Ó=ˆà×(Ñ(¨Ó8¸3Õ>ˆØ�F—K‘K°·±´Ó >±¨¢±Ñ >Ó?Õ?ˆØ�EÕˆç˜]¨QÔ.Ü˜DŸI™I›KÖ(�Ø04×0FÑ0FØ×*Ñ*Ó,õ1Ñ-�	 Xð —I‘I˜c�NØ×+Ñ+¨YÐ,AÐBØ×*Ñ*¨3×+AÑ+AÓ+CÒDñ )ð ˆùò =ùò !?s   ÄHÅ 
H
c                	ó   € V'       d   R # R# )zWITH RECURSIVEÚWITHr  )r  rN  s   &&r  r  ÚSQLCompiler.get_cte_preamblec  s   € ßÙ#ár  c               ó$   € V ^8„  d   QhRRRRRR/# ©r  r·   r.  rä  r   r  rü   r  )rÍ   s   "r  r  r”  i  s!   € ÷ 7ñ 7¨Kð 7¸sð 7Àsñ 7r  c                ó‚   € VP                   '       d   \        P                  ! RRR7       VP                  '       d   R# R# )zSCalled when building a ``SELECT`` statement, position is just
before column list.

a  DISTINCT ON is currently supported only by the PostgreSQL dialect.  Use of DISTINCT ON for other backends is currently silently ignored, however this usage is deprecated, and will raise CompileError in a future release for all backends that do not support this syntax.z1.4©ÚversionrØ   rª  )Ú_distinct_onr$   Úwarn_deprecatedÚ	_distinct©r  r·   rä  s   &&,r  rî  Ú!SQLCompiler.get_select_precolumnsi  s@   € ð
 ××ÐÜ× Ò ð3ð
 õð %×.×.Ð.ˆ{Ð6°BÐ6r  c                ó–   € V P                   ! VP                  \        \        P                  ,          3/ VB pV'       d
   RV,           # R# )z5allow dialects to customize how GROUP BY is rendered.z
 GROUP BY rª  )rq  r
  rê  r   Úcomma_op)r  r·   rä  Úgroup_bys   &&, r  ró  ÚSQLCompiler.group_by_clausey  sE   € ð ×0Ò0Ø×$Ñ$¤i´	×0BÑ0BÕ&Cñ
ØGIñ
ˆ÷ Ø (Õ*Ð*ár  c                ó–   € V P                   ! VP                  \        \        P                  ,          3/ VB pV'       d
   RV,           # R# )z5allow dialects to customize how ORDER BY is rendered.z
 ORDER BY rª  )rq  r  rê  r   r.  )r  r·   rä  r´  s   &&, r  rô  ÚSQLCompiler.order_by_clause„  sE   € ð ×0Ò0Ø×$Ñ$¤i´	×0BÑ0BÕ&Cñ
ØGIñ
ˆ÷ Ø (Õ*Ð*ár  c                	ó   € R # )z FOR UPDATEr  r+  s   &&,r  r  ÚSQLCompiler.for_update_clause�  s   € Ùr  c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# ©r  r6  r=   Úreturning_colszSequence[_ColumnsClauseElement]rO  r*  rä  r   r  rü   r  )rÍ   s   "r  r  r”  “  s<   € ÷ 1ñ 1àð1ð 8ð1ð
 "ð1ð ð1ð 
ñ1r  c               	ó  € VP                  R \        P                  ! V4      R7       UUUUU	u. uF&  w  ppppp	V P                  ! VVV3RVRV	RVRV/VB NK(  	  p
ppppp	RRP	                  V
4      ,           # u up	ppppi )T)Úcolsrg  rÀ  rþ   rf  ú
RETURNING rÔ   )rQ  r   Ú_select_iterablesr°  rž   )r  r6  r7  rO  rä  rþ   rf  rg  r|   rh  r   s   &&&$,      r  Úreturning_clauseÚSQLCompiler.returning_clause“  s»   € ð2 ×2Ñ2Øœ4×1Ò1°.ÓAð 3ô ÷#
ñ"ñØØØ#ØØð ×(Ò(ØØØ#ñ	ð %8ð		ð
 $,ð	ð ð	ð &ð	ð ô	ñ ð# 	ô 
ð, ˜dŸi™i¨Ó0Õ0Ð0ùö-
s   ®,A8c                	ó  € R pVP                   e,   VRV P                  ! VP                   3/ VB ,           ,          pVP                  eC   VP                   f
   VR,          pVRV P                  ! VP                  3/ VB ,           ,          pV# )rª  z
 LIMIT z

 LIMIT -1z OFFSET )Ú_limit_clauserÇ  Ú_offset_clause)r  r·   rä  r.  s   &&, r  rÿ  ÚSQLCompiler.limit_clause³  s€   € ØˆØ×ÑÒ+Ø�K $§,¢,¨v×/CÑ/CÑ"JÀrÑ"JÕJÕJˆDØ× Ñ Ò,Ø×#Ñ#Ò+Ø˜Õ%�Ø�J §¢¨f×.CÑ.CÑ!JÀrÑ!JÕJÕJˆDØˆr  c                	ó@  € Vf   VP                   pVP                  pMRRRR/pRpVP                  e`   VP                  pV'       d(   VP                  V4      '       d   VP	                  4       pV P
                  ! V3/ VB p	VRV	,          ,          pMV'       d
   VR,          pVew   V'       d(   VP                  V4      '       d   VP	                  4       pTRV P
                  ! V3/ VB : VR,          '       d   RMR: R	VR,          '       d   R
MR: 2,          pV# )Nr™  FÚ	with_tiesrª  z
 OFFSET %s ROWSz
 OFFSET 0 ROWSz
 FETCH FIRST z PERCENTz ROWS z	WITH TIESÚONLY)rý  Ú_fetch_clause_optionsr@  Ú_simple_int_clauseÚrender_literal_executerÇ  )
r  r·   rþ  Úrequire_offsetÚ"use_literal_execute_for_simple_inträ  Úfetch_clause_optionsr.  Úoffset_clauseÚ
offset_strs
   &&&&&,    r  rþ  ÚSQLCompiler.fetch_clause½  s  € ð ÒØ!×/Ñ/ˆLØ#)×#?Ñ#?Ñ à$-¨u°kÀ5Ð#IÐ àˆà× Ñ Ò,Ø"×1Ñ1ˆMç2Ø×-Ñ-¨m×<Ò<à -× DÑ DÓ F�ØŸš mÑ:°rÑ:ˆJØÐ'¨*Õ4Õ4‰DßØÐ&Õ&ˆDàÒ#ç2Ø×-Ñ-¨l×;Ò;à+×BÑBÓD�ÙØ—’˜\Ñ0¨RÓ0Ø2°9×=Ô=‘
À2ÒEØ3°K×@Ô@‘ÀfÑLðõ ˆDð
 ˆr  c
                	ó  € V'       d   VP                   VP                  V&   V'       g
   V'       EdO   V P                  P                  V4      pV'       dV   V'       dN   V P                  P	                  V4      R ,           V P                  P                  VP                  4      ,           pM­V P                  P                  VP                  4      pV	e   V	P                  VJdu   V'       gm   V'       de   VP                  V9   dT   V P                  RW�P                  ,          4      pWÀP                  V P                  P                  RV4      4      ,           pV'       d    W9   d   V P                  WÁWQ,          V4      pV# R# )rT  Nr  rª  )ÚfullnamerŠ  r³  r
  r  r  rþ   râ  ré  rV  rO  r€  )r  r½   rÆ  rw  r<  r=  Ú
use_schemarj  r  ry  rñ  r  r¯  Ú	anon_names   &&&&&&&&&&,   r  Úvisit_tableÚSQLCompiler.visit_tableæ  s1  € ÷ Ø',§~¡~ˆK×Ñ˜eÑ$ç—V�VØ#Ÿ}™}×>Ñ>¸uÓEÐç×.à—M‘M×.Ñ.Ð/?Ó@Øõà—m‘m×)Ñ)¨%¯*©*Ó5õ6ñ ð —m‘m×)Ñ)¨%¯*©*Ó5�ð (Ò/Ø*×2Ñ2¸%Ó?ç,ß0ØŸ
™
Ð&>Ô>à $× :Ñ :ØÐ!9¿*¹*Õ!Eó!�Ið × ?Ñ ?ØŸ™×2Ñ2°4¸ÓCó!õ �C÷ ˜UÔ/Ø×0Ñ0Ø 	Õ 0°&ó�ð ˆJár  c                	ó0  € V'       dk   VP                   P                  \        P                  ! \	        VP
                  P                  4      \	        VP                  P                  4      4      4       VP                  '       d   R pMVP                  '       d   RpMRpVP
                  P                  ! V 3RRRV/VB V,           VP                  P                  ! V 3RRRV/VB ,           R,           VP                  P                  ! V 3RV/VB ,           # )z FULL OUTER JOIN z LEFT OUTER JOIN z JOIN rÆ  Trj  ú ON )r‹  r¨  rù  rm  r'   r    r(   r¶   r’   Úisouterrô  Úonclause)r  rž   rÆ  rj  rñ  Ú	join_types   &&&&, r  Ú
visit_joinÚSQLCompiler.visit_join  s  € ßØ×Ñ×$Ñ$Ü×!Ò!Ü˜dŸi™i×5Ñ5Ó6Ü˜dŸj™j×6Ñ6Ó7óôð �9�9ˆ9Ø+‰IØ�\�\ˆ\Ø+‰Ià ˆIà�I‰I×(Ò(ØñØ!ðØ/:ðØ>Dñð õð �j‰j×+Ò+ØñØ!ðØ/:ðØ>Dñõ	ð õð �m‰m×.Ò.ØñØ"-ðØ17ñõð	
r  c                	ó4  € VP                   P                  4        UUUu/ uF)  w  w  r4pVR V P                  P                  39   g   K'  W5bK+  	  ppppVP                  V9   d.   V P                  W!P                  WaP                  ,          R4      pWb3# u upppi )r«  T)rì  r©  r»  rþ   r½   r€  )r  r6  Ú
table_textr½   r»  r÷  Údialect_hintss   &&&    r  Ú_setup_crud_hintsÚSQLCompiler._setup_crud_hints9  s•   € ð 04¯{©{×/@Ñ/@Ô/Bõ
á/BÑ+Ñ � )Ø˜3 §¡× 1Ñ 1Ð2Ñ2ô ˆEÒÙ/Bð 	ò 
ð
 �:‰:˜Ô&Ø×3Ñ3ØŸJ™J¨·j±jÕ(AÀ4óˆJð Ð(Ð(ùô
s   Ÿ$BÁBc               ó    € V ^8„  d   QhRRRR/# )r  r½   rR   r  rW  r  )rÍ   s   "r  r  r”  e  s   € ÷ <ñ <Øð<à	(ñ<r  c                óà  € V P                   P                  pVP                  pVP                  pVf   R# VP                  '       d(   V P
                  P                  VP                  ^ 4      pM&V P                  P                  VP                  ^ 4      pW%,          '       d   V# VP                  '       d9   \        P                  ! RV^ ,           RV P                   P                   R24      hR# )a  given a :class:`.Table`, return a usable sentinel column or
columns for this dialect if any.

Return None if no sentinel columns could be identified, or raise an
error if a column was marked as a sentinel explicitly but isn't
compatible with this dialect.

NzColumn z@ can't be explicitly marked as a sentinel column when using the a�   dialect, as the particular type of default generation on this column is not currently compatible with this dialect's specific INSERT..RETURNING syntax which can receive the server-generated value in a deterministic way.  To remove this error, remove insert_sentinel=True from primary key autoincrement columns; these columns are automatically used as sentinels for supported dialects in any case.)r»  Ú"insertmanyvalues_implicit_sentinelÚ _sentinel_column_characteristicsr   Ú
is_autoincÚ_sentinel_col_autoinc_lookuprì  Údefault_characterizationÚ _sentinel_col_non_autoinc_lookupÚis_explicitr/   rD  rþ   )r  r½   Úsentinel_optsÚsentinel_characteristicsÚ	sent_colsÚbitmasks   &&    r  Ú_get_sentinel_column_for_tableÚ*SQLCompiler._get_sentinel_column_for_tablee  sæ   € ð Ÿ™×GÑGˆØ#(×#IÑ#IÐ à,×4Ñ4ˆ	àÒÙà#×.×.Ð.Ø×7Ñ7×;Ñ;Ø(×AÑAÀ1ó‰Gð ×;Ñ;×?Ñ?Ø(×AÑAÀ1óˆGð ×"Ô"ØÐà#×/×/Ð/ô ×)Ò)Ø˜) A�,˜ð (>à—<‘<×$Ñ$Ð%ð &@ð
@óð ñ r  c               ó8   € V ^8„  d   QhRRRRRRRRR	R
RRRRRR/# )r  r3  rü   r4  re   Úcompiled_parametersz%List[_MutableCoreSingleExecuteParams]Úgeneric_setinputsizesrb  Ú
batch_sizerS  rU  r*  r°  r¯  r  z Iterator[_InsertManyValuesBatch]r  )rÍ   s   "r  r  r”  £  sf   € ÷ oñ oàðoð -ðoð Cð	oð
  Cðoð ðoð "&ðoð ?ðoð 
*ñor  c              #  	ó.  a aa@aAaBaCaD"  € S P                   pVf   Q hVP                  '       g   R p	M\        P                  ! VP                  !  p	\	        V4      p
VP
                  '       d"   S P                  P                  '       g   RpRpM¬S P                  P                  '       dM   V'       dJ   S P                  '       d8   VP                  e%   VP                  '       d   VP                  '       g   RpRpM?VP                  '       d*   VP                  '       g   S P                  '       d   RpRpMRpRpV'       dV   \        \        R\!        W#4      4      ^4       F0  w  pw  rï\#        TTSV.V	'       d
   V	! V4      .M. ^VV
VV4
      x € K2  	  R # V'       d.   \$        P&                  ! S P(                  P*                  VR7      pMR pVP,                  pV'       d	   V! V4      pRV R2pVP/                  VR4      pS P                  P0                  pV'       dN   \	        S P2                  4      p\	        VP4                  4      pVV,
          p\7        VVV,
          V,          4      p\        R\9        V4      4      p\        R\9        V4      4      pR p^pW¥,          W¥,          '       d   ^M^ ,           pVP4                  pVf   Q hV'       d'   V UUUUu. uF  w  ppppVVV! V4      V3NK  	  ppppp^ ;oCoDS P:                  '       gÁ   S P<                  '       d   S P<                  oAM/ oA\?        V^ ,          4      p VAV 3R	 lo@VP                  '       d   R
p!MRp!RRPA                  V@3R lV 4       4       V! R2p"V PC                  VA3R lV 4       4      p#V PE                  V#4       Uu/ uF  pVV^ ,          V,          bK  	  p$pRoBEM'Rp"\?        4       p#/ p$VP                  '       d   RV R2oBMRV R2oB\?        4       p%VP4                   F  p&V%PG                  V&^,          4       K  	  V%'       dq   S PH                  p'V'f   Q h\        V'4       U(U)u0 uF  w  p(p)V)V%9   g   K  V(kK  	  p*p(p)\7        V*4      oC\K        V*4      ^,           oD\	        V*4      SDSC,
          8X  g   Q hS PL                  '       d<   \N        PP                  ! S PR                  4      p+\N        PT                  ! V+ R2RSB4      oBV'       Edñ   V^ V p,V^ V p-. V^ V% . V^ V% V'       d   Tp.M\	        V,4      p.S'       d0   V3R l\W        V.4       4        U/U0U1u. uF  w  p/p0p1V/V0V13NK  	  pp0p/p1S P:                  '       Edl   VPX                  p2V2\	        V,^ ,          4      8X  d   R;p3p4T,p5M%V,^ ,          R SC p3V,^ ,          SDR  p4VCVD3R lV, 4       p5VP                  '       d)   RPA                  VB3R l\        V,4       4       4      R R p6MSBV.,          R R p6S PL                  '       dz   V2^ 8”  ds   V4'       d   Q hSC^,           p7V2V.,          V7,           p8\Z        ;QJ d!    . V 3R l\W        V7V84       4       F  NK  	  5M! V 3R l\W        V7V84       4       4      p9V6V9,          p6VP/                  RV64      p:\[        \\        P^                  Pa                  V54      4      p;V3V;,           V4,           p;MÏ. p<V$Pc                  4       p;\        V,4       F�  w  p=pV"P/                  R\e        V=4      4      p>VP                  '       d   V>P/                  R\e        V=4      4      p>V<Pg                  V>4       T;PG                  V# Uu/ uF  pV RV= 2VV,          bK  	  up4       K�  	  VP/                  RRPA                  V<4      4      p:\#        T:T;TT,V	'       d   V- U?u. uF  p?V	! V?4      NK  	  up?M. V.VVVR4
      x € V^,          pEKù  R # u uppppi u upi u up)p(i u up1p0p/i u upi u up?i 5i)NTFzKSequence[Tuple[_DBAPISingleExecuteParams, _MutableCoreSingleExecuteParams]]©r°  rN  rP  Ú__EXECMANY_TOKEN__zList[Sequence[Any]]c                ó²   <€ V  FO  pSP                  W"4      pVP                  SP                  R V/,          SP                  R V R2/,          4      pKQ  	  V# )rþ   Ú__EXECMANY_INDEX__)rì  r,  rj  )r  Ú	formattedr@  r|  r  s   && €€r  Úapply_placeholdersÚISQLCompiler._deliver_insertmanyvalues_batches.<locals>.apply_placeholdersF  se   ø€ Û�CØ,×0Ñ0°Ó:�CØ )× 1Ñ 1Ø×)Ñ)¨V°S¨MÕ9Ø×)Ñ)Ø! c UÐ*<Ð#=Ð>õ?ó!’Iñ  ð !Ð r  z, _IMV_VALUES_COUNTERrª  rÔ   c              3  ó<   <"  € T F  w   rpS! W24      x € K  	  R # 5ir  r  )r?  rU  rx  Ú	bind_keysry  s   &   €r  rA  Ú@SQLCompiler._deliver_insertmanyvalues_batches.<locals>.<genexpr>T  s'   øé € ð 6á2DÑ.�A�q Yñ # 9×8Ð8Û2Dùs   ƒc              3  ó`   <"  € T F#  w    rV F  pSP                  W34      x € K  	  K%  	  R # 5ir  rŠ  )r?  rU  r|  r@  r|  s   &   €r  rA  r}  Y  s:   øé € ð 4á*<Ñ&�A�q˜!Û$�Cð #×&Ñ& s×0Ð0á$ñ 1Û*<ùó   ƒ+.z, _IMV_VALUES_COUNTER), z), z\d+rÛ  c              3  óN   <"  € T F  pS F  w  r#pV R V 2W43x € K  	  K  	  R# 5i)rU  Nr  )r?  r„  r@  Úlen_r7  rq  s   &    €r  rA  r}     s9   øé € ð /á%>˜EÛ.C™N˜C sð  ˜5  % Ð)¨4Õ5á.Cñ 6Û%>ùó   ƒ"%c              3  ó.   <"  € T F
  pVSS x € K  	  R # 5ir  r  )r?  r­  Úexpand_pos_lower_indexÚexpand_pos_upper_indexs   & €€r  rA  r}  µ  s!   øé € ð &á!&˜Að Ð0Ð1GÕHÛ!&ùs   ƒc              3  ó^   <"  € T F"  w  rSP                  R \        V4      4      x € K$  	  R# 5i)Ú_IMV_VALUES_COUNTERN)r,  rü   )r?  rK  rU  Úexecutemany_values_w_commas   &  €r  rA  r}  ¼  s7   øé € ð  ñ )9¡ ð 7×>Ñ>Ø 5´s¸1³v÷ð ó )9ùs   ƒ*-c              3  óD   <"  € T F  pSP                    V 2x € K  	  R # 5ir  )rl  )r?  rK  r  s   & €r  rA  r}  Ù  s(   øé € ð &á!2˜Að  ×>Ñ>Ð?À¸sÕCÛ!2ùs   ƒ ÚEXECMANY_INDEX__r‡  Ú__r  éþÿÿÿ)4rx  rZ  r�  r­  rë  rP  r»  Úsupports_default_metavalueÚsupports_multivalues_insertr®  rX  rV  r]  r\  rJ  r   r&  r_  Ú	functoolsÚpartialr³  rÈ  rQ  r,  Úinsertmanyvalues_max_parametersrf  rR  ÚminrÈ  r™  r|  r¹   rž   rõ  rà  r¨  r8  r  rq  rŠ  r‹  rl  ré  ÚrangerT  rE  rù  rú  Úfrom_iterabler4  rü   râ  )Er  r3  r4  rp  rq  rr  rU  r°  ÚimvÚ_sentinel_from_paramsÚ	lenparamsÚuse_row_at_a_timeÚ
downgradedrg  ÚparamÚcompiled_paramÚrstÚimv_single_values_exprÚexecutemany_valuesÚ
max_paramsÚtotal_num_of_paramsÚnum_params_per_batchÚnum_params_outside_of_batchÚbatchesÚcompiled_batchesrc  rh  rR  r(  r@  r^  ÚstÚall_keysÚimv_values_counterÚformatted_values_clauseÚkeys_to_replaceÚbase_parametersÚall_names_we_will_expandr”  r8  r®  rþ   Úall_expand_positionsÚescapedrd  Úcompiled_batchrf  Únew_keyr�  r7  Únum_ins_paramsÚextra_params_leftÚextra_params_rightÚbatch_iteratorÚexpanded_values_stringr”  r‹   rå  r`  ra  Úreplaced_values_clausesrK  Úfmvr¿  ry  r|  rˆ  r„  r…  sE   f&&&f&&&                                                        @@@@@r  Ú!_deliver_insertmanyvalues_batchesÚ-SQLCompiler._deliver_insertmanyvalues_batches£  sž  þé € ð ×$Ñ$ˆØŠÐˆà×&×&Ð&Ø$(Ñ!ä$,×$7Ò$7Ø×(Ñ(ñ%Ð!ô ˜
“Oˆ	Ø××Ð t§|¡|×'N×'NÐ'Nð !%ÐØ‰JØ—‘×9×9Ð9ß#Ø×$×$Ð$à×$Ñ$Ò,à×1×1Ð1Ø×4×4Ð4ð !%ÐØ‰Jà×+×+Ð+Ø×,×,Ð,Ø×$×$Ð$ð !%ÐØ‰Jà %ÐØˆJçÜ5>ÜØaÜ˜
Ó8óð ö6Ñ1�Ñ1˜5ô -ØØØ)Ø�G÷ 1ñ /¨~Ó>Ñ?ààØØØ+Øóô ñ6ñ. çÜ×#Ò#Ø—‘×7Ñ7Ø%9ô‰Cð
 ˆCà!$×!7Ñ!7ÐßÙ%(Ð)?Ó%@Ð"à Ð!7Ð 8¸Ð:ÐØ×%Ñ%Ð&8Ð:NÓOˆ	ð —\‘\×AÑAˆ
ßÜ"% d§o¡oÓ"6ÐÜ#& s×'=Ñ'=Ó#>Ð à#Ð&:Õ:ð (ô ØàÐ"=Õ=Ø+õ,óˆJô Ð,¬d°:Ó.>Ó?ˆÜØ!¤4Ð(;Ó#<ó
Ðð HLÐØˆØ!Õ/Ø×'Ô'‰A¨Qõ
ˆð !×3Ñ3ÐØ!Ò-Ð-Ð-çñ +=ö"á*<Ñ&�C˜˜d Bð �c™3˜t›9 bÓ)Ù*<ð ó "ð ;<Ð;ÐÐ!7à��ˆØ×&×&Ð&Ø%)×%<Ñ%<Ñ"à%'Ð"ä˜: a�=Ó)ˆHö!ð ×'×'Ð'Ø%<Ñ"à%'Ð"Ø*+¨D¯I©Iô 6á2Dó6ó -ð ,ð "Ð" !ð''Ð#ð
 '×3Ñ3ô 4á*<ó4ó ˆOð $×.Ñ.¨Ô?óá?�Cð �Z •] 3Õ'Ò'Ù?ð ð ð
 *,Ò&à&(Ð#Ü!›eˆOØ ˆOà×'×'Ð'àÐ.Ð/Ð/GÐHñ +ð 01Ð1GÐ0HÈÐ-LÐ*ä14³Ð$Ø×.Ô.�Ø(×/Ñ/°°QµÖ8ñ /÷ (Ø"×.Ñ.�Ø"Ò.Ð.Ð.ô &/¨{Ô%;ô(á%;™	˜˜TØÐ7Ñ7÷ �CÙ%;ð %ñ (ô
 *-Ð-AÓ)BÐ&Ü),Ð-AÓ)BÀQÕ)FÐ&äÐ,Ó-Ø-Ð0FÕFôGððGð ×"×"Ð"ÜŸ)š) D×$GÑ$GÓH�Ü-/¯VªVØ�y Ð$ dÐ,Fó.Ð*÷ ˆgØ˜A˜jÐ)ˆEØ-¨a°
Ð;ˆNà$&ˆG�A�jÐ!Ø-/Ð˜Q˜zÐ*çØ%/Ñ"ä%(¨£ZÐ"ç$ô/ä%*Ð+=Ô%>ô/õ+ñ/Ñ*˜  sð ˜d CÓ(ñ/ð (ò +ð ��‰Ø!$×!BÑ!B�ð "¤S¨¨q­£]Ô2Ø=?Ð?Ð%Ð(:Ø%*‘Nà(-¨a­Ð1HÐ2HÐ(IÐ%Ø).¨q­Ð2HÐ2IÐ)JÐ&õ&á!&ó&�Nð
 ×+×+Ð+àŸ™ô  ô )2°%Ô(8ó	 ó ð �rð.Ñ*ð 4Ð6HÕHØ�rð.Ð*ð ×&×&Ð&¨>¸AÔ+=÷  2Ð1Ð1à2°QÕ6�EØ(Ð,>Õ?À%ÕG�C÷ !&¤ô &ä!& u¨cÔ!2ó&§¡ô &ä!& u¨cÔ!2ó&ó !�Ið .DÀiÕ-OÐ*à%.×%6Ñ%6Ø(Ð*@ó&Ð"ô ',Ü—O‘O×1Ñ1°.ÓAó'Ð#ð
 &Ø)õ*à(õ)ñ $ð +-Ð'Ø&5×&:Ñ&:Ó&<Ð#ä )¨%Ö 0‘H�A�uØ1×9Ñ9Ø*¬C°«Fó�Cð ×/×/Ð/Ø!Ÿk™kÐ*?ÄÀQÃÓH˜à+×2Ñ2°3Ô7Ø'×.Ñ.Ù>MÓN¹o°s˜C˜5  1 #˜¨¨c­
Ò2¹oÑNöñ !1ð &/×%6Ñ%6Ø(Ø—I‘IÐ5Ó6ó&Ð"ô
 )Ø"Ø#Ø'Ø÷ -ñ :HÓH¹°2Ñ*¨2Ö.¹ÒHàà"ØØØ'Øóò ð  ˜�M‹HñI ùõq"ùòPùó<(ùôD+ùòx Oùò Iùs  ‰$`®A`Â `Â)`Â1`Ã`Ã#`Ã5`Ä`Ä`Ä0`ÅA`ÆA`Ç!=`ÈB3`Ë`Ë_1
Ë4`Ì`Ì!B`Î/_9Ï	A/`Ð9 `Ñ_>Ñ*_>Ñ0A
`Ò;A`Ó?`Ô`Ô1`Õ
`Õ`Õ3A `×A`Ø`Ø)%`ÙD`Ý)`
ÞA`ß`ßA`c                	óœ  a a&€ VP                   ! VS 3/ VB pVP                  pVe   W4R&   RpMS P                  '       * pV'       d:   RS n        S P                  '       g   VS n        S P
                  '       g   VS n        S P                  P                  R\        4       R\        4       RV/4       ^ pR pS P                  '       d   Vf   . p\        P                  ! S VVV3RV/VB pS P                  '       dQ   VeM   \        V4      pS P                  '       d0   S P                  e   S ;P                  V,          un        MVS n        VP                  p	V	'       g†   S P                  P                   '       gj   S P                  P"                  '       gN   S P                  P$                  '       g2   \&        P(                  ! RS P                  P*                  ,          4      hVP,                  '       d§   S P                  P.                  '       g2   \&        P(                  ! R	S P                  P*                  ,          4      hS P0                  '       g   VP2                  '       d)   VP4                  '       d   \&        P(                  ! R
4      hVP                  p	MVP                  p	S P6                  p
S P                  P                   pRpVP8                  '       d%   VS P:                  ! WP8                  3/ VB ,          pVR,          pV
P=                  VP>                  4      pVP@                  '       d   S PC                  W4      w  ríVPD                  '       d   S PG                  W4       WÍ,          pV	'       g	   V'       g5   TRRPI                  V	 UUu. uF  w  rï qïNK
  	  upp4      ,          ,          pVPJ                  pR pR pRpS P0                  ;'       g    VP2                  pV'       Ed*   VPL                  pVeã   V'       g   Q hV	 UUUu/ uF  w  p ppVVbK  	  pppp. pV FB  pVV9  d   R p M8S PO                  V4      pVVV,          9  d   R p MVP                  V4       KD  	  VfU   S P                  PP                  \R        PT                  ,          '       d   RpM V^ ,          PV                  '       d   Q R4       h\Y        V4      \Y        V4      ,           pS P[                  VVVR7      pS P\                  '       d   VRV,           ,          pMR pVP^                  e°   S P`                  ! S P                  R$,          R,          3RR/VB pS Pb                  '       d_   S P                  Pd                  '       dC   V'       g   \        S P                  4      MR pVRS Pg                  VRR7      : V: 2,          pEMíVRV,          ,          pEMÛV	'       gr   V'       dj   VR,          pV'       dW   \i        RS P                  Pj                  T	TVP4                  VPl                  R JTV'       d   \        V4      M^ VR7	      S n7        EMbVP,                  '       d0   VRRPI                  R VPp                   4       4      : 2,          pEM!V'       Edä   V'       Ed]   S P                  PP                  \R        Pr                  ,          '       Ed+   VPt                  '       Eg   RpS P                  PP                  \R        Pv                  ,          pT;'       g    R%o&RPI                  V	 UUUu. uF  w  ppppVS&9  g   K  VNK  	  uppp4      p RPI                  V&3R l\y        V	4       4       4      p!V'       d'   RPI                  V&V 3R l\y        V	4       4       4      p"M$RPI                  V&3R l\y        V	4       4       4      p"V	 U#u. uF  p#V#^ ,          S&9  g   K  V#NK  	  p$p#VRV" RV  RV! R 2,          pM9RpT	p$RPI                  V	 UUu. uF
  w   pppVNK  	  upp4      p VR!V  R"2,          p\i        RT T$TVP4                  VPl                  R JTV'       d   \        V4      M^ VVVR#7      S n7        M5RPI                  V	 UUu. uF
  w   pppVNK  	  upp4      p VR!V  R"2,          pVPl                  e6   S P`                  ! VPl                  3/ VB p%V%'       d   VRV%,           ,          pV'       d#   S P\                  '       g   VRV,           ,          pS Pb                  '       dV   S P                  Pd                  '       g:   V'       g   \        S P                  4      MR pS Pg                  VRR7      V,           pS P                  P{                  R$4       V# u uppi u upppi u upppi u up#i u uppi u uppi )&Nr>  FTr%  r$  r"   r)  zWThe '%s' dialect with current database version settings does not support empty inserts.zcThe '%s' dialect with current database version settings does not support in-place multirow inserts.zdRETURNING cannot be deterministically sorted when using an INSERT which includes multi-row values().zINSERT zINTO ú (%s)rÔ   zTsentinel selection rules should have prevented us from getting here for this dialect©rO  rX  r/  rò  rí  r{  z DEFAULT VALUES)rU  rV  rX  rY  r[  z VALUES c              3  ó`   "  € T F$  pR RP                  R V 4       4      ,          x € K&  	  R# 5i)r�  rÔ   c              3  ó,   "  € T F
  w   rqx € K  	  R # 5ir  r  )r?  rU  r  s   &  r  rA  Ú5SQLCompiler.visit_insert.<locals>.<genexpr>.<genexpr>
  s   é € Ð L¹^©>¨1¨a¸¤»^ùs   ‚Nro  )r?  Úcrud_param_sets   & r  rA  Ú+SQLCompiler.visit_insert.<locals>.<genexpr>  s8   é € ð ñ +N˜ð Ø—y‘yÑ L¹^Ó LÓL÷Nò Nã*Mùs   ‚,.c              3  óR   <"  € T F  w  rV^ ,          S9  g   K  RV 2x € K  	  R# 5i)r¦  ÚpNr  )r?  rK  ÚcpÚadd_sentinel_sets   &  €r  rA  rÀ  .  s/   øé € ð %á!>™˜Ø˜!•uÐ$4Ñ4ô �a˜�s•GÛ!>ùs   ƒ'š'c              3  óÈ   <"  € T FW  w  pw  r#rCVS9  dD   SP                  VP                  VP                  P                  SP                  4      R V 24      MTx € KY  	  R# 5i©rÂ  N)r[  r  r5  r»  )r?  rK  r(  rU  r^  rÄ  r  s   &    €€r  rA  rÀ  <  sl   øé € ð 0ñ5Ñ0˜AÑ0 ¨ð  #Ð*:Ô:ð !×1Ñ1Ø #§¡Ø #§¡× @Ñ @ÀÇÁÓ NØ"# A 3 ôð "&ô&ó5ùs   ƒAA"c              3  óL   <"  € T F  w  pw  r#rCVS9  d   R V 2MTx € K  	  R# 5irÆ  r  )r?  rK  r(  rU  r^  rÄ  s   &    €r  rA  rÀ  K  s9   øé € ð 0ñ5Ñ0˜AÑ0 ¨ð %(Ð/?Ô$?˜1˜Q˜C™ÀTÔIó5ùs   ƒ!$z SELECT z FROM (VALUES (z)) AS imp_sen(z#, sen_counter) ORDER BY sen_counterz	 VALUES (rP  )rP  rQ  rR  rT  rU  rV  rX  rY  rZ  r[  r]  rÂ  r  )>rï  r3  r—  r]  rµ  r)  râ  r¹   r™  r   Ú_get_crud_paramsrë  rq  r~  Úsingle_paramsr»  Úsupports_default_valuesr�  Úsupports_empty_insertr/   r%  rþ   Ú_has_multi_parametersrŽ  rc  Ú
_returningÚ_sort_by_parameter_orderr³  rS  rR  Úformat_tabler½   rì  r^  rF  rG  rž   Úuse_insertmanyvaluesÚuse_sentinel_columnsr†  rb  rl  rq  Ú_insert_sentinelrÈ  r<  rg  r·   rÇ  r�  Úcte_follows_insertrJ  rO  Údefault_metavalue_tokenÚ_post_values_clauserx  Úall_multi_paramsrs  Úis_default_metavalue_onlyrt  rJ  r�  )'r  Úinsert_stmtr)  r>  rä  r)  rM  Úcounted_bindparamÚcrud_params_structÚcrud_params_singler³  rÊ  r.  r\  rU  r^  rÐ  Únamed_sentinel_paramsÚadd_sentinel_colsr[  r7  r(  Úparam_namesÚ_params_by_colÚ_add_sentinel_colÚ
param_namer<  Úselect_textrD  Úembed_sentinel_valueÚrender_bind_castsr  r¶  ÚcolnamesÚcolnames_w_castr”  rR  Úpost_values_clauserÄ  s'   f&&&,                                 @r  Úvisit_insertÚSQLCompiler.visit_insert  sŠ	  ù€ ð $×:Ò:Ø˜ñ
Ø!#ñ
ˆð $×-Ñ-ˆàÒ#Ø!-ˆ~ÑØ‰HàŸ:™:”~ˆHçØ ˆDŒMØ×)×)Ð)Ø)6�Ô&Ø×%×%Ð%Ø%2�Ô"à�
‰
×Ñà!¤3£5Ø¤£Ø˜kðô	
ð Ðð !Ðð �?�?ˆ?˜|Ò3ð
 !#Ðä!×2Ò2ØØØØñ	
ð
 0ð
ð ñ
Ðð �?�?ˆ?Ð0Ò<Ü #Ð$5Ó 6ÐØ×"×"Ð"Ø×)Ñ)Ò5Ø×*Ò*Ð.?Õ?Ö*à->�DÔ*à/×=Ñ=Ð÷ #Ø—L‘L×8×8Ð8Ø—L‘L×;×;Ð;Ø—L‘L×6×6Ð6ä×"Ò"ðà!Ÿ\™\×.Ñ.õ/óð ð ×.×.Ð.Ø—<‘<×;×;Ð;Ü×&Ò&ð1à37·<±<×3DÑ3DõEóð ð ×'×'Ð'¨;×+A×+AÐ+AØ×6×6Ð6Ü×&Ò&ðIóð ð "4×!AÑ!AÑà!3×!AÑ!AÐà—=‘=ˆØ"&§,¡,×"FÑ"FÐàˆà× × Ð Ø�D×+Ò+Ø×2Ñ2ñØ68ñõ ˆDð 	��ˆØ×*Ñ*¨;×+<Ñ+<Ó=ˆ
à××ÐØ ×2Ñ2°;ÓK‰MˆAà×(×(Ð(Ø×+Ñ+¨KÔ<àÕˆç×%<Ø�G˜dŸi™iÙ+=Ô>Ñ+=™-˜! 1 a’Ñ+=Ò>óõ õ ˆDð  2×FÑFÐØ9=ÐØ ÐØ!Ðà×0Ñ0×JÐJ°K×4JÑ4Jˆßˆ>Ø 2× GÑ GÐØ Ò,ß+Ð+Ð+ñ 3Eõ"á2DÑ.˜˜Q  ;ð ˜Ò$Ù2Dð ò "ð )+Ð%Û):Ð%Ø(°Ô>Ø04Ð-ÙØ!%×!CÑ!CØ)ó"�Jð "¨Ð8IÕ)JÔJØ04Ð-ÙØ)×0Ñ0°Ö<ñ *;ð )Ò0ð Ÿ™×GÑGÜ6×HÑH÷Iô Ið -1Ñ)ð $5°QÕ#7×#H×#HÐ#Hð ðDóÐHô "& nÓ!5¼Ð=NÓ8OÕ!O�à#×4Ñ4ØØØ$,ð  5ó  Ðð ×-×-Ð-Ø˜Ð.Õ.Õ.�øð  $Ðà×ÑÒ)àŸ,š,Ø—
‘
˜2•Ð3Õ4ñØBFðØJLñˆKð �y�yˆy˜TŸ\™\×<×<Ð<ß7?¤ D§J¡J¤ÀT�ÙØ×+Ñ+Ø&3Ø04ð ,õ ò  ðõ ’ð ˜ Õ+Õ+’ß#×(?ØÐ%Õ%ˆDß#Ü):ØØ—L‘L×8Ñ8Ø&Ø%à#×<Ñ<ð $×7Ñ7¸tÐCà%6ç2CœÐ-Ô.Èà&7ô*�Ô&ùð" ×0×0Ð0ÙØ—	‘	ñ ð +=×*MÒ*Móõ ðõ ŠD÷ "Ð!ç!Ð!à—L‘L×CÑCÜ2×IÑI÷Jõ Jð
 ,×E×EÑEð (,Ð$ð —L‘L×CÑCÜ2×JÑJõKð "ð
 $5×#:Ð#:¸Ð à,0¯I©Iñ 1Cõá0BÑ,˜C  E¨1ØÐ&6Ñ6÷ ˜Ù0Bóó-Ð)ð  Ÿ9™9ô %ä!*Ð+=Ô!>ó%ó �÷ %ð '+§i¡iõ 0ô 5>Ø.ô5ó0ó '‘Oð '+§i¡iô 0ä4=Ø.ô5ó0ó '�Oñ !3ó&á 2˜Ø˜A•wÐ&6Ñ6÷ �DÙ 2ð #ð &ð Ø˜Ð/ð 0 Ø 9Ð:ð ;"Ø"* ð ,+ð+õ‘ð (-Ð$Ø%7Ð"Ø,0¯I©IÙ1CÔDÑ1C™~˜q ! U¨A“UÑ1CÒDó-Ð)ð ˜)Ð$=Ð#>¸aÐ@Õ@�ä%6Ø %Ø#<Ø#5Ø.?Ø)4×)MÑ)Mà×3Ñ3¸4Ð?à!2ç.?”CÐ)Ô*ÀQà$9Ø"3Ø%9ô&ˆDÕ"ð& )-¯	©	Ù-?Ô@Ñ-?™>˜1˜a ¨“Ñ-?Ò@ó)Ð%ð �iÐ 9Ð:¸!Ð<Õ<ˆDà×*Ñ*Ò6Ø!%§¢Ø×/Ñ/ñ"Ø35ñ"Ð÷ "Ø˜Ð0Õ0Õ0�ç D×$B×$BÐ$BØ�CÐ*Õ*Õ*ˆDà�9�9ˆ9˜TŸ\™\×<×<Ð<ß3;œC §
¡
œOÀˆMà×'Ñ'Ø"/Ø,0ð (ó ð õ	ð ð 	�
‰
�‰�rÔàˆùó] ?ùô0"ùôHùòV&ùó& Eùó2 As0   Îf)Ðf/Ü8f6Ýf6ßf=ß)f=àg
âg
c                ó   € R# )z3Provide a hook for MySQL to add LIMIT to the UPDATENr  )r  Úupdate_stmts   &&r  Úupdate_limit_clauseÚSQLCompiler.update_limit_clause›  ó   € ár  c                ó   € R# )z3Provide a hook for MySQL to add LIMIT to the DELETENr  )r  Údelete_stmts   &&r  Údelete_limit_clauseÚSQLCompiler.delete_limit_clauseŸ  rî  r  c                ó6   € RVR&   VP                   ! V 3RR/VB # )zdProvide a hook to override the initial table clause
in an UPDATE statement.

MySQL overrides this.

TrÆ  rw  ró  )r  rë  Ú
from_tableÚextra_fromsrä  s   &&&&,r  Úupdate_tables_clauseÚ SQLCompiler.update_tables_clause£  s(   € ð ˆˆ8‰Ø×,Ò,¨TÑE¸$ÐEÀ"ÑEÐEr  c                ó   € \        R4      h)zfProvide a hook to override the generation of an
UPDATE..FROM clause.

MySQL and MSSQL override this.

zCThis backend does not support multiple-table criteria within UPDATErë  ©r  rë  rô  rõ  Ú
from_hintsrä  s   &&&&&,r  Úupdate_from_clauseÚSQLCompiler.update_from_clause­  s   € ô "ð%ó
ð 	
r  c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r  rë  r<   r>  r?  rä  r   r  rü   r  )rÍ   s   "r  r  r”  »  s8   € ÷ Rñ RàðRð $ðRð ð	Rð
 
ñRr  c                	ó€	  € VP                   ! W3/ VB p\        '       d   \        V\        4      '       g   Q hVP                  pVe   W#R&   RpMV P
                  '       * pV'       d8   RV n        V P                  '       g   W@n        V P                  '       g   W@n        V P                  \        ,          '       d;   \        / \        4       4      pV P                  \        ,          pV'       d   W`n        MR pRpVP                  p\!        V4      p	V	'       dJ   \        \#        VP$                  4      4      p
V Uu. uF  q»V
9  g   K  VNK  	  ppV
P'                  V4      pM. pVP$                  0pV P
                  P)                  RVRVRV/4       RpVP*                  '       d$   WàP,                  ! WP*                  3/ VB ,          pV P.                  ! VVP$                  V3RV/VB p\0        P2                  ! WWE3/ VB pVP4                  pVP6                  '       d   V P9                  W4      w  ppMR pVP:                  '       d   V P=                  W4       Wï,          pVR	,          pVR
P?                  R \A        RV4       4       4      ,          pV PB                  '       g   VPD                  '       dS   V PF                  '       dA   TRT PI                  TV PB                  ;'       g    VPD                  VR7      ,           ,          pV'       d;   V PJ                  ! VVP$                  VV3RV/VB pV'       d   VRV,           ,          pVPL                  '       d8   V PN                  ! VPL                  3RV/VB pV'       d   VRV,           ,          pV PQ                  V4      pV'       d   VRV,           ,          pV PB                  '       g   VPD                  '       dS   V PF                  '       gA   TRT PI                  TV PB                  ;'       g    VPD                  VR7      ,           ,          pV PR                  '       d9   V'       g   \U        V P
                  4      MR pV PW                  VR7      V,           pV'       d   Vf   Q hVPY                  RR7       V P
                  P[                  R4       V# u upi )Nr>  FTr%  r$  r"   zUPDATE rj  z SET rÔ   c              3  óH   "  € T F  w  rr1VR ,           V,           x € K  	  R# 5i)Ú=Nr  )r?  rU  r^  r  s   &   r  rA  Ú+SQLCompiler.visit_update.<locals>.<genexpr>  s,   é € ð 
ñ&Ñ!�˜ð �3�J˜×Òó&ùs   ‚ "zList[Tuple[Any, str, str, Any]]rX  r»  ú WHERE rC  ÚUPDATE©r   rÂ  ).rï  r   rÅ  r>   r3  r—  r^  rµ  r)  r’  r}  r�  r¹   r~  rj  Ú_extra_fromsr*  r(   r½   rÂ   râ  rS  rR  rö  r   rÈ  rÉ  rì  r^  rF  rG  rž   r   rc  rÍ  rg  r<  rû  r	  r}  rì  r�  rë  rJ  r¡  r�  )r  rë  r>  rä  r)  rM  rj  r  rõ  Úis_multitableÚ
main_fromsr  Úrender_extra_fromsr%  r.  r\  rÚ  Úcrud_paramsr]  Úextra_from_textr  rÿ  rD  s   &&&,                   r  Úvisit_updateÚSQLCompiler.visit_update»  s{  € ð $×:Ò:Øñ
Ø!#ñ
ˆ÷ ‹=Ü˜m¬^×<Ò<Ð<Ð<Ø#×-Ñ-ˆàÒ#Ø!-ˆ~ÑØ‰HàŸ:™:”~ˆHçØ ˆDŒMØ×)×)Ð)Ø)6Ô&Ø×%×%Ð%Ø%2Ô"à�<‰<Ô4×4Ô4Ü$ R¬«Ó/ˆKØŸ<™<¬,Õ6ˆLßØ#.Ô øàˆKØ ˆLà#×0Ñ0ˆÜ˜[Ó)ˆçäœ]¨;×+<Ñ+<Ó=Ó>ˆJá&ó"Ù&�a°:Ñ*=—�™;ð ð "ð )×.Ñ.¨{Ó;‰Oà!#ÐØ*×0Ñ0Ð1ˆOà�
‰
×Ñà! ?Ø Ø˜kðô	
ð ˆà× × Ð Ø×+Ò+Ø×2Ñ2ñØ68ñõ ˆDð ×.Ò.ØØ×ÑØñ
ð $ð	
ð
 ñ
ˆ
ô "×2Ò2Ø˜}ñ
Ø:<ñ
Ðð )×6Ñ6ˆà××ÐØ(,×(>Ñ(>Øó)Ñ%ˆM™:ð !ˆMà×(×(Ð(Ø×+Ñ+¨KÔ<àÕˆà��ˆØ�—	‘	ñ 
ä%)Ø1°;ô&ó
ó 
õ 	
ˆð ×"×"Ð" k×&<×&<Ð&<Ø×-×-Ð-Ø˜˜d×3Ñ3ØØ×+Ñ+×EÐE¨{×/EÑ/EØ(0ð 4ó õ õ �÷ Ø"×5Ò5ØØ×!Ñ!Ø"Øñ	ð
 (ðð ñˆO÷ Ø˜˜oÕ-Õ-�à×&×&Ð&Ø×1Ò1Ø×+Ñ+ñØ9DðØHJñˆA÷ Ø˜	 A�Õ%�à×/Ñ/°Ó<ˆßØ�C˜,Õ&Õ&ˆDð ×#×#Ð# {×'=×'=Ð'=Ø×0×0Ð0Ø�C˜$×/Ñ/ØØ×'Ñ'×AÐA¨;×+AÑ+AØ$,ð 0ó õ õ ˆDð �9�9ˆ9ß3;œC §
¡
œOÀˆMØ×*Ñ*¸Ð*ÓGÈ$ÕNˆDçØÒ*Ð*Ð*Ø×Ñ xÐÔ0à�
‰
�‰�rÔàˆùòS"s   Ä;R;ÅR;c                ó   € \        R4      h)z Provide a hook to override the generation of an
DELETE..FROM clause.

This can be used to implement DELETE..USING for example.

MySQL and MSSQL override this.

zCThis backend does not support multiple-table criteria within DELETErë  ©r  rð  rô  rõ  rú  rä  s   &&&&&,r  Údelete_extra_from_clauseÚ$SQLCompiler.delete_extra_from_clauseO  s   € ô "ð%ó
ð 	
r  c                	ó0   € VP                   ! V 3R RRR/VB # )rÆ  Trw  ró  )r  rð  rô  rõ  rä  s   &&&&,r  Údelete_table_clauseÚSQLCompiler.delete_table_clause_  s0   € Ø×,Ò,Øñ
Øð
Ø&*ð
Ø.0ñ
ð 	
r  c                	óÈ  € VP                   ! W3/ VB pVP                  pVe   W#R&   RpMV P                  '       * pV'       d8   RV n        V P                  '       g   W@n        V P
                  '       g   W@n        V P                  \        ,          '       d;   \        / \        4       4      pV P                  \        ,          pV'       d   W`n        MR pRpVP                  pVP                  0P                  V4      p	V P                  P                  RV	RV	RV/4       Rp
VP                   '       d$   W P"                  ! WP                   3/ VB ,          p
V
R,          p
 V P%                  VVP                  VVR	7      p\*        P,                  ! WWE3/ VB  VP.                  '       d   V P1                  W4      w  rÛMR pVP2                  '       d   V P5                  W4       W«,          p
V P6                  '       g   VP8                  '       dS   V P:                  '       dA   T
R
T P=                  TV P6                  ;'       g    VP8                  VR7      ,           ,          p
V'       d;   V P>                  ! VVP                  VV3RV/VB pV'       d   V
R
V,           ,          p
VP@                  '       d8   V PB                  ! VP@                  3RV/VB pV'       d   V
RV,           ,          p
V PE                  V4      pV'       d   V
R
V,           ,          p
V P6                  '       g   VP8                  '       dS   V P:                  '       gA   T
R
T P=                  TV P6                  ;'       g    VP8                  VR7      ,           ,          p
V PF                  '       d9   V'       g   \I        V P                  4      MR pV PK                  VR7      V
,           p
V'       d   Vf   Q hVPM                  RR7       V P                  PO                  R4       V
#   \&         dF    T P%                  YP                  T4      pT'       d   T P)                  TP                  TR	7      p ELái ; i)Nr>  FTr%  r$  r"   zDELETE úFROM )rj  rX  r»  rj  r  rC  ÚDELETEr  rÂ  )(rï  r3  r—  r\  rµ  r)  r’  r}  r�  r¹   r~  rj  r  r½   rÂ   râ  rS  rR  r  Ú	TypeErrorrÇ  r   rÈ  rì  r^  rF  rG  rc  rÍ  rg  r<  r  r	  r}  rñ  r�  rë  rJ  r¡  r�  )r  rð  r>  rä  r)  rM  rj  r  rõ  r%  r.  r\  rU  r]  r
  r  rÿ  rD  s   &&&,              r  Úvisit_deleteÚSQLCompiler.visit_deleted  s  € Ø#×:Ò:Øñ
Ø!#ñ
ˆð $×-Ñ-ˆàÒ#Ø!-ˆ~ÑØ‰HàŸ:™:”~ˆHçØ ˆDŒMØ×)×)Ð)Ø)6Ô&Ø×%×%Ð%Ø%2Ô"à�<‰<Ô4×4Ô4Ü$ R¬«Ó/ˆKØŸ<™<¬,Õ6ˆLßØ#.Ô øàˆKØ ˆLà#×0Ñ0ˆà&×,Ñ,Ð-×3Ñ3°KÓ@ˆØ�
‰
×Ñà! ?Ø Ø˜kðô	
ð ˆà× × Ð Ø×+Ò+Ø×2Ñ2ñØ68ñõ ˆDð 	��ˆð	MØ×1Ñ1ØØ×!Ñ!ØØ'ð	 2ó ˆJô 	×Ò˜d°ÑOÈBÒOà××ÐØ(,×(>Ñ(>Øó)Ñ%ˆM˜:ð !ˆMà×(×(Ð(Ø×+Ñ+¨KÔ<àÕˆð ×#×#Ð# {×'=×'=Ð'=Ø×,×,Ð,Ø�C˜$×/Ñ/ØØ×'Ñ'×AÐA¨;×+AÑ+AØ$,ð 0ó õ õ ˆD÷ Ø"×;Ò;ØØ×!Ñ!ØØñ	ð
 (ðð ñˆO÷ Ø˜˜oÕ-Õ-�à×&×&Ð&Ø×1Ò1Ø×+Ñ+ñØ9DðØHJñˆA÷ Ø˜	 A�Õ%�à×/Ñ/°Ó<ˆßØ�C˜,Õ&Õ&ˆDð ×#×#Ð# {×'=×'=Ð'=Ø×0×0Ð0Ø�C˜$×/Ñ/ØØ×'Ñ'×AÐA¨;×+AÑ+AØ$,ð 0ó õ õ ˆDð �9�9ˆ9ß3;œC §
¡
œOÀˆMØ×*Ñ*¸Ð*ÓGÈ$ÕNˆDçØÒ*Ð*Ð*Ø×Ñ xÐÔ0à�
‰
�‰�rÔàˆøôU ô 	Mð ×1Ñ1Ø×.Ñ.°óˆJ÷ Ø—L‘L ×!2Ñ!2À�LÓL�úð	Mús   Å P ÐAQ!Ñ Q!c                	óF   € R V P                   P                  V4      ,          # )zSAVEPOINT %s©r³  Úformat_savepoint©r  Úsavepoint_stmträ  s   &&,r  Úvisit_savepointÚSQLCompiler.visit_savepointç  s   € Ø §¡× >Ñ >¸~Ó NÕNÐNr  c                	óF   € R V P                   P                  V4      ,          # )zROLLBACK TO SAVEPOINT %sr  r  s   &&,r  Úvisit_rollback_to_savepointÚ'SQLCompiler.visit_rollback_to_savepointê  s#   € Ø)¨D¯M©M×,JÑ,JØó-
õ 
ð 	
r  c                	óF   € R V P                   P                  V4      ,          # )zRELEASE SAVEPOINT %sr  r  s   &&,r  Úvisit_release_savepointÚ#SQLCompiler.visit_release_savepointï  s#   € Ø%¨¯©×(FÑ(FØó)
õ 
ð 	
r  )-rn  r}  rx  rp  rq  rl  ro  rs  rw  ru  rr  r®  rm  r£  r~  r¡  rf  re  rj  r·  r�  rk  r)  r�  r‚  r„  rµ  r|  r‘  rj  rø  r€  r\  r]  rd  r^  rŸ  rƒ  r’  rü  r™  r8  r—  r«  r¢  r  )NT)NNTNTF©F)NFFNr  )NTr  Nr  )NF)FN©Nr  )NFNN)FFFFFF)FFNNNN)FFFNFFNN)FNN)NNNTFFT)FFNNNFN)NFF)FFFNTNNNr‰  )ür  r  r  r  r	  ÚEXTRACT_MAPrÄ  r$   r  rY  r
  r
  ÚCOMPOUND_KEYWORDSrð  r\  r]  r^  r`  ra  rc  rd  rg  rh  ri  rm  rn  ro  rp  rq  rr  rs  ru  rw  rx  ry  Ú	frozensetrz  r{  r  r|  rø  Úpostfetch_lastrowidr}  r8  r~  r  r€  rŠ  rŒ  ri  rý  Úpatternrê  r  rÎ  r‡  r|  rÊ  rM  r¶  Úro_memoized_propertyr¼  r¿  rÅ  rÉ  Úmemoized_propertyrÍ  Úmemoized_instancemethodrÒ  Ú
contextlibÚcontextmanagerrØ  r«  rª  r  r  rí  r  r  rA  rý  r¬  Úpreload_moduler  r†  r¤  r°  r´  rÀ  rÇ  rË  rÝ  rä  rò  r÷  rü  r  r  r  r  r%  r/  r  r@  rP  rW  r_  rd  rq  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;  r9  rW  rf  r'  rr  ru  rx  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+   re  rH  rô  ré  r$  r7  rG  r"   Ú_CTEOptsrM  rq  rt  rp  r…  ro  rŽ  r™  r¡  r¤  rV  rI  r°  r®  r€  rÍ  rÇ  rÕ  rÙ  Útypingr   rE  râ  rä  rý  rí  rë  rð  rR  rJ  r  rî  ró  rô  r  r<  rÿ  rþ  rR  rY  r^  r*   Ú
CLIENTSIDErl  rr  ÚSENTINEL_DEFAULTÚNONEro  rp  rg  rÂ   rn  re  rm  r·  rè  rì  rñ  rö  rû  r  r  r  r  r  r"  r%  r  r  r  r  ré  ré  *  sÙ	  ‡ ñð €Kð 	×Òà�SØ�SØ�SØ�SØ�SØ�SØ�SØ�Sð	ó	
ð Ð ;ó ðð: /Ó.Ø6Ó6à€Fà)Ðà€HˆdÓØ€HˆdÓØ€HˆdÓðð
 +Ó*ð%ñ .0€OÐ*Ó/ðñ .0€OÐ*Ó/ð$ð BFÐÐ>ÓEðð €K�Óà(Ó(ØIà-Ó-ð6ð %Ó$ð4ð ',Ð˜tÓ+ðð 5:Ð+¨TÓ9ðð
 "€O�TÓ!ðð ÓØBà!Ó!ðð %(Ó'ðð
 .Ó-ðð
 &+Ð˜dÓ*ðð "€O�TÓ!ðð "Ð�dÓ!ðð ).Ð Ó-ðð !€N�DÓ ðð !&Ð˜Ó%ðð =AÐ Ð"9Ó@ðð +/Ð˜-Ó.ðð
 6:ÐÐ2Ó9à59ÐÐ2Ó9à=AÐÐ:ÓAá<E»KÐÐ9ÓGðñ
 :C»ÐÐ6ÓDðð
 8<·±ÐÐ4ÓFðð
 Ððð  Ðð%ð 	ð ð ó ðð (,€KÐ$Ó+ðð .2ÐÐ*Ó1à.2ÐÐ+Ó2à€FˆDÓà
,Ó,ð 3Ó2ð GÓFàÓàŸJšJÐ'LÓMÐØŸ
š
Ð#4Ó5ÐØŸ*š*Ø×$Ñ$Ð
% QÐ'<×'DÑ'DÐ&EÐFóÐð ñ#ó ð#ð ñCó ðCð )-Ø/3Ø %Ø%Ø59÷Pðd ô=ó ð=ð$ 
×Ñôó ðð0 ñ(ó ð(ð ñ Mó ð MðD ñGó ðGð 
×Ñôó ðð 
×!Ñ!ôó "ðð. ×Ññó ðò.9òvGðR 
×Ñô!
ó ð!
òF#ð ôó ð÷
ð 
÷.~ð ~ð@ 
×!Ñ!ñ$ó "ð$ðL ñ
3ó ð
3÷Cð CðJ 
×ÒÐ3Ó4ñ
ó 5ð
ð 4Ó3à	×Ñôó ðð 
×ÑØ	×ÒÐ3Ó4ñPó 5ó ðPðd 
×ÑØ	×ÒÐ3Ó4ñ)ó 5ó ð)õVò>õ@OòOõ-
õ^+õZ/òb
ò
/÷9Oð 9OòvAòòò
òò
õ

õ22õhõõò
òò"@òLòò&ò&Kò
ò(
òT
òB
ò
ò
ò7÷
,ð ,ò\8ò
õCõ?òB3ò-õ$òLò6ò$BòBò
ò

ò4ò$
õH*òTM1õ^6òp8òò
ò
ò

÷
ð ò2GòGð 
×ÑñIó ðIòJòAòEòBòFòAòEòBòFòAòEòBòFò

ò	
òAòEò
ò
õ
õ
õ
õnò`$ð $Ø!%ô	DõB%òNõõ*$÷Að AòFCð ØØ.2Ø&*Ø,0Ø(2×(;Ó(;¸EÓ(B÷Vòp3ò0õbòH0ò?õò"õ/òb9ò(õ
õ2
õ*QJòfòöó
ó$ñ .Ô-à××ÑØ#×1Ò1Ù¡£Ð-±Á	ÃÐ/LÐMó 
Ðöð: '+Ð¡Ô*ðöK÷Z
!ó2óh]ó~ö3ój÷7ó 	ó
ó÷1ó@ö'öR3öj
ó<
)ð" (,×'9Ò'9à,×7Ò7Ø,×>Ò>à,×=Ò=Ø,×>Ò>à,×1Ò1Ø,×>Ò>à,×5Ò5Ø,×5Ò5à,×5Ò5Ø,×5Ò5ð	
ó(Ð$ð& $D×#IÒ#Ià,×1Ò1Ø,×:Ò:ð	
ó$Ð ÷<÷|oöbEóNóóFó
÷Rò Róh
ó 
ö
AóFOó
÷

ð 
r  ré  c                  ó¼   a € ] tR tRtRtR R ltR t]P                  ! R4      V 3R l4       t	R t
R	 tR
 tR tR R ltR tR tR tR tR tR tR tR tRtV ;t# )ÚStrSQLCompileriõ  a_  A :class:`.SQLCompiler` subclass which allows a small selection
of non-standard SQL features to render into a string value.

The :class:`.StrSQLCompiler` is invoked whenever a Core expression
element is directly stringified without calling upon the
:meth:`_expression.ClauseElement.compile` method.
It can render a limited set
of non-standard SQL constructs to assist in basic stringification,
however for more substantial custom or dialect-specific SQL constructs,
it will be necessary to make use of
:meth:`_expression.ClauseElement.compile`
directly.

.. seealso::

    :ref:`faq_sql_expression_string`

c               ó$   € V ^8„  d   QhRRRRRR/# r$  r  )rÍ   s   "r  r  ÚStrSQLCompiler.__annotate__	  s!   € ÷ 7ñ 7¨Kð 7¸sð 7Àsñ 7r  c                	ó.   € VP                   '       d   R # R# )rØ   rª  )r*  r+  s   &&,r  rî  Ú$StrSQLCompiler.get_select_precolumns	  s   € Ø$×.×.Ð.ˆ{Ð6°BÐ6r  c                	ó   € R # )z<name unknown>r  rö  s   &&r  r÷  Ú$StrSQLCompiler._fallback_column_name  s   € Ùr  zsqlalchemy.engine.urlc                	ób  <€ VP                   R 8w  d�   \        P                  P                  pVP                  P                  VP                   4      P                  4       ! 4       pVP                  VRV R7      p\        V\        4      '       g   VP                  ! V3/ VB # \        SV `1  W4      # )r…   N)r“  )Ústringify_dialectr$   r{  Ú
engine_urlÚURLr~   Úget_dialectÚstatement_compilerrÅ  r:  rÇ  rÏ  rå  )r  râ  rã  rä  Úurlr»  ÚcompilerrÒ  s   &&&,   €r  rå  Ú,StrSQLCompiler.visit_unsupported_compilation  s•   ø€ à×$Ñ$¨	Ô1Ü—.‘.×+Ñ+ˆCØ—g‘g—n‘n W×%>Ñ%>Ó?×KÑKÔMÓOˆGà×1Ñ1Ø˜°4ð 2ó ˆHô ˜h¬×7Ò7Ø×'Ò'¨Ñ6°2Ñ6Ð6ä‰wÑ4°WÓBÐBr  c                	ó‚   € V P                   ! VP                  3/ VB : R V P                   ! VP                  3/ VB : R2# )rV  rW  )rÇ  r    r¶   r  s   &&&,r  Úvisit_getitem_binaryÚ#StrSQLCompiler.visit_getitem_binary  s6   € à�LŠL˜Ÿ™Ñ+¨Ô+Ø�LŠL˜Ÿ™Ñ,¨Ô,ð
ð 	
r  c                	ó(   € V P                   ! W3/ VB # r  ©rK  r  s   &&&,r  Úvisit_json_getitem_op_binaryÚ+StrSQLCompiler.visit_json_getitem_op_binary#  ó   € Ø×(Ò(¨Ñ@¸RÑ@Ð@r  c                	ó(   € V P                   ! W3/ VB # r  rN  r  s   &&&,r  Ú!visit_json_path_getitem_op_binaryÚ0StrSQLCompiler.visit_json_path_getitem_op_binary&  rQ  r  c                	ó@   € R V P                   P                  V4       R2# )z<next sequence value: Ú>)r³  Úformat_sequencerä  s   &&,r  rÝ  ÚStrSQLCompiler.visit_sequence)  s#   € à$ T§]¡]×%BÑ%BÀ8Ó%LÐ$MÈQÐOð	
r  c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# r6  r  )rÍ   s   "r  r  r<  .  s<   € ÷ 1ñ 1àð1ð 8ð1ð
 "ð1ð ð1ð 
ñ1r  c          
     	ó¬   € \         P                  ! V4       Uu. uF  pV P                  R VRR/ 4      NK  	  ppRRP                  V4      ,           # u upi )NTFr:  rÔ   )r   r;  r®  rž   )r  r6  r7  rO  rä  r»  r   s   &&&$,  r  r<  ÚStrSQLCompiler.returning_clause.  s]   € ô ×+Ò+¨NÔ;ó
á;�ð ×%Ñ% d¨A¨t°U¸BÖ?Ù;ð 	ð 
ð ˜dŸi™i¨Ó0Õ0Ð0ùò	
s   ™Ac                	óZ   a aa€ R SR&   RRP                  VVV 3R lV 4       4      ,           # )TrÆ  r  rÔ   c              3  óN   <"  € T F  pVP                   ! S3R S/SB x € K  	  R# 5i©r=  Nró  ©r?  r  rú  rä  r  s   & €€€r  rA  Ú4StrSQLCompiler.update_from_clause.<locals>.<genexpr>@  s-   øé € ð #
á �ð × Ò  ÑB°ÐB¸rÖBÛ ùr‚  ro  rù  s   f&&&flr  rû  Ú!StrSQLCompiler.update_from_clause<  s3   ú€ ð ˆˆ8‰Ø˜Ÿ™ö #
á ó#
ó 
õ 
ð 	
r  c                	óZ   a aa€ R SR&   RRP                  VVV 3R lV 4       4      ,           # )TrÆ  rÔ   c              3  óN   <"  € T F  pVP                   ! S3R S/SB x € K  	  R# 5ir^  ró  r_  s   & €€€r  rA  Ú:StrSQLCompiler.delete_extra_from_clause.<locals>.<genexpr>I  s-   øé € ð  
á �ð × Ò  ÑB°ÐB¸rÖBÛ ùr‚  ro  r  s   f&&&flr  r  Ú'StrSQLCompiler.delete_extra_from_clauseE  s3   ú€ ð ˆˆ8‰Ø�d—i‘iö  
á ó 
ó 
õ 
ð 	
r  c                	ó   € R # )zSELECT 1 WHERE 1!=1r  r>  s   &&,r  r9  Ú#StrSQLCompiler.visit_empty_set_exprN  s   € Ù$r  c                	ó   € R V,          # )z[%s]r  rÒ  s   &&&r  rÇ  Ú!StrSQLCompiler.get_from_hint_textQ  s   € Ø˜�}Ðr  c                	ó*   € V P                   ! VR 3/ VB # )z
 <regexp> ©r,  r  s   &&&,r  rà  Ú+StrSQLCompiler.visit_regexp_match_op_binaryT  s   € Ø×,Ò,¨V°\ÑHÀRÑHÐHr  c                	ó*   € V P                   ! VR 3/ VB # )z <not regexp> rk  r  s   &&&,r  rå  Ú/StrSQLCompiler.visit_not_regexp_match_op_binaryW  s   € Ø×,Ò,¨VÐ5EÑLÈÑLÐLr  c                	ó„   € R VP                   P                  ! V 3/ VB : RVP                  P                  ! V 3/ VB : R2# )z<regexp replace>(rÔ   rP  )r    rô  r¶   r  s   &&&,r  ré  Ú-StrSQLCompiler.visit_regexp_replace_op_binaryZ  s:   � à�K‰K×*Ò*¨4Ñ6°2Ô6Ø�L‰L×+Ò+¨DÑ7°BÔ7ð
ð 	
r  c                	ó„   € R VP                   P                  ! V 3/ VB : RVP                  P                  ! V 3/ VB : R2# )z	TRY_CAST(rÖ   rP  )r–  rô  r$  )r  r   rñ  s   &&,r  Úvisit_try_castÚStrSQLCompiler.visit_try_cast`  s:   � à�K‰K×*Ò*¨4Ñ:°6Ô:Ø�O‰O×.Ò.¨tÑ>°vÔ>ð
ð 	
r  r  )r  r  r  r  r	  rî  r÷  r$   r3  rå  rK  rO  rS  rÝ  r<  rû  r  r9  rÇ  rà  rå  ré  rr  r  r  r  s   @r  r:  r:  õ  s~   ø† ñõ&7ò ð 
×ÒÐ0Ó1ôCó 2ðCò
òAòAò
õ
1ò
ò
ò%òòIòMò
÷
ð 
r  r:  c                  ó>  € ] tR tRtRt]'       d	   ROR R llt]P                  R R l4       t	]P                  R 4       tRPR	 R
 lltR tR tR tR tRQR ltRRR ltR tR tR R ltRSR ltR tRQR R lltR tR tR tR tR tR tR tR  R! lt RRR" lt!R# t"R$ t#R% t$R& t%R' t&R( R) lt'R* R+ lt(R, t)R- t*R. t+R/ R0 lt,R1 R2 lt-R3 t.R4 R5 lt/R6 R7 lt0R8 R9 lt1R: R; lt2R< R= lt3R> R? lt4R@ RA lt5RB RC lt6RD RE lt7RF RG lt8RH RI lt9RJ RK lt:RL t;RM t<RNt=R# )TÚDDLCompilerig  Tc          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )r  r»  rj   r3  r:   r°  r¯  r¼  r*  r½  r¾  r  )rÍ   s   "r  r  ÚDDLCompiler.__annotate__l  s=   € ÷ 	ñ 	àð	ð ,ð	ð #Cð		ð
 &*ð	ð .ñ	r  c                	ó   € R # r  r  rÉ  s   &&&&&&r  rÊ  ÚDDLCompiler.__init__l  s   € ñ r  c               ó   € V ^8„  d   QhRR/# rè  r  )rÍ   s   "r  r  rw  v  s   € ÷ 
ñ 
˜kñ 
r  c                	óf   € V P                   P                  V P                   R V P                  R7      # )Nrt  )r»  rF  r°  rF  s   &r  rí  ÚDDLCompiler.sql_compileru  s/   € à�|‰|×.Ñ.Ø�L‰L˜$°T×5NÑ5Nð /ó 
ð 	
r  c                	ó.   € V P                   P                  # r  )r»  r#  rF  s   &r  Útype_compilerÚDDLCompiler.type_compiler{  s   € à�|‰|×2Ñ2Ð2r  Nc               ó(   € V ^8„  d   QhRRRRRRRR/# rü  r  )rÍ   s   "r  r  rw    s3   € ÷ ñ à2ðð Eðð ð	ð
 
3ñr  c                	ó   € R # r  r  r  s   &&&&r  r  ÚDDLCompiler.construct_params  s   € ñ r  c                	ó*  € VP                   p\        VP                  \        P                  4      '       d³   VP                  4       pV P                  pVP                  VP                  4      p\        V4      ^8X  d   V^ ,          RrvMVR,          V^ ,          rvVP                  RV4       VP                  RV4       VP                  RVP                  VP                  4      4       V P                  P                  VP                  V,          4      # )rá  rª  r½   r!   rO  rÂ  )ÚcontextrÅ  Útargetr!   rR   r4  r³  Úformat_table_seqrë  r–  rÏ  rí  r/  r3  )r  Úddlrñ  r„  r³  Úpathr½   Úschs   &&,     r  Ú	visit_ddlÚDDLCompiler.visit_ddl‡  sÌ   € à—+‘+ˆÜ�c—j‘j¤&§,¡,×/Ò/Ø—l‘l“nˆGà—}‘}ˆHØ×,Ñ,¨S¯Z©ZÓ8ˆDÜ�4‹y˜AŒ~Ø! !�W b‘sà! "�X t¨A¥w�sà×Ñ˜w¨Ô.Ø×Ñ˜x¨Ô-Ø×Ñ˜z¨8×+@Ñ+@ÀÇÁÓ+LÔMà× Ñ ×2Ñ2°3·=±=À7Õ3JÓKÐKr  c                	ó’   € R pVP                   '       d
   VR,          pW0P                  P                  VP                  4      ,           # )zCREATE SCHEMA úIF NOT EXISTS )Úif_not_existsr³  Úformat_schemarâ  )r  r~   rä  r.  s   &&, r  Úvisit_create_schemaÚDDLCompiler.visit_create_schemaš  s:   € ØˆØ××ÐØÐ$Õ$ˆDØ—m‘m×1Ñ1°&·.±.ÓAÕAÐAr  c                	óÌ   € R pVP                   '       d
   VR,          pW0P                  P                  VP                  4      ,          pVP                  '       d
   VR,          pV# )zDROP SCHEMA ú
IF EXISTS ú CASCADE)Ú	if_existsr³  r�  râ  Úcascade©r  Údroprä  r.  s   &&, r  Úvisit_drop_schemaÚDDLCompiler.visit_drop_schema   sM   € ØˆØ�>�>ˆ>Ø�LÕ ˆDØ—‘×+Ñ+¨D¯L©LÓ9Õ9ˆØ�<�<ˆ<Ø�JÕˆDØˆr  c                	ó  € VP                   pV P                  pR pVP                  '       d*   VRP                  VP                  4      R,           ,          pVR,          pVP                  '       d
   VR,          pWTP                  V4      R,           ,          pV P                  V4      pV'       d   WVR,           ,          pVR,          pRpRpVP                   Fo  p	V	P                   p
 T P                  YšP                  ;'       d    V'       * R7      pVe   WW,          pR	pVR
V,           ,          pV
P                  '       d   RpKo  Kq  	  V P                  VVP                   R7      pV'       d   WWR
,           V,           ,          pVRV P#                  V4      ,          ,          pV#   \        P                   dN   p\        P                  ! RTP                  : RT
P                  : RTP                  ^ ,          : 24      ThRp?ii ; i)z
CREATE rX  zTABLE r�  rN  Ú
F©Úfirst_pkNr  Ú	Tz(in table 'z', column 'z'): )Ú _include_foreign_key_constraintsz
)%s

)râ  r³  rS  rž   rŽ  rÏ  Úcreate_table_suffixr   rÇ  rœ  r/   r%  Údescriptionrþ   ÚargsÚcreate_table_constraintsÚinclude_foreign_key_constraintsÚpost_create_table)r  r~   rä  r½   r³  r.  r¡  rp  rž  Úcreate_columnr|   Ú	processedÚceÚconsts   &&,           r  Úvisit_create_tableÚDDLCompiler.visit_create_table©  sÓ  € Ø—‘ˆØ—=‘=ˆàˆØ�?�?ˆ?Ø�C—H‘H˜UŸ_™_Ó-°Õ3Õ3ˆDà�ÕˆØ××ÐØÐ$Õ$ˆDà×%Ñ% eÓ,¨sÕ2Õ2ˆà"×6Ñ6°uÓ=ÐßØ¨#Õ-Õ-ˆDà��ˆàˆ	ð ˆØ#Ÿ^œ^ˆMØ"×*Ñ*ˆFðØ ŸL™LØ!×,>Ñ,>×,OÐ,OÀxÄ<ð )ó �	ð Ò(ØÕ%�DØ &�IØ˜D 9Õ,Õ,�DØ×%×%Ð%Ø#’Hñ &ñ ,ð$ ×-Ñ-ØØ-3×-SÑ-Sð .ó 
ˆ÷ Ø Õ$ uÕ,Õ,ˆDà�˜d×4Ñ4°UÓ;Õ;Õ;ˆØˆøô ×#Ñ#ô Ü×&Ó&à×(Ô(¨&¯+¬+°r·w±w¸q·zðCóð ðûðús%   Ã)F(Ä<F(ÅF(Æ(H
Æ=AHÈH
c                	óæ   a € VP                   pVP                  '       d   R # S P                  WBR7      pRP                  V 3R lVP                   4       4      pV'       d   VRV,           ,          pV# )Nr�  rX  c              3  óF   <"  € T F  pSP                  V4      x € K  	  R # 5ir  )rÇ  ©r?  r}   r  s   & €r  rA  Ú2DDLCompiler.visit_create_column.<locals>.<genexpr>ä  s!   øé € ð 
Ù7I¨ˆD�L‰L˜×$Ð$Ó7Iùré  )râ  ÚsystemÚget_column_specificationrž   Úconstraints)r  r~   rž  rä  r|   r.  rª  s   f&&,   r  Úvisit_create_columnÚDDLCompiler.visit_create_columnÝ  sd   ø€ Ø—‘ˆà�=�=ˆ=Ùà×,Ñ,¨VÐ,ÓGˆØ—‘ô 
Ø7=×7IÒ7Ió
ó 
ˆ÷ Ø�C˜%•KÕˆDàˆr  c                	ó�  a € . pVP                   '       d   VP                  VP                   4       VP                  pVe   VP                  V4      pM
\	        4       pTP                  VP                   Uu. uF  pWqP                   Jg   K  Wv9  g   K  VNK   	  up4       RP                  R V 3R lV 4        4       4      # u upi )Nz, 
	c              3  ó2   "  € T F  pVf   K	  Vx € K  	  R # 5ir  r  )r?  rÂ  s   & r  rA  Ú7DDLCompiler.create_table_constraints.<locals>.<genexpr>  s"   é € ð 
ñ�ð ÷ ŠAóùs   ‚�
c              3  óÚ   <"  € T F`  pVP                  S4      '       g   K  SP                  P                  '       d   \        VR R4      '       d   KM  SP	                  V4      x € Kb  	  R# 5i)Ú	use_alterFN)Ú_should_create_for_compilerr»  Úsupports_alterrÓ  rÇ  r¯  s   & €r  rA  r¸    sW   øé € ð á"-�JØ×:Ñ:¸4×@ô )ð Ÿ™×3×3Ð3Ü" :¨{¸E×Bô )�—‘˜Z×(Ð(Û"-ùs   ƒA+¡A+½A+ÁA+)rœ  râ  Úforeign_key_constraintsrà  r¹   rh  Ú_sorted_constraintsrž   )r  r½   r   rä  r³  Úall_fkcsÚ	omit_fkcsr»  s   f&&,    r  r¤  Ú$DDLCompiler.create_table_constraintsì  sÌ   ø€ ð
 ˆØ××ÐØ×Ñ˜u×0Ñ0Ô1à×0Ñ0ˆØ+Ò7Ø ×+Ñ+Ð,LÓM‰Iä›ˆIà×Ñð ×2Ò2óá2�AØ×-Ñ-Ð-ô à23Ñ2D÷ �Ù2ñô	
ð �}‰}ñ 
ôá"-ôó
ó 
ð 	
ùòs   Á6CÂCÂCc                	ó’   € R pVP                   '       d
   VR,          pW0P                  P                  VP                  4      ,           # )z
DROP TABLE r“  )r•  r³  rÏ  râ  r—  s   &&, r  Úvisit_drop_tableÚDDLCompiler.visit_drop_table  s6   € ØˆØ�>�>ˆ>Ø�LÕ ˆDØ—m‘m×0Ñ0°·±Ó>Õ>Ð>r  c                	óZ   € R V P                   P                  VP                  4      ,           # )z
DROP VIEW ©r³  rÏ  râ  ©r  r˜  rä  s   &&,r  Úvisit_drop_viewÚDDLCompiler.visit_drop_view  s    € Ø §¡× :Ñ :¸4¿<¹<Ó HÕHÐHr  c               ó    € V ^8„  d   QhRRRR/# )r  r„  rP   r  r  r  )rÍ   s   "r  r  rw    s   € ÷ ñ ¨ð °4ñ r  c                	óp   € VP                   f(   \        P                  ! RVP                  ,          4      hR # )Nz,Index '%s' is not associated with any table.)r½   r/   r%  rþ   )r  r„  s   &&r  Ú_verify_index_tableÚDDLCompiler._verify_index_table  s0   € Ø�;‰;ÒÜ×"Ò"Ø>ÀÇÁÕKóð ñ r  c           	     	óê  a € VP                   pS P                  V4       S P                  pR pVP                  '       d
   VR,          pVP                  f   \
        P                  ! R4      hVR,          pVP                  '       d
   VR,          pVS P                  WRR7      : RVP                  VP                  VR7      : RR	P                  V 3R
 lVP                   4       4      : R2,          pV# )zCREATE úUNIQUE z0CREATE INDEX requires that the index have a namezINDEX r�  ©Úinclude_schemarU  ©rP  rœ  rÔ   c              3  ó`   <"  € T F#  pSP                   P                  VR RR7      x € K%  	  R# 5i)FT©r  rí  N)rí  rÇ  )r?  r^  r  s   & €r  rA  Ú1DDLCompiler.visit_create_index.<locals>.<genexpr>7  s>   øé € ð ñ .�Dð ×!Ñ!×)Ñ)Ø¨¸Tð *÷ ð ó .ùr  rP  )râ  rÌ  r³  rÃ   rþ   r/   r%  rŽ  Ú_prepared_index_namerÏ  r½   rž   Úexpressions)r  r~   rÑ  Úinclude_table_schemarä  r„  r³  r.  s   f&&&,   r  Úvisit_create_indexÚDDLCompiler.visit_create_index   sç   ø€ ð —‘ˆØ× Ñ  Ô'Ø—=‘=ˆØˆØ�<�<ˆ<Ø�IÕˆDØ�:‰:ÒÜ×"Ò"ØBóð ð 	�ÕˆØ××ÐØÐ$Õ$ˆDàØ×%Ñ% eÐ%ÖKØ×!Ñ!Ø—‘Ð(<ð "ö ð �I‰Iô ð "×-Ò-ó	ö ð
õ 	
ˆð ˆr  c                	óÎ   € VP                   pVP                  f   \        P                  ! R4      hRpVP                  '       d
   VR,          pW@P                  VRR7      ,           # )Nz.DROP INDEX requires that the index have a namez
DROP INDEX r“  TrÐ  )râ  rþ   r/   r%  r•  rÖ  )r  r˜  rä  r„  r.  s   &&,  r  Úvisit_drop_indexÚDDLCompiler.visit_drop_index@  s^   € Ø—‘ˆà�:‰:ÒÜ×"Ò"Ø@óð ð ˆØ�>�>ˆ>Ø�LÕ ˆDà×/Ñ/°ÀdÐ/ÓKÕKÐKr  c               ó$   € V ^8„  d   QhRRRRRR/# )r  r„  rP   rÑ  r*  r  rü   r  )rÍ   s   "r  r  rw  M  s$   € ÷ ñ ØðØ,0ðà	ñr  c                	ó4  € VP                   e'   V P                  P                  VP                   4      pMR pV'       d%   V'       d   V P                  P                  V4      pMR pV P                  P	                  V4      pV'       d   VR,           V,           pV# ©NrT  )r½   r³  r
  r  Úformat_index)r  r„  rÑ  r  Úschema_nameÚ
index_names   &&&   r  rÖ  Ú DDLCompiler._prepared_index_nameM  sy   € ð �;‰;Ò"Ø#Ÿ}™}×>Ñ>¸u¿{¹{ÓKÑà#Ðß×.ØŸ-™-×4Ñ4Ð5EÓF‰KàˆKàŸ-™-×4Ñ4°UÓ;ˆ
çØ$ sÕ*¨ZÕ7ˆJØÐr  c                	ó¢   € R V P                   P                  VP                  P                  4      : RV P	                  VP                  4      : 2# )úALTER TABLE z ADD )r³  rÏ  râ  r½   rÇ  ©r  r~   rä  s   &&,r  Úvisit_add_constraintÚ DDLCompiler.visit_add_constraint_  s8   � à�M‰M×&Ñ& v§~¡~×';Ñ';Ö<Ø�L‰L˜Ÿ™Õ(ð
ð 	
r  c                	óÞ   € R V P                   P                  VP                  4      : RV P                  P	                  VP                  P
                  \        P                  ! 4       4      : 2# )zCOMMENT ON TABLE r×   )r³  rÏ  râ  rí  rH  Úcommentr#   ÚStringrç  s   &&,r  Úvisit_set_table_commentÚ#DDLCompiler.visit_set_table_commente  sL   � à�M‰M×&Ñ& v§~¡~Ö6Ø×Ñ×2Ñ2Ø—‘×&Ñ&¬¯ªÓ(9õð
ð 	
r  c                	óZ   € R V P                   P                  VP                  4      ,          # )zCOMMENT ON TABLE %s IS NULLrÆ  rÇ  s   &&,r  Úvisit_drop_table_commentÚ$DDLCompiler.visit_drop_table_commentm  s'   € Ø,¨t¯}©}×/IÑ/IØ�L‰Ló0
õ 
ð 	
r  c                	óä   € R V P                   P                  VP                  RRR7      : RV P                  P	                  VP                  P
                  \        P                  ! 4       4      : 2# )zCOMMENT ON COLUMN T)Ú	use_tablerP  r×   )r³  Úformat_columnrâ  rí  rH  rë  r#   rì  rç  s   &&,r  Úvisit_set_column_commentÚ$DDLCompiler.visit_set_column_commentr  sZ   � à�M‰M×'Ñ'Ø—‘¨$¸4ð (ö ð ×Ñ×2Ñ2Ø—‘×&Ñ&¬¯ªÓ(9õð	
ð 	
r  c                	ó^   € R V P                   P                  VP                  RR7      ,          # )zCOMMENT ON COLUMN %s IS NULLT)ró  )r³  rô  râ  rÇ  s   &&,r  Úvisit_drop_column_commentÚ%DDLCompiler.visit_drop_column_comment|  s/   € Ø-°·±×0KÑ0KØ�L‰L Dð 1Ló 1
õ 
ð 	
r  c                	óB   € \         P                  ! V \        V4      4      hr  rß  rç  s   &&,r  Úvisit_set_constraint_commentÚ(DDLCompiler.visit_set_constraint_comment�  s   € Ü×-Ò-¨d´D¸³LÓAÐAr  c                	óB   € \         P                  ! V \        V4      4      hr  rß  rÇ  s   &&,r  Úvisit_drop_constraint_commentÚ)DDLCompiler.visit_drop_constraint_comment„  s   € Ü×-Ò-¨d´D¸³JÓ?Ð?r  c               ó    € V ^8„  d   QhRRRR/# )r  Úidentity_optionsrO   r  rü   r  )rÍ   s   "r  r  rw  ‡  s   € ÷ ñ °_ð Èñ r  c                	óê  € . pVP                   e#   VP                  RVP                   ,          4       VP                  e#   VP                  RVP                  ,          4       VP                  e#   VP                  RVP                  ,          4       VP                  e#   VP                  RVP                  ,          4       VP
                  e   VP                  R4       VP                  e   VP                  R4       VP                  e#   VP                  RVP                  ,          4       VP                  e&   TP                  VP                  '       d   RMR	4       R
P                  V4      # )NzINCREMENT BY %dzSTART WITH %dzMINVALUE %dzMAXVALUE %dzNO MINVALUEzNO MAXVALUEzCACHE %dÚCYCLEzNO CYCLErX  )
Ú	incrementrâ  r”  ÚminvalueÚmaxvalueÚ
nominvalueÚ
nomaxvalueÚcacheÚcyclerž   )r  r	  r.  s   && r  Úget_identity_optionsÚ DDLCompiler.get_identity_options‡  s   € ØˆØ×%Ñ%Ò1Ø�K‰KÐ)Ð,<×,FÑ,FÕFÔGØ×!Ñ!Ò-Ø�K‰K˜Ð*:×*@Ñ*@Õ@ÔAØ×$Ñ$Ò0Ø�K‰K˜Ð(8×(AÑ(AÕAÔBØ×$Ñ$Ò0Ø�K‰K˜Ð(8×(AÑ(AÕAÔBØ×&Ñ&Ò2Ø�K‰K˜Ô&Ø×&Ñ&Ò2Ø�K‰K˜Ô&Ø×!Ñ!Ò-Ø�K‰K˜
Ð%5×%;Ñ%;Õ;Ô<Ø×!Ñ!Ò-Ø�K‰KÐ#3×#9×#9Ð#9™¸zÔJØ�x‰x˜‹~Ðr  c                	ó  € R pVP                   '       d
   VR,          pW@P                  P                  VP                  4      ,          pV'       d	   WB,          pV P	                  VP                  4      pV'       d   VRV,           ,          pV# )zCREATE SEQUENCE r�  rX  )rŽ  r³  rW  râ  r	  )r  r~   r  rä  r.  Úoptionss   &&&,  r  Úvisit_create_sequenceÚ!DDLCompiler.visit_create_sequence›  sm   € Ø!ˆØ××ÐØÐ$Õ$ˆDØ—‘×-Ñ-¨f¯n©nÓ=Õ=ˆçØ�NˆDØ×+Ñ+¨F¯N©NÓ;ˆßØ�C˜'•MÕ!ˆDØˆr  c                	ó’   € R pVP                   '       d
   VR,          pW0P                  P                  VP                  4      ,           # )zDROP SEQUENCE r“  )r•  r³  rW  râ  r—  s   &&, r  Úvisit_drop_sequenceÚDDLCompiler.visit_drop_sequence¨  s6   € ØˆØ�>�>ˆ>Ø�LÕ ˆDØ—m‘m×3Ñ3°D·L±LÓAÕAÐAr  c                	ó˜  € VP                   pVP                  e   V P                  P                  V4      pMR pVf(   \        P
                  ! RVP                   ,          4      hRV P                  P                  VP                   P                  4      : RVP                  '       d   RMR: V: VP                  '       d   R: 2# R: 2# )Nz<Can't emit DROP CONSTRAINT for constraint %r; it has no nameræ  z DROP CONSTRAINT r“  rª  r”  )
râ  rþ   r³  Úformat_constraintr/   r%  rÏ  r½   r•  r–  )r  r˜  rä  r}   Úformatted_names   &&,  r  Úvisit_drop_constraintÚ!DDLCompiler.visit_drop_constraint®  s¸   € Ø—\‘\ˆ
Ø�?‰?Ò&Ø!Ÿ]™]×<Ñ<¸ZÓH‰Nà!ˆNàÒ!Ü×"Ò"ð!Ø#'§<¡<õ0óð ð "ð �M‰M×&Ñ& t§|¡|×'9Ñ'9Ö:Ø ŸNŸN˜N‰L°Ñ2ÚØŸ,Ÿ,˜,ˆJÑ.ð	
ð 	
ð -/Ñ.ð	
ð 	
r  c                	ó¦  € V P                   P                  V4      R ,           V P                  P                  P	                  VP
                  VR7      ,           pV P                  V4      pVe   VRV,           ,          pVP                  e*   VR V P	                  VP                  4      ,           ,          pVP                  eF   V P                  P                  '       d*   VR V P	                  VP                  4      ,           ,          pVP                  '       g8   VP                  '       d   V P                  P                  '       g
   VR,          pV# )rX  )r"  z	 DEFAULT z	 NOT NULL)r³  rô  r»  r#  rÇ  r  Úget_column_default_stringÚcomputedÚidentityÚsupports_identity_columnsÚnullable)r  r|   rñ  Úcolspecr…   s   &&,  r  r²  Ú$DDLCompiler.get_column_specificationÁ  s  € à�M‰M×'Ñ'¨Ó/Øõà�l‰l×1Ñ1×9Ñ9Ø—‘¨Vð :ó õð 	ð ×0Ñ0°Ó8ˆØÒØ�{ WÕ,Õ,ˆGà�?‰?Ò&Ø�s˜TŸ\™\¨&¯/©/Ó:Õ:Õ:ˆGð �O‰OÒ'Ø—‘×6×6Ð6à�s˜TŸ\™\¨&¯/©/Ó:Õ:Õ:ˆGà��ˆØ——� t§|¡|×'M×'MÐ'Mà�{Õ"ˆGØˆr  c                	ó   € R # ©rª  r  ©r  r½   s   &&r  r¡  ÚDDLCompiler.create_table_suffixÜ  ó   € Ùr  c                	ó   € R # r"	  r  r#	  s   &&r  r¦  ÚDDLCompiler.post_create_tableß  r%	  r  c               ó    € V ^8„  d   QhRRRR/# )r  r|   zColumn[Any]r  rt  r  )rÍ   s   "r  r  rw  â  s   € ÷ ñ °ð Àñ r  c                	ó¤   € \        VP                  \        P                  4      '       d&   V P	                  VP                  P
                  4      # R # r  )rÅ  Úserver_defaultr!   ÚDefaultClauseÚrender_default_stringÚargrö  s   &&r  r	  Ú%DDLCompiler.get_column_default_stringâ  s;   € Ü�f×+Ñ+¬V×-AÑ-A×BÒBØ×-Ñ-¨f×.CÑ.C×.GÑ.GÓHÐHár  c               ó    € V ^8„  d   QhRRRR/# )r  r…   zUnion[Visitable, str]r  rü   r  )rÍ   s   "r  r  rw  è  s   € ÷ Jñ JÐ-Bð JÀsñ Jr  c                	ó¼   € \        V\        4      '       d+   V P                  P                  V\        P
                  4      # V P                  P                  VR R7      # )T)rí  )rÅ  rü   rí  rH  r#   r�  rÇ  )r  r…   s   &&r  r,	  Ú!DDLCompiler.render_default_stringè  sQ   € Ü�gœs×#Ò#Ø×$Ñ$×9Ñ9Øœ×,Ñ,óð ð ×$Ñ$×,Ñ,¨WÀDÐ,ÓIÐIr  c                	ój   € VP                   '       d   V P                  V4      # V P                  V4      # r  )Úis_column_levelÚvisit_column_check_constraintÚvisit_check_constraint©r  r}   rä  s   &&,r  Ú&visit_table_or_column_check_constraintÚ2DDLCompiler.visit_table_or_column_check_constraintð  s0   € Ø×%×%Ð%Ø×5Ñ5°jÓAÐAà×.Ñ.¨zÓ:Ð:r  c                	óŒ   € V P                   ! V3/ VB pW0P                  ! V3/ VB ,          pW0P                  V4      ,          pV# r  ©Údefine_constraint_preambleÚdefine_check_bodyÚdefine_constraint_deferrability©r  r}   rä  r.  s   &&, r  r5	  Ú"DDLCompiler.visit_check_constraintö  óG   € Ø×.Ò.¨zÑ@¸RÑ@ˆØ×&Ò& zÑ8°RÑ8Õ8ˆØ×4Ñ4°ZÓ@Õ@ˆØˆr  c                	óŒ   € V P                   ! V3/ VB pW0P                  ! V3/ VB ,          pW0P                  V4      ,          pV# r  r:	  r>	  s   &&, r  r4	  Ú)DDLCompiler.visit_column_check_constraintü  r@	  r  c               ó$   € V ^8„  d   QhRRRRRR/# ©r  r}   rQ   rä  r   r  rü   r  )rÍ   s   "r  r  rw    ó$   € ÷ ñ Ø.ðØ69ðà	ñr  c                	ó°   € \        V4      ^ 8X  d   R# V P                  ! V3/ VB pW0P                  ! V3/ VB ,          pW0P                  V4      ,          pV# ©r¦  rª  )rë  r;	  Údefine_primary_key_bodyr=	  r>	  s   &&, r  Úvisit_primary_key_constraintÚ(DDLCompiler.visit_primary_key_constraint  sX   € ô ˆz‹?˜aÔÙØ×.Ò.¨zÑ@¸RÑ@ˆØ×,Ò,¨ZÑ>¸2Ñ>Õ>ˆØ×4Ñ4°ZÓ@Õ@ˆØˆr  c               ó$   € V ^8„  d   QhRRRRRR/# ©r  r}   rN   rä  r   r  rü   r  )rÍ   s   "r  r  rw    rE	  r  c                	óè   € V P                   ! V3/ VB pW0P                  ! V3/ VB ,          pW0P                  V4      ,          pW0P                  V4      ,          pW0P	                  V4      ,          pV# r  )r;	  Údefine_foreign_key_bodyÚdefine_constraint_matchÚdefine_constraint_cascadesr=	  r>	  s   &&, r  Úvisit_foreign_key_constraintÚ(DDLCompiler.visit_foreign_key_constraint  so   € ð ×.Ò.¨zÑ@¸RÑ@ˆØ×,Ò,¨ZÑ>¸2Ñ>Õ>ˆØ×,Ñ,¨ZÓ8Õ8ˆØ×/Ñ/°
Ó;Õ;ˆØ×4Ñ4°ZÓ@Õ@ˆØˆr  c                ó$   € VP                  V4      # )z=Format the remote table clause of a CREATE CONSTRAINT clause.)rÏ  )r  r}   r½   r³  s   &&&&r  Údefine_constraint_remote_tableÚ*DDLCompiler.define_constraint_remote_table  s   € ð ×$Ñ$ UÓ+Ð+r  c               ó$   € V ^8„  d   QhRRRRRR/# ©r  r}   rS   rä  r   r  rü   r  )rÍ   s   "r  r  rw    s$   € ÷ ñ Ø*ðØ25ðà	ñr  c                	ó°   € \        V4      ^ 8X  d   R# V P                  ! V3/ VB pW0P                  ! V3/ VB ,          pW0P                  V4      ,          pV# rG	  )rë  r;	  Údefine_unique_bodyr=	  r>	  s   &&, r  Úvisit_unique_constraintÚ#DDLCompiler.visit_unique_constraint  sX   € ô ˆz‹?˜aÔÙØ×.Ò.¨zÑ@¸RÑ@ˆØ×'Ò'¨
Ñ9°bÑ9Õ9ˆØ×4Ñ4°ZÓ@Õ@ˆØˆr  c               ó$   € V ^8„  d   QhRRRRRR/# )r  r}   rM   rä  r   r  rü   r  )rÍ   s   "r  r  rw  %  s$   € ÷ ñ Ø$ðØ,/ðà	ñr  c                	ó„   € R pVP                   e0   V P                  P                  V4      pVe   VRV,          ,          pV# )rª  zCONSTRAINT %s )rþ   r³  r	  )r  r}   rä  r.  r	  s   &&,  r  r;	  Ú&DDLCompiler.define_constraint_preamble%  sB   € ð ˆØ�?‰?Ò&Ø!Ÿ]™]×<Ñ<¸ZÓHˆNØÒ)ØÐ(¨>Õ9Õ9�Øˆr  c               ó$   € V ^8„  d   QhRRRRRR/# rD	  r  )rÍ   s   "r  r  rw  /  s$   € ÷ ñ Ø.ðØ69ðà	ñr  c                	óÀ   a € R pVR,          pTRRP                  V 3R lVP                  '       d   VP                  MVP                   4       4      ,          ,          pV# )rª  zPRIMARY KEY r�  rÔ   c              3  ón   <"  € T F*  pSP                   P                  VP                  4      x € K,  	  R # 5ir  ©r³  r  rþ   ©r?  r»  r  s   & €r  rA  Ú6DDLCompiler.define_primary_key_body.<locals>.<genexpr>4  s5   øé € ð #
ñ(ð ð �M‰M×Ñ §¡×'Ð'ó(ùrK  )rž   Ú_implicit_generatedÚcolumns_autoinc_firstr   r>	  s   f&, r  rH	  Ú#DDLCompiler.define_primary_key_body/  sh   ø€ ð ˆØ�ÕˆØ�˜Ÿ™ô #
ð ×1×1Ð1ð ×0Ò0à×'Ñ'ð(ó#
ó 
õ 
õ 	
ˆð ˆr  c               ó$   € V ^8„  d   QhRRRRRR/# rL	  r  )rÍ   s   "r  r  rw  >  s$   € ÷ ñ Ø.ðØ69ðà	ñr  c           	     	óJ  a€ V P                   o\        VP                  4      ^ ,          P                  P                  pRRP                  V3R lVP                   4       4      : RV P                  WS4      : RRP                  V3R lVP                   4       4      : R2pV# )r¦  zFOREIGN KEY(rÔ   c              3  ón   <"  € T F*  pSP                  VP                  P                  4      x € K,  	  R # 5ir  )r  Úparentrþ   ©r?  r  r³  s   & €r  rA  Ú6DDLCompiler.define_foreign_key_body.<locals>.<genexpr>D  ó)   øé € ð Ù7J°!�—‘˜qŸx™xŸ}™}×-Ð-Ó7JùrK  z) REFERENCES rœ  c              3  ón   <"  € T F*  pSP                  VP                  P                  4      x € K,  	  R # 5ir  )r  r|   rþ   rl	  s   & €r  rA  rm	  J  rn	  rK  rP  )r³  rÈ  r   r|   r½   rž   rT	  )r  r}   rä  Úremote_tabler.  r³  s   &&,  @r  rN	  Ú#DDLCompiler.define_foreign_key_body>  s’   ø€ ð —=‘=ˆÜ˜J×/Ñ/Ó0°Õ3×:Ñ:×@Ñ@‰à�I‰Iô Ø7A×7JÒ7Jóö ð ×/Ñ/Ø¨(öð �I‰Iô Ø7A×7JÒ7Jóö ð

ˆð ˆr  c               ó$   € V ^8„  d   QhRRRRRR/# rW	  r  )rÍ   s   "r  r  rw  P  s$   € ÷ ñ Ø*ðØ25ðà	ñr  c                	ór   a € R S P                   ! V3/ VB : RRP                  V 3R lV 4       4      : R2pV# )rÏ  rN  rÔ   c              3  ón   <"  € T F*  pSP                   P                  VP                  4      x € K,  	  R # 5ir  rb	  rc	  s   & €r  rA  Ú1DDLCompiler.define_unique_body.<locals>.<genexpr>U  s'   øé € ÐF¹:°a�d—m‘m×)Ñ)¨!¯&©&×1Ð1»:ùrK  rP  )Ú!define_unique_constraint_distinctrž   r>	  s   f&, r  rY	  ÚDDLCompiler.define_unique_bodyP  s8   ø� ð ×2Ò2°:ÑDÀÔDØ�I‰IÔF¹:ÓFÖFð
ˆð ˆr  c               ó$   € V ^8„  d   QhRRRRRR/# )r  r}   rK   rä  r   r  rü   r  )rÍ   s   "r  r  rw  Y  s!   € ÷ ñ ¨Oð À3ð È3ñ r  c                	ód   € R V P                   P                  VP                  RRR7      ,          pV# )z
CHECK (%s)FTrÔ  )rí  rÇ  r¼  r>	  s   &&, r  r<	  ÚDDLCompiler.define_check_bodyY  s8   € Ø˜d×/Ñ/×7Ñ7Ø×Ñ¨eÀ4ð 8ó 
õ 
ˆð ˆr  c               ó$   € V ^8„  d   QhRRRRRR/# rW	  r  )rÍ   s   "r  r  rw  _  s$   € ÷ ñ Ø*ðØ25ðà	ñr  c                	ó   € R # r"	  r  r6	  s   &&,r  rv	  Ú-DDLCompiler.define_unique_constraint_distinct_  s   € ñ r  c               ó    € V ^8„  d   QhRRRR/# ©r  r}   rN   r  rü   r  )rÍ   s   "r  r  rw  d  s   € ÷ 	ñ 	Ø.ð	à	ñ	r  c                	óž   € R pVP                   e   W P                  V4      ,          pVP                  e   W P                  V4      ,          pV# r"	  )ÚondeleteÚ"define_constraint_ondelete_cascadeÚonupdateÚ"define_constraint_onupdate_cascade©r  r}   r.  s   && r  rP	  Ú&DDLCompiler.define_constraint_cascadesd  sL   € ð ˆØ×ÑÒ*Ø×;Ñ;¸JÓGÕGˆDà×ÑÒ*Ø×;Ñ;¸JÓGÕGˆDØˆr  c               ó    € V ^8„  d   QhRRRR/# r	  r  )rÍ   s   "r  r  rw  o  ó   € ÷ 
ñ 
Ø.ð
à	ñ
r  c                	ód   € R V P                   P                  VP                  \        4      ,          # )z ON DELETE %s)r³  Úvalidate_sql_phraser�	  ÚFK_ON_DELETE©r  r}   s   &&r  r‚	  Ú.DDLCompiler.define_constraint_ondelete_cascadeo  ó-   € ð  §¡×!BÑ!BØ×Ñ¤ó"
õ 
ð 	
r  c               ó    € V ^8„  d   QhRRRR/# r	  r  )rÍ   s   "r  r  rw  v  rˆ	  r  c                	ód   € R V P                   P                  VP                  \        4      ,          # )z ON UPDATE %s)r³  rŠ	  rƒ	  ÚFK_ON_UPDATErŒ	  s   &&r  r„	  Ú.DDLCompiler.define_constraint_onupdate_cascadev  rŽ	  r  c               ó    € V ^8„  d   QhRRRR/# )r  r}   rM   r  rü   r  )rÍ   s   "r  r  rw  }  s   € ÷ ñ ¸*ð Èñ r  c                	óü   € R pVP                   e&   VP                   '       d   VR,          pM	VR,          pVP                  e9   VRV P                  P                  VP                  \        4      ,          ,          pV# )rª  z DEFERRABLEz NOT DEFERRABLEz INITIALLY %s)r†   r˜   r³  rŠ	  ÚFK_INITIALLYr…	  s   && r  r=	  Ú+DDLCompiler.define_constraint_deferrability}  st   € ØˆØ× Ñ Ò,Ø×$×$Ð$Ø˜Õ%‘àÐ)Õ)�Ø×ÑÒ+Ø�O d§m¡m×&GÑ&GØ×$Ñ$¤ló'õ õ ˆDð ˆr  c               ó    € V ^8„  d   QhRRRR/# r	  r  )rÍ   s   "r  r  rw  Š  s   € ÷ ñ Ð2Fð È3ñ r  c                	óZ   € R pVP                   e   VRVP                   ,          ,          pV# )rª  z	 MATCH %s)r¡  r…	  s   && r  rO	  Ú#DDLCompiler.define_constraint_matchŠ  s-   € ØˆØ×ÑÒ'Ø�K *×"2Ñ"2Õ2Õ2ˆDØˆr  c                	óÌ   € R V P                   P                  VP                  RRR7      ,          pVP                  RJ d   VR,          pV# VP                  RJ d
   VR,          pV# )zGENERATED ALWAYS AS (%s)FTrÔ  z STOREDz VIRTUAL)rí  rÇ  r¼  Ú	persisted)r  Ú	generatedrä  r.  s   &&, r  Úvisit_computed_columnÚ!DDLCompiler.visit_computed_column�  sr   € Ø)¨D×,=Ñ,=×,EÑ,EØ×Ñ¨UÀ$ð -Fó -
õ 
ˆð ×Ñ $Ó&Ø�IÕˆDð ˆð × Ñ  EÓ)Ø�JÕˆDØˆr  c                	óŽ   € R VP                   '       d   RMR: R2pV P                  V4      pV'       d   VRV,          ,          pV# )z
GENERATED ÚALWAYSz
BY DEFAULTz AS IDENTITYrº  )Úalwaysr	  )r  r	  rä  r.  r	  s   &&,  r  Úvisit_identity_columnÚ!DDLCompiler.visit_identity_columnš  sB   � à ŸŸ˜‰H¨\Ò9ð
ˆð ×+Ñ+¨HÓ5ˆßØ�G˜gÕ%Õ%ˆDØˆr  r  )...r	  r'  r  )FT)>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¡  r¦  r	  r,	  r7	  r5	  r4	  rI	  rQ	  rT	  rZ	  r;	  rH	  rN	  rY	  r<	  rv	  rP	  r‚	  r„	  r=	  rO	  r�	  r¢	  r  r  r  r  ru  ru  g  sC  † Ø€Fç÷	ð 
×Ñô
ó ð
ð
 
×Ññ3ó ð3÷òLò&Bòò2ôhô#
òJ?òIõôò@L÷ò$
ò
ò
ò

ò
ò
Bò@õô(òBò
ò&ò6òõõJò;òòõõò,õ
õõõõ$õõõ
	õ
õ
õõòör  ru  c                  óD  € ] tR tRtR R ltR R ltR R ltR R	 ltR
 R ltR R lt	R R lt
R R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR  R! ltR" R# ltR$ R% ltR& R' ltR( R) ltR* R+ ltR, R- ltR. R/ ltR0 R1 ltR2 R3 ltR4 R5 ltR6 R7 ltR8 R9 ltR: R; lt R< R= lt!R> R? lt"R@ RA lt#RB RC lt$RD RE lt%RF RG lt&RH RI lt'RJ RK lt(RL RM lt)RN RO lt*RP RQ lt+RR RS lt,RT RU lt-RV RW lt.RX RY lt/RZ t0R[ R\ lt1R] R^ lt2R_t3R`# )aÚGenericTypeCompileri¤  c               ó$   € V ^8„  d   QhRRRRRR/# ©r  r  zsqltypes.Float[Any]rä  r   r  rü   r  )rÍ   s   "r  r  Ú GenericTypeCompiler.__annotate__¥  s"   € ÷ ñ Ð!4ð ¸Cð ÀCñ r  c                	ó   € R # )ÚFLOATr  r  s   &&,r  Úvisit_FLOATÚGenericTypeCompiler.visit_FLOAT¥  ó   € Ùr  c               ó$   € V ^8„  d   QhRRRRRR/# ©r  r  zsqltypes.Double[Any]rä  r   r  rü   r  )rÍ   s   "r  r  r¨	  ¨  s"   € ÷ ñ Ð"6ð ¸cð Àcñ r  c                	ó   € R # )ÚDOUBLEr  r  s   &&,r  Úvisit_DOUBLEÚ GenericTypeCompiler.visit_DOUBLE¨  ó   € Ùr  c               ó$   € V ^8„  d   QhRRRRRR/# )r  r  zsqltypes.DOUBLE_PRECISION[Any]rä  r   r  rü   r  )rÍ   s   "r  r  r¨	  «  s$   € ÷ "ñ "Ø3ð"Ø;>ð"à	ñ"r  c                	ó   € R # )zDOUBLE PRECISIONr  r  s   &&,r  Úvisit_DOUBLE_PRECISIONÚ*GenericTypeCompiler.visit_DOUBLE_PRECISION«  s   € ñ "r  c               ó$   € V ^8„  d   QhRRRRRR/# ©r  r  zsqltypes.REAL[Any]rä  r   r  rü   r  )rÍ   s   "r  r  r¨	  °  ó"   € ÷ ñ Ð 2ð ¸#ð À#ñ r  c                	ó   € R # )ÚREALr  r  s   &&,r  Ú
visit_REALÚGenericTypeCompiler.visit_REAL°  rY  r  c               ó$   € V ^8„  d   QhRRRRRR/# ©r  r  zsqltypes.Numeric[Any]rä  r   r  rü   r  )rÍ   s   "r  r  r¨	  ³  ó"   € ÷ 	ñ 	Ð#8ð 	Àð 	Èñ 	r  c                	óª   € VP                   f   R# VP                  f   RRVP                   /,          # RRVP                   RVP                  /,          # )NÚNUMERICzNUMERIC(%(precision)s)Ú	precisionz!NUMERIC(%(precision)s, %(scale)s)Úscale©rÅ	  rÆ	  r  s   &&,r  Úvisit_NUMERICÚ!GenericTypeCompiler.visit_NUMERIC³  óQ   € Ø�?‰?Ò"ÙØ�[‰[Ò Ø+¨{¸E¿O¹OÐ.LÕLÐLà6Ø˜UŸ_™_Ø˜Ÿ™ð:õ ð r  c               ó$   € V ^8„  d   QhRRRRRR/# )r  r  zsqltypes.DECIMAL[Any]rä  r   r  rü   r  )rÍ   s   "r  r  r¨	  ¾  rÂ	  r  c                	óª   € VP                   f   R# VP                  f   RRVP                   /,          # RRVP                   RVP                  /,          # )NÚDECIMALzDECIMAL(%(precision)s)rÅ	  z!DECIMAL(%(precision)s, %(scale)s)rÆ	  rÇ	  r  s   &&,r  Úvisit_DECIMALÚ!GenericTypeCompiler.visit_DECIMAL¾  rÊ	  r  c               ó$   € V ^8„  d   QhRRRRRR/# ©r  r  zsqltypes.Integerrä  r   r  rü   r  )rÍ   s   "r  r  r¨	  É  ó"   € ÷ ñ Ð#3ð ¸3ð À3ñ r  c                	ó   € R # )ÚINTEGERr  r  s   &&,r  Úvisit_INTEGERÚ!GenericTypeCompiler.visit_INTEGERÉ  ó   € Ùr  c               ó$   € V ^8„  d   QhRRRRRR/# ©r  r  zsqltypes.SmallIntegerrä  r   r  rü   r  )rÍ   s   "r  r  r¨	  Ì  s"   € ÷ ñ Ð$9ð Àð Èñ r  c                	ó   € R # )ÚSMALLINTr  r  s   &&,r  Úvisit_SMALLINTÚ"GenericTypeCompiler.visit_SMALLINTÌ  ó   € Ùr  c               ó$   € V ^8„  d   QhRRRRRR/# ©r  r  zsqltypes.BigIntegerrä  r   r  rü   r  )rÍ   s   "r  r  r¨	  Ï  s"   € ÷ ñ Ð"5ð ¸Sð ÀSñ r  c                	ó   € R # )ÚBIGINTr  r  s   &&,r  Úvisit_BIGINTÚ GenericTypeCompiler.visit_BIGINTÏ  r´	  r  c               ó$   € V ^8„  d   QhRRRRRR/# )r  r  zsqltypes.TIMESTAMPrä  r   r  rü   r  )rÍ   s   "r  r  r¨	  Ò  s"   € ÷ ñ Ð%7ð ¸sð Àsñ r  c                	ó   € R # )Ú	TIMESTAMPr  r  s   &&,r  Úvisit_TIMESTAMPÚ#GenericTypeCompiler.visit_TIMESTAMPÒ  s   € Ùr  c               ó$   € V ^8„  d   QhRRRRRR/# ©r  r  zsqltypes.DateTimerä  r   r  rü   r  )rÍ   s   "r  r  r¨	  Õ  s"   € ÷ ñ Ð$5ð ¸Sð ÀSñ r  c                	ó   € R # )ÚDATETIMEr  r  s   &&,r  Úvisit_DATETIMEÚ"GenericTypeCompiler.visit_DATETIMEÕ  rÞ	  r  c               ó$   € V ^8„  d   QhRRRRRR/# ©r  r  zsqltypes.Daterä  r   r  rü   r  )rÍ   s   "r  r  r¨	  Ø  ó!   € ÷ ñ  ð °Sð ¸Sñ r  c                	ó   € R # )ÚDATEr  r  s   &&,r  Ú
visit_DATEÚGenericTypeCompiler.visit_DATEØ  rY  r  c               ó$   € V ^8„  d   QhRRRRRR/# ©r  r  zsqltypes.Timerä  r   r  rü   r  )rÍ   s   "r  r  r¨	  Û  rò	  r  c                	ó   € R # )ÚTIMEr  r  s   &&,r  Ú
visit_TIMEÚGenericTypeCompiler.visit_TIMEÛ  rY  r  c               ó$   € V ^8„  d   QhRRRRRR/# )r  r  zsqltypes.CLOBrä  r   r  rü   r  )rÍ   s   "r  r  r¨	  Þ  rò	  r  c                	ó   € R # )ÚCLOBr  r  s   &&,r  Ú
visit_CLOBÚGenericTypeCompiler.visit_CLOBÞ  rY  r  c               ó$   € V ^8„  d   QhRRRRRR/# ©r  r  zsqltypes.Texträ  r   r  rü   r  )rÍ   s   "r  r  r¨	  á  s!   € ÷ ñ  ð °cð ¸cñ r  c                	ó   € R # )ÚNCLOBr  r  s   &&,r  Úvisit_NCLOBÚGenericTypeCompiler.visit_NCLOBá  r­	  r  c               ó(   € V ^8„  d   QhRRRRRRRR/# )r  rþ   rü   Úlengthr  r  rt  r  r  )rÍ   s   "r  r  r¨	  ä  s,   € ÷ ñ ØðØ!.ðØ;Hðà	ñr  c                	ó^   € TpV'       d   VR V R2,          pV'       d   VRV R2,          pV# )rN  rP  z
 COLLATE "r�  r  )r  rþ   r	
  r  r.  s   &&&& r  Ú_render_string_typeÚ'GenericTypeCompiler._render_string_typeä  s9   € ð ˆßØ�a˜�x˜q�MÕ!ˆDßØ�j  ¨1Ð-Õ-ˆDØˆr  c               ó$   € V ^8„  d   QhRRRRRR/# )r  r  zsqltypes.CHARrä  r   r  rü   r  )rÍ   s   "r  r  r¨	  î  ó&   € ÷ Oñ O ð O°Sð O¸Sñ Or  c                	óP   € V P                  R VP                  VP                  4      # )ÚCHAR©r
  r	
  r  r  s   &&,r  Ú
visit_CHARÚGenericTypeCompiler.visit_CHARî  ó   € Ø×'Ñ'¨°·±¸e¿o¹oÓNÐNr  c               ó$   € V ^8„  d   QhRRRRRR/# )r  r  zsqltypes.NCHARrä  r   r  rü   r  )rÍ   s   "r  r  r¨	  ñ  s&   € ÷ Pñ P ð P°sð P¸sñ Pr  c                	óP   € V P                  R VP                  VP                  4      # )ÚNCHARr
  r  s   &&,r  Úvisit_NCHARÚGenericTypeCompiler.visit_NCHARñ  s   € Ø×'Ñ'¨°·±¸u¿¹ÓOÐOr  c               ó$   € V ^8„  d   QhRRRRRR/# ©r  r  zsqltypes.Stringrä  r   r  rü   r  )rÍ   s   "r  r  r¨	  ô  s!   € ÷ 
ñ 
 ?ð 
¸#ð 
À#ñ 
r  c                	óP   € V P                  R VP                  VP                  4      # )ÚVARCHARr
  r  s   &&,r  Úvisit_VARCHARÚ!GenericTypeCompiler.visit_VARCHARô  s$   € Ø×'Ñ'Ø�u—|‘| U§_¡_ó
ð 	
r  c               ó$   € V ^8„  d   QhRRRRRR/# )r  r  zsqltypes.NVARCHARrä  r   r  rü   r  )rÍ   s   "r  r  r¨	  ù  s"   € ÷ 
ñ 
Ð$5ð 
¸Sð 
ÀSñ 
r  c                	óP   € V P                  R VP                  VP                  4      # )ÚNVARCHARr
  r  s   &&,r  Úvisit_NVARCHARÚ"GenericTypeCompiler.visit_NVARCHARù  s$   € Ø×'Ñ'Ø˜Ÿ™ e§o¡oó
ð 	
r  c               ó$   € V ^8„  d   QhRRRRRR/# r
  r  )rÍ   s   "r  r  r¨	  þ  r
  r  c                	óP   € V P                  R VP                  VP                  4      # )ÚTEXTr
  r  s   &&,r  Ú
visit_TEXTÚGenericTypeCompiler.visit_TEXTþ  r
  r  c               ó$   € V ^8„  d   QhRRRRRR/# ©r  r  zsqltypes.Uuid[Any]rä  r   r  rü   r  )rÍ   s   "r  r  r¨	    r»	  r  c                	ó   € R # )ÚUUIDr  r  s   &&,r  Ú
visit_UUIDÚGenericTypeCompiler.visit_UUID  rY  r  c               ó$   € V ^8„  d   QhRRRRRR/# ©r  r  zsqltypes.LargeBinaryrä  r   r  rü   r  )rÍ   s   "r  r  r¨	    s"   € ÷ ñ Ð 4ð ¸Cð ÀCñ r  c                	ó   € R # )ÚBLOBr  r  s   &&,r  Ú
visit_BLOBÚGenericTypeCompiler.visit_BLOB  rY  r  c               ó$   € V ^8„  d   QhRRRRRR/# )r  r  zsqltypes.BINARYrä  r   r  rü   r  )rÍ   s   "r  r  r¨	    s&   € ÷ Iñ I /ð I¸ð IÀñ Ir  c                	ór   € R VP                   ;'       d    RVP                   ,          ;'       g    R,           # )ÚBINARYú(%d)rª  ©r	
  r  s   &&,r  Úvisit_BINARYÚ GenericTypeCompiler.visit_BINARY  s*   € Ø˜5Ÿ<™<×AÐA¨F°U·\±\Õ,A×GÐGÀRÕHÐHr  c               ó$   € V ^8„  d   QhRRRRRR/# )r  r  zsqltypes.VARBINARYrä  r   r  rü   r  )rÍ   s   "r  r  r¨	  
  s'   € ÷ Lñ LÐ%7ð L¸sð LÀsñ Lr  c                	ór   € R VP                   ;'       d    RVP                   ,          ;'       g    R,           # )Ú	VARBINARYr9
  rª  r:
  r  s   &&,r  Úvisit_VARBINARYÚ#GenericTypeCompiler.visit_VARBINARY
  s*   € Ø˜eŸl™l×DÐD¨v¸¿¹Õ/D×JÐJÈÕKÐKr  c               ó$   € V ^8„  d   QhRRRRRR/# ©r  r  zsqltypes.Booleanrä  r   r  rü   r  )rÍ   s   "r  r  r¨	    rÒ	  r  c                	ó   € R # )ÚBOOLEANr  r  s   &&,r  Úvisit_BOOLEANÚ!GenericTypeCompiler.visit_BOOLEAN  r×	  r  c               ó$   € V ^8„  d   QhRRRRRR/# r+
  r  )rÍ   s   "r  r  r¨	    s"   € ÷ 0ñ 0Ð 2ð 0¸#ð 0À#ñ 0r  c                	ó¬   € VP                   '       d   V P                  P                  '       g   V P                  R ^ RR7      # V P                  ! V3/ VB # )r
  N)r	
  r  )Únative_uuidr»  Úsupports_native_uuidr
  r.
  r  s   &&,r  Ú
visit_uuidÚGenericTypeCompiler.visit_uuid  sI   € Ø× × Ð ¨¯©×(I×(IÐ(IØ×+Ñ+¨F¸2ÈÐ+ÓNÐNà—?’? 5Ñ/¨BÑ/Ð/r  c               ó$   € V ^8„  d   QhRRRRRR/# r1
  r  )rÍ   s   "r  r  r¨	    ó$   € ÷ ,ñ ,Ø)ð,Ø14ð,à	ñ,r  c                	ó(   € V P                   ! V3/ VB # r  )r4
  r  s   &&,r  Úvisit_large_binaryÚ&GenericTypeCompiler.visit_large_binary  ó   € ð �Š˜uÑ+¨Ñ+Ð+r  c               ó$   € V ^8„  d   QhRRRRRR/# rC
  r  )rÍ   s   "r  r  r¨	    ó"   € ÷ /ñ /Ð#3ð /¸3ð /À3ñ /r  c                	ó(   € V P                   ! V3/ VB # r  )rF
  r  s   &&,r  Úvisit_booleanÚ!GenericTypeCompiler.visit_boolean  ó   € Ø×!Ò! %Ñ.¨2Ñ.Ð.r  c               ó$   € V ^8„  d   QhRRRRRR/# rø	  r  )rÍ   s   "r  r  r¨	    ó!   € ÷ ,ñ , ð ,°Sð ,¸Sñ ,r  c                	ó(   € V P                   ! V3/ VB # r  )rû	  r  s   &&,r  Ú
visit_timeÚGenericTypeCompiler.visit_time  ó   € Ø�Š˜uÑ+¨Ñ+Ð+r  c               ó$   € V ^8„  d   QhRRRRRR/# rë	  r  )rÍ   s   "r  r  r¨	  !  s"   € ÷ 0ñ 0Ð$5ð 0¸Sð 0ÀSñ 0r  c                	ó(   € V P                   ! V3/ VB # r  )rî	  r  s   &&,r  Úvisit_datetimeÚ"GenericTypeCompiler.visit_datetime!  s   € Ø×"Ò" 5Ñ/¨BÑ/Ð/r  c               ó$   € V ^8„  d   QhRRRRRR/# rñ	  r  )rÍ   s   "r  r  r¨	  $  r[
  r  c                	ó(   € V P                   ! V3/ VB # r  )rõ	  r  s   &&,r  Ú
visit_dateÚGenericTypeCompiler.visit_date$  r_
  r  c               ó$   € V ^8„  d   QhRRRRRR/# rà	  r  )rÍ   s   "r  r  r¨	  '  s"   € ÷ .ñ .Ð':ð .À#ð .È#ñ .r  c                	ó(   € V P                   ! V3/ VB # r  )rã	  r  s   &&,r  Úvisit_big_integerÚ%GenericTypeCompiler.visit_big_integer'  ó   € Ø× Ò  Ñ-¨"Ñ-Ð-r  c               ó$   € V ^8„  d   QhRRRRRR/# rÙ	  r  )rÍ   s   "r  r  r¨	  *  s$   € ÷ 0ñ 0Ø*ð0Ø25ð0à	ñ0r  c                	ó(   € V P                   ! V3/ VB # r  )rÜ	  r  s   &&,r  Úvisit_small_integerÚ'GenericTypeCompiler.visit_small_integer*  s   € ð ×"Ò" 5Ñ/¨BÑ/Ð/r  c               ó$   € V ^8„  d   QhRRRRRR/# rÑ	  r  )rÍ   s   "r  r  r¨	  /  rU
  r  c                	ó(   € V P                   ! V3/ VB # r  )rÕ	  r  s   &&,r  Úvisit_integerÚ!GenericTypeCompiler.visit_integer/  rY
  r  c               ó$   € V ^8„  d   QhRRRRRR/# rº	  r  )rÍ   s   "r  r  r¨	  2  s"   € ÷ ,ñ ,Ð 2ð ,¸#ð ,À#ñ ,r  c                	ó(   € V P                   ! V3/ VB # r  )r¾	  r  s   &&,r  Ú
visit_realÚGenericTypeCompiler.visit_real2  r_
  r  c               ó$   € V ^8„  d   QhRRRRRR/# r§	  r  )rÍ   s   "r  r  r¨	  5  s"   € ÷ -ñ -Ð!4ð -¸Cð -ÀCñ -r  c                	ó(   € V P                   ! V3/ VB # r  )r«	  r  s   &&,r  Úvisit_floatÚGenericTypeCompiler.visit_float5  s   € Ø×Ò Ñ,¨Ñ,Ð,r  c               ó$   € V ^8„  d   QhRRRRRR/# r¯	  r  )rÍ   s   "r  r  r¨	  8  s"   € ÷ .ñ .Ð"6ð .¸cð .Àcñ .r  c                	ó(   € V P                   ! V3/ VB # r  )r²	  r  s   &&,r  Úvisit_doubleÚ GenericTypeCompiler.visit_double8  rl
  r  c               ó$   € V ^8„  d   QhRRRRRR/# rÁ	  r  )rÍ   s   "r  r  r¨	  ;  s"   € ÷ /ñ /Ð#8ð /Àð /Èñ /r  c                	ó(   € V P                   ! V3/ VB # r  )rÈ	  r  s   &&,r  Úvisit_numericÚ!GenericTypeCompiler.visit_numeric;  rY
  r  c               ó$   € V ^8„  d   QhRRRRRR/# r
  r  )rÍ   s   "r  r  r¨	  >  s!   € ÷ /ñ / /ð /¸ð /Àñ /r  c                	ó(   € V P                   ! V3/ VB # r  ©r
  r  s   &&,r  Úvisit_stringÚ GenericTypeCompiler.visit_string>  rY
  r  c               ó$   € V ^8„  d   QhRRRRRR/# )r  r  zsqltypes.Unicoderä  r   r  rü   r  )rÍ   s   "r  r  r¨	  A  rU
  r  c                	ó(   € V P                   ! V3/ VB # r  r‡
  r  s   &&,r  Úvisit_unicodeÚ!GenericTypeCompiler.visit_unicodeA  rY
  r  c               ó$   € V ^8„  d   QhRRRRRR/# r
  r  )rÍ   s   "r  r  r¨	  D  r[
  r  c                	ó(   € V P                   ! V3/ VB # r  ©r(
  r  s   &&,r  Ú
visit_textÚGenericTypeCompiler.visit_textD  r_
  r  c               ó$   € V ^8„  d   QhRRRRRR/# )r  r  zsqltypes.UnicodeTexträ  r   r  rü   r  )rÍ   s   "r  r  r¨	  G  rO
  r  c                	ó(   € V P                   ! V3/ VB # r  r�
  r  s   &&,r  Úvisit_unicode_textÚ&GenericTypeCompiler.visit_unicode_textG  rS
  r  c               ó$   € V ^8„  d   QhRRRRRR/# )r  r  zsqltypes.Enumrä  r   r  rü   r  )rÍ   s   "r  r  r¨	  L  s!   € ÷ /ñ / ð /°Sð /¸Sñ /r  c                	ó(   € V P                   ! V3/ VB # r  r‡
  r  s   &&,r  Ú
visit_enumÚGenericTypeCompiler.visit_enumL  rY
  r  c                	ó<   € \         P                  ! R V,          4      h)zKCan't generate DDL for %r; did you forget to specify a type on this Column?rõ  r  s   &&,r  rW  ÚGenericTypeCompiler.visit_nullO  s"   € Ü×Òð#à%*õ+ó
ð 	
r  c               ó$   € V ^8„  d   QhRRRRRR/# )r  r  zTypeDecorator[Any]rä  r   r  rü   r  )rÍ   s   "r  r  r¨	  V  s)   € ÷ Cñ CØ'ðCØ/2ðCà	ñCr  c                	óZ   € V P                   ! VP                  V P                  4      3/ VB # r  )rÇ  Útype_enginer»  r  s   &&,r  Úvisit_type_decoratorÚ(GenericTypeCompiler.visit_type_decoratorV  s'   € ð �|Š|˜E×-Ñ-¨d¯l©lÓ;ÑB¸rÑBÐBr  c               ó$   € V ^8„  d   QhRRRRRR/# )r  r  zUserDefinedType[Any]rä  r   r  rü   r  )rÍ   s   "r  r  r¨	  [  s$   € ÷ (ñ (Ø)ð(Ø14ð(à	ñ(r  c                	ó&   € VP                   ! R/ VB # r(  )Úget_col_specr  s   &&,r  Úvisit_user_definedÚ&GenericTypeCompiler.visit_user_defined[  s   € ð ×!Ò!Ñ' BÑ'Ð'r  r  N)4r  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.
  r4
  r;
  r@
  rF
  rL
  rQ
  rW
  r]
  rb
  rf
  rj
  ro
  rs
  rw
  r{
  r
  rƒ
  rˆ
  rŒ
  r‘
  r•
  r™
  rW  r 
  r¥
  r  r  r  r  r¥	  r¥	  ¤  sø   † õõõ"õ
õ	õ	õõõõõõõõõõõOõPõ
õ

õ
OõõõIõLõõ0õ,õ
/õ,õ0õ,õ.õ0õ
/õ,õ-õ.õ/õ/õ/õ,õ,õ
/ò
õC÷
(ñ (r  r¥	  c                  ó4   € ] tR tRtR tR tR tR tR tRt	R# )	ÚStrSQLTypeCompileria  c                	óv   €  VP                   pV! V 3/ VB #   \         d    T P                  ! T3/ TB u # i ; ir  )rô  ÚAttributeErrorÚ_visit_unknown)r  r  rä  rô  s   &&, r  rÇ  ÚStrSQLTypeCompiler.processb  sL   € ð	2Ø!&×!9Ñ!9Ðñ & dÑ1¨bÑ1Ð1øô ô 	4Ø×&Ò& uÑ3°Ñ3Ò3ð	4ús   ‚ —8·8c                	ó^   € VP                  R 4      '       d   V P                  # \        V4      h)r  )rœ  r«
  rª
  )r  r@  s   &&r  Ú__getattr__ÚStrSQLTypeCompiler.__getattr__j  s(   € Ø�>‰>˜(×#Ò#Ø×&Ñ&Ð&ä  Ó%Ð%r  c                	ó¾   € VP                   P                  VP                   P                  P                  4       8X  d   VP                   P                  # \        V4      # r  )rÒ  r  ÚupperÚreprr  s   &&,r  r«
  Ú!StrSQLTypeCompiler._visit_unknownp  sA   € Ø�?‰?×#Ñ# u§¡×'?Ñ'?×'EÑ'EÓ'GÔGØ—?‘?×+Ñ+Ð+ä˜“;Ðr  c                	ó   € R # rT  r  r  s   &&,r  rW  ÚStrSQLTypeCompiler.visit_nullv  rY  r  c                	ód   €  VP                   pV! R/ VB #   \         d    \        T4      u # i ; ir(  )r¤
  rª
  r²
  )r  r  rä  r¤
  s   &&, r  r¥
  Ú%StrSQLTypeCompiler.visit_user_definedy  s=   € ð	&Ø ×-Ñ-ˆLñ  Ñ% "Ñ%Ð%øô ô 	Ü˜“;Òð	ús   ‚ –/®/r  N)
r  r  r  r  rÇ  r®
  r«
  rW  r¥
  r  r  r  r  r¨
  r¨
  a  s   † ò2ò&òòö&r  r¨
  c                  ó"   € ] tR tRtR R ltRtR# )Ú_SchemaForObjectCallablei‚  c               ó    € V ^8„  d   QhRRRR/# )r  Ú_SchemaForObjectCallable__objr   r  rü   r  )rÍ   s   "r  r  Ú%_SchemaForObjectCallable.__annotate__ƒ  s   € ×.Ñ.˜cÐ. cÑ.r  c                	ó   € R # r  r  )r  r»
  s   &&r  r  Ú!_SchemaForObjectCallable.__call__ƒ  s   € ©3r  r  Nr  r  r  r  r¹
  r¹
  ‚  s   † ß.Ñ.r  r¹
  c                  ó"   € ] tR tRtR R ltRtR# )r�  i†  c               ó    € V ^8„  d   QhRRRR/# )r  r(  rÿ  r  rü   r  )rÍ   s   "r  r  Ú$_BindNameForColProtocol.__annotate__‡  s   € ×:Ñ:Ð-Ð:°#Ñ:r  c                	ó   € R # r  r  )r  r(  s   &&r  r  Ú _BindNameForColProtocol.__call__‡  s   € ±sr  r  Nr  r  r  r  r�  r�  †  s   † ß:Ñ:r  r�  c                  ó  € ] tR tRt$ Rt]t]t]	t
R]R&   R]R&   R]R&   ]P                  ! R4      tR	]R
&    RtR]R&   R@R R lltR tR R ltR R ltR R ltR tR R ltR R ltR tRAR R lltRAR  R! lltR" tRBR# R$ lltRAR% R& lltRAR' R( lltRAR) lt] PB                  ! R*4      RBR+ R, ll4       t"RBR- R. llt#RBR/ R0 llt$R1 R2 lt%R3 R4 lt&RCR5 R6 llt'R7 t(RAR8 lt)RDR9 R: llt*RBR; lt+] PX                  R< 4       t-R= R> lt.R?t/R# )Er²  iŠ  z@Handle quoting and case-folding of identifiers based on options.rü   Úinitial_quoteÚfinal_quotezMutableMapping[str, str]Ú_stringsr!   r¹
  r
  Fr*  Ú_includes_none_schema_translateNc               ó0   € V ^8„  d   QhRRRRRRRRRR	R
R	/# )r  r»  rj   rÅ
  rü   rÆ
  rt  Úescape_quoteÚquote_case_sensitive_collationsr*  Úomit_schemar  )rÍ   s   "r  r  ÚIdentifierPreparer.__annotate__¦  sF   € ÷ "
ñ "
àð"
ð ð"
ð #ð	"
ð
 ð"
ð *.ð"
ð ñ"
r  c                óò   € Wn         W n        T;'       g    V P                  V n        W@n        V P                  ^,          V n        W`n        WPn        / V n        V P                   P                  R9   V n	        R# )a+  Construct a new ``IdentifierPreparer`` object.

initial_quote
  Character that begins a delimited identifier.

final_quote
  Character that ends a delimited identifier. Defaults to
  `initial_quote`.

omit_schema
  Prevent prepending schema name. Useful for databases that do
  not support schemae.
N)rÍ   rÊ   )
r»  rÅ
  rÆ
  rÊ
  Úescape_to_quoterÌ
  rË
  rÇ
  r›  r+  )r  r»  rÅ
  rÆ
  rÊ
  rË
  rÌ
  s   &&&&&&&r  rÊ  ÚIdentifierPreparer.__init__¦  sm   € ð. ŒØ*ÔØ&×<Ð<¨$×*<Ñ*<ˆÔØ(ÔØ#×0Ñ0°1Õ4ˆÔØ&ÔØ/NÔ,ØˆŒØ $§¡× 7Ñ 7ð <
ñ !
ˆÖr  c                	óÌ   a€ V P                   P                  V P                   4      pVP                  P                  V P                  4       R V9   oV3R lpW2n        SVn        V# )Nc                ó
  <€ V P                   pV P                  '       dZ   Vf	   S'       dN   Ve,   RV9   g   RV9   d   \        P                  ! RV,          4      h\	        RT;'       g    R,          RR7      # V P                   # )NrV  rW  zJSquare bracket characters ([]) not supported in schema translate name '%s'z__[SCHEMA_%s]Ú_noneF©r  )r!   Ú_use_schema_mapr/   r%  r,   )rð  rþ   Úincludes_nones   & €r  Úsymbol_getterÚ@IdentifierPreparer._with_schema_translate.<locals>.symbol_getterÐ  s|   ø€ Ø—:‘:ˆDØ×"×"Ð"¨Ò(8¿MØÒ#¨°¬¸¸t¼Ü×*Ò*ð8Ø:>õ?óð ô #Ø# t§ ¨wÕ7¸uôð ð —z‘zÐ!r  )rÒ  Ú__new__r§  r¨  r
  rÈ
  )r  r°  Úprepr×
  rÖ
  s   &&  @r  rÂ  Ú)IdentifierPreparer._with_schema_translateÊ  sV   ø€ Ø�~‰~×%Ñ% d§n¡nÓ5ˆØ�‰×Ñ˜TŸ]™]Ô+àÐ 4Ñ4ˆõ	"ð "/ÔØ/<ˆÔ,Øˆr  c               ó$   € V ^8„  d   QhRRRRRR/# )r  r3  rü   r°  rk   r  r  )rÍ   s   "r  r  rÍ
  â  s)   € ÷ )Fñ )FØð)FØ4Jð)Fà	ñ)Fr  c                	ó¼   a a€ VoR S9   d5   S P                   '       g   \        P                  ! R4      hSR ,          SR&   VV 3R lp\        P                  ! RW14      # )Nzâschema translate map which previously did not have `None` present as a key now has `None` present; compiled statement may lack adequate placeholders.  Please use consistent keys in successive schema_translate_map dictionaries.rÓ
  c                ó   <€ V P                  ^4      pVS9   d   SV,          pMVR9   d   \        P                  ! R4      hTpV'       g5   SP                  P                  pV'       g   \        P
                  ! R4      hSP                  V4      # )r  zâschema translate map which previously had `None` present as a key now no longer has it present; don't know how to apply schema for compiled statement. Please use consistent keys in successive schema_translate_map dictionaries.zLDialect has no default schema name; can't use None as dynamic schema target.)NrÓ
  )r”   r/   rD  r»  Údefault_schema_namer%  r  )rÝ  rþ   r  Údr  s   &  €€r  r,  Ú=IdentifierPreparer._render_schema_translates.<locals>.replaceò  s‹   ø€ Ø—7‘7˜1“:ˆDØ�qŒyØ#$ T¥7Ñ à˜?Ô*Ü×1Ò1ð=óð ð $(Ð ç#Ø#'§<¡<×#CÑ#CÐ ß'ä×*Ò*ð=óð ð ×$Ñ$Ð%5Ó6Ð6r  z(__\[SCHEMA_([^\]]+)\]))rÈ
  r/   rD  rŠ  ré  )r  r3  r°  r,  rà
  s   f&& @r  rÈ  Ú,IdentifierPreparer._render_schema_translatesâ  s]   ù€ ð !ˆØ�1Œ9Ø×7×7Ð7Ü×-Ò-ð9óð ð ˜4�ˆAˆg‰Jö	7ô2 �vŠvÐ0°'ÓEÐEr  c               ó    € V ^8„  d   QhRRRR/# ©r  r  rü   r  r  )rÍ   s   "r  r  rÍ
    s   € ÷ 
ñ 
¨ð 
°ñ 
r  c                óš   € VP                  V P                  V P                  4      pV P                  '       d   VP                  RR4      pV# )zhEscape an identifier.

Subclasses should override this to provide database-dependent
escaping behavior.
rL  r)  )r,  rÊ
  rÏ
  r+  ©r  r  s   &&r  Ú_escape_identifierÚ%IdentifierPreparer._escape_identifier  sA   € ð —‘˜d×/Ñ/°×1EÑ1EÓFˆØ× × Ð Ø—M‘M # tÓ,ˆEØˆr  c               ó    € V ^8„  d   QhRRRR/# rä
  r  )rÍ   s   "r  r  rÍ
    s   € ÷ Fñ F¨#ð F°#ñ Fr  c                óN   € VP                  V P                  V P                  4      # )z™Canonicalize an escaped identifier.

Subclasses should override this to provide database-dependent
unescaping behavior that reverses _escape_identifier.
)r,  rÏ
  rÊ
  ræ
  s   &&r  Ú_unescape_identifierÚ'IdentifierPreparer._unescape_identifier  s!   € ð �}‰}˜T×1Ñ1°4×3DÑ3DÓEÐEr  c                óŽ   € VeA   VP                  V4      '       g*   \        P                  ! RV: RVP                  : R24      hV# )zÕkeyword sequence filter.

a filter for elements that are intended to represent keyword sequences,
such as "INITIALLY", "INITIALLY DEFERRED", etc.   no special characters
should be present.

.. versionadded:: 1.3

zUnexpected SQL phrase: z (matching against rP  )r¡  r/   r%  r-  )r  râ  r�  s   &&&r  rŠ	  Ú&IdentifierPreparer.validate_sql_phrase"  s@   € ð Ò s§y¡y°×'9Ò'9Ü×"Ó"ã˜CŸKœKð)óð ð ˆr  c               ó    € V ^8„  d   QhRRRR/# rä
  r  )rÍ   s   "r  r  rÍ
  4  s   € ÷ 
ñ 
 cð 
¨cñ 
r  c                óh   € V P                   V P                  V4      ,           V P                  ,           # )zfQuote an identifier.

Subclasses should override this to provide database-dependent
quoting behavior.
)rÅ
  rç
  rÆ
  ræ
  s   &&r  Úquote_identifierÚ#IdentifierPreparer.quote_identifier4  s3   € ð ×ÑØ×%Ñ% eÓ,õ-à×Ñõð	
r  c               ó    € V ^8„  d   QhRRRR/# )r  r  rü   r  r*  r  )rÍ   s   "r  r  rÍ
  A  s   € ÷ 
ñ 
 cð 
¨dñ 
r  c                óô   € VP                  4       pW P                  9   ;'       gT    V^ ,          V P                  9   ;'       g6    V P                  P	                  \        V4      4      '       * ;'       g    W!8g  # )z5Return True if the given identifier requires quoting.)rÔ  Úreserved_wordsÚillegal_initial_charactersÚlegal_charactersr¡  rü   )r  r  Úlc_values   && r  rU  Ú#IdentifierPreparer._requires_quotesA  sq   € à—;‘;“=ˆà×+Ñ+Ñ+÷ #ð #Ø�Q�x˜4×:Ñ:Ñ:÷#ð #à×(Ñ(×.Ñ.¬s°5«zÓ:Ô:÷#ð #ð Ñ!ð		
r  c                óT   € V P                   P                  \        V4      4      '       * # )zbReturn True if the given identifier requires quoting, but
not taking case convention into account.)r÷
  r¡  rü   ræ
  s   &&r  r×  Ú1IdentifierPreparer._requires_quotes_illegal_charsK  s"   € ð ×(Ñ(×.Ñ.¬s°5«zÓ:Ô:Ð:r  c               ó$   € V ^8„  d   QhRRRRRR/# )r  r!   rü   Úforcer   r  r  )rÍ   s   "r  r  rÍ
  P  s!   € ÷ %"ñ %" 3ð %"¨sð %"¸cñ %"r  c                ó\   € Ve   \         P                  ! RRR7       V P                  V4      # )aŸ  Conditionally quote a schema name.


The name is quoted if it is a reserved word, contains quote-necessary
characters, or is an instance of :class:`.quoted_name` which includes
``quote`` set to ``True``.

Subclasses can override this to provide database-dependent
quoting behavior for schema names.

:param schema: string schema name
:param force: unused

    .. deprecated:: 0.9

        The :paramref:`.IdentifierPreparer.quote_schema.force`
        parameter is deprecated and will be removed in a future
        release.  This flag has no effect on the behavior of the
        :meth:`.IdentifierPreparer.quote` method; please refer to
        :class:`.quoted_name`.

zÚThe IdentifierPreparer.quote_schema.force parameter is deprecated and will be removed in a future release.  This flag has no effect on the behavior of the IdentifierPreparer.quote method; please refer to quoted_name().ú0.9r&  )r$   r)  r  )r  r!   rý
  s   &&&r  r  ÚIdentifierPreparer.quote_schemaP  s5   € ð. Òô × Ò ð!ð õð �z‰z˜&Ó!Ð!r  c               ó$   € V ^8„  d   QhRRRRRR/# )r  rC  rü   rý
  r   r  r  )rÍ   s   "r  r  rÍ
  w  s!   € ÷ 2ñ 2˜3ð 2 sð 2°cñ 2r  c                ó†  € Ve   \         P                  ! RRR7       \        VRR4      pVf{   WP                  9   d   V P                  V,          # V P	                  V4      '       d    V P                  V4      V P                  V&   MWP                  V&   V P                  V,          # V'       d   V P                  V4      # V# )aŸ  Conditionally quote an identifier.

The identifier is quoted if it is a reserved word, contains
quote-necessary characters, or is an instance of
:class:`.quoted_name` which includes ``quote`` set to ``True``.

Subclasses can override this to provide database-dependent
quoting behavior for identifier names.

:param ident: string identifier
:param force: unused

    .. deprecated:: 0.9

        The :paramref:`.IdentifierPreparer.quote.force`
        parameter is deprecated and will be removed in a future
        release.  This flag has no effect on the behavior of the
        :meth:`.IdentifierPreparer.quote` method; please refer to
        :class:`.quoted_name`.

NzÓThe IdentifierPreparer.quote.force parameter is deprecated and will be removed in a future release.  This flag has no effect on the behavior of the IdentifierPreparer.quote method; please refer to quoted_name().rÿ
  r&  r  )r$   r)  rÓ  rÇ
  rU  rñ
  )r  rC  rý
  s   &&&r  r  ÚIdentifierPreparer.quotew  s°   € ð, Òô × Ò ð!ð õô ˜˜w¨Ó-ˆàŠ=ØŸ™Ô%Ø—}‘} UÕ+Ð+à×(Ñ(¨×/Ò/Ø+/×+@Ñ+@ÀÓ+G�D—M‘M %Ò(à+0—M‘M %Ñ(Ø—}‘} UÕ+Ð+ßØ×(Ñ(¨Ó/Ð/àˆLr  c                	óL   € V P                   '       d   V P                  V4      # V# r  )rË
  r  )r  Úcollation_names   &&r  r  Ú#IdentifierPreparer.format_collation«  s#   € Ø×/×/Ð/Ø—:‘:˜nÓ-Ð-à!Ð!r  c               ó$   € V ^8„  d   QhRRRRRR/# )r  rÞ  zschema.SequencerP  r*  r  rü   r  )rÍ   s   "r  r  rÍ
  ±  s$   € ÷ ñ Ø'ðØ59ðà	ñr  c                	óØ   € V P                  VP                  4      pV P                  V4      pV P                  '       g,   V'       d$   Ve    V P	                  V4      R,           V,           pV# rà  )r  rþ   r
  rÌ
  r  )r  rÞ  rP  rþ   r  s   &&&  r  rW  Ú"IdentifierPreparer.format_sequence±  s^   € ð �z‰z˜(Ÿ-™-Ó(ˆà×1Ñ1°(Ó;Ðð × × Ð ßØ Ò,à×$Ñ$Ð%5Ó6¸Õ<¸tÕCˆDØˆr  c               ó$   € V ^8„  d   QhRRRRRR/# )r  r$  z
Label[Any]rþ   rt  r  rü   r  )rÍ   s   "r  r  rÍ
  À  s$   € ÷ .ñ .Øð.Ø'4ð.à	ñ.r  c                	óL   € T P                  T;'       g    VP                  4      # r  ©r  rþ   )r  r$  rþ   s   &&&r  rì  ÚIdentifierPreparer.format_labelÀ  s   € ð �z‰z˜$×,Ð, %§*¡*Ó-Ð-r  c               ó$   € V ^8„  d   QhRRRRRR/# )r  r  zOptional[AliasedReturnsRows]rþ   rt  r  rü   r  )rÍ   s   "r  r  rÍ
  Å  s$   € ÷ $ñ $Ø1ð$Ø9Fð$à	ñ$r  c                	ón   € Vf"   Vf   Q hV P                  VP                  4      # V P                  V4      # r  r  )r  r  rþ   s   &&&r  rO  ÚIdentifierPreparer.format_aliasÅ  s7   € ð Š<ØÒ$Ð$Ð$Ø—:‘:˜eŸj™jÓ)Ð)à—:‘:˜dÓ#Ð#r  c                	ó‚   € T;'       g    VP                   pV P                  V4      '       d   V P                  V4      pV# r  )rC  rU  rñ
  )r  Ú	savepointrþ   rC  s   &&& r  r  Ú#IdentifierPreparer.format_savepointÎ  s;   € ð ×'Ð'˜	Ÿ™ˆØ× Ñ  ×'Ò'Ø×)Ñ)¨%Ó0ˆEØˆr  zsqlalchemy.sql.namingc               ó$   € V ^8„  d   QhRRRRRR/# )r  r}   zUnion[Constraint, Index]Ú_alembic_quoter*  r  rt  r  )rÍ   s   "r  r  rÍ
  Ø  s$   € ÷ ñ Ø2ðØDHðà	ñr  c                	ó0  € \         P                  P                  pVP                  \        J d#   VP                  WP                  4      pVf   R # MVP                  pVf   Q hVP                  R8X  d   V P                  WBR7      # V P                  WBR7      # )Nr„  )r  )
r$   r{  Ú
sql_namingrþ   r)   Ú_constraint_name_for_tabler½   r9  Útruncate_and_render_index_nameÚ#truncate_and_render_constraint_name)r  r}   r  Únamingrþ   s   &&&  r  r	  Ú$IdentifierPreparer.format_constraint×  s¤   € ô —‘×*Ñ*ˆà�?‰?œjÓ(Ø×4Ñ4Ø×,Ñ,óˆDð Š|Ùð ð —?‘?ˆDàÒÐÐØ×$Ñ$¨Ô/Ø×6Ñ6Øð 7ó ð ð ×;Ñ;Øð <ó ð r  c               ó$   € V ^8„  d   QhRRRRRR/# ©r  rþ   rü   r  r*  r  r  )rÍ   s   "r  r  rÍ
  ñ  ó$   € ÷ 
ñ 
Øð
Ø)-ð
à	ñ
r  c                	óŽ   € V P                   P                  ;'       g    V P                   P                  pV P                  WV4      # r  )r»  Úmax_index_name_lengthr   Ú _truncate_and_render_maxlen_name©r  rþ   r  Úmax_s   &&& r  r  Ú1IdentifierPreparer.truncate_and_render_index_nameñ  sG   € ð �L‰L×.Ñ.÷ 2ð 2Ø�|‰|×1Ñ1ð 	ð ×4Ñ4Ø˜ó
ð 	
r  c               ó$   € V ^8„  d   QhRRRRRR/# r  r  )rÍ   s   "r  r  rÍ
  ÿ  r  r  c                	óŽ   € V P                   P                  ;'       g    V P                   P                  pV P                  WV4      # r  )r»  Úmax_constraint_name_lengthr   r"  r#  s   &&& r  r  Ú6IdentifierPreparer.truncate_and_render_constraint_nameÿ  sG   € ð �L‰L×3Ñ3÷ 2ð 2Ø�|‰|×1Ñ1ð 	ð ×4Ñ4Ø˜ó
ð 	
r  c               ó(   € V ^8„  d   QhRRRRRRRR/# )r  rþ   rü   r$  rS  r  r*  r  r  )rÍ   s   "r  r  rÍ
    s,   € ÷ $ñ $Øð$Ø"ð$Ø48ð$à	ñ$r  c                	ó2  € \        V\        P                  4      '       dC   \        V4      V8”  d2   V^ V^,
           R,           \        P
                  ! V4      RR ,           pMV P                  P                  V4       V'       g   V# V P                  V4      # )r¦  rU  Néüÿÿÿ)	rÅ  r   r@   rë  r$   Úmd5_hexr»  Úvalidate_identifierr  )r  rþ   r$  r  s   &&&&r  r"  Ú3IdentifierPreparer._truncate_and_render_maxlen_name  sw   € ô �dœH×5Ñ5×6Ò6Ü�4‹y˜4ÔØ˜A  q¥Ð)¨CÕ/´$·,²,¸tÓ2DÀRÀSÐ2IÕI�øà�L‰L×,Ñ,¨TÔ2çØˆKà—:‘:˜dÓ#Ð#r  c               ó    € V ^8„  d   QhRRRR/# )r  r„  rP   r  rü   r  )rÍ   s   "r  r  rÍ
    s   € ÷ ñ  %ð ¨Cñ r  c                	ó4   € V P                  V4      pVf   Q hV# r  )r	  )r  r„  rþ   s   && r  rá  ÚIdentifierPreparer.format_index  s#   € Ø×%Ñ% eÓ,ˆØÒÐÐØˆr  c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r  r½   rX   rP  r*  rþ   rt  r  rü   r  )rÍ   s   "r  r  rÍ
     s2   € ÷ ñ àðð ðð ð	ð
 
ñr  c                ó4  € Vf1   \         '       d   \        V\        4      '       g   Q hVP                  pV P	                  V4      pV P                  V4      pV P                  '       g0   V'       d(   V'       d    V P                  V4      R,           V,           pV# )z'Prepare a quoted table and schema name.rT  )r   rÅ  rY   rþ   r  r
  rÌ
  r  )r  r½   rP  rþ   r¢  r  s   &&&&  r  rÏ  ÚIdentifierPreparer.format_table   sz   € ð Š<ß‹}Ü! %¬×9Ò9Ð9Ð9Ø—:‘:ˆDà—‘˜DÓ!ˆà×1Ñ1°%Ó8Ðà××Ð§J×3CØ×&Ñ&Ð'7Ó8¸3Õ>ÀÕGˆFØˆr  c                ó$   € V P                  V4      # )zPrepare a quoted schema name.rÔ
  r#  s   &&r  r�  Ú IdentifierPreparer.format_schema4  s   € ð �z‰z˜$ÓÐr  c                óŽ   € Ve2   \        V\        P                  4      '       d   VP                  V4      pV P	                  V4      # )úPrepare a quoted column name.)rÅ  r   r@   r  r  )r  rþ   r¡  s   &&&r  rB  Ú$IdentifierPreparer.format_label_name9  s@   € ð Ò¤JØ”(×+Ñ+÷%
ò %
ð —>‘> (Ó+ˆDà�z‰z˜$ÓÐr  c               ó4   € V ^8„  d   QhRRRRRRRRRRR	R
RR/# )r  r|   zColumnElement[Any]ró  r*  rþ   rt  Ú
table_namerP  r¡  zOptional[Mapping[str, Any]]r  rü   r  )rÍ   s   "r  r  rÍ
  G  sP   € ÷ ,ñ ,à"ð,ð ð,ð ð	,ð
 "ð,ð ð,ð .ð,ð 
ñ,r  c                óÎ  € Vf   VP                   pVf   Q hVe2   \        V\        P                  4      '       d   VP	                  V4      p\        VRR4      '       gT   V'       d;   V P                  VP                  WTR7      R,           V P                  V4      ,           # V P                  V4      # V'       d,   V P                  VP                  WTR7      R,           V,           # V# )r9  r  F)rP  rþ   rT  )	rþ   rÅ  r   r@   r  rÓ  rÏ  r½   r  )r  r|   ró  rþ   r<  rP  r¡  s   &&&&&&&r  rô  Ú IdentifierPreparer.format_columnG  sí   € ð Š<Ø—;‘;ˆDØÒ#Ð#Ð#àÒ¤JØ”(×+Ñ+÷%
ò %
ð —>‘> (Ó+ˆDä�v˜|¨U×3Ò3ßà×%Ñ%ØŸ™°ð &ó ð õð —j‘j Ó&õ	'ðð —z‘z $Ó'Ð'÷
 à×%Ñ%ØŸ™°ð &ó ð õð õ	ðð �r  c                óØ   € V P                  V4      pV P                  '       g5   V'       d-   V'       d%   V P                  V4      V P                  VRR7      3# V P                  VRR7      3# )z(Format table name and schema as a tuple.FrÒ  )r
  rÌ
  r  rÏ  )r  r½   rP  r  s   &&& r  r†  Ú#IdentifierPreparer.format_table_sequ  sm   € ð  ×1Ñ1°%Ó8Ðà××Ð§J×3Cà×!Ñ!Ð"2Ó3Ø×!Ñ! %°EÐ!Ó:ðð ð
 ×%Ñ% e¸Ð%Ó>Ð@Ð@r  c           	     	óÄ   € R  V P                   V P                  V P                  V P                  4      3 4       w  rp\        P                  ! RRVRVRV/,          4      pV# )c              3  óN   "  € T F  p\         P                  ! V4      x € K  	  R # 5ir  )rŠ  r‹  rh  s   & r  rA  Ú4IdentifierPreparer._r_identifiers.<locals>.<genexpr>ˆ  s%   é € ð )
ñ�ô �IŠI�a�LˆLóùs   ‚#%zM(?:(?:%(initial)s((?:%(escaped)s|[^%(final)s])+)%(final)s|([^\.]+))(?=\.|$))+ÚinitialÚfinalr­  )rÅ
  rÆ
  rç
  rŠ  rŒ  )r  rD  rE  Úescaped_finalÚrs   &    r  Ú_r_identifiersÚ!IdentifierPreparer._r_identifiers†  st   € ñ)
ð ×"Ñ"Ø× Ñ Ø×'Ñ'¨×(8Ñ(8Ó9ñó)
Ñ%ˆ˜ô �JŠJð$ð ˜' 7¨E°9¸mÐLõMó
ˆð ˆr  c               ó    € V ^8„  d   QhRRRR/# )r  Úidentifiersrü   r  zSequence[str]r  )rÍ   s   "r  r  rÍ
  ˜  s   € ÷ 
ñ 
°ð 
¸ñ 
r  c                óÌ   € V P                   pVP                  V4       UUu. uF  w  r4T;'       g    TNK  	  upp Uu. uF  pV P                  V4      NK  	  up# u uppi u upi )z:Unpack 'schema.table.column'-like strings into components.)rH  Úfindallrë
  )r  rK  rG  Úar­  rK  s   &&    r  Úunformat_identifiersÚ'IdentifierPreparer.unformat_identifiers˜  sh   € ð ×Ñˆð *+¯©°;Ô)?Ô@Ñ)?¡ �a—f�f˜1’fÑ)?Ó@ó
á@�ð ×%Ñ% aÖ(Ù@ñ
ð 	
ùã@ùò
s   ¡A±A¾A!)	r+  rÇ
  r»  rÊ
  rÏ
  rÆ
  rÅ
  rÌ
  rË
  )r�  Nr�  TFr  )T)TN)FNNFN)0r  r  r  r  r	  ÚRESERVED_WORDSrõ
  ÚLEGAL_CHARACTERSr÷
  ÚILLEGAL_INITIAL_CHARACTERSrö
  r
  r�  Ú
attrgetterr
  rÈ
  rÊ  rÂ  rÈ  rç
  rë
  rŠ	  rñ
  rU  r×  r  r  r  rW  rì  rO  r  r$   r3  r	  r  r  r"  rá  rÏ  r�  rB  rô  r†  r/  rH  rO  r  r  r  r  r²  r²  Š  s  ‡ ÙJà#€Nà'Ðà!;ÐàÓàÓà&Ó&à2:×2EÒ2EÀhÓ2OÐÐ/ÓOðð -2Ð# TÓ1÷"
òHõ0)FõV
õFòõ$
õ
ò;÷
%"÷N2òh"÷÷.÷
$ôð 
×ÒÐ0Ó1öó 2ð÷2
÷
õ$õ÷
ò( ô
 ÷,ô\Að" 
×Ññó ð÷"
ñ 
r  r²  )þÚ__conditional_annotations__r	  Ú
__future__r   rŽ  Úcollections.abcÚabcrO  r1  Úenumr   r�  rù  r�  rŠ  Útimer   r5  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  Ú_typingr%   r&   r'   r(   r)   r*   r+   r,   r-   Úvisitorsr.   r/   r0   Úutil.typingr1   r2   r3   r4   Ú
annotationr5   r6   r7   r8   r·  r9   r‡  r:   Údmlr;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   Útype_apir]   r^   r_   r`   ra   Úengine.cursorrb   Úengine.interfacesrc   rd   re   rf   rg   rh   ri   rj   rk   rü   Ú_FromHintsTyperQ  rŒ  ÚIrR  ÚLEGAL_CHARACTERS_PLUS_SPACEr“  rÂ   rS  r‹	  r‘	  r•	  ÚUNICODEr?  r>  r�  rž  ry  Úor_r-  Úmulré  ÚmodÚnegÚltÚleÚneÚgtÚgeÚeqÚis_distinct_fromÚis_not_distinct_fromÚ	concat_opr(  Únot_match_opr8  r7  r.  rž  rë  r  r  r{   ÚexistsÚdistinct_opÚinvÚany_opÚall_opÚdesc_opÚasc_opÚnulls_first_opÚnulls_last_opÚbitwise_xor_opÚbitwise_or_opÚbitwise_and_opÚbitwise_not_opÚbitwise_lshift_opÚbitwise_rshift_oprê  rÚ   r€   r‚   rƒ   r„   r£   r¤   rá   râ   r¸   rÄ   ÚcubeÚrollupÚgrouping_setsrç   r
  r)  Ú_CompoundSelectKeywordr÷   Ú	UNION_ALLrø   Ú
EXCEPT_ALLrù   ÚINTERSECT_ALLr*  rû   r  r  r  r   r!  r#  r(  r2  rO  r_  rl  rv  r{  rE  r|  r}  r~  r  Ú
namedtupler�  r¨  ÚEnsureKWArgr  ÚBinaryElementRoleÚCompilerColumnElementr#  r<  ré  r:  ru  r¥	  r¨
  r¹
  r�  r²  )r—  rU  s   0@r  Ú<module>r�     sÜ  øðôõ$ #ã Ý )Û Ý Û Û Û Û 	Ý Û Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý !Ý Ý Ý Ý Ý Ý Ý Ý Ý  Ý å Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý &Ý Ý Ý Ý Ý 2Ý Ý !Ý Ý %Ý Ý Ý Ý !Ý "Ý Ý #à	××ÑÝ+Ý,Ý"Ý Ý#Ý)ÝÝÝÝ#ÝÝ*Ý*Ý'Ý'Ý&Ý'Ý ÝÝÝÝ#Ý'ÝÝ"Ý,Ý'ÝÝ,ÝÝ(Ý1Ý.Ý/ÝÝ&Ý+Ý'Ý"Ý'Ý,Ý'Ý$Ý)Ý#Ý4Ý<Ý:Ý<Ý=Ý3Ý=ÝCÝ+Ý:ð �l CÐ'Õ(€ð_Ø	ð_àð_ð ð_ð 
ð	_ð
 
ð_ð ð_ð 	ð_ð 
ð_ð ð_ð ð_ð ð_ð ð_ð ð_ð ð_ð ð_ð  ð!_ð" ð#_ð$ ð%_ð& ð'_ð( ð)_ð* ð+_ð, ð-_ð. ð/_ð0 ð1_ð2 ð3_ð4 ð5_ð6 ð7_ð8 ð9_ð: ð;_ð< ð=_ð> 	ð?_ð@ ðA_ðB 
ðC_ðD ðE_ðF ðG_ðH 
ðI_ðJ ðK_ðL ðM_ðN ðO_ðP ðQ_ðR ðS_ðT ðU_ðV ðW_ðX ðY_ðZ 	ð[_ð\ ð]_ð^ ð__ð` ða_ðb ðc_ðd 	ðe_ðf ðg_ðh ði_ðj ðk_ðl ðm_ðn ðo_ðp ðq_ðr ðs_ðt ðu_ðv ðw_ðx 
ðy_ðz 
ð{_ð| ð}_ð~ ð_ð@ 
ðA_ðB ðC_ðD 
ðE_ðF 	ðG_ðH ðI_ðJ 	ðK_ðL ðM_ðN ðO_ðP ðQ_ðR ðS_ðT ðU_ðV ðW_ðX ðY_ðZ ð[_ð\ ð]_ð^ 
ð__ð` ða_ðb ðc_ðd ðe_ðf ðg_ðh ði_ðj 	ðk_ðl ðm_ðn ðo_ðp ðq_ðr ðs_ðt ðu_ðv ðw_ðx ðy_ðz ð{_ð| ð}_€ðB —:“:Ð.°·²Ó5Ð Ø Ÿj›jÐ):¸B¿DºDÓAÐ Ù.3°A°r¬lÓ;©l¨™c !žf©lÑ;×AÒAÀ3À%ÓHÐ à�z‹zØ<¸b¿dºdó€ð �z‹zØ<¸b¿dºdó€ð �z‹zÐ5°r·t²tÓ<€Ø�j‹jÐAÀ2Ç:Â:ÓN€Ø—*“*Ð9¸2¿:º:ÓF€à$Ð àÐ"ØˆSØˆeØˆ~Ø�nØˆ[ð€ð.à‡N‚N�Gð.ð ‡M‚M�6ð.ð ‡M‚M�5ð	.ð
 ‡M‚M�5ð.ð ‡M‚M�5ð.ð ‡M‚M�5ð.ð ‡M‚M�3ð.ð ‡L‚L�%ð.ð ‡L‚L�&ð.ð ‡L‚L�&ð.ð ‡L‚L�%ð.ð ‡L‚L�&ð.ð ‡L‚L�%ð.ð ×ÒÐ 4ð.ð  ×"Ò"Ð$<ð!.ð" ×Ò˜ð#.ð$ ×Ò˜	ñ%.ð& ×Ò˜Mð'.ð( ‡O‚O�Vð).ð* ×Ò˜ð+.ð, ×Ò˜ð-.ð. ‡O‚O�Xð/.ð0 ‡M‚M�6ð1.ð2 ‡M‚M�6ð3.ð4 ×Ò�jð5.ð6 ×Ò�{ð7.ð: ×Ò�ið;.ð< ×Ò˜;ð=.ð> ‡M‚M�6ð?.ð@ ×Ò�fðA.ðB ×Ò�fðC.ðF ×Ò�wðG.ðH ×Ò�fðI.ðJ ×Ò˜nñK.ðL ×Ò™]à×Ò™eØ×Ò™UØ×Ò™eØ×Ò™cØ×Ò¡Ø×Ò¡ñ[.€	ðb ×Ò™
Ø×Ò™NØ×Ò™NØ×ÒÑ!4Ø×Ò™NØ×Ò™Ø×ÒÑ.Ø×Ò‘hØ×Ò‘yØ×Ò™NØ‡N‚N‘FØ‡N‚N‘FØ×Ò‘hØ×Ò™_ð-€	Ñ)ô ñ& ‰WÙ	‰5Ù
‰FÙ‰hÙ
‰FÙ	‰5Ù‰hÙ‰yÙ	‰5Ù
‰FÙ‰WÙ‘NÙ‘NÙ‘_ÙÑ(ð€ð& ×%Ò%×+Ò+©WØ×%Ò%×/Ò/±Ø×%Ò%×,Ò,©hØ×%Ò%×0Ò0±,Ø×%Ò%×/Ò/±Ø×%Ò%×3Ò3±_ðÐ ö˜ô ö>˜ô ð  !Ð ‘*Ô  Ø€‰Ô Ø€
‰JÔ Ø€‰Ô ö˜iô ö$Ð1¹ö $ö:�Jô :özA˜
ô AöH˜Zô ö2! ;ô !ö$�Gô ö ˆgô ñ. FKØóFÑ B€
Ð&¨°lö
?#�×'Ó'©±wÁÐ6HÓIô ?#÷DI'ó I'öXF�4×#Ò#ô Fö0Ø	×Ò˜CÕ  (×"@Ò"@ôö2#
Ø	×Ò˜CÕ  (×"@Ò"@ô#
öLHW
�(ô HW
öVno
�[ô o
ödz�(ô zözz(˜,ô z(öz&Ð,ô &öB/˜xô /ö;˜hô ;÷U
õ U
ùòcd <s   Ïi